{"version":3,"sources":["../components/ui/spinner.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { cn } from '../../utils/ui';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { Loader2 } from 'lucide-react';\n\nconst spinnerVariants = cva('flex-col items-center justify-center', {\n  variants: {\n    show: {\n      true: 'flex',\n      false: 'hidden',\n    },\n  },\n  defaultVariants: {\n    show: true,\n  },\n});\n\nconst loaderVariants = cva('animate-spin text-primary', {\n  variants: {\n    size: {\n      small: 'size-6',\n      medium: 'size-8',\n      large: 'size-12',\n    },\n  },\n  defaultVariants: {\n    size: 'medium',\n  },\n});\n\ninterface SpinnerContentProps extends VariantProps<typeof spinnerVariants>, VariantProps<typeof loaderVariants> {\n  className?: string;\n  children?: React.ReactNode;\n}\n\nexport function Spinner({ size, show, children, className }: SpinnerContentProps) {\n  return (\n    <span className={spinnerVariants({ show })}>\n      <Loader2 role=\"status\" aria-label=\"Loading\" className={cn(loaderVariants({ size }), className)} />\n      {children}\n    </span>\n  );\n}\n\nSpinner.displayName = 'Spinner';\n"],"mappings":";;;;;AACA,YAAY,WAAW;AAEvB,SAAuB,WAAW;AAClC,SAAS,eAAe;AAExB,IAAM,kBAAkB,IAAI,wCAAwC;AAAA,EAClE,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,IAAM,iBAAiB,IAAI,6BAA6B;AAAA,EACtD,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAOM,SAAS,QAAQ,EAAE,MAAM,MAAM,UAAU,UAAU,GAAwB;AAChF,SACE,oCAAC,UAAK,WAAW,gBAAgB,EAAE,KAAK,CAAC,KACvC,oCAAC,WAAQ,MAAK,UAAS,cAAW,WAAU,WAAW,GAAG,eAAe,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG,GAC/F,QACH;AAEJ;AAEA,QAAQ,cAAc;","names":[]}