Skip to content

Commit

Permalink
feat: add base skeleton component (#11339)
Browse files Browse the repository at this point in the history
  • Loading branch information
AkaraChen authored Dec 4, 2024
1 parent 16a65cb commit 5e2cb0e
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions web/app/components/base/skeleton/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import type { ComponentProps, FC } from 'react'
import classNames from '@/utils/classnames'

type SkeletonProps = ComponentProps<'div'>

export const SkeletonContanier: FC<SkeletonProps> = (props) => {
const { className, children, ...rest } = props
return (
<div className={classNames('flex flex-col gap-1', className)} {...rest}>
{children}
</div>
)
}

export const SkeletonRow: FC<SkeletonProps> = (props) => {
const { className, children, ...rest } = props
return (
<div className={classNames('flex items-center gap-2', className)} {...rest}>
{children}
</div>
)
}

export const SkeletonRectangle: FC<SkeletonProps> = (props) => {
const { className, children, ...rest } = props
return (
<div className={classNames('h-2 rounded-sm opacity-20 bg-text-tertiary my-1', className)} {...rest}>
{children}
</div>
)
}

export const SkeletonPoint: FC = () =>
<div className='text-text-quaternary text-xs font-medium'>·</div>

/** Usage
* <SkeletonContanier>
* <SkeletonRow>
* <SkeletonRectangle className="w-96" />
* <SkeletonPoint />
* <SkeletonRectangle className="w-96" />
* </SkeletonRow>
* <SkeletonRow>
* <SkeletonRectangle className="w-96" />
* </SkeletonRow>
* <SkeletonRow>
*/

0 comments on commit 5e2cb0e

Please sign in to comment.