react-public-components 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivityLog/index.cjs +9 -0
- package/dist/ActivityLog/index.cjs.map +1 -0
- package/dist/ActivityLog/index.css +117 -0
- package/dist/ActivityLog/index.css.map +1 -0
- package/dist/ActivityLog/index.d.ts +32 -0
- package/dist/ActivityLog/index.js +3 -0
- package/dist/ActivityLog/index.js.map +1 -0
- package/dist/AnnouncementBar/index.cjs +9 -0
- package/dist/AnnouncementBar/index.cjs.map +1 -0
- package/dist/AnnouncementBar/index.css +37 -0
- package/dist/AnnouncementBar/index.css.map +1 -0
- package/dist/AnnouncementBar/index.d.ts +18 -0
- package/dist/AnnouncementBar/index.js +3 -0
- package/dist/AnnouncementBar/index.js.map +1 -0
- package/dist/AudioPlayer/index.cjs +10 -0
- package/dist/AudioPlayer/index.cjs.map +1 -0
- package/dist/AudioPlayer/index.css +105 -0
- package/dist/AudioPlayer/index.css.map +1 -0
- package/dist/AudioPlayer/index.d.ts +18 -0
- package/dist/AudioPlayer/index.js +4 -0
- package/dist/AudioPlayer/index.js.map +1 -0
- package/dist/BadgeRibbon/index.cjs +9 -0
- package/dist/BadgeRibbon/index.cjs.map +1 -0
- package/dist/BadgeRibbon/index.css +48 -0
- package/dist/BadgeRibbon/index.css.map +1 -0
- package/dist/BadgeRibbon/index.d.ts +19 -0
- package/dist/BadgeRibbon/index.js +3 -0
- package/dist/BadgeRibbon/index.js.map +1 -0
- package/dist/BorderBeam/index.cjs +9 -0
- package/dist/BorderBeam/index.cjs.map +1 -0
- package/dist/BorderBeam/index.css +40 -0
- package/dist/BorderBeam/index.css.map +1 -0
- package/dist/BorderBeam/index.d.ts +24 -0
- package/dist/BorderBeam/index.js +3 -0
- package/dist/BorderBeam/index.js.map +1 -0
- package/dist/CascadeDrawer/index.cjs +9 -0
- package/dist/CascadeDrawer/index.cjs.map +1 -0
- package/dist/CascadeDrawer/index.css +73 -0
- package/dist/CascadeDrawer/index.css.map +1 -0
- package/dist/CascadeDrawer/index.d.ts +23 -0
- package/dist/CascadeDrawer/index.js +3 -0
- package/dist/CascadeDrawer/index.js.map +1 -0
- package/dist/CodeSnippet/index.cjs +9 -0
- package/dist/CodeSnippet/index.cjs.map +1 -0
- package/dist/CodeSnippet/index.css +131 -0
- package/dist/CodeSnippet/index.css.map +1 -0
- package/dist/CodeSnippet/index.d.ts +23 -0
- package/dist/CodeSnippet/index.js +3 -0
- package/dist/CodeSnippet/index.js.map +1 -0
- package/dist/CollapseBox/index.cjs +10 -0
- package/dist/CollapseBox/index.cjs.map +1 -0
- package/dist/CollapseBox/index.css +106 -0
- package/dist/CollapseBox/index.css.map +1 -0
- package/dist/CollapseBox/index.d.ts +17 -0
- package/dist/CollapseBox/index.js +4 -0
- package/dist/CollapseBox/index.js.map +1 -0
- package/dist/ColorPicker/Color.d.ts +48 -0
- package/dist/ColorPicker/index.cjs +23 -0
- package/dist/ColorPicker/index.cjs.map +1 -0
- package/dist/ColorPicker/index.css +422 -0
- package/dist/ColorPicker/index.css.map +1 -0
- package/dist/ColorPicker/index.d.ts +48 -0
- package/dist/ColorPicker/index.js +4 -0
- package/dist/ColorPicker/index.js.map +1 -0
- package/dist/ContextMenu/index.cjs +10 -0
- package/dist/ContextMenu/index.cjs.map +1 -0
- package/dist/ContextMenu/index.css +107 -0
- package/dist/ContextMenu/index.css.map +1 -0
- package/dist/ContextMenu/index.d.ts +42 -0
- package/dist/ContextMenu/index.js +4 -0
- package/dist/ContextMenu/index.js.map +1 -0
- package/dist/CopyButton/index.cjs +10 -0
- package/dist/CopyButton/index.cjs.map +1 -0
- package/dist/CopyButton/index.css +122 -0
- package/dist/CopyButton/index.css.map +1 -0
- package/dist/CopyButton/index.d.ts +36 -0
- package/dist/CopyButton/index.js +4 -0
- package/dist/CopyButton/index.js.map +1 -0
- package/dist/CountUp/index.cjs +9 -0
- package/dist/CountUp/index.cjs.map +1 -0
- package/dist/CountUp/index.css +23 -0
- package/dist/CountUp/index.css.map +1 -0
- package/dist/CountUp/index.d.ts +40 -0
- package/dist/CountUp/index.js +3 -0
- package/dist/CountUp/index.js.map +1 -0
- package/dist/CronPicker/index.cjs +11 -0
- package/dist/CronPicker/index.cjs.map +1 -0
- package/dist/CronPicker/index.css +215 -0
- package/dist/CronPicker/index.css.map +1 -0
- package/dist/CronPicker/index.d.ts +17 -0
- package/dist/CronPicker/index.js +5 -0
- package/dist/CronPicker/index.js.map +1 -0
- package/dist/DebounceSelect/index.cjs +10 -0
- package/dist/DebounceSelect/index.cjs.map +1 -0
- package/dist/DebounceSelect/index.css +156 -0
- package/dist/DebounceSelect/index.css.map +1 -0
- package/dist/DebounceSelect/index.d.ts +39 -0
- package/dist/DebounceSelect/index.js +4 -0
- package/dist/DebounceSelect/index.js.map +1 -0
- package/dist/DiffViewer/index.cjs +9 -0
- package/dist/DiffViewer/index.cjs.map +1 -0
- package/dist/DiffViewer/index.css +90 -0
- package/dist/DiffViewer/index.css.map +1 -0
- package/dist/DiffViewer/index.d.ts +21 -0
- package/dist/DiffViewer/index.js +3 -0
- package/dist/DiffViewer/index.js.map +1 -0
- package/dist/DisabledBox/index.cjs +10 -0
- package/dist/DisabledBox/index.cjs.map +1 -0
- package/dist/DisabledBox/index.css +35 -0
- package/dist/DisabledBox/index.css.map +1 -0
- package/dist/DisabledBox/index.d.ts +18 -0
- package/dist/DisabledBox/index.js +4 -0
- package/dist/DisabledBox/index.js.map +1 -0
- package/dist/DragSortList/index.cjs +9 -0
- package/dist/DragSortList/index.cjs.map +1 -0
- package/dist/DragSortList/index.css +44 -0
- package/dist/DragSortList/index.css.map +1 -0
- package/dist/DragSortList/index.d.ts +18 -0
- package/dist/DragSortList/index.js +3 -0
- package/dist/DragSortList/index.js.map +1 -0
- package/dist/DualRangeSlider/index.cjs +9 -0
- package/dist/DualRangeSlider/index.cjs.map +1 -0
- package/dist/DualRangeSlider/index.css +41 -0
- package/dist/DualRangeSlider/index.css.map +1 -0
- package/dist/DualRangeSlider/index.d.ts +22 -0
- package/dist/DualRangeSlider/index.js +3 -0
- package/dist/DualRangeSlider/index.js.map +1 -0
- package/dist/EnvBadge/index.cjs +9 -0
- package/dist/EnvBadge/index.cjs.map +1 -0
- package/dist/EnvBadge/index.css +123 -0
- package/dist/EnvBadge/index.css.map +1 -0
- package/dist/EnvBadge/index.d.ts +36 -0
- package/dist/EnvBadge/index.js +3 -0
- package/dist/EnvBadge/index.js.map +1 -0
- package/dist/FileDropZone/index.cjs +9 -0
- package/dist/FileDropZone/index.cjs.map +1 -0
- package/dist/FileDropZone/index.css +39 -0
- package/dist/FileDropZone/index.css.map +1 -0
- package/dist/FileDropZone/index.d.ts +20 -0
- package/dist/FileDropZone/index.js +3 -0
- package/dist/FileDropZone/index.js.map +1 -0
- package/dist/FilePreviewer/index.cjs +19 -0
- package/dist/FilePreviewer/index.cjs.map +1 -0
- package/dist/FilePreviewer/index.css +155 -0
- package/dist/FilePreviewer/index.css.map +1 -0
- package/dist/FilePreviewer/index.d.ts +38 -0
- package/dist/FilePreviewer/index.js +4 -0
- package/dist/FilePreviewer/index.js.map +1 -0
- package/dist/FilterChips/index.cjs +9 -0
- package/dist/FilterChips/index.cjs.map +1 -0
- package/dist/FilterChips/index.css +52 -0
- package/dist/FilterChips/index.css.map +1 -0
- package/dist/FilterChips/index.d.ts +23 -0
- package/dist/FilterChips/index.js +3 -0
- package/dist/FilterChips/index.js.map +1 -0
- package/dist/FlipCard/index.cjs +9 -0
- package/dist/FlipCard/index.cjs.map +1 -0
- package/dist/FlipCard/index.css +46 -0
- package/dist/FlipCard/index.css.map +1 -0
- package/dist/FlipCard/index.d.ts +28 -0
- package/dist/FlipCard/index.js +3 -0
- package/dist/FlipCard/index.js.map +1 -0
- package/dist/Fullscreen/index.cjs +10 -0
- package/dist/Fullscreen/index.cjs.map +1 -0
- package/dist/Fullscreen/index.css +112 -0
- package/dist/Fullscreen/index.css.map +1 -0
- package/dist/Fullscreen/index.d.ts +49 -0
- package/dist/Fullscreen/index.js +4 -0
- package/dist/Fullscreen/index.js.map +1 -0
- package/dist/GradientText/index.cjs +9 -0
- package/dist/GradientText/index.cjs.map +1 -0
- package/dist/GradientText/index.css +22 -0
- package/dist/GradientText/index.css.map +1 -0
- package/dist/GradientText/index.d.ts +18 -0
- package/dist/GradientText/index.js +3 -0
- package/dist/GradientText/index.js.map +1 -0
- package/dist/GuidedTour/index.cjs +10 -0
- package/dist/GuidedTour/index.cjs.map +1 -0
- package/dist/GuidedTour/index.css +105 -0
- package/dist/GuidedTour/index.css.map +1 -0
- package/dist/GuidedTour/index.d.ts +35 -0
- package/dist/GuidedTour/index.js +4 -0
- package/dist/GuidedTour/index.js.map +1 -0
- package/dist/HoverCard/index.cjs +9 -0
- package/dist/HoverCard/index.cjs.map +1 -0
- package/dist/HoverCard/index.css +31 -0
- package/dist/HoverCard/index.css.map +1 -0
- package/dist/HoverCard/index.d.ts +18 -0
- package/dist/HoverCard/index.js +3 -0
- package/dist/HoverCard/index.js.map +1 -0
- package/dist/ImageCropper/index.cjs +10 -0
- package/dist/ImageCropper/index.cjs.map +1 -0
- package/dist/ImageCropper/index.css +181 -0
- package/dist/ImageCropper/index.css.map +1 -0
- package/dist/ImageCropper/index.d.ts +45 -0
- package/dist/ImageCropper/index.js +4 -0
- package/dist/ImageCropper/index.js.map +1 -0
- package/dist/InfiniteScrollList/index.cjs +10 -0
- package/dist/InfiniteScrollList/index.cjs.map +1 -0
- package/dist/InfiniteScrollList/index.css +35 -0
- package/dist/InfiniteScrollList/index.css.map +1 -0
- package/dist/InfiniteScrollList/index.d.ts +28 -0
- package/dist/InfiniteScrollList/index.js +4 -0
- package/dist/InfiniteScrollList/index.js.map +1 -0
- package/dist/JsonDiffViewer/index.cjs +9 -0
- package/dist/JsonDiffViewer/index.cjs.map +1 -0
- package/dist/JsonDiffViewer/index.css +48 -0
- package/dist/JsonDiffViewer/index.css.map +1 -0
- package/dist/JsonDiffViewer/index.d.ts +14 -0
- package/dist/JsonDiffViewer/index.js +3 -0
- package/dist/JsonDiffViewer/index.js.map +1 -0
- package/dist/JsonEditor/index.cjs +11 -0
- package/dist/JsonEditor/index.cjs.map +1 -0
- package/dist/JsonEditor/index.css +230 -0
- package/dist/JsonEditor/index.css.map +1 -0
- package/dist/JsonEditor/index.d.ts +26 -0
- package/dist/JsonEditor/index.js +5 -0
- package/dist/JsonEditor/index.js.map +1 -0
- package/dist/JsonTree/index.cjs +9 -0
- package/dist/JsonTree/index.cjs.map +1 -0
- package/dist/JsonTree/index.css +58 -0
- package/dist/JsonTree/index.css.map +1 -0
- package/dist/JsonTree/index.d.ts +14 -0
- package/dist/JsonTree/index.js +3 -0
- package/dist/JsonTree/index.js.map +1 -0
- package/dist/KanbanBoard/index.cjs +9 -0
- package/dist/KanbanBoard/index.cjs.map +1 -0
- package/dist/KanbanBoard/index.css +80 -0
- package/dist/KanbanBoard/index.css.map +1 -0
- package/dist/KanbanBoard/index.d.ts +24 -0
- package/dist/KanbanBoard/index.js +3 -0
- package/dist/KanbanBoard/index.js.map +1 -0
- package/dist/KeyValEditor/index.cjs +10 -0
- package/dist/KeyValEditor/index.cjs.map +1 -0
- package/dist/KeyValEditor/index.css +72 -0
- package/dist/KeyValEditor/index.css.map +1 -0
- package/dist/KeyValEditor/index.d.ts +28 -0
- package/dist/KeyValEditor/index.js +4 -0
- package/dist/KeyValEditor/index.js.map +1 -0
- package/dist/Marquee/index.cjs +9 -0
- package/dist/Marquee/index.cjs.map +1 -0
- package/dist/Marquee/index.css +99 -0
- package/dist/Marquee/index.css.map +1 -0
- package/dist/Marquee/index.d.ts +27 -0
- package/dist/Marquee/index.js +3 -0
- package/dist/Marquee/index.js.map +1 -0
- package/dist/Masonry/index.cjs +9 -0
- package/dist/Masonry/index.cjs.map +1 -0
- package/dist/Masonry/index.css +15 -0
- package/dist/Masonry/index.css.map +1 -0
- package/dist/Masonry/index.d.ts +58 -0
- package/dist/Masonry/index.js +3 -0
- package/dist/Masonry/index.js.map +1 -0
- package/dist/MetricCard/index.cjs +10 -0
- package/dist/MetricCard/index.cjs.map +1 -0
- package/dist/MetricCard/index.css +105 -0
- package/dist/MetricCard/index.css.map +1 -0
- package/dist/MetricCard/index.d.ts +32 -0
- package/dist/MetricCard/index.js +4 -0
- package/dist/MetricCard/index.js.map +1 -0
- package/dist/MiniSparkline/index.cjs +9 -0
- package/dist/MiniSparkline/index.cjs.map +1 -0
- package/dist/MiniSparkline/index.css +11 -0
- package/dist/MiniSparkline/index.css.map +1 -0
- package/dist/MiniSparkline/index.d.ts +20 -0
- package/dist/MiniSparkline/index.js +3 -0
- package/dist/MiniSparkline/index.js.map +1 -0
- package/dist/NumberStepper/index.cjs +9 -0
- package/dist/NumberStepper/index.cjs.map +1 -0
- package/dist/NumberStepper/index.css +45 -0
- package/dist/NumberStepper/index.css.map +1 -0
- package/dist/NumberStepper/index.d.ts +24 -0
- package/dist/NumberStepper/index.js +3 -0
- package/dist/NumberStepper/index.js.map +1 -0
- package/dist/NumericRangeInput/index.cjs +9 -0
- package/dist/NumericRangeInput/index.cjs.map +1 -0
- package/dist/NumericRangeInput/index.css +87 -0
- package/dist/NumericRangeInput/index.css.map +1 -0
- package/dist/NumericRangeInput/index.d.ts +39 -0
- package/dist/NumericRangeInput/index.js +3 -0
- package/dist/NumericRangeInput/index.js.map +1 -0
- package/dist/PasswordStrength/index.cjs +19 -0
- package/dist/PasswordStrength/index.cjs.map +1 -0
- package/dist/PasswordStrength/index.css +66 -0
- package/dist/PasswordStrength/index.css.map +1 -0
- package/dist/PasswordStrength/index.d.ts +31 -0
- package/dist/PasswordStrength/index.js +4 -0
- package/dist/PasswordStrength/index.js.map +1 -0
- package/dist/PdfViewer/index.cjs +10 -0
- package/dist/PdfViewer/index.cjs.map +1 -0
- package/dist/PdfViewer/index.css +65 -0
- package/dist/PdfViewer/index.css.map +1 -0
- package/dist/PdfViewer/index.d.ts +20 -0
- package/dist/PdfViewer/index.js +4 -0
- package/dist/PdfViewer/index.js.map +1 -0
- package/dist/PhotoViewer/index.cjs +9 -0
- package/dist/PhotoViewer/index.cjs.map +1 -0
- package/dist/PhotoViewer/index.css +129 -0
- package/dist/PhotoViewer/index.css.map +1 -0
- package/dist/PhotoViewer/index.d.ts +23 -0
- package/dist/PhotoViewer/index.js +3 -0
- package/dist/PhotoViewer/index.js.map +1 -0
- package/dist/QrCodeCard/index.cjs +10 -0
- package/dist/QrCodeCard/index.cjs.map +1 -0
- package/dist/QrCodeCard/index.css +109 -0
- package/dist/QrCodeCard/index.css.map +1 -0
- package/dist/QrCodeCard/index.d.ts +27 -0
- package/dist/QrCodeCard/index.js +4 -0
- package/dist/QrCodeCard/index.js.map +1 -0
- package/dist/QuickDateRange/index.cjs +9 -0
- package/dist/QuickDateRange/index.cjs.map +1 -0
- package/dist/QuickDateRange/index.css +30 -0
- package/dist/QuickDateRange/index.css.map +1 -0
- package/dist/QuickDateRange/index.d.ts +22 -0
- package/dist/QuickDateRange/index.js +3 -0
- package/dist/QuickDateRange/index.js.map +1 -0
- package/dist/ScrollTracker/index.cjs +22 -0
- package/dist/ScrollTracker/index.cjs.map +1 -0
- package/dist/ScrollTracker/index.css +48 -0
- package/dist/ScrollTracker/index.css.map +1 -0
- package/dist/ScrollTracker/index.d.ts +37 -0
- package/dist/ScrollTracker/index.js +3 -0
- package/dist/ScrollTracker/index.js.map +1 -0
- package/dist/SegmentedProgress/index.cjs +9 -0
- package/dist/SegmentedProgress/index.cjs.map +1 -0
- package/dist/SegmentedProgress/index.css +42 -0
- package/dist/SegmentedProgress/index.css.map +1 -0
- package/dist/SegmentedProgress/index.d.ts +24 -0
- package/dist/SegmentedProgress/index.js +3 -0
- package/dist/SegmentedProgress/index.js.map +1 -0
- package/dist/SensitiveMask/index.cjs +20 -0
- package/dist/SensitiveMask/index.cjs.map +1 -0
- package/dist/SensitiveMask/index.css +149 -0
- package/dist/SensitiveMask/index.css.map +1 -0
- package/dist/SensitiveMask/index.d.ts +30 -0
- package/dist/SensitiveMask/index.js +5 -0
- package/dist/SensitiveMask/index.js.map +1 -0
- package/dist/ShimmerSkeleton/index.cjs +9 -0
- package/dist/ShimmerSkeleton/index.cjs.map +1 -0
- package/dist/ShimmerSkeleton/index.css +55 -0
- package/dist/ShimmerSkeleton/index.css.map +1 -0
- package/dist/ShimmerSkeleton/index.d.ts +19 -0
- package/dist/ShimmerSkeleton/index.js +3 -0
- package/dist/ShimmerSkeleton/index.js.map +1 -0
- package/dist/Splitter/index.cjs +10 -0
- package/dist/Splitter/index.cjs.map +1 -0
- package/dist/Splitter/index.d.ts +94 -0
- package/dist/Splitter/index.js +4 -0
- package/dist/Splitter/index.js.map +1 -0
- package/dist/SpotlightCard/index.cjs +9 -0
- package/dist/SpotlightCard/index.cjs.map +1 -0
- package/dist/SpotlightCard/index.css +34 -0
- package/dist/SpotlightCard/index.css.map +1 -0
- package/dist/SpotlightCard/index.d.ts +18 -0
- package/dist/SpotlightCard/index.js +3 -0
- package/dist/SpotlightCard/index.js.map +1 -0
- package/dist/StatusTimeline/index.cjs +9 -0
- package/dist/StatusTimeline/index.cjs.map +1 -0
- package/dist/StatusTimeline/index.css +111 -0
- package/dist/StatusTimeline/index.css.map +1 -0
- package/dist/StatusTimeline/index.d.ts +25 -0
- package/dist/StatusTimeline/index.js +3 -0
- package/dist/StatusTimeline/index.js.map +1 -0
- package/dist/TagInput/index.cjs +10 -0
- package/dist/TagInput/index.cjs.map +1 -0
- package/dist/TagInput/index.css +108 -0
- package/dist/TagInput/index.css.map +1 -0
- package/dist/TagInput/index.d.ts +32 -0
- package/dist/TagInput/index.js +4 -0
- package/dist/TagInput/index.js.map +1 -0
- package/dist/TextEllipsis/index.cjs +11 -0
- package/dist/TextEllipsis/index.cjs.map +1 -0
- package/dist/TextEllipsis/index.css +217 -0
- package/dist/TextEllipsis/index.css.map +1 -0
- package/dist/TextEllipsis/index.d.ts +34 -0
- package/dist/TextEllipsis/index.js +5 -0
- package/dist/TextEllipsis/index.js.map +1 -0
- package/dist/TiltCard/index.cjs +9 -0
- package/dist/TiltCard/index.cjs.map +1 -0
- package/dist/TiltCard/index.css +32 -0
- package/dist/TiltCard/index.css.map +1 -0
- package/dist/TiltCard/index.d.ts +20 -0
- package/dist/TiltCard/index.js +3 -0
- package/dist/TiltCard/index.js.map +1 -0
- package/dist/TreeFilterPanel/index.cjs +9 -0
- package/dist/TreeFilterPanel/index.cjs.map +1 -0
- package/dist/TreeFilterPanel/index.css +67 -0
- package/dist/TreeFilterPanel/index.css.map +1 -0
- package/dist/TreeFilterPanel/index.d.ts +27 -0
- package/dist/TreeFilterPanel/index.js +3 -0
- package/dist/TreeFilterPanel/index.js.map +1 -0
- package/dist/TreeTransfer/index.cjs +10 -0
- package/dist/TreeTransfer/index.cjs.map +1 -0
- package/dist/TreeTransfer/index.css +67 -0
- package/dist/TreeTransfer/index.css.map +1 -0
- package/dist/TreeTransfer/index.d.ts +27 -0
- package/dist/TreeTransfer/index.js +4 -0
- package/dist/TreeTransfer/index.js.map +1 -0
- package/dist/TrendIndicator/index.cjs +9 -0
- package/dist/TrendIndicator/index.cjs.map +1 -0
- package/dist/TrendIndicator/index.css +42 -0
- package/dist/TrendIndicator/index.css.map +1 -0
- package/dist/TrendIndicator/index.d.ts +22 -0
- package/dist/TrendIndicator/index.js +3 -0
- package/dist/TrendIndicator/index.js.map +1 -0
- package/dist/VideoPlayer/index.cjs +10 -0
- package/dist/VideoPlayer/index.cjs.map +1 -0
- package/dist/VideoPlayer/index.css +122 -0
- package/dist/VideoPlayer/index.css.map +1 -0
- package/dist/VideoPlayer/index.d.ts +24 -0
- package/dist/VideoPlayer/index.js +4 -0
- package/dist/VideoPlayer/index.js.map +1 -0
- package/dist/VirtualList/index.cjs +9 -0
- package/dist/VirtualList/index.cjs.map +1 -0
- package/dist/VirtualList/index.css +26 -0
- package/dist/VirtualList/index.css.map +1 -0
- package/dist/VirtualList/index.d.ts +22 -0
- package/dist/VirtualList/index.js +3 -0
- package/dist/VirtualList/index.js.map +1 -0
- package/dist/Watermark/index.cjs +9 -0
- package/dist/Watermark/index.cjs.map +1 -0
- package/dist/Watermark/index.css +24 -0
- package/dist/Watermark/index.css.map +1 -0
- package/dist/Watermark/index.d.ts +28 -0
- package/dist/Watermark/index.js +3 -0
- package/dist/Watermark/index.js.map +1 -0
- package/dist/chunk-2DIU347W.cjs +159 -0
- package/dist/chunk-2DIU347W.cjs.map +1 -0
- package/dist/chunk-2MDYHFLH.cjs +73 -0
- package/dist/chunk-2MDYHFLH.cjs.map +1 -0
- package/dist/chunk-2O2A5XYF.js +59 -0
- package/dist/chunk-2O2A5XYF.js.map +1 -0
- package/dist/chunk-2UCTE6YN.cjs +176 -0
- package/dist/chunk-2UCTE6YN.cjs.map +1 -0
- package/dist/chunk-3JJP4D5L.js +92 -0
- package/dist/chunk-3JJP4D5L.js.map +1 -0
- package/dist/chunk-3R3NOO4K.js +71 -0
- package/dist/chunk-3R3NOO4K.js.map +1 -0
- package/dist/chunk-3UNZXPOT.cjs +926 -0
- package/dist/chunk-3UNZXPOT.cjs.map +1 -0
- package/dist/chunk-4BDO5TJH.cjs +213 -0
- package/dist/chunk-4BDO5TJH.cjs.map +1 -0
- package/dist/chunk-4OXVTRYV.cjs +106 -0
- package/dist/chunk-4OXVTRYV.cjs.map +1 -0
- package/dist/chunk-56TD4LDC.js +125 -0
- package/dist/chunk-56TD4LDC.js.map +1 -0
- package/dist/chunk-5E36FGRP.cjs +98 -0
- package/dist/chunk-5E36FGRP.cjs.map +1 -0
- package/dist/chunk-5GLC2HU6.js +174 -0
- package/dist/chunk-5GLC2HU6.js.map +1 -0
- package/dist/chunk-5GOF5EZU.cjs +87 -0
- package/dist/chunk-5GOF5EZU.cjs.map +1 -0
- package/dist/chunk-5HIRDMZH.js +96 -0
- package/dist/chunk-5HIRDMZH.js.map +1 -0
- package/dist/chunk-5LA2NPLG.cjs +81 -0
- package/dist/chunk-5LA2NPLG.cjs.map +1 -0
- package/dist/chunk-5R2YXBXM.js +126 -0
- package/dist/chunk-5R2YXBXM.js.map +1 -0
- package/dist/chunk-5V4UAS6I.cjs +103 -0
- package/dist/chunk-5V4UAS6I.cjs.map +1 -0
- package/dist/chunk-5VSEUDVY.js +45 -0
- package/dist/chunk-5VSEUDVY.js.map +1 -0
- package/dist/chunk-5YQVSOHK.js +44 -0
- package/dist/chunk-5YQVSOHK.js.map +1 -0
- package/dist/chunk-64LBDDZU.js +104 -0
- package/dist/chunk-64LBDDZU.js.map +1 -0
- package/dist/chunk-6FVAQECF.js +103 -0
- package/dist/chunk-6FVAQECF.js.map +1 -0
- package/dist/chunk-6IXVUD2M.js +71 -0
- package/dist/chunk-6IXVUD2M.js.map +1 -0
- package/dist/chunk-6TKNFV4B.js +53 -0
- package/dist/chunk-6TKNFV4B.js.map +1 -0
- package/dist/chunk-6UKUAYN3.cjs +625 -0
- package/dist/chunk-6UKUAYN3.cjs.map +1 -0
- package/dist/chunk-6UTLBY6Y.js +51 -0
- package/dist/chunk-6UTLBY6Y.js.map +1 -0
- package/dist/chunk-7SIUSULP.cjs +103 -0
- package/dist/chunk-7SIUSULP.cjs.map +1 -0
- package/dist/chunk-A4LXKZQ5.js +80 -0
- package/dist/chunk-A4LXKZQ5.js.map +1 -0
- package/dist/chunk-AFR7V4A4.js +81 -0
- package/dist/chunk-AFR7V4A4.js.map +1 -0
- package/dist/chunk-AMCCRVHG.cjs +57 -0
- package/dist/chunk-AMCCRVHG.cjs.map +1 -0
- package/dist/chunk-B3HZIYQQ.cjs +46 -0
- package/dist/chunk-B3HZIYQQ.cjs.map +1 -0
- package/dist/chunk-B4VXFHER.js +63 -0
- package/dist/chunk-B4VXFHER.js.map +1 -0
- package/dist/chunk-B7NN6SZD.cjs +108 -0
- package/dist/chunk-B7NN6SZD.cjs.map +1 -0
- package/dist/chunk-BFQV5MYD.js +159 -0
- package/dist/chunk-BFQV5MYD.js.map +1 -0
- package/dist/chunk-BRHXKRG6.js +98 -0
- package/dist/chunk-BRHXKRG6.js.map +1 -0
- package/dist/chunk-BZXMWKD2.js +922 -0
- package/dist/chunk-BZXMWKD2.js.map +1 -0
- package/dist/chunk-CPQLXDBR.cjs +176 -0
- package/dist/chunk-CPQLXDBR.cjs.map +1 -0
- package/dist/chunk-CT66HLZ5.js +229 -0
- package/dist/chunk-CT66HLZ5.js.map +1 -0
- package/dist/chunk-D7ZE4NMX.cjs +30 -0
- package/dist/chunk-D7ZE4NMX.cjs.map +1 -0
- package/dist/chunk-DJQEBDEP.cjs +128 -0
- package/dist/chunk-DJQEBDEP.cjs.map +1 -0
- package/dist/chunk-EGZSSZBX.js +211 -0
- package/dist/chunk-EGZSSZBX.js.map +1 -0
- package/dist/chunk-EOGYWPX7.cjs +47 -0
- package/dist/chunk-EOGYWPX7.cjs.map +1 -0
- package/dist/chunk-EPYD35KB.cjs +99 -0
- package/dist/chunk-EPYD35KB.cjs.map +1 -0
- package/dist/chunk-EQ7S5SYM.js +67 -0
- package/dist/chunk-EQ7S5SYM.js.map +1 -0
- package/dist/chunk-ES3KKDLM.js +245 -0
- package/dist/chunk-ES3KKDLM.js.map +1 -0
- package/dist/chunk-EUOBMHFF.cjs +45 -0
- package/dist/chunk-EUOBMHFF.cjs.map +1 -0
- package/dist/chunk-F36V2QTN.js +28 -0
- package/dist/chunk-F36V2QTN.js.map +1 -0
- package/dist/chunk-F5X3V6A3.cjs +55 -0
- package/dist/chunk-F5X3V6A3.cjs.map +1 -0
- package/dist/chunk-FYFL4PFD.cjs +69 -0
- package/dist/chunk-FYFL4PFD.cjs.map +1 -0
- package/dist/chunk-GMZSBGSL.cjs +66 -0
- package/dist/chunk-GMZSBGSL.cjs.map +1 -0
- package/dist/chunk-GV2RRQ2S.cjs +45 -0
- package/dist/chunk-GV2RRQ2S.cjs.map +1 -0
- package/dist/chunk-H3AASAXK.cjs +82 -0
- package/dist/chunk-H3AASAXK.cjs.map +1 -0
- package/dist/chunk-HFPWBZID.js +89 -0
- package/dist/chunk-HFPWBZID.js.map +1 -0
- package/dist/chunk-HSYTBMLN.cjs +44 -0
- package/dist/chunk-HSYTBMLN.cjs.map +1 -0
- package/dist/chunk-HUXPCMNP.js +127 -0
- package/dist/chunk-HUXPCMNP.js.map +1 -0
- package/dist/chunk-HZERTFL6.js +97 -0
- package/dist/chunk-HZERTFL6.js.map +1 -0
- package/dist/chunk-IBI6AT5Z.js +37 -0
- package/dist/chunk-IBI6AT5Z.js.map +1 -0
- package/dist/chunk-IBOCJ2ZS.js +147 -0
- package/dist/chunk-IBOCJ2ZS.js.map +1 -0
- package/dist/chunk-IBYFOFSS.js +79 -0
- package/dist/chunk-IBYFOFSS.js.map +1 -0
- package/dist/chunk-IRU5E252.cjs +65 -0
- package/dist/chunk-IRU5E252.cjs.map +1 -0
- package/dist/chunk-ISUXPTLV.js +504 -0
- package/dist/chunk-ISUXPTLV.js.map +1 -0
- package/dist/chunk-J3IKUWXD.js +102 -0
- package/dist/chunk-J3IKUWXD.js.map +1 -0
- package/dist/chunk-JAW7Q2YC.cjs +127 -0
- package/dist/chunk-JAW7Q2YC.cjs.map +1 -0
- package/dist/chunk-JECYRODB.js +619 -0
- package/dist/chunk-JECYRODB.js.map +1 -0
- package/dist/chunk-JEDW76LI.cjs +107 -0
- package/dist/chunk-JEDW76LI.cjs.map +1 -0
- package/dist/chunk-K3JC52JH.cjs +49 -0
- package/dist/chunk-K3JC52JH.cjs.map +1 -0
- package/dist/chunk-KCXXUUWC.js +47 -0
- package/dist/chunk-KCXXUUWC.js.map +1 -0
- package/dist/chunk-KGZNVN7P.cjs +39 -0
- package/dist/chunk-KGZNVN7P.cjs.map +1 -0
- package/dist/chunk-KXZM322K.cjs +70 -0
- package/dist/chunk-KXZM322K.cjs.map +1 -0
- package/dist/chunk-L7X3RVEY.js +101 -0
- package/dist/chunk-L7X3RVEY.js.map +1 -0
- package/dist/chunk-LFXMUCEO.cjs +73 -0
- package/dist/chunk-LFXMUCEO.cjs.map +1 -0
- package/dist/chunk-LLWK5VKA.js +125 -0
- package/dist/chunk-LLWK5VKA.js.map +1 -0
- package/dist/chunk-MBOWSS4B.cjs +530 -0
- package/dist/chunk-MBOWSS4B.cjs.map +1 -0
- package/dist/chunk-MC3NERDH.js +43 -0
- package/dist/chunk-MC3NERDH.js.map +1 -0
- package/dist/chunk-MGUNFP6P.js +68 -0
- package/dist/chunk-MGUNFP6P.js.map +1 -0
- package/dist/chunk-MGYDOC76.cjs +81 -0
- package/dist/chunk-MGYDOC76.cjs.map +1 -0
- package/dist/chunk-MLYM5LAX.js +53 -0
- package/dist/chunk-MLYM5LAX.js.map +1 -0
- package/dist/chunk-MNY5P5EG.cjs +232 -0
- package/dist/chunk-MNY5P5EG.cjs.map +1 -0
- package/dist/chunk-MY4M7HVW.cjs +161 -0
- package/dist/chunk-MY4M7HVW.cjs.map +1 -0
- package/dist/chunk-NJIYP6SC.cjs +123 -0
- package/dist/chunk-NJIYP6SC.cjs.map +1 -0
- package/dist/chunk-NNS4YN3C.js +42 -0
- package/dist/chunk-NNS4YN3C.js.map +1 -0
- package/dist/chunk-NUTVJGVT.cjs +153 -0
- package/dist/chunk-NUTVJGVT.cjs.map +1 -0
- package/dist/chunk-O2YTJPG4.js +64 -0
- package/dist/chunk-O2YTJPG4.js.map +1 -0
- package/dist/chunk-OBK6XTUY.js +119 -0
- package/dist/chunk-OBK6XTUY.js.map +1 -0
- package/dist/chunk-OCN7L2ID.cjs +106 -0
- package/dist/chunk-OCN7L2ID.cjs.map +1 -0
- package/dist/chunk-ODNGFJVN.cjs +100 -0
- package/dist/chunk-ODNGFJVN.cjs.map +1 -0
- package/dist/chunk-ODV3XF5W.cjs +71 -0
- package/dist/chunk-ODV3XF5W.cjs.map +1 -0
- package/dist/chunk-OKCQZO5E.js +315 -0
- package/dist/chunk-OKCQZO5E.js.map +1 -0
- package/dist/chunk-PJB7ADK6.js +225 -0
- package/dist/chunk-PJB7ADK6.js.map +1 -0
- package/dist/chunk-PUJJHD22.js +106 -0
- package/dist/chunk-PUJJHD22.js.map +1 -0
- package/dist/chunk-PUTAVQJZ.js +286 -0
- package/dist/chunk-PUTAVQJZ.js.map +1 -0
- package/dist/chunk-QNSEJGF6.cjs +121 -0
- package/dist/chunk-QNSEJGF6.cjs.map +1 -0
- package/dist/chunk-QZZGBUW4.js +121 -0
- package/dist/chunk-QZZGBUW4.js.map +1 -0
- package/dist/chunk-RAF7I4A5.js +44 -0
- package/dist/chunk-RAF7I4A5.js.map +1 -0
- package/dist/chunk-RIR43PO3.js +69 -0
- package/dist/chunk-RIR43PO3.js.map +1 -0
- package/dist/chunk-TNKJCJ3U.cjs +94 -0
- package/dist/chunk-TNKJCJ3U.cjs.map +1 -0
- package/dist/chunk-UCG7ZVK5.cjs +46 -0
- package/dist/chunk-UCG7ZVK5.cjs.map +1 -0
- package/dist/chunk-V4O325BX.cjs +84 -0
- package/dist/chunk-V4O325BX.cjs.map +1 -0
- package/dist/chunk-V7IUSCQS.js +157 -0
- package/dist/chunk-V7IUSCQS.js.map +1 -0
- package/dist/chunk-VF5P7XMC.cjs +161 -0
- package/dist/chunk-VF5P7XMC.cjs.map +1 -0
- package/dist/chunk-VIJ3PXCW.cjs +104 -0
- package/dist/chunk-VIJ3PXCW.cjs.map +1 -0
- package/dist/chunk-VJM2XBHZ.cjs +31 -0
- package/dist/chunk-VJM2XBHZ.cjs.map +1 -0
- package/dist/chunk-VQKPZ4YE.cjs +251 -0
- package/dist/chunk-VQKPZ4YE.cjs.map +1 -0
- package/dist/chunk-VS2YVJOB.cjs +129 -0
- package/dist/chunk-VS2YVJOB.cjs.map +1 -0
- package/dist/chunk-WDHU3BSM.cjs +55 -0
- package/dist/chunk-WDHU3BSM.cjs.map +1 -0
- package/dist/chunk-WEGDIRDB.js +101 -0
- package/dist/chunk-WEGDIRDB.js.map +1 -0
- package/dist/chunk-WEOMKZC6.js +174 -0
- package/dist/chunk-WEOMKZC6.js.map +1 -0
- package/dist/chunk-WN557PFJ.js +122 -0
- package/dist/chunk-WN557PFJ.js.map +1 -0
- package/dist/chunk-WWXBH57R.cjs +95 -0
- package/dist/chunk-WWXBH57R.cjs.map +1 -0
- package/dist/chunk-WZ2GV4HA.js +49 -0
- package/dist/chunk-WZ2GV4HA.js.map +1 -0
- package/dist/chunk-WZRUBHS3.cjs +231 -0
- package/dist/chunk-WZRUBHS3.cjs.map +1 -0
- package/dist/chunk-X2F2DVMB.js +85 -0
- package/dist/chunk-X2F2DVMB.js.map +1 -0
- package/dist/chunk-XOMV26WS.js +105 -0
- package/dist/chunk-XOMV26WS.js.map +1 -0
- package/dist/chunk-XWHITF5V.cjs +31 -0
- package/dist/chunk-XWHITF5V.cjs.map +1 -0
- package/dist/chunk-XWXFENGT.js +159 -0
- package/dist/chunk-XWXFENGT.js.map +1 -0
- package/dist/chunk-Y7A3WQQN.js +79 -0
- package/dist/chunk-Y7A3WQQN.js.map +1 -0
- package/dist/chunk-YFHKH6HL.js +43 -0
- package/dist/chunk-YFHKH6HL.js.map +1 -0
- package/dist/chunk-YXTLWTY4.js +29 -0
- package/dist/chunk-YXTLWTY4.js.map +1 -0
- package/dist/chunk-ZFBLVX7E.cjs +51 -0
- package/dist/chunk-ZFBLVX7E.cjs.map +1 -0
- package/dist/chunk-ZKM664KC.cjs +126 -0
- package/dist/chunk-ZKM664KC.cjs.map +1 -0
- package/dist/chunk-ZLHNRKOQ.js +29 -0
- package/dist/chunk-ZLHNRKOQ.js.map +1 -0
- package/dist/chunk-ZLWY7QS2.cjs +292 -0
- package/dist/chunk-ZLWY7QS2.cjs.map +1 -0
- package/dist/chunk-ZNFW6L3E.cjs +321 -0
- package/dist/chunk-ZNFW6L3E.cjs.map +1 -0
- package/dist/chunk-ZUW3XLZQ.cjs +131 -0
- package/dist/chunk-ZUW3XLZQ.cjs.map +1 -0
- package/dist/chunk-ZVSN7ADO.cjs +61 -0
- package/dist/chunk-ZVSN7ADO.cjs.map +1 -0
- package/dist/index.cjs +334 -8101
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +79 -11
- package/dist/index.css.map +1 -1
- package/dist/index.js +63 -8026
- package/dist/index.js.map +1 -1
- package/dist/src/icons.d.ts +70 -0
- package/dist/src/index.d.ts +124 -0
- package/dist/tsup.config.d.ts +2 -0
- package/dist/vite.config.d.ts +2 -0
- package/package.json +17 -3
- package/dist/index.d.cts +0 -1624
- package/dist/index.d.ts +0 -1624
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkMBOWSS4B_cjs = require('./chunk-MBOWSS4B.cjs');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function formatVideoTime(seconds) {
|
|
8
|
+
if (isNaN(seconds) || seconds < 0) return "00:00";
|
|
9
|
+
const m = Math.floor(seconds / 60);
|
|
10
|
+
const s = Math.floor(seconds % 60);
|
|
11
|
+
return `${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")}`;
|
|
12
|
+
}
|
|
13
|
+
var speedList = [0.75, 1, 1.25, 1.5, 2];
|
|
14
|
+
var VideoPlayer = ({
|
|
15
|
+
src,
|
|
16
|
+
poster,
|
|
17
|
+
autoPlay = false,
|
|
18
|
+
loop = false,
|
|
19
|
+
muted = false,
|
|
20
|
+
width = 640,
|
|
21
|
+
height = 360,
|
|
22
|
+
className = "",
|
|
23
|
+
style
|
|
24
|
+
}) => {
|
|
25
|
+
const videoRef = react.useRef(null);
|
|
26
|
+
const containerRef = react.useRef(null);
|
|
27
|
+
const progressRef = react.useRef(null);
|
|
28
|
+
const [isPlaying, setIsPlaying] = react.useState(false);
|
|
29
|
+
const [currentTime, setCurrentTime] = react.useState(0);
|
|
30
|
+
const [duration, setDuration] = react.useState(0);
|
|
31
|
+
const [speedIndex, setSpeedIndex] = react.useState(1);
|
|
32
|
+
const [isControlsVisible, setIsControlsVisible] = react.useState(true);
|
|
33
|
+
const [isFullscreen, setIsFullscreen] = react.useState(false);
|
|
34
|
+
const hideTimerRef = react.useRef(null);
|
|
35
|
+
const currentSpeed = speedList[speedIndex] || 1;
|
|
36
|
+
const togglePlay = () => {
|
|
37
|
+
const video = videoRef.current;
|
|
38
|
+
if (!video) return;
|
|
39
|
+
if (isPlaying) {
|
|
40
|
+
video.pause();
|
|
41
|
+
setIsPlaying(false);
|
|
42
|
+
} else {
|
|
43
|
+
video.play();
|
|
44
|
+
setIsPlaying(true);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const seekBy = (seconds) => {
|
|
48
|
+
const video = videoRef.current;
|
|
49
|
+
if (!video) return;
|
|
50
|
+
video.currentTime = Math.max(0, Math.min(duration, video.currentTime + seconds));
|
|
51
|
+
};
|
|
52
|
+
const handleTimeUpdate = () => {
|
|
53
|
+
if (videoRef.current) {
|
|
54
|
+
setCurrentTime(videoRef.current.currentTime);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const handleLoadedMetadata = () => {
|
|
58
|
+
if (videoRef.current) {
|
|
59
|
+
setDuration(videoRef.current.duration);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const handleProgressClick = (e) => {
|
|
63
|
+
if (!progressRef.current || !videoRef.current || !duration) return;
|
|
64
|
+
const rect = progressRef.current.getBoundingClientRect();
|
|
65
|
+
const percent = Math.min(1, Math.max(0, (e.clientX - rect.left) / rect.width));
|
|
66
|
+
const target = percent * duration;
|
|
67
|
+
videoRef.current.currentTime = target;
|
|
68
|
+
setCurrentTime(target);
|
|
69
|
+
};
|
|
70
|
+
const handleSpeedChange = () => {
|
|
71
|
+
const next = (speedIndex + 1) % speedList.length;
|
|
72
|
+
setSpeedIndex(next);
|
|
73
|
+
if (videoRef.current) {
|
|
74
|
+
videoRef.current.playbackRate = speedList[next];
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
const toggleFullscreen = () => {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
const container = containerRef.current;
|
|
80
|
+
if (!container) return;
|
|
81
|
+
if (!document.fullscreenElement) {
|
|
82
|
+
(_a = container.requestFullscreen) == null ? void 0 : _a.call(container);
|
|
83
|
+
setIsFullscreen(true);
|
|
84
|
+
} else {
|
|
85
|
+
(_b = document.exitFullscreen) == null ? void 0 : _b.call(document);
|
|
86
|
+
setIsFullscreen(false);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const togglePiP = async () => {
|
|
90
|
+
const video = videoRef.current;
|
|
91
|
+
if (!video) return;
|
|
92
|
+
if (document.pictureInPictureElement) {
|
|
93
|
+
await document.exitPictureInPicture();
|
|
94
|
+
} else if (document.pictureInPictureEnabled) {
|
|
95
|
+
await video.requestPictureInPicture();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
const showControls = () => {
|
|
99
|
+
setIsControlsVisible(true);
|
|
100
|
+
if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
|
|
101
|
+
hideTimerRef.current = setTimeout(() => {
|
|
102
|
+
if (isPlaying) {
|
|
103
|
+
setIsControlsVisible(false);
|
|
104
|
+
}
|
|
105
|
+
}, 3e3);
|
|
106
|
+
};
|
|
107
|
+
const progressPercent = duration > 0 ? currentTime / duration * 100 : 0;
|
|
108
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
109
|
+
"div",
|
|
110
|
+
{
|
|
111
|
+
ref: containerRef,
|
|
112
|
+
onMouseMove: showControls,
|
|
113
|
+
onMouseEnter: showControls,
|
|
114
|
+
onMouseLeave: () => isPlaying && setIsControlsVisible(false),
|
|
115
|
+
className: `rpc_video_player ${className}`,
|
|
116
|
+
style: { width, height, ...style },
|
|
117
|
+
children: [
|
|
118
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
119
|
+
"video",
|
|
120
|
+
{
|
|
121
|
+
ref: videoRef,
|
|
122
|
+
src,
|
|
123
|
+
poster,
|
|
124
|
+
autoPlay,
|
|
125
|
+
loop,
|
|
126
|
+
muted,
|
|
127
|
+
onClick: togglePlay,
|
|
128
|
+
onTimeUpdate: handleTimeUpdate,
|
|
129
|
+
onLoadedMetadata: handleLoadedMetadata,
|
|
130
|
+
onEnded: () => setIsPlaying(false),
|
|
131
|
+
className: "rpc_video_player_video"
|
|
132
|
+
}
|
|
133
|
+
),
|
|
134
|
+
!isPlaying && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_video_player_big_play_btn", onClick: togglePlay, children: "\u25B6" }),
|
|
135
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
136
|
+
"div",
|
|
137
|
+
{
|
|
138
|
+
className: `rpc_video_player_controls ${!isControlsVisible && isPlaying ? "rpc_video_player_controls_hidden" : ""}`,
|
|
139
|
+
children: [
|
|
140
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
141
|
+
"div",
|
|
142
|
+
{
|
|
143
|
+
ref: progressRef,
|
|
144
|
+
className: "rpc_video_player_progress_wrap",
|
|
145
|
+
onClick: handleProgressClick,
|
|
146
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
+
"div",
|
|
148
|
+
{
|
|
149
|
+
className: "rpc_video_player_progress_fill",
|
|
150
|
+
style: { width: `${progressPercent}%` }
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
}
|
|
154
|
+
),
|
|
155
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_video_player_bar_row", children: [
|
|
156
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_video_player_left_btns", children: [
|
|
157
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "rpc_video_player_btn", onClick: togglePlay, children: isPlaying ? /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.PauseCircleOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.PlayCircleOutlined, {}) }),
|
|
158
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
159
|
+
"button",
|
|
160
|
+
{
|
|
161
|
+
type: "button",
|
|
162
|
+
className: "rpc_video_player_btn",
|
|
163
|
+
onClick: () => seekBy(-10),
|
|
164
|
+
title: "\u5FEB\u9000 10 \u79D2",
|
|
165
|
+
children: "\u23EA 10s"
|
|
166
|
+
}
|
|
167
|
+
),
|
|
168
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
169
|
+
"button",
|
|
170
|
+
{
|
|
171
|
+
type: "button",
|
|
172
|
+
className: "rpc_video_player_btn",
|
|
173
|
+
onClick: () => seekBy(10),
|
|
174
|
+
title: "\u5FEB\u8FDB 10 \u79D2",
|
|
175
|
+
children: "10s \u23E9"
|
|
176
|
+
}
|
|
177
|
+
),
|
|
178
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "rpc_video_player_time", children: [
|
|
179
|
+
formatVideoTime(currentTime),
|
|
180
|
+
" / ",
|
|
181
|
+
formatVideoTime(duration)
|
|
182
|
+
] })
|
|
183
|
+
] }),
|
|
184
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_video_player_right_btns", children: [
|
|
185
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
186
|
+
"button",
|
|
187
|
+
{
|
|
188
|
+
type: "button",
|
|
189
|
+
className: "rpc_video_player_btn rpc_video_player_speed_btn",
|
|
190
|
+
onClick: handleSpeedChange,
|
|
191
|
+
title: "\u64AD\u653E\u500D\u901F",
|
|
192
|
+
children: [
|
|
193
|
+
currentSpeed,
|
|
194
|
+
"x"
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
),
|
|
198
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
199
|
+
"button",
|
|
200
|
+
{
|
|
201
|
+
type: "button",
|
|
202
|
+
className: "rpc_video_player_btn",
|
|
203
|
+
onClick: togglePiP,
|
|
204
|
+
title: "\u753B\u4E2D\u753B\u6A21\u5F0F",
|
|
205
|
+
children: "\u{1FA9F}"
|
|
206
|
+
}
|
|
207
|
+
),
|
|
208
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
209
|
+
"button",
|
|
210
|
+
{
|
|
211
|
+
type: "button",
|
|
212
|
+
className: "rpc_video_player_btn",
|
|
213
|
+
onClick: toggleFullscreen,
|
|
214
|
+
title: "\u5168\u5C4F\u5207\u6362",
|
|
215
|
+
children: isFullscreen ? /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.FullscreenExitOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.FullscreenOutlined, {})
|
|
216
|
+
}
|
|
217
|
+
)
|
|
218
|
+
] })
|
|
219
|
+
] })
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
)
|
|
223
|
+
]
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
};
|
|
227
|
+
var VideoPlayer_default = VideoPlayer;
|
|
228
|
+
|
|
229
|
+
exports.VideoPlayer_default = VideoPlayer_default;
|
|
230
|
+
//# sourceMappingURL=chunk-WZRUBHS3.cjs.map
|
|
231
|
+
//# sourceMappingURL=chunk-WZRUBHS3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../VideoPlayer/index.tsx"],"names":["useRef","useState","jsxs","jsx","PauseCircleOutlined","PlayCircleOutlined","FullscreenExitOutlined","FullscreenOutlined"],"mappings":"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","file":"chunk-WZRUBHS3.cjs","sourcesContent":["import React, { useState, useRef, useEffect, ReactNode, CSSProperties } from 'react';\nimport {\n\tPlayCircleOutlined,\n\tPauseCircleOutlined,\n\tFullscreenOutlined,\n\tFullscreenExitOutlined,\n\tSoundOutlined,\n} from '../src/icons';\nimport './index.less';\n\nexport interface VideoPlayerProps {\n\t/** 视频播放地址 */\n\tsrc: string;\n\t/** 视频封面图 */\n\tposter?: string;\n\t/** 是否自动播放,默认为 false */\n\tautoPlay?: boolean;\n\t/** 是否循环播放,默认为 false */\n\tloop?: boolean;\n\t/** 是否默认静音,默认为 false */\n\tmuted?: boolean;\n\t/** 宽度,默认为 640 */\n\twidth?: number | string;\n\t/** 高度,默认为 360 */\n\theight?: number | string;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nfunction formatVideoTime(seconds: number): string {\n\tif (isNaN(seconds) || seconds < 0) return '00:00';\n\tconst m = Math.floor(seconds / 60);\n\tconst s = Math.floor(seconds % 60);\n\treturn `${String(m).padStart(2, '0')}:${String(s).padStart(2, '0')}`;\n}\n\nconst speedList = [0.75, 1.0, 1.25, 1.5, 2.0];\n\nconst VideoPlayer: React.FC<VideoPlayerProps> = ({\n\tsrc,\n\tposter,\n\tautoPlay = false,\n\tloop = false,\n\tmuted = false,\n\twidth = 640,\n\theight = 360,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst videoRef = useRef<HTMLVideoElement>(null);\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst progressRef = useRef<HTMLDivElement>(null);\n\n\tconst [isPlaying, setIsPlaying] = useState<boolean>(false);\n\tconst [currentTime, setCurrentTime] = useState<number>(0);\n\tconst [duration, setDuration] = useState<number>(0);\n\tconst [speedIndex, setSpeedIndex] = useState<number>(1); // 1.0x\n\tconst [isControlsVisible, setIsControlsVisible] = useState<boolean>(true);\n\tconst [isFullscreen, setIsFullscreen] = useState<boolean>(false);\n\n\tconst hideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n\tconst currentSpeed = speedList[speedIndex] || 1.0;\n\n\tconst togglePlay = () => {\n\t\tconst video = videoRef.current;\n\t\tif (!video) return;\n\t\tif (isPlaying) {\n\t\t\tvideo.pause();\n\t\t\tsetIsPlaying(false);\n\t\t} else {\n\t\t\tvideo.play();\n\t\t\tsetIsPlaying(true);\n\t\t}\n\t};\n\n\tconst seekBy = (seconds: number) => {\n\t\tconst video = videoRef.current;\n\t\tif (!video) return;\n\t\tvideo.currentTime = Math.max(0, Math.min(duration, video.currentTime + seconds));\n\t};\n\n\tconst handleTimeUpdate = () => {\n\t\tif (videoRef.current) {\n\t\t\tsetCurrentTime(videoRef.current.currentTime);\n\t\t}\n\t};\n\n\tconst handleLoadedMetadata = () => {\n\t\tif (videoRef.current) {\n\t\t\tsetDuration(videoRef.current.duration);\n\t\t}\n\t};\n\n\tconst handleProgressClick = (e: React.MouseEvent<HTMLDivElement>) => {\n\t\tif (!progressRef.current || !videoRef.current || !duration) return;\n\t\tconst rect = progressRef.current.getBoundingClientRect();\n\t\tconst percent = Math.min(1, Math.max(0, (e.clientX - rect.left) / rect.width));\n\t\tconst target = percent * duration;\n\t\tvideoRef.current.currentTime = target;\n\t\tsetCurrentTime(target);\n\t};\n\n\tconst handleSpeedChange = () => {\n\t\tconst next = (speedIndex + 1) % speedList.length;\n\t\tsetSpeedIndex(next);\n\t\tif (videoRef.current) {\n\t\t\tvideoRef.current.playbackRate = speedList[next];\n\t\t}\n\t};\n\n\tconst toggleFullscreen = () => {\n\t\tconst container = containerRef.current;\n\t\tif (!container) return;\n\n\t\tif (!document.fullscreenElement) {\n\t\t\tcontainer.requestFullscreen?.();\n\t\t\tsetIsFullscreen(true);\n\t\t} else {\n\t\t\tdocument.exitFullscreen?.();\n\t\t\tsetIsFullscreen(false);\n\t\t}\n\t};\n\n\tconst togglePiP = async () => {\n\t\tconst video = videoRef.current;\n\t\tif (!video) return;\n\t\tif (document.pictureInPictureElement) {\n\t\t\tawait document.exitPictureInPicture();\n\t\t} else if (document.pictureInPictureEnabled) {\n\t\t\tawait video.requestPictureInPicture();\n\t\t}\n\t};\n\n\tconst showControls = () => {\n\t\tsetIsControlsVisible(true);\n\t\tif (hideTimerRef.current) clearTimeout(hideTimerRef.current);\n\t\thideTimerRef.current = setTimeout(() => {\n\t\t\tif (isPlaying) {\n\t\t\t\tsetIsControlsVisible(false);\n\t\t\t}\n\t\t}, 3000);\n\t};\n\n\tconst progressPercent = duration > 0 ? (currentTime / duration) * 100 : 0;\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tonMouseMove={showControls}\n\t\t\tonMouseEnter={showControls}\n\t\t\tonMouseLeave={() => isPlaying && setIsControlsVisible(false)}\n\t\t\tclassName={`rpc_video_player ${className}`}\n\t\t\tstyle={{ width, height, ...style }}\n\t\t>\n\t\t\t<video\n\t\t\t\tref={videoRef}\n\t\t\t\tsrc={src}\n\t\t\t\tposter={poster}\n\t\t\t\tautoPlay={autoPlay}\n\t\t\t\tloop={loop}\n\t\t\t\tmuted={muted}\n\t\t\t\tonClick={togglePlay}\n\t\t\t\tonTimeUpdate={handleTimeUpdate}\n\t\t\t\tonLoadedMetadata={handleLoadedMetadata}\n\t\t\t\tonEnded={() => setIsPlaying(false)}\n\t\t\t\tclassName=\"rpc_video_player_video\"\n\t\t\t/>\n\n\t\t\t{/* 中央大播放按钮(暂停时展示) */}\n\t\t\t{!isPlaying && (\n\t\t\t\t<div className=\"rpc_video_player_big_play_btn\" onClick={togglePlay}>\n\t\t\t\t\t▶\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* 底部控制条 */}\n\t\t\t<div\n\t\t\t\tclassName={`rpc_video_player_controls ${\n\t\t\t\t\t!isControlsVisible && isPlaying ? 'rpc_video_player_controls_hidden' : ''\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{/* 进度条 */}\n\t\t\t\t<div\n\t\t\t\t\tref={progressRef}\n\t\t\t\t\tclassName=\"rpc_video_player_progress_wrap\"\n\t\t\t\t\tonClick={handleProgressClick}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"rpc_video_player_progress_fill\"\n\t\t\t\t\t\tstyle={{ width: `${progressPercent}%` }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"rpc_video_player_bar_row\">\n\t\t\t\t\t<div className=\"rpc_video_player_left_btns\">\n\t\t\t\t\t\t<button type=\"button\" className=\"rpc_video_player_btn\" onClick={togglePlay}>\n\t\t\t\t\t\t\t{isPlaying ? <PauseCircleOutlined /> : <PlayCircleOutlined />}\n\t\t\t\t\t\t</button>\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_video_player_btn\"\n\t\t\t\t\t\t\tonClick={() => seekBy(-10)}\n\t\t\t\t\t\t\ttitle=\"快退 10 秒\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t⏪ 10s\n\t\t\t\t\t\t</button>\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_video_player_btn\"\n\t\t\t\t\t\t\tonClick={() => seekBy(10)}\n\t\t\t\t\t\t\ttitle=\"快进 10 秒\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t10s ⏩\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<span className=\"rpc_video_player_time\">\n\t\t\t\t\t\t\t{formatVideoTime(currentTime)} / {formatVideoTime(duration)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"rpc_video_player_right_btns\">\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_video_player_btn rpc_video_player_speed_btn\"\n\t\t\t\t\t\t\tonClick={handleSpeedChange}\n\t\t\t\t\t\t\ttitle=\"播放倍速\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{currentSpeed}x\n\t\t\t\t\t\t</button>\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_video_player_btn\"\n\t\t\t\t\t\t\tonClick={togglePiP}\n\t\t\t\t\t\t\ttitle=\"画中画模式\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t🪟\n\t\t\t\t\t\t</button>\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_video_player_btn\"\n\t\t\t\t\t\t\tonClick={toggleFullscreen}\n\t\t\t\t\t\t\ttitle=\"全屏切换\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{isFullscreen ? <FullscreenExitOutlined /> : <FullscreenOutlined />}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default VideoPlayer;\n"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// NumberStepper/index.tsx
|
|
5
|
+
var NumberStepper = ({
|
|
6
|
+
value: controlledVal,
|
|
7
|
+
defaultValue = 1,
|
|
8
|
+
min = 0,
|
|
9
|
+
max = 100,
|
|
10
|
+
step = 1,
|
|
11
|
+
onChange,
|
|
12
|
+
disabled = false,
|
|
13
|
+
className = "",
|
|
14
|
+
style
|
|
15
|
+
}) => {
|
|
16
|
+
const [internalVal, setInternalVal] = useState(defaultValue);
|
|
17
|
+
const currentVal = controlledVal !== void 0 ? controlledVal : internalVal;
|
|
18
|
+
const timerRef = useRef(null);
|
|
19
|
+
const updateVal = (val) => {
|
|
20
|
+
const clamped = Math.max(min, Math.min(max, val));
|
|
21
|
+
if (controlledVal === void 0) setInternalVal(clamped);
|
|
22
|
+
onChange == null ? void 0 : onChange(clamped);
|
|
23
|
+
};
|
|
24
|
+
const handleStep = (delta) => {
|
|
25
|
+
if (disabled) return;
|
|
26
|
+
updateVal(currentVal + delta);
|
|
27
|
+
};
|
|
28
|
+
const startLongPress = (delta) => {
|
|
29
|
+
if (disabled) return;
|
|
30
|
+
handleStep(delta);
|
|
31
|
+
timerRef.current = setInterval(() => {
|
|
32
|
+
handleStep(delta);
|
|
33
|
+
}, 120);
|
|
34
|
+
};
|
|
35
|
+
const stopLongPress = () => {
|
|
36
|
+
if (timerRef.current) {
|
|
37
|
+
clearInterval(timerRef.current);
|
|
38
|
+
timerRef.current = null;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
return () => stopLongPress();
|
|
43
|
+
}, []);
|
|
44
|
+
return /* @__PURE__ */ jsxs("div", { className: `rpc_num_stepper ${className}`, style, children: [
|
|
45
|
+
/* @__PURE__ */ jsx(
|
|
46
|
+
"button",
|
|
47
|
+
{
|
|
48
|
+
type: "button",
|
|
49
|
+
disabled: disabled || currentVal <= min,
|
|
50
|
+
className: "rpc_num_stepper_btn",
|
|
51
|
+
onMouseDown: () => startLongPress(-step),
|
|
52
|
+
onMouseUp: stopLongPress,
|
|
53
|
+
onMouseLeave: stopLongPress,
|
|
54
|
+
children: "-"
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
/* @__PURE__ */ jsx(
|
|
58
|
+
"input",
|
|
59
|
+
{
|
|
60
|
+
type: "number",
|
|
61
|
+
value: currentVal,
|
|
62
|
+
disabled,
|
|
63
|
+
onChange: (e) => updateVal(Number(e.target.value)),
|
|
64
|
+
className: "rpc_num_stepper_input"
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
/* @__PURE__ */ jsx(
|
|
68
|
+
"button",
|
|
69
|
+
{
|
|
70
|
+
type: "button",
|
|
71
|
+
disabled: disabled || currentVal >= max,
|
|
72
|
+
className: "rpc_num_stepper_btn",
|
|
73
|
+
onMouseDown: () => startLongPress(step),
|
|
74
|
+
onMouseUp: stopLongPress,
|
|
75
|
+
onMouseLeave: stopLongPress,
|
|
76
|
+
children: "+"
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
] });
|
|
80
|
+
};
|
|
81
|
+
var NumberStepper_default = NumberStepper;
|
|
82
|
+
|
|
83
|
+
export { NumberStepper_default };
|
|
84
|
+
//# sourceMappingURL=chunk-X2F2DVMB.js.map
|
|
85
|
+
//# sourceMappingURL=chunk-X2F2DVMB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../NumberStepper/index.tsx"],"names":[],"mappings":"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","file":"chunk-X2F2DVMB.js","sourcesContent":["import React, { useState, useRef, useEffect, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface NumberStepperProps {\n\t/** 当前数值(受控) */\n\tvalue?: number;\n\t/** 默认数值 */\n\tdefaultValue?: number;\n\t/** 最小值,默认为 0 */\n\tmin?: number;\n\t/** 最大值,默认为 100 */\n\tmax?: number;\n\t/** 步长,默认为 1 */\n\tstep?: number;\n\t/** 改变回调 */\n\tonChange?: (val: number) => void;\n\t/** 是否禁用 */\n\tdisabled?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst NumberStepper: React.FC<NumberStepperProps> = ({\n\tvalue: controlledVal,\n\tdefaultValue = 1,\n\tmin = 0,\n\tmax = 100,\n\tstep = 1,\n\tonChange,\n\tdisabled = false,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [internalVal, setInternalVal] = useState<number>(defaultValue);\n\tconst currentVal = controlledVal !== undefined ? controlledVal : internalVal;\n\n\tconst timerRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\n\tconst updateVal = (val: number) => {\n\t\tconst clamped = Math.max(min, Math.min(max, val));\n\t\tif (controlledVal === undefined) setInternalVal(clamped);\n\t\tonChange?.(clamped);\n\t};\n\n\tconst handleStep = (delta: number) => {\n\t\tif (disabled) return;\n\t\tupdateVal(currentVal + delta);\n\t};\n\n\tconst startLongPress = (delta: number) => {\n\t\tif (disabled) return;\n\t\thandleStep(delta);\n\t\ttimerRef.current = setInterval(() => {\n\t\t\thandleStep(delta);\n\t\t}, 120);\n\t};\n\n\tconst stopLongPress = () => {\n\t\tif (timerRef.current) {\n\t\t\tclearInterval(timerRef.current);\n\t\t\ttimerRef.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\treturn () => stopLongPress();\n\t}, []);\n\n\treturn (\n\t\t<div className={`rpc_num_stepper ${className}`} style={style}>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled={disabled || currentVal <= min}\n\t\t\t\tclassName=\"rpc_num_stepper_btn\"\n\t\t\t\tonMouseDown={() => startLongPress(-step)}\n\t\t\t\tonMouseUp={stopLongPress}\n\t\t\t\tonMouseLeave={stopLongPress}\n\t\t\t>\n\t\t\t\t-\n\t\t\t</button>\n\n\t\t\t<input\n\t\t\t\ttype=\"number\"\n\t\t\t\tvalue={currentVal}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={(e) => updateVal(Number(e.target.value))}\n\t\t\t\tclassName=\"rpc_num_stepper_input\"\n\t\t\t/>\n\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled={disabled || currentVal >= max}\n\t\t\t\tclassName=\"rpc_num_stepper_btn\"\n\t\t\t\tonMouseDown={() => startLongPress(step)}\n\t\t\t\tonMouseUp={stopLongPress}\n\t\t\t\tonMouseLeave={stopLongPress}\n\t\t\t>\n\t\t\t\t+\n\t\t\t</button>\n\t\t</div>\n\t);\n};\n\nexport default NumberStepper;\n"]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { ReloadOutlined, LoadingOutlined } from './chunk-ISUXPTLV.js';
|
|
2
|
+
import { useRef, useEffect } from 'react';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function drawQrCode(canvas, text, size) {
|
|
6
|
+
const ctx = canvas.getContext("2d");
|
|
7
|
+
if (!ctx) return;
|
|
8
|
+
const dpr = window.devicePixelRatio || 1;
|
|
9
|
+
canvas.width = size * dpr;
|
|
10
|
+
canvas.height = size * dpr;
|
|
11
|
+
ctx.scale(dpr, dpr);
|
|
12
|
+
ctx.fillStyle = "#ffffff";
|
|
13
|
+
ctx.fillRect(0, 0, size, size);
|
|
14
|
+
const modules = 25;
|
|
15
|
+
const cellSize = size / modules;
|
|
16
|
+
ctx.fillStyle = "#000000";
|
|
17
|
+
const drawPositionPattern = (x, y) => {
|
|
18
|
+
ctx.fillRect(x * cellSize, y * cellSize, 7 * cellSize, 7 * cellSize);
|
|
19
|
+
ctx.fillStyle = "#ffffff";
|
|
20
|
+
ctx.fillRect((x + 1) * cellSize, (y + 1) * cellSize, 5 * cellSize, 5 * cellSize);
|
|
21
|
+
ctx.fillStyle = "#000000";
|
|
22
|
+
ctx.fillRect((x + 2) * cellSize, (y + 2) * cellSize, 3 * cellSize, 3 * cellSize);
|
|
23
|
+
};
|
|
24
|
+
drawPositionPattern(0, 0);
|
|
25
|
+
drawPositionPattern(modules - 7, 0);
|
|
26
|
+
drawPositionPattern(0, modules - 7);
|
|
27
|
+
let hash = 0;
|
|
28
|
+
for (let i = 0; i < text.length; i++) {
|
|
29
|
+
hash = (hash << 5) - hash + text.charCodeAt(i);
|
|
30
|
+
hash |= 0;
|
|
31
|
+
}
|
|
32
|
+
for (let r = 0; r < modules; r++) {
|
|
33
|
+
for (let c = 0; c < modules; c++) {
|
|
34
|
+
if (r < 8 && c < 8 || r < 8 && c >= modules - 8 || r >= modules - 8 && c < 8) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
const seed = (r * 31 + c * 17 + hash) % 100;
|
|
38
|
+
if (Math.abs(seed) % 2 === 0) {
|
|
39
|
+
ctx.fillStyle = "#000000";
|
|
40
|
+
ctx.fillRect(c * cellSize, r * cellSize, cellSize - 0.2, cellSize - 0.2);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var QrCodeCard = ({
|
|
46
|
+
value,
|
|
47
|
+
size = 160,
|
|
48
|
+
icon,
|
|
49
|
+
status = "active",
|
|
50
|
+
title,
|
|
51
|
+
description,
|
|
52
|
+
downloadable = false,
|
|
53
|
+
onRefresh,
|
|
54
|
+
className = "",
|
|
55
|
+
style
|
|
56
|
+
}) => {
|
|
57
|
+
const canvasRef = useRef(null);
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (canvasRef.current && value) {
|
|
60
|
+
drawQrCode(canvasRef.current, value, size);
|
|
61
|
+
}
|
|
62
|
+
}, [value, size]);
|
|
63
|
+
const handleDownload = () => {
|
|
64
|
+
if (!canvasRef.current) return;
|
|
65
|
+
const url = canvasRef.current.toDataURL("image/png");
|
|
66
|
+
const a = document.createElement("a");
|
|
67
|
+
a.href = url;
|
|
68
|
+
a.download = `qrcode-${Date.now()}.png`;
|
|
69
|
+
a.click();
|
|
70
|
+
};
|
|
71
|
+
return /* @__PURE__ */ jsxs("div", { className: `rpc_qrcode_card ${className}`, style, children: [
|
|
72
|
+
/* @__PURE__ */ jsxs("div", { className: "rpc_qrcode_card_wrap", style: { width: size, height: size }, children: [
|
|
73
|
+
/* @__PURE__ */ jsx(
|
|
74
|
+
"canvas",
|
|
75
|
+
{
|
|
76
|
+
ref: canvasRef,
|
|
77
|
+
className: "rpc_qrcode_card_canvas",
|
|
78
|
+
style: { width: size, height: size }
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
icon && status === "active" && /* @__PURE__ */ jsx("img", { src: icon, alt: "Logo", className: "rpc_qrcode_card_logo" }),
|
|
82
|
+
status === "expired" && /* @__PURE__ */ jsxs("div", { className: "rpc_qrcode_card_mask", onClick: onRefresh, children: [
|
|
83
|
+
/* @__PURE__ */ jsx("span", { children: "\u4E8C\u7EF4\u7801\u5DF2\u5931\u6548" }),
|
|
84
|
+
/* @__PURE__ */ jsxs("button", { type: "button", className: "rpc_qrcode_card_refresh_btn", children: [
|
|
85
|
+
/* @__PURE__ */ jsx(ReloadOutlined, {}),
|
|
86
|
+
/* @__PURE__ */ jsx("span", { children: "\u70B9\u51FB\u5237\u65B0" })
|
|
87
|
+
] })
|
|
88
|
+
] }),
|
|
89
|
+
status === "loading" && /* @__PURE__ */ jsxs("div", { className: "rpc_qrcode_card_mask rpc_qrcode_card_mask_loading", children: [
|
|
90
|
+
/* @__PURE__ */ jsx(LoadingOutlined, { style: { fontSize: 28, color: "#1677ff" } }),
|
|
91
|
+
/* @__PURE__ */ jsx("span", { className: "rpc_qrcode_card_mask_text", children: "\u52A0\u8F7D\u4E2D..." })
|
|
92
|
+
] })
|
|
93
|
+
] }),
|
|
94
|
+
(title || description) && /* @__PURE__ */ jsxs("div", { className: "rpc_qrcode_card_info", children: [
|
|
95
|
+
title && /* @__PURE__ */ jsx("span", { className: "rpc_qrcode_card_title", children: title }),
|
|
96
|
+
description && /* @__PURE__ */ jsx("span", { className: "rpc_qrcode_card_description", children: description })
|
|
97
|
+
] }),
|
|
98
|
+
downloadable && status === "active" && /* @__PURE__ */ jsx("span", { className: "rpc_qrcode_card_download", onClick: handleDownload, children: "\u4E0B\u8F7D\u4E8C\u7EF4\u7801" })
|
|
99
|
+
] });
|
|
100
|
+
};
|
|
101
|
+
var QrCodeCard_default = QrCodeCard;
|
|
102
|
+
|
|
103
|
+
export { QrCodeCard_default };
|
|
104
|
+
//# sourceMappingURL=chunk-XOMV26WS.js.map
|
|
105
|
+
//# sourceMappingURL=chunk-XOMV26WS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../QrCodeCard/index.tsx"],"names":[],"mappings":"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","file":"chunk-XOMV26WS.js","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 ((r < 8 && c < 8) || (r < 8 && c >= modules - 8) || (r >= modules - 8 && c < 8)) {\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,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
// GradientText/index.tsx
|
|
6
|
+
var GradientText = ({
|
|
7
|
+
children,
|
|
8
|
+
gradient = "linear-gradient(90deg, #1677ff 0%, #722ed1 50%, #eb2f96 100%)",
|
|
9
|
+
animate = true,
|
|
10
|
+
speed = 4,
|
|
11
|
+
className = "",
|
|
12
|
+
style
|
|
13
|
+
}) => {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15
|
+
"span",
|
|
16
|
+
{
|
|
17
|
+
className: `rpc_gradient_text ${animate ? "rpc_gradient_text_animate" : ""} ${className}`,
|
|
18
|
+
style: {
|
|
19
|
+
backgroundImage: gradient,
|
|
20
|
+
animationDuration: `${speed}s`,
|
|
21
|
+
...style
|
|
22
|
+
},
|
|
23
|
+
children
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
var GradientText_default = GradientText;
|
|
28
|
+
|
|
29
|
+
exports.GradientText_default = GradientText_default;
|
|
30
|
+
//# sourceMappingURL=chunk-XWHITF5V.cjs.map
|
|
31
|
+
//# sourceMappingURL=chunk-XWHITF5V.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../GradientText/index.tsx"],"names":["jsx"],"mappings":";;;;;AAkBA,IAAM,eAA4C,CAAC;AAAA,EAClD,QAAA;AAAA,EACA,QAAA,GAAW,+DAAA;AAAA,EACX,OAAA,GAAU,IAAA;AAAA,EACV,KAAA,GAAQ,CAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,uBACCA,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACA,WAAW,CAAA,kBAAA,EAAqB,OAAA,GAAU,2BAAA,GAA8B,EAAE,IAAI,SAAS,CAAA,CAAA;AAAA,MACvF,KAAA,EAAO;AAAA,QACN,eAAA,EAAiB,QAAA;AAAA,QACjB,iBAAA,EAAmB,GAAG,KAAK,CAAA,CAAA,CAAA;AAAA,QAC3B,GAAG;AAAA,OACJ;AAAA,MAEC;AAAA;AAAA,GACF;AAEF,CAAA;AAEA,IAAO,oBAAA,GAAQ","file":"chunk-XWHITF5V.cjs","sourcesContent":["import React, { ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface GradientTextProps {\n\t/** 文字内容 */\n\tchildren: ReactNode;\n\t/** 渐变色定义,默认为 'linear-gradient(90deg, #1677ff 0%, #722ed1 50%, #eb2f96 100%)' */\n\tgradient?: string;\n\t/** 是否开启流光滚动动画,默认为 true */\n\tanimate?: boolean;\n\t/** 流光动画周期时间(秒),默认为 4 */\n\tspeed?: number;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst GradientText: React.FC<GradientTextProps> = ({\n\tchildren,\n\tgradient = 'linear-gradient(90deg, #1677ff 0%, #722ed1 50%, #eb2f96 100%)',\n\tanimate = true,\n\tspeed = 4,\n\tclassName = '',\n\tstyle,\n}) => {\n\treturn (\n\t\t<span\n\t\t\tclassName={`rpc_gradient_text ${animate ? 'rpc_gradient_text_animate' : ''} ${className}`}\n\t\t\tstyle={{\n\t\t\t\tbackgroundImage: gradient,\n\t\t\t\tanimationDuration: `${speed}s`,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</span>\n\t);\n};\n\nexport default GradientText;\n"]}
|