Menu

Change language

GitHub repo

Card

cardui

Bordered container with an opinionated header / content / footer layout. Use it as the wrapper around any self-contained block of content — settings panels, dashboard tiles, list cells.

Installation

$npx shadcn-svelte@latest add https://uipkge.dev/r/svelte/card.json
Manifest:https://uipkge.dev/r/svelte/card.jsonInstalls to:src/lib/components/ui/card/

Examples

Loading interactive previews…

Props

NameType / ValuesDefaultRequired
variant
'default''elevated''outline''ghost'
defaultoptional
refHTMLDivElement | null—optional

npm dependencies

Used by

Files installed (9)

  • src/lib/components/ui/card/Card.svelte0.7 kB
    <script lang="ts" module>
      import type { HTMLAttributes } from 'svelte/elements'
      import type { CardVariants } from './card.variants'
    
      export interface CardProps extends HTMLAttributes<HTMLDivElement> {
        variant?: CardVariants['variant']
        ref?: HTMLDivElement | null
      }
    </script>
    
    <script lang="ts">
      import { cn } from '$lib/utils'
      import { cardVariants } from './card.variants'
    
      let { class: className, variant = 'default', children, ref = $bindable(null), ...restProps }: CardProps = $props()
    </script>
    
    <div
      bind:this={ref}
      data-uipkge
      data-slot="card"
      data-variant={variant}
      class={cn(cardVariants({ variant }), 'overflow-hidden', className)}
      {...restProps}
    >
      {@render children?.()}
    </div>
    
  • src/lib/components/ui/card/CardAction.svelte0.6 kB
  • src/lib/components/ui/card/CardContent.svelte0.5 kB
  • src/lib/components/ui/card/CardDescription.svelte0.6 kB
  • src/lib/components/ui/card/CardFooter.svelte0.5 kB
  • src/lib/components/ui/card/CardHeader.svelte0.7 kB
  • src/lib/components/ui/card/CardTitle.svelte0.6 kB
  • src/lib/components/ui/card/card.variants.ts1 kB
  • src/lib/components/ui/card/index.ts0.8 kB

Raw manifest:https://uipkge.dev/r/svelte/card.json