react-public-components 1.2.0 → 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.
- package/README.md +56 -20
- 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 +63 -0
- package/dist/CodeSnippet/index.css.map +1 -0
- package/dist/CodeSnippet/index.d.ts +14 -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 +10 -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-24ND5WB7.cjs +69 -0
- package/dist/chunk-24ND5WB7.cjs.map +1 -0
- package/dist/chunk-2ARM7X7A.js +44 -0
- package/dist/chunk-2ARM7X7A.js.map +1 -0
- package/dist/chunk-2ORGQ2IY.js +153 -0
- package/dist/chunk-2ORGQ2IY.js.map +1 -0
- package/dist/chunk-3JJP4D5L.js +92 -0
- package/dist/chunk-3JJP4D5L.js.map +1 -0
- package/dist/chunk-4DUMEO5E.cjs +107 -0
- package/dist/chunk-4DUMEO5E.cjs.map +1 -0
- package/dist/chunk-4GQ3X7MG.cjs +241 -0
- package/dist/chunk-4GQ3X7MG.cjs.map +1 -0
- package/dist/chunk-4IBF4R3H.cjs +66 -0
- package/dist/chunk-4IBF4R3H.cjs.map +1 -0
- package/dist/chunk-4MRZVLM6.cjs +103 -0
- package/dist/chunk-4MRZVLM6.cjs.map +1 -0
- package/dist/chunk-4VGH44DT.js +69 -0
- package/dist/chunk-4VGH44DT.js.map +1 -0
- package/dist/chunk-4YPT2HUD.cjs +61 -0
- package/dist/chunk-4YPT2HUD.cjs.map +1 -0
- package/dist/chunk-5G3XVLJF.js +71 -0
- package/dist/chunk-5G3XVLJF.js.map +1 -0
- package/dist/chunk-5GCEQDBM.cjs +99 -0
- package/dist/chunk-5GCEQDBM.cjs.map +1 -0
- package/dist/chunk-5GOF5EZU.cjs +87 -0
- package/dist/chunk-5GOF5EZU.cjs.map +1 -0
- package/dist/chunk-5LA2NPLG.cjs +81 -0
- package/dist/chunk-5LA2NPLG.cjs.map +1 -0
- package/dist/chunk-5MQCVYVD.js +33 -0
- package/dist/chunk-5MQCVYVD.js.map +1 -0
- package/dist/chunk-5NI6HK5V.js +159 -0
- package/dist/chunk-5NI6HK5V.js.map +1 -0
- package/dist/chunk-5WHBZH44.cjs +127 -0
- package/dist/chunk-5WHBZH44.cjs.map +1 -0
- package/dist/chunk-5YQVSOHK.js +44 -0
- package/dist/chunk-5YQVSOHK.js.map +1 -0
- package/dist/chunk-62NPVN7T.js +229 -0
- package/dist/chunk-62NPVN7T.js.map +1 -0
- package/dist/chunk-6OKTK3AQ.cjs +108 -0
- package/dist/chunk-6OKTK3AQ.cjs.map +1 -0
- package/dist/chunk-6TKNFV4B.js +53 -0
- package/dist/chunk-6TKNFV4B.js.map +1 -0
- package/dist/chunk-7AKHSOSZ.js +134 -0
- package/dist/chunk-7AKHSOSZ.js.map +1 -0
- package/dist/chunk-7JLQOQJZ.cjs +106 -0
- package/dist/chunk-7JLQOQJZ.cjs.map +1 -0
- package/dist/chunk-7JRGQL63.js +59 -0
- package/dist/chunk-7JRGQL63.js.map +1 -0
- package/dist/chunk-A4LXKZQ5.js +80 -0
- package/dist/chunk-A4LXKZQ5.js.map +1 -0
- package/dist/chunk-AIIXJB34.js +125 -0
- package/dist/chunk-AIIXJB34.js.map +1 -0
- package/dist/chunk-AJIIY2QT.cjs +161 -0
- package/dist/chunk-AJIIY2QT.cjs.map +1 -0
- package/dist/chunk-AVSFSS7S.cjs +924 -0
- package/dist/chunk-AVSFSS7S.cjs.map +1 -0
- package/dist/chunk-AXHJC7FV.js +106 -0
- package/dist/chunk-AXHJC7FV.js.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-BXFP7EAW.cjs +176 -0
- package/dist/chunk-BXFP7EAW.cjs.map +1 -0
- package/dist/chunk-C5B5Y4S2.cjs +292 -0
- package/dist/chunk-C5B5Y4S2.cjs.map +1 -0
- package/dist/chunk-D7ZE4NMX.cjs +30 -0
- package/dist/chunk-D7ZE4NMX.cjs.map +1 -0
- package/dist/chunk-DATPWEQK.cjs +73 -0
- package/dist/chunk-DATPWEQK.cjs.map +1 -0
- package/dist/chunk-DFHFXKR5.cjs +113 -0
- package/dist/chunk-DFHFXKR5.cjs.map +1 -0
- package/dist/chunk-DKTB6PKI.js +44 -0
- package/dist/chunk-DKTB6PKI.js.map +1 -0
- package/dist/chunk-DNRZCHZG.js +110 -0
- package/dist/chunk-DNRZCHZG.js.map +1 -0
- package/dist/chunk-EIFN6XMU.cjs +117 -0
- package/dist/chunk-EIFN6XMU.cjs.map +1 -0
- package/dist/chunk-EJNMH7ND.js +122 -0
- package/dist/chunk-EJNMH7ND.js.map +1 -0
- package/dist/chunk-ELI3LL3K.cjs +76 -0
- package/dist/chunk-ELI3LL3K.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-F36V2QTN.js +28 -0
- package/dist/chunk-F36V2QTN.js.map +1 -0
- package/dist/chunk-F42Z33L7.cjs +103 -0
- package/dist/chunk-F42Z33L7.cjs.map +1 -0
- package/dist/chunk-F5X3V6A3.cjs +55 -0
- package/dist/chunk-F5X3V6A3.cjs.map +1 -0
- package/dist/chunk-FBOTWA6O.cjs +97 -0
- package/dist/chunk-FBOTWA6O.cjs.map +1 -0
- package/dist/chunk-FRGH3Q75.cjs +159 -0
- package/dist/chunk-FRGH3Q75.cjs.map +1 -0
- package/dist/chunk-FWRVCH7T.js +37 -0
- package/dist/chunk-FWRVCH7T.js.map +1 -0
- package/dist/chunk-FYFL4PFD.cjs +69 -0
- package/dist/chunk-FYFL4PFD.cjs.map +1 -0
- package/dist/chunk-G564WB32.cjs +57 -0
- package/dist/chunk-G564WB32.cjs.map +1 -0
- package/dist/chunk-GCMI5JGQ.cjs +126 -0
- package/dist/chunk-GCMI5JGQ.cjs.map +1 -0
- package/dist/chunk-GZCNFM6C.js +234 -0
- package/dist/chunk-GZCNFM6C.js.map +1 -0
- package/dist/chunk-H3AASAXK.cjs +82 -0
- package/dist/chunk-H3AASAXK.cjs.map +1 -0
- package/dist/chunk-H5VPBP7U.js +115 -0
- package/dist/chunk-H5VPBP7U.js.map +1 -0
- package/dist/chunk-HQ65GEM7.js +127 -0
- package/dist/chunk-HQ65GEM7.js.map +1 -0
- package/dist/chunk-HSYTBMLN.cjs +44 -0
- package/dist/chunk-HSYTBMLN.cjs.map +1 -0
- package/dist/chunk-HTA5EG6X.cjs +625 -0
- package/dist/chunk-HTA5EG6X.cjs.map +1 -0
- package/dist/chunk-I3HBI52O.js +67 -0
- package/dist/chunk-I3HBI52O.js.map +1 -0
- package/dist/chunk-IECISUOZ.js +920 -0
- package/dist/chunk-IECISUOZ.js.map +1 -0
- package/dist/chunk-IRU5E252.cjs +65 -0
- package/dist/chunk-IRU5E252.cjs.map +1 -0
- package/dist/chunk-IUR7SPDA.js +322 -0
- package/dist/chunk-IUR7SPDA.js.map +1 -0
- package/dist/chunk-J3IKUWXD.js +102 -0
- package/dist/chunk-J3IKUWXD.js.map +1 -0
- package/dist/chunk-JD4TEUIV.js +47 -0
- package/dist/chunk-JD4TEUIV.js.map +1 -0
- package/dist/chunk-K3JC52JH.cjs +49 -0
- package/dist/chunk-K3JC52JH.cjs.map +1 -0
- package/dist/chunk-K5FWY6HB.cjs +129 -0
- package/dist/chunk-K5FWY6HB.cjs.map +1 -0
- package/dist/chunk-KBBLTGIU.js +73 -0
- package/dist/chunk-KBBLTGIU.js.map +1 -0
- package/dist/chunk-KCXXUUWC.js +47 -0
- package/dist/chunk-KCXXUUWC.js.map +1 -0
- package/dist/chunk-KUW2ZR2A.cjs +183 -0
- package/dist/chunk-KUW2ZR2A.cjs.map +1 -0
- package/dist/chunk-L7ULSFW6.cjs +35 -0
- package/dist/chunk-L7ULSFW6.cjs.map +1 -0
- package/dist/chunk-LBEGRYTP.js +219 -0
- package/dist/chunk-LBEGRYTP.js.map +1 -0
- package/dist/chunk-N7IQ6LYD.cjs +71 -0
- package/dist/chunk-N7IQ6LYD.cjs.map +1 -0
- package/dist/chunk-NCNDJTOK.js +101 -0
- package/dist/chunk-NCNDJTOK.js.map +1 -0
- package/dist/chunk-NFC2C2TD.js +181 -0
- package/dist/chunk-NFC2C2TD.js.map +1 -0
- package/dist/chunk-NMYXVZQP.cjs +121 -0
- package/dist/chunk-NMYXVZQP.cjs.map +1 -0
- package/dist/chunk-NNS4YN3C.js +42 -0
- package/dist/chunk-NNS4YN3C.js.map +1 -0
- package/dist/chunk-ODV3XF5W.cjs +71 -0
- package/dist/chunk-ODV3XF5W.cjs.map +1 -0
- package/dist/chunk-OJEZ3TKT.js +119 -0
- package/dist/chunk-OJEZ3TKT.js.map +1 -0
- package/dist/chunk-OYRX4AY6.js +159 -0
- package/dist/chunk-OYRX4AY6.js.map +1 -0
- package/dist/chunk-PBPGBVQQ.cjs +98 -0
- package/dist/chunk-PBPGBVQQ.cjs.map +1 -0
- package/dist/chunk-PIIJVF5D.cjs +108 -0
- package/dist/chunk-PIIJVF5D.cjs.map +1 -0
- package/dist/chunk-PMNTOEXC.js +97 -0
- package/dist/chunk-PMNTOEXC.js.map +1 -0
- package/dist/chunk-PVKBGP6Q.js +174 -0
- package/dist/chunk-PVKBGP6Q.js.map +1 -0
- package/dist/chunk-Q4QF6UYX.cjs +520 -0
- package/dist/chunk-Q4QF6UYX.cjs.map +1 -0
- package/dist/chunk-QI7XQDFZ.cjs +221 -0
- package/dist/chunk-QI7XQDFZ.cjs.map +1 -0
- package/dist/chunk-QKSCFVN2.js +96 -0
- package/dist/chunk-QKSCFVN2.js.map +1 -0
- package/dist/chunk-R77VVMV5.cjs +328 -0
- package/dist/chunk-R77VVMV5.cjs.map +1 -0
- package/dist/chunk-R7CRWOHG.js +101 -0
- package/dist/chunk-R7CRWOHG.js.map +1 -0
- package/dist/chunk-RIR43PO3.js +69 -0
- package/dist/chunk-RIR43PO3.js.map +1 -0
- package/dist/chunk-RTAQSOVE.cjs +161 -0
- package/dist/chunk-RTAQSOVE.cjs.map +1 -0
- package/dist/chunk-RWZSTG6Q.cjs +131 -0
- package/dist/chunk-RWZSTG6Q.cjs.map +1 -0
- package/dist/chunk-SMVAHIBN.cjs +46 -0
- package/dist/chunk-SMVAHIBN.cjs.map +1 -0
- package/dist/chunk-TGSKTHTV.js +494 -0
- package/dist/chunk-TGSKTHTV.js.map +1 -0
- package/dist/chunk-TNKJCJ3U.cjs +94 -0
- package/dist/chunk-TNKJCJ3U.cjs.map +1 -0
- package/dist/chunk-U2TTRBES.js +286 -0
- package/dist/chunk-U2TTRBES.js.map +1 -0
- package/dist/chunk-UT5UXO44.js +125 -0
- package/dist/chunk-UT5UXO44.js.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-VPHHGQWP.js +104 -0
- package/dist/chunk-VPHHGQWP.js.map +1 -0
- package/dist/chunk-VQKPZ4YE.cjs +251 -0
- package/dist/chunk-VQKPZ4YE.cjs.map +1 -0
- package/dist/chunk-VTANPKPT.js +71 -0
- package/dist/chunk-VTANPKPT.js.map +1 -0
- package/dist/chunk-W6BUNUQM.cjs +46 -0
- package/dist/chunk-W6BUNUQM.cjs.map +1 -0
- package/dist/chunk-WBN5SAY5.js +53 -0
- package/dist/chunk-WBN5SAY5.js.map +1 -0
- package/dist/chunk-WWL4VEPH.js +51 -0
- package/dist/chunk-WWL4VEPH.js.map +1 -0
- package/dist/chunk-WZ2GV4HA.js +49 -0
- package/dist/chunk-WZ2GV4HA.js.map +1 -0
- package/dist/chunk-X2F2DVMB.js +85 -0
- package/dist/chunk-X2F2DVMB.js.map +1 -0
- package/dist/chunk-X4MEHYWV.js +105 -0
- package/dist/chunk-X4MEHYWV.js.map +1 -0
- package/dist/chunk-X7EE5DXL.js +64 -0
- package/dist/chunk-X7EE5DXL.js.map +1 -0
- package/dist/chunk-XB3BT6BU.js +619 -0
- package/dist/chunk-XB3BT6BU.js.map +1 -0
- package/dist/chunk-XMBTKO5I.cjs +136 -0
- package/dist/chunk-XMBTKO5I.cjs.map +1 -0
- package/dist/chunk-XO6PBAAM.cjs +73 -0
- package/dist/chunk-XO6PBAAM.cjs.map +1 -0
- package/dist/chunk-XWHITF5V.cjs +31 -0
- package/dist/chunk-XWHITF5V.cjs.map +1 -0
- package/dist/chunk-XYJMP23P.cjs +159 -0
- package/dist/chunk-XYJMP23P.cjs.map +1 -0
- package/dist/chunk-Y7A3WQQN.js +79 -0
- package/dist/chunk-Y7A3WQQN.js.map +1 -0
- package/dist/chunk-YJESCN4Y.cjs +39 -0
- package/dist/chunk-YJESCN4Y.cjs.map +1 -0
- package/dist/chunk-YPVRTMX6.js +91 -0
- package/dist/chunk-YPVRTMX6.js.map +1 -0
- package/dist/chunk-YXTLWTY4.js +29 -0
- package/dist/chunk-YXTLWTY4.js.map +1 -0
- package/dist/chunk-Z5LFRNNJ.js +157 -0
- package/dist/chunk-Z5LFRNNJ.js.map +1 -0
- package/dist/chunk-ZAHKA2V2.js +106 -0
- package/dist/chunk-ZAHKA2V2.js.map +1 -0
- package/dist/chunk-ZFBLVX7E.cjs +51 -0
- package/dist/chunk-ZFBLVX7E.cjs.map +1 -0
- package/dist/chunk-ZGWBLJ6U.cjs +55 -0
- package/dist/chunk-ZGWBLJ6U.cjs.map +1 -0
- package/dist/chunk-ZLHNRKOQ.js +29 -0
- package/dist/chunk-ZLHNRKOQ.js.map +1 -0
- package/dist/chunk-ZQBEQK2I.cjs +231 -0
- package/dist/chunk-ZQBEQK2I.cjs.map +1 -0
- package/dist/chunk-ZSK74QFN.cjs +49 -0
- package/dist/chunk-ZSK74QFN.cjs.map +1 -0
- package/dist/index.cjs +334 -8233
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +36 -187
- package/dist/index.css.map +1 -1
- package/dist/index.js +63 -8155
- 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 -1704
- package/dist/index.d.ts +0 -1704
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// BorderBeam/index.tsx
|
|
4
|
+
var formatSizeUnit = (value, defaultValue) => {
|
|
5
|
+
if (value === void 0 || value === null) {
|
|
6
|
+
return defaultValue;
|
|
7
|
+
}
|
|
8
|
+
if (typeof value === "number") {
|
|
9
|
+
return `${value}px`;
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
};
|
|
13
|
+
var buildGradientString = (color) => {
|
|
14
|
+
if (!color) {
|
|
15
|
+
return "linear-gradient(to left, #1677ff 0%, transparent 100%)";
|
|
16
|
+
}
|
|
17
|
+
if (typeof color === "string") {
|
|
18
|
+
return `linear-gradient(to left, ${color} 0%, transparent 100%)`;
|
|
19
|
+
}
|
|
20
|
+
if (Array.isArray(color)) {
|
|
21
|
+
if (color.length === 0) {
|
|
22
|
+
return "linear-gradient(to left, #1677ff 0%, transparent 100%)";
|
|
23
|
+
}
|
|
24
|
+
const sorted = [...color].sort((a, b) => a.percent - b.percent);
|
|
25
|
+
const mappedStops = sorted.map((stop) => {
|
|
26
|
+
const mappedPercent = Math.min(Math.max(stop.percent / 100 * 80, 0), 80);
|
|
27
|
+
return `${stop.color} ${mappedPercent.toFixed(2)}%`;
|
|
28
|
+
});
|
|
29
|
+
return `linear-gradient(to left, ${mappedStops.join(", ")}, transparent 100%)`;
|
|
30
|
+
}
|
|
31
|
+
return "linear-gradient(to left, #1677ff 0%, transparent 100%)";
|
|
32
|
+
};
|
|
33
|
+
var BorderBeam = (props) => {
|
|
34
|
+
const {
|
|
35
|
+
children,
|
|
36
|
+
color,
|
|
37
|
+
count = 1,
|
|
38
|
+
duration = 6,
|
|
39
|
+
lineWidth = "1px",
|
|
40
|
+
outset = "0px",
|
|
41
|
+
size = 100,
|
|
42
|
+
className,
|
|
43
|
+
style,
|
|
44
|
+
...restProps
|
|
45
|
+
} = props;
|
|
46
|
+
const formattedLineWidth = formatSizeUnit(lineWidth, "1px");
|
|
47
|
+
const formattedOutset = formatSizeUnit(outset, "0px");
|
|
48
|
+
const formattedSize = formatSizeUnit(size, "100px");
|
|
49
|
+
const gradientCss = buildGradientString(color);
|
|
50
|
+
const maskStyle = {
|
|
51
|
+
"--border-beam-line-width": formattedLineWidth,
|
|
52
|
+
"--border-beam-outset": formattedOutset,
|
|
53
|
+
"--border-beam-size": formattedSize,
|
|
54
|
+
"--border-beam-duration": `${duration}s`,
|
|
55
|
+
"--border-beam-gradient": gradientCss
|
|
56
|
+
};
|
|
57
|
+
const beamCount = Math.max(1, count);
|
|
58
|
+
const beams = Array.from({ length: beamCount }).map((_, index) => {
|
|
59
|
+
const delaySeconds = -(duration * index / beamCount);
|
|
60
|
+
return /* @__PURE__ */ jsx(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
className: "react-public-border-beam-item",
|
|
64
|
+
style: {
|
|
65
|
+
animationDelay: `${delaySeconds}s`
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
index
|
|
69
|
+
);
|
|
70
|
+
});
|
|
71
|
+
if (children !== void 0) {
|
|
72
|
+
return /* @__PURE__ */ jsxs(
|
|
73
|
+
"div",
|
|
74
|
+
{
|
|
75
|
+
className: `react-public-border-beam-container ${className || ""}`.trim(),
|
|
76
|
+
style,
|
|
77
|
+
...restProps,
|
|
78
|
+
children: [
|
|
79
|
+
children,
|
|
80
|
+
/* @__PURE__ */ jsx("div", { className: "react-public-border-beam-mask", style: maskStyle, children: beams })
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
return /* @__PURE__ */ jsx(
|
|
86
|
+
"div",
|
|
87
|
+
{
|
|
88
|
+
className: `react-public-border-beam-mask ${className || ""}`.trim(),
|
|
89
|
+
style: {
|
|
90
|
+
...maskStyle,
|
|
91
|
+
...style
|
|
92
|
+
},
|
|
93
|
+
...restProps,
|
|
94
|
+
children: beams
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
};
|
|
98
|
+
var BorderBeam_default = BorderBeam;
|
|
99
|
+
|
|
100
|
+
export { BorderBeam_default };
|
|
101
|
+
//# sourceMappingURL=chunk-J3IKUWXD.js.map
|
|
102
|
+
//# sourceMappingURL=chunk-J3IKUWXD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../BorderBeam/index.tsx"],"names":[],"mappings":"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","file":"chunk-J3IKUWXD.js","sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode } from 'react';\nimport './index.less';\n\nexport type BorderBeamColorStop = {\n\tcolor: string;\n\tpercent: number;\n};\n\nexport interface BorderBeamProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {\n\t/** 装饰内容 */\n\tchildren?: ReactNode;\n\t/** 流光颜色配置,支持单色字符串或渐变停靠点数组 */\n\tcolor?: string | BorderBeamColorStop[];\n\t/** 流光数量,默认为 1 */\n\tcount?: number;\n\t/** 流光完成一圈动画的时间,单位秒,默认为 6 */\n\tduration?: number;\n\t/** 流光线宽,数字类型按像素处理,默认为 1px */\n\tlineWidth?: number | string;\n\t/** 流光层相对容器边缘的外扩距离,遇到裁剪容器时可设为 0 */\n\toutset?: number | string;\n\t/** 流光可见段的尺寸,数字类型按像素处理,默认为 100 */\n\tsize?: number | string;\n}\n\nconst formatSizeUnit = (value: number | string | undefined, defaultValue: string): string => {\n\tif (value === undefined || value === null) {\n\t\treturn defaultValue;\n\t}\n\tif (typeof value === 'number') {\n\t\treturn `${value}px`;\n\t}\n\treturn value;\n};\n\nconst buildGradientString = (color?: string | BorderBeamColorStop[]): string => {\n\tif (!color) {\n\t\treturn 'linear-gradient(to left, #1677ff 0%, transparent 100%)';\n\t}\n\tif (typeof color === 'string') {\n\t\treturn `linear-gradient(to left, ${color} 0%, transparent 100%)`;\n\t}\n\tif (Array.isArray(color)) {\n\t\tif (color.length === 0) {\n\t\t\treturn 'linear-gradient(to left, #1677ff 0%, transparent 100%)';\n\t\t}\n\t\tconst sorted = [...color].sort((a, b) => a.percent - b.percent);\n\t\tconst mappedStops = sorted.map((stop) => {\n\t\t\tconst mappedPercent = Math.min(Math.max((stop.percent / 100) * 80, 0), 80);\n\t\t\treturn `${stop.color} ${mappedPercent.toFixed(2)}%`;\n\t\t});\n\t\treturn `linear-gradient(to left, ${mappedStops.join(', ')}, transparent 100%)`;\n\t}\n\treturn 'linear-gradient(to left, #1677ff 0%, transparent 100%)';\n};\n\nconst BorderBeam = (props: BorderBeamProps) => {\n\tconst {\n\t\tchildren,\n\t\tcolor,\n\t\tcount = 1,\n\t\tduration = 6,\n\t\tlineWidth = '1px',\n\t\toutset = '0px',\n\t\tsize = 100,\n\t\tclassName,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst formattedLineWidth = formatSizeUnit(lineWidth, '1px');\n\tconst formattedOutset = formatSizeUnit(outset, '0px');\n\tconst formattedSize = formatSizeUnit(size, '100px');\n\tconst gradientCss = buildGradientString(color);\n\n\tconst maskStyle: CSSProperties = {\n\t\t'--border-beam-line-width': formattedLineWidth,\n\t\t'--border-beam-outset': formattedOutset,\n\t\t'--border-beam-size': formattedSize,\n\t\t'--border-beam-duration': `${duration}s`,\n\t\t'--border-beam-gradient': gradientCss,\n\t} as CSSProperties;\n\n\tconst beamCount = Math.max(1, count);\n\tconst beams = Array.from({ length: beamCount }).map((_, index) => {\n\t\tconst delaySeconds = -((duration * index) / beamCount);\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={index}\n\t\t\t\tclassName=\"react-public-border-beam-item\"\n\t\t\t\tstyle={{\n\t\t\t\t\tanimationDelay: `${delaySeconds}s`,\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t});\n\n\tif (children !== undefined) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`react-public-border-beam-container ${className || ''}`.trim()}\n\t\t\t\tstyle={style}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t<div className=\"react-public-border-beam-mask\" style={maskStyle}>\n\t\t\t\t\t{beams}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={`react-public-border-beam-mask ${className || ''}`.trim()}\n\t\t\tstyle={{\n\t\t\t\t...maskStyle,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{beams}\n\t\t</div>\n\t);\n};\n\nexport default BorderBeam;\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// StatusTimeline/index.tsx
|
|
4
|
+
var statusIcons = {
|
|
5
|
+
finish: "\u2713",
|
|
6
|
+
process: "\u25CF",
|
|
7
|
+
error: "\u2715",
|
|
8
|
+
wait: "\u25CB"
|
|
9
|
+
};
|
|
10
|
+
var StatusTimeline = ({
|
|
11
|
+
items = [],
|
|
12
|
+
className = "",
|
|
13
|
+
style
|
|
14
|
+
}) => {
|
|
15
|
+
return /* @__PURE__ */ jsx("div", { className: `rpc_status_timeline ${className}`, style, children: items.map((item, idx) => {
|
|
16
|
+
const status = item.status || "finish";
|
|
17
|
+
return /* @__PURE__ */ jsxs("div", { className: "rpc_status_timeline_item", children: [
|
|
18
|
+
/* @__PURE__ */ jsxs("div", { className: "rpc_status_timeline_axis", children: [
|
|
19
|
+
/* @__PURE__ */ jsx("div", { className: `rpc_status_timeline_dot rpc_status_timeline_dot_${status}`, children: statusIcons[status] }),
|
|
20
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_status_timeline_line" })
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ jsxs("div", { className: "rpc_status_timeline_content", children: [
|
|
23
|
+
/* @__PURE__ */ jsxs("div", { className: "rpc_status_timeline_header", children: [
|
|
24
|
+
/* @__PURE__ */ jsx("span", { className: "rpc_status_timeline_title", children: item.title }),
|
|
25
|
+
item.time && /* @__PURE__ */ jsx("span", { className: "rpc_status_timeline_time", children: item.time })
|
|
26
|
+
] }),
|
|
27
|
+
item.operator && /* @__PURE__ */ jsxs("div", { className: "rpc_status_timeline_operator", children: [
|
|
28
|
+
item.operator.avatar && /* @__PURE__ */ jsx("span", { children: item.operator.avatar }),
|
|
29
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
30
|
+
"\u7ECF\u529E\u4EBA\uFF1A",
|
|
31
|
+
item.operator.name
|
|
32
|
+
] })
|
|
33
|
+
] }),
|
|
34
|
+
item.duration && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("span", { className: "rpc_status_timeline_duration", children: [
|
|
35
|
+
"\u8017\u65F6\uFF1A",
|
|
36
|
+
item.duration
|
|
37
|
+
] }) }),
|
|
38
|
+
item.description && /* @__PURE__ */ jsx("div", { className: "rpc_status_timeline_desc", children: item.description })
|
|
39
|
+
] })
|
|
40
|
+
] }, idx);
|
|
41
|
+
}) });
|
|
42
|
+
};
|
|
43
|
+
var StatusTimeline_default = StatusTimeline;
|
|
44
|
+
|
|
45
|
+
export { StatusTimeline_default };
|
|
46
|
+
//# sourceMappingURL=chunk-JD4TEUIV.js.map
|
|
47
|
+
//# sourceMappingURL=chunk-JD4TEUIV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../StatusTimeline/index.tsx"],"names":[],"mappings":";;;AA4BA,IAAM,WAAA,GAA8C;AAAA,EACnD,MAAA,EAAQ,QAAA;AAAA,EACR,OAAA,EAAS,QAAA;AAAA,EACT,KAAA,EAAO,QAAA;AAAA,EACP,IAAA,EAAM;AACP,CAAA;AAEA,IAAM,iBAAgD,CAAC;AAAA,EACtD,QAAQ,EAAC;AAAA,EACT,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,uBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,oBAAA,EAAuB,SAAS,CAAA,CAAA,EAAI,KAAA,EAClD,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,GAAA,KAAQ;AACzB,IAAA,MAAM,MAAA,GAAS,KAAK,MAAA,IAAU,QAAA;AAE9B,IAAA,uBACC,IAAA,CAAC,KAAA,EAAA,EAAc,SAAA,EAAU,0BAAA,EAExB,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,0BAAA,EACd,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAI,SAAA,EAAW,CAAA,gDAAA,EAAmD,MAAM,CAAA,CAAA,EACvE,QAAA,EAAA,WAAA,CAAY,MAAM,CAAA,EACpB,CAAA;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0BAAA,EAA2B;AAAA,OAAA,EAC3C,CAAA;AAAA,sBAGA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,6BAAA,EACd,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,4BAAA,EACd,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,2BAAA,EAA6B,QAAA,EAAA,IAAA,CAAK,KAAA,EAAM,CAAA;AAAA,UACvD,KAAK,IAAA,oBAAQ,GAAA,CAAC,UAAK,SAAA,EAAU,0BAAA,EAA4B,eAAK,IAAA,EAAK;AAAA,SAAA,EACrE,CAAA;AAAA,QAEC,IAAA,CAAK,QAAA,oBACL,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,8BAAA,EACb,QAAA,EAAA;AAAA,UAAA,IAAA,CAAK,SAAS,MAAA,oBAAU,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,IAAA,CAAK,SAAS,MAAA,EAAO,CAAA;AAAA,+BACpD,MAAA,EAAA,EAAK,QAAA,EAAA;AAAA,YAAA,0BAAA;AAAA,YAAK,KAAK,QAAA,CAAS;AAAA,WAAA,EAAK;AAAA,SAAA,EAC/B,CAAA;AAAA,QAGA,KAAK,QAAA,oBACL,GAAA,CAAC,SACA,QAAA,kBAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,8BAAA,EAA+B,QAAA,EAAA;AAAA,UAAA,oBAAA;AAAA,UAAI,IAAA,CAAK;AAAA,SAAA,EAAS,CAAA,EAClE,CAAA;AAAA,QAGA,KAAK,WAAA,oBACL,GAAA,CAAC,SAAI,SAAA,EAAU,0BAAA,EAA4B,eAAK,WAAA,EAAY;AAAA,OAAA,EAE9D;AAAA,KAAA,EAAA,EAhCS,GAiCV,CAAA;AAAA,EAEF,CAAC,CAAA,EACF,CAAA;AAEF,CAAA;AAEA,IAAO,sBAAA,GAAQ","file":"chunk-JD4TEUIV.js","sourcesContent":["import React, { ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type TimelineStatus = 'finish' | 'process' | 'error' | 'wait';\n\nexport interface TimelineOperator {\n\tname: string;\n\tavatar?: ReactNode;\n}\n\nexport interface StatusTimelineItem {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\ttime?: string;\n\tduration?: string;\n\tstatus?: TimelineStatus;\n\toperator?: TimelineOperator;\n}\n\nexport interface StatusTimelineProps {\n\t/** 时间轴节点列表 */\n\titems: StatusTimelineItem[];\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst statusIcons: Record<TimelineStatus, string> = {\n\tfinish: '✓',\n\tprocess: '●',\n\terror: '✕',\n\twait: '○',\n};\n\nconst StatusTimeline: React.FC<StatusTimelineProps> = ({\n\titems = [],\n\tclassName = '',\n\tstyle,\n}) => {\n\treturn (\n\t\t<div className={`rpc_status_timeline ${className}`} style={style}>\n\t\t\t{items.map((item, idx) => {\n\t\t\t\tconst status = item.status || 'finish';\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={idx} className=\"rpc_status_timeline_item\">\n\t\t\t\t\t\t{/* 轴线与节点 */}\n\t\t\t\t\t\t<div className=\"rpc_status_timeline_axis\">\n\t\t\t\t\t\t\t<div className={`rpc_status_timeline_dot rpc_status_timeline_dot_${status}`}>\n\t\t\t\t\t\t\t\t{statusIcons[status]}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"rpc_status_timeline_line\" />\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* 节点内容 */}\n\t\t\t\t\t\t<div className=\"rpc_status_timeline_content\">\n\t\t\t\t\t\t\t<div className=\"rpc_status_timeline_header\">\n\t\t\t\t\t\t\t\t<span className=\"rpc_status_timeline_title\">{item.title}</span>\n\t\t\t\t\t\t\t\t{item.time && <span className=\"rpc_status_timeline_time\">{item.time}</span>}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{item.operator && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_status_timeline_operator\">\n\t\t\t\t\t\t\t\t\t{item.operator.avatar && <span>{item.operator.avatar}</span>}\n\t\t\t\t\t\t\t\t\t<span>经办人:{item.operator.name}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{item.duration && (\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<span className=\"rpc_status_timeline_duration\">耗时:{item.duration}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{item.description && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_status_timeline_desc\">{item.description}</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nexport default StatusTimeline;\n"]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
// ShimmerSkeleton/index.tsx
|
|
6
|
+
var ShimmerSkeleton = ({
|
|
7
|
+
type = "card",
|
|
8
|
+
rows = 3,
|
|
9
|
+
loading = true,
|
|
10
|
+
children,
|
|
11
|
+
className = "",
|
|
12
|
+
style
|
|
13
|
+
}) => {
|
|
14
|
+
if (!loading && children) {
|
|
15
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
16
|
+
}
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_shimmer_skeleton ${className}`, style, children: [
|
|
18
|
+
type === "avatar" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_avatar" }),
|
|
19
|
+
type === "text" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
20
|
+
"div",
|
|
21
|
+
{
|
|
22
|
+
className: "rpc_shimmer_skeleton_bar",
|
|
23
|
+
style: {
|
|
24
|
+
height: 16,
|
|
25
|
+
width: i === rows - 1 ? "60%" : "100%"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
i
|
|
29
|
+
)) }),
|
|
30
|
+
type === "card" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_shimmer_skeleton_card", children: [
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 160, width: "100%" } }),
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 20, width: "70%" } }),
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 14, width: "90%" } }),
|
|
34
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 14, width: "40%" } })
|
|
35
|
+
] }),
|
|
36
|
+
type === "list" && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column" }, children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_shimmer_skeleton_list_item", children: [
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_avatar", style: { width: 40, height: 40 } }),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 16, width: "50%" } }),
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 12, width: "80%" } })
|
|
41
|
+
] })
|
|
42
|
+
] }, i)) })
|
|
43
|
+
] });
|
|
44
|
+
};
|
|
45
|
+
var ShimmerSkeleton_default = ShimmerSkeleton;
|
|
46
|
+
|
|
47
|
+
exports.ShimmerSkeleton_default = ShimmerSkeleton_default;
|
|
48
|
+
//# sourceMappingURL=chunk-K3JC52JH.cjs.map
|
|
49
|
+
//# sourceMappingURL=chunk-K3JC52JH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../ShimmerSkeleton/index.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"chunk-K3JC52JH.cjs","sourcesContent":["import React, { ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type SkeletonType = 'text' | 'card' | 'list' | 'avatar';\n\nexport interface ShimmerSkeletonProps {\n\t/** 骨架类型:'text' 文本,'card' 卡片,'list' 列表,'avatar' 头像,默认为 'card' */\n\ttype?: SkeletonType;\n\t/** 文本骨架行数,默认为 3 */\n\trows?: number;\n\t/** 是否处于加载中状态,为 false 时渲染 children,默认为 true */\n\tloading?: boolean;\n\t/** 加载完成后的子元素内容 */\n\tchildren?: ReactNode;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst ShimmerSkeleton: React.FC<ShimmerSkeletonProps> = ({\n\ttype = 'card',\n\trows = 3,\n\tloading = true,\n\tchildren,\n\tclassName = '',\n\tstyle,\n}) => {\n\tif (!loading && children) {\n\t\treturn <>{children}</>;\n\t}\n\n\treturn (\n\t\t<div className={`rpc_shimmer_skeleton ${className}`} style={style}>\n\t\t\t{type === 'avatar' && <div className=\"rpc_shimmer_skeleton_avatar\" />}\n\n\t\t\t{type === 'text' && (\n\t\t\t\t<div style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>\n\t\t\t\t\t{Array.from({ length: rows }).map((_, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tclassName=\"rpc_shimmer_skeleton_bar\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\t\t\twidth: i === rows - 1 ? '60%' : '100%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{type === 'card' && (\n\t\t\t\t<div className=\"rpc_shimmer_skeleton_card\">\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 160, width: '100%' }} />\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 20, width: '70%' }} />\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 14, width: '90%' }} />\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 14, width: '40%' }} />\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{type === 'list' && (\n\t\t\t\t<div style={{ display: 'flex', flexDirection: 'column' }}>\n\t\t\t\t\t{Array.from({ length: rows }).map((_, i) => (\n\t\t\t\t\t\t<div key={i} className=\"rpc_shimmer_skeleton_list_item\">\n\t\t\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_avatar\" style={{ width: 40, height: 40 }} />\n\t\t\t\t\t\t\t<div style={{ flex: 1, display: 'flex', flexDirection: 'column', gap: 8 }}>\n\t\t\t\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 16, width: '50%' }} />\n\t\t\t\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 12, width: '80%' }} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\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 ShimmerSkeleton;\n"]}
|
|
@@ -0,0 +1,129 @@
|
|
|
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 formatTime(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 speedOptions = [1, 1.25, 1.5, 2];
|
|
14
|
+
var AudioPlayer = ({
|
|
15
|
+
src,
|
|
16
|
+
title,
|
|
17
|
+
defaultPlaybackRate = 1,
|
|
18
|
+
showDownload = true,
|
|
19
|
+
className = "",
|
|
20
|
+
style
|
|
21
|
+
}) => {
|
|
22
|
+
const audioRef = react.useRef(null);
|
|
23
|
+
const progressRef = react.useRef(null);
|
|
24
|
+
const [isPlaying, setIsPlaying] = react.useState(false);
|
|
25
|
+
const [currentTime, setCurrentTime] = react.useState(0);
|
|
26
|
+
const [duration, setDuration] = react.useState(0);
|
|
27
|
+
const [speedIndex, setSpeedIndex] = react.useState(
|
|
28
|
+
Math.max(0, speedOptions.indexOf(defaultPlaybackRate))
|
|
29
|
+
);
|
|
30
|
+
const currentSpeed = speedOptions[speedIndex] || 1;
|
|
31
|
+
const togglePlay = () => {
|
|
32
|
+
const audio = audioRef.current;
|
|
33
|
+
if (!audio) return;
|
|
34
|
+
if (isPlaying) {
|
|
35
|
+
audio.pause();
|
|
36
|
+
setIsPlaying(false);
|
|
37
|
+
} else {
|
|
38
|
+
audio.play();
|
|
39
|
+
setIsPlaying(true);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const handleTimeUpdate = () => {
|
|
43
|
+
if (audioRef.current) {
|
|
44
|
+
setCurrentTime(audioRef.current.currentTime);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const handleLoadedMetadata = () => {
|
|
48
|
+
if (audioRef.current) {
|
|
49
|
+
setDuration(audioRef.current.duration);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const handleSpeedCycle = () => {
|
|
53
|
+
const nextIndex = (speedIndex + 1) % speedOptions.length;
|
|
54
|
+
setSpeedIndex(nextIndex);
|
|
55
|
+
if (audioRef.current) {
|
|
56
|
+
audioRef.current.playbackRate = speedOptions[nextIndex];
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const handleSeek = (e) => {
|
|
60
|
+
if (!progressRef.current || !audioRef.current || !duration) return;
|
|
61
|
+
const rect = progressRef.current.getBoundingClientRect();
|
|
62
|
+
const percent = Math.min(1, Math.max(0, (e.clientX - rect.left) / rect.width));
|
|
63
|
+
const targetTime = percent * duration;
|
|
64
|
+
audioRef.current.currentTime = targetTime;
|
|
65
|
+
setCurrentTime(targetTime);
|
|
66
|
+
};
|
|
67
|
+
const progressPercent = duration > 0 ? currentTime / duration * 100 : 0;
|
|
68
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_audio_player ${className}`, style, children: [
|
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
70
|
+
"audio",
|
|
71
|
+
{
|
|
72
|
+
ref: audioRef,
|
|
73
|
+
src,
|
|
74
|
+
onTimeUpdate: handleTimeUpdate,
|
|
75
|
+
onLoadedMetadata: handleLoadedMetadata,
|
|
76
|
+
onEnded: () => setIsPlaying(false)
|
|
77
|
+
}
|
|
78
|
+
),
|
|
79
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_audio_player_play_btn", onClick: togglePlay, children: isPlaying ? /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.PauseCircleOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.PlayCircleOutlined, {}) }),
|
|
80
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_audio_player_info", children: [
|
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_audio_player_title_row", children: [
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "rpc_audio_player_title", children: title || "\u97F3\u9891\u64AD\u653E" }),
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "rpc_audio_player_time", children: [
|
|
84
|
+
formatTime(currentTime),
|
|
85
|
+
" / ",
|
|
86
|
+
formatTime(duration)
|
|
87
|
+
] })
|
|
88
|
+
] }),
|
|
89
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { ref: progressRef, className: "rpc_audio_player_progress_bar", onClick: handleSeek, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
className: "rpc_audio_player_progress_fill",
|
|
93
|
+
style: { width: `${progressPercent}%` }
|
|
94
|
+
}
|
|
95
|
+
) })
|
|
96
|
+
] }),
|
|
97
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_audio_player_extra", children: [
|
|
98
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
99
|
+
"button",
|
|
100
|
+
{
|
|
101
|
+
type: "button",
|
|
102
|
+
className: "rpc_audio_player_speed_btn",
|
|
103
|
+
onClick: handleSpeedCycle,
|
|
104
|
+
title: "\u70B9\u51FB\u5207\u6362\u64AD\u653E\u500D\u901F",
|
|
105
|
+
children: [
|
|
106
|
+
currentSpeed,
|
|
107
|
+
"x"
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
),
|
|
111
|
+
showDownload && /* @__PURE__ */ jsxRuntime.jsx(
|
|
112
|
+
"a",
|
|
113
|
+
{
|
|
114
|
+
href: src,
|
|
115
|
+
download: true,
|
|
116
|
+
className: "rpc_audio_player_download_btn",
|
|
117
|
+
title: "\u4E0B\u8F7D\u97F3\u9891\u6587\u4EF6",
|
|
118
|
+
onClick: (e) => e.stopPropagation(),
|
|
119
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkQ4QF6UYX_cjs.DownloadOutlined, {})
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
] })
|
|
123
|
+
] });
|
|
124
|
+
};
|
|
125
|
+
var AudioPlayer_default = AudioPlayer;
|
|
126
|
+
|
|
127
|
+
exports.AudioPlayer_default = AudioPlayer_default;
|
|
128
|
+
//# sourceMappingURL=chunk-K5FWY6HB.cjs.map
|
|
129
|
+
//# sourceMappingURL=chunk-K5FWY6HB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../AudioPlayer/index.tsx"],"names":["useRef","useState","jsx","PauseCircleOutlined","PlayCircleOutlined","jsxs","DownloadOutlined"],"mappings":"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","file":"chunk-K5FWY6HB.cjs","sourcesContent":["import React, { useState, useRef, useEffect, ReactNode, CSSProperties } from 'react';\nimport { PlayCircleOutlined, PauseCircleOutlined, DownloadOutlined } from '../src/icons';\nimport './index.less';\n\nexport interface AudioPlayerProps {\n\t/** 音频资源地址 */\n\tsrc: string;\n\t/** 音频标题或文件名 */\n\ttitle?: ReactNode;\n\t/** 默认倍速,默认为 1 */\n\tdefaultPlaybackRate?: number;\n\t/** 是否显示下载按钮,默认为 true */\n\tshowDownload?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nfunction formatTime(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 speedOptions = [1.0, 1.25, 1.5, 2.0];\n\nconst AudioPlayer: React.FC<AudioPlayerProps> = ({\n\tsrc,\n\ttitle,\n\tdefaultPlaybackRate = 1.0,\n\tshowDownload = true,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst audioRef = useRef<HTMLAudioElement>(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>(\n\t\tMath.max(0, speedOptions.indexOf(defaultPlaybackRate)),\n\t);\n\n\tconst currentSpeed = speedOptions[speedIndex] || 1.0;\n\n\t// 播放 / 暂停切换\n\tconst togglePlay = () => {\n\t\tconst audio = audioRef.current;\n\t\tif (!audio) return;\n\t\tif (isPlaying) {\n\t\t\taudio.pause();\n\t\t\tsetIsPlaying(false);\n\t\t} else {\n\t\t\taudio.play();\n\t\t\tsetIsPlaying(true);\n\t\t}\n\t};\n\n\t// 监听时间更新\n\tconst handleTimeUpdate = () => {\n\t\tif (audioRef.current) {\n\t\t\tsetCurrentTime(audioRef.current.currentTime);\n\t\t}\n\t};\n\n\t// 监听时长加载\n\tconst handleLoadedMetadata = () => {\n\t\tif (audioRef.current) {\n\t\t\tsetDuration(audioRef.current.duration);\n\t\t}\n\t};\n\n\t// 切换倍速\n\tconst handleSpeedCycle = () => {\n\t\tconst nextIndex = (speedIndex + 1) % speedOptions.length;\n\t\tsetSpeedIndex(nextIndex);\n\t\tif (audioRef.current) {\n\t\t\taudioRef.current.playbackRate = speedOptions[nextIndex];\n\t\t}\n\t};\n\n\t// 拖拽进度条 Seek\n\tconst handleSeek = (e: React.MouseEvent<HTMLDivElement>) => {\n\t\tif (!progressRef.current || !audioRef.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 targetTime = percent * duration;\n\t\taudioRef.current.currentTime = targetTime;\n\t\tsetCurrentTime(targetTime);\n\t};\n\n\tconst progressPercent = duration > 0 ? (currentTime / duration) * 100 : 0;\n\n\treturn (\n\t\t<div className={`rpc_audio_player ${className}`} style={style}>\n\t\t\t<audio\n\t\t\t\tref={audioRef}\n\t\t\t\tsrc={src}\n\t\t\t\tonTimeUpdate={handleTimeUpdate}\n\t\t\t\tonLoadedMetadata={handleLoadedMetadata}\n\t\t\t\tonEnded={() => setIsPlaying(false)}\n\t\t\t/>\n\n\t\t\t{/* 播放 / 暂停按钮 */}\n\t\t\t<div className=\"rpc_audio_player_play_btn\" onClick={togglePlay}>\n\t\t\t\t{isPlaying ? <PauseCircleOutlined /> : <PlayCircleOutlined />}\n\t\t\t</div>\n\n\t\t\t{/* 信息与进度条 */}\n\t\t\t<div className=\"rpc_audio_player_info\">\n\t\t\t\t<div className=\"rpc_audio_player_title_row\">\n\t\t\t\t\t<span className=\"rpc_audio_player_title\">{title || '音频播放'}</span>\n\t\t\t\t\t<span className=\"rpc_audio_player_time\">\n\t\t\t\t\t\t{formatTime(currentTime)} / {formatTime(duration)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\n\t\t\t\t<div ref={progressRef} className=\"rpc_audio_player_progress_bar\" onClick={handleSeek}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"rpc_audio_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\t\t\t</div>\n\n\t\t\t{/* 倍速与下载 */}\n\t\t\t<div className=\"rpc_audio_player_extra\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName=\"rpc_audio_player_speed_btn\"\n\t\t\t\t\tonClick={handleSpeedCycle}\n\t\t\t\t\ttitle=\"点击切换播放倍速\"\n\t\t\t\t>\n\t\t\t\t\t{currentSpeed}x\n\t\t\t\t</button>\n\n\t\t\t\t{showDownload && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={src}\n\t\t\t\t\t\tdownload\n\t\t\t\t\t\tclassName=\"rpc_audio_player_download_btn\"\n\t\t\t\t\t\ttitle=\"下载音频文件\"\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DownloadOutlined />\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default AudioPlayer;\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CopyButton_default } from './chunk-UT5UXO44.js';
|
|
2
|
+
import { EyeOutlined, EyeInvisibleOutlined } from './chunk-TGSKTHTV.js';
|
|
3
|
+
import { useState, useMemo } from 'react';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function maskSensitiveText(raw, type = "phone", maskSymbol = "*", startCount, endCount) {
|
|
7
|
+
if (!raw) return "";
|
|
8
|
+
switch (type) {
|
|
9
|
+
case "phone":
|
|
10
|
+
if (raw.length <= 7) return raw;
|
|
11
|
+
return raw.slice(0, 3) + maskSymbol.repeat(4) + raw.slice(-4);
|
|
12
|
+
case "idcard":
|
|
13
|
+
if (raw.length <= 10) return raw;
|
|
14
|
+
return raw.slice(0, 6) + maskSymbol.repeat(Math.max(1, raw.length - 10)) + raw.slice(-4);
|
|
15
|
+
case "bankcard":
|
|
16
|
+
if (raw.length <= 8) return raw;
|
|
17
|
+
return raw.slice(0, 4) + " " + maskSymbol.repeat(4) + " " + maskSymbol.repeat(4) + " " + raw.slice(-4);
|
|
18
|
+
case "email": {
|
|
19
|
+
const atIndex = raw.indexOf("@");
|
|
20
|
+
if (atIndex <= 1) return raw;
|
|
21
|
+
const name = raw.slice(0, atIndex);
|
|
22
|
+
const domain = raw.slice(atIndex);
|
|
23
|
+
const maskedName = name[0] + maskSymbol.repeat(Math.max(1, name.length - 2)) + (name.length > 2 ? name.slice(-1) : "");
|
|
24
|
+
return maskedName + domain;
|
|
25
|
+
}
|
|
26
|
+
case "custom": {
|
|
27
|
+
const start = startCount !== void 0 ? startCount : 2;
|
|
28
|
+
const end = endCount !== void 0 ? endCount : 2;
|
|
29
|
+
if (raw.length <= start + end) return raw;
|
|
30
|
+
return raw.slice(0, start) + maskSymbol.repeat(Math.max(1, raw.length - start - end)) + raw.slice(-end);
|
|
31
|
+
}
|
|
32
|
+
default:
|
|
33
|
+
return raw;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
var SensitiveMask = ({
|
|
37
|
+
text = "",
|
|
38
|
+
type = "phone",
|
|
39
|
+
defaultMasked = true,
|
|
40
|
+
maskSymbol = "*",
|
|
41
|
+
unmaskedStart,
|
|
42
|
+
unmaskedEnd,
|
|
43
|
+
toggleable = true,
|
|
44
|
+
copyable = false,
|
|
45
|
+
onToggle,
|
|
46
|
+
className = "",
|
|
47
|
+
style
|
|
48
|
+
}) => {
|
|
49
|
+
const [masked, setMasked] = useState(defaultMasked);
|
|
50
|
+
const maskedText = useMemo(() => {
|
|
51
|
+
return maskSensitiveText(text, type, maskSymbol, unmaskedStart, unmaskedEnd);
|
|
52
|
+
}, [text, type, maskSymbol, unmaskedStart, unmaskedEnd]);
|
|
53
|
+
const displayText = masked ? maskedText : text;
|
|
54
|
+
const handleToggle = async (e) => {
|
|
55
|
+
e.stopPropagation();
|
|
56
|
+
const nextState = !masked;
|
|
57
|
+
if (onToggle) {
|
|
58
|
+
const allowed = await onToggle(nextState);
|
|
59
|
+
if (allowed === false) return;
|
|
60
|
+
}
|
|
61
|
+
setMasked(nextState);
|
|
62
|
+
};
|
|
63
|
+
return /* @__PURE__ */ jsxs("span", { className: `rpc_sensitive_mask ${className}`, style, children: [
|
|
64
|
+
/* @__PURE__ */ jsx("span", { className: "rpc_sensitive_mask_text", children: displayText }),
|
|
65
|
+
toggleable && /* @__PURE__ */ jsx("span", { className: "rpc_sensitive_mask_action_btn", onClick: handleToggle, title: masked ? "\u70B9\u51FB\u67E5\u770B\u660E\u6587" : "\u70B9\u51FB\u9690\u85CF", children: masked ? /* @__PURE__ */ jsx(EyeOutlined, {}) : /* @__PURE__ */ jsx(EyeInvisibleOutlined, {}) }),
|
|
66
|
+
copyable && /* @__PURE__ */ jsx(CopyButton_default, { mode: "icon", text, tooltip: "\u590D\u5236\u660E\u6587" })
|
|
67
|
+
] });
|
|
68
|
+
};
|
|
69
|
+
var SensitiveMask_default = SensitiveMask;
|
|
70
|
+
|
|
71
|
+
export { SensitiveMask_default, maskSensitiveText };
|
|
72
|
+
//# sourceMappingURL=chunk-KBBLTGIU.js.map
|
|
73
|
+
//# sourceMappingURL=chunk-KBBLTGIU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../SensitiveMask/index.tsx"],"names":[],"mappings":"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","file":"chunk-KBBLTGIU.js","sourcesContent":["import React, { useState, useMemo, CSSProperties } from 'react';\nimport { EyeOutlined, EyeInvisibleOutlined } from '../src/icons';\nimport CopyButton from '../CopyButton';\nimport './index.less';\n\nexport type SensitiveType = 'phone' | 'idcard' | 'email' | 'bankcard' | 'custom';\n\nexport interface SensitiveMaskProps {\n\t/** 原始敏感文本 */\n\ttext: string;\n\t/** 脱敏类型:'phone' | 'idcard' | 'email' | 'bankcard' | 'custom',默认为 'phone' */\n\ttype?: SensitiveType;\n\t/** 默认是否脱敏遮蔽,默认为 true */\n\tdefaultMasked?: boolean;\n\t/** 遮罩字符,默认为 '*' */\n\tmaskSymbol?: string;\n\t/** 自定义保留头部明文字符数(仅 type='custom' 有效) */\n\tunmaskedStart?: number;\n\t/** 自定义保留尾部明文字符数(仅 type='custom' 有效) */\n\tunmaskedEnd?: number;\n\t/** 是否支持切换明文/密文查看,默认为 true */\n\ttoggleable?: boolean;\n\t/** 是否支持一键复制,默认为 false */\n\tcopyable?: boolean;\n\t/** 切换明文时的拦截回调(返回 false 可阻止切换,支持异步鉴权) */\n\tonToggle?: (nextMasked: boolean) => boolean | Promise<boolean>;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\n// 格式化脱敏文本\nexport function maskSensitiveText(\n\traw: string,\n\ttype: SensitiveType = 'phone',\n\tmaskSymbol: string = '*',\n\tstartCount?: number,\n\tendCount?: number,\n): string {\n\tif (!raw) return '';\n\n\tswitch (type) {\n\t\tcase 'phone':\n\t\t\tif (raw.length <= 7) return raw;\n\t\t\treturn raw.slice(0, 3) + maskSymbol.repeat(4) + raw.slice(-4);\n\t\tcase 'idcard':\n\t\t\tif (raw.length <= 10) return raw;\n\t\t\treturn raw.slice(0, 6) + maskSymbol.repeat(Math.max(1, raw.length - 10)) + raw.slice(-4);\n\t\tcase 'bankcard':\n\t\t\tif (raw.length <= 8) return raw;\n\t\t\treturn raw.slice(0, 4) + ' ' + maskSymbol.repeat(4) + ' ' + maskSymbol.repeat(4) + ' ' + raw.slice(-4);\n\t\tcase 'email': {\n\t\t\tconst atIndex = raw.indexOf('@');\n\t\t\tif (atIndex <= 1) return raw;\n\t\t\tconst name = raw.slice(0, atIndex);\n\t\t\tconst domain = raw.slice(atIndex);\n\t\t\tconst maskedName = name[0] + maskSymbol.repeat(Math.max(1, name.length - 2)) + (name.length > 2 ? name.slice(-1) : '');\n\t\t\treturn maskedName + domain;\n\t\t}\n\t\tcase 'custom': {\n\t\t\tconst start = startCount !== undefined ? startCount : 2;\n\t\t\tconst end = endCount !== undefined ? endCount : 2;\n\t\t\tif (raw.length <= start + end) return raw;\n\t\t\treturn raw.slice(0, start) + maskSymbol.repeat(Math.max(1, raw.length - start - end)) + raw.slice(-end);\n\t\t}\n\t\tdefault:\n\t\t\treturn raw;\n\t}\n}\n\nconst SensitiveMask: React.FC<SensitiveMaskProps> = ({\n\ttext = '',\n\ttype = 'phone',\n\tdefaultMasked = true,\n\tmaskSymbol = '*',\n\tunmaskedStart,\n\tunmaskedEnd,\n\ttoggleable = true,\n\tcopyable = false,\n\tonToggle,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [masked, setMasked] = useState<boolean>(defaultMasked);\n\n\tconst maskedText = useMemo(() => {\n\t\treturn maskSensitiveText(text, type, maskSymbol, unmaskedStart, unmaskedEnd);\n\t}, [text, type, maskSymbol, unmaskedStart, unmaskedEnd]);\n\n\tconst displayText = masked ? maskedText : text;\n\n\tconst handleToggle = async (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tconst nextState = !masked;\n\t\tif (onToggle) {\n\t\t\tconst allowed = await onToggle(nextState);\n\t\t\tif (allowed === false) return;\n\t\t}\n\t\tsetMasked(nextState);\n\t};\n\n\treturn (\n\t\t<span className={`rpc_sensitive_mask ${className}`} style={style}>\n\t\t\t<span className=\"rpc_sensitive_mask_text\">{displayText}</span>\n\n\t\t\t{toggleable && (\n\t\t\t\t<span className=\"rpc_sensitive_mask_action_btn\" onClick={handleToggle} title={masked ? '点击查看明文' : '点击隐藏'}>\n\t\t\t\t\t{masked ? <EyeOutlined /> : <EyeInvisibleOutlined />}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t{copyable && <CopyButton mode=\"icon\" text={text} tooltip=\"复制明文\" />}\n\t\t</span>\n\t);\n};\n\nexport default SensitiveMask;\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
// ShimmerSkeleton/index.tsx
|
|
4
|
+
var ShimmerSkeleton = ({
|
|
5
|
+
type = "card",
|
|
6
|
+
rows = 3,
|
|
7
|
+
loading = true,
|
|
8
|
+
children,
|
|
9
|
+
className = "",
|
|
10
|
+
style
|
|
11
|
+
}) => {
|
|
12
|
+
if (!loading && children) {
|
|
13
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
14
|
+
}
|
|
15
|
+
return /* @__PURE__ */ jsxs("div", { className: `rpc_shimmer_skeleton ${className}`, style, children: [
|
|
16
|
+
type === "avatar" && /* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_avatar" }),
|
|
17
|
+
type === "text" && /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsx(
|
|
18
|
+
"div",
|
|
19
|
+
{
|
|
20
|
+
className: "rpc_shimmer_skeleton_bar",
|
|
21
|
+
style: {
|
|
22
|
+
height: 16,
|
|
23
|
+
width: i === rows - 1 ? "60%" : "100%"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
i
|
|
27
|
+
)) }),
|
|
28
|
+
type === "card" && /* @__PURE__ */ jsxs("div", { className: "rpc_shimmer_skeleton_card", children: [
|
|
29
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 160, width: "100%" } }),
|
|
30
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 20, width: "70%" } }),
|
|
31
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 14, width: "90%" } }),
|
|
32
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 14, width: "40%" } })
|
|
33
|
+
] }),
|
|
34
|
+
type === "list" && /* @__PURE__ */ jsx("div", { style: { display: "flex", flexDirection: "column" }, children: Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsxs("div", { className: "rpc_shimmer_skeleton_list_item", children: [
|
|
35
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_avatar", style: { width: 40, height: 40 } }),
|
|
36
|
+
/* @__PURE__ */ jsxs("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
37
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 16, width: "50%" } }),
|
|
38
|
+
/* @__PURE__ */ jsx("div", { className: "rpc_shimmer_skeleton_bar", style: { height: 12, width: "80%" } })
|
|
39
|
+
] })
|
|
40
|
+
] }, i)) })
|
|
41
|
+
] });
|
|
42
|
+
};
|
|
43
|
+
var ShimmerSkeleton_default = ShimmerSkeleton;
|
|
44
|
+
|
|
45
|
+
export { ShimmerSkeleton_default };
|
|
46
|
+
//# sourceMappingURL=chunk-KCXXUUWC.js.map
|
|
47
|
+
//# sourceMappingURL=chunk-KCXXUUWC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../ShimmerSkeleton/index.tsx"],"names":[],"mappings":"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","file":"chunk-KCXXUUWC.js","sourcesContent":["import React, { ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type SkeletonType = 'text' | 'card' | 'list' | 'avatar';\n\nexport interface ShimmerSkeletonProps {\n\t/** 骨架类型:'text' 文本,'card' 卡片,'list' 列表,'avatar' 头像,默认为 'card' */\n\ttype?: SkeletonType;\n\t/** 文本骨架行数,默认为 3 */\n\trows?: number;\n\t/** 是否处于加载中状态,为 false 时渲染 children,默认为 true */\n\tloading?: boolean;\n\t/** 加载完成后的子元素内容 */\n\tchildren?: ReactNode;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst ShimmerSkeleton: React.FC<ShimmerSkeletonProps> = ({\n\ttype = 'card',\n\trows = 3,\n\tloading = true,\n\tchildren,\n\tclassName = '',\n\tstyle,\n}) => {\n\tif (!loading && children) {\n\t\treturn <>{children}</>;\n\t}\n\n\treturn (\n\t\t<div className={`rpc_shimmer_skeleton ${className}`} style={style}>\n\t\t\t{type === 'avatar' && <div className=\"rpc_shimmer_skeleton_avatar\" />}\n\n\t\t\t{type === 'text' && (\n\t\t\t\t<div style={{ display: 'flex', flexDirection: 'column', gap: 10 }}>\n\t\t\t\t\t{Array.from({ length: rows }).map((_, i) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tclassName=\"rpc_shimmer_skeleton_bar\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\t\t\twidth: i === rows - 1 ? '60%' : '100%',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{type === 'card' && (\n\t\t\t\t<div className=\"rpc_shimmer_skeleton_card\">\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 160, width: '100%' }} />\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 20, width: '70%' }} />\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 14, width: '90%' }} />\n\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 14, width: '40%' }} />\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{type === 'list' && (\n\t\t\t\t<div style={{ display: 'flex', flexDirection: 'column' }}>\n\t\t\t\t\t{Array.from({ length: rows }).map((_, i) => (\n\t\t\t\t\t\t<div key={i} className=\"rpc_shimmer_skeleton_list_item\">\n\t\t\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_avatar\" style={{ width: 40, height: 40 }} />\n\t\t\t\t\t\t\t<div style={{ flex: 1, display: 'flex', flexDirection: 'column', gap: 8 }}>\n\t\t\t\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 16, width: '50%' }} />\n\t\t\t\t\t\t\t\t<div className=\"rpc_shimmer_skeleton_bar\" style={{ height: 12, width: '80%' }} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\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 ShimmerSkeleton;\n"]}
|