File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed
chartlets.js/packages/lib/src/plugins/mui Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ import {
2+ Skeleton as MuiSkeleton ,
3+ type SkeletonProps as MuiSkeletonProps ,
4+ } from "@mui/material" ;
5+
6+ import type { ComponentState } from "@/index" ;
7+ import type { ReactElement } from "react" ;
8+
9+ interface SkeletonState extends Omit < ComponentState , "type" | "children" > {
10+ variant ?: MuiSkeletonProps [ "variant" ] ;
11+ width ?: MuiSkeletonProps [ "width" ] ;
12+ height ?: MuiSkeletonProps [ "height" ] ;
13+ animation ?: MuiSkeletonProps [ "animation" ] ;
14+ loading : boolean ;
15+ children ?: ReactElement ;
16+ }
17+
18+ interface SkeletonProps extends SkeletonState { }
19+
20+ export const Skeleton = ( {
21+ id,
22+ style,
23+ loading,
24+ children,
25+ ...skeletonProps
26+ } : SkeletonProps ) => {
27+ return loading && skeletonProps && Object . keys ( skeletonProps ) . length > 0 ? (
28+ < MuiSkeleton
29+ id = { id }
30+ style = { style }
31+ { ...skeletonProps }
32+ data-testid = "skeleton-test-id"
33+ />
34+ ) : (
35+ children
36+ ) ;
37+ } ;
You can’t perform that action at this time.
0 commit comments