{"version":3,"sources":["../../../components/ui/pagination.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\n\nimport { cn } from '../../utils/ui';\nimport { Button } from './button';\nimport { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';\n\nfunction Pagination({ className, ...props }: React.ComponentProps<'nav'>) {\n  return (\n    <nav\n      role=\"navigation\"\n      aria-label=\"pagination\"\n      data-slot=\"pagination\"\n      className={cn('mx-auto flex w-full justify-center', className)}\n      {...props}\n    />\n  );\n}\n\nfunction PaginationContent({ className, ...props }: React.ComponentProps<'ul'>) {\n  return <ul data-slot=\"pagination-content\" className={cn('gap-0.5 flex items-center', className)} {...props} />;\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<'li'>) {\n  return <li data-slot=\"pagination-item\" {...props} />;\n}\n\ntype PaginationLinkProps = {\n  isActive?: boolean;\n} & Pick<React.ComponentProps<typeof Button>, 'size'> &\n  React.ComponentProps<'a'>;\n\nfunction PaginationLink({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) {\n  return (\n    <Button asChild variant={isActive ? 'secondary' : 'ghost'} size={size} className={cn(className)}>\n      <a aria-current={isActive ? 'page' : undefined} data-slot=\"pagination-link\" data-active={isActive} {...props} />\n    </Button>\n  );\n}\n\nfunction PaginationPrevious({\n  className,\n  text = 'Previous',\n  ...props\n}: React.ComponentProps<typeof PaginationLink> & { text?: string }) {\n  return (\n    <PaginationLink aria-label=\"Go to previous page\" size=\"default\" className={cn('pl-1.5!', className)} {...props}>\n      <ChevronLeftIcon data-icon=\"inline-start\" className=\"cn-rtl-flip\" />\n      <span className=\"hidden sm:block\">{text}</span>\n    </PaginationLink>\n  );\n}\n\nfunction PaginationNext({\n  className,\n  text = 'Next',\n  ...props\n}: React.ComponentProps<typeof PaginationLink> & { text?: string }) {\n  return (\n    <PaginationLink aria-label=\"Go to next page\" size=\"default\" className={cn('pr-1.5!', className)} {...props}>\n      <span className=\"hidden sm:block\">{text}</span>\n      <ChevronRightIcon data-icon=\"inline-end\" className=\"cn-rtl-flip\" />\n    </PaginationLink>\n  );\n}\n\nfunction PaginationEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n  return (\n    <span\n      aria-hidden\n      data-slot=\"pagination-ellipsis\"\n      className={cn(\"size-8 [&_svg:not([class*='size-'])]:size-4 flex items-center justify-center\", className)}\n      {...props}\n    >\n      <MoreHorizontalIcon />\n      <span className=\"sr-only\">More pages</span>\n    </span>\n  );\n}\n\nexport {\n  Pagination,\n  PaginationContent,\n  PaginationEllipsis,\n  PaginationItem,\n  PaginationLink,\n  PaginationNext,\n  PaginationPrevious,\n};\n"],"mappings":";;;;;;;;;;;;;;AACA,YAAY,WAAW;AAIvB,SAAS,iBAAiB,kBAAkB,0BAA0B;AAEtE,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAPtB,IAOoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAW;AAAA,MACX,aAAU;AAAA,MACV,WAAW,GAAG,sCAAsC,SAAS;AAAA,OACzD;AAAA,EACN;AAEJ;AAEA,SAAS,kBAAkB,IAAqD;AAArD,eAAE,YAnB7B,IAmB2B,IAAgB,kBAAhB,IAAgB,CAAd;AAC3B,SAAO,oCAAC,uBAAG,aAAU,sBAAqB,WAAW,GAAG,6BAA6B,SAAS,KAAO,MAAO;AAC9G;AAEA,SAAS,eAAe,IAA0C;AAA1C,MAAK,kBAAL,IAAK;AAC3B,SAAO,oCAAC,uBAAG,aAAU,qBAAsB,MAAO;AACpD;AAOA,SAAS,eAAe,IAAuE;AAAvE,eAAE,aAAW,UAAU,OAAO,OAhCtD,IAgCwB,IAAyC,kBAAzC,IAAyC,CAAvC,aAAW,YAAU;AAC7C,SACE,oCAAC,UAAO,SAAO,MAAC,SAAS,WAAW,cAAc,SAAS,MAAY,WAAW,GAAG,SAAS,KAC5F,oCAAC,sBAAE,gBAAc,WAAW,SAAS,QAAW,aAAU,mBAAkB,eAAa,YAAc,MAAO,CAChH;AAEJ;AAEA,SAAS,mBAAmB,IAIwC;AAJxC,eAC1B;AAAA;AAAA,IACA,OAAO;AAAA,EA1CT,IAwC4B,IAGvB,kBAHuB,IAGvB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,SACE,oCAAC,iCAAe,cAAW,uBAAsB,MAAK,WAAU,WAAW,GAAG,WAAW,SAAS,KAAO,QACvG,oCAAC,mBAAgB,aAAU,gBAAe,WAAU,eAAc,GAClE,oCAAC,UAAK,WAAU,qBAAmB,IAAK,CAC1C;AAEJ;AAEA,SAAS,eAAe,IAI4C;AAJ5C,eACtB;AAAA;AAAA,IACA,OAAO;AAAA,EAvDT,IAqDwB,IAGnB,kBAHmB,IAGnB;AAAA,IAFH;AAAA,IACA;AAAA;AAGA,SACE,oCAAC,iCAAe,cAAW,mBAAkB,MAAK,WAAU,WAAW,GAAG,WAAW,SAAS,KAAO,QACnG,oCAAC,UAAK,WAAU,qBAAmB,IAAK,GACxC,oCAAC,oBAAiB,aAAU,cAAa,WAAU,eAAc,CACnE;AAEJ;AAEA,SAAS,mBAAmB,IAAuD;AAAvD,eAAE,YAlE9B,IAkE4B,IAAgB,kBAAhB,IAAgB,CAAd;AAC5B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,MACX,aAAU;AAAA,MACV,WAAW,GAAG,gFAAgF,SAAS;AAAA,OACnG;AAAA,IAEJ,oCAAC,wBAAmB;AAAA,IACpB,oCAAC,UAAK,WAAU,aAAU,YAAU;AAAA,EACtC;AAEJ;","names":[]}