eai-frontend-components 2.0.31 → 2.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +9 -9
- package/dist/index.esm.js +7189 -202
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +7047 -60
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/lib/utils.ts","../src/components/ui/accordion.tsx","../src/components/ui/alert.tsx","../src/components/ui/button.tsx","../src/components/ui/alert-dialog.tsx","../src/components/ui/avatar.tsx","../src/components/ui/badge.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/calendar.tsx","../src/components/ui/card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/chart.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/dialog.tsx","../src/components/ui/command.tsx","../src/components/ui/context-menu.tsx","../src/components/ui/popover.tsx","../src/components/ui/dateRangePicker.tsx","../src/components/ui/drawer.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/form.tsx","../src/components/ui/hover-card.tsx","../src/components/ui/masks.ts","../src/lib/help/format.ts","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js","../node_modules/date-fns/locale/pt-BR/_lib/formatLong.js","../node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js","../node_modules/date-fns/locale/pt-BR/_lib/localize.js","../node_modules/date-fns/locale/pt-BR/_lib/match.js","../node_modules/date-fns/locale/pt-BR.js","../src/components/ui/select.tsx","../src/components/ui/custom/date-picker.tsx","../src/components/ui/input.tsx","../src/components/ui/pagination.tsx","../src/components/ui/progress.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/scroll-area.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/slider.tsx","../src/components/ui/switch.tsx","../src/components/ui/table.tsx","../src/components/ui/tabs.tsx","../src/components/ui/textarea.tsx","../src/components/ui/toast.tsx","../src/components/ui/use-toast.ts","../src/components/ui/toaster.tsx","../src/components/ui/use-calendar.tsx","../src/components/ui/custom/form/form-help-text.tsx","../src/components/ui/custom/form/form-label.tsx","../src/components/ui/custom/form/form-message.tsx","../src/components/ui/custom/form/checkbox.tsx","../src/components/ui/custom/form/utils.ts","../src/components/ui/custom/form/color.tsx","../src/components/ui/custom/form/combobox.tsx","../src/components/ui/custom/form/cpf-cnpj.tsx","../src/components/ui/custom/form/currency.tsx","../src/lib/help/date-utils.ts","../src/components/ui/custom/form/date.tsx","../src/components/ui/custom/form/date-range.tsx","../src/components/ui/custom/form/decimal.tsx","../src/components/ui/custom/form/file.tsx","../src/components/ui/custom/form/ghost.tsx","../src/components/ui/custom/form/input.tsx","../src/components/ui/custom/form/mask.tsx","../src/components/ui/custom/form/multi-select.tsx","../src/components/ui/custom/form/password.tsx","../src/components/ui/custom/form/percent.tsx","../src/components/ui/custom/form/phone.tsx","../src/components/ui/custom/form/radio-group.tsx","../src/components/ui/custom/form/select.tsx","../src/components/ui/custom/form/step-new-form.tsx","../src/components/ui/custom/form/switch.tsx","../src/components/ui/custom/form/text.tsx","../src/components/ui/custom/form/textarea.tsx","../src/lib/help/theme.ts","../src/components/ui/custom/theme-provider.tsx","../src/components/ui/custom/header.tsx","../src/components/ui/custom/label.tsx","../src/components/ui/custom/not-found.tsx","../src/components/ui/custom/responsive-dialog.tsx","../src/components/ui/custom/sidebar/sidebar-item-two-lines.tsx","../src/components/ui/custom/sidebar/module-switcher.tsx","../src/components/ui/custom/sidebar/sidebar-button.tsx","../src/components/ui/custom/sidebar/sidebar-item.tsx","../src/components/ui/custom/sidebar/nav-footer.tsx","../src/components/ui/custom/sidebar/nav-submenu-collapsible.tsx","../src/components/ui/custom/sidebar/nav-submenu-dropdown.tsx","../src/components/ui/custom/sidebar/types/sidebar.ts","../src/components/ui/custom/sidebar/nav-main.tsx","../src/components/ui/custom/sidebar/nav-user.tsx","../src/components/ui/custom/table/data-table-export.tsx","../src/components/ui/custom/table/data-table-footer.tsx","../src/components/ui/custom/table/data-table-header.tsx","../src/components/ui/custom/table/data-table-rows.tsx","../src/components/ui/custom/table/data-table.tsx","../src/lib/help/uuid.ts","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n\treturn twMerge(clsx(inputs));\n}\n","import * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n\tReact.ElementRef<typeof AccordionPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => <AccordionPrimitive.Item ref={ref} className={cn('border-b', className)} {...props} />);\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = React.forwardRef<\n\tReact.ElementRef<typeof AccordionPrimitive.Trigger>,\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n\t<AccordionPrimitive.Header className='flex'>\n\t\t<AccordionPrimitive.Trigger\n\t\t\tref={ref}\n\t\t\tclassName={cn('flex flex-1 items-center justify-between p-4 font-medium transition-all [&[data-state=open]>svg]:rotate-180', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<ChevronDown className='h-4 w-4 shrink-0 transition-transform duration-200' />\n\t\t</AccordionPrimitive.Trigger>\n\t</AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n\tReact.ElementRef<typeof AccordionPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n\t<AccordionPrimitive.Content\n\t\tref={ref}\n\t\tclassName='overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down'\n\t\t{...props}\n\t>\n\t\t<div className={cn('p-4 pt-0', className)}>{children}</div>\n\t</AccordionPrimitive.Content>\n));\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst alertVariants = cva(\n\t'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-background text-foreground',\n\t\t\t\tdestructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nconst Alert = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>>(\n\t({ className, variant, ...props }, ref) => <div ref={ref} role='alert' className={cn(alertVariants({ variant }), className)} {...props} />,\n);\nAlert.displayName = 'Alert';\n\nconst AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(({ className, ...props }, ref) => (\n\t<h5 ref={ref} className={cn('mb-1 font-medium leading-none tracking-tight', className)} {...props} />\n));\nAlertTitle.displayName = 'AlertTitle';\n\nconst AlertDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('text-sm [&_p]:leading-relaxed', className)} {...props} />\n));\nAlertDescription.displayName = 'AlertDescription';\n\nexport { Alert, AlertDescription, AlertTitle };\n","import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst buttonVariants = cva(\n\t'inline-flex items-center justify-center gap-2 self-start px-4 py-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-background-primary text-white hover:bg-background-primary-hover disabled:opacity-50',\n\t\t\t\tsecondary: 'bg-secondary text-secondary-foreground hover:bg-secondary-hover disabled:opacity-50',\n\t\t\t\tdestructive: 'bg-red-600 text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50',\n\t\t\t\toutline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\n\t\t\t\tghost: 'hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\n\t\t\t\tlink: 'text-primary underline-offset-4 hover:underline disabled:opacity-50',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-10 px-4 py-2',\n\t\t\t\tsm: 'h-9 rounded-md px-3',\n\t\t\t\tlg: 'h-11 rounded-md px-8',\n\t\t\t\ticon: 'h-10 w-10',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n);\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n\tasChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(({ className, variant, size, asChild = false, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'button';\n\treturn <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n});\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n","import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from './button';\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nconst AlertDialogOverlay = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n\t<AlertDialogPrimitive.Overlay\n\t\tclassName={cn(\n\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t\tref={ref}\n\t/>\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n\t<AlertDialogPortal>\n\t\t<AlertDialogOverlay />\n\t\t<AlertDialogPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col space-y-2', className)} {...props} />\n);\nAlertDialogHeader.displayName = 'AlertDialogHeader';\n\nconst AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nAlertDialogFooter.displayName = 'AlertDialogFooter';\n\nconst AlertDialogTitle = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Title>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => <AlertDialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold', className)} {...props} />);\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n\t<AlertDialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nAlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Action>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {\n\t\tvariant?: 'default' | 'outline' | 'destructive' | 'secondary'; // Adapte conforme suas variantes\n\t}\n>(({ className, variant = 'default', ...props }, ref) => (\n\t<AlertDialogPrimitive.Action ref={ref} className={cn(buttonVariants({ variant }), className)} {...props} />\n));\n\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {\n\t\tvariant?: 'default' | 'outline' | 'destructive' | 'secondary'; // Adapte conforme suas variantes\n\t}\n>(({ className, variant = 'outline', ...props }, ref) => (\n\t<AlertDialogPrimitive.Cancel\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\tbuttonVariants({ variant }), // Usa a variante passada como prop\n\t\t\t'mt-2 sm:mt-0',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\n\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogOverlay,\n\tAlertDialogPortal,\n\tAlertDialogTitle,\n\tAlertDialogTrigger,\n};\n","import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Avatar = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Root>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>>(\n\t({ className, ...props }, ref) => (\n\t\t<AvatarPrimitive.Root ref={ref} className={cn('relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full', className)} {...props} />\n\t),\n);\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Image>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>>(\n\t({ className, ...props }, ref) => <AvatarPrimitive.Image ref={ref} className={cn('aspect-square h-full w-full', className)} {...props} />,\n);\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n\tReact.ElementRef<typeof AvatarPrimitive.Fallback>,\n\tReact.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n\t<AvatarPrimitive.Fallback\n\t\tref={ref}\n\t\tclassName={cn('flex h-full w-full items-center justify-center rounded-full bg-muted', className)}\n\t\t{...props}\n\t/>\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst badgeVariants = cva(\n\t'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'border-transparent bg-background-primary text-primary-foreground',\n\t\t\t\tsecondary: 'border-transparent bg-background-secondary text-secondary-foreground',\n\t\t\t\tsurface: 'border-transparent bg-primary-100 text-primary',\n\t\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground',\n\t\t\t\toutline: 'text-foreground',\n\t\t\t\tgreen: 'border-transparent bg-green-50 text-emerald-700',\n\t\t\t\tred: 'border-transparent bg-red-50 text-red-600',\n\t\t\t\tgray: 'border-transparent bg-zinc-100 text-zinc-950',\n\t\t\t\tblue: 'border-transparent bg-blue-50 text-blue-600',\n\t\t\t\torange: 'border-transparent bg-orange-50 text-orange-600',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n\treturn <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Breadcrumb = React.forwardRef<\n\tHTMLElement,\n\tReact.ComponentPropsWithoutRef<'nav'> & {\n\t\tseparator?: React.ReactNode;\n\t}\n>(({ ...props }, ref) => <nav ref={ref} aria-label='breadcrumb' {...props} />);\nBreadcrumb.displayName = 'Breadcrumb';\n\nconst BreadcrumbList = React.forwardRef<HTMLOListElement, React.ComponentPropsWithoutRef<'ol'>>(({ className, ...props }, ref) => (\n\t<ol ref={ref} className={cn('flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5', className)} {...props} />\n));\nBreadcrumbList.displayName = 'BreadcrumbList';\n\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, React.ComponentPropsWithoutRef<'li'>>(({ className, ...props }, ref) => (\n\t<li ref={ref} className={cn('inline-flex items-center gap-1.5', className)} {...props} />\n));\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\nconst BreadcrumbLink = React.forwardRef<\n\tHTMLAnchorElement,\n\tReact.ComponentPropsWithoutRef<'a'> & {\n\t\tasChild?: boolean;\n\t}\n>(({ asChild, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'a';\n\n\treturn <Comp ref={ref} className={cn('transition-colors hover:text-foreground', className)} {...props} />;\n});\nBreadcrumbLink.displayName = 'BreadcrumbLink';\n\nconst BreadcrumbPage = React.forwardRef<HTMLSpanElement, React.ComponentPropsWithoutRef<'span'>>(({ className, ...props }, ref) => (\n\t<span ref={ref} aria-disabled='true' aria-current='page' className={cn('font-normal text-foreground', className)} {...props} />\n));\nBreadcrumbPage.displayName = 'BreadcrumbPage';\n\nconst BreadcrumbSeparator = ({ children, className, ...props }: React.ComponentProps<'li'>) => (\n\t<li role='presentation' aria-hidden='true' className={cn('[&>svg]:w-3.5 [&>svg]:h-3.5', className)} {...props}>\n\t\t{children ?? <ChevronRight />}\n\t</li>\n);\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator';\n\nconst BreadcrumbEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n\t<span role='presentation' aria-hidden='true' className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\n\t\t<MoreHorizontal className='h-4 w-4' />\n\t\t<span className='sr-only'>More</span>\n\t</span>\n);\nBreadcrumbEllipsis.displayName = 'BreadcrumbElipssis';\n\nexport { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis };\n","import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\nimport { cn } from '../../lib/utils';\nimport { Button, buttonVariants } from './button';\n\nfunction Calendar({\n\tclassName,\n\tclassNames,\n\tshowOutsideDays = true,\n\tcaptionLayout = 'label',\n\tbuttonVariant = 'ghost',\n\tformatters,\n\tcomponents,\n\t...props\n}: React.ComponentProps<typeof DayPicker> & {\n\tbuttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\treturn (\n\t\t<DayPicker\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tclassName={cn(\n\t\t\t\t'bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tcaptionLayout={captionLayout}\n\t\t\tformatters={{\n\t\t\t\tformatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n\t\t\t\t...formatters,\n\t\t\t}}\n\t\t\tclassNames={{\n\t\t\t\troot: cn('w-fit', defaultClassNames.root),\n\t\t\t\tmonths: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n\t\t\t\tmonth: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n\t\t\t\tnav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\n\t\t\t\tbutton_previous: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\n\t\t\t\t\tdefaultClassNames.button_previous,\n\t\t\t\t),\n\t\t\t\tbutton_next: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\n\t\t\t\t\tdefaultClassNames.button_next,\n\t\t\t\t),\n\t\t\t\tmonth_caption: cn('flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]', defaultClassNames.month_caption),\n\t\t\t\tdropdowns: cn('flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium', defaultClassNames.dropdowns),\n\t\t\t\tdropdown_root: cn(\n\t\t\t\t\t'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\n\t\t\t\t\tdefaultClassNames.dropdown_root,\n\t\t\t\t),\n\t\t\t\tdropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n\t\t\t\tcaption_label: cn(\n\t\t\t\t\t'select-none font-medium',\n\t\t\t\t\tcaptionLayout === 'label'\n\t\t\t\t\t\t? 'text-sm'\n\t\t\t\t\t\t: '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\n\t\t\t\t\tdefaultClassNames.caption_label,\n\t\t\t\t),\n\t\t\t\ttable: 'w-full border-collapse',\n\t\t\t\tweekdays: cn('flex', defaultClassNames.weekdays),\n\t\t\t\tweekday: cn('text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal', defaultClassNames.weekday),\n\t\t\t\tweek: cn('mt-2 flex w-full', defaultClassNames.week),\n\t\t\t\tweek_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\n\t\t\t\tweek_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\n\t\t\t\tday: cn(\n\t\t\t\t\t'group/day relative aspect-square h-[32px] w-[32px] select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n\t\t\t\t\tdefaultClassNames.day,\n\t\t\t\t),\n\t\t\t\trange_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n\t\t\t\trange_middle: cn('rounded-none', defaultClassNames.range_middle),\n\t\t\t\trange_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n\t\t\t\ttoday: cn('bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none', defaultClassNames.today),\n\t\t\t\toutside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n\t\t\t\tdisabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n\t\t\t\thidden: cn('invisible', defaultClassNames.hidden),\n\t\t\t\t...classNames,\n\t\t\t}}\n\t\t\tcomponents={{\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\n\t\t\t\t\treturn <div data-slot='calendar' ref={rootRef} className={cn(className)} {...props} />;\n\t\t\t\t},\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\n\t\t\t\t\tif (orientation === 'left') {\n\t\t\t\t\t\treturn <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (orientation === 'right') {\n\t\t\t\t\t\treturn <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n\t\t\t\t},\n\t\t\t\tDayButton: CalendarDayButton,\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<td {...props}>\n\t\t\t\t\t\t\t<div className='flex size-[--cell-size] items-center justify-center text-center'>{children}</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t...components,\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\tReact.useEffect(() => {\n\t\tif (modifiers.focused) ref.current?.focus();\n\t}, [modifiers.focused]);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\tvariant='ghost'\n\t\t\tsize='icon'\n\t\t\tdata-day={day.date.toLocaleDateString()}\n\t\t\tdata-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n\t\t\tdata-range-start={modifiers.range_start}\n\t\t\tdata-range-end={modifiers.range_end}\n\t\t\tdata-range-middle={modifiers.range_middle}\n\t\t\tclassName={cn(\n\t\t\t\t'data-[selected-single=true]:bg-background-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-background-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-background-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70',\n\t\t\t\tdefaultClassNames.day,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Calendar, CalendarDayButton };\n","import * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)} {...props} />\n));\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('flex p-6', className)} {...props} />\n));\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('text-2xl font-semibold leading-none tracking-tight', className)} {...props} />\n));\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('py-8 px-6', className)} {...props} />\n));\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('flex items-center p-6', className)} {...props} />\n));\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\n","import useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Button } from './button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n\topts?: CarouselOptions;\n\tplugins?: CarouselPlugin;\n\torientation?: 'horizontal' | 'vertical';\n\tsetApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n\tcarouselRef: ReturnType<typeof useEmblaCarousel>[0];\n\tapi: ReturnType<typeof useEmblaCarousel>[1];\n\tscrollPrev: () => void;\n\tscrollNext: () => void;\n\tcanScrollPrev: boolean;\n\tcanScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n\tconst context = React.useContext(CarouselContext);\n\n\tif (!context) {\n\t\tthrow new Error('useCarousel must be used within a <Carousel />');\n\t}\n\n\treturn context;\n}\n\nconst Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselProps>(\n\t({ orientation = 'horizontal', opts, setApi, plugins, className, children, ...props }, ref) => {\n\t\tconst [carouselRef, api] = useEmblaCarousel(\n\t\t\t{\n\t\t\t\t...opts,\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t},\n\t\t\tplugins,\n\t\t);\n\t\tconst [canScrollPrev, setCanScrollPrev] = React.useState(false);\n\t\tconst [canScrollNext, setCanScrollNext] = React.useState(false);\n\n\t\tconst onSelect = React.useCallback((api: CarouselApi) => {\n\t\t\tif (!api) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetCanScrollPrev(api.canScrollPrev());\n\t\t\tsetCanScrollNext(api.canScrollNext());\n\t\t}, []);\n\n\t\tconst scrollPrev = React.useCallback(() => {\n\t\t\tapi?.scrollPrev();\n\t\t}, [api]);\n\n\t\tconst scrollNext = React.useCallback(() => {\n\t\t\tapi?.scrollNext();\n\t\t}, [api]);\n\n\t\tconst handleKeyDown = React.useCallback(\n\t\t\t(event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tscrollPrev();\n\t\t\t\t} else if (event.key === 'ArrowRight') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tscrollNext();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[scrollPrev, scrollNext],\n\t\t);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (!api || !setApi) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetApi(api);\n\t\t}, [api, setApi]);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (!api) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonSelect(api);\n\t\t\tapi.on('reInit', onSelect);\n\t\t\tapi.on('select', onSelect);\n\n\t\t\treturn () => {\n\t\t\t\tapi?.off('select', onSelect);\n\t\t\t};\n\t\t}, [api, onSelect]);\n\n\t\treturn (\n\t\t\t<CarouselContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\tcarouselRef,\n\t\t\t\t\tapi: api,\n\t\t\t\t\topts,\n\t\t\t\t\torientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n\t\t\t\t\tscrollPrev,\n\t\t\t\t\tscrollNext,\n\t\t\t\t\tcanScrollPrev,\n\t\t\t\t\tcanScrollNext,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div ref={ref} onKeyDownCapture={handleKeyDown} className={cn('relative', className)} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</CarouselContext.Provider>\n\t\t);\n\t},\n);\nCarousel.displayName = 'Carousel';\n\nconst CarouselContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\n\tconst { carouselRef, orientation } = useCarousel();\n\n\treturn (\n\t\t<div ref={carouselRef} className='overflow-hidden'>\n\t\t\t<div ref={ref} className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)} {...props} />\n\t\t</div>\n\t);\n});\nCarouselContent.displayName = 'CarouselContent';\n\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\n\tconst { orientation } = useCarousel();\n\n\treturn (\n\t\t<div ref={ref} className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)} {...props} />\n\t);\n});\nCarouselItem.displayName = 'CarouselItem';\n\nconst CarouselPrevious = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n\t({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n\t\tconst { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tsize={size}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute h-8 w-8 rounded-full',\n\t\t\t\t\torientation === 'horizontal' ? '-left-12 top-1/2 -translate-y-1/2' : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tdisabled={!canScrollPrev}\n\t\t\t\tonClick={scrollPrev}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ArrowLeft className='h-4 w-4' />\n\t\t\t\t<span className='sr-only'>Previous slide</span>\n\t\t\t</Button>\n\t\t);\n\t},\n);\nCarouselPrevious.displayName = 'CarouselPrevious';\n\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n\t({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n\t\tconst { orientation, scrollNext, canScrollNext } = useCarousel();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tsize={size}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute h-8 w-8 rounded-full',\n\t\t\t\t\torientation === 'horizontal' ? '-right-12 top-1/2 -translate-y-1/2' : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tdisabled={!canScrollNext}\n\t\t\t\tonClick={scrollNext}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ArrowRight className='h-4 w-4' />\n\t\t\t\t<span className='sr-only'>Next slide</span>\n\t\t\t</Button>\n\t\t);\n\t},\n);\nCarouselNext.displayName = 'CarouselNext';\n\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi };\n","import * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\nimport { cn } from '../../lib/utils';\n\nconst THEMES = { light: '', dark: '.dark' } as const;\n\nexport type ChartConfig = {\n\t[k in string]: {\n\t\tlabel?: React.ReactNode;\n\t\ticon?: React.ComponentType;\n\t} & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> });\n};\n\ntype ChartContextProps = {\n\tconfig: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error('useChart must be used within a <ChartContainer />');\n\t}\n\n\treturn context;\n}\n\nconst ChartContainer = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tconfig: ChartConfig;\n\t\tchildren: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n\t}\n>(({ id, className, children, config, ...props }, ref) => {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n});\nChartContainer.displayName = 'Chart';\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n\tconst colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<style\n\t\t\t// biome-ignore lint/security/noDangerouslySetInnerHtml: Chart theme CSS generation requires dynamic CSS injection\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Object.entries(THEMES)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n\t.map(([key, itemConfig]) => {\n\t\tconst color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color;\n\t\treturn color ? ` --color-${key}: ${color};` : null;\n\t})\n\t.join('\\n')}\n}\n`,\n\t\t\t\t\t)\n\t\t\t\t\t.join('\\n'),\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nconst ChartTooltipContent = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n\t\tReact.ComponentProps<'div'> & {\n\t\t\thideLabel?: boolean;\n\t\t\thideIndicator?: boolean;\n\t\t\tindicator?: 'line' | 'dot' | 'dashed';\n\t\t\tnameKey?: string;\n\t\t\tlabelKey?: string;\n\t\t}\n>(\n\t(\n\t\t{\n\t\t\tactive,\n\t\t\tpayload,\n\t\t\tclassName,\n\t\t\tindicator = 'dot',\n\t\t\thideLabel = false,\n\t\t\thideIndicator = false,\n\t\t\tlabel,\n\t\t\tlabelFormatter,\n\t\t\tlabelClassName,\n\t\t\tformatter,\n\t\t\tcolor,\n\t\t\tnameKey,\n\t\t\tlabelKey,\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst { config } = useChart();\n\n\t\tconst tooltipLabel = React.useMemo(() => {\n\t\t\tif (hideLabel || !payload?.length) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst [item] = payload;\n\t\t\tconst key = `${labelKey || item.dataKey || item.name || 'value'}`;\n\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\tconst value = !labelKey && typeof label === 'string' ? config[label as keyof typeof config]?.label || label : itemConfig?.label;\n\n\t\t\tif (labelFormatter) {\n\t\t\t\treturn <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n\t\t\t}\n\n\t\t\tif (!value) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn <div className={cn('font-medium', labelClassName)}>{value}</div>;\n\t\t}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n\t\tif (!active || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst nestLabel = payload.length === 1 && indicator !== 'dot';\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!nestLabel ? tooltipLabel : null}\n\t\t\t\t<div className='grid gap-1.5'>\n\t\t\t\t\t{payload.map((item, index) => {\n\t\t\t\t\t\tconst key = `${nameKey || item.name || item.dataKey || 'value'}`;\n\t\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\t\tconst indicatorColor = color || item.payload.fill || item.color;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={item.dataKey}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground',\n\t\t\t\t\t\t\t\t\tindicator === 'dot' && 'items-center',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{formatter && item?.value !== undefined && item.name ? (\n\t\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'h-2.5 w-2.5': indicator === 'dot',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-1': indicator === 'line',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'my-0.5': nestLabel && indicator === 'dashed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-bg': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-border': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div className={cn('flex flex-1 justify-between leading-none', nestLabel ? 'items-end' : 'items-center')}>\n\t\t\t\t\t\t\t\t\t\t\t<div className='grid gap-1.5'>\n\t\t\t\t\t\t\t\t\t\t\t\t{nestLabel ? tooltipLabel : null}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='text-muted-foreground'>{itemConfig?.label || item.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{item.value && (\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='font-mono font-medium tabular-nums text-foreground'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.value.toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n);\nChartTooltipContent.displayName = 'ChartTooltip';\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nconst ChartLegendContent = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> &\n\t\tPick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> & {\n\t\t\thideIcon?: boolean;\n\t\t\tnameKey?: string;\n\t\t}\n>(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div ref={ref} className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}>\n\t\t\t{payload.map((item) => {\n\t\t\t\tconst key = `${nameKey || item.dataKey || 'value'}`;\n\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={item.value} className={cn('flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground')}>\n\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='h-2 w-2 shrink-0 rounded-[2px]'\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{itemConfig?.label}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n});\nChartLegendContent.displayName = 'ChartLegend';\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n\tif (typeof payload !== 'object' || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload = 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null ? payload.payload : undefined;\n\n\tlet configLabelKey: string = key;\n\n\tif (key in payload && typeof payload[key as keyof typeof payload] === 'string') {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key as keyof typeof payloadPayload] === 'string') {\n\t\tconfigLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;\n\t}\n\n\treturn configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\n}\n\nexport { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };\n","import * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>>(\n\t({ className, value, ...props }, ref) => (\n\t\t<CheckboxPrimitive.Root\n\t\t\tref={ref}\n\t\t\tchecked={!!value}\n\t\t\tclassName={cn(\n\t\t\t\t'peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=checked]:text-primary-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t),\n);\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n\tReact.ElementRef<typeof DialogPrimitive.Overlay>,\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n\t<DialogPrimitive.Overlay\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\ninterface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {\n\thideClose?: boolean;\n}\n\nconst DialogContent = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, DialogContentProps>(\n\t({ className, children, hideClose, ...props }, ref) => (\n\t\t<DialogPortal>\n\t\t\t<DialogOverlay />\n\t\t\t<DialogPrimitive.Content\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t{!hideClose && (\n\t\t\t\t\t<DialogPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground'>\n\t\t\t\t\t\t<X className='h-4 w-4' />\n\t\t\t\t\t\t<span className='sr-only'>Close</span>\n\t\t\t\t\t</DialogPrimitive.Close>\n\t\t\t\t)}\n\t\t\t</DialogPrimitive.Content>\n\t\t</DialogPortal>\n\t),\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col space-y-1.5', className)} {...props} />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>>(\n\t({ className, ...props }, ref) => (\n\t\t<DialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\n\t),\n);\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n\tReact.ElementRef<typeof DialogPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => <DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n","import type { DialogProps } from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Dialog, DialogContent } from './dialog';\n\nconst Command = React.forwardRef<React.ElementRef<typeof CommandPrimitive>, React.ComponentPropsWithoutRef<typeof CommandPrimitive>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n\treturn (\n\t\t<Dialog {...props}>\n\t\t\t<DialogContent className='overflow-hidden p-0 shadow-lg'>\n\t\t\t\t<Command className='[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\n\t\t\t\t\t{children}\n\t\t\t\t</Command>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>>(\n\t({ className, ...props }, ref) => (\n\t\t<div className='flex items-center border-b px-3' cmdk-input-wrapper=''>\n\t\t\t<Search className='mr-2 h-4 w-4 shrink-0 opacity-50' />\n\t\t\t<CommandPrimitive.Input\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t),\n);\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive.List ref={ref} className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)} {...props} />\n\t),\n);\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Empty>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>>(\n\t(props, ref) => <CommandPrimitive.Empty ref={ref} className='py-6 text-center text-sm' {...props} />,\n);\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Group>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive.Group\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />);\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Item>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive.Item\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };\n","import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst ContextMenu = ContextMenuPrimitive.Root;\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal;\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\nconst ContextMenuSubTrigger = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, children, ...props }, ref) => (\n\t<ContextMenuPrimitive.SubTrigger\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t<ChevronRight className='ml-auto h-4 w-4' />\n\t</ContextMenuPrimitive.SubTrigger>\n));\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\n\nconst ContextMenuSubContent = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.SubContent\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\n\nconst ContextMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.Portal>\n\t\t<ContextMenuPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</ContextMenuPrimitive.Portal>\n));\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\nconst ContextMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<ContextMenuPrimitive.Item\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n\t<ContextMenuPrimitive.CheckboxItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\tchecked={checked}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<ContextMenuPrimitive.ItemIndicator>\n\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t</ContextMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</ContextMenuPrimitive.CheckboxItem>\n));\nContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;\n\nconst ContextMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n\t<ContextMenuPrimitive.RadioItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<ContextMenuPrimitive.ItemIndicator>\n\t\t\t\t<Circle className='h-2 w-2 fill-current' />\n\t\t\t</ContextMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</ContextMenuPrimitive.RadioItem>\n));\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\n\nconst ContextMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<ContextMenuPrimitive.Label\n\t\tref={ref}\n\t\tclassName={cn('px-2 py-1.5 text-sm font-semibold text-foreground', inset && 'pl-8', className)}\n\t\t{...props}\n\t/>\n));\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\n\nconst ContextMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => <ContextMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-border', className)} {...props} />);\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n\nconst ContextMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nContextMenuShortcut.displayName = 'ContextMenuShortcut';\n\nexport {\n\tContextMenu,\n\tContextMenuTrigger,\n\tContextMenuContent,\n\tContextMenuItem,\n\tContextMenuCheckboxItem,\n\tContextMenuRadioItem,\n\tContextMenuLabel,\n\tContextMenuSeparator,\n\tContextMenuShortcut,\n\tContextMenuGroup,\n\tContextMenuPortal,\n\tContextMenuSub,\n\tContextMenuSubContent,\n\tContextMenuSubTrigger,\n\tContextMenuRadioGroup,\n};\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n\tReact.ElementRef<typeof PopoverPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n\t<PopoverPrimitive.Portal>\n\t\t<PopoverPrimitive.Content\n\t\t\tref={ref}\n\t\t\talign={align}\n\t\t\tsideOffset={sideOffset}\n\t\t\tonWheel={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t}}\n\t\t\tclassName={cn(\n\t\t\t\t'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import { addDays, format } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport * as React from 'react';\nimport type { DateRange } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from './button';\nimport { Calendar } from './calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from './popover';\n\nexport function DatePickerWithRange({ className }: React.HTMLAttributes<HTMLDivElement>) {\n\tconst [date, setDate] = React.useState<DateRange | undefined>({\n\t\tfrom: new Date(2022, 0, 20),\n\t\tto: addDays(new Date(2022, 0, 20), 20),\n\t});\n\n\treturn (\n\t\t<div className={cn('grid gap-2', className)}>\n\t\t\t<Popover>\n\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tid='date'\n\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\tvariant={'outline'}\n\t\t\t\t\t\tclassName={cn('w-[300px] justify-start text-left font-normal', !date && 'text-muted-foreground')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CalendarIcon />\n\t\t\t\t\t\t{date?.from ? (\n\t\t\t\t\t\t\tdate.to ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{format(date.from, 'LLL dd, y')} - {format(date.to, 'LLL dd, y')}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tformat(date.from, 'LLL dd, y')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>Pick a date</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</PopoverTrigger>\n\t\t\t\t<PopoverContent className='w-auto p-0' align='start'>\n\t\t\t\t\t<Calendar initialFocus mode='range' defaultMonth={date?.from} selected={date} onSelect={setDate} numberOfMonths={2} />\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n","import * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@/lib/utils';\n\nconst Drawer = ({ shouldScaleBackground = true, ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n\t<DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n\tReact.ElementRef<typeof DrawerPrimitive.Overlay>,\n\tReact.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => <DrawerPrimitive.Overlay ref={ref} className={cn('fixed inset-0 z-50 bg-black/80', className)} {...props} />);\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n\tReact.ElementRef<typeof DrawerPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n\t<DrawerPortal>\n\t\t<DrawerOverlay />\n\t\t<DrawerPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn('fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className='mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted' />\n\t\t\t{children}\n\t\t</DrawerPrimitive.Content>\n\t</DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('grid gap-1.5 p-4', className)} {...props} />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('mt-auto flex flex-col gap-2 p-4', className)} {...props} />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<React.ElementRef<typeof DrawerPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>>(\n\t({ className, ...props }, ref) => (\n\t\t<DrawerPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\n\t),\n);\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n\tReact.ElementRef<typeof DrawerPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => <DrawerPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription };\n","import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, children, ...props }, ref) => (\n\t<DropdownMenuPrimitive.SubTrigger\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t<ChevronRight className='ml-auto h-4 w-4' />\n\t</DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n\t<DropdownMenuPrimitive.SubContent\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Portal>\n\t\t<DropdownMenuPrimitive.Content\n\t\t\tref={ref}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn(\n\t\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Item\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n\t<DropdownMenuPrimitive.CheckboxItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\tchecked={checked}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n\t<DropdownMenuPrimitive.RadioItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<Circle className='h-2 w-2 fill-current' />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)} {...props} />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuPortal,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubContent,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuTrigger,\n};\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst labelVariants = cva('text-sm font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70');\n\nconst Label = React.forwardRef<\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />);\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import type * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport * as React from 'react';\nimport { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\nimport { Label } from './label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\n\tname: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\n\t...props\n}: ControllerProps<TFieldValues, TName>) => {\n\treturn (\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\n\t\t\t<Controller {...props} />\n\t\t</FormFieldContext.Provider>\n\t);\n};\n\nconst useFormField = () => {\n\tconst fieldContext = React.useContext(FormFieldContext);\n\tconst itemContext = React.useContext(FormItemContext);\n\tconst { getFieldState, formState } = useFormContext();\n\n\tconst fieldState = getFieldState(fieldContext.name, formState);\n\n\tif (!fieldContext) {\n\t\tthrow new Error('useFormField should be used within <FormField>');\n\t}\n\n\tconst { id } = itemContext;\n\n\treturn {\n\t\tid,\n\t\tname: fieldContext.name,\n\t\tformItemId: `${id}-form-item`,\n\t\tformDescriptionId: `${id}-form-item-description`,\n\t\tformMessageId: `${id}-form-item-message`,\n\t\t...fieldState,\n\t};\n};\n\ntype FormItemContextValue = {\n\tid: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\n\tconst id = React.useId();\n\n\treturn (\n\t\t<FormItemContext.Provider value={{ id }}>\n\t\t\t<div ref={ref} className={cn('', className)} {...props} />\n\t\t</FormItemContext.Provider>\n\t);\n});\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>>(\n\t({ className, ...props }, ref) => {\n\t\tconst { error, formItemId } = useFormField();\n\n\t\treturn <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\n\t},\n);\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(({ ...props }, ref) => {\n\tconst { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n\treturn (\n\t\t<Slot\n\t\t\tref={ref}\n\t\t\tid={formItemId}\n\t\t\taria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n\t\t\taria-invalid={!!error}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => {\n\tconst { formDescriptionId } = useFormField();\n\n\treturn <p ref={ref} id={formDescriptionId} className={cn('text-sm text-muted-foreground', className)} {...props} />;\n});\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, children, ...props }, ref) => {\n\tconst { error, formMessageId } = useFormField();\n\tconst body = error ? String(error?.message) : children;\n\n\tif (!body) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<p ref={ref} id={formMessageId} className={cn('text-sm font-medium text-destructive', className)} {...props}>\n\t\t\t{body}\n\t\t</p>\n\t);\n});\nFormMessage.displayName = 'FormMessage';\n\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };\n","import * as HoverCardPrimitive from '@radix-ui/react-hover-card';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n\tReact.ElementRef<typeof HoverCardPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n\t<HoverCardPrimitive.Content\n\t\tref={ref}\n\t\talign={align}\n\t\tsideOffset={sideOffset}\n\t\tclassName={cn(\n\t\t\t'z-50 w-auto mr-20 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n","import type { Modify } from '@react-input/mask';\n\n/**\n * Type for mask modification functions.\n * Fallback for projects without @react-input/mask types.\n */\nexport type MaskModifyFunction = Modify;\n\n/**\n * Modify function for phone number input mask.\n * Automatically adjusts between landline and mobile phone formats.\n *\n * @param value - Current input value\n * @param data - New input data\n * @param selectionStart - Cursor start position\n * @param selectionEnd - Cursor end position\n * @returns Mask configuration object\n */\nexport const modifyPhone: Modify = ({ value, data, selectionStart, selectionEnd }) => {\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\n\tconst _len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\n\n\treturn maskPhone(_value);\n};\n\n/**\n * Creates a phone number mask based on the input length.\n * - Landline: (XX) XXXX-XXXX\n * - Mobile: (XX) X XXXX-XXXX\n *\n * @param value - Phone number string (can be null)\n * @returns Mask configuration object with pattern and replacement rules\n *\n * @example\n * ```tsx\n * const mask = maskPhone('11987654321');\n * // Returns: { mask: '(__) _ ____-____', replacement: { _: /\\d/ } }\n * ```\n */\nexport function maskPhone(value: string | null) {\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\n\n\tif (len > 10) return { mask: '(__) _ ____-____', replacement: { _: /\\d/ } };\n\n\treturn { mask: '(__) ____-_____', replacement: { _: /\\d/ } };\n}\n\n/**\n * Modify function for CPF/CNPJ input mask.\n * Automatically switches between CPF and CNPJ formats based on input length.\n *\n * @param value - Current input value\n * @param data - New input data\n * @param selectionStart - Cursor start position\n * @param selectionEnd - Cursor end position\n * @returns Mask configuration object\n */\nexport const modifyCpfCnpj: Modify = ({ value, data, selectionStart, selectionEnd }) => {\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\n\tconst _len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\n\n\treturn maskCpfCnpj(_value);\n};\n\n/**\n * Creates a CPF or CNPJ mask based on the input length.\n * - CPF: XXX.XXX.XXX-XX (up to 11 digits)\n * - CNPJ: XX.XXX.XXX/XXXX-XX (12+ digits)\n *\n * @param value - CPF/CNPJ string (can be null)\n * @returns Mask configuration object with pattern and replacement rules\n *\n * @example\n * ```tsx\n * const cpfMask = maskCpfCnpj('12345678901');\n * // Returns: { mask: '___.___.___-___', replacement: { _: /\\d/ } }\n *\n * const cnpjMask = maskCpfCnpj('12345678000195');\n * // Returns: { mask: '__.___.___/____-__', replacement: { _: /\\d/ } }\n * ```\n */\nexport function maskCpfCnpj(value: string | null) {\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\n\n\tif (len > 11) return { mask: '__.___.___/____-__', replacement: { _: /\\d/ } };\n\n\treturn { mask: '___.___.___-___', replacement: { _: /\\d/ } };\n}\n\n/**\n * Removes all non-numeric characters from a string.\n * Useful for extracting only digits from masked inputs.\n *\n * @param value - String with potential mask characters\n * @returns String containing only numeric characters\n *\n * @example\n * ```tsx\n * const cleaned = removeMaskNumber('(11) 9 8765-4321');\n * // Returns: '11987654321'\n *\n * const cleanCpf = removeMaskNumber('123.456.789-01');\n * // Returns: '12345678901'\n * ```\n */\nexport const removeMaskNumber = (value: string): string => {\n\treturn value?.replace(/\\D/g, '');\n};\n","import { format } from '@react-input/mask';\nimport { maskCpfCnpj, maskPhone } from '../../components/ui/masks';\n\n// PHONE\n/**\n * Formats a phone number string with proper mask.\n * Automatically detects landline vs mobile format.\n *\n * @param telefone - Raw phone number string\n * @param removerCountryCode - Whether to remove country code (55) if present\n * @returns Formatted phone number string\n *\n * @example\n * ```tsx\n * formatPhone('11987654321') // '(11) 9 8765-4321'\n * formatPhone('1134567890') // '(11) 3456-7890'\n * ```\n */\nexport function formatPhone(telefone: string, removerCountryCode = true) {\n\tif (!telefone) return '';\n\n\tlet numberPhone = telefone.replace(/\\D/g, '');\n\n\t// Remover código do país apenas se ele começar com '55'\n\tif (removerCountryCode && numberPhone.startsWith('55')) {\n\t\tnumberPhone = numberPhone.substring(2);\n\t}\n\n\treturn format(numberPhone, maskPhone(numberPhone));\n}\n\n// CPF/CNPJ\n/**\n * Formats a CPF or CNPJ string with proper mask.\n * Automatically detects CPF vs CNPJ format based on length.\n *\n * @param cpfCnpj - Raw CPF/CNPJ string\n * @returns Formatted CPF/CNPJ string\n *\n * @example\n * ```tsx\n * formatCpfCnpj('12345678901') // '123.456.789-01'\n * formatCpfCnpj('12345678000195') // '12.345.678/0001-95'\n * ```\n */\nexport function formatCpfCnpj(cpfCnpj?: string): string {\n\tif (!cpfCnpj) return '';\n\n\tconst numberCpfCnpj = cpfCnpj.replace(/\\D/g, '');\n\n\treturn format(numberCpfCnpj, maskCpfCnpj(numberCpfCnpj));\n}\n\n// DATE\nfunction getDay(date: Date) {\n\treturn date.getDate().toString().padStart(2, '0');\n}\n\nfunction getMonth(date: Date) {\n\treturn (date.getMonth() + 1).toString().padStart(2, '0');\n}\n\nfunction getYear(date: Date) {\n\treturn date.getFullYear().toString();\n}\n\n/**\n * Formats a date to Brazilian format (DD/MM/YYYY).\n *\n * @param date - Date string, Date object, or undefined\n * @param separator - Date separator (default: '/')\n * @returns Formatted date string in Brazilian format\n *\n * @example\n * ```tsx\n * formatDate('2023-12-25') // '25/12/2023'\n * formatDate(new Date()) // '13/10/2025'\n * ```\n */\nexport const formatDate = (date: string | Date | undefined, _separator: string = '/') => {\n\tif (!date) return '';\n\n\tconst d = new Date(date);\n\n\treturn d.toLocaleDateString('pt-BR');\n};\n\nexport const formatDateTime = (date: Date | undefined, returnSeconds: boolean = false): string => {\n\tif (!date) return '';\n\n\tconst hours = date.getHours().toString().padStart(2, '0');\n\tconst minutes = date.getMinutes().toString().padStart(2, '0');\n\tconst seconds = returnSeconds ? `:${date.getSeconds().toString().padStart(2, '0')}` : '';\n\n\treturn `${formatDate(date)} ${hours}:${minutes}${seconds}`;\n};\n\nexport function formatDateCalendar(date: Date | undefined): string {\n\tif (!date) return '';\n\n\tconst day = getDay(date);\n\tconst month = getMonth(date);\n\tconst year = getYear(date);\n\n\treturn `${year}-${month}-${day}`;\n}\n\nexport function stringDateToDate(date: string | undefined, separator: string = '/'): Date | undefined {\n\tif (!date) return undefined;\n\n\tconst [day, month, year] = date.split(separator).map(Number);\n\n\t// new Date(ano, mês-1, dia) interpreta a data no fuso horário local\n\treturn new Date(year, month - 1, day);\n}\n\n// NUMBER\nexport const roundNumber = (value: number, fractionDigits: number = 2): number => {\n\treturn Number(value.toFixed(fractionDigits));\n};\n\nexport const stringToNumber = (value: string | undefined): number => {\n\tif (!value) return 0;\n\n\tconst numericValue = value\n\t\t.replace(/[^\\d,-]/g, '')\n\t\t.replace(/\\./g, '')\n\t\t.replace(',', '.');\n\treturn Number.parseFloat(numericValue);\n};\n\nenum InternetAmountUnity {\n\tiauMegabyte = 0,\n\tiauGigabyte = 1,\n\tUNRECOGNIZED = -1,\n}\n\nexport const convertInternetToDisplay = (internet: number, unit: InternetAmountUnity): string => {\n\tif (internet === 0) {\n\t\treturn '';\n\t}\n\tconst internetInMB = unit === InternetAmountUnity.iauGigabyte ? convertGbToMb(internet) : internet;\n\n\tif (internetInMB > 1023) {\n\t\treturn `${convertMbToGb(roundNumber(internetInMB))} GB`;\n\t}\n\treturn `${internetInMB} MB`;\n};\n\nexport const convertMbToGb = (value: number) => {\n\treturn value > 0 ? roundNumber(value / 1024) : 0;\n};\n\nexport const convertGbToMb = (value: number) => {\n\treturn value > 0 ? roundNumber(value * 1024) : 0;\n};\n\nexport const convertSecondsToMinutes = (value: number): number => {\n\treturn value > 0 ? roundNumber(value / 60) : 0;\n};\n\nexport const convertBytesToMB = (bytes: number): number => {\n\tif (!bytes || Number.isNaN(bytes)) return 0;\n\treturn roundNumber(bytes / (1024 * 1024));\n};\n\nexport const convertMonthToDays = (months: number): number => {\n\treturn months > 0 ? months * 30 : 0;\n};\n\nexport const convertDaysToMonth = (days: number): number => {\n\treturn days > 0 ? roundNumber(days / 30) : 0;\n};\n\n// NUMBER\nexport const formatNumber = (value: number) => {\n\treturn value.toLocaleString('pt-BR', {\n\t\tstyle: 'decimal',\n\t\tminimumFractionDigits: 0,\n\t\tmaximumFractionDigits: 0,\n\t});\n};\n\n// DECIMAL\n/**\n * Formats a number with Brazilian decimal format.\n *\n * @param value - Numeric value to format\n * @param decimalPlaces - Number of decimal places (default: 2)\n * @returns Formatted decimal string\n *\n * @example\n * ```tsx\n * formatDecimal(1234.56) // '1.234,56'\n * formatDecimal(1000.1, 1) // '1.000,1'\n * ```\n */\nexport const formatDecimal = (value: number, decimalPlaces: number = 2) => {\n\treturn value.toLocaleString('pt-BR', {\n\t\tstyle: 'decimal',\n\t\tminimumFractionDigits: decimalPlaces,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n};\n\n// PERCENT\n/**\n * Formats a number as percentage with Brazilian decimal format.\n *\n * @param value - Numeric value to format\n * @param decimalPlaces - Number of decimal places (default: 2)\n * @returns Formatted percentage string\n *\n * @example\n * ```tsx\n * formatPercent(15.5) // '% 15,50'\n * formatPercent(100, 0) // '% 100'\n * ```\n */\nexport const formatPercent = (value: number, decimalPlaces: number = 2) => {\n\treturn `% ${formatDecimal(value, decimalPlaces)}`;\n};\n\n// CURRENCY\n/**\n * Formats a number as Brazilian currency (BRL).\n *\n * @param value - Numeric value to format\n * @param decimalPlaces - Number of decimal places (default: 2)\n * @returns Formatted currency string\n *\n * @example\n * ```tsx\n * formatCurrency(1234.56) // 'R$ 1.234,56'\n * formatCurrency(1000, 0) // 'R$ 1.000'\n * ```\n */\nexport const formatCurrency = (value: number, decimalPlaces: number = 2) => {\n\treturn value.toLocaleString('pt-BR', {\n\t\tstyle: 'currency',\n\t\tcurrency: 'BRL',\n\t\tminimumFractionDigits: decimalPlaces,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n};\n\nexport const isInvalidCurrencyValue = (rawValue: string | undefined): boolean => {\n\tif (!rawValue || rawValue.trim() === '') return true;\n\n\tconst numericValue = stringToNumber(rawValue);\n\n\treturn Number.isNaN(numericValue) || numericValue <= 0;\n};\n\n// OTHERS\n/**\n * Formats an MSISDN (mobile phone number) to display format.\n *\n * @param value - Raw MSISDN string\n * @returns Formatted MSISDN string\n *\n * @example\n * ```tsx\n * formatMsisdn('5511987654321') // '(11) 98765-4321'\n * ```\n */\nexport function formatMsisdn(value: string = ''): string {\n\tconst msisdn = value.replace(/\\D/g, '');\n\treturn `(${msisdn.slice(2, 4)}) ${msisdn.slice(4, 9)}-${msisdn.slice(9)}`;\n}\n\n/**\n * Formats a CEP (Brazilian postal code) with proper mask.\n *\n * @param cep - Raw CEP string\n * @returns Formatted CEP string (XXXXX-XXX)\n *\n * @example\n * ```tsx\n * formatCEP('01234567') // '01234-567'\n * formatCEP('12345') // '12345'\n * ```\n */\nexport function formatCEP(cep?: string) {\n\tif (!cep) return '';\n\n\treturn cep\n\t\t.replace(/\\D/g, '')\n\t\t.replace(/(\\d{5})(\\d)/, '$1-$2')\n\t\t.replace(/(-\\d{3})\\d+?$/, '$1');\n}\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"menos de um segundo\",\n other: \"menos de {{count}} segundos\",\n },\n\n xSeconds: {\n one: \"1 segundo\",\n other: \"{{count}} segundos\",\n },\n\n halfAMinute: \"meio minuto\",\n\n lessThanXMinutes: {\n one: \"menos de um minuto\",\n other: \"menos de {{count}} minutos\",\n },\n\n xMinutes: {\n one: \"1 minuto\",\n other: \"{{count}} minutos\",\n },\n\n aboutXHours: {\n one: \"cerca de 1 hora\",\n other: \"cerca de {{count}} horas\",\n },\n\n xHours: {\n one: \"1 hora\",\n other: \"{{count}} horas\",\n },\n\n xDays: {\n one: \"1 dia\",\n other: \"{{count}} dias\",\n },\n\n aboutXWeeks: {\n one: \"cerca de 1 semana\",\n other: \"cerca de {{count}} semanas\",\n },\n\n xWeeks: {\n one: \"1 semana\",\n other: \"{{count}} semanas\",\n },\n\n aboutXMonths: {\n one: \"cerca de 1 mês\",\n other: \"cerca de {{count}} meses\",\n },\n\n xMonths: {\n one: \"1 mês\",\n other: \"{{count}} meses\",\n },\n\n aboutXYears: {\n one: \"cerca de 1 ano\",\n other: \"cerca de {{count}} anos\",\n },\n\n xYears: {\n one: \"1 ano\",\n other: \"{{count}} anos\",\n },\n\n overXYears: {\n one: \"mais de 1 ano\",\n other: \"mais de {{count}} anos\",\n },\n\n almostXYears: {\n one: \"quase 1 ano\",\n other: \"quase {{count}} anos\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"em \" + result;\n } else {\n return \"há \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: \"d MMM y\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'às' {{time}}\",\n long: \"{{date}} 'às' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: (date) => {\n const weekday = date.getDay();\n const last = weekday === 0 || weekday === 6 ? \"último\" : \"última\";\n return \"'\" + last + \"' eeee 'às' p\";\n },\n yesterday: \"'ontem às' p\",\n today: \"'hoje às' p\",\n tomorrow: \"'amanhã às' p\",\n nextWeek: \"eeee 'às' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"AC\", \"DC\"],\n abbreviated: [\"AC\", \"DC\"],\n wide: [\"antes de cristo\", \"depois de cristo\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"j\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n abbreviated: [\n \"jan\",\n \"fev\",\n \"mar\",\n \"abr\",\n \"mai\",\n \"jun\",\n \"jul\",\n \"ago\",\n \"set\",\n \"out\",\n \"nov\",\n \"dez\",\n ],\n\n wide: [\n \"janeiro\",\n \"fevereiro\",\n \"março\",\n \"abril\",\n \"maio\",\n \"junho\",\n \"julho\",\n \"agosto\",\n \"setembro\",\n \"outubro\",\n \"novembro\",\n \"dezembro\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"],\n short: [\"dom\", \"seg\", \"ter\", \"qua\", \"qui\", \"sex\", \"sab\"],\n abbreviated: [\n \"domingo\",\n \"segunda\",\n \"terça\",\n \"quarta\",\n \"quinta\",\n \"sexta\",\n \"sábado\",\n ],\n\n wide: [\n \"domingo\",\n \"segunda-feira\",\n \"terça-feira\",\n \"quarta-feira\",\n \"quinta-feira\",\n \"sexta-feira\",\n \"sábado\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n\n if (options?.unit === \"week\") {\n return number + \"ª\";\n }\n return number + \"º\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|depois de cristo)/i,\n};\nconst parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^antes de cristo/i, /^depois de cristo/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmajsond]/i,\n abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^fev/i,\n /^mar/i,\n /^abr/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^set/i,\n /^out/i,\n /^nov/i,\n /^dez/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n short: /^(dom|[23456]ª?|s[aá]b)/i,\n abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i,\n};\nconst parseDayPatterns = {\n short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn|^meia[-\\s]noite/i,\n noon: /^md|^meio[-\\s]dia/i,\n morning: /manhã/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noite/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./pt-BR/_lib/formatDistance.js\";\nimport { formatLong } from \"./pt-BR/_lib/formatLong.js\";\nimport { formatRelative } from \"./pt-BR/_lib/formatRelative.js\";\nimport { localize } from \"./pt-BR/_lib/localize.js\";\nimport { match } from \"./pt-BR/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Portuguese locale (Brazil).\n * @language Portuguese\n * @iso-639-2 por\n * @author Lucas Duailibe [@duailibe](https://github.com/duailibe)\n * @author Yago Carballo [@yagocarballo](https://github.com/YagoCarballo)\n */\nexport const ptBR = {\n code: \"pt-BR\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ptBR;\n","import * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.Trigger>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n\t<SelectPrimitive.Trigger\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t<SelectPrimitive.Icon asChild>\n\t\t\t<ChevronDown className='h-4 w-4 opacity-50' />\n\t\t</SelectPrimitive.Icon>\n\t</SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n\t<SelectPrimitive.ScrollUpButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\n\t\t<ChevronUp className='h-4 w-4' />\n\t</SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n\t<SelectPrimitive.ScrollDownButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\n\t\t<ChevronDown className='h-4 w-4' />\n\t</SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n\t<SelectPrimitive.Portal>\n\t\t<SelectPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]',\n\t\t\t\tposition === 'popper' &&\n\t\t\t\t\t'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tposition={position}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SelectScrollUpButton />\n\t\t\t<SelectPrimitive.Viewport\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'p-1',\n\t\t\t\t\tposition === 'popper' && 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</SelectPrimitive.Viewport>\n\t\t\t<SelectScrollDownButton />\n\t\t</SelectPrimitive.Content>\n\t</SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Label>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>>(\n\t({ className, ...props }, ref) => (\n\t\t<SelectPrimitive.Label ref={ref} className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)} {...props} />\n\t),\n);\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Item>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>>(\n\t({ className, children, ...props }, ref) => (\n\t\t<SelectPrimitive.Item\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-3 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\n\t\t\t<span className='absolute right-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t</SelectPrimitive.Item>\n\t),\n);\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n","import { getMonth, getYear, setMonth, setYear } from 'date-fns';\nimport { ptBR } from 'date-fns/locale';\nimport { Calendar as CalendarIcon } from 'lucide-react';\nimport React, { useState } from 'react';\nimport type { DayPicker } from 'react-day-picker';\nimport { cn } from '../../../lib/utils';\nimport { Calendar as CalendarComponent } from '../calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../select';\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\n\tonDateSelected: (selectedDateProps: Date | null) => void;\n\tselectedDateProps?: Date | null;\n\tstartYear?: number;\n\tendYear?: number;\n}\n\nconst DatePicker = React.forwardRef<HTMLDivElement, CalendarFormProps>(\n\t({ className, onDateSelected, selectedDateProps, startYear = getYear(new Date()) - 100, endYear = getYear(new Date()) + 100, ...props }, ref) => {\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\t\tconst months = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\n\n\t\tconst years = Array.from({ length: endYear - startYear + 1 }, (_, i) => startYear + i);\n\n\t\tconst handleMonthChange = (month: string) => {\n\t\t\tif (selectedDate) {\n\t\t\t\tconst newDate = setMonth(selectedDate, months.indexOf(month));\n\t\t\t\tsetSelectedDate(newDate);\n\t\t\t}\n\t\t};\n\n\t\tconst handleYearChange = (year: string) => {\n\t\t\tif (selectedDate) {\n\t\t\t\tconst newDate = setYear(selectedDate, parseInt(year, 10));\n\t\t\t\tsetSelectedDate(newDate);\n\t\t\t}\n\t\t};\n\n\t\tconst handleDateChange = (selectedDate: Date | undefined) => {\n\t\t\tconst newDate = selectedDate || null;\n\t\t\tsetSelectedDate(newDate);\n\t\t\tsetIsPopoverOpen(false);\n\t\t\tonDateSelected(newDate);\n\t\t};\n\n\t\treturn (\n\t\t\t<div className={cn('gap-2', className)} ref={ref} {...props}>\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' onClick={() => setIsPopoverOpen(true)} />\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent className='w-auto p-0 flex flex-col justify-center' align='start'>\n\t\t\t\t\t\t<div className='flex justify-between pt-5 px-5'>\n\t\t\t\t\t\t\t<Select onValueChange={handleMonthChange} value={months[getMonth(selectedDate || new Date())]}>\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Month' />\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t{months.map((month) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={month} value={month}>\n\t\t\t\t\t\t\t\t\t\t\t{month}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t<Select onValueChange={handleYearChange} value={getYear(selectedDate || new Date()).toString()}>\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Year' />\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t{years.map((year) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={year} value={year.toString()}>\n\t\t\t\t\t\t\t\t\t\t\t{year}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CalendarComponent\n\t\t\t\t\t\t\tmode='single'\n\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\tonSelect={handleDateChange}\n\t\t\t\t\t\t\tclassName='bg-white text-black'\n\t\t\t\t\t\t\tmonth={selectedDate || undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nexport { DatePicker };\n","import InputMask from '@mona-health/react-input-mask';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { formatDecimal } from '../../lib/help/format';\nimport { cn } from '../../lib/utils';\nimport { DatePicker } from './custom/date-picker';\n\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n\tmask?: string;\n\tmaskPlaceholder?: string | null;\n\tmaxLength?: number;\n\tplaceholder?: string;\n\tlabel?: string;\n\tdisabled?: boolean;\n}\n\nexport interface InputDecimalProps extends InputProps {\n\tsymbol?: string;\n}\n\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\n\tif (className?.includes('border-none')) {\n\t\treturn '';\n\t}\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\n}\n\nconst InputFile = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype='file'\n\t\t\tplaceholder={placeholder}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst InputUF = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t\tonChange={(e) => {\n\t\t\t\talert(e.target.value);\n\t\t\t}}\n\t\t/>\n\t);\n});\n\nconst InputText = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, value, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tvalue={value || ''}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdisabled={disabled}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst MaskInput = React.forwardRef<HTMLInputElement, InputProps>(\n\t({ className, type, mask, maskPlaceholder, value, maxLength, disabled, placeholder, ...props }, ref) => {\n\t\treturn (\n\t\t\t<InputMask\n\t\t\t\tref={ref}\n\t\t\t\tmask={mask || ''}\n\t\t\t\tmaskPlaceholder={maskPlaceholder}\n\t\t\t\ttype={type}\n\t\t\t\tvalue={value || ''}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={maxLength}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nconst MaskInputDate = React.forwardRef<HTMLInputElement, InputProps>(\n\t({ className, type, mask, maxLength, disabled, placeholder, onChange, value, ...props }, ref) => {\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\n\t\tconst handleDayPickerSelect = (selectedDate: Date | null) => {\n\t\t\tsetSelectedDate(selectedDate);\n\n\t\t\tif (selectedDate) {\n\t\t\t\tconst formattedDate = selectedDate.toLocaleDateString('pt-BR');\n\t\t\t\tif (onChange) {\n\t\t\t\t\tonChange({ target: { value: formattedDate } } as React.ChangeEvent<HTMLInputElement>);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tuseEffect(() => {\n\t\t\tif (value) {\n\t\t\t\tconst parsedDate = new Date(Array.isArray(value) ? value[0] : value);\n\t\t\t\tif (!Number.isNaN(parsedDate.getTime())) {\n\t\t\t\t\tsetSelectedDate(parsedDate);\n\t\t\t\t}\n\t\t\t}\n\t\t}, [value]);\n\n\t\treturn (\n\t\t\t<div className='relative w-full'>\n\t\t\t\t<InputMask\n\t\t\t\t\tref={ref}\n\t\t\t\t\tmask={'99/99/9999'}\n\t\t\t\t\tvalue={value || ''}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\tplaceholder={placeholder ?? 'DD/MM/AAAA'}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background pl-9 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\n\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\n\t\t\t\t\t<DatePicker onDateSelected={handleDayPickerSelect} selectedDateProps={selectedDate} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nconst MaskInputCpfCnpj = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\n\treturn (\n\t\t<div>\n\t\t\t<InputMask\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tmask={mask || ''}\n\t\t\t\tmaskPlaceholder={null}\n\t\t\t\tvalue={value || ''}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder={'000.000.000-00'}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nconst MaskInputFone = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\n\treturn (\n\t\t<div>\n\t\t\t<InputMask\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tmask={mask || ''}\n\t\t\t\tmaskPlaceholder={null}\n\t\t\t\tvalue={value || ''}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder='(00) 0 0000-0000'\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nconst InputPassword = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst MaskInputDecimal = React.forwardRef<HTMLInputElement, InputDecimalProps>(({ className, value, onChange, disabled, symbol, ...props }, ref) => {\n\tconst handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst numericValue = Number(event.target.value.replace(/\\D/g, '')) / 100;\n\t\tconst formattedValue = symbol ? `${symbol} ${formatDecimal(numericValue)}` : formatDecimal(numericValue);\n\n\t\tif (onChange) {\n\t\t\tonChange({ ...event, target: { ...event.target, value: formattedValue } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<InputMask\n\t\t\tref={ref}\n\t\t\tmask=''\n\t\t\tvalue={value || ''}\n\t\t\tonChange={handleChange}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={symbol ? `${symbol} 0,00` : '0,00'}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Input, InputFile, InputPassword, InputText, InputUF, MaskInput, MaskInputCpfCnpj, MaskInputDate, MaskInputDecimal, MaskInputFone };\n","import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport { type ButtonProps, buttonVariants } from './button';\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (\n\t<nav aria-label='pagination' className={cn('mx-auto flex w-full justify-center', className)} {...props} />\n);\nPagination.displayName = 'Pagination';\n\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n\t<ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />\n));\nPaginationContent.displayName = 'PaginationContent';\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n\t<li ref={ref} className={cn('', className)} {...props} />\n));\nPaginationItem.displayName = 'PaginationItem';\n\ntype PaginationLinkProps = {\n\tisActive?: boolean;\n\tdisabled?: boolean;\n} & Pick<ButtonProps, 'size'> &\n\tReact.ComponentProps<'a'>;\n\nconst PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (\n\t<a\n\t\taria-current={isActive ? 'page' : undefined}\n\t\tclassName={cn(\n\t\t\tbuttonVariants({\n\t\t\t\tvariant: isActive ? 'outline' : 'ghost',\n\t\t\t\tsize,\n\t\t\t}),\n\t\t\tisActive ? '' : 'cursor-pointer',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n);\nPaginationLink.displayName = 'PaginationLink';\n\nconst PaginationPrevious = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n\t<PaginationLink\n\t\taria-label='Go to previous page'\n\t\tsize='default'\n\t\tclassName={cn('gap-1 pl-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\n\t\t{...props}\n\t>\n\t\t<ChevronLeft className='h-4 w-4' />\n\t\t<span>Anterior</span>\n\t</PaginationLink>\n);\nPaginationPrevious.displayName = 'PaginationPrevious';\n\nconst PaginationNext = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n\t<PaginationLink\n\t\taria-label='Go to next page'\n\t\tsize='default'\n\t\tclassName={cn('gap-1 pr-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\n\t\t{...props}\n\t>\n\t\t<span>Próximo</span>\n\t\t<ChevronRight className='h-4 w-4' />\n\t</PaginationLink>\n);\nPaginationNext.displayName = 'PaginationNext';\n\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n\t<span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\n\t\t<MoreHorizontal className='h-4 w-4' />\n\t\t<span className='sr-only'>More pages</span>\n\t</span>\n);\nPaginationEllipsis.displayName = 'PaginationEllipsis';\n\nexport { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };\n","import * as ProgressPrimitive from '@radix-ui/react-progress';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Progress = React.forwardRef<React.ElementRef<typeof ProgressPrimitive.Root>, React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>>(\n\t({ className, value, ...props }, ref) => (\n\t\t<ProgressPrimitive.Root\n\t\t\tref={ref}\n\t\t\tclassName={cn('relative h-4 w-full overflow-hidden rounded-full bg-background-secondary', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tclassName='h-full w-full flex-1 bg-background-primary transition-all'\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t),\n);\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Circle } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst RadioGroup = React.forwardRef<\n\tReact.ElementRef<typeof RadioGroupPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n\treturn <RadioGroupPrimitive.Root className={cn('', className)} {...props} ref={ref} />;\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n\tReact.ElementRef<typeof RadioGroupPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<RadioGroupPrimitive.Item\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<RadioGroupPrimitive.Indicator className='flex items-center justify-center'>\n\t\t\t\t<Circle className='h-2.5 w-2.5 fill-current text-current' />\n\t\t\t</RadioGroupPrimitive.Indicator>\n\t\t</RadioGroupPrimitive.Item>\n\t);\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n\tReact.ElementRef<typeof ScrollAreaPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n\t<ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n\t\t<ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>{children}</ScrollAreaPrimitive.Viewport>\n\t\t<ScrollBar />\n\t\t<ScrollAreaPrimitive.Corner />\n\t</ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n\tReact.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n\tReact.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\tref={ref}\n\t\torientation={orientation}\n\t\tclassName={cn(\n\t\t\t'flex touch-none select-none transition-colors',\n\t\t\torientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n\t\t\torientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t<ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Separator = React.forwardRef<React.ElementRef<typeof SeparatorPrimitive.Root>, React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>>(\n\t({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n\t\t<SeparatorPrimitive.Root\n\t\t\tref={ref}\n\t\t\tdecorative={decorative}\n\t\t\torientation={orientation}\n\t\t\tclassName={cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n","import * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>>(\n\t({ className, ...props }, ref) => (\n\t\t<SheetPrimitive.Overlay\n\t\t\tclassName={cn(\n\t\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t/>\n\t),\n);\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n\t'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n\t{\n\t\tvariants: {\n\t\t\tside: {\n\t\t\t\ttop: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n\t\t\t\tbottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n\t\t\t\tleft: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n\t\t\t\tright: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tside: 'right',\n\t\t},\n\t},\n);\n\ninterface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps>(\n\t({ side = 'right', className, children, ...props }, ref) => (\n\t\t<SheetPortal>\n\t\t\t<SheetOverlay />\n\t\t\t<SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\n\t\t\t\t{children}\n\t\t\t\t<SheetPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-background-secondary'>\n\t\t\t\t\t<X className='h-4 w-4' />\n\t\t\t\t\t<span className='sr-only'>Close</span>\n\t\t\t\t</SheetPrimitive.Close>\n\t\t\t</SheetPrimitive.Content>\n\t\t</SheetPortal>\n\t),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col space-y-2', className)} {...props} />\n);\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>>(\n\t({ className, ...props }, ref) => (\n\t\t<SheetPrimitive.Title ref={ref} className={cn('text-lg font-semibold text-foreground', className)} {...props} />\n\t),\n);\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n\tReact.ElementRef<typeof SheetPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => <SheetPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };\n","import { cn } from '@/lib/utils';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n\treturn <div className={cn('animate-pulse rounded-md bg-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n","import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n\tReact.ElementRef<typeof TooltipPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n\t<TooltipPrimitive.Content\n\t\tref={ref}\n\t\tsideOffset={sideOffset}\n\t\tclassName={cn(\n\t\t\t'z-50 overflow-hidden rounded-md bg-background-primary text-white px-3 py-1.5 text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{props.children}\n\t\t<TooltipPrimitive.Arrow className='z-50 fill-primary animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2' />\n\t</TooltipPrimitive.Content>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import * as React from 'react';\n\nconst MOBILE_BREAKPOINT = 1350;\n\nexport function useIsMobile() {\n\tconst [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\n\n\tReact.useEffect(() => {\n\t\tconst mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n\t\tconst onChange = () => {\n\t\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\t\t};\n\t\tmql.addEventListener('change', onChange);\n\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n\t\treturn () => mql.removeEventListener('change', onChange);\n\t}, []);\n\n\treturn !!isMobile;\n}\n","import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeft } from 'lucide-react';\nimport * as React from 'react';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { Sheet, SheetContent } from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContext = {\n\tstate: 'expanded' | 'collapsed';\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\topenMobile: boolean;\n\tsetOpenMobile: (open: boolean) => void;\n\tisMobile: boolean;\n\ttoggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n\tconst context = React.useContext(SidebarContext);\n\tif (!context) {\n\t\tthrow new Error('useSidebar must be used within a SidebarProvider.');\n\t}\n\n\treturn context;\n}\n\nconst SidebarProvider = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tdefaultOpen?: boolean;\n\t\topen?: boolean;\n\t\tonOpenChange?: (open: boolean) => void;\n\t}\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React.useState(false);\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === 'function' ? value(open) : value;\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState);\n\t\t\t} else {\n\t\t\t\t_setOpen(openState);\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t\t},\n\t\t[setOpenProp, open],\n\t);\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n\t}, [isMobile, setOpen, setOpenMobile]);\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('keydown', handleKeyDown);\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown);\n\t}, [toggleSidebar]);\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? 'expanded' : 'collapsed';\n\n\tconst contextValue = React.useMemo<SidebarContext>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn('group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar', className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t);\n});\nSidebarProvider.displayName = 'SidebarProvider';\n\nconst Sidebar = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tside?: 'left' | 'right';\n\t\tvariant?: 'sidebar' | 'floating' | 'inset';\n\t\tcollapsible?: 'offcanvas' | 'icon' | 'none';\n\t}\n>(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref) => {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n\tif (collapsible === 'none') {\n\t\treturn (\n\t\t\t<div className={cn('flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground', className)} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar='sidebar'\n\t\t\t\t\tdata-mobile='true'\n\t\t\t\t\tclassName='w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden'\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<div className='flex h-screen w-full flex-col'>{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName='group peer text-sidebar-foreground [display:none] md:[display:block]'\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\n\t\t\t\t\t'group-data-[collapsible=offcanvas]:w-0',\n\t\t\t\t\t'group-data-[side=right]:rotate-180',\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'duration-200 fixed inset-y-0 z-10 h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear [display:none] md:[display:flex]',\n\t\t\t\t\tside === 'left'\n\t\t\t\t\t\t? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n\t\t\t\t\t\t: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar='sidebar'\n\t\t\t\t\tclassName='flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\nSidebar.displayName = 'Sidebar';\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\n\t({ className, onClick, ...props }, ref) => {\n\t\tconst { toggleSidebar } = useSidebar();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar='trigger'\n\t\t\t\tvariant='ghost'\n\t\t\t\tsize='icon'\n\t\t\t\ttype='button'\n\t\t\t\tclassName={cn('h-7 w-7', className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event);\n\t\t\t\t\ttoggleSidebar();\n\t\t\t\t}}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<PanelLeft />\n\t\t\t\t<span className='sr-only'>Toggle Sidebar</span>\n\t\t\t</Button>\n\t\t);\n\t},\n);\nSidebarTrigger.displayName = 'SidebarTrigger';\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(({ className, ...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar();\n\n\treturn (\n\t\t<button\n\t\t\tref={ref}\n\t\t\tdata-sidebar='rail'\n\t\t\taria-label='Toggle Sidebar'\n\t\t\ttabIndex={-1}\n\t\t\ttype='button'\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle='Toggle Sidebar'\n\t\t\tclassName={cn(\n\t\t\t\t'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n\t\t\t\t'[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n\t\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n\t\t\t\t'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n\t\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n\t\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarRail.displayName = 'SidebarRail';\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<main\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'relative flex min-h-svh flex-1 flex-col bg-background',\n\t\t\t\t'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarInset.displayName = 'SidebarInset';\n\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof Input>, React.ComponentProps<typeof Input>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<Input\n\t\t\tref={ref}\n\t\t\tdata-sidebar='input'\n\t\t\tclassName={cn('h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarInput.displayName = 'SidebarInput';\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar='header' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar='footer' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\n\t({ className, ...props }, ref) => {\n\t\treturn <Separator ref={ref} data-sidebar='separator' className={cn('mx-2 w-auto bg-sidebar-border', className)} {...props} />;\n\t},\n);\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tdata-sidebar='content'\n\t\t\tclassName={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarContent.displayName = 'SidebarContent';\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar='group' className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\n});\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : 'div';\n\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar='group-label'\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t\t'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : 'button';\n\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar='group-action'\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\n\t\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nSidebarGroupAction.displayName = 'SidebarGroupAction';\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n\t<div ref={ref} data-sidebar='group-content' className={cn('w-full text-sm', className)} {...props} />\n));\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n\t<ul ref={ref} data-sidebar='menu' className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n));\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n\t<li ref={ref} data-sidebar='menu-item' className={cn('group/menu-item relative', className)} {...props} />\n));\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n\t'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n\t\t\t\toutline:\n\t\t\t\t\t'bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-8 text-sm',\n\t\t\t\tsm: 'h-7 text-xs',\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n);\n\nconst SidebarMenuButton = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<'button'> & {\n\t\tasChild?: boolean;\n\t\tisActive?: boolean;\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\n\t} & VariantProps<typeof sidebarMenuButtonVariants>\n>(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'button';\n\tconst { isMobile, state } = useSidebar();\n\n\tconst button = (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar='menu-button'\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\n\tif (!tooltip) {\n\t\treturn button;\n\t}\n\n\tif (typeof tooltip === 'string') {\n\t\ttooltip = {\n\t\t\tchildren: tooltip,\n\t\t};\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent side='right' align='center' hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n\t\t</Tooltip>\n\t);\n});\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nconst SidebarMenuAction = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<'button'> & {\n\t\tasChild?: boolean;\n\t\tshowOnHover?: boolean;\n\t}\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'button';\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar='menu-action'\n\t\t\tclassName={cn(\n\t\t\t\t'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tshowOnHover &&\n\t\t\t\t\t'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarMenuAction.displayName = 'SidebarMenuAction';\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n\t<div\n\t\tref={ref}\n\t\tdata-sidebar='menu-badge'\n\t\tclassName={cn(\n\t\t\t'absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none',\n\t\t\t'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\n\nconst SidebarMenuSkeleton = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tshowIcon?: boolean;\n\t}\n>(({ className, showIcon = false, ...props }, ref) => {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\n\treturn (\n\t\t<div ref={ref} data-sidebar='menu-skeleton' className={cn('rounded-md h-8 flex gap-2 px-2 items-center', className)} {...props}>\n\t\t\t{showIcon && <Skeleton className='size-4 rounded-md' data-sidebar='menu-skeleton-icon' />}\n\t\t\t<Skeleton\n\t\t\t\tclassName='h-4 flex-1 max-w-[--skeleton-width]'\n\t\t\t\tdata-sidebar='menu-skeleton-text'\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t'--skeleton-width': width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n});\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n\t<ul\n\t\tref={ref}\n\t\tdata-sidebar='menu-sub'\n\t\tclassName={cn(\n\t\t\t'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nSidebarMenuSub.displayName = 'SidebarMenuSub';\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ ...props }, ref) => <li ref={ref} {...props} />);\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\n\nconst SidebarMenuSubButton = React.forwardRef<\n\tHTMLAnchorElement,\n\tReact.ComponentProps<'a'> & {\n\t\tasChild?: boolean;\n\t\tsize?: 'sm' | 'md';\n\t\tisActive?: boolean;\n\t}\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'a';\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar='menu-sub-button'\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n\t\t\t\t'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n\t\t\t\tsize === 'sm' && 'text-xs',\n\t\t\t\tsize === 'md' && 'text-sm',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger,\n\tuseSidebar,\n};\n","import * as SliderPrimitive from '@radix-ui/react-slider';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>>(\n\t({ className, ...props }, ref) => (\n\t\t<SliderPrimitive.Root ref={ref} className={cn('relative flex w-full touch-none select-none items-center', className)} {...props}>\n\t\t\t<SliderPrimitive.Track className='relative h-2 w-full grow overflow-hidden rounded-full bg-background-secondary'>\n\t\t\t\t<SliderPrimitive.Range className='absolute h-full bg-background-primary' />\n\t\t\t</SliderPrimitive.Track>\n\t\t\t<SliderPrimitive.Thumb className='block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50' />\n\t\t</SliderPrimitive.Root>\n\t),\n);\nSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport { Slider };\n","import * as SwitchPrimitives from '@radix-ui/react-switch';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitives.Root>, React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>>(\n\t({ className, ...props }, ref) => (\n\t\t<SwitchPrimitives.Root\n\t\t\tclassName={cn(\n\t\t\t\t'peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=unchecked]:bg-accent',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t>\n\t\t\t<SwitchPrimitives.Thumb\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0',\n\t\t\t\t)}\n\t\t\t/>\n\t\t</SwitchPrimitives.Root>\n\t),\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(({ className, ...props }, ref) => (\n\t<table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\n));\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\n\t<thead ref={ref} className={cn('sticky top-0 [&_tr]:border-b', className)} {...props} />\n));\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\n\t<tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\n\t<tfoot ref={ref} className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)} {...props} />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(({ className, ...props }, ref) => (\n\t<tr\n\t\tref={ref}\n\t\tclassName={cn('border-b transition-colors hover:bg-datatable-accent', 'data-[state=selected]:bg-background-secondary', className)}\n\t\t{...props}\n\t/>\n));\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, React.ThHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\n\t<th\n\t\tref={ref}\n\t\tclassName={cn('h-12 py-[12.25px] px-6 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0', className)}\n\t\t{...props}\n\t/>\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, React.TdHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\n\t<td ref={ref} className={cn('align-middle px-6 [&:has([role=checkbox])]:pr-0', className)} {...props} />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<HTMLTableCaptionElement, React.HTMLAttributes<HTMLTableCaptionElement>>(({ className, ...props }, ref) => (\n\t<caption ref={ref} className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\n","import * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof TabsPrimitive.List>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>>(\n\t({ className, ...props }, ref) => (\n\t\t<TabsPrimitive.List\n\t\t\tref={ref}\n\t\t\tclassName={cn('inline-flex h-10 items-center justify-center rounded-md bg-background-elevated p-1 text-muted-foreground', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Trigger>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>>(\n\t({ className, ...props }, ref) => (\n\t\t<TabsPrimitive.Trigger\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Content>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>>(\n\t({ className, ...props }, ref) => (\n\t\t<TabsPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","import * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\n\tif (className?.includes('border-none')) {\n\t\treturn '';\n\t}\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.TextareaHTMLAttributes<HTMLTextAreaElement>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cn(\n\t\t\t\t'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n\tReact.ElementRef<typeof ToastPrimitives.Viewport>,\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n\t<ToastPrimitives.Viewport ref={ref} className={cn('fixed top-0 right-0 p-4 space-y-2 z-[100]', className)} {...props} />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = cva(\n\t'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-top-full',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'border bg-background text-foreground',\n\t\t\t\tdestructive: 'bg-white text-zinc-950',\n\t\t\t\tsuccess: 'bg-white text-zinc-950',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nconst Toast = React.forwardRef<\n\tReact.ElementRef<typeof ToastPrimitives.Root>,\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n\treturn <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Action>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>>(\n\t({ className, ...props }, ref) => (\n\t\t<ToastPrimitives.Action\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-background-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Close>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>>(\n\t({ className, ...props }, ref) => (\n\t\t<ToastPrimitives.Close\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttoast-close=''\n\t\t\t{...props}\n\t\t>\n\t\t\t<X className='h-4 w-4' />\n\t\t</ToastPrimitives.Close>\n\t),\n);\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Title>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>>(\n\t({ className, ...props }, ref) => <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold', className)} {...props} />,\n);\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n\tReact.ElementRef<typeof ToastPrimitives.Description>,\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />);\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement, type ToastProps };\n","import * as React from 'react';\nimport type { ToastActionElement, ToastProps } from './toast';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n\tid: string;\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\taction?: ToastActionElement;\n\ticon?: React.ReactNode;\n};\n\nconst actionTypes = {\n\tADD_TOAST: 'ADD_TOAST',\n\tUPDATE_TOAST: 'UPDATE_TOAST',\n\tDISMISS_TOAST: 'DISMISS_TOAST',\n\tREMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n\tcount = (count + 1) % Number.MAX_SAFE_INTEGER;\n\treturn count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n\t| {\n\t\t\ttype: ActionType['ADD_TOAST'];\n\t\t\ttoast: ToasterToast;\n\t }\n\t| {\n\t\t\ttype: ActionType['UPDATE_TOAST'];\n\t\t\ttoast: Partial<ToasterToast>;\n\t }\n\t| {\n\t\t\ttype: ActionType['DISMISS_TOAST'];\n\t\t\ttoastId?: ToasterToast['id'];\n\t }\n\t| {\n\t\t\ttype: ActionType['REMOVE_TOAST'];\n\t\t\ttoastId?: ToasterToast['id'];\n\t };\n\ninterface State {\n\ttoasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n\tif (toastTimeouts.has(toastId)) {\n\t\treturn;\n\t}\n\n\tconst timeout = setTimeout(() => {\n\t\ttoastTimeouts.delete(toastId);\n\t\tdispatch({\n\t\t\ttype: 'REMOVE_TOAST',\n\t\t\ttoastId: toastId,\n\t\t});\n\t}, TOAST_REMOVE_DELAY);\n\n\ttoastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n\tswitch (action.type) {\n\t\tcase 'ADD_TOAST':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n\t\t\t};\n\n\t\tcase 'UPDATE_TOAST':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n\t\t\t};\n\n\t\tcase 'DISMISS_TOAST': {\n\t\t\tconst { toastId } = action;\n\n\t\t\tif (toastId) {\n\t\t\t\taddToRemoveQueue(toastId);\n\t\t\t} else {\n\t\t\t\tfor (const toast of state.toasts) {\n\t\t\t\t\taddToRemoveQueue(toast.id);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: state.toasts.map((t) =>\n\t\t\t\t\tt.id === toastId || toastId === undefined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...t,\n\t\t\t\t\t\t\t\topen: false,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: t,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_TOAST':\n\t\t\tif (action.toastId === undefined) {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\ttoasts: [],\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: state.toasts.filter((t) => t.id !== action.toastId),\n\t\t\t};\n\t}\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n\tmemoryState = reducer(memoryState, action);\n\tfor (const listener of listeners) {\n\t\tlistener(memoryState);\n\t}\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n\tconst id = genId();\n\n\tconst update = (props: ToasterToast) =>\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_TOAST',\n\t\t\ttoast: { ...props, id },\n\t\t});\n\tconst dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n\tdispatch({\n\t\ttype: 'ADD_TOAST',\n\t\ttoast: {\n\t\t\t...props,\n\t\t\tid,\n\t\t\topen: true,\n\t\t\tonOpenChange: (open) => {\n\t\t\t\tif (!open) dismiss();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn {\n\t\tid: id,\n\t\tdismiss,\n\t\tupdate,\n\t};\n}\n\nfunction useToast() {\n\tconst [state, setState] = React.useState<State>(memoryState);\n\n\tReact.useEffect(() => {\n\t\tlisteners.push(setState);\n\t\treturn () => {\n\t\t\tconst index = listeners.indexOf(setState);\n\t\t\tif (index > -1) {\n\t\t\t\tlisteners.splice(index, 1);\n\t\t\t}\n\t\t};\n\t}, [state]);\n\n\treturn {\n\t\t...state,\n\t\ttoast,\n\t\tdismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n\t};\n}\n\nexport { toast, useToast };\n","import { Check, CircleX } from 'lucide-react';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\nimport { useToast } from './use-toast';\n\nexport function Toaster() {\n\tconst { toasts } = useToast();\n\n\tconst getIcon = (icon: React.ReactNode, variant: string | null) => {\n\t\tif (icon) {\n\t\t\treturn icon;\n\t\t}\n\n\t\tswitch (variant) {\n\t\t\tcase 'success':\n\t\t\t\treturn (\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-emerald-700'>\n\t\t\t\t\t\t<Check size={16} className='text-white' />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\tcase 'destructive':\n\t\t\t\treturn (\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-red-700'>\n\t\t\t\t\t\t<CircleX size={16} className='text-white' />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn (\n\t\t<ToastProvider>\n\t\t\t{toasts.map(({ id, title, description, action, icon, variant, ...props }) => (\n\t\t\t\t<Toast key={id} {...props} variant={variant} className='p-4 w-[334px] rounded-lg'>\n\t\t\t\t\t<div className='grid gap-1'>\n\t\t\t\t\t\t<div className='flex items-center'>\n\t\t\t\t\t\t\t{getIcon(icon, variant ?? null)}\n\t\t\t\t\t\t\t{title && <ToastTitle>{title}</ToastTitle>} {/* title deve funcionar aqui */}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{description && <ToastDescription>{description}</ToastDescription>}\n\t\t\t\t\t</div>\n\t\t\t\t\t{action}\n\t\t\t\t\t<ToastClose className='text-white' />\n\t\t\t\t</Toast>\n\t\t\t))}\n\t\t\t<ToastViewport />\n\t\t</ToastProvider>\n\t);\n}\n","import { Popover, PopoverClose, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\nimport { format } from 'date-fns';\nimport { ptBR } from 'date-fns/locale';\nimport { CalendarDays } from 'lucide-react';\nimport React from 'react';\nimport type { DateRange } from 'react-day-picker';\nimport { cn } from '../../lib/utils';\nimport { Button } from './button';\nimport { Calendar } from './calendar';\n\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\n\tgetDataFilter: (from: Date | null, to: Date | null) => void;\n}\n\nexport default function UseCalendar({ className, getDataFilter }: CalendarFormProps) {\n\tconst endDate = null;\n\tconst startDate = null;\n\n\tconst [date, setDate] = React.useState<DateRange | any>({\n\t\tfrom: startDate,\n\t\tto: endDate,\n\t});\n\n\tconst submitDate = () => {\n\t\tif (date.from !== null && date.to !== null) {\n\t\t\tgetDataFilter(date.from, date.to);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn('grid gap-2', className)}>\n\t\t\t<Popover>\n\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\tid='date'\n\t\t\t\t\t\tvariant={'outline'}\n\t\t\t\t\t\tclassName={'flex justify-center items-center px-4 py-2 cursor-pointer bg-primaryBack text-textFilter rounded-md'}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CalendarDays color='#0F172A' size={16} className='mr-4' />\n\t\t\t\t\t\t{date?.to ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{format(date.from, 'dd/MM', { locale: ptBR })} - {format(date.to, 'dd/MM', { locale: ptBR })}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>Filtrar por Período</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</PopoverTrigger>\n\t\t\t\t<PopoverContent className='w-auto p-0 testeCalendar flex flex-col justify-center bg-white z-10 shadow-md text-black ' align='start'>\n\t\t\t\t\t<Calendar mode='range' locale={ptBR} selected={date} onSelect={setDate} className=' ' />\n\n\t\t\t\t\t<PopoverClose className='flex justify-center items-center p-4'>\n\t\t\t\t\t\t<Button type='button' className='w-[150px] bg-background-primary mt-8 px-4 py-2 text-white' onClick={submitDate}>\n\t\t\t\t\t\t\tAplicar Filtro\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverClose>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n","import { CircleHelp } from 'lucide-react';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../tooltip';\n\nconst formHelpText = (helpText: JSX.Element) => {\n\treturn (\n\t\t<TooltipProvider>\n\t\t\t<Tooltip>\n\t\t\t\t<TooltipTrigger className='pb-2'>\n\t\t\t\t\t<CircleHelp size={16} className='text-muted' />\n\t\t\t\t</TooltipTrigger>\n\t\t\t\t<TooltipContent className='text-white bg-background-primary' align='start'>\n\t\t\t\t\t{helpText}\n\t\t\t\t</TooltipContent>\n\t\t\t</Tooltip>\n\t\t</TooltipProvider>\n\t);\n};\n\nexport { formHelpText };\n","import type * as LabelPrimitive from '@radix-ui/react-label';\nimport type React from 'react';\nimport { cn } from '../../../../lib/utils';\n\ntype FormLabelComponent = React.ForwardRefExoticComponent<\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & React.RefAttributes<React.ElementRef<typeof LabelPrimitive.Root>>\n>;\n\nconst formLabel = (FormLabel: FormLabelComponent, label: string) => {\n\treturn <FormLabel className='text-default font-medium text-sm h-5'>{label}</FormLabel>;\n};\n\nconst formLabelAndSubLabel = (\n\tFormLabel: FormLabelComponent,\n\tlabel: string,\n\tsubLabel?: string,\n\trequired?: boolean | undefined,\n\tclassName?: string,\n) => {\n\treturn (\n\t\t<div className={cn('flex flex-col pb-2', className)}>\n\t\t\t<div className='flex gap-1'>\n\t\t\t\t{formLabel(FormLabel, label)}\n\t\t\t\t{required && <FormLabel className='text-red-600 font-medium text-sm'>*</FormLabel>}\n\t\t\t</div>\n\t\t\t{subLabel && <FormLabel className='text-default font-normal pt-1'>{subLabel}</FormLabel>}\n\t\t</div>\n\t);\n};\n\nexport { formLabel, formLabelAndSubLabel };\n","import type React from 'react';\n\ntype FormMessageComponent = React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;\n\nconst formMessage = (FormMessage: FormMessageComponent) => {\n\treturn <FormMessage className='text-red-600 mt-1' />;\n};\n\nexport { formMessage };\n","import { Checkbox } from '../../checkbox';\nimport * as FormComponents from '../../form';\nimport { formHelpText } from './form-help-text';\nimport { formLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\tonCheckedChange?: (checked: boolean) => void;\n}\n\nexport const FormInputCheckbox: React.FC<Props> = ({ control, name, label, helpText, className, disabled, onCheckedChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center gap-2'>\n\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tvalue={field.value}\n\t\t\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\t\t\tfield.value\n\t\t\t\t\t\t\t\t\t\t? 'bg-purple-700 border border-purple-900 text-white rounded-[3px]'\n\t\t\t\t\t\t\t\t\t\t: 'bg-white border border-black text-black'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tonCheckedChange={(checked) => {\n\t\t\t\t\t\t\t\t\tfield?.onChange?.(checked);\n\t\t\t\t\t\t\t\t\tonCheckedChange?.(checked as boolean);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\n\t\t\t\t\t\t\t{label && formLabel(FormLabel, label)}\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nexport default FormInputCheckbox;\n","export type RGB = { r: number; g: number; b: number };\ntype HSL = { h: number; s: number; l: number };\n\nexport const rgbToHex = ({ r, g, b }: RGB): string => {\n\tconst toHex = (n: number) => Math.max(0, Math.min(255, n)).toString(16).padStart(2, '0').toUpperCase();\n\treturn `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n};\n\nexport const hexToRgb = (hex: string): RGB | null => {\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result\n\t\t? {\n\t\t\t\tr: Number.parseInt(result[1], 16),\n\t\t\t\tg: Number.parseInt(result[2], 16),\n\t\t\t\tb: Number.parseInt(result[3], 16),\n\t\t\t}\n\t\t: null;\n};\n\nexport const rgbToHsl = ({ r, g, b }: RGB): HSL => {\n\tr /= 255;\n\tg /= 255;\n\tb /= 255;\n\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tlet h = 0;\n\tlet s = 0;\n\tconst l = (max + min) / 2;\n\n\tif (max !== min) {\n\t\tconst d = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n\t\tswitch (max) {\n\t\t\tcase r:\n\t\t\t\th = (g - b) / d + (g < b ? 6 : 0);\n\t\t\t\tbreak;\n\t\t\tcase g:\n\t\t\t\th = (b - r) / d + 2;\n\t\t\t\tbreak;\n\t\t\tcase b:\n\t\t\t\th = (r - g) / d + 4;\n\t\t\t\tbreak;\n\t\t}\n\n\t\th /= 6;\n\t}\n\n\treturn {\n\t\th: Math.round(h * 360),\n\t\ts: Math.round(s * 100),\n\t\tl: Math.round(l * 100),\n\t};\n};\n\nconst hue2rgb = (p: number, q: number, t: number) => {\n\tlet tempT = t;\n\tif (tempT < 0) tempT += 1;\n\tif (tempT > 1) tempT -= 1;\n\tif (tempT < 1 / 6) return p + (q - p) * 6 * tempT;\n\tif (tempT < 1 / 2) return q;\n\tif (tempT < 2 / 3) return p + (q - p) * (2 / 3 - tempT) * 6;\n\treturn p;\n};\n\nexport const hslToRgb = ({ h, s, l }: HSL): RGB => {\n\th /= 360;\n\ts /= 100;\n\tl /= 100;\n\n\tlet r: number;\n\tlet g: number;\n\tlet b: number;\n\n\tif (s === 0) {\n\t\tr = g = b = l;\n\t} else {\n\t\tconst q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n\t\tconst p = 2 * l - q;\n\n\t\tr = hue2rgb(p, q, h + 1 / 3);\n\t\tg = hue2rgb(p, q, h);\n\t\tb = hue2rgb(p, q, h - 1 / 3);\n\t}\n\n\treturn {\n\t\tr: Math.round(r * 255),\n\t\tg: Math.round(g * 255),\n\t\tb: Math.round(b * 255),\n\t};\n};\n\nexport const formatRgba = (rgb: RGB, a = 1): string => {\n\treturn `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${a})`;\n};\n\nexport const formatHsla = (hsl: HSL, a = 1): string => {\n\treturn `hsla(${hsl.h}, ${hsl.s}%, ${hsl.l}%, ${a})`;\n};\n","import { Paintbrush } from 'lucide-react';\nimport { useState } from 'react';\nimport { HexColorPicker } from 'react-colorful';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport * as FormComponents from '../../form';\nimport { Input } from '../../input';\nimport { Label } from '../../label';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\nimport { hexToRgb, rgbToHex } from './utils';\n\ninterface Props {\n\tcontrol: any;\n\tid?: string;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n}\n\nexport const FormInputColor: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\tconst DEFAULT_COLOR = '#000000';\n\tconst [currentColor, setCurrentColor] = useState<string>(DEFAULT_COLOR);\n\tconst rgb = hexToRgb(currentColor) || { r: 0, g: 0, b: 0 };\n\n\tconst handleColorChange = (newColor: string, onChange: (...event: any[]) => void) => {\n\t\tonChange?.(newColor);\n\t\tsetCurrentColor(newColor);\n\t};\n\n\tconst handleHexChange = (hex: string, onChange: (...event: any[]) => void) => {\n\t\tif (/^#[0-9A-Fa-f]{6}$/.test(hex)) {\n\t\t\thandleColorChange(hex, onChange);\n\t\t} else {\n\t\t\tsetCurrentColor(hex);\n\t\t}\n\t};\n\n\tconst handleRgbChange = (key: keyof typeof rgb, value: string, onChange: (...event: any[]) => void) => {\n\t\tconst numValue = Number.parseInt(value, 10);\n\n\t\tif (!Number.isNaN(numValue) && numValue >= 0 && numValue <= 255) {\n\t\t\tconst newRgb = { ...rgb, [key]: numValue };\n\n\t\t\thandleColorChange(rgbToHex(newRgb), onChange);\n\t\t}\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Popover>\n\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tvariant='outline'\n\t\t\t\t\t\t\t\t\tclassName={cn('w-[240px] justify-start text-left font-normal', !field.value && 'text-zinc-500', className)}\n\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className='w-full flex items-center gap-2'>\n\t\t\t\t\t\t\t\t\t\t{field.value ? (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='h-4 w-4 rounded !bg-center !bg-cover transition-all border'\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ backgroundColor: field.value }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Paintbrush className='h-4 w-4' />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div className='truncate flex-1 text-sm'>\n\t\t\t\t\t\t\t\t\t\t\t{field.value ? field.value : placeholder || 'Selecione uma cor'}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t<PopoverContent className={cn('w-80', className)}>\n\t\t\t\t\t\t\t<div className='flex flex-col gap-4'>\n\t\t\t\t\t\t\t\t<section className='[&_.react-colorful]:w-auto'>\n\t\t\t\t\t\t\t\t\t<HexColorPicker\n\t\t\t\t\t\t\t\t\t\tcolor={field.value ?? DEFAULT_COLOR}\n\t\t\t\t\t\t\t\t\t\tonChange={(newColor) => handleColorChange(newColor, field.onChange)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t<Label>Hex</Label>\n\t\t\t\t\t\t\t\t\t\t<Input value={currentColor} onChange={(e) => handleHexChange(e.target.value, field.onChange)} maxLength={7} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t\t<Label>R</Label>\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.r}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('r', e.target.value, field.onChange)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t\t<Label>G</Label>\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.g}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('g', e.target.value, field.onChange)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t\t<Label>B</Label>\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.b}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('b', e.target.value, field.onChange)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t</Popover>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nexport default FormInputColor;\n","import { Check, ChevronsUpDown, LoaderCircle, X } from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport type { ControllerRenderProps, FieldValues } from 'react-hook-form';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\nimport * as FormComponents from '../../form';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nexport interface ComboboxOption {\n\tvalue: string | undefined;\n\ticon?: React.ReactNode | undefined;\n\ttitle: string;\n\tsubTitle?: string;\n\tclassName?: string;\n}\n\ninterface Props {\n\tcontrol: any;\n\tvariant?: 'outline' | 'ghost' | 'link' | 'default' | 'secondary' | 'destructive';\n\tname: string;\n\tlabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\toptions: ComboboxOption[];\n\tselectedOption?: ComboboxOption;\n\ticonLeft?: React.ReactNode | null;\n\ticonRight?: React.ReactNode | null;\n\taddEmptyOption?: boolean;\n\tcanUnselect?: boolean;\n\tclosePopUpOnChange?: boolean;\n\trunInternalSearch?: boolean;\n\tdisabledSearch?: boolean;\n\tonChange?: (option: ComboboxOption | undefined) => void;\n\tonSearch?: (searchString: string) => void;\n\tfooterAction?: {\n\t\tlabel: string;\n\t\ticon?: React.ReactNode;\n\t\tonClick: () => void;\n\t};\n}\n\nexport const FormCombobox: React.FC<Props> = ({\n\tcontrol,\n\tvariant = 'outline',\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\toptions,\n\tselectedOption,\n\ticonLeft,\n\ticonRight,\n\taddEmptyOption,\n\tcanUnselect = false,\n\tclosePopUpOnChange = true,\n\trunInternalSearch = true,\n\tdisabledSearch = false,\n\tonChange,\n\tonSearch,\n\tfooterAction,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\tconst [open, setOpen] = useState(false);\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [searchString, setSearchString] = useState<string>('');\n\tconst DEFAULT_PLACEHOLDER = 'Digite para buscar...';\n\n\tuseEffect(() => {\n\t\tsetLoading(false);\n\t}, [options]);\n\n\tconst getOptions = () => {\n\t\tif (options.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet filteredOptions = options;\n\t\tif (runInternalSearch) {\n\t\t\tfilteredOptions = options.filter((option) => {\n\t\t\t\tconst title = option.title\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\n\t\t\t\tconst subTitle = option.subTitle\n\t\t\t\t\t?.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\n\t\t\t\tconst search = searchString\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\n\n\t\t\t\treturn title.includes(search) || subTitle?.includes(search);\n\t\t\t});\n\t\t}\n\n\t\tif (addEmptyOption) {\n\t\t\tfilteredOptions.unshift({ value: undefined, title: '--Selecione--', subTitle: '' });\n\t\t}\n\n\t\treturn filteredOptions;\n\t};\n\n\tconst getSelectedOption = (value: string | undefined): ComboboxOption | undefined => {\n\t\tconst option = options.find((option) => option.value === value);\n\n\t\tif (option) {\n\t\t\treturn option;\n\t\t}\n\n\t\treturn selectedOption;\n\t};\n\n\tconst handleSelect = (value: string | undefined, field: ControllerRenderProps<FieldValues, string>) => {\n\t\tconst option = value ? getSelectedOption(value) : undefined;\n\n\t\tif (canUnselect) {\n\t\t\tfield.onChange(field.value === value ? undefined : value);\n\t\t} else {\n\t\t\tfield.onChange(value);\n\t\t}\n\n\t\tif (onChange) {\n\t\t\tonChange(option);\n\t\t}\n\t\tif (closePopUpOnChange) {\n\t\t\tsetOpen(false);\n\t\t}\n\t};\n\n\tconst handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tconst searchString = (event.target as HTMLInputElement).value;\n\n\t\tif (onSearch) {\n\t\t\tsetLoading(true);\n\t\t\tonSearch(searchString);\n\t\t}\n\t\tsetSearchString(searchString);\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Popover\n\t\t\t\t\t\topen={open}\n\t\t\t\t\t\tonOpenChange={(open) => {\n\t\t\t\t\t\t\tif (!disabled) setOpen(open);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t<div className={cn(`rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`, className)}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'justify-between disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\n\t\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{iconLeft}\n\t\t\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\n\t\t\t\t\t\t\t\t\t\t\t<span className='truncate font-normal'>\n\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value)?.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value)?.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='text-zinc-500'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{iconRight ?? <ChevronsUpDown size={20} className='stroke-zinc-500' />}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t<PopoverContent className={cn('p-0', className, 'w-[--radix-popover-trigger-width]')}>\n\t\t\t\t\t\t\t<Command shouldFilter={false}>\n\t\t\t\t\t\t\t\t{!disabledSearch && <CommandInput placeholder={placeholder ?? DEFAULT_PLACEHOLDER} onKeyUp={handleKeyUp} />}\n\t\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t\t<CommandEmpty className='flex flex-col justify-between items-center p-3 font-normal text-sm'>\n\t\t\t\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-muted-foreground animate-spin mr-2' />\n\t\t\t\t\t\t\t\t\t\t) : getOptions()?.length === 0 && (searchString !== '' || disabledSearch) ? (\n\t\t\t\t\t\t\t\t\t\t\t'Nenhum resultado encontrado'\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t'Utilize o campo de busca acima'\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t\t{options.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t{getOptions().map((option) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`key-opt-${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='group'\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => handleSelect(option.value, field)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn('grid flex-1 text-left text-sm leading-tight', option.className)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='truncate font-normal'>{option.title}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='truncate text-xs text-zinc-500'>{option.subTitle}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`ml-auto text-zinc-500 ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value === option.value ? 'opacity-100' : 'opacity-0'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className={cn('flex', canUnselect && 'group-hover:hidden hover:hidden')} size={16} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className={cn('hidden', canUnselect && 'group-hover:flex hover:flex')} size={16} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t\t{footerAction && (\n\t\t\t\t\t\t\t\t<div className='grid w-full p-1 border-t'>\n\t\t\t\t\t\t\t\t\t<Button type='button' variant='ghost' className='h-8' onClick={() => footerAction.onClick()}>\n\t\t\t\t\t\t\t\t\t\t{footerAction.icon}\n\t\t\t\t\t\t\t\t\t\t{footerAction.label}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t</Popover>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nexport default FormCombobox;\n","import { useState } from 'react';\nimport * as FormComponents from '../../form';\nimport { MaskInputCpfCnpj } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst masks = ['999.999.999-999', '99.999.999/9999-99'];\n\nexport const FormInputCpfCnpj: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [mask, setMask] = useState(masks[0]);\n\n\tconst handleMaskChange = (value: string) => {\n\t\tconst numericValue = value.replace(/\\D/g, '');\n\t\tif (numericValue.length > 11) {\n\t\t\tsetMask(masks[1]);\n\t\t} else {\n\t\t\tsetMask(masks[0]);\n\t\t}\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputCpfCnpj\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tmask={mask}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\thandleMaskChange(e.target.value);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { MaskInputDecimal } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputCurrency: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputDecimal\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tsymbol='R$'\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","export const getFirstDayOfCurrentMonth = (): Date => {\n\tconst now = new Date();\n\treturn new Date(now.getFullYear(), now.getMonth(), 1);\n};\n\nexport const getFirstDayOf90DaysAgo = (): Date => {\n\tconst now = new Date();\n\treturn new Date(now.getFullYear(), now.getMonth() - 3, 1);\n};\n\nexport const stringToDate = (dateString: string, separator: string = '/'): Date | undefined => {\n\tif (!dateString) return undefined;\n\n\tconst dateParts = dateString.split(separator);\n\tif (dateParts.length !== 3) return undefined;\n\n\tconst day = parseInt(dateParts[0], 10);\n\tconst month = parseInt(dateParts[1], 10) - 1; // Months are zero-based in JavaScript\n\tconst year = parseInt(dateParts[2], 10);\n\n\treturn new Date(year, month, day);\n};\n\nexport const aYearAgo = (): Date => {\n\tconst aYearAgo = new Date();\n\taYearAgo.setFullYear(aYearAgo.getFullYear() - 1);\n\n\treturn aYearAgo;\n};\n\nexport const invertDate = (date: string, separator: string = '/'): string => {\n\tif (!date) return '';\n\n\treturn date.split(separator).reverse().join('-');\n};\n\nexport const addDaysToToday = (days: number): Date => {\n\tconst date = new Date();\n\tdate.setDate(date.getDate() + days);\n\treturn date;\n};\n","import { ptBR } from 'date-fns/locale';\nimport { CalendarIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { stringToDate } from '../../../../lib/help/date-utils';\nimport { cn } from '../../../../lib/utils';\nimport { Calendar } from '../../calendar';\nimport * as FormComponents from '../../form';\nimport { MaskInput } from '../../input';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputDate: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder = '01/01/2023',\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<div className='relative w-full'>\n\t\t\t\t\t\t\t<MaskInput\n\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\tmask={'99/99/9999'}\n\t\t\t\t\t\t\t\tmaskPlaceholder={null}\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\tclassName={cn('pl-9', className)}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\n\t\t\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' />\n\t\t\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t\t\t<PopoverContent className='w-[250px] p-0' align='start'>\n\t\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\t\tmode='single'\n\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\t\t\t\t\trequired={true}\n\t\t\t\t\t\t\t\t\t\t\tselected={stringToDate(field.value) ?? new Date()}\n\t\t\t\t\t\t\t\t\t\t\tonSelect={(date) => {\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(date ? date.toLocaleDateString('pt-BR') : '');\n\t\t\t\t\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget: { value: date ? date.toLocaleDateString('pt-BR') : '' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.ChangeEvent<HTMLInputElement>);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName='rounded-md'\n\t\t\t\t\t\t\t\t\t\t\tcaptionLayout='dropdown'\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { format } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport type { DateRange } from 'react-day-picker';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Calendar } from '../../calendar';\nimport * as FormComponents from '../../form';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement> | DateRange | undefined) => void;\n}\n\nexport const FormDataRange: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\t// const [date, setDate] = useState<DateRange | undefined>(field.value);\n\tconst [open, setOpen] = useState(false);\n\n\tconst handleDateChange = (newDate: DateRange | undefined, field: any) => {\n\t\t// setDate(newDate);\n\t\tfield.onChange(newDate);\n\t\tif (onChange) onChange(newDate);\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild className='w-full'>\n\t\t\t\t\t\t\t\t<div className={` rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\tvariant='outline'\n\t\t\t\t\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t` ${className} justify-start disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50`,\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon className='text-zinc-500' />\n\t\t\t\t\t\t\t\t\t\t{field.value?.from ? (\n\t\t\t\t\t\t\t\t\t\t\tfield.value?.to ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{format(field.value?.from, 'dd/MM/yyyy')} - {format(field.value?.to, 'dd/MM/yyyy')}\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\tformat(field.value?.from, 'dd/MM/yyyy')\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<span className='font-normal text-zinc-500'>Escolha um Período</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent className='flex w-auto p-0' align='start'>\n\t\t\t\t\t\t\t\t<div className='flex flex-row space-x-4'>\n\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\tinitialFocus\n\t\t\t\t\t\t\t\t\t\tmode='range'\n\t\t\t\t\t\t\t\t\t\tdefaultMonth={field.value?.from}\n\t\t\t\t\t\t\t\t\t\tselected={field.value}\n\t\t\t\t\t\t\t\t\t\tnumberOfMonths={2}\n\t\t\t\t\t\t\t\t\t\tclassName='flex'\n\t\t\t\t\t\t\t\t\t\tonSelect={(newDate) => handleDateChange(newDate, field)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { MaskInputDecimal } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputDecimal: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputDecimal\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { useState } from 'react';\nimport * as FormComponents from '../../form';\nimport { InputFile } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputFile: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [value, setValue] = useState('');\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputFile\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetValue(e.target.value);\n\t\t\t\t\t\t\t\tfield.onChange(e.target.files);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { InputText } from '../../input';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tclassName?: string;\n}\n\nexport const FormInputGhost: React.FC<Props> = ({ control, name, className }) => {\n\tconst { FormField, FormItem, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputText {...field} className='hidden' />\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { Input } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\ttype?: string;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmaxLength?: number;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInput: React.FC<Props> = ({\n\tcontrol,\n\ttype,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmaxLength,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { MaskInput } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmask: string;\n\tmaskPlaceholder?: string | null;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tinputRef?: React.Ref<HTMLInputElement>;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputMask: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmask,\n\tmaskPlaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tinputRef,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInput\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tmask={mask}\n\t\t\t\t\t\t\tmaskPlaceholder={maskPlaceholder}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronDown, X } from 'lucide-react';\nimport * as React from 'react';\nimport type { ControllerRenderProps, FieldValues } from 'react-hook-form';\nimport { cn } from '../../../../lib/utils';\nimport { Badge } from '../../badge';\nimport { Button } from '../../button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\nimport * as FormComponents from '../../form';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nconst multiSelectVariants = cva('m-1 rounded-[6px]', {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: 'text-foreground bg-background-secondary dark:bg-popover hover:bg-background-secondary',\n\t\t\tsecondary: 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\n\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n\t\t\tinverted: 'inverted',\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: 'default',\n\t},\n});\n\nexport interface MultiSelectOption {\n\tvalue: string;\n\tlabel: string;\n}\n\ninterface MultiSelectProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof multiSelectVariants> {\n\tcontrol: any;\n\tname: string;\n\tlabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\toptions: MultiSelectOption[];\n\tplaceholder?: string;\n\tmaxCount?: number;\n\tmodalPopover?: boolean;\n\tasChild?: boolean;\n\tclassName?: string;\n\trequired?: boolean;\n}\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\tcontrol,\n\t\t\tname,\n\t\t\tlabel,\n\t\t\tsubLabel,\n\t\t\thelpText,\n\t\t\toptions,\n\t\t\tvariant,\n\t\t\tplaceholder,\n\t\t\tmaxCount = 2,\n\t\t\tmodalPopover = false,\n\t\t\tasChild = false,\n\t\t\tclassName,\n\t\t\trequired,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\t\tconst DEFAULT_PLACEHOLDER_FILTER = 'Digite para buscar...';\n\t\tconst DEFAULT_PLACEHOLDER = 'Selecione';\n\n\t\tconst toggleOption = (option: MultiSelectOption, field: ControllerRenderProps<FieldValues, string>) => {\n\t\t\tconst prevValue = field.value || [];\n\n\t\t\tconst newValue = prevValue?.some((item: MultiSelectOption) => item.value === option.value)\n\t\t\t\t? prevValue.filter((item: MultiSelectOption) => item.value !== option.value)\n\t\t\t\t: [...prevValue, option];\n\n\t\t\tfield.onChange(newValue);\n\t\t};\n\n\t\tconst handleClear = (field: ControllerRenderProps<FieldValues, string>) => {\n\t\t\tfield.onChange([]);\n\t\t};\n\n\t\tconst handleTogglePopover = () => {\n\t\t\tsetIsPopoverOpen((prev) => !prev);\n\t\t};\n\n\t\tconst toggleAll = (field: ControllerRenderProps<FieldValues, string>) => {\n\t\t\tif (field.value?.length === options.length) {\n\t\t\t\thandleClear(field);\n\t\t\t} else {\n\t\t\t\tconst allValues = options.map((option) => option);\n\t\t\t\tfield.onChange(allValues);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<FormField\n\t\t\t\tcontrol={control}\n\t\t\t\tname={name}\n\t\t\t\trender={({ field }) => (\n\t\t\t\t\t<FormItem>\n\t\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\tonClick={handleTogglePopover}\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-background hover:bg-background [&_svg]:size-3.5',\n\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{field.value?.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\t<div className='flex justify-between items-center w-full'>\n\t\t\t\t\t\t\t\t\t\t\t<div className='flex items-center'>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className={`grid grid-cols-${maxCount}`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{field.value.slice(0, maxCount).map((option: MultiSelectOption) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`msoptlbl-${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(multiSelectVariants({ variant }))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleOption(option, field);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='truncate'>{option?.label}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className='ml-2 cursor-pointer text-zinc-500' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t{field.value?.length > maxCount && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge variant={'surface'}>{`+${field.value?.length - maxCount}`}</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div className='flex items-center justify-between'>\n\t\t\t\t\t\t\t\t\t\t\t\t<ChevronDown className='h-4 mx-2 cursor-pointer text-muted-foreground' />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<div className='flex items-center justify-between w-full mx-auto'>\n\t\t\t\t\t\t\t\t\t\t\t<span className='text-sm text-muted-foreground mx-3'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\n\t\t\t\t\t\t\t\t\t\t\t<ChevronDown className='h-4 cursor-pointer text-muted-foreground mx-2' />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\t\t\tclassName={cn('w-auto p-0', 'w-[--radix-popover-trigger-width]')}\n\t\t\t\t\t\t\t\talign='start'\n\t\t\t\t\t\t\t\tonEscapeKeyDown={() => setIsPopoverOpen(false)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t\t\t<CommandInput placeholder={DEFAULT_PLACEHOLDER_FILTER} />\n\t\t\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t\t\t<CommandEmpty>Nenhum resultado encontrado</CommandEmpty>\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem key='all' onSelect={() => toggleAll(field)} className='cursor-pointer'>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value?.length === options.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-primary text-primary-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'opacity-50 [&_svg]:invisible',\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className='h-4 w-4' />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Selecionar Todos)</span>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t{options.map((option) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected = field.value?.some((item: MultiSelectOption) => item.value === option.value);\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`msopt-${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => toggleOption(option, field)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='cursor-pointer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected ? 'bg-primary text-primary-foreground' : 'opacity-50 [&_svg]:invisible',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className='h-4 w-4' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t\t</FormItem>\n\t\t\t\t)}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nMultiSelect.displayName = 'MultiSelect';\n","import { Eye, EyeOff } from 'lucide-react';\nimport { useState } from 'react';\nimport * as FormComponents from '../../form';\nimport { InputText } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmaxLength?: number;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputPassWord: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmaxLength,\n\tclassName,\n\tdisabled,\n\trequired,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [showPassword, setShowPassword] = useState(true);\n\tconst togglePasswordVisibility = () => setShowPassword((prev) => !prev);\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<div className='relative w-full'>\n\t\t\t\t\t\t\t<InputText\n\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\ttype={showPassword ? 'password' : 'text'}\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<button type='button' onClick={togglePasswordVisibility} className='absolute inset-y-0 right-2 flex items-center'>\n\t\t\t\t\t\t\t\t{showPassword ? <EyeOff className='w-5 h-5 text-slate-500' /> : <Eye className='w-5 h-5 text-slate-500' />}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { MaskInputDecimal } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputPercent: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputDecimal\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tsymbol='%'\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { MaskInputFone } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst masks = ['(99) 9999-99999', '(99) 9 9999-9999'];\n\nexport const FormInputPhone: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\t// const [_mask, setMask] = useState(masks[0]);\n\n\tconst getMask = (val: string) => (val.replace(/\\D/g, '').length > 10 ? masks[1] : masks[0]);\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputFone\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\tplaceholder={placeholder ?? '(00) 0 0000-0000'}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tmask={getMask(field.value || '')}\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\tonChange?.(e);\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\t// setMask(getMask(e.target.value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => onKeyUp?.(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport { cn } from '../../../../lib/utils';\nimport * as FormComponents from '../../form';\nimport { Label } from '../../label';\nimport { RadioGroup, RadioGroupItem } from '../../radio-group';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nexport interface RadioOption {\n\tvalue: string;\n\tlabel: string;\n\tdescription?: string;\n\tdisabled?: boolean;\n}\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tvalue?: string;\n\tlabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tclassNameOptions?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\toptions?: RadioOption[];\n\tonChange?: (value: string) => void;\n}\n\nexport const FormRadioGroup: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tvalue,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tclassName,\n\tclassNameOptions,\n\tdisabled,\n\trequired,\n\toptions,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\tkey={value}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem>\n\t\t\t\t\t<div className={cn('flex items-center space-x-1.5 mb-2', className)}>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tonValueChange={(value: string) => {\n\t\t\t\t\t\t\t\tfield?.onChange?.(value);\n\t\t\t\t\t\t\t\tonChange?.(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdefaultValue={field.value}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className={cn('flex flex-grow gap-6', classNameOptions)}>\n\t\t\t\t\t\t\t\t{options?.map((option, index) => (\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col' key={`radio-${name}-${index}`}>\n\t\t\t\t\t\t\t\t\t\t<div className='flex items-center space-x-2' key={`radio-${name}-${index}`}>\n\t\t\t\t\t\t\t\t\t\t\t<RadioGroupItem\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\tid={`r${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={field.value === option.value}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<Label htmlFor={`r${option.value}`} className={option.disabled ? 'opacity-50' : ''}>\n\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t\t</Label>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{option.description && (\n\t\t\t\t\t\t\t\t\t\t\t<div className={cn('pl-6 text-zinc-500', { 'opacity-50': option.disabled })}>{option.description}</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { Select } from '@radix-ui/react-select';\nimport { cn } from '../../../../lib/utils';\nimport * as FormComponents from '../../form';\nimport { SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nexport interface SelectOption {\n\tvalue: string;\n\tlabel: string;\n\tdefault?: boolean;\n}\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\toptions: SelectOption[];\n}\n\nexport const FormSelect: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required, options }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Select onValueChange={field.onChange} defaultValue={field.value} disabled={disabled}>\n\t\t\t\t\t\t\t<SelectTrigger className={cn('', formState.errors[name] ? 'border-red-600' : '', className)}>\n\t\t\t\t\t\t\t\t<SelectValue className='text-slate-400' placeholder={placeholder} />\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent className='bg-white cursor-pointer'>\n\t\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { Check } from 'lucide-react';\nimport { Separator } from '../../separator';\n\nexport interface PropsStepNewForm {\n\tsteps: { id: string; label: string }[];\n\tcurrentIndex: number;\n}\n\nconst StepNewForm = ({ steps, currentIndex }: PropsStepNewForm) => {\n\tconst getStepIcon = (index: number) => {\n\t\tif (index < currentIndex) {\n\t\t\treturn (\n\t\t\t\t<div className='flex w-6 h-6 rounded-md items-center justify-center bg-background-secondary border'>\n\t\t\t\t\t<Check size={16} className='stroke-2 stroke-primary' />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`flex w-6 h-6 rounded-md items-center justify-center border ${\n\t\t\t\t\tindex === currentIndex ? 'bg-background-primary text-white' : 'bg-white text-black'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{index + 1}\n\t\t\t</div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className='flex flex-row gap-x-3 my-2.5'>\n\t\t\t{steps.map((step, index, array) => (\n\t\t\t\t<div className='flex items-center text-sm font-medium gap-x-3' key={step.id}>\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-x-3'>\n\t\t\t\t\t\t{getStepIcon(index)}\n\t\t\t\t\t\t{step.label}\n\t\t\t\t\t</div>\n\t\t\t\t\t{index + 1 < array.length && (\n\t\t\t\t\t\t<div className='w-10'>\n\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport { StepNewForm };\n","import { cn } from '../../../../lib/utils';\nimport * as FormComponents from '../../form';\nimport { Switch } from '../../switch';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\ttopLabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\tonCheckedChange?: (checked: boolean) => void;\n}\n\nexport const FormInputSwitch: React.FC<Props> = ({ control, name, label, topLabel, subLabel, helpText, className, disabled, onCheckedChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field }) => (\n\t\t\t\t<FormItem className={cn('flex flex-col gap-y-2', className)}>\n\t\t\t\t\t{topLabel && <FormLabel>{topLabel}</FormLabel>}\n\t\t\t\t\t<div className='flex items-center gap-x-2'>\n\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\tchecked={field.value}\n\t\t\t\t\t\t\t\tonCheckedChange={(checked) => {\n\t\t\t\t\t\t\t\t\tfield.onChange(checked);\n\t\t\t\t\t\t\t\t\tif (onCheckedChange) {\n\t\t\t\t\t\t\t\t\t\tonCheckedChange(checked);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\n\t\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, false, 'pb-0')}\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t\t</div>\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { InputText } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmaxLength?: number;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tinputRef?: React.Ref<HTMLInputElement>;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputText: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmaxLength,\n\tclassName,\n\tdisabled,\n\trequired,\n\tinputRef,\n\tonKeyUp,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputText\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tvalue={field.value || ''}\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { Textarea } from '../../textarea';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\n}\n\nexport const FormTextarea: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName='resize-none outline-none focus:outline-none'\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","// Retorna todas as cores do Tailwind CSS das variações 50 a 950\nexport function getTailwindColorShades() {\n\t// Paleta padrão do Tailwind v3.3.0\n\t// Fonte: https://github.com/tailwindlabs/tailwindcss/blob/master/src/public/colors.js\n\treturn {\n\t\tslate: {\n\t\t\t50: '#f8fafc',\n\t\t\t100: '#f1f5f9',\n\t\t\t200: '#e2e8f0',\n\t\t\t300: '#cbd5e1',\n\t\t\t400: '#94a3b8',\n\t\t\t500: '#64748b',\n\t\t\t600: '#475569',\n\t\t\t700: '#334155',\n\t\t\t800: '#1e293b',\n\t\t\t900: '#0f172a',\n\t\t\t950: '#020617',\n\t\t},\n\t\tgray: {\n\t\t\t50: '#f9fafb',\n\t\t\t100: '#f3f4f6',\n\t\t\t200: '#e5e7eb',\n\t\t\t300: '#d1d5db',\n\t\t\t400: '#9ca3af',\n\t\t\t500: '#6b7280',\n\t\t\t600: '#4b5563',\n\t\t\t700: '#374151',\n\t\t\t800: '#1f2937',\n\t\t\t900: '#111827',\n\t\t\t950: '#030712',\n\t\t},\n\t\tzinc: {\n\t\t\t50: '#fafafa',\n\t\t\t100: '#f4f4f5',\n\t\t\t200: '#e4e4e7',\n\t\t\t300: '#d4d4d8',\n\t\t\t400: '#a1a1aa',\n\t\t\t500: '#71717a',\n\t\t\t600: '#52525b',\n\t\t\t700: '#3f3f46',\n\t\t\t800: '#27272a',\n\t\t\t900: '#18181b',\n\t\t\t950: '#09090b',\n\t\t},\n\t\tneutral: {\n\t\t\t50: '#fafafa',\n\t\t\t100: '#f5f5f5',\n\t\t\t200: '#e5e5e5',\n\t\t\t300: '#d4d4d4',\n\t\t\t400: '#a3a3a3',\n\t\t\t500: '#737373',\n\t\t\t600: '#525252',\n\t\t\t700: '#404040',\n\t\t\t800: '#262626',\n\t\t\t900: '#171717',\n\t\t\t950: '#0a0a0a',\n\t\t},\n\t\tstone: {\n\t\t\t50: '#fafaf9',\n\t\t\t100: '#f5f5f4',\n\t\t\t200: '#e7e5e4',\n\t\t\t300: '#d6d3d1',\n\t\t\t400: '#a8a29e',\n\t\t\t500: '#78716c',\n\t\t\t600: '#57534e',\n\t\t\t700: '#44403c',\n\t\t\t800: '#292524',\n\t\t\t900: '#1c1917',\n\t\t\t950: '#0c0a09',\n\t\t},\n\t\tred: {\n\t\t\t50: '#fef2f2',\n\t\t\t100: '#fee2e2',\n\t\t\t200: '#fecaca',\n\t\t\t300: '#fca5a5',\n\t\t\t400: '#f87171',\n\t\t\t500: '#ef4444',\n\t\t\t600: '#dc2626',\n\t\t\t700: '#b91c1c',\n\t\t\t800: '#991b1b',\n\t\t\t900: '#7f1d1d',\n\t\t\t950: '#450a0a',\n\t\t},\n\t\torange: {\n\t\t\t50: '#fff7ed',\n\t\t\t100: '#ffedd5',\n\t\t\t200: '#fed7aa',\n\t\t\t300: '#fdba74',\n\t\t\t400: '#fb923c',\n\t\t\t500: '#f97316',\n\t\t\t600: '#ea580c',\n\t\t\t700: '#c2410c',\n\t\t\t800: '#9a3412',\n\t\t\t900: '#7c2d12',\n\t\t\t950: '#431407',\n\t\t},\n\t\tamber: {\n\t\t\t50: '#fffbeb',\n\t\t\t100: '#fef3c7',\n\t\t\t200: '#fde68a',\n\t\t\t300: '#fcd34d',\n\t\t\t400: '#fbbf24',\n\t\t\t500: '#f59e42',\n\t\t\t600: '#d97706',\n\t\t\t700: '#b45309',\n\t\t\t800: '#92400e',\n\t\t\t900: '#78350f',\n\t\t\t950: '#451a03',\n\t\t},\n\t\tyellow: {\n\t\t\t50: '#fefce8',\n\t\t\t100: '#fef9c3',\n\t\t\t200: '#fef08a',\n\t\t\t300: '#fde047',\n\t\t\t400: '#facc15',\n\t\t\t500: '#eab308',\n\t\t\t600: '#ca8a04',\n\t\t\t700: '#a16207',\n\t\t\t800: '#854d0e',\n\t\t\t900: '#713f12',\n\t\t\t950: '#422006',\n\t\t},\n\t\tlime: {\n\t\t\t50: '#f7fee7',\n\t\t\t100: '#ecfccb',\n\t\t\t200: '#d9f99d',\n\t\t\t300: '#bef264',\n\t\t\t400: '#a3e635',\n\t\t\t500: '#84cc16',\n\t\t\t600: '#65a30d',\n\t\t\t700: '#4d7c0f',\n\t\t\t800: '#3f6212',\n\t\t\t900: '#365314',\n\t\t\t950: '#1a2e05',\n\t\t},\n\t\tgreen: {\n\t\t\t50: '#f0fdf4',\n\t\t\t100: '#dcfce7',\n\t\t\t200: '#bbf7d0',\n\t\t\t300: '#86efac',\n\t\t\t400: '#4ade80',\n\t\t\t500: '#22c55e',\n\t\t\t600: '#16a34a',\n\t\t\t700: '#15803d',\n\t\t\t800: '#166534',\n\t\t\t900: '#14532d',\n\t\t\t950: '#052e16',\n\t\t},\n\t\temerald: {\n\t\t\t50: '#ecfdf5',\n\t\t\t100: '#d1fae5',\n\t\t\t200: '#a7f3d0',\n\t\t\t300: '#6ee7b7',\n\t\t\t400: '#34d399',\n\t\t\t500: '#10b981',\n\t\t\t600: '#059669',\n\t\t\t700: '#047857',\n\t\t\t800: '#065f46',\n\t\t\t900: '#064e3b',\n\t\t\t950: '#022c22',\n\t\t},\n\t\tteal: {\n\t\t\t50: '#f0fdfa',\n\t\t\t100: '#ccfbf1',\n\t\t\t200: '#99f6e4',\n\t\t\t300: '#5eead4',\n\t\t\t400: '#2dd4bf',\n\t\t\t500: '#14b8a6',\n\t\t\t600: '#0d9488',\n\t\t\t700: '#0f766e',\n\t\t\t800: '#115e59',\n\t\t\t900: '#134e4a',\n\t\t\t950: '#042f2e',\n\t\t},\n\t\tcyan: {\n\t\t\t50: '#ecfeff',\n\t\t\t100: '#cffafe',\n\t\t\t200: '#a5f3fc',\n\t\t\t300: '#67e8f9',\n\t\t\t400: '#22d3ee',\n\t\t\t500: '#06b6d4',\n\t\t\t600: '#0891b2',\n\t\t\t700: '#0e7490',\n\t\t\t800: '#155e75',\n\t\t\t900: '#164e63',\n\t\t\t950: '#083344',\n\t\t},\n\t\tsky: {\n\t\t\t50: '#f0f9ff',\n\t\t\t100: '#e0f2fe',\n\t\t\t200: '#bae6fd',\n\t\t\t300: '#7dd3fc',\n\t\t\t400: '#38bdf8',\n\t\t\t500: '#0ea5e9',\n\t\t\t600: '#0284c7',\n\t\t\t700: '#0369a1',\n\t\t\t800: '#075985',\n\t\t\t900: '#0e3a5e',\n\t\t\t950: '#082f49',\n\t\t},\n\t\tblue: {\n\t\t\t50: '#eff6ff',\n\t\t\t100: '#dbeafe',\n\t\t\t200: '#bfdbfe',\n\t\t\t300: '#93c5fd',\n\t\t\t400: '#60a5fa',\n\t\t\t500: '#3b82f6',\n\t\t\t600: '#2563eb',\n\t\t\t700: '#1d4ed8',\n\t\t\t800: '#1e40af',\n\t\t\t900: '#1e3a8a',\n\t\t\t950: '#172554',\n\t\t},\n\t\tindigo: {\n\t\t\t50: '#eef2ff',\n\t\t\t100: '#e0e7ff',\n\t\t\t200: '#c7d2fe',\n\t\t\t300: '#a5b4fc',\n\t\t\t400: '#818cf8',\n\t\t\t500: '#6366f1',\n\t\t\t600: '#4f46e5',\n\t\t\t700: '#4338ca',\n\t\t\t800: '#3730a3',\n\t\t\t900: '#312e81',\n\t\t\t950: '#1e1b4b',\n\t\t},\n\t\tviolet: {\n\t\t\t50: '#f5f3ff',\n\t\t\t100: '#ede9fe',\n\t\t\t200: '#ddd6fe',\n\t\t\t300: '#c4b5fd',\n\t\t\t400: '#a78bfa',\n\t\t\t500: '#8b5cf6',\n\t\t\t600: '#7c3aed',\n\t\t\t700: '#6d28d9',\n\t\t\t800: '#5b21b6',\n\t\t\t900: '#4c1d95',\n\t\t\t950: '#2e1065',\n\t\t},\n\t\tpurple: {\n\t\t\t50: '#faf5ff',\n\t\t\t100: '#f3e8ff',\n\t\t\t200: '#e9d5ff',\n\t\t\t300: '#d8b4fe',\n\t\t\t400: '#c084fc',\n\t\t\t500: '#a855f7',\n\t\t\t600: '#9333ea',\n\t\t\t700: '#7e22ce',\n\t\t\t800: '#6d19a8',\n\t\t\t900: '#581c87',\n\t\t\t950: '#3b0764',\n\t\t},\n\t\tfuchsia: {\n\t\t\t50: '#fdf4ff',\n\t\t\t100: '#fae8ff',\n\t\t\t200: '#f5d0fe',\n\t\t\t300: '#f0abfc',\n\t\t\t400: '#e879f9',\n\t\t\t500: '#d946ef',\n\t\t\t600: '#c026d3',\n\t\t\t700: '#a21caf',\n\t\t\t800: '#86198f',\n\t\t\t900: '#701a75',\n\t\t\t950: '#4a044e',\n\t\t},\n\t\tpink: {\n\t\t\t50: '#fdf2f8',\n\t\t\t100: '#fce7f3',\n\t\t\t200: '#fbcfe8',\n\t\t\t300: '#f9a8d4',\n\t\t\t400: '#f472b6',\n\t\t\t500: '#ec4899',\n\t\t\t600: '#db2777',\n\t\t\t700: '#be185d',\n\t\t\t800: '#9d174d',\n\t\t\t900: '#831843',\n\t\t\t950: '#500724',\n\t\t},\n\t\trose: {\n\t\t\t50: '#fff1f2',\n\t\t\t100: '#ffe4e6',\n\t\t\t200: '#fecdd3',\n\t\t\t300: '#fda4af',\n\t\t\t400: '#fb7185',\n\t\t\t500: '#f43f5e',\n\t\t\t600: '#e11d48',\n\t\t\t700: '#be123c',\n\t\t\t800: '#9f1239',\n\t\t\t900: '#881337',\n\t\t\t950: '#4c0519',\n\t\t},\n\t};\n}\n\nexport type TailwindColorName = keyof ReturnType<typeof getTailwindColorShades>;\n\nexport const replaceThemeTailwindColors = (theme: string, tailwindColor: string): HTMLStyleElement => {\n\tconst colorShades = getTailwindColorShades();\n\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\n\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\n\n\tconst el = document.createElement('style');\n\tel.id = 'theme-variables';\n\tel.setAttribute('type', 'text/css');\n\tel.textContent = ':root {';\n\n\tif (theme === 'light') {\n\t\tel.textContent += `--sidebar-background: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[200]};\\n`;\n\t\tel.textContent += `--sidebar-ring: ${colorPallete[300]};\\n`;\n\t\tel.textContent += `--sidebar-border: ${colorPallete[100]};\\n`;\n\t\tel.textContent += `--sidebar-scrollbar-thumb: ${colorPallete[200]};\\n`;\n\t}\n\tif (theme === 'light' || theme === 'dark-side') {\n\t\tel.textContent += `--background-elevated: ${colorPallete[200]};\\n`;\n\t\tel.textContent += `--background-primary-hover: ${colorPallete[100]};\\n`;\n\t\tel.textContent += `--background-subtle: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--accent: ${colorPallete[200]};\\n`;\n\t\tel.textContent += `--datatable-background: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--datatable-accent: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--scrollbar-thumb: ${colorPallete[200]};\\n`;\n\t}\n\tif (theme === 'dark-side' || theme === 'dark') {\n\t\t// Verificar essa propriedade\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[950]};\\n`;\n\t}\n\tel.textContent += `--background-primary: ${colorPallete[900]};\\n`;\n\tel.textContent += `--background-primary-hover: ${colorPallete[950]};\\n`;\n\tel.textContent += `--primary: ${colorPallete[900]};\\n`;\n\tel.textContent += `--primary-950: ${colorPallete[950]};\\n`;\n\tel.textContent += `--primary-900: ${colorPallete[900]};\\n`;\n\tel.textContent += `--primary-800: ${colorPallete[800]};\\n`;\n\tel.textContent += `--primary-700: ${colorPallete[700]};\\n`;\n\tel.textContent += `--primary-600: ${colorPallete[600]};\\n`;\n\tel.textContent += `--primary-500: ${colorPallete[500]};\\n`;\n\tel.textContent += `--primary-400: ${colorPallete[400]};\\n`;\n\tel.textContent += `--primary-300: ${colorPallete[300]};\\n`;\n\tel.textContent += `--primary-200: ${colorPallete[200]};\\n`;\n\tel.textContent += `--primary-100: ${colorPallete[100]};\\n`;\n\tel.textContent += `--primary-50: ${colorPallete[50]};\\n`;\n\tel.textContent += `--chart-primary: ${colorPallete[800]};\\n`;\n\tel.textContent += `--chart-secondary: ${colorPallete[200]};\\n`;\n\tel.textContent += '}';\n\n\treturn el;\n};\n","import { createContext, useContext, useEffect, useState } from 'react';\nimport { replaceThemeTailwindColors } from '../../../lib/help/theme';\n\ntype Theme = 'light' | 'dark' | 'dark-side';\n\ntype ThemePortalDefinitions = {\n\tfaviconPath: string;\n\tfullLogoPath: string;\n\tbannerDesktopPath: string;\n\tmvnoPrimaryColor: string;\n\tmvnoMainTheme: Theme;\n\ttitle: string;\n\thideModuleSwitcher: boolean;\n};\n\ntype ThemeProviderProps = {\n\tchildren: React.ReactNode;\n\tdefaultTheme?: ThemePortalDefinitions;\n\tstorageKey?: string;\n};\n\ntype ThemeProviderState = {\n\tportalDefinitions: ThemePortalDefinitions;\n\tsetPortalDefinitions: (portalDefinitions: ThemePortalDefinitions) => void;\n};\n\nexport const DEFAULT_THEME_DATA: ThemePortalDefinitions = {\n\tfaviconPath: '',\n\tfullLogoPath: '',\n\tbannerDesktopPath: '/imgs/background-auth.png',\n\tmvnoPrimaryColor: 'green',\n\tmvnoMainTheme: 'light',\n\ttitle: '-',\n\thideModuleSwitcher: false,\n};\n\nconst initialState: ThemeProviderState = {\n\tportalDefinitions: DEFAULT_THEME_DATA,\n\tsetPortalDefinitions: () => null,\n};\n\nconst ThemeProviderContext = createContext<ThemeProviderState>(initialState);\n\nexport function ThemeProvider({ children, defaultTheme = DEFAULT_THEME_DATA, storageKey = 'vite-ui-theme', ...props }: ThemeProviderProps) {\n\tconst [portalDefinitions, setPortalDefinitionsState] = useState<ThemePortalDefinitions>({\n\t\tfaviconPath: localStorage.getItem(`${storageKey}-faviconPath`) || defaultTheme.faviconPath,\n\t\tfullLogoPath: localStorage.getItem(`${storageKey}-fullLogoPath`) || defaultTheme.fullLogoPath,\n\t\tbannerDesktopPath: localStorage.getItem(`${storageKey}-bannerDesktopPath`) || defaultTheme.bannerDesktopPath,\n\t\tmvnoPrimaryColor: localStorage.getItem(`${storageKey}-mvnoPrimaryColor`) || defaultTheme.mvnoPrimaryColor,\n\t\tmvnoMainTheme: (localStorage.getItem(storageKey) as Theme) || defaultTheme.mvnoMainTheme,\n\t\ttitle: localStorage.getItem(`${storageKey}-title`) || defaultTheme.title,\n\t\thideModuleSwitcher: localStorage.getItem(`${storageKey}-hideModuleSwitcher`) === 'true',\n\t});\n\n\tuseEffect(() => {\n\t\tconst theme = portalDefinitions?.mvnoMainTheme;\n\n\t\tconst root = window.document.documentElement;\n\t\troot.classList.remove('light', 'dark', 'dark-side');\n\t\troot.classList.add(theme);\n\n\t\tdocument.title = portalDefinitions?.title;\n\t\tconst meta = document.querySelector('meta[name=\"description\"]');\n\t\tif (meta) {\n\t\t\tmeta.setAttribute('content', portalDefinitions?.title);\n\t\t}\n\n\t\tlet link = document.querySelector<HTMLLinkElement>(\"link[rel~='icon']\");\n\t\tif (!link) {\n\t\t\tlink = document.createElement('link');\n\t\t\tlink.rel = 'icon';\n\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\n\t\t}\n\t\tlink.href = portalDefinitions?.faviconPath;\n\n\t\tconst el = replaceThemeTailwindColors(theme, portalDefinitions?.mvnoPrimaryColor);\n\n\t\tdocument.getElementById('theme-variables') &&\n\t\t\tdocument.getElementsByTagName('head')[0].removeChild(document.getElementById('theme-variables')!);\n\t\tdocument.getElementsByTagName('head')[0].appendChild(el);\n\t}, [portalDefinitions]);\n\n\tconst setPortalDefinitions = (portalDefinitions: ThemePortalDefinitions) => {\n\t\tlocalStorage.setItem(`${storageKey}-faviconPath`, portalDefinitions.faviconPath);\n\t\tlocalStorage.setItem(`${storageKey}-fullLogoPath`, portalDefinitions.fullLogoPath);\n\t\tlocalStorage.setItem(`${storageKey}-bannerDesktopPath`, portalDefinitions.bannerDesktopPath);\n\t\tlocalStorage.setItem(`${storageKey}-mvnoPrimaryColor`, portalDefinitions.mvnoPrimaryColor);\n\t\tlocalStorage.setItem(`${storageKey}-mvnoMainTheme`, portalDefinitions.mvnoMainTheme);\n\t\tlocalStorage.setItem(`${storageKey}-title`, portalDefinitions.title);\n\t\tlocalStorage.setItem(`${storageKey}-hideModuleSwitcher`, String(portalDefinitions.hideModuleSwitcher));\n\n\t\tsetPortalDefinitionsState({\n\t\t\tfaviconPath: portalDefinitions.faviconPath || DEFAULT_THEME_DATA.faviconPath,\n\t\t\tfullLogoPath: portalDefinitions.fullLogoPath || DEFAULT_THEME_DATA.fullLogoPath,\n\t\t\tbannerDesktopPath: portalDefinitions.bannerDesktopPath || DEFAULT_THEME_DATA.bannerDesktopPath,\n\t\t\tmvnoPrimaryColor: portalDefinitions.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor,\n\t\t\tmvnoMainTheme: portalDefinitions.mvnoMainTheme ? (portalDefinitions.mvnoMainTheme as Theme) : DEFAULT_THEME_DATA.mvnoMainTheme,\n\t\t\ttitle: portalDefinitions.title || DEFAULT_THEME_DATA.title,\n\t\t\thideModuleSwitcher: portalDefinitions.hideModuleSwitcher || DEFAULT_THEME_DATA.hideModuleSwitcher,\n\t\t});\n\t};\n\n\tconst value: ThemeProviderState = {\n\t\tportalDefinitions,\n\t\tsetPortalDefinitions: setPortalDefinitions,\n\t};\n\n\treturn (\n\t\t<ThemeProviderContext.Provider {...props} value={value}>\n\t\t\t{children}\n\t\t</ThemeProviderContext.Provider>\n\t);\n}\n\nexport const useTheme = () => {\n\tconst context = useContext(ThemeProviderContext);\n\n\tif (context === undefined) throw new Error('useTheme must be used within a ThemeProvider');\n\n\treturn context;\n};\n","import { type ReactNode, useEffect, useRef } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport LoadingBar, { type LoadingBarRef } from 'react-top-loading-bar';\nimport { getTailwindColorShades, type TailwindColorName } from '../../../lib/help/theme';\nimport { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../breadcrumb';\nimport { SidebarTrigger } from '../sidebar';\nimport type { Module, SidebarPage } from './sidebar/types/sidebar';\nimport { DEFAULT_THEME_DATA, useTheme } from './theme-provider';\n\nconst Header = ({\n\tsplittedPath,\n\tmodules,\n\tpages,\n\tisLoading,\n\tcombobox,\n}: {\n\tsplittedPath: string[];\n\tmodules: Module[];\n\tpages: SidebarPage[];\n\tisLoading: boolean;\n\tcombobox: ReactNode;\n}) => {\n\tconst { portalDefinitions } = useTheme();\n\tconst navigate = useNavigate();\n\tconst refProgressLoading = useRef<LoadingBarRef>(null);\n\tconst lastPage = splittedPath[splittedPath.length - 1];\n\n\tuseEffect(() => {\n\t\tisLoading ? refProgressLoading.current?.start() : refProgressLoading.current?.complete();\n\t}, [isLoading]);\n\n\tconst setRouter = (path: string) => {\n\t\tnavigate(path);\n\t};\n\n\tconst getPath = (index: number) => {\n\t\tlet path = '';\n\n\t\tfor (let i = 0; i <= index; i++) {\n\t\t\tpath += `/${splittedPath[i]}`;\n\t\t}\n\n\t\treturn path;\n\t};\n\n\tconst getLinkSidebar = (index: number) => {\n\t\treturn pages.find((item) => item.path === getPath(index));\n\t};\n\n\tconst getSubMenuItem = (index: number) => {\n\t\treturn pages.flatMap((item) => item.subMenuItems || []).find((sub) => sub.path === getPath(index));\n\t};\n\n\tconst getModule = (page: string) => {\n\t\tconst module = modules.find((mod) => mod.value === page);\n\t\tif (!module) {\n\t\t\treturn page;\n\t\t}\n\n\t\treturn module?.title;\n\t};\n\n\tconst getTitle = (index: number) => {\n\t\tconst linkSidebar = getLinkSidebar(index);\n\t\tconst subMenuItem = getSubMenuItem(index);\n\n\t\tif (subMenuItem) {\n\t\t\treturn subMenuItem.label;\n\t\t}\n\n\t\treturn linkSidebar?.title;\n\t};\n\n\tconst renderBreadcrumbPage = (index: number) => {\n\t\treturn <BreadcrumbPage>{getTitle(index)}</BreadcrumbPage>;\n\t};\n\n\tconst renderBreadcrumbLink = (page: string, index: number) => {\n\t\tconst linkSidebar = getLinkSidebar(index);\n\n\t\treturn linkSidebar?.subMenuType ? (\n\t\t\trenderBreadcrumbPage(index)\n\t\t) : (\n\t\t\t<BreadcrumbLink onClick={() => setRouter(getPath(index))} className='cursor-pointer'>\n\t\t\t\t{index === 0 ? getModule(page) : getTitle(index)}\n\t\t\t</BreadcrumbLink>\n\t\t);\n\t};\n\n\tconst renderBreadcrumbItens = () => {\n\t\tconst breadcrumbItems: JSX.Element[] = [];\n\n\t\tsplittedPath.forEach((page, index) => {\n\t\t\tbreadcrumbItems.push(\n\t\t\t\t<BreadcrumbItem key={`breadcrumb-item-${index}`}>\n\t\t\t\t\t{page === lastPage ? renderBreadcrumbPage(index) : renderBreadcrumbLink(page, index)}\n\t\t\t\t</BreadcrumbItem>,\n\t\t\t);\n\t\t\tif (page !== lastPage) {\n\t\t\t\tbreadcrumbItems.push(<BreadcrumbSeparator key={`breadcrumb-separator-${index}`} className='mt-[1px]' />);\n\t\t\t}\n\t\t});\n\n\t\treturn breadcrumbItems;\n\t};\n\n\tconst getColorLoadingBar = () => {\n\t\tconst colorShades = getTailwindColorShades();\n\t\tconst tailwindColor = portalDefinitions?.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor;\n\t\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\n\t\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\n\t\treturn colorPallete[900];\n\t};\n\n\treturn (\n\t\t<header className='flex flex-col justify-between items-center w-full'>\n\t\t\t<div className='flex justify-between items-center py-3 px-5 w-full'>\n\t\t\t\t<div className='flex items-center gap-x-2 h-[40px]'>\n\t\t\t\t\t<SidebarTrigger className='p-5' />\n\t\t\t\t\t<div className='p-2'>\n\t\t\t\t\t\t<Breadcrumb>\n\t\t\t\t\t\t\t<BreadcrumbList>{renderBreadcrumbItens()}</BreadcrumbList>\n\t\t\t\t\t\t</Breadcrumb>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className='flex items-center'>{combobox}</div>\n\t\t\t</div>\n\t\t\t{<LoadingBar ref={refProgressLoading} color={getColorLoadingBar()} height={7} />}\n\t\t</header>\n\t);\n};\n\nexport default Header;\n","import { Copy } from 'lucide-react';\nimport type React from 'react';\nimport { cn } from '../../../lib/utils';\nimport { Button } from '../button';\nimport { Skeleton } from '../skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip';\nimport { toast } from '../use-toast';\n\ninterface LabelWithTitleProps {\n\ttitle: string;\n\tvalue: string;\n\tvalue2?: string;\n\trequired?: boolean;\n\tshowCopyIcon?: boolean;\n\tclassName?: string;\n\tisLoading?: boolean;\n}\n\nconst LabelWithTitle: React.FC<LabelWithTitleProps> = ({ title, value, value2, required, showCopyIcon = false, className, isLoading }) => {\n\tconst handleCopy = () => {\n\t\tif (showCopyIcon && value) {\n\t\t\tnavigator.clipboard.writeText(`${value}${value2 ?? ''}`);\n\t\t\ttoast({\n\t\t\t\ttitle: `\"${value}${value2 ?? ''}\" foi copiado para a área de transferência.`,\n\t\t\t\tvariant: 'success',\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn('flex group', className)}>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex flex-col text-sm w-full',\n\t\t\t\t\tshowCopyIcon ? 'p-1 rounded-md transition-colors group-hover:bg-sidebar-accent' : 'p-1',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className='relative'>\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-0.5'>\n\t\t\t\t\t\t<span className='text-default truncate'>{title}</span>\n\t\t\t\t\t\t{required && <div className='text-red-500 truncate'>*</div>}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\n\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value}</div>}\n\t\t\t\t\t</div>\n\t\t\t\t\t{value2 && (\n\t\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\n\t\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value2}</div>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'pr-1 absolute top-1/2 right-0 -translate-y-1/2 opacity-0 transition-opacity',\n\t\t\t\t\t\t\tshowCopyIcon && 'group-hover:opacity-100',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\tclassName={cn('p-1 h-8', !showCopyIcon && 'cursor-default')}\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Copy size={16} />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t<TooltipContent>Copiar</TooltipContent>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</TooltipProvider>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default LabelWithTitle;\n","import { BarChart2 } from 'lucide-react';\nimport { Button } from '../button';\n\nconst NotFound = () => {\n\treturn (\n\t\t<div className=\"flex flex-col items-center justify-center h-screen bg-[url('/imgs/404.png')] bg-cover bg-no-repeat bg-center\">\n\t\t\t<div className='flex flex-col items-center justify-center gap-8 w-[424px]'>\n\t\t\t\t<div className='flex flex-col items-center w-full'>\n\t\t\t\t\t<div className='text-5xl font-extrabold'>404</div>\n\t\t\t\t\t<div className='text-3xl font-semibold'>Página Indisponível</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='flex text-center text-xl font-semibold text-zinc-500'>\n\t\t\t\t\tA página que você está tentando acessar se encontra indisponível no momento, tente novamente mais tarde\n\t\t\t\t</div>\n\t\t\t\t<div className='flex justify-center w-full'>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\twindow.location.href = '/';\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName='[&_svg]:size-5'\n\t\t\t\t\t>\n\t\t\t\t\t\t<BarChart2 />\n\t\t\t\t\t\tVoltar Para Inicial\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default NotFound;\n","import { forwardRef, useEffect, useImperativeHandle, useState } from 'react';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { Button } from '../button';\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger } from '../dialog';\nimport { Drawer, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger } from '../drawer';\n\nexport type ResponsiveDialogAction = {\n\tlabel: string;\n\ticon?: JSX.Element;\n\tvariant: 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost';\n\tonClick?: () => void;\n\tclassName?: string;\n\tdisabled?: boolean;\n};\n\nexport type ResponsiveDialogRef = {\n\tclose: () => void;\n};\n\ninterface ResponsiveDialogProps {\n\ttrigger?: React.ReactNode;\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n\tactions?: ResponsiveDialogAction[];\n\tisOpenDialog?: boolean;\n\tsetIsOpenDialog?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const ResponsiveDialog = forwardRef<ResponsiveDialogRef, ResponsiveDialogProps>(\n\t({ title, trigger, description, children, actions, isOpenDialog, setIsOpenDialog }, ref) => {\n\t\tconst [open, setOpen] = useState(false);\n\t\tconst isMobile = useIsMobile();\n\n\t\tuseEffect(() => {\n\t\t\tif (isOpenDialog !== undefined) {\n\t\t\t\tsetOpen(isOpenDialog);\n\t\t\t}\n\t\t}, [isOpenDialog]);\n\n\t\tuseEffect(() => {\n\t\t\tif (setIsOpenDialog !== undefined) {\n\t\t\t\tsetIsOpenDialog(open);\n\t\t\t}\n\t\t}, [open]);\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tclose: () => setOpen(false),\n\t\t}));\n\n\t\tconst renderTitle = () => <div className='text-2xl font-semibold'>{title}</div>;\n\n\t\tconst renderActions = () => {\n\t\t\treturn actions?.map((action, index) => (\n\t\t\t\t<Button\n\t\t\t\t\tkey={`action-responsive-dialog-${index}`}\n\t\t\t\t\tonClick={() => action.onClick?.()}\n\t\t\t\t\tvariant={action.variant}\n\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t>\n\t\t\t\t\t{action.icon && <div className='[&_svg]:size-5'>{action.icon}</div>}\n\t\t\t\t\t{action.label}\n\t\t\t\t</Button>\n\t\t\t));\n\t\t};\n\n\t\tif (isMobile) {\n\t\t\treturn (\n\t\t\t\t<Drawer open={open} onOpenChange={setOpen}>\n\t\t\t\t\t{trigger && (\n\t\t\t\t\t\t<DrawerTrigger className='cursor-pointer' asChild>\n\t\t\t\t\t\t\t{trigger}\n\t\t\t\t\t\t</DrawerTrigger>\n\t\t\t\t\t)}\n\t\t\t\t\t<DrawerContent className='px-5 py-7 rounded-t-3xl'>\n\t\t\t\t\t\t<DrawerHeader>\n\t\t\t\t\t\t\t<DrawerTitle>{renderTitle()}</DrawerTitle>\n\t\t\t\t\t\t\t{description ? <DrawerDescription>{description}</DrawerDescription> : <DrawerDescription />}\n\t\t\t\t\t\t</DrawerHeader>\n\n\t\t\t\t\t\t{children}\n\t\t\t\t\t\t<DrawerFooter className='grid gap-6 px-0 pt-8'>{renderActions()}</DrawerFooter>\n\t\t\t\t\t</DrawerContent>\n\t\t\t\t</Drawer>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Dialog open={open} onOpenChange={setOpen}>\n\t\t\t\t{trigger && (\n\t\t\t\t\t<DialogTrigger className='cursor-pointer h-min' asChild>\n\t\t\t\t\t\t{trigger}\n\t\t\t\t\t</DialogTrigger>\n\t\t\t\t)}\n\t\t\t\t<DialogContent className='px-5 py-7 rounded-3xl'>\n\t\t\t\t\t<DialogTitle>{renderTitle()}</DialogTitle>\n\t\t\t\t\t{description ? <DialogDescription>{description}</DialogDescription> : <DialogDescription />}\n\t\t\t\t\t{children}\n\t\t\t\t\t<DialogFooter className='gap-2'>{renderActions()}</DialogFooter>\n\t\t\t\t</DialogContent>\n\t\t\t</Dialog>\n\t\t);\n\t},\n);\n","import type * as React from 'react';\n\ninterface SidebarItemTwoLinesProps {\n\titem: {\n\t\ticonLeft: React.ReactNode;\n\t\ttitle: string;\n\t\tsubTitle: string;\n\t\ticonRight?: React.ReactNode | null;\n\t};\n}\n\nconst SidebarItemTwoLines = ({ item }: SidebarItemTwoLinesProps) => {\n\treturn (\n\t\t<>\n\t\t\t<div className='[&_svg]:size-4 text-white'>{item.iconLeft}</div>\n\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\n\t\t\t\t<span className='truncate font-semibold'>{item.title}</span>\n\t\t\t\t<span className='truncate text-xs text-foreground'>{item.subTitle}</span>\n\t\t\t</div>\n\t\t\t{item.iconRight}\n\t\t</>\n\t);\n};\n\nexport default SidebarItemTwoLines;\n","import { Check, ChevronsUpDown } from 'lucide-react';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\nimport type { Module } from './types/sidebar';\n\ninterface ModuleSwitcherProps {\n\tmodules: Module[];\n\tactiveModule: Module | undefined;\n\tonModuleChange: (module: Module) => void;\n}\n\nconst ModuleSwitcher = ({ modules, activeModule, onModuleChange }: ModuleSwitcherProps) => {\n\tconst { isMobile } = useSidebar();\n\n\treturn modules.length === 1 ? (\n\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\n\t\t\t<SidebarItemTwoLines\n\t\t\t\titem={{\n\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>,\n\t\t\t\t\ttitle: activeModule?.title ?? '',\n\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</SidebarMenuButton>\n\t) : (\n\t\t<SidebarMenu>\n\t\t\t<SidebarMenuItem>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\n\t\t\t\t\t\t\t<SidebarItemTwoLines\n\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\ticonLeft: (\n\t\t\t\t\t\t\t\t\t\t<div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: activeModule?.title ?? '',\n\t\t\t\t\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\n\t\t\t\t\t\t\t\t\ticonRight: <ChevronsUpDown size={16} />,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' align='start' side={isMobile ? 'bottom' : 'right'} sideOffset={4}>\n\t\t\t\t\t\t{modules.map((module) => (\n\t\t\t\t\t\t\t<DropdownMenuItem key={`module-switcher-${module.value}`} onClick={() => onModuleChange?.(module)} className='gap-2 p-2'>\n\t\t\t\t\t\t\t\t<SidebarItemTwoLines\n\t\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{module.icon}</div>,\n\t\t\t\t\t\t\t\t\t\ttitle: module.title,\n\t\t\t\t\t\t\t\t\t\tsubTitle: module.subTitle,\n\t\t\t\t\t\t\t\t\t\ticonRight: activeModule?.value === module.value ? <Check size={16} /> : null,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</SidebarMenuItem>\n\t\t</SidebarMenu>\n\t);\n};\n\nexport default ModuleSwitcher;\n","import { cn } from '../../../../lib/utils';\nimport { SidebarMenuButton } from '../../sidebar';\nimport type { Module, SidebarPage } from './types/sidebar';\n\ninterface SidebarItemProps {\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick?: (module: Module | null, path: string) => void;\n}\n\nconst SidebarButton = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\n\treturn (\n\t\t<SidebarMenuButton\n\t\t\tasChild\n\t\t\tclassName={cn(\n\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\n\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\n\t\t\t)}\n\t\t\ttooltip={item.title}\n\t\t\tonClick={() => onClick?.(item.module ?? null, item.path)}\n\t\t>\n\t\t\t<div>\n\t\t\t\t<div className='[&_svg]:size-4 text-sidebar-foreground'>{item.icon}</div>\n\t\t\t\t<span>{item.title}</span>\n\t\t\t</div>\n\t\t</SidebarMenuButton>\n\t);\n};\n\nexport default SidebarButton;\n","import { SidebarMenuItem } from '../../sidebar';\nimport SidebarButton from './sidebar-button';\nimport type { Module, SidebarPage } from './types/sidebar';\n\ninterface SidebarItemProps {\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick?: (module: Module | null, path: string) => void;\n}\n\nconst SidebarItem = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\n\treturn (\n\t\t<SidebarMenuItem>\n\t\t\t<SidebarButton item={item} selectedRoute={selectedRoute} onClick={onClick} />\n\t\t</SidebarMenuItem>\n\t);\n};\n\nexport default SidebarItem;\n","import { useLocation, useNavigate } from 'react-router-dom';\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\nimport SidebarItem from './sidebar-item';\nimport type { SidebarPage } from './types/sidebar';\n\ninterface NavFooterProps {\n\tpages: SidebarPage[];\n}\n\nconst NavFooter = ({ pages }: NavFooterProps) => {\n\tconst navigate = useNavigate();\n\tconst location = useLocation();\n\tconst selectedRoutePath = location.pathname;\n\n\treturn (\n\t\t<SidebarGroup className='p-0'>\n\t\t\t<SidebarGroupContent>\n\t\t\t\t<SidebarMenu>\n\t\t\t\t\t{pages.map((item) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SidebarItem\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</SidebarMenu>\n\t\t\t</SidebarGroupContent>\n\t\t</SidebarGroup>\n\t);\n};\n\nexport default NavFooter;\n","import { ChevronRight } from 'lucide-react';\nimport { cn } from '../../../../lib/utils';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../collapsible';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, useSidebar } from '../../sidebar';\nimport type { SidebarPage } from './types/sidebar';\n\ninterface NavSubmenuCollapsibleProps {\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick: (path: string) => void;\n}\n\nconst NavSubmenuCollapsible = ({ item, selectedRoute, onClick }: NavSubmenuCollapsibleProps) => {\n\tconst { open, toggleSidebar } = useSidebar();\n\n\tconst isOpen = (): boolean => {\n\t\treturn selectedRoute?.includes(item.path) ?? false;\n\t};\n\n\tconst handleToggleSidebar = () => {\n\t\tif (!open) toggleSidebar();\n\t};\n\n\treturn (\n\t\t<SidebarMenu>\n\t\t\t<Collapsible key={item.title} asChild defaultOpen={isOpen()}>\n\t\t\t\t<SidebarMenuItem>\n\t\t\t\t\t<CollapsibleTrigger asChild className='group/collapsible'>\n\t\t\t\t\t\t<SidebarMenuButton tooltip={item.title} className='px-2 py-5 gap-3' onClick={() => handleToggleSidebar()}>\n\t\t\t\t\t\t\t{item.icon}\n\t\t\t\t\t\t\t<span>{item.title}</span>\n\t\t\t\t\t\t\t<ChevronRight className='ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90' />\n\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t<CollapsibleContent>\n\t\t\t\t\t\t<SidebarMenuSub>\n\t\t\t\t\t\t\t{item.subMenuItems?.map((subItem) => (\n\t\t\t\t\t\t\t\t<SidebarMenuSubItem key={subItem.label}>\n\t\t\t\t\t\t\t\t\t<SidebarMenuSubButton asChild onClick={() => onClick(subItem.path)} aria-disabled={subItem.disabled}>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'cursor-pointer px-2 py-1 items-center self-stretch',\n\t\t\t\t\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span>{subItem.label}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</SidebarMenuSubButton>\n\t\t\t\t\t\t\t\t</SidebarMenuSubItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SidebarMenuSub>\n\t\t\t\t\t</CollapsibleContent>\n\t\t\t\t</SidebarMenuItem>\n\t\t\t</Collapsible>\n\t\t</SidebarMenu>\n\t);\n};\n\nexport default NavSubmenuCollapsible;\n","import { ChevronRight } from 'lucide-react';\nimport { cn } from '../../../../lib/utils';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\nimport { SidebarMenuButton, SidebarMenuItem } from '../../sidebar';\nimport type { SidebarPage } from './types/sidebar';\n\ninterface NavSubmenuDropdownProps {\n\tcols?: number;\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick: (path: string) => void;\n}\n\nconst NavSubmenuDropdown = ({ cols, item, selectedRoute, onClick }: NavSubmenuDropdownProps) => {\n\treturn (\n\t\t<SidebarMenuItem>\n\t\t\t<DropdownMenu>\n\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\tasChild\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\n\t\t\t\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\n\t\t\t\t\t\t)}\n\t\t\t\t\t\ttooltip={item.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{item.icon}\n\t\t\t\t\t\t\t<span>{item.title}</span>\n\t\t\t\t\t\t\t{<ChevronRight className='ml-auto' />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t<DropdownMenuContent className={`grid grid-cols-${cols ?? '1'} gap-4 p-4`} align='start' side='right' sideOffset={4}>\n\t\t\t\t\t{item.subMenuItems?.map((subItem, index) => (\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tkey={`${index}`}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'flex flex-col items-start text-left max-w-[220px] gap-1 cursor-pointer',\n\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => onClick(subItem.path)}\n\t\t\t\t\t\t\tdisabled={subItem.disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className='text-sm font-semibold'>{subItem.label}</div>\n\t\t\t\t\t\t\t<div className='text-sm text-muted-foreground'>{subItem.description}</div>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</DropdownMenuContent>\n\t\t\t</DropdownMenu>\n\t\t</SidebarMenuItem>\n\t);\n};\n\nexport default NavSubmenuDropdown;\n","export const SidebarSubmenuType = {\n\tCOLLAPSIBLE: 'collapsible',\n\t// Deprecated: Use COLLAPSIBLE instead\n\tDROPDOWN: 'dropdown',\n} as const;\nexport type SidebarSubmenuType = (typeof SidebarSubmenuType)[keyof typeof SidebarSubmenuType];\n\nexport interface Module {\n\tvalue: string;\n\tpath: string;\n\ttitle: string;\n\ticon: React.ReactNode;\n\tsubTitle: string;\n}\n\nexport interface SidebarPage {\n\tmodule: Module;\n\tpath: string;\n\ticon?: React.ReactNode;\n\ttitle: string;\n\thideSidebar: boolean;\n\tdisplayOnlyresellerIsAdm?: boolean;\n\tsubMenuType?: SidebarSubmenuType;\n\tsubMenuItems?: {\n\t\tlabel: string;\n\t\tdescription?: string;\n\t\tpath: string;\n\t\tdisplayOnlyresellerIsAdm?: boolean;\n\t\tdisabled?: boolean;\n\t}[];\n}\n","import { useLocation, useNavigate } from 'react-router-dom';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\nimport NavSubmenuCollapsible from './nav-submenu-collapsible';\nimport NavSubmenuDropdown from './nav-submenu-dropdown';\nimport SidebarItem from './sidebar-item';\nimport { type SidebarPage, SidebarSubmenuType } from './types/sidebar';\n\ninterface NavMainProps {\n\tpages: SidebarPage[];\n}\n\nconst NavMain = ({ pages }: NavMainProps) => {\n\tconst navigate = useNavigate();\n\tconst location = useLocation();\n\tconst isMobile = useIsMobile();\n\tconst selectedRoutePath = location.pathname;\n\n\treturn (\n\t\t<SidebarGroup>\n\t\t\t<SidebarGroupContent>\n\t\t\t\t<SidebarMenu>\n\t\t\t\t\t{pages.map((item) => {\n\t\t\t\t\t\tif (item.subMenuType) {\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.COLLAPSIBLE || isMobile) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<NavSubmenuCollapsible\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-collapsible-${item.path}`}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Deprecated: Use COLLAPSIBLE instead\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.DROPDOWN) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<NavSubmenuDropdown\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-dropdown-${item.path}`}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\n\t\t\t\t\t\t\t\t\t\tcols={3}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SidebarItem\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</SidebarMenu>\n\t\t\t</SidebarGroupContent>\n\t\t</SidebarGroup>\n\t);\n};\n\nexport default NavMain;\n","import { LoaderCircle, LogOut } from 'lucide-react';\nimport { useState } from 'react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../avatar';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger } from '../../dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\n\ninterface NavUserProps {\n\tuserName: string;\n\tuserEmail: string;\n\tuserInitials: string;\n\tcallbackLogout: () => void;\n}\n\nconst NavUser = ({ userName, userEmail, userInitials, callbackLogout }: NavUserProps) => {\n\tconst [isLoggingOut, setIsLoggingOut] = useState(false);\n\tconst { isMobile } = useSidebar();\n\n\tconst handleLogout = () => {\n\t\tsetIsLoggingOut(true);\n\t\tsetTimeout(() => {\n\t\t\tcallbackLogout();\n\t\t}, 1000);\n\t};\n\n\treturn (\n\t\t<SidebarMenu>\n\t\t\t<SidebarMenuItem>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\n\t\t\t\t\t\t\t<SidebarItemTwoLines\n\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\ticonLeft: (\n\t\t\t\t\t\t\t\t\t\t<Avatar className='h-[31px] w-[31px] rounded-md'>\n\t\t\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\n\t\t\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-md bg-background-primary text-white'>{userInitials}</AvatarFallback>\n\t\t\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: isLoggingOut ? 'Saindo...' : userName,\n\t\t\t\t\t\t\t\t\tsubTitle: isLoggingOut ? '' : userEmail,\n\t\t\t\t\t\t\t\t\ticonRight: isLoggingOut ? (\n\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-sidebar-foreground animate-spin mr-2' />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<LogOut size={16} className='text-sidebar-foreground' />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' side={isMobile ? 'bottom' : 'right'} align='end' sideOffset={4}>\n\t\t\t\t\t\t<DropdownMenuLabel className='p-0 font-normal'>\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\n\t\t\t\t\t\t\t\t<Avatar className='h-8 w-8 rounded-lg'>\n\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\n\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-lg bg-background-primary text-white'>{userInitials}</AvatarFallback>\n\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\n\t\t\t\t\t\t\t\t\t<span className='truncate font-semibold'>{userName}</span>\n\t\t\t\t\t\t\t\t\t<span className='truncate text-xs'>{userEmail}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</DropdownMenuLabel>\n\t\t\t\t\t\t<DropdownMenuItem className='p-0 font-normal cursor-pointer' onClick={() => handleLogout()}>\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\n\t\t\t\t\t\t\t\t<div className='flex w-8 h-8 p-2 items-center rounded-md'>{<LogOut size={16} />}</div>\n\t\t\t\t\t\t\t\tLog out\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</SidebarMenuItem>\n\t\t</SidebarMenu>\n\t);\n};\n\nexport default NavUser;\n","import { zodResolver } from '@hookform/resolvers/zod';\nimport { type FieldErrors, useForm } from 'react-hook-form';\nimport { z } from 'zod';\nimport { Button } from '../../button';\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../dialog';\nimport { Form } from '../../form';\nimport { toast } from '../../use-toast';\nimport { FormRadioGroup } from '../form/radio-group';\nimport type { ExportDataTable } from './types/data-table';\n\ninterface DataTableExportProps {\n\texportData?: ExportDataTable;\n\ttotalRows: number;\n}\n\nexport function DataTableExport({ exportData, totalRows }: DataTableExportProps) {\n\tconst ExportDataSchema = z.object({\n\t\tmodel: z.string(),\n\t\tformat: z.string(),\n\t});\n\n\tconst form = useForm<z.infer<typeof ExportDataSchema>>({\n\t\tmode: 'onTouched',\n\t\tresolver: zodResolver(ExportDataSchema),\n\t});\n\n\tconst { control, trigger, handleSubmit } = form;\n\n\tconst exportXlSX = () => {\n\t\tif (!exportData) return;\n\n\t\tif (totalRows === 0) {\n\t\t\ttoast({\n\t\t\t\ttitle: 'Não há dados para exportar.',\n\t\t\t\tvariant: 'destructive',\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\tconst params = new URLSearchParams(exportData.params).toString();\n\t\twindow.open(`${exportData.url}?${params}`, '_blank');\n\t};\n\n\tconst renderExport = () => {\n\t\tif (!exportData) return null;\n\n\t\tif (exportData.type === 'xlsx') {\n\t\t\treturn (\n\t\t\t\t<Button type='button' variant='secondary' onClick={exportXlSX}>\n\t\t\t\t\tExportar\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}\n\n\t\tif (exportData.type === 'dialog') {\n\t\t\tconst onSubmit = async (_values: z.infer<typeof ExportDataSchema>) => {\n\t\t\t\tawait trigger();\n\n\t\t\t\ttoast({\n\t\t\t\t\ttitle: 'Em desenvolvimento.',\n\t\t\t\t\tvariant: 'destructive',\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst onError = async (_errors: FieldErrors<z.infer<typeof ExportDataSchema>>) => {\n\t\t\t\ttoast({\n\t\t\t\t\ttitle: 'Erro ao salvar',\n\t\t\t\t\tdescription: 'Verifique os campos obrigatórios',\n\t\t\t\t\tvariant: 'destructive',\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<Form {...(form as any)} onSubmit={handleSubmit(onSubmit, onError)}>\n\t\t\t\t\t<Dialog>\n\t\t\t\t\t\t<DialogTrigger asChild>\n\t\t\t\t\t\t\t<Button type='button' variant='secondary'>\n\t\t\t\t\t\t\t\tExportar\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</DialogTrigger>\n\t\t\t\t\t\t<DialogContent hideClose className='fixed p-6 rounded-lg w-[451px]'>\n\t\t\t\t\t\t\t<DialogHeader>\n\t\t\t\t\t\t\t\t<DialogTitle>Exportar</DialogTitle>\n\t\t\t\t\t\t\t\t<DialogDescription />\n\t\t\t\t\t\t\t</DialogHeader>\n\t\t\t\t\t\t\t<div className='flex flex-col gap-6'>\n\t\t\t\t\t\t\t\t<FormRadioGroup\n\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\tname='model'\n\t\t\t\t\t\t\t\t\tlabel='Selecione o modelo de visualização'\n\t\t\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'Resumido' },\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'Detalhado' },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<FormRadioGroup\n\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\tname='format'\n\t\t\t\t\t\t\t\t\tlabel='Selecione o formato desejado para exportação'\n\t\t\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'PDF' },\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'XLSX' },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<DialogFooter className='sm:justify-end gap-2'>\n\t\t\t\t\t\t\t\t<Button type='button' variant='secondary'>\n\t\t\t\t\t\t\t\t\tFechar\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<Button type='button' variant='default' onClick={() => exportXlSX()}>\n\t\t\t\t\t\t\t\t\tExportar\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</DialogFooter>\n\t\t\t\t\t\t</DialogContent>\n\t\t\t\t\t</Dialog>\n\t\t\t\t</Form>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\treturn exportData && renderExport();\n}\n","import type { PaginationState } from '@tanstack/react-table';\nimport { Badge } from '../../badge';\nimport {\n\tPagination,\n\tPaginationContent,\n\tPaginationEllipsis,\n\tPaginationItem,\n\tPaginationLink,\n\tPaginationNext,\n\tPaginationPrevious,\n} from '../../pagination';\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\nimport { DataTableExport } from './data-table-export';\nimport type { ExportDataTable } from './types/data-table';\n\ninterface DataTableFooterProps<_TData> {\n\thidePagination?: boolean;\n\tdisablePagination?: boolean;\n\tisLoading?: boolean;\n\ttotalRows: number;\n\ttotalPages: number;\n\tcurrentPage: number;\n\tpagination: PaginationState;\n\thandlePageSize: (value: number) => void;\n\thandlePage: (value: number) => void;\n\tpreviousPage: {\n\t\taction: () => void;\n\t\tdisabled: boolean;\n\t};\n\tnextPage: {\n\t\taction: () => void;\n\t\tdisabled: boolean;\n\t};\n\texportData?: ExportDataTable;\n}\n\nexport function DataTableFooter<TData>({\n\tisLoading,\n\ttotalRows,\n\ttotalPages,\n\tcurrentPage,\n\thidePagination,\n\tdisablePagination,\n\tpagination,\n\thandlePageSize,\n\thandlePage,\n\tpreviousPage,\n\tnextPage,\n\texportData,\n}: DataTableFooterProps<TData>) {\n\tconst renderPaginationPages = () => {\n\t\tconst paginationItems: JSX.Element[] = [];\n\n\t\tconst createPaginationItem = (pageIndex: number) => (\n\t\t\t<PaginationItem key={pageIndex}>\n\t\t\t\t<PaginationLink onClick={() => handlePage(pageIndex)} isActive={currentPage === pageIndex}>\n\t\t\t\t\t{pageIndex + 1}\n\t\t\t\t</PaginationLink>\n\t\t\t</PaginationItem>\n\t\t);\n\n\t\t// Add first page\n\t\tpaginationItems.push(createPaginationItem(0));\n\n\t\t// Add ellipsis if needed\n\t\tif (currentPage > 2) {\n\t\t\tpaginationItems.push(<PaginationEllipsis key='start-ellipsis' />);\n\t\t}\n\n\t\t// Add pages before current page\n\t\tfor (let i = Math.max(1, currentPage - 1); i < currentPage; i++) {\n\t\t\tpaginationItems.push(createPaginationItem(i));\n\t\t}\n\n\t\t// Add current page\n\t\tif (currentPage !== 0 && currentPage !== totalPages - 1) {\n\t\t\tpaginationItems.push(createPaginationItem(currentPage));\n\t\t}\n\n\t\t// Add pages after current page\n\t\tfor (let i = currentPage + 1; i <= Math.min(totalPages - 2, currentPage + 1); i++) {\n\t\t\tpaginationItems.push(createPaginationItem(i));\n\t\t}\n\n\t\t// Add ellipsis if needed\n\t\tif (currentPage < totalPages - 3) {\n\t\t\tpaginationItems.push(<PaginationEllipsis key='end-ellipsis' />);\n\t\t}\n\n\t\t// Add last page\n\t\tif (totalPages > 1) {\n\t\t\tpaginationItems.push(createPaginationItem(totalPages - 1));\n\t\t}\n\n\t\treturn paginationItems;\n\t};\n\n\treturn (\n\t\t!hidePagination && (\n\t\t\t<footer className='flex items-center justify-between h-[64px]'>\n\t\t\t\t<div className='flex flex-row items-center gap-6'>\n\t\t\t\t\t<div className='flex flex-row items-center gap-2'>\n\t\t\t\t\t\tLinhas por página\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tvalue={pagination.pageSize.toString()}\n\t\t\t\t\t\t\tonValueChange={(value) => handlePageSize(Number(value))}\n\t\t\t\t\t\t\tdisabled={isLoading || disablePagination}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectTrigger className='w-20'>\n\t\t\t\t\t\t\t\t<SelectValue placeholder='' className='text-slate-800 font-medium' />\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t\t<SelectItem value='25'>25</SelectItem>\n\t\t\t\t\t\t\t\t\t<SelectItem value='50'>50</SelectItem>\n\t\t\t\t\t\t\t\t\t<SelectItem value='100'>100</SelectItem>\n\t\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<DataTableExport exportData={exportData} totalRows={totalPages} />\n\t\t\t\t</div>\n\n\t\t\t\t<div className='flex items-center gap-4'>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{!isLoading && (\n\t\t\t\t\t\t\t<Badge variant='secondary'>{totalRows === 0 ? 'Nenhum item' : totalRows === 1 ? '1 item' : `${totalRows} itens`}</Badge>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Pagination>\n\t\t\t\t\t\t\t<PaginationContent>\n\t\t\t\t\t\t\t\t<PaginationItem>\n\t\t\t\t\t\t\t\t\t<PaginationPrevious onClick={() => previousPage.action()} disabled={previousPage.disabled || disablePagination} />\n\t\t\t\t\t\t\t\t</PaginationItem>\n\t\t\t\t\t\t\t\t{renderPaginationPages()}\n\t\t\t\t\t\t\t\t<PaginationItem>\n\t\t\t\t\t\t\t\t\t<PaginationNext onClick={() => nextPage.action()} disabled={nextPage.disabled || disablePagination} />\n\t\t\t\t\t\t\t\t</PaginationItem>\n\t\t\t\t\t\t\t</PaginationContent>\n\t\t\t\t\t\t</Pagination>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t)\n\t);\n}\n","import { flexRender, type Table } from '@tanstack/react-table';\nimport { ArrowUpDown, MoveDown, MoveUp } from 'lucide-react';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Checkbox } from '../../checkbox';\nimport { TableHead, TableHeader, TableRow } from '../../table';\n\ninterface DataTableHeaderProps<TData> {\n\ttable: Table<TData>;\n\tcanActionsRow?: boolean;\n\tenableMultiRowSelection?: boolean;\n}\n\nexport function DataTableHeader<TData>({ table, canActionsRow, enableMultiRowSelection }: DataTableHeaderProps<TData>) {\n\tconst headerGroups = table.getHeaderGroups();\n\treturn (\n\t\t<TableHeader>\n\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t<TableRow key={headerGroup.id} className='bg-background dark:bg-datatable-accent rounded-t-md sticky top-0 z-10'>\n\t\t\t\t\t{enableMultiRowSelection && (\n\t\t\t\t\t\t<TableHead className='h-[65px] w-6'>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tchecked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\n\t\t\t\t\t\t\t\tonCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t)}\n\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t<TableHead\n\t\t\t\t\t\t\tkey={header.id}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'h-[65px] whitespace-nowrap',\n\t\t\t\t\t\t\t\theader.column.id === 'id' ? 'sticky left-0 z-20' : '',\n\t\t\t\t\t\t\t\theader.column.columnDef.enableSorting && 'px-2',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{header.column.columnDef.enableSorting ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\t\t\tonClick={() => header.column.toggleSorting(header.column.getIsSorted() === 'asc')}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\t\t\t\t\t\t\t\t\t{header.column.getIsSorted() === 'asc' ? (\n\t\t\t\t\t\t\t\t\t\t<MoveUp className='ml-2 h-4 w-4' />\n\t\t\t\t\t\t\t\t\t) : header.column.getIsSorted() === 'desc' ? (\n\t\t\t\t\t\t\t\t\t\t<MoveDown className='ml-2 h-4 w-4' />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ArrowUpDown className='ml-2 h-4 w-4' />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tflexRender(header.column.columnDef.header, header.getContext())\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t))}\n\t\t\t\t\t{canActionsRow && <TableHead />}\n\t\t\t\t</TableRow>\n\t\t\t))}\n\t\t</TableHeader>\n\t);\n}\n","import { type ColumnDef, flexRender, type Table } from '@tanstack/react-table';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Checkbox } from '../../checkbox';\nimport { Skeleton } from '../../skeleton';\nimport { TableCell, TableRow } from '../../table';\nimport type { ActionRow } from './types/data-table';\n\ninterface DataTableRowsProps<TData> {\n\ttable: Table<TData>;\n\tcolumns: ColumnDef<TData>[];\n\tisLoading?: boolean;\n\tactionsRow?: ActionRow[];\n\ttextNoRecords?: string;\n\tenableMultiRowSelection?: boolean;\n}\n\nexport function DataTableRows<TData>({ table, isLoading, columns, actionsRow, textNoRecords, enableMultiRowSelection }: DataTableRowsProps<TData>) {\n\tconst rows = table.getRowModel().rows;\n\n\tconst renderLoadingRows = () => {\n\t\tconst rows: JSX.Element[] = [];\n\n\t\tfor (let i = 0; i < 10; i++) {\n\t\t\trows.push(\n\t\t\t\t<TableRow key={`loading-row-${i}`}>\n\t\t\t\t\t{enableMultiRowSelection && (\n\t\t\t\t\t\t<TableCell className='py-2'>\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t)}\n\t\t\t\t\t{columns.map((column) => (\n\t\t\t\t\t\t<TableCell key={column.id} className='py-2'>\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t))}\n\t\t\t\t</TableRow>,\n\t\t\t);\n\t\t}\n\n\t\treturn rows;\n\t};\n\n\tconst renderRows = () => {\n\t\treturn rows.map((row) => (\n\t\t\t<TableRow key={row.id} data-state={row.getIsSelected() && 'selected'} className='group'>\n\t\t\t\t{enableMultiRowSelection && (\n\t\t\t\t\t<TableCell className='py-4'>\n\t\t\t\t\t\t<Checkbox checked={row.getIsSelected()} onCheckedChange={(value) => row.toggleSelected(!!value)} aria-label='Select row' />\n\t\t\t\t\t</TableCell>\n\t\t\t\t)}\n\t\t\t\t{row.getVisibleCells().map((cell) => (\n\t\t\t\t\t<TableCell key={cell.id} className='py-4'>\n\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t</TableCell>\n\t\t\t\t))}\n\t\t\t\t{actionsRow && (\n\t\t\t\t\t<TableCell\n\t\t\t\t\t\tclassName='opacity-0 group-hover:opacity-100 hover:opacity-100 relative overflow-visible w-[0px]'\n\t\t\t\t\t\tkey={`buttons-${row.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className='absolute transition-colors group-hover:bg-datatable-accent overflow-visible right-5 -translate-y-1/2 flex space-x-4'>\n\t\t\t\t\t\t\t{actionsRow.map((action, index) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tkey={`action-row-${index}`}\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\n\t\t\t\t\t\t\t\t\tclassName={cn('bg-datatable-accent', action.className?.(row.original) || '')}\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(row.original)}\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled?.(row.original) || false}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{action.icon}\n\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TableCell>\n\t\t\t\t)}\n\t\t\t</TableRow>\n\t\t));\n\t};\n\n\tconst renderEmptyRows = () => {\n\t\tconst colSpan = columns.length + (actionsRow ? 1 : 0);\n\t\treturn (\n\t\t\t<TableRow>\n\t\t\t\t<TableCell colSpan={colSpan} className='text-center h-[53px]'>\n\t\t\t\t\t{textNoRecords ? textNoRecords : 'Sem resultados.'}\n\t\t\t\t</TableCell>\n\t\t\t</TableRow>\n\t\t);\n\t};\n\n\treturn isLoading ? renderLoadingRows() : rows.length ? renderRows() : renderEmptyRows();\n}\n","import {\n\ttype ColumnDef,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype SortingState,\n\tuseReactTable,\n} from '@tanstack/react-table';\nimport { Filter, Search } from 'lucide-react';\nimport { useEffect, useRef, useState } from 'react';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from '../../sheet';\nimport { Table, TableBody } from '../../table';\nimport { DataTableFooter } from './data-table-footer';\nimport { DataTableHeader } from './data-table-header';\nimport { DataTableRows } from './data-table-rows';\nimport type { ActionRow, ActionTable, ExportDataTable, FiltersActions } from './types/data-table';\n\nexport interface DataTableProps<TData> {\n\tcolumns: ColumnDef<TData>[];\n\tdata: TData[];\n\tactions?: ActionTable[];\n\tactionsRow?: ActionRow[];\n\tcustomFilters?: JSX.Element;\n\tclassName?: string;\n\ttitle?: string;\n\trowsPage?: number;\n\tsetSearch?: (value?: string) => void;\n\tsetSelectRows?: (ids: string[]) => void;\n\tpageChanged?: (pageNumber: number) => void;\n\tpageSizeChanged?: (pageSize: number) => void;\n\ttotalRows?: number;\n\tfiltersActions?: FiltersActions;\n\texportData?: ExportDataTable;\n\ttextNoRecords?: string;\n\theightRemainingScroll?: number;\n\thideFilterField?: boolean;\n\tmultiRowSelection?: {\n\t\tcallback: (selectedRows: any[]) => void;\n\t};\n\thidePagination?: boolean;\n\tdisablePagination?: boolean;\n\tisLoading?: boolean;\n\tfixedHeight?: number;\n}\n\nexport interface OriginalDataTableData {\n\tid: string;\n\tchecked?: boolean;\n}\n\nexport function DataTable<TData>({\n\tcolumns,\n\tdata,\n\tclassName,\n\ttitle,\n\trowsPage,\n\tactions,\n\tactionsRow,\n\tcustomFilters,\n\tsetSearch,\n\tpageChanged,\n\tpageSizeChanged,\n\ttotalRows,\n\tfiltersActions,\n\texportData,\n\ttextNoRecords,\n\theightRemainingScroll,\n\thideFilterField,\n\tmultiRowSelection,\n\thidePagination,\n\tdisablePagination,\n\tisLoading,\n\tfixedHeight,\n}: DataTableProps<TData>) {\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageIndex: 0,\n\t\tpageSize: rowsPage ?? 25,\n\t});\n\tconst enableMultiRowSelection = multiRowSelection !== undefined;\n\tconst [rowSelection, setRowSelection] = useState(\n\t\tenableMultiRowSelection\n\t\t\t? Object.fromEntries(\n\t\t\t\t\t(Array.isArray(data) ? data : []).map((row: any, idx: number) => {\n\t\t\t\t\t\treturn [idx, row.checked];\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: {},\n\t);\n\tconst debounceTimeout = useRef<NodeJS.Timeout | null>(null);\n\tconst tableContainerRef = useRef<HTMLDivElement>(null);\n\tconst [tableHeight, setTableHeight] = useState('auto');\n\ttotalRows = totalRows ?? data.length;\n\n\tconst table = useReactTable({\n\t\tmanualPagination: true,\n\t\tdata: data,\n\t\tcolumns,\n\t\tgetPaginationRowModel: getPaginationRowModel(),\n\t\tonPaginationChange: setPagination,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tonSortingChange: setSorting,\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tonRowSelectionChange: (rowSelection) => {\n\t\t\tsetRowSelection(rowSelection);\n\t\t},\n\t\tenableMultiRowSelection: enableMultiRowSelection,\n\t\tstate: { pagination, rowSelection, sorting },\n\t\tpageCount: Math.ceil(totalRows / pagination.pageSize),\n\t});\n\n\tconst totalPages = table.getPageCount();\n\tconst currentPage = table.getState().pagination.pageIndex;\n\tconst selectedRows = table.getSelectedRowModel().rows;\n\tconst selectedIds = selectedRows.map((row) => (row.original as OriginalDataTableData).id);\n\n\tuseEffect(() => {\n\t\tif (data.length === 0 && pagination.pageIndex > 0) {\n\t\t\tsetPagination({ ...pagination, pageIndex: 0 });\n\t\t}\n\t}, [data]);\n\n\tuseEffect(() => {\n\t\thandleResize();\n\n\t\twindow.addEventListener('resize', handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (pageChanged) pageChanged(pagination.pageIndex + 1);\n\t}, [pagination]);\n\n\tuseEffect(() => {\n\t\tconst selectedRowsChecked = selectedRows.map((row) => row.original);\n\t\tif (multiRowSelection && selectedRowsChecked.length > 0) {\n\t\t\tmultiRowSelection.callback(selectedRowsChecked);\n\t\t}\n\t}, [rowSelection]);\n\n\tconst handleResize = () => {\n\t\tif (tableContainerRef.current) {\n\t\t\tconst newHeight = window.innerHeight - tableContainerRef.current.getBoundingClientRect().top - (hidePagination ? 30 : 74);\n\n\t\t\tsetTableHeight(`${newHeight - (heightRemainingScroll ?? 0)}px`);\n\t\t}\n\t};\n\n\tconst handleSearchChange = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tconst value = event.currentTarget.value;\n\n\t\tif (debounceTimeout.current) {\n\t\t\tclearTimeout(debounceTimeout.current);\n\t\t}\n\n\t\tdebounceTimeout.current = setTimeout(() => {\n\t\t\tsetSearch?.(value);\n\t\t\thandlePage(0);\n\t\t}, 300);\n\t};\n\n\tconst handlePageSize = (value: number) => {\n\t\tpageSizeChanged?.(value);\n\t\tsetPagination({ pageIndex: 0, pageSize: value });\n\t};\n\n\tconst handlePage = (index: number) => {\n\t\tif (index !== currentPage) {\n\t\t\tsetPagination({ ...pagination, pageIndex: index });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className='flex flex-col flex-1'>\n\t\t\t{(!hideFilterField || filtersActions || customFilters || actions) && (\n\t\t\t\t<div className='flex items-end justify-between mb-4 space-x-6'>\n\t\t\t\t\t<div className='flex items-center gap-x-4'>\n\t\t\t\t\t\t{!hideFilterField && (\n\t\t\t\t\t\t\t<div className='flex bg-background items-center border border-slate-300 rounded-sm w-[350px] overflow-hidden focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 group'>\n\t\t\t\t\t\t\t\t<div className='pl-3.5 transform transition-transform duration-300 group-hover:-translate-x-1'>\n\t\t\t\t\t\t\t\t\t<Search size={18} className='w-5 h-5 stroke-zinc-500 dark:stroke-default' />\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder='Buscar'\n\t\t\t\t\t\t\t\t\tonKeyUp={(event) => {\n\t\t\t\t\t\t\t\t\t\thandleSearchChange(event);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName='w-full bg-background text-default border-none focus:ring-0 focus:outline-none px-3 py-2 transform transition-transform duration-300 group-hover:-translate-x-1 '\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{filtersActions && (\n\t\t\t\t\t\t\t<Sheet open={filtersActions.filterOpen} onOpenChange={filtersActions.setFilterOpen}>\n\t\t\t\t\t\t\t\t<SheetTrigger asChild>\n\t\t\t\t\t\t\t\t\t<Button variant='secondary' type='button'>\n\t\t\t\t\t\t\t\t\t\t<Filter size={20} className='h-4 w-4' /> Filtros\n\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<div className='bg-background-primary text-white rounded-full h-5 w-5 flex items-center justify-center text-sm placeholder:text-muted-foreground'>\n\t\t\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</SheetTrigger>\n\t\t\t\t\t\t\t\t<SheetContent>\n\t\t\t\t\t\t\t\t\t<SheetHeader>\n\t\t\t\t\t\t\t\t\t\t<SheetTitle>Filtros</SheetTitle>\n\t\t\t\t\t\t\t\t\t\t<SheetDescription />\n\t\t\t\t\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col py-6'>{filtersActions.fields}</div>\n\t\t\t\t\t\t\t\t</SheetContent>\n\t\t\t\t\t\t\t</Sheet>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{customFilters}\n\t\t\t\t\t<div className='flex space-x-4 content-end'>\n\t\t\t\t\t\t{actions?.map((action, index) => (\n\t\t\t\t\t\t\t<div key={`action-table-${index}`}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(selectedIds, selectedRows)}\n\t\t\t\t\t\t\t\t\tclassName={cn(action.className, action.hideUnselectedRows && selectedRows.length === 0 ? 'hidden' : '')}\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className='[&_svg]:size-5'>{action.icon}</div>\n\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className={`flex-1 flex flex-col rounded-md border ${className}`}>\n\t\t\t\t<div className='flex items-center justify-between'>{title && <div className='text-h4 p-4'>{title}</div>}</div>\n\t\t\t\t<div\n\t\t\t\t\tid='data-table'\n\t\t\t\t\tref={tableContainerRef}\n\t\t\t\t\tstyle={fixedHeight ? { height: fixedHeight } : { height: tableHeight }}\n\t\t\t\t\tclassName='flex flex-col justify-between rounded-md overflow-x-auto overflow-y-auto'\n\t\t\t\t>\n\t\t\t\t\t<Table>\n\t\t\t\t\t\t<DataTableHeader\n\t\t\t\t\t\t\ttable={table}\n\t\t\t\t\t\t\tcanActionsRow={actionsRow && actionsRow.length > 0}\n\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TableBody className='bg-background'>\n\t\t\t\t\t\t\t<DataTableRows\n\t\t\t\t\t\t\t\ttable={table}\n\t\t\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\t\tactionsRow={actionsRow}\n\t\t\t\t\t\t\t\ttextNoRecords={textNoRecords}\n\t\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<DataTableFooter\n\t\t\t\thidePagination={hidePagination}\n\t\t\t\tdisablePagination={disablePagination}\n\t\t\t\tisLoading={isLoading}\n\t\t\t\ttotalRows={totalRows}\n\t\t\t\ttotalPages={totalPages}\n\t\t\t\tcurrentPage={currentPage}\n\t\t\t\tpagination={pagination}\n\t\t\t\thandlePageSize={handlePageSize}\n\t\t\t\thandlePage={handlePage}\n\t\t\t\tpreviousPage={{ action: () => table.previousPage(), disabled: !table.getCanPreviousPage() }}\n\t\t\t\tnextPage={{ action: () => table.nextPage(), disabled: !table.getCanNextPage() }}\n\t\t\t\texportData={exportData}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","export function isUUIDv4(str: string): boolean {\n\tconst uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\treturn uuidV4Regex.test(str);\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["twMerge","clsx","AccordionPrimitive","React","_jsx","_jsxs","ChevronDown","cva","Slot","AlertDialogPrimitive","AvatarPrimitive","ChevronRight","MoreHorizontal","getDefaultClassNames","DayPicker","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","ArrowLeft","ArrowRight","RechartsPrimitive","_Fragment","CheckboxPrimitive","Check","CollapsiblePrimitive","DialogPrimitive","X","CommandPrimitive","Search","ContextMenuPrimitive","Circle","PopoverPrimitive","addDays","CalendarIcon","format","DrawerPrimitive","DropdownMenuPrimitive","LabelPrimitive","FormProvider","Controller","useFormContext","HoverCardPrimitive","SelectPrimitive","ChevronUp","getYear","useState","setMonth","setYear","getMonth","CalendarComponent","classBorderColor","useEffect","ChevronLeft","ProgressPrimitive","RadioGroupPrimitive","ScrollAreaPrimitive","SeparatorPrimitive","SheetPrimitive","TooltipPrimitive","PanelLeft","SliderPrimitive","SwitchPrimitives","TabsPrimitive","ToastPrimitives","CircleX","Popover","PopoverTrigger","CalendarDays","PopoverContent","PopoverClose","CircleHelp","Paintbrush","HexColorPicker","ChevronsUpDown","LoaderCircle","masks","CheckIcon","EyeOff","Eye","Select","createContext","useContext","useNavigate","useRef","Copy","BarChart2","forwardRef","useImperativeHandle","useLocation","LogOut","z","useForm","zodResolver","flexRender","MoveUp","MoveDown","ArrowUpDown","useReactTable","getPaginationRowModel","getCoreRowModel","getSortedRowModel","getFilteredRowModel","Filter"],"mappings":"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","x_google_ignoreList":[26,27,28,29,30,31,32,33,34,35,107]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/lib/utils.ts","../src/components/ui/accordion.tsx","../src/components/ui/alert.tsx","../src/components/ui/button.tsx","../src/components/ui/alert-dialog.tsx","../src/components/ui/avatar.tsx","../src/components/ui/badge.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/calendar.tsx","../src/components/ui/card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/chart.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/dialog.tsx","../src/components/ui/command.tsx","../src/components/ui/context-menu.tsx","../src/components/ui/popover.tsx","../src/components/ui/dateRangePicker.tsx","../src/components/ui/drawer.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/form.tsx","../src/components/ui/hover-card.tsx","../src/components/ui/masks.ts","../src/lib/help/format.ts","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js","../node_modules/date-fns/locale/pt-BR/_lib/formatLong.js","../node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js","../node_modules/date-fns/locale/pt-BR/_lib/localize.js","../node_modules/date-fns/locale/pt-BR/_lib/match.js","../node_modules/date-fns/locale/pt-BR.js","../src/components/ui/select.tsx","../src/components/ui/custom/date-picker.tsx","../src/components/ui/input.tsx","../src/components/ui/pagination.tsx","../src/components/ui/progress.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/scroll-area.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@material-ui/utils/esm/chainPropTypes.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@material-ui/utils/esm/deepmerge.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@material-ui/utils/esm/exactProp.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/cjs/react-is.development.js","../node_modules/react-is/index.js","../node_modules/@material-ui/utils/esm/getDisplayName.js","../node_modules/@material-ui/utils/esm/ponyfillGlobal.js","../node_modules/@material-ui/styles/esm/ThemeProvider/nested.js","../node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js","../node_modules/@material-ui/styles/esm/createStyles/createStyles.js","../node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js","../node_modules/tiny-warning/dist/tiny-warning.esm.js","../node_modules/is-in-browser/dist/module.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/jss/dist/jss.esm.js","../node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js","../node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js","../node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js","../node_modules/hyphenate-style-name/index.js","../node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js","../node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/css-vendor/dist/css-vendor.esm.js","../node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js","../node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js","../node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js","../node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js","../node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js","../node_modules/@material-ui/styles/esm/useTheme/useTheme.js","../node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js","../node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js","../node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js","../node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js","../node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@material-ui/styles/esm/ServerStyleSheets/ServerStyleSheets.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/@material-ui/styles/esm/styled/styled.js","../node_modules/@material-ui/styles/esm/ThemeProvider/ThemeProvider.js","../node_modules/@material-ui/styles/esm/withStyles/withStyles.js","../node_modules/@material-ui/styles/esm/withTheme/withTheme.js","../node_modules/@material-ui/styles/esm/index.js","../node_modules/@material-ui/core/useMediaQuery/useMediaQuery.js","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/slider.tsx","../src/components/ui/switch.tsx","../src/components/ui/table.tsx","../src/components/ui/tabs.tsx","../src/components/ui/textarea.tsx","../src/components/ui/toast.tsx","../src/components/ui/use-toast.ts","../src/components/ui/toaster.tsx","../src/components/ui/use-calendar.tsx","../src/components/ui/custom/form/form-help-text.tsx","../src/components/ui/custom/form/form-label.tsx","../src/components/ui/custom/form/form-message.tsx","../src/components/ui/custom/form/checkbox.tsx","../src/components/ui/custom/form/utils.ts","../src/components/ui/custom/form/color.tsx","../src/components/ui/custom/form/combobox.tsx","../src/components/ui/custom/form/cpf-cnpj.tsx","../src/components/ui/custom/form/currency.tsx","../src/lib/help/date-utils.ts","../src/components/ui/custom/form/date.tsx","../src/components/ui/custom/form/date-range.tsx","../src/components/ui/custom/form/decimal.tsx","../src/components/ui/custom/form/file.tsx","../src/components/ui/custom/form/ghost.tsx","../src/components/ui/custom/form/input.tsx","../src/components/ui/custom/form/mask.tsx","../src/components/ui/custom/form/multi-select.tsx","../src/components/ui/custom/form/password.tsx","../src/components/ui/custom/form/percent.tsx","../src/components/ui/custom/form/phone.tsx","../src/components/ui/custom/form/radio-group.tsx","../src/components/ui/custom/form/select.tsx","../src/components/ui/custom/form/step-new-form.tsx","../src/components/ui/custom/form/switch.tsx","../src/components/ui/custom/form/text.tsx","../src/components/ui/custom/form/textarea.tsx","../src/lib/help/theme.ts","../src/components/ui/custom/theme-provider.tsx","../src/components/ui/custom/header.tsx","../src/components/ui/custom/label.tsx","../src/components/ui/custom/not-found.tsx","../node_modules/@material-ui/core/esm/useMediaQuery/useMediaQuery.js","../src/hooks/use-mobile.tsx","../src/components/ui/custom/responsive-dialog.tsx","../src/components/ui/custom/sidebar/sidebar-item-two-lines.tsx","../src/components/ui/custom/sidebar/module-switcher.tsx","../src/components/ui/custom/sidebar/sidebar-button.tsx","../src/components/ui/custom/sidebar/sidebar-item.tsx","../src/components/ui/custom/sidebar/nav-footer.tsx","../src/components/ui/custom/sidebar/nav-submenu-collapsible.tsx","../src/components/ui/custom/sidebar/nav-submenu-dropdown.tsx","../src/components/ui/custom/sidebar/types/sidebar.ts","../src/components/ui/custom/sidebar/nav-main.tsx","../src/components/ui/custom/sidebar/nav-user.tsx","../src/components/ui/custom/table/data-table-export.tsx","../src/components/ui/custom/table/data-table-footer.tsx","../src/components/ui/custom/table/data-table-header.tsx","../src/components/ui/custom/table/data-table-rows.tsx","../src/components/ui/custom/table/data-table.tsx","../src/lib/help/uuid.ts","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n\treturn twMerge(clsx(inputs));\n}\n","import * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n\tReact.ElementRef<typeof AccordionPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => <AccordionPrimitive.Item ref={ref} className={cn('border-b', className)} {...props} />);\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = React.forwardRef<\n\tReact.ElementRef<typeof AccordionPrimitive.Trigger>,\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n\t<AccordionPrimitive.Header className='flex'>\n\t\t<AccordionPrimitive.Trigger\n\t\t\tref={ref}\n\t\t\tclassName={cn('flex flex-1 items-center justify-between p-4 font-medium transition-all [&[data-state=open]>svg]:rotate-180', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<ChevronDown className='h-4 w-4 shrink-0 transition-transform duration-200' />\n\t\t</AccordionPrimitive.Trigger>\n\t</AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n\tReact.ElementRef<typeof AccordionPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n\t<AccordionPrimitive.Content\n\t\tref={ref}\n\t\tclassName='overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down'\n\t\t{...props}\n\t>\n\t\t<div className={cn('p-4 pt-0', className)}>{children}</div>\n\t</AccordionPrimitive.Content>\n));\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst alertVariants = cva(\n\t'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-background text-foreground',\n\t\t\t\tdestructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nconst Alert = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>>(\n\t({ className, variant, ...props }, ref) => <div ref={ref} role='alert' className={cn(alertVariants({ variant }), className)} {...props} />,\n);\nAlert.displayName = 'Alert';\n\nconst AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(({ className, ...props }, ref) => (\n\t<h5 ref={ref} className={cn('mb-1 font-medium leading-none tracking-tight', className)} {...props} />\n));\nAlertTitle.displayName = 'AlertTitle';\n\nconst AlertDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('text-sm [&_p]:leading-relaxed', className)} {...props} />\n));\nAlertDescription.displayName = 'AlertDescription';\n\nexport { Alert, AlertDescription, AlertTitle };\n","import { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst buttonVariants = cva(\n\t'inline-flex items-center justify-center gap-2 self-start px-4 py-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-background-primary text-white hover:bg-background-primary-hover disabled:opacity-50',\n\t\t\t\tsecondary: 'bg-secondary text-secondary-foreground hover:bg-secondary-hover disabled:opacity-50',\n\t\t\t\tdestructive: 'bg-red-600 text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50',\n\t\t\t\toutline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\n\t\t\t\tghost: 'hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\n\t\t\t\tlink: 'text-primary underline-offset-4 hover:underline disabled:opacity-50',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-10 px-4 py-2',\n\t\t\t\tsm: 'h-9 rounded-md px-3',\n\t\t\t\tlg: 'h-11 rounded-md px-8',\n\t\t\t\ticon: 'h-10 w-10',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n);\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n\tasChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(({ className, variant, size, asChild = false, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'button';\n\treturn <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n});\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n","import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from './button';\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nconst AlertDialogOverlay = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n\t<AlertDialogPrimitive.Overlay\n\t\tclassName={cn(\n\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t\tref={ref}\n\t/>\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n\t<AlertDialogPortal>\n\t\t<AlertDialogOverlay />\n\t\t<AlertDialogPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col space-y-2', className)} {...props} />\n);\nAlertDialogHeader.displayName = 'AlertDialogHeader';\n\nconst AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nAlertDialogFooter.displayName = 'AlertDialogFooter';\n\nconst AlertDialogTitle = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Title>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => <AlertDialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold', className)} {...props} />);\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n\t<AlertDialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nAlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Action>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {\n\t\tvariant?: 'default' | 'outline' | 'destructive' | 'secondary'; // Adapte conforme suas variantes\n\t}\n>(({ className, variant = 'default', ...props }, ref) => (\n\t<AlertDialogPrimitive.Action ref={ref} className={cn(buttonVariants({ variant }), className)} {...props} />\n));\n\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n\tReact.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n\tReact.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {\n\t\tvariant?: 'default' | 'outline' | 'destructive' | 'secondary'; // Adapte conforme suas variantes\n\t}\n>(({ className, variant = 'outline', ...props }, ref) => (\n\t<AlertDialogPrimitive.Cancel\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\tbuttonVariants({ variant }), // Usa a variante passada como prop\n\t\t\t'mt-2 sm:mt-0',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\n\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogOverlay,\n\tAlertDialogPortal,\n\tAlertDialogTitle,\n\tAlertDialogTrigger,\n};\n","import * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Avatar = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Root>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>>(\n\t({ className, ...props }, ref) => (\n\t\t<AvatarPrimitive.Root ref={ref} className={cn('relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full', className)} {...props} />\n\t),\n);\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Image>, React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>>(\n\t({ className, ...props }, ref) => <AvatarPrimitive.Image ref={ref} className={cn('aspect-square h-full w-full', className)} {...props} />,\n);\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n\tReact.ElementRef<typeof AvatarPrimitive.Fallback>,\n\tReact.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n\t<AvatarPrimitive.Fallback\n\t\tref={ref}\n\t\tclassName={cn('flex h-full w-full items-center justify-center rounded-full bg-muted', className)}\n\t\t{...props}\n\t/>\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst badgeVariants = cva(\n\t'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'border-transparent bg-background-primary text-primary-foreground',\n\t\t\t\tsecondary: 'border-transparent bg-background-secondary text-secondary-foreground',\n\t\t\t\tsurface: 'border-transparent bg-primary-100 text-primary',\n\t\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground',\n\t\t\t\toutline: 'text-foreground',\n\t\t\t\tgreen: 'border-transparent bg-green-50 text-emerald-700',\n\t\t\t\tred: 'border-transparent bg-red-50 text-red-600',\n\t\t\t\tgray: 'border-transparent bg-zinc-100 text-zinc-950',\n\t\t\t\tblue: 'border-transparent bg-blue-50 text-blue-600',\n\t\t\t\torange: 'border-transparent bg-orange-50 text-orange-600',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n\treturn <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Breadcrumb = React.forwardRef<\n\tHTMLElement,\n\tReact.ComponentPropsWithoutRef<'nav'> & {\n\t\tseparator?: React.ReactNode;\n\t}\n>(({ ...props }, ref) => <nav ref={ref} aria-label='breadcrumb' {...props} />);\nBreadcrumb.displayName = 'Breadcrumb';\n\nconst BreadcrumbList = React.forwardRef<HTMLOListElement, React.ComponentPropsWithoutRef<'ol'>>(({ className, ...props }, ref) => (\n\t<ol ref={ref} className={cn('flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5', className)} {...props} />\n));\nBreadcrumbList.displayName = 'BreadcrumbList';\n\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, React.ComponentPropsWithoutRef<'li'>>(({ className, ...props }, ref) => (\n\t<li ref={ref} className={cn('inline-flex items-center gap-1.5', className)} {...props} />\n));\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\nconst BreadcrumbLink = React.forwardRef<\n\tHTMLAnchorElement,\n\tReact.ComponentPropsWithoutRef<'a'> & {\n\t\tasChild?: boolean;\n\t}\n>(({ asChild, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'a';\n\n\treturn <Comp ref={ref} className={cn('transition-colors hover:text-foreground', className)} {...props} />;\n});\nBreadcrumbLink.displayName = 'BreadcrumbLink';\n\nconst BreadcrumbPage = React.forwardRef<HTMLSpanElement, React.ComponentPropsWithoutRef<'span'>>(({ className, ...props }, ref) => (\n\t<span ref={ref} aria-disabled='true' aria-current='page' className={cn('font-normal text-foreground', className)} {...props} />\n));\nBreadcrumbPage.displayName = 'BreadcrumbPage';\n\nconst BreadcrumbSeparator = ({ children, className, ...props }: React.ComponentProps<'li'>) => (\n\t<li role='presentation' aria-hidden='true' className={cn('[&>svg]:w-3.5 [&>svg]:h-3.5', className)} {...props}>\n\t\t{children ?? <ChevronRight />}\n\t</li>\n);\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator';\n\nconst BreadcrumbEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n\t<span role='presentation' aria-hidden='true' className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\n\t\t<MoreHorizontal className='h-4 w-4' />\n\t\t<span className='sr-only'>More</span>\n\t</span>\n);\nBreadcrumbEllipsis.displayName = 'BreadcrumbElipssis';\n\nexport { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis };\n","import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { type DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\nimport { cn } from '../../lib/utils';\nimport { Button, buttonVariants } from './button';\n\nfunction Calendar({\n\tclassName,\n\tclassNames,\n\tshowOutsideDays = true,\n\tcaptionLayout = 'label',\n\tbuttonVariant = 'ghost',\n\tformatters,\n\tcomponents,\n\t...props\n}: React.ComponentProps<typeof DayPicker> & {\n\tbuttonVariant?: React.ComponentProps<typeof Button>['variant'];\n}) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\treturn (\n\t\t<DayPicker\n\t\t\tshowOutsideDays={showOutsideDays}\n\t\t\tclassName={cn(\n\t\t\t\t'bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tcaptionLayout={captionLayout}\n\t\t\tformatters={{\n\t\t\t\tformatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\n\t\t\t\t...formatters,\n\t\t\t}}\n\t\t\tclassNames={{\n\t\t\t\troot: cn('w-fit', defaultClassNames.root),\n\t\t\t\tmonths: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\n\t\t\t\tmonth: cn('flex w-full flex-col gap-4', defaultClassNames.month),\n\t\t\t\tnav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\n\t\t\t\tbutton_previous: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\n\t\t\t\t\tdefaultClassNames.button_previous,\n\t\t\t\t),\n\t\t\t\tbutton_next: cn(\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\n\t\t\t\t\tdefaultClassNames.button_next,\n\t\t\t\t),\n\t\t\t\tmonth_caption: cn('flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]', defaultClassNames.month_caption),\n\t\t\t\tdropdowns: cn('flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium', defaultClassNames.dropdowns),\n\t\t\t\tdropdown_root: cn(\n\t\t\t\t\t'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\n\t\t\t\t\tdefaultClassNames.dropdown_root,\n\t\t\t\t),\n\t\t\t\tdropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\n\t\t\t\tcaption_label: cn(\n\t\t\t\t\t'select-none font-medium',\n\t\t\t\t\tcaptionLayout === 'label'\n\t\t\t\t\t\t? 'text-sm'\n\t\t\t\t\t\t: '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\n\t\t\t\t\tdefaultClassNames.caption_label,\n\t\t\t\t),\n\t\t\t\ttable: 'w-full border-collapse',\n\t\t\t\tweekdays: cn('flex', defaultClassNames.weekdays),\n\t\t\t\tweekday: cn('text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal', defaultClassNames.weekday),\n\t\t\t\tweek: cn('mt-2 flex w-full', defaultClassNames.week),\n\t\t\t\tweek_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\n\t\t\t\tweek_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\n\t\t\t\tday: cn(\n\t\t\t\t\t'group/day relative aspect-square h-[32px] w-[32px] select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\n\t\t\t\t\tdefaultClassNames.day,\n\t\t\t\t),\n\t\t\t\trange_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\n\t\t\t\trange_middle: cn('rounded-none', defaultClassNames.range_middle),\n\t\t\t\trange_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\n\t\t\t\ttoday: cn('bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none', defaultClassNames.today),\n\t\t\t\toutside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\n\t\t\t\tdisabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\n\t\t\t\thidden: cn('invisible', defaultClassNames.hidden),\n\t\t\t\t...classNames,\n\t\t\t}}\n\t\t\tcomponents={{\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\n\t\t\t\t\treturn <div data-slot='calendar' ref={rootRef} className={cn(className)} {...props} />;\n\t\t\t\t},\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\n\t\t\t\t\tif (orientation === 'left') {\n\t\t\t\t\t\treturn <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (orientation === 'right') {\n\t\t\t\t\t\treturn <ChevronRightIcon className={cn('size-4', className)} {...props} />;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn <ChevronDownIcon className={cn('size-4', className)} {...props} />;\n\t\t\t\t},\n\t\t\t\tDayButton: CalendarDayButton,\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<td {...props}>\n\t\t\t\t\t\t\t<div className='flex size-[--cell-size] items-center justify-center text-center'>{children}</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\t...components,\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\n\tconst defaultClassNames = getDefaultClassNames();\n\n\tconst ref = React.useRef<HTMLButtonElement>(null);\n\tReact.useEffect(() => {\n\t\tif (modifiers.focused) ref.current?.focus();\n\t}, [modifiers.focused]);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\tvariant='ghost'\n\t\t\tsize='icon'\n\t\t\tdata-day={day.date.toLocaleDateString()}\n\t\t\tdata-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\n\t\t\tdata-range-start={modifiers.range_start}\n\t\t\tdata-range-end={modifiers.range_end}\n\t\t\tdata-range-middle={modifiers.range_middle}\n\t\t\tclassName={cn(\n\t\t\t\t'data-[selected-single=true]:bg-background-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-background-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-background-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70',\n\t\t\t\tdefaultClassNames.day,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Calendar, CalendarDayButton };\n","import * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)} {...props} />\n));\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('flex p-6', className)} {...props} />\n));\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('text-2xl font-semibold leading-none tracking-tight', className)} {...props} />\n));\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('py-8 px-6', className)} {...props} />\n));\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n\t<div ref={ref} className={cn('flex items-center p-6', className)} {...props} />\n));\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\n","import useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeft, ArrowRight } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Button } from './button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n\topts?: CarouselOptions;\n\tplugins?: CarouselPlugin;\n\torientation?: 'horizontal' | 'vertical';\n\tsetApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n\tcarouselRef: ReturnType<typeof useEmblaCarousel>[0];\n\tapi: ReturnType<typeof useEmblaCarousel>[1];\n\tscrollPrev: () => void;\n\tscrollNext: () => void;\n\tcanScrollPrev: boolean;\n\tcanScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n\tconst context = React.useContext(CarouselContext);\n\n\tif (!context) {\n\t\tthrow new Error('useCarousel must be used within a <Carousel />');\n\t}\n\n\treturn context;\n}\n\nconst Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselProps>(\n\t({ orientation = 'horizontal', opts, setApi, plugins, className, children, ...props }, ref) => {\n\t\tconst [carouselRef, api] = useEmblaCarousel(\n\t\t\t{\n\t\t\t\t...opts,\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t},\n\t\t\tplugins,\n\t\t);\n\t\tconst [canScrollPrev, setCanScrollPrev] = React.useState(false);\n\t\tconst [canScrollNext, setCanScrollNext] = React.useState(false);\n\n\t\tconst onSelect = React.useCallback((api: CarouselApi) => {\n\t\t\tif (!api) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetCanScrollPrev(api.canScrollPrev());\n\t\t\tsetCanScrollNext(api.canScrollNext());\n\t\t}, []);\n\n\t\tconst scrollPrev = React.useCallback(() => {\n\t\t\tapi?.scrollPrev();\n\t\t}, [api]);\n\n\t\tconst scrollNext = React.useCallback(() => {\n\t\t\tapi?.scrollNext();\n\t\t}, [api]);\n\n\t\tconst handleKeyDown = React.useCallback(\n\t\t\t(event: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\tif (event.key === 'ArrowLeft') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tscrollPrev();\n\t\t\t\t} else if (event.key === 'ArrowRight') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tscrollNext();\n\t\t\t\t}\n\t\t\t},\n\t\t\t[scrollPrev, scrollNext],\n\t\t);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (!api || !setApi) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetApi(api);\n\t\t}, [api, setApi]);\n\n\t\tReact.useEffect(() => {\n\t\t\tif (!api) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonSelect(api);\n\t\t\tapi.on('reInit', onSelect);\n\t\t\tapi.on('select', onSelect);\n\n\t\t\treturn () => {\n\t\t\t\tapi?.off('select', onSelect);\n\t\t\t};\n\t\t}, [api, onSelect]);\n\n\t\treturn (\n\t\t\t<CarouselContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\tcarouselRef,\n\t\t\t\t\tapi: api,\n\t\t\t\t\topts,\n\t\t\t\t\torientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n\t\t\t\t\tscrollPrev,\n\t\t\t\t\tscrollNext,\n\t\t\t\t\tcanScrollPrev,\n\t\t\t\t\tcanScrollNext,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div ref={ref} onKeyDownCapture={handleKeyDown} className={cn('relative', className)} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</CarouselContext.Provider>\n\t\t);\n\t},\n);\nCarousel.displayName = 'Carousel';\n\nconst CarouselContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\n\tconst { carouselRef, orientation } = useCarousel();\n\n\treturn (\n\t\t<div ref={carouselRef} className='overflow-hidden'>\n\t\t\t<div ref={ref} className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)} {...props} />\n\t\t</div>\n\t);\n});\nCarouselContent.displayName = 'CarouselContent';\n\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\n\tconst { orientation } = useCarousel();\n\n\treturn (\n\t\t<div ref={ref} className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)} {...props} />\n\t);\n});\nCarouselItem.displayName = 'CarouselItem';\n\nconst CarouselPrevious = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n\t({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n\t\tconst { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tsize={size}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute h-8 w-8 rounded-full',\n\t\t\t\t\torientation === 'horizontal' ? '-left-12 top-1/2 -translate-y-1/2' : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tdisabled={!canScrollPrev}\n\t\t\t\tonClick={scrollPrev}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ArrowLeft className='h-4 w-4' />\n\t\t\t\t<span className='sr-only'>Previous slide</span>\n\t\t\t</Button>\n\t\t);\n\t},\n);\nCarouselPrevious.displayName = 'CarouselPrevious';\n\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n\t({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\n\t\tconst { orientation, scrollNext, canScrollNext } = useCarousel();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tvariant={variant}\n\t\t\t\tsize={size}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute h-8 w-8 rounded-full',\n\t\t\t\t\torientation === 'horizontal' ? '-right-12 top-1/2 -translate-y-1/2' : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tdisabled={!canScrollNext}\n\t\t\t\tonClick={scrollNext}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ArrowRight className='h-4 w-4' />\n\t\t\t\t<span className='sr-only'>Next slide</span>\n\t\t\t</Button>\n\t\t);\n\t},\n);\nCarouselNext.displayName = 'CarouselNext';\n\nexport { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi };\n","import * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\nimport { cn } from '../../lib/utils';\n\nconst THEMES = { light: '', dark: '.dark' } as const;\n\nexport type ChartConfig = {\n\t[k in string]: {\n\t\tlabel?: React.ReactNode;\n\t\ticon?: React.ComponentType;\n\t} & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> });\n};\n\ntype ChartContextProps = {\n\tconfig: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error('useChart must be used within a <ChartContainer />');\n\t}\n\n\treturn context;\n}\n\nconst ChartContainer = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tconfig: ChartConfig;\n\t\tchildren: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n\t}\n>(({ id, className, children, config, ...props }, ref) => {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n});\nChartContainer.displayName = 'Chart';\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n\tconst colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<style\n\t\t\t// biome-ignore lint/security/noDangerouslySetInnerHtml: Chart theme CSS generation requires dynamic CSS injection\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Object.entries(THEMES)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n\t.map(([key, itemConfig]) => {\n\t\tconst color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color;\n\t\treturn color ? ` --color-${key}: ${color};` : null;\n\t})\n\t.join('\\n')}\n}\n`,\n\t\t\t\t\t)\n\t\t\t\t\t.join('\\n'),\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nconst ChartTooltipContent = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n\t\tReact.ComponentProps<'div'> & {\n\t\t\thideLabel?: boolean;\n\t\t\thideIndicator?: boolean;\n\t\t\tindicator?: 'line' | 'dot' | 'dashed';\n\t\t\tnameKey?: string;\n\t\t\tlabelKey?: string;\n\t\t}\n>(\n\t(\n\t\t{\n\t\t\tactive,\n\t\t\tpayload,\n\t\t\tclassName,\n\t\t\tindicator = 'dot',\n\t\t\thideLabel = false,\n\t\t\thideIndicator = false,\n\t\t\tlabel,\n\t\t\tlabelFormatter,\n\t\t\tlabelClassName,\n\t\t\tformatter,\n\t\t\tcolor,\n\t\t\tnameKey,\n\t\t\tlabelKey,\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst { config } = useChart();\n\n\t\tconst tooltipLabel = React.useMemo(() => {\n\t\t\tif (hideLabel || !payload?.length) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst [item] = payload;\n\t\t\tconst key = `${labelKey || item.dataKey || item.name || 'value'}`;\n\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\tconst value = !labelKey && typeof label === 'string' ? config[label as keyof typeof config]?.label || label : itemConfig?.label;\n\n\t\t\tif (labelFormatter) {\n\t\t\t\treturn <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n\t\t\t}\n\n\t\t\tif (!value) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn <div className={cn('font-medium', labelClassName)}>{value}</div>;\n\t\t}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n\t\tif (!active || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst nestLabel = payload.length === 1 && indicator !== 'dot';\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!nestLabel ? tooltipLabel : null}\n\t\t\t\t<div className='grid gap-1.5'>\n\t\t\t\t\t{payload.map((item, index) => {\n\t\t\t\t\t\tconst key = `${nameKey || item.name || item.dataKey || 'value'}`;\n\t\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\t\tconst indicatorColor = color || item.payload.fill || item.color;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={item.dataKey}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground',\n\t\t\t\t\t\t\t\t\tindicator === 'dot' && 'items-center',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{formatter && item?.value !== undefined && item.name ? (\n\t\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'h-2.5 w-2.5': indicator === 'dot',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-1': indicator === 'line',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'my-0.5': nestLabel && indicator === 'dashed',\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-bg': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'--color-border': indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div className={cn('flex flex-1 justify-between leading-none', nestLabel ? 'items-end' : 'items-center')}>\n\t\t\t\t\t\t\t\t\t\t\t<div className='grid gap-1.5'>\n\t\t\t\t\t\t\t\t\t\t\t\t{nestLabel ? tooltipLabel : null}\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='text-muted-foreground'>{itemConfig?.label || item.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{item.value && (\n\t\t\t\t\t\t\t\t\t\t\t\t<span className='font-mono font-medium tabular-nums text-foreground'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{item.value.toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n);\nChartTooltipContent.displayName = 'ChartTooltip';\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nconst ChartLegendContent = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> &\n\t\tPick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> & {\n\t\t\thideIcon?: boolean;\n\t\t\tnameKey?: string;\n\t\t}\n>(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div ref={ref} className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}>\n\t\t\t{payload.map((item) => {\n\t\t\t\tconst key = `${nameKey || item.dataKey || 'value'}`;\n\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={item.value} className={cn('flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground')}>\n\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName='h-2 w-2 shrink-0 rounded-[2px]'\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{itemConfig?.label}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n});\nChartLegendContent.displayName = 'ChartLegend';\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n\tif (typeof payload !== 'object' || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload = 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null ? payload.payload : undefined;\n\n\tlet configLabelKey: string = key;\n\n\tif (key in payload && typeof payload[key as keyof typeof payload] === 'string') {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key as keyof typeof payloadPayload] === 'string') {\n\t\tconfigLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;\n\t}\n\n\treturn configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\n}\n\nexport { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };\n","import * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>>(\n\t({ className, value, ...props }, ref) => (\n\t\t<CheckboxPrimitive.Root\n\t\t\tref={ref}\n\t\t\tchecked={!!value}\n\t\t\tclassName={cn(\n\t\t\t\t'peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=checked]:text-primary-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t),\n);\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n","import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n\tReact.ElementRef<typeof DialogPrimitive.Overlay>,\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n\t<DialogPrimitive.Overlay\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\ninterface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {\n\thideClose?: boolean;\n}\n\nconst DialogContent = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, DialogContentProps>(\n\t({ className, children, hideClose, ...props }, ref) => (\n\t\t<DialogPortal>\n\t\t\t<DialogOverlay />\n\t\t\t<DialogPrimitive.Content\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t\t{!hideClose && (\n\t\t\t\t\t<DialogPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground'>\n\t\t\t\t\t\t<X className='h-4 w-4' />\n\t\t\t\t\t\t<span className='sr-only'>Close</span>\n\t\t\t\t\t</DialogPrimitive.Close>\n\t\t\t\t)}\n\t\t\t</DialogPrimitive.Content>\n\t\t</DialogPortal>\n\t),\n);\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col space-y-1.5', className)} {...props} />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>>(\n\t({ className, ...props }, ref) => (\n\t\t<DialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\n\t),\n);\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n\tReact.ElementRef<typeof DialogPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => <DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n","import type { DialogProps } from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Dialog, DialogContent } from './dialog';\n\nconst Command = React.forwardRef<React.ElementRef<typeof CommandPrimitive>, React.ComponentPropsWithoutRef<typeof CommandPrimitive>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive\n\t\t\tref={ref}\n\t\t\tclassName={cn('flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n\treturn (\n\t\t<Dialog {...props}>\n\t\t\t<DialogContent className='overflow-hidden p-0 shadow-lg'>\n\t\t\t\t<Command className='[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\n\t\t\t\t\t{children}\n\t\t\t\t</Command>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t);\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>>(\n\t({ className, ...props }, ref) => (\n\t\t<div className='flex items-center border-b px-3' cmdk-input-wrapper=''>\n\t\t\t<Search className='mr-2 h-4 w-4 shrink-0 opacity-50' />\n\t\t\t<CommandPrimitive.Input\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t),\n);\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive.List ref={ref} className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)} {...props} />\n\t),\n);\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Empty>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>>(\n\t(props, ref) => <CommandPrimitive.Empty ref={ref} className='py-6 text-center text-sm' {...props} />,\n);\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Group>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive.Group\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />);\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Item>, React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>>(\n\t({ className, ...props }, ref) => (\n\t\t<CommandPrimitive.Item\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };\n","import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst ContextMenu = ContextMenuPrimitive.Root;\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal;\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\nconst ContextMenuSubTrigger = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, children, ...props }, ref) => (\n\t<ContextMenuPrimitive.SubTrigger\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t<ChevronRight className='ml-auto h-4 w-4' />\n\t</ContextMenuPrimitive.SubTrigger>\n));\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\n\nconst ContextMenuSubContent = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.SubContent\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\n\nconst ContextMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.Portal>\n\t\t<ContextMenuPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</ContextMenuPrimitive.Portal>\n));\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\nconst ContextMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<ContextMenuPrimitive.Item\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n\t<ContextMenuPrimitive.CheckboxItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\tchecked={checked}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<ContextMenuPrimitive.ItemIndicator>\n\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t</ContextMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</ContextMenuPrimitive.CheckboxItem>\n));\nContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;\n\nconst ContextMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n\t<ContextMenuPrimitive.RadioItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<ContextMenuPrimitive.ItemIndicator>\n\t\t\t\t<Circle className='h-2 w-2 fill-current' />\n\t\t\t</ContextMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</ContextMenuPrimitive.RadioItem>\n));\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\n\nconst ContextMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<ContextMenuPrimitive.Label\n\t\tref={ref}\n\t\tclassName={cn('px-2 py-1.5 text-sm font-semibold text-foreground', inset && 'pl-8', className)}\n\t\t{...props}\n\t/>\n));\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\n\nconst ContextMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => <ContextMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-border', className)} {...props} />);\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n\nconst ContextMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nContextMenuShortcut.displayName = 'ContextMenuShortcut';\n\nexport {\n\tContextMenu,\n\tContextMenuTrigger,\n\tContextMenuContent,\n\tContextMenuItem,\n\tContextMenuCheckboxItem,\n\tContextMenuRadioItem,\n\tContextMenuLabel,\n\tContextMenuSeparator,\n\tContextMenuShortcut,\n\tContextMenuGroup,\n\tContextMenuPortal,\n\tContextMenuSub,\n\tContextMenuSubContent,\n\tContextMenuSubTrigger,\n\tContextMenuRadioGroup,\n};\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n\tReact.ElementRef<typeof PopoverPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n\t<PopoverPrimitive.Portal>\n\t\t<PopoverPrimitive.Content\n\t\t\tref={ref}\n\t\t\talign={align}\n\t\t\tsideOffset={sideOffset}\n\t\t\tonWheel={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t}}\n\t\t\tclassName={cn(\n\t\t\t\t'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverContent, PopoverTrigger };\n","import { addDays, format } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport * as React from 'react';\nimport type { DateRange } from 'react-day-picker';\n\nimport { cn } from '@/lib/utils';\nimport { Button } from './button';\nimport { Calendar } from './calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from './popover';\n\nexport function DatePickerWithRange({ className }: React.HTMLAttributes<HTMLDivElement>) {\n\tconst [date, setDate] = React.useState<DateRange | undefined>({\n\t\tfrom: new Date(2022, 0, 20),\n\t\tto: addDays(new Date(2022, 0, 20), 20),\n\t});\n\n\treturn (\n\t\t<div className={cn('grid gap-2', className)}>\n\t\t\t<Popover>\n\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tid='date'\n\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\tvariant={'outline'}\n\t\t\t\t\t\tclassName={cn('w-[300px] justify-start text-left font-normal', !date && 'text-muted-foreground')}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CalendarIcon />\n\t\t\t\t\t\t{date?.from ? (\n\t\t\t\t\t\t\tdate.to ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{format(date.from, 'LLL dd, y')} - {format(date.to, 'LLL dd, y')}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tformat(date.from, 'LLL dd, y')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>Pick a date</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</PopoverTrigger>\n\t\t\t\t<PopoverContent className='w-auto p-0' align='start'>\n\t\t\t\t\t<Calendar initialFocus mode='range' defaultMonth={date?.from} selected={date} onSelect={setDate} numberOfMonths={2} />\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n","import * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@/lib/utils';\n\nconst Drawer = ({ shouldScaleBackground = true, ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n\t<DrawerPrimitive.Root shouldScaleBackground={shouldScaleBackground} {...props} />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n\tReact.ElementRef<typeof DrawerPrimitive.Overlay>,\n\tReact.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => <DrawerPrimitive.Overlay ref={ref} className={cn('fixed inset-0 z-50 bg-black/80', className)} {...props} />);\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n\tReact.ElementRef<typeof DrawerPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n\t<DrawerPortal>\n\t\t<DrawerOverlay />\n\t\t<DrawerPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn('fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<div className='mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted' />\n\t\t\t{children}\n\t\t</DrawerPrimitive.Content>\n\t</DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('grid gap-1.5 p-4', className)} {...props} />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('mt-auto flex flex-col gap-2 p-4', className)} {...props} />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<React.ElementRef<typeof DrawerPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>>(\n\t({ className, ...props }, ref) => (\n\t\t<DrawerPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\n\t),\n);\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n\tReact.ElementRef<typeof DrawerPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => <DrawerPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription };\n","import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, children, ...props }, ref) => (\n\t<DropdownMenuPrimitive.SubTrigger\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t<ChevronRight className='ml-auto h-4 w-4' />\n\t</DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n\t<DropdownMenuPrimitive.SubContent\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Portal>\n\t\t<DropdownMenuPrimitive.Content\n\t\t\tref={ref}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn(\n\t\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Item\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tinset && 'pl-8',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n\t<DropdownMenuPrimitive.CheckboxItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\tchecked={checked}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n\t<DropdownMenuPrimitive.RadioItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<Circle className='h-2 w-2 fill-current' />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)} {...props} />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuPortal,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubContent,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuTrigger,\n};\n","import * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst labelVariants = cva('text-sm font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70');\n\nconst Label = React.forwardRef<\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />);\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import type * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport * as React from 'react';\nimport { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\nimport { Label } from './label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\n\tname: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\n\t...props\n}: ControllerProps<TFieldValues, TName>) => {\n\treturn (\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\n\t\t\t<Controller {...props} />\n\t\t</FormFieldContext.Provider>\n\t);\n};\n\nconst useFormField = () => {\n\tconst fieldContext = React.useContext(FormFieldContext);\n\tconst itemContext = React.useContext(FormItemContext);\n\tconst { getFieldState, formState } = useFormContext();\n\n\tconst fieldState = getFieldState(fieldContext.name, formState);\n\n\tif (!fieldContext) {\n\t\tthrow new Error('useFormField should be used within <FormField>');\n\t}\n\n\tconst { id } = itemContext;\n\n\treturn {\n\t\tid,\n\t\tname: fieldContext.name,\n\t\tformItemId: `${id}-form-item`,\n\t\tformDescriptionId: `${id}-form-item-description`,\n\t\tformMessageId: `${id}-form-item-message`,\n\t\t...fieldState,\n\t};\n};\n\ntype FormItemContextValue = {\n\tid: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\n\tconst id = React.useId();\n\n\treturn (\n\t\t<FormItemContext.Provider value={{ id }}>\n\t\t\t<div ref={ref} className={cn('', className)} {...props} />\n\t\t</FormItemContext.Provider>\n\t);\n});\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>>(\n\t({ className, ...props }, ref) => {\n\t\tconst { error, formItemId } = useFormField();\n\n\t\treturn <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\n\t},\n);\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(({ ...props }, ref) => {\n\tconst { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n\treturn (\n\t\t<Slot\n\t\t\tref={ref}\n\t\t\tid={formItemId}\n\t\t\taria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n\t\t\taria-invalid={!!error}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => {\n\tconst { formDescriptionId } = useFormField();\n\n\treturn <p ref={ref} id={formDescriptionId} className={cn('text-sm text-muted-foreground', className)} {...props} />;\n});\nFormDescription.displayName = 'FormDescription';\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, children, ...props }, ref) => {\n\tconst { error, formMessageId } = useFormField();\n\tconst body = error ? String(error?.message) : children;\n\n\tif (!body) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<p ref={ref} id={formMessageId} className={cn('text-sm font-medium text-destructive', className)} {...props}>\n\t\t\t{body}\n\t\t</p>\n\t);\n});\nFormMessage.displayName = 'FormMessage';\n\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };\n","import * as HoverCardPrimitive from '@radix-ui/react-hover-card';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n\tReact.ElementRef<typeof HoverCardPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n\t<HoverCardPrimitive.Content\n\t\tref={ref}\n\t\talign={align}\n\t\tsideOffset={sideOffset}\n\t\tclassName={cn(\n\t\t\t'z-50 w-auto mr-20 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n","import type { Modify } from '@react-input/mask';\n\n/**\n * Type for mask modification functions.\n * Fallback for projects without @react-input/mask types.\n */\nexport type MaskModifyFunction = Modify;\n\n/**\n * Modify function for phone number input mask.\n * Automatically adjusts between landline and mobile phone formats.\n *\n * @param value - Current input value\n * @param data - New input data\n * @param selectionStart - Cursor start position\n * @param selectionEnd - Cursor end position\n * @returns Mask configuration object\n */\nexport const modifyPhone: Modify = ({ value, data, selectionStart, selectionEnd }) => {\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\n\tconst _len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\n\n\treturn maskPhone(_value);\n};\n\n/**\n * Creates a phone number mask based on the input length.\n * - Landline: (XX) XXXX-XXXX\n * - Mobile: (XX) X XXXX-XXXX\n *\n * @param value - Phone number string (can be null)\n * @returns Mask configuration object with pattern and replacement rules\n *\n * @example\n * ```tsx\n * const mask = maskPhone('11987654321');\n * // Returns: { mask: '(__) _ ____-____', replacement: { _: /\\d/ } }\n * ```\n */\nexport function maskPhone(value: string | null) {\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\n\n\tif (len > 10) return { mask: '(__) _ ____-____', replacement: { _: /\\d/ } };\n\n\treturn { mask: '(__) ____-_____', replacement: { _: /\\d/ } };\n}\n\n/**\n * Modify function for CPF/CNPJ input mask.\n * Automatically switches between CPF and CNPJ formats based on input length.\n *\n * @param value - Current input value\n * @param data - New input data\n * @param selectionStart - Cursor start position\n * @param selectionEnd - Cursor end position\n * @returns Mask configuration object\n */\nexport const modifyCpfCnpj: Modify = ({ value, data, selectionStart, selectionEnd }) => {\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\n\tconst _len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\n\n\treturn maskCpfCnpj(_value);\n};\n\n/**\n * Creates a CPF or CNPJ mask based on the input length.\n * - CPF: XXX.XXX.XXX-XX (up to 11 digits)\n * - CNPJ: XX.XXX.XXX/XXXX-XX (12+ digits)\n *\n * @param value - CPF/CNPJ string (can be null)\n * @returns Mask configuration object with pattern and replacement rules\n *\n * @example\n * ```tsx\n * const cpfMask = maskCpfCnpj('12345678901');\n * // Returns: { mask: '___.___.___-___', replacement: { _: /\\d/ } }\n *\n * const cnpjMask = maskCpfCnpj('12345678000195');\n * // Returns: { mask: '__.___.___/____-__', replacement: { _: /\\d/ } }\n * ```\n */\nexport function maskCpfCnpj(value: string | null) {\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\n\n\tif (len > 11) return { mask: '__.___.___/____-__', replacement: { _: /\\d/ } };\n\n\treturn { mask: '___.___.___-___', replacement: { _: /\\d/ } };\n}\n\n/**\n * Removes all non-numeric characters from a string.\n * Useful for extracting only digits from masked inputs.\n *\n * @param value - String with potential mask characters\n * @returns String containing only numeric characters\n *\n * @example\n * ```tsx\n * const cleaned = removeMaskNumber('(11) 9 8765-4321');\n * // Returns: '11987654321'\n *\n * const cleanCpf = removeMaskNumber('123.456.789-01');\n * // Returns: '12345678901'\n * ```\n */\nexport const removeMaskNumber = (value: string): string => {\n\treturn value?.replace(/\\D/g, '');\n};\n","import { format } from '@react-input/mask';\nimport { maskCpfCnpj, maskPhone } from '../../components/ui/masks';\n\n// PHONE\n/**\n * Formats a phone number string with proper mask.\n * Automatically detects landline vs mobile format.\n *\n * @param telefone - Raw phone number string\n * @param removerCountryCode - Whether to remove country code (55) if present\n * @returns Formatted phone number string\n *\n * @example\n * ```tsx\n * formatPhone('11987654321') // '(11) 9 8765-4321'\n * formatPhone('1134567890') // '(11) 3456-7890'\n * ```\n */\nexport function formatPhone(telefone: string, removerCountryCode = true) {\n\tif (!telefone) return '';\n\n\tlet numberPhone = telefone.replace(/\\D/g, '');\n\n\t// Remover código do país apenas se ele começar com '55'\n\tif (removerCountryCode && numberPhone.startsWith('55')) {\n\t\tnumberPhone = numberPhone.substring(2);\n\t}\n\n\treturn format(numberPhone, maskPhone(numberPhone));\n}\n\n// CPF/CNPJ\n/**\n * Formats a CPF or CNPJ string with proper mask.\n * Automatically detects CPF vs CNPJ format based on length.\n *\n * @param cpfCnpj - Raw CPF/CNPJ string\n * @returns Formatted CPF/CNPJ string\n *\n * @example\n * ```tsx\n * formatCpfCnpj('12345678901') // '123.456.789-01'\n * formatCpfCnpj('12345678000195') // '12.345.678/0001-95'\n * ```\n */\nexport function formatCpfCnpj(cpfCnpj?: string): string {\n\tif (!cpfCnpj) return '';\n\n\tconst numberCpfCnpj = cpfCnpj.replace(/\\D/g, '');\n\n\treturn format(numberCpfCnpj, maskCpfCnpj(numberCpfCnpj));\n}\n\n// DATE\nfunction getDay(date: Date) {\n\treturn date.getDate().toString().padStart(2, '0');\n}\n\nfunction getMonth(date: Date) {\n\treturn (date.getMonth() + 1).toString().padStart(2, '0');\n}\n\nfunction getYear(date: Date) {\n\treturn date.getFullYear().toString();\n}\n\n/**\n * Formats a date to Brazilian format (DD/MM/YYYY).\n *\n * @param date - Date string, Date object, or undefined\n * @param separator - Date separator (default: '/')\n * @returns Formatted date string in Brazilian format\n *\n * @example\n * ```tsx\n * formatDate('2023-12-25') // '25/12/2023'\n * formatDate(new Date()) // '13/10/2025'\n * ```\n */\nexport const formatDate = (date: string | Date | undefined, _separator: string = '/') => {\n\tif (!date) return '';\n\n\tconst d = new Date(date);\n\n\treturn d.toLocaleDateString('pt-BR');\n};\n\nexport const formatDateTime = (date: Date | undefined, returnSeconds: boolean = false): string => {\n\tif (!date) return '';\n\n\tconst hours = date.getHours().toString().padStart(2, '0');\n\tconst minutes = date.getMinutes().toString().padStart(2, '0');\n\tconst seconds = returnSeconds ? `:${date.getSeconds().toString().padStart(2, '0')}` : '';\n\n\treturn `${formatDate(date)} ${hours}:${minutes}${seconds}`;\n};\n\nexport function formatDateCalendar(date: Date | undefined): string {\n\tif (!date) return '';\n\n\tconst day = getDay(date);\n\tconst month = getMonth(date);\n\tconst year = getYear(date);\n\n\treturn `${year}-${month}-${day}`;\n}\n\nexport function stringDateToDate(date: string | undefined, separator: string = '/'): Date | undefined {\n\tif (!date) return undefined;\n\n\tconst [day, month, year] = date.split(separator).map(Number);\n\n\t// new Date(ano, mês-1, dia) interpreta a data no fuso horário local\n\treturn new Date(year, month - 1, day);\n}\n\n// NUMBER\nexport const roundNumber = (value: number, fractionDigits: number = 2): number => {\n\treturn Number(value.toFixed(fractionDigits));\n};\n\nexport const stringToNumber = (value: string | undefined): number => {\n\tif (!value) return 0;\n\n\tconst numericValue = value\n\t\t.replace(/[^\\d,-]/g, '')\n\t\t.replace(/\\./g, '')\n\t\t.replace(',', '.');\n\treturn Number.parseFloat(numericValue);\n};\n\nenum InternetAmountUnity {\n\tiauMegabyte = 0,\n\tiauGigabyte = 1,\n\tUNRECOGNIZED = -1,\n}\n\nexport const convertInternetToDisplay = (internet: number, unit: InternetAmountUnity): string => {\n\tif (internet === 0) {\n\t\treturn '';\n\t}\n\tconst internetInMB = unit === InternetAmountUnity.iauGigabyte ? convertGbToMb(internet) : internet;\n\n\tif (internetInMB > 1023) {\n\t\treturn `${convertMbToGb(roundNumber(internetInMB))} GB`;\n\t}\n\treturn `${internetInMB} MB`;\n};\n\nexport const convertMbToGb = (value: number) => {\n\treturn value > 0 ? roundNumber(value / 1024) : 0;\n};\n\nexport const convertGbToMb = (value: number) => {\n\treturn value > 0 ? roundNumber(value * 1024) : 0;\n};\n\nexport const convertSecondsToMinutes = (value: number): number => {\n\treturn value > 0 ? roundNumber(value / 60) : 0;\n};\n\nexport const convertBytesToMB = (bytes: number): number => {\n\tif (!bytes || Number.isNaN(bytes)) return 0;\n\treturn roundNumber(bytes / (1024 * 1024));\n};\n\nexport const convertMonthToDays = (months: number): number => {\n\treturn months > 0 ? months * 30 : 0;\n};\n\nexport const convertDaysToMonth = (days: number): number => {\n\treturn days > 0 ? roundNumber(days / 30) : 0;\n};\n\n// NUMBER\nexport const formatNumber = (value: number) => {\n\treturn value.toLocaleString('pt-BR', {\n\t\tstyle: 'decimal',\n\t\tminimumFractionDigits: 0,\n\t\tmaximumFractionDigits: 0,\n\t});\n};\n\n// DECIMAL\n/**\n * Formats a number with Brazilian decimal format.\n *\n * @param value - Numeric value to format\n * @param decimalPlaces - Number of decimal places (default: 2)\n * @returns Formatted decimal string\n *\n * @example\n * ```tsx\n * formatDecimal(1234.56) // '1.234,56'\n * formatDecimal(1000.1, 1) // '1.000,1'\n * ```\n */\nexport const formatDecimal = (value: number, decimalPlaces: number = 2) => {\n\treturn value.toLocaleString('pt-BR', {\n\t\tstyle: 'decimal',\n\t\tminimumFractionDigits: decimalPlaces,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n};\n\n// PERCENT\n/**\n * Formats a number as percentage with Brazilian decimal format.\n *\n * @param value - Numeric value to format\n * @param decimalPlaces - Number of decimal places (default: 2)\n * @returns Formatted percentage string\n *\n * @example\n * ```tsx\n * formatPercent(15.5) // '% 15,50'\n * formatPercent(100, 0) // '% 100'\n * ```\n */\nexport const formatPercent = (value: number, decimalPlaces: number = 2) => {\n\treturn `% ${formatDecimal(value, decimalPlaces)}`;\n};\n\n// CURRENCY\n/**\n * Formats a number as Brazilian currency (BRL).\n *\n * @param value - Numeric value to format\n * @param decimalPlaces - Number of decimal places (default: 2)\n * @returns Formatted currency string\n *\n * @example\n * ```tsx\n * formatCurrency(1234.56) // 'R$ 1.234,56'\n * formatCurrency(1000, 0) // 'R$ 1.000'\n * ```\n */\nexport const formatCurrency = (value: number, decimalPlaces: number = 2) => {\n\treturn value.toLocaleString('pt-BR', {\n\t\tstyle: 'currency',\n\t\tcurrency: 'BRL',\n\t\tminimumFractionDigits: decimalPlaces,\n\t\tmaximumFractionDigits: decimalPlaces,\n\t});\n};\n\nexport const isInvalidCurrencyValue = (rawValue: string | undefined): boolean => {\n\tif (!rawValue || rawValue.trim() === '') return true;\n\n\tconst numericValue = stringToNumber(rawValue);\n\n\treturn Number.isNaN(numericValue) || numericValue <= 0;\n};\n\n// OTHERS\n/**\n * Formats an MSISDN (mobile phone number) to display format.\n *\n * @param value - Raw MSISDN string\n * @returns Formatted MSISDN string\n *\n * @example\n * ```tsx\n * formatMsisdn('5511987654321') // '(11) 98765-4321'\n * ```\n */\nexport function formatMsisdn(value: string = ''): string {\n\tconst msisdn = value.replace(/\\D/g, '');\n\treturn `(${msisdn.slice(2, 4)}) ${msisdn.slice(4, 9)}-${msisdn.slice(9)}`;\n}\n\n/**\n * Formats a CEP (Brazilian postal code) with proper mask.\n *\n * @param cep - Raw CEP string\n * @returns Formatted CEP string (XXXXX-XXX)\n *\n * @example\n * ```tsx\n * formatCEP('01234567') // '01234-567'\n * formatCEP('12345') // '12345'\n * ```\n */\nexport function formatCEP(cep?: string) {\n\tif (!cep) return '';\n\n\treturn cep\n\t\t.replace(/\\D/g, '')\n\t\t.replace(/(\\d{5})(\\d)/, '$1-$2')\n\t\t.replace(/(-\\d{3})\\d+?$/, '$1');\n}\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"menos de um segundo\",\n other: \"menos de {{count}} segundos\",\n },\n\n xSeconds: {\n one: \"1 segundo\",\n other: \"{{count}} segundos\",\n },\n\n halfAMinute: \"meio minuto\",\n\n lessThanXMinutes: {\n one: \"menos de um minuto\",\n other: \"menos de {{count}} minutos\",\n },\n\n xMinutes: {\n one: \"1 minuto\",\n other: \"{{count}} minutos\",\n },\n\n aboutXHours: {\n one: \"cerca de 1 hora\",\n other: \"cerca de {{count}} horas\",\n },\n\n xHours: {\n one: \"1 hora\",\n other: \"{{count}} horas\",\n },\n\n xDays: {\n one: \"1 dia\",\n other: \"{{count}} dias\",\n },\n\n aboutXWeeks: {\n one: \"cerca de 1 semana\",\n other: \"cerca de {{count}} semanas\",\n },\n\n xWeeks: {\n one: \"1 semana\",\n other: \"{{count}} semanas\",\n },\n\n aboutXMonths: {\n one: \"cerca de 1 mês\",\n other: \"cerca de {{count}} meses\",\n },\n\n xMonths: {\n one: \"1 mês\",\n other: \"{{count}} meses\",\n },\n\n aboutXYears: {\n one: \"cerca de 1 ano\",\n other: \"cerca de {{count}} anos\",\n },\n\n xYears: {\n one: \"1 ano\",\n other: \"{{count}} anos\",\n },\n\n overXYears: {\n one: \"mais de 1 ano\",\n other: \"mais de {{count}} anos\",\n },\n\n almostXYears: {\n one: \"quase 1 ano\",\n other: \"quase {{count}} anos\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"em \" + result;\n } else {\n return \"há \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: \"d MMM y\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'às' {{time}}\",\n long: \"{{date}} 'às' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: (date) => {\n const weekday = date.getDay();\n const last = weekday === 0 || weekday === 6 ? \"último\" : \"última\";\n return \"'\" + last + \"' eeee 'às' p\";\n },\n yesterday: \"'ontem às' p\",\n today: \"'hoje às' p\",\n tomorrow: \"'amanhã às' p\",\n nextWeek: \"eeee 'às' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"AC\", \"DC\"],\n abbreviated: [\"AC\", \"DC\"],\n wide: [\"antes de cristo\", \"depois de cristo\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"j\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n abbreviated: [\n \"jan\",\n \"fev\",\n \"mar\",\n \"abr\",\n \"mai\",\n \"jun\",\n \"jul\",\n \"ago\",\n \"set\",\n \"out\",\n \"nov\",\n \"dez\",\n ],\n\n wide: [\n \"janeiro\",\n \"fevereiro\",\n \"março\",\n \"abril\",\n \"maio\",\n \"junho\",\n \"julho\",\n \"agosto\",\n \"setembro\",\n \"outubro\",\n \"novembro\",\n \"dezembro\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"],\n short: [\"dom\", \"seg\", \"ter\", \"qua\", \"qui\", \"sex\", \"sab\"],\n abbreviated: [\n \"domingo\",\n \"segunda\",\n \"terça\",\n \"quarta\",\n \"quinta\",\n \"sexta\",\n \"sábado\",\n ],\n\n wide: [\n \"domingo\",\n \"segunda-feira\",\n \"terça-feira\",\n \"quarta-feira\",\n \"quinta-feira\",\n \"sexta-feira\",\n \"sábado\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n\n if (options?.unit === \"week\") {\n return number + \"ª\";\n }\n return number + \"º\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|depois de cristo)/i,\n};\nconst parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^antes de cristo/i, /^depois de cristo/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmajsond]/i,\n abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^fev/i,\n /^mar/i,\n /^abr/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^set/i,\n /^out/i,\n /^nov/i,\n /^dez/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n short: /^(dom|[23456]ª?|s[aá]b)/i,\n abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i,\n};\nconst parseDayPatterns = {\n short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn|^meia[-\\s]noite/i,\n noon: /^md|^meio[-\\s]dia/i,\n morning: /manhã/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noite/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./pt-BR/_lib/formatDistance.js\";\nimport { formatLong } from \"./pt-BR/_lib/formatLong.js\";\nimport { formatRelative } from \"./pt-BR/_lib/formatRelative.js\";\nimport { localize } from \"./pt-BR/_lib/localize.js\";\nimport { match } from \"./pt-BR/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Portuguese locale (Brazil).\n * @language Portuguese\n * @iso-639-2 por\n * @author Lucas Duailibe [@duailibe](https://github.com/duailibe)\n * @author Yago Carballo [@yagocarballo](https://github.com/YagoCarballo)\n */\nexport const ptBR = {\n code: \"pt-BR\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ptBR;\n","import * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.Trigger>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n\t<SelectPrimitive.Trigger\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t<SelectPrimitive.Icon asChild>\n\t\t\t<ChevronDown className='h-4 w-4 opacity-50' />\n\t\t</SelectPrimitive.Icon>\n\t</SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n\t<SelectPrimitive.ScrollUpButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\n\t\t<ChevronUp className='h-4 w-4' />\n\t</SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n\t<SelectPrimitive.ScrollDownButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\n\t\t<ChevronDown className='h-4 w-4' />\n\t</SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n\t<SelectPrimitive.Portal>\n\t\t<SelectPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]',\n\t\t\t\tposition === 'popper' &&\n\t\t\t\t\t'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tposition={position}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SelectScrollUpButton />\n\t\t\t<SelectPrimitive.Viewport\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'p-1',\n\t\t\t\t\tposition === 'popper' && 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</SelectPrimitive.Viewport>\n\t\t\t<SelectScrollDownButton />\n\t\t</SelectPrimitive.Content>\n\t</SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Label>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>>(\n\t({ className, ...props }, ref) => (\n\t\t<SelectPrimitive.Label ref={ref} className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)} {...props} />\n\t),\n);\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Item>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>>(\n\t({ className, children, ...props }, ref) => (\n\t\t<SelectPrimitive.Item\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-3 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\n\t\t\t<span className='absolute right-2 flex h-3.5 w-3.5 items-center justify-center'>\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<Check className='h-4 w-4' />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t</SelectPrimitive.Item>\n\t),\n);\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n\tReact.ElementRef<typeof SelectPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n};\n","import { getMonth, getYear, setMonth, setYear } from 'date-fns';\nimport { ptBR } from 'date-fns/locale';\nimport { Calendar as CalendarIcon } from 'lucide-react';\nimport React, { useState } from 'react';\nimport type { DayPicker } from 'react-day-picker';\nimport { cn } from '../../../lib/utils';\nimport { Calendar as CalendarComponent } from '../calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../select';\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\n\tonDateSelected: (selectedDateProps: Date | null) => void;\n\tselectedDateProps?: Date | null;\n\tstartYear?: number;\n\tendYear?: number;\n}\n\nconst DatePicker = React.forwardRef<HTMLDivElement, CalendarFormProps>(\n\t({ className, onDateSelected, selectedDateProps, startYear = getYear(new Date()) - 100, endYear = getYear(new Date()) + 100, ...props }, ref) => {\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = useState(false);\n\t\tconst months = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\n\n\t\tconst years = Array.from({ length: endYear - startYear + 1 }, (_, i) => startYear + i);\n\n\t\tconst handleMonthChange = (month: string) => {\n\t\t\tif (selectedDate) {\n\t\t\t\tconst newDate = setMonth(selectedDate, months.indexOf(month));\n\t\t\t\tsetSelectedDate(newDate);\n\t\t\t}\n\t\t};\n\n\t\tconst handleYearChange = (year: string) => {\n\t\t\tif (selectedDate) {\n\t\t\t\tconst newDate = setYear(selectedDate, parseInt(year, 10));\n\t\t\t\tsetSelectedDate(newDate);\n\t\t\t}\n\t\t};\n\n\t\tconst handleDateChange = (selectedDate: Date | undefined) => {\n\t\t\tconst newDate = selectedDate || null;\n\t\t\tsetSelectedDate(newDate);\n\t\t\tsetIsPopoverOpen(false);\n\t\t\tonDateSelected(newDate);\n\t\t};\n\n\t\treturn (\n\t\t\t<div className={cn('gap-2', className)} ref={ref} {...props}>\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' onClick={() => setIsPopoverOpen(true)} />\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent className='w-auto p-0 flex flex-col justify-center' align='start'>\n\t\t\t\t\t\t<div className='flex justify-between pt-5 px-5'>\n\t\t\t\t\t\t\t<Select onValueChange={handleMonthChange} value={months[getMonth(selectedDate || new Date())]}>\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Month' />\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t{months.map((month) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={month} value={month}>\n\t\t\t\t\t\t\t\t\t\t\t{month}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t<Select onValueChange={handleYearChange} value={getYear(selectedDate || new Date()).toString()}>\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Year' />\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t{years.map((year) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={year} value={year.toString()}>\n\t\t\t\t\t\t\t\t\t\t\t{year}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CalendarComponent\n\t\t\t\t\t\t\tmode='single'\n\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\tonSelect={handleDateChange}\n\t\t\t\t\t\t\tclassName='bg-white text-black'\n\t\t\t\t\t\t\tmonth={selectedDate || undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nexport { DatePicker };\n","import InputMask from '@mona-health/react-input-mask';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { formatDecimal } from '../../lib/help/format';\nimport { cn } from '../../lib/utils';\nimport { DatePicker } from './custom/date-picker';\n\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n\tmask?: string;\n\tmaskPlaceholder?: string | null;\n\tmaxLength?: number;\n\tplaceholder?: string;\n\tlabel?: string;\n\tdisabled?: boolean;\n}\n\nexport interface InputDecimalProps extends InputProps {\n\tsymbol?: string;\n}\n\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\n\tif (className?.includes('border-none')) {\n\t\treturn '';\n\t}\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\n}\n\nconst InputFile = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype='file'\n\t\t\tplaceholder={placeholder}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst InputUF = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t\tonChange={(e) => {\n\t\t\t\talert(e.target.value);\n\t\t\t}}\n\t\t/>\n\t);\n});\n\nconst InputText = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, value, disabled, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tvalue={value || ''}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tdisabled={disabled}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst MaskInput = React.forwardRef<HTMLInputElement, InputProps>(\n\t({ className, type, mask, maskPlaceholder, value, maxLength, disabled, placeholder, ...props }, ref) => {\n\t\treturn (\n\t\t\t<InputMask\n\t\t\t\tref={ref}\n\t\t\t\tmask={mask || ''}\n\t\t\t\tmaskPlaceholder={maskPlaceholder}\n\t\t\t\ttype={type}\n\t\t\t\tvalue={value || ''}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={maxLength}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nconst MaskInputDate = React.forwardRef<HTMLInputElement, InputProps>(\n\t({ className, type, mask, maxLength, disabled, placeholder, onChange, value, ...props }, ref) => {\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\n\t\tconst handleDayPickerSelect = (selectedDate: Date | null) => {\n\t\t\tsetSelectedDate(selectedDate);\n\n\t\t\tif (selectedDate) {\n\t\t\t\tconst formattedDate = selectedDate.toLocaleDateString('pt-BR');\n\t\t\t\tif (onChange) {\n\t\t\t\t\tonChange({ target: { value: formattedDate } } as React.ChangeEvent<HTMLInputElement>);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tuseEffect(() => {\n\t\t\tif (value) {\n\t\t\t\tconst parsedDate = new Date(Array.isArray(value) ? value[0] : value);\n\t\t\t\tif (!Number.isNaN(parsedDate.getTime())) {\n\t\t\t\t\tsetSelectedDate(parsedDate);\n\t\t\t\t}\n\t\t\t}\n\t\t}, [value]);\n\n\t\treturn (\n\t\t\t<div className='relative w-full'>\n\t\t\t\t<InputMask\n\t\t\t\t\tref={ref}\n\t\t\t\t\tmask={'99/99/9999'}\n\t\t\t\t\tvalue={value || ''}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\ttype={type}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\tplaceholder={placeholder ?? 'DD/MM/AAAA'}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background pl-9 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t/>\n\n\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\n\t\t\t\t\t<DatePicker onDateSelected={handleDayPickerSelect} selectedDateProps={selectedDate} />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nconst MaskInputCpfCnpj = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\n\treturn (\n\t\t<div>\n\t\t\t<InputMask\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tmask={mask || ''}\n\t\t\t\tmaskPlaceholder={null}\n\t\t\t\tvalue={value || ''}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder={'000.000.000-00'}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nconst MaskInputFone = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\n\treturn (\n\t\t<div>\n\t\t\t<InputMask\n\t\t\t\tref={ref}\n\t\t\t\ttype={type}\n\t\t\t\tmask={mask || ''}\n\t\t\t\tmaskPlaceholder={null}\n\t\t\t\tvalue={value || ''}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder='(00) 0 0000-0000'\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nconst InputPassword = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, ...props }, ref) => {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tplaceholder={placeholder}\n\t\t\tmaxLength={maxLength}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nconst MaskInputDecimal = React.forwardRef<HTMLInputElement, InputDecimalProps>(({ className, value, onChange, disabled, symbol, ...props }, ref) => {\n\tconst handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst numericValue = Number(event.target.value.replace(/\\D/g, '')) / 100;\n\t\tconst formattedValue = symbol ? `${symbol} ${formatDecimal(numericValue)}` : formatDecimal(numericValue);\n\n\t\tif (onChange) {\n\t\t\tonChange({ ...event, target: { ...event.target, value: formattedValue } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<InputMask\n\t\t\tref={ref}\n\t\t\tmask=''\n\t\t\tvalue={value || ''}\n\t\t\tonChange={handleChange}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={symbol ? `${symbol} 0,00` : '0,00'}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Input, InputFile, InputPassword, InputText, InputUF, MaskInput, MaskInputCpfCnpj, MaskInputDate, MaskInputDecimal, MaskInputFone };\n","import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport { type ButtonProps, buttonVariants } from './button';\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (\n\t<nav aria-label='pagination' className={cn('mx-auto flex w-full justify-center', className)} {...props} />\n);\nPagination.displayName = 'Pagination';\n\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n\t<ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />\n));\nPaginationContent.displayName = 'PaginationContent';\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n\t<li ref={ref} className={cn('', className)} {...props} />\n));\nPaginationItem.displayName = 'PaginationItem';\n\ntype PaginationLinkProps = {\n\tisActive?: boolean;\n\tdisabled?: boolean;\n} & Pick<ButtonProps, 'size'> &\n\tReact.ComponentProps<'a'>;\n\nconst PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (\n\t<a\n\t\taria-current={isActive ? 'page' : undefined}\n\t\tclassName={cn(\n\t\t\tbuttonVariants({\n\t\t\t\tvariant: isActive ? 'outline' : 'ghost',\n\t\t\t\tsize,\n\t\t\t}),\n\t\t\tisActive ? '' : 'cursor-pointer',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n);\nPaginationLink.displayName = 'PaginationLink';\n\nconst PaginationPrevious = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n\t<PaginationLink\n\t\taria-label='Go to previous page'\n\t\tsize='default'\n\t\tclassName={cn('gap-1 pl-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\n\t\t{...props}\n\t>\n\t\t<ChevronLeft className='h-4 w-4' />\n\t\t<span>Anterior</span>\n\t</PaginationLink>\n);\nPaginationPrevious.displayName = 'PaginationPrevious';\n\nconst PaginationNext = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n\t<PaginationLink\n\t\taria-label='Go to next page'\n\t\tsize='default'\n\t\tclassName={cn('gap-1 pr-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\n\t\t{...props}\n\t>\n\t\t<span>Próximo</span>\n\t\t<ChevronRight className='h-4 w-4' />\n\t</PaginationLink>\n);\nPaginationNext.displayName = 'PaginationNext';\n\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n\t<span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\n\t\t<MoreHorizontal className='h-4 w-4' />\n\t\t<span className='sr-only'>More pages</span>\n\t</span>\n);\nPaginationEllipsis.displayName = 'PaginationEllipsis';\n\nexport { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };\n","import * as ProgressPrimitive from '@radix-ui/react-progress';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Progress = React.forwardRef<React.ElementRef<typeof ProgressPrimitive.Root>, React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>>(\n\t({ className, value, ...props }, ref) => (\n\t\t<ProgressPrimitive.Root\n\t\t\tref={ref}\n\t\t\tclassName={cn('relative h-4 w-full overflow-hidden rounded-full bg-background-secondary', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\tclassName='h-full w-full flex-1 bg-background-primary transition-all'\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t\t/>\n\t\t</ProgressPrimitive.Root>\n\t),\n);\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Circle } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst RadioGroup = React.forwardRef<\n\tReact.ElementRef<typeof RadioGroupPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n\treturn <RadioGroupPrimitive.Root className={cn('', className)} {...props} ref={ref} />;\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n\tReact.ElementRef<typeof RadioGroupPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<RadioGroupPrimitive.Item\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<RadioGroupPrimitive.Indicator className='flex items-center justify-center'>\n\t\t\t\t<Circle className='h-2.5 w-2.5 fill-current text-current' />\n\t\t\t</RadioGroupPrimitive.Indicator>\n\t\t</RadioGroupPrimitive.Item>\n\t);\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\nimport { cn } from '@/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n\tReact.ElementRef<typeof ScrollAreaPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n\t<ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n\t\t<ScrollAreaPrimitive.Viewport className='h-full w-full rounded-[inherit]'>{children}</ScrollAreaPrimitive.Viewport>\n\t\t<ScrollBar />\n\t\t<ScrollAreaPrimitive.Corner />\n\t</ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n\tReact.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n\tReact.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n\t<ScrollAreaPrimitive.ScrollAreaScrollbar\n\t\tref={ref}\n\t\torientation={orientation}\n\t\tclassName={cn(\n\t\t\t'flex touch-none select-none transition-colors',\n\t\t\torientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n\t\t\torientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t<ScrollAreaPrimitive.ScrollAreaThumb className='relative flex-1 rounded-full bg-border' />\n\t</ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Separator = React.forwardRef<React.ElementRef<typeof SeparatorPrimitive.Root>, React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>>(\n\t({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n\t\t<SeparatorPrimitive.Root\n\t\t\tref={ref}\n\t\t\tdecorative={decorative}\n\t\t\torientation={orientation}\n\t\t\tclassName={cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n","import * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>>(\n\t({ className, ...props }, ref) => (\n\t\t<SheetPrimitive.Overlay\n\t\t\tclassName={cn(\n\t\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t/>\n\t),\n);\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n\t'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n\t{\n\t\tvariants: {\n\t\t\tside: {\n\t\t\t\ttop: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n\t\t\t\tbottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n\t\t\t\tleft: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n\t\t\t\tright: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tside: 'right',\n\t\t},\n\t},\n);\n\ninterface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps>(\n\t({ side = 'right', className, children, ...props }, ref) => (\n\t\t<SheetPortal>\n\t\t\t<SheetOverlay />\n\t\t\t<SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\n\t\t\t\t{children}\n\t\t\t\t<SheetPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-background-secondary'>\n\t\t\t\t\t<X className='h-4 w-4' />\n\t\t\t\t\t<span className='sr-only'>Close</span>\n\t\t\t\t</SheetPrimitive.Close>\n\t\t\t</SheetPrimitive.Content>\n\t\t</SheetPortal>\n\t),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col space-y-2', className)} {...props} />\n);\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>>(\n\t({ className, ...props }, ref) => (\n\t\t<SheetPrimitive.Title ref={ref} className={cn('text-lg font-semibold text-foreground', className)} {...props} />\n\t),\n);\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n\tReact.ElementRef<typeof SheetPrimitive.Description>,\n\tReact.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => <SheetPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _interopRequireWildcard(e, t) {\n if (\"function\" == typeof WeakMap) var r = new WeakMap(),\n n = new WeakMap();\n return (module.exports = _interopRequireWildcard = function _interopRequireWildcard(e, t) {\n if (!t && e && e.__esModule) return e;\n var o,\n i,\n f = {\n __proto__: null,\n \"default\": e\n };\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return f;\n if (o = t ? n : r) {\n if (o.has(e)) return o.get(e);\n o.set(e, f);\n }\n for (var _t in e) \"default\" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]);\n return f;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)(e, t);\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default function chainPropTypes(propType1, propType2) {\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n return function validate() {\n return propType1.apply(void 0, arguments) || propType2.apply(void 0, arguments);\n };\n}","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function isPlainObject(item) {\n return item && _typeof(item) === 'object' && item.constructor === Object;\n}\nexport default function deepmerge(target, source) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n clone: true\n };\n var output = options.clone ? _extends({}, target) : target;\n\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(function (key) {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n\n if (isPlainObject(source[key]) && key in target) {\n output[key] = deepmerge(target[key], source[key], options);\n } else {\n output[key] = source[key];\n }\n });\n }\n\n return output;\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// This module is based on https://github.com/airbnb/prop-types-exact repository.\n// However, in order to reduce the number of dependencies and to remove some extra safe checks\n// the module was forked.\n// Only exported for test purposes.\nexport var specialProperty = \"exact-prop: \\u200B\";\nexport default function exactProp(propTypes) {\n if (process.env.NODE_ENV === 'production') {\n return propTypes;\n }\n\n return _extends({}, propTypes, _defineProperty({}, specialProperty, function (props) {\n var unsupportedProps = Object.keys(props).filter(function (prop) {\n return !propTypes.hasOwnProperty(prop);\n });\n\n if (unsupportedProps.length > 0) {\n return new Error(\"The following props are not supported: \".concat(unsupportedProps.map(function (prop) {\n return \"`\".concat(prop, \"`\");\n }).join(', '), \". Please remove them.\"));\n }\n\n return null;\n }));\n}","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","/** @license React v17.0.2\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { ForwardRef, Memo } from 'react-is'; // Simplified polyfill for IE 11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\n\nvar fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n var match = \"\".concat(fn).match(fnNameMatchRegex);\n var name = match && match[1];\n return name || '';\n}\n/**\n * @param {function} Component\n * @param {string} fallback\n * @returns {string | undefined}\n */\n\nfunction getFunctionComponentName(Component) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? \"\".concat(wrapperName, \"(\").concat(functionName, \")\") : wrapperName);\n}\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE 11 support\n *\n * @param {React.ReactType} Component\n * @returns {string | undefined}\n */\n\n\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n if (_typeof(Component) === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n\n default:\n return undefined;\n }\n }\n\n return undefined;\n}","/* eslint-disable */\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nexport default typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();","var hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import nested from '../ThemeProvider/nested';\n/**\n * This is the list of the style rule name we use as drop in replacement for the built-in\n * pseudo classes (:checked, :disabled, :focused, etc.).\n *\n * Why do they exist in the first place?\n * These classes are used at a specificity of 2.\n * It allows them to override previously definied styles as well as\n * being untouched by simple user overrides.\n */\n\nvar pseudoClasses = ['checked', 'disabled', 'error', 'focused', 'focusVisible', 'required', 'expanded', 'selected']; // Returns a function which generates unique class names based on counters.\n// When new generator function is created, rule counter is reset.\n// We need to reset the rule counter for SSR for each request.\n//\n// It's inspired by\n// https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js\n\nexport default function createGenerateClassName() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _options$disableGloba = options.disableGlobal,\n disableGlobal = _options$disableGloba === void 0 ? false : _options$disableGloba,\n _options$productionPr = options.productionPrefix,\n productionPrefix = _options$productionPr === void 0 ? 'jss' : _options$productionPr,\n _options$seed = options.seed,\n seed = _options$seed === void 0 ? '' : _options$seed;\n var seedPrefix = seed === '' ? '' : \"\".concat(seed, \"-\");\n var ruleCounter = 0;\n\n var getNextCounterId = function getNextCounterId() {\n ruleCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (ruleCounter >= 1e10) {\n console.warn(['Material-UI: You might have a memory leak.', 'The ruleCounter is not supposed to grow that much.'].join(''));\n }\n }\n\n return ruleCounter;\n };\n\n return function (rule, styleSheet) {\n var name = styleSheet.options.name; // Is a global static MUI style?\n\n if (name && name.indexOf('Mui') === 0 && !styleSheet.options.link && !disableGlobal) {\n // We can use a shorthand class name, we never use the keys to style the components.\n if (pseudoClasses.indexOf(rule.key) !== -1) {\n return \"Mui-\".concat(rule.key);\n }\n\n var prefix = \"\".concat(seedPrefix).concat(name, \"-\").concat(rule.key);\n\n if (!styleSheet.options.theme[nested] || seed !== '') {\n return prefix;\n }\n\n return \"\".concat(prefix, \"-\").concat(getNextCounterId());\n }\n\n if (process.env.NODE_ENV === 'production') {\n return \"\".concat(seedPrefix).concat(productionPrefix).concat(getNextCounterId());\n }\n\n var suffix = \"\".concat(rule.key, \"-\").concat(getNextCounterId()); // Help with debuggability.\n\n if (styleSheet.options.classNamePrefix) {\n return \"\".concat(seedPrefix).concat(styleSheet.options.classNamePrefix, \"-\").concat(suffix);\n }\n\n return \"\".concat(seedPrefix).concat(suffix);\n };\n}","export default function createStyles(styles) {\n return styles;\n}","/* eslint-disable no-restricted-syntax */\nexport default function getThemeProps(params) {\n var theme = params.theme,\n name = params.name,\n props = params.props;\n\n if (!theme || !theme.props || !theme.props[name]) {\n return props;\n } // Resolve default props, code borrow from React source.\n // https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221\n\n\n var defaultProps = theme.props[name];\n var propName;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n\n return props;\n}","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\n\nexport default isBrowser;\n","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _extends from '@babel/runtime/helpers/esm/extends';\nimport isInBrowser from 'is-in-browser';\nimport warning from 'tiny-warning';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\nvar plainObjectConstrurctor = {}.constructor;\nfunction cloneStyle(style) {\n if (style == null || typeof style !== 'object') return style;\n if (Array.isArray(style)) return style.map(cloneStyle);\n if (style.constructor !== plainObjectConstrurctor) return style;\n var newStyle = {};\n\n for (var name in style) {\n newStyle[name] = cloneStyle(style[name]);\n }\n\n return newStyle;\n}\n\n/**\n * Create a rule instance.\n */\n\nfunction createRule(name, decl, options) {\n if (name === void 0) {\n name = 'unnamed';\n }\n\n var jss = options.jss;\n var declCopy = cloneStyle(decl);\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule; // It is an at-rule and it has no instance.\n\n if (name[0] === '@') {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown rule \" + name) : void 0;\n }\n\n return null;\n}\n\nvar join = function join(value, by) {\n var result = '';\n\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n\n return result;\n};\n/**\n * Converts JSS array value to a CSS string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\n\n\nvar toCssValue = function toCssValue(value) {\n if (!Array.isArray(value)) return value;\n var cssValue = ''; // Support space separated values via `[['5px', '10px']]`.\n\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', '); // Add !important, because it was ignored.\n\n\n if (value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n};\n\nfunction getWhitespaceSymbols(options) {\n if (options && options.format === false) {\n return {\n linebreak: '',\n space: ''\n };\n }\n\n return {\n linebreak: '\\n',\n space: ' '\n };\n}\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\n\nfunction indentStr(str, indent) {\n var result = '';\n\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }\n\n return result + str;\n}\n/**\n * Converts a Rule to CSS string.\n */\n\n\nfunction toCss(selector, style, options) {\n if (options === void 0) {\n options = {};\n }\n\n var result = '';\n if (!style) return result;\n var _options = options,\n _options$indent = _options.indent,\n indent = _options$indent === void 0 ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n if (options.format === false) {\n indent = -Infinity;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak,\n space = _getWhitespaceSymbols.space;\n\n if (selector) indent++; // Apply fallbacks first.\n\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n\n for (var prop in fallback) {\n var value = fallback[prop];\n\n if (value != null) {\n if (result) result += linebreak;\n result += indentStr(prop + \":\" + space + toCssValue(value) + \";\", indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n\n if (_value != null) {\n if (result) result += linebreak;\n result += indentStr(_prop + \":\" + space + toCssValue(_value) + \";\", indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n\n if (_value2 != null && _prop2 !== 'fallbacks') {\n if (result) result += linebreak;\n result += indentStr(_prop2 + \":\" + space + toCssValue(_value2) + \";\", indent);\n }\n } // Allow empty style in this case, because properties will be added dynamically.\n\n\n if (!result && !options.allowEmpty) return result; // When rule is being stringified before selector was defined.\n\n if (!selector) return result;\n indent--;\n if (result) result = \"\" + linebreak + result + linebreak;\n return indentStr(\"\" + selector + space + \"{\" + result, indent) + indentStr('}', indent);\n}\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`\\s])/g;\nvar nativeEscape = typeof CSS !== 'undefined' && CSS.escape;\nvar escape = (function (str) {\n return nativeEscape ? nativeEscape(str) : str.replace(escapeRegex, '\\\\$1');\n});\n\nvar BaseStyleRule =\n/*#__PURE__*/\nfunction () {\n function BaseStyleRule(key, style, options) {\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer;\n this.key = key;\n this.options = options;\n this.style = style;\n if (sheet) this.renderer = sheet.renderer;else if (Renderer) this.renderer = new Renderer();\n }\n /**\n * Get or set a style property.\n */\n\n\n var _proto = BaseStyleRule.prototype;\n\n _proto.prop = function prop(name, value, options) {\n // It's a getter.\n if (value === undefined) return this.style[name]; // Don't do anything if the value has not changed.\n\n var force = options ? options.force : false;\n if (!force && this.style[name] === value) return this;\n var newValue = value;\n\n if (!options || options.process !== false) {\n newValue = this.options.jss.plugins.onChangeValue(value, name, this);\n }\n\n var isEmpty = newValue == null || newValue === false;\n var isDefined = name in this.style; // Value is empty and wasn't defined before.\n\n if (isEmpty && !isDefined && !force) return this; // We are going to remove this value.\n\n var remove = isEmpty && isDefined;\n if (remove) delete this.style[name];else this.style[name] = newValue; // Renderable is defined if StyleSheet option `link` is true.\n\n if (this.renderable && this.renderer) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, newValue);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Rule is not linked. Missing sheet option \"link: true\".') : void 0;\n }\n\n return this;\n };\n\n return BaseStyleRule;\n}();\nvar StyleRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(StyleRule, _BaseStyleRule);\n\n function StyleRule(key, style, options) {\n var _this;\n\n _this = _BaseStyleRule.call(this, key, style, options) || this;\n var selector = options.selector,\n scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n\n if (selector) {\n _this.selectorText = selector;\n } else if (scoped !== false) {\n _this.id = generateId(_assertThisInitialized(_assertThisInitialized(_this)), sheet);\n _this.selectorText = \".\" + escape(_this.id);\n }\n\n return _this;\n }\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n var _proto2 = StyleRule.prototype;\n\n /**\n * Apply rule to an element inline.\n */\n _proto2.applyTo = function applyTo(renderable) {\n var renderer = this.renderer;\n\n if (renderer) {\n var json = this.toJSON();\n\n for (var prop in json) {\n renderer.setProperty(renderable, prop, json[prop]);\n }\n }\n\n return this;\n }\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n ;\n\n _proto2.toJSON = function toJSON() {\n var json = {};\n\n for (var prop in this.style) {\n var value = this.style[prop];\n if (typeof value !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = toCssValue(value);\n }\n\n return json;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto2.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.selectorText, this.style, opts);\n };\n\n _createClass(StyleRule, [{\n key: \"selector\",\n set: function set(selector) {\n if (selector === this.selectorText) return;\n this.selectorText = selector;\n var renderer = this.renderer,\n renderable = this.renderable;\n if (!renderable || !renderer) return;\n var hasChanged = renderer.setSelector(renderable, selector); // If selector setter is not implemented, rerender the rule.\n\n if (!hasChanged) {\n renderer.replaceRule(renderable, this);\n }\n }\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}(BaseStyleRule);\nvar pluginStyleRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (key[0] === '@' || options.parent && options.parent.type === 'keyframes') {\n return null;\n }\n\n return new StyleRule(key, style, options);\n }\n};\n\nvar defaultToStringOptions = {\n indent: 1,\n children: true\n};\nvar atRegExp = /@([\\w-]+)/;\n/**\n * Conditional rule for @media, @supports\n */\n\nvar ConditionalRule =\n/*#__PURE__*/\nfunction () {\n function ConditionalRule(key, styles, options) {\n this.type = 'conditional';\n this.isProcessed = false;\n this.key = key;\n var atMatch = key.match(atRegExp);\n this.at = atMatch ? atMatch[1] : 'unknown'; // Key might contain a unique suffix in case the `name` passed by user was duplicate.\n\n this.query = options.name || \"@\" + this.at;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = ConditionalRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions.indent;\n if (options.children == null) options.children = defaultToStringOptions.children;\n\n if (options.children === false) {\n return this.query + \" {}\";\n }\n\n var children = this.rules.toString(options);\n return children ? this.query + \" {\" + linebreak + children + linebreak + \"}\" : '';\n };\n\n return ConditionalRule;\n}();\nvar keyRegExp = /@container|@media|@supports\\s+/;\nvar pluginConditionalRule = {\n onCreateRule: function onCreateRule(key, styles, options) {\n return keyRegExp.test(key) ? new ConditionalRule(key, styles, options) : null;\n }\n};\n\nvar defaultToStringOptions$1 = {\n indent: 1,\n children: true\n};\nvar nameRegExp = /@keyframes\\s+([\\w-]+)/;\n/**\n * Rule for @keyframes\n */\n\nvar KeyframesRule =\n/*#__PURE__*/\nfunction () {\n function KeyframesRule(key, frames, options) {\n this.type = 'keyframes';\n this.at = '@keyframes';\n this.isProcessed = false;\n var nameMatch = key.match(nameRegExp);\n\n if (nameMatch && nameMatch[1]) {\n this.name = nameMatch[1];\n } else {\n this.name = 'noname';\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Bad keyframes name \" + key) : void 0;\n }\n\n this.key = this.type + \"-\" + this.name;\n this.options = options;\n var scoped = options.scoped,\n sheet = options.sheet,\n generateId = options.generateId;\n this.id = scoped === false ? this.name : escape(generateId(this, sheet));\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, options, {\n parent: this\n }));\n }\n\n this.rules.process();\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = KeyframesRule.prototype;\n\n _proto.toString = function toString(options) {\n if (options === void 0) {\n options = defaultToStringOptions$1;\n }\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (options.indent == null) options.indent = defaultToStringOptions$1.indent;\n if (options.children == null) options.children = defaultToStringOptions$1.children;\n\n if (options.children === false) {\n return this.at + \" \" + this.id + \" {}\";\n }\n\n var children = this.rules.toString(options);\n if (children) children = \"\" + linebreak + children + linebreak;\n return this.at + \" \" + this.id + \" {\" + children + \"}\";\n };\n\n return KeyframesRule;\n}();\nvar keyRegExp$1 = /@keyframes\\s+/;\nvar refRegExp = /\\$([\\w-]+)/g;\n\nvar findReferencedKeyframe = function findReferencedKeyframe(val, keyframes) {\n if (typeof val === 'string') {\n return val.replace(refRegExp, function (match, name) {\n if (name in keyframes) {\n return keyframes[name];\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Referenced keyframes rule \\\"\" + name + \"\\\" is not defined.\") : void 0;\n return match;\n });\n }\n\n return val;\n};\n/**\n * Replace the reference for a animation name.\n */\n\n\nvar replaceRef = function replaceRef(style, prop, keyframes) {\n var value = style[prop];\n var refKeyframe = findReferencedKeyframe(value, keyframes);\n\n if (refKeyframe !== value) {\n style[prop] = refKeyframe;\n }\n};\n\nvar pluginKeyframesRule = {\n onCreateRule: function onCreateRule(key, frames, options) {\n return typeof key === 'string' && keyRegExp$1.test(key) ? new KeyframesRule(key, frames, options) : null;\n },\n // Animation name ref replacer.\n onProcessStyle: function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style' || !sheet) return style;\n if ('animation-name' in style) replaceRef(style, 'animation-name', sheet.keyframes);\n if ('animation' in style) replaceRef(style, 'animation', sheet.keyframes);\n return style;\n },\n onChangeValue: function onChangeValue(val, prop, rule) {\n var sheet = rule.options.sheet;\n\n if (!sheet) {\n return val;\n }\n\n switch (prop) {\n case 'animation':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n case 'animation-name':\n return findReferencedKeyframe(val, sheet.keyframes);\n\n default:\n return val;\n }\n }\n};\n\nvar KeyframeRule =\n/*#__PURE__*/\nfunction (_BaseStyleRule) {\n _inheritsLoose(KeyframeRule, _BaseStyleRule);\n\n function KeyframeRule() {\n return _BaseStyleRule.apply(this, arguments) || this;\n }\n\n var _proto = KeyframeRule.prototype;\n\n /**\n * Generates a CSS string.\n */\n _proto.toString = function toString(options) {\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, {\n allowEmpty: true\n }) : options;\n return toCss(this.key, this.style, opts);\n };\n\n return KeyframeRule;\n}(BaseStyleRule);\nvar pluginKeyframeRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n if (options.parent && options.parent.type === 'keyframes') {\n return new KeyframeRule(key, style, options);\n }\n\n return null;\n }\n};\n\nvar FontFaceRule =\n/*#__PURE__*/\nfunction () {\n function FontFaceRule(key, style, options) {\n this.type = 'font-face';\n this.at = '@font-face';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = FontFaceRule.prototype;\n\n _proto.toString = function toString(options) {\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n if (Array.isArray(this.style)) {\n var str = '';\n\n for (var index = 0; index < this.style.length; index++) {\n str += toCss(this.at, this.style[index]);\n if (this.style[index + 1]) str += linebreak;\n }\n\n return str;\n }\n\n return toCss(this.at, this.style, options);\n };\n\n return FontFaceRule;\n}();\nvar keyRegExp$2 = /@font-face/;\nvar pluginFontFaceRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return keyRegExp$2.test(key) ? new FontFaceRule(key, style, options) : null;\n }\n};\n\nvar ViewportRule =\n/*#__PURE__*/\nfunction () {\n function ViewportRule(key, style, options) {\n this.type = 'viewport';\n this.at = '@viewport';\n this.isProcessed = false;\n this.key = key;\n this.style = style;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n\n\n var _proto = ViewportRule.prototype;\n\n _proto.toString = function toString(options) {\n return toCss(this.key, this.style, options);\n };\n\n return ViewportRule;\n}();\nvar pluginViewportRule = {\n onCreateRule: function onCreateRule(key, style, options) {\n return key === '@viewport' || key === '@-ms-viewport' ? new ViewportRule(key, style, options) : null;\n }\n};\n\nvar SimpleRule =\n/*#__PURE__*/\nfunction () {\n function SimpleRule(key, value, options) {\n this.type = 'simple';\n this.isProcessed = false;\n this.key = key;\n this.value = value;\n this.options = options;\n }\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n var _proto = SimpleRule.prototype;\n\n _proto.toString = function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + \" \" + this.value[index] + \";\";\n if (this.value[index + 1]) str += '\\n';\n }\n\n return str;\n }\n\n return this.key + \" \" + this.value + \";\";\n };\n\n return SimpleRule;\n}();\nvar keysMap = {\n '@charset': true,\n '@import': true,\n '@namespace': true\n};\nvar pluginSimpleRule = {\n onCreateRule: function onCreateRule(key, value, options) {\n return key in keysMap ? new SimpleRule(key, value, options) : null;\n }\n};\n\nvar plugins = [pluginStyleRule, pluginConditionalRule, pluginKeyframesRule, pluginKeyframeRule, pluginFontFaceRule, pluginViewportRule, pluginSimpleRule];\n\nvar defaultUpdateOptions = {\n process: true\n};\nvar forceUpdateOptions = {\n force: true,\n process: true\n /**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\n\n};\n\nvar RuleList =\n/*#__PURE__*/\nfunction () {\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n // Original styles object.\n // Used to ensure correct rules order.\n function RuleList(options) {\n this.map = {};\n this.raw = {};\n this.index = [];\n this.counter = 0;\n this.options = options;\n this.classes = options.classes;\n this.keyframes = options.keyframes;\n }\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n var _proto = RuleList.prototype;\n\n _proto.add = function add(name, decl, ruleOptions) {\n var _this$options = this.options,\n parent = _this$options.parent,\n sheet = _this$options.sheet,\n jss = _this$options.jss,\n Renderer = _this$options.Renderer,\n generateId = _this$options.generateId,\n scoped = _this$options.scoped;\n\n var options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateId: generateId,\n scoped: scoped,\n name: name,\n keyframes: this.keyframes,\n selector: undefined\n }, ruleOptions); // When user uses .createStyleSheet(), duplicate names are not possible, but\n // `sheet.addRule()` opens the door for any duplicate rule name. When this happens\n // we need to make the key unique within this RuleList instance scope.\n\n\n var key = name;\n\n if (name in this.raw) {\n key = name + \"-d\" + this.counter++;\n } // We need to save the original decl before creating the rule\n // because cache plugin needs to use it as a key to return a cached rule.\n\n\n this.raw[key] = decl;\n\n if (key in this.classes) {\n // E.g. rules inside of @media container\n options.selector = \".\" + escape(this.classes[key]);\n }\n\n var rule = createRule(key, decl, options);\n if (!rule) return null;\n this.register(rule);\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n return rule;\n }\n /**\n * Replace rule.\n * Create a new rule and remove old one instead of overwriting\n * because we want to invoke onCreateRule hook to make plugins work.\n */\n ;\n\n _proto.replace = function replace(name, decl, ruleOptions) {\n var oldRule = this.get(name);\n var oldIndex = this.index.indexOf(oldRule);\n\n if (oldRule) {\n this.remove(oldRule);\n }\n\n var options = ruleOptions;\n if (oldIndex !== -1) options = _extends({}, ruleOptions, {\n index: oldIndex\n });\n return this.add(name, decl, options);\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.get = function get(nameOrSelector) {\n return this.map[nameOrSelector];\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.remove = function remove(rule) {\n this.unregister(rule);\n delete this.raw[rule.key];\n this.index.splice(this.index.indexOf(rule), 1);\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n ;\n\n _proto.process = function process() {\n var plugins = this.options.jss.plugins; // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n /**\n * Register a rule in `.map`, `.classes` and `.keyframes` maps.\n */\n ;\n\n _proto.register = function register(rule) {\n this.map[rule.key] = rule;\n\n if (rule instanceof StyleRule) {\n this.map[rule.selector] = rule;\n if (rule.id) this.classes[rule.key] = rule.id;\n } else if (rule instanceof KeyframesRule && this.keyframes) {\n this.keyframes[rule.name] = rule.id;\n }\n }\n /**\n * Unregister a rule.\n */\n ;\n\n _proto.unregister = function unregister(rule) {\n delete this.map[rule.key];\n\n if (rule instanceof StyleRule) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n } else if (rule instanceof KeyframesRule) {\n delete this.keyframes[rule.name];\n }\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var name;\n var data;\n var options;\n\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {\n name = arguments.length <= 0 ? undefined : arguments[0];\n data = arguments.length <= 1 ? undefined : arguments[1];\n options = arguments.length <= 2 ? undefined : arguments[2];\n } else {\n data = arguments.length <= 0 ? undefined : arguments[0];\n options = arguments.length <= 1 ? undefined : arguments[1];\n name = null;\n }\n\n if (name) {\n this.updateOne(this.get(name), data, options);\n } else {\n for (var index = 0; index < this.index.length; index++) {\n this.updateOne(this.index[index], data, options);\n }\n }\n }\n /**\n * Execute plugins, update rule props.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n if (options === void 0) {\n options = defaultUpdateOptions;\n }\n\n var _this$options2 = this.options,\n plugins = _this$options2.jss.plugins,\n sheet = _this$options2.sheet; // It is a rules container like for e.g. ConditionalRule.\n\n if (rule.rules instanceof RuleList) {\n rule.rules.update(data, options);\n return;\n }\n\n var style = rule.style;\n plugins.onUpdate(data, rule, sheet, options); // We rely on a new `style` ref in case it was mutated during onUpdate hook.\n\n if (options.process && style && style !== rule.style) {\n // We need to run the plugins in case new `style` relies on syntax plugins.\n plugins.onProcessStyle(rule.style, rule, sheet); // Update and add props.\n\n for (var prop in rule.style) {\n var nextValue = rule.style[prop];\n var prevValue = style[prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (nextValue !== prevValue) {\n rule.prop(prop, nextValue, forceUpdateOptions);\n }\n } // Remove props.\n\n\n for (var _prop in style) {\n var _nextValue = rule.style[_prop];\n var _prevValue = style[_prop]; // We need to use `force: true` because `rule.style` has been updated during onUpdate hook, so `rule.prop()` will not update the CSSOM rule.\n // We do this comparison to avoid unneeded `rule.prop()` calls, since we have the old `style` object here.\n\n if (_nextValue == null && _nextValue !== _prevValue) {\n rule.prop(_prop, null, forceUpdateOptions);\n }\n }\n }\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n var link = sheet ? sheet.options.link : false;\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options); // No need to render an empty rule.\n\n if (!css && !link) continue;\n if (str) str += linebreak;\n str += css;\n }\n\n return str;\n };\n\n return RuleList;\n}();\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction () {\n function StyleSheet(styles, options) {\n this.attached = false;\n this.deployed = false;\n this.classes = {};\n this.keyframes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes,\n keyframes: this.keyframes\n });\n\n if (options.Renderer) {\n this.renderer = new options.Renderer(this);\n }\n\n this.rules = new RuleList(this.options);\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n /**\n * Attach renderable to the render tree.\n */\n\n\n var _proto = StyleSheet.prototype;\n\n _proto.attach = function attach() {\n if (this.attached) return this;\n if (this.renderer) this.renderer.attach();\n this.attached = true; // Order is important, because we can't use insertRule API if style element is not attached.\n\n if (!this.deployed) this.deploy();\n return this;\n }\n /**\n * Remove renderable from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.attached) return this;\n if (this.renderer) this.renderer.detach();\n this.attached = false;\n return this;\n }\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n ;\n\n _proto.addRule = function addRule(name, decl, options) {\n var queue = this.queue; // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n var rule = this.rules.add(name, decl, options);\n if (!rule) return null;\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule; // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n } // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return rule;\n }\n /**\n * Replace a rule in the current stylesheet.\n */\n ;\n\n _proto.replaceRule = function replaceRule(nameOrSelector, decl, options) {\n var oldRule = this.rules.get(nameOrSelector);\n if (!oldRule) return this.addRule(nameOrSelector, decl, options);\n var newRule = this.rules.replace(nameOrSelector, decl, options);\n\n if (newRule) {\n this.options.jss.plugins.onProcessRule(newRule);\n }\n\n if (this.attached) {\n if (!this.deployed) return newRule; // Don't replace / delete rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n\n if (this.renderer) {\n if (!newRule) {\n this.renderer.deleteRule(oldRule);\n } else if (oldRule.renderable) {\n this.renderer.replaceRule(oldRule.renderable, newRule);\n }\n }\n\n return newRule;\n } // We can't replace rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n\n\n this.deployed = false;\n return newRule;\n }\n /**\n * Insert rule into the StyleSheet\n */\n ;\n\n _proto.insertRule = function insertRule(rule) {\n if (this.renderer) {\n this.renderer.insertRule(rule);\n }\n }\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n ;\n\n _proto.addRules = function addRules(styles, options) {\n var added = [];\n\n for (var name in styles) {\n var rule = this.addRule(name, styles[name], options);\n if (rule) added.push(rule);\n }\n\n return added;\n }\n /**\n * Get a rule by name or selector.\n */\n ;\n\n _proto.getRule = function getRule(nameOrSelector) {\n return this.rules.get(nameOrSelector);\n }\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n ;\n\n _proto.deleteRule = function deleteRule(name) {\n var rule = typeof name === 'object' ? name : this.rules.get(name);\n\n if (!rule || // Style sheet was created without link: true and attached, in this case we\n // won't be able to remove the CSS rule from the DOM.\n this.attached && !rule.renderable) {\n return false;\n }\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable && this.renderer) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Deploy pure CSS string to a renderable.\n */\n ;\n\n _proto.deploy = function deploy() {\n if (this.renderer) this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n /**\n * Update the function values with a new data.\n */\n ;\n\n _proto.update = function update() {\n var _this$rules;\n\n (_this$rules = this.rules).update.apply(_this$rules, arguments);\n\n return this;\n }\n /**\n * Updates a single rule.\n */\n ;\n\n _proto.updateOne = function updateOne(rule, data, options) {\n this.rules.updateOne(rule, data, options);\n return this;\n }\n /**\n * Convert rules to a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return StyleSheet;\n}();\n\nvar PluginsRegistry =\n/*#__PURE__*/\nfunction () {\n function PluginsRegistry() {\n this.plugins = {\n internal: [],\n external: []\n };\n this.registry = {};\n }\n\n var _proto = PluginsRegistry.prototype;\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n _proto.onCreateRule = function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.registry.onCreateRule.length; i++) {\n var rule = this.registry.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n\n return null;\n }\n /**\n * Call `onProcessRule` hooks.\n */\n ;\n\n _proto.onProcessRule = function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.registry.onProcessRule.length; i++) {\n this.registry.onProcessRule[i](rule, sheet);\n }\n\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n rule.isProcessed = true;\n }\n /**\n * Call `onProcessStyle` hooks.\n */\n ;\n\n _proto.onProcessStyle = function onProcessStyle(style, rule, sheet) {\n for (var i = 0; i < this.registry.onProcessStyle.length; i++) {\n rule.style = this.registry.onProcessStyle[i](rule.style, rule, sheet);\n }\n }\n /**\n * Call `onProcessSheet` hooks.\n */\n ;\n\n _proto.onProcessSheet = function onProcessSheet(sheet) {\n for (var i = 0; i < this.registry.onProcessSheet.length; i++) {\n this.registry.onProcessSheet[i](sheet);\n }\n }\n /**\n * Call `onUpdate` hooks.\n */\n ;\n\n _proto.onUpdate = function onUpdate(data, rule, sheet, options) {\n for (var i = 0; i < this.registry.onUpdate.length; i++) {\n this.registry.onUpdate[i](data, rule, sheet, options);\n }\n }\n /**\n * Call `onChangeValue` hooks.\n */\n ;\n\n _proto.onChangeValue = function onChangeValue(value, prop, rule) {\n var processedValue = value;\n\n for (var i = 0; i < this.registry.onChangeValue.length; i++) {\n processedValue = this.registry.onChangeValue[i](processedValue, prop, rule);\n }\n\n return processedValue;\n }\n /**\n * Register a plugin.\n */\n ;\n\n _proto.use = function use(newPlugin, options) {\n if (options === void 0) {\n options = {\n queue: 'external'\n };\n }\n\n var plugins = this.plugins[options.queue]; // Avoids applying same plugin twice, at least based on ref.\n\n if (plugins.indexOf(newPlugin) !== -1) {\n return;\n }\n\n plugins.push(newPlugin);\n this.registry = [].concat(this.plugins.external, this.plugins.internal).reduce(function (registry, plugin) {\n for (var name in plugin) {\n if (name in registry) {\n registry[name].push(plugin[name]);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Unknown hook \\\"\" + name + \"\\\".\") : void 0;\n }\n }\n\n return registry;\n }, {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n });\n };\n\n return PluginsRegistry;\n}();\n\n/**\n * Sheets registry to access all instances in one place.\n */\n\nvar SheetsRegistry =\n/*#__PURE__*/\nfunction () {\n function SheetsRegistry() {\n this.registry = [];\n }\n\n var _proto = SheetsRegistry.prototype;\n\n /**\n * Register a Style Sheet.\n */\n _proto.add = function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n } // Find a position.\n\n\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n /**\n * Reset the registry.\n */\n ;\n\n _proto.reset = function reset() {\n this.registry = [];\n }\n /**\n * Remove a Style Sheet.\n */\n ;\n\n _proto.remove = function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n /**\n * Convert all attached sheets to a CSS string.\n */\n ;\n\n _proto.toString = function toString(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n attached = _ref.attached,\n options = _objectWithoutPropertiesLoose(_ref, [\"attached\"]);\n\n var _getWhitespaceSymbols = getWhitespaceSymbols(options),\n linebreak = _getWhitespaceSymbols.linebreak;\n\n var css = '';\n\n for (var i = 0; i < this.registry.length; i++) {\n var sheet = this.registry[i];\n\n if (attached != null && sheet.attached !== attached) {\n continue;\n }\n\n if (css) css += linebreak;\n css += sheet.toString(options);\n }\n\n return css;\n };\n\n _createClass(SheetsRegistry, [{\n key: \"index\",\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\n\nvar sheets = new SheetsRegistry();\n\n/* eslint-disable */\n\n/**\n * Now that `globalThis` is available on most platforms\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility)\n * we check for `globalThis` first. `globalThis` is necessary for jss\n * to run in Agoric's secure version of JavaScript (SES). Under SES,\n * `globalThis` exists, but `window`, `self`, and `Function('return\n * this')()` are all undefined for security reasons.\n *\n * https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n */\nvar globalThis$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' && window.Math === Math ? window : typeof self !== 'undefined' && self.Math === Math ? self : Function('return this')();\n\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (globalThis$1[ns] == null) globalThis$1[ns] = 0; // Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\n\nvar moduleId = globalThis$1[ns]++;\n\nvar maxRules = 1e10;\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nvar createGenerateId = function createGenerateId(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ruleCounter = 0;\n\n var generateId = function generateId(rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] You might have a memory leak. Rule counter is at \" + ruleCounter + \".\") : void 0;\n }\n\n var jssId = '';\n var prefix = '';\n\n if (sheet) {\n if (sheet.options.classNamePrefix) {\n prefix = sheet.options.classNamePrefix;\n }\n\n if (sheet.options.jss.id != null) {\n jssId = String(sheet.options.jss.id);\n }\n }\n\n if (options.minify) {\n // Using \"c\" because a number can't be the first char in a class name.\n return \"\" + (prefix || 'c') + moduleId + jssId + ruleCounter;\n }\n\n return prefix + rule.key + \"-\" + moduleId + (jssId ? \"-\" + jssId : '') + \"-\" + ruleCounter;\n };\n\n return generateId;\n};\n\n/**\n * Cache the value from the first time a function is called.\n */\n\nvar memoize = function memoize(fn) {\n var value;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n/**\n * Get a style property value.\n */\n\n\nvar getPropertyValue = function getPropertyValue(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n return cssRule.attributeStyleMap.get(prop);\n }\n\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n};\n/**\n * Set a style property.\n */\n\n\nvar setProperty = function setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = toCssValue(value);\n } // Support CSSTOM.\n\n\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.set(prop, cssValue);\n } else {\n var indexOfImportantFlag = cssValue ? cssValue.indexOf('!important') : -1;\n var cssValueWithoutImportantFlag = indexOfImportantFlag > -1 ? cssValue.substr(0, indexOfImportantFlag - 1) : cssValue;\n cssRule.style.setProperty(prop, cssValueWithoutImportantFlag, indexOfImportantFlag > -1 ? 'important' : '');\n }\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n\n return true;\n};\n/**\n * Remove a style property.\n */\n\n\nvar removeProperty = function removeProperty(cssRule, prop) {\n try {\n // Support CSSTOM.\n if (cssRule.attributeStyleMap) {\n cssRule.attributeStyleMap.delete(prop);\n } else {\n cssRule.style.removeProperty(prop);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] DOMException \\\"\" + err.message + \"\\\" was thrown. Tried to remove property \\\"\" + prop + \"\\\".\") : void 0;\n }\n};\n/**\n * Set the selector.\n */\n\n\nvar setSelector = function setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText; // Return false if setter was not successful.\n // Currently works in chrome only.\n\n return cssRule.selectorText === selectorText;\n};\n/**\n * Gets the `head` element upon the first call and caches it.\n * We assume it can't be null.\n */\n\n\nvar getHead = memoize(function () {\n return document.querySelector('head');\n});\n/**\n * Find attached sheet with an index higher than the passed one.\n */\n\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find attached sheet with the highest index.\n */\n\n\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n\n return null;\n}\n/**\n * Find a comment with \"jss\" inside.\n */\n\n\nfunction findCommentNode(text) {\n var head = getHead();\n\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n\n return null;\n}\n/**\n * Find a node before which we can insert the sheet.\n */\n\n\nfunction findPrevNode(options) {\n var registry = sheets.registry;\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element\n };\n } // Otherwise insert after the last attached.\n\n\n sheet = findHighestSheet(registry, options);\n\n if (sheet && sheet.renderer) {\n return {\n parent: sheet.renderer.element.parentNode,\n node: sheet.renderer.element.nextSibling\n };\n }\n } // Try to find a comment placeholder if registry is empty.\n\n\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n\n if (comment) {\n return {\n parent: comment.parentNode,\n node: comment.nextSibling\n };\n } // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Insertion point \\\"\" + insertionPoint + \"\\\" not found.\") : void 0;\n }\n\n return false;\n}\n/**\n * Insert style element into the DOM.\n */\n\n\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n var nextNode = findPrevNode(options);\n\n if (nextNode !== false && nextNode.parent) {\n nextNode.parent.insertBefore(style, nextNode.node);\n return;\n } // Works with iframes and any node types.\n\n\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n var insertionPointElement = insertionPoint;\n var parentNode = insertionPointElement.parentNode;\n if (parentNode) parentNode.insertBefore(style, insertionPointElement.nextSibling);else process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Insertion point is not in the DOM.') : void 0;\n return;\n }\n\n getHead().appendChild(style);\n}\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\n\n\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar _insertRule = function insertRule(container, rule, index) {\n try {\n if ('insertRule' in container) {\n container.insertRule(rule, index);\n } // Keyframes rule.\n else if ('appendRule' in container) {\n container.appendRule(rule);\n }\n } catch (err) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] \" + err.message) : void 0;\n return false;\n }\n\n return container.cssRules[index];\n};\n\nvar getValidRuleInsertionIndex = function getValidRuleInsertionIndex(container, index) {\n var maxIndex = container.cssRules.length; // In case previous insertion fails, passed index might be wrong\n\n if (index === undefined || index > maxIndex) {\n // eslint-disable-next-line no-param-reassign\n return maxIndex;\n }\n\n return index;\n};\n\nvar createStyle = function createStyle() {\n var el = document.createElement('style'); // Without it, IE will have a broken source order specificity if we\n // insert rules after we insert the style tag.\n // It seems to kick-off the source order specificity algorithm.\n\n el.textContent = '\\n';\n return el;\n};\n\nvar DomRenderer =\n/*#__PURE__*/\nfunction () {\n // Will be empty if link: true option is not set, because\n // it is only for use together with insertRule API.\n function DomRenderer(sheet) {\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.hasInsertedRules = false;\n this.cssRules = [];\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) sheets.add(sheet);\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || createStyle();\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n /**\n * Insert style element into render tree.\n */\n\n\n var _proto = DomRenderer.prototype;\n\n _proto.attach = function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n insertStyle(this.element, this.sheet.options); // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // most browsers create a new CSSStyleSheet, except of all IEs.\n\n var deployed = Boolean(this.sheet && this.sheet.deployed);\n\n if (this.hasInsertedRules && deployed) {\n this.hasInsertedRules = false;\n this.deploy();\n }\n }\n /**\n * Remove style element from render tree.\n */\n ;\n\n _proto.detach = function detach() {\n if (!this.sheet) return;\n var parentNode = this.element.parentNode;\n if (parentNode) parentNode.removeChild(this.element); // In the most browsers, rules inserted using insertRule() API will be lost when style element is removed.\n // Though IE will keep them and we need a consistent behavior.\n\n if (this.sheet.options.link) {\n this.cssRules = [];\n this.element.textContent = '\\n';\n }\n }\n /**\n * Inject CSS string into element.\n */\n ;\n\n _proto.deploy = function deploy() {\n var sheet = this.sheet;\n if (!sheet) return;\n\n if (sheet.options.link) {\n this.insertRules(sheet.rules);\n return;\n }\n\n this.element.textContent = \"\\n\" + sheet.toString() + \"\\n\";\n }\n /**\n * Insert RuleList into an element.\n */\n ;\n\n _proto.insertRules = function insertRules(rules, nativeParent) {\n for (var i = 0; i < rules.index.length; i++) {\n this.insertRule(rules.index[i], i, nativeParent);\n }\n }\n /**\n * Insert a rule into element.\n */\n ;\n\n _proto.insertRule = function insertRule(rule, index, nativeParent) {\n if (nativeParent === void 0) {\n nativeParent = this.element.sheet;\n }\n\n if (rule.rules) {\n var parent = rule;\n var latestNativeParent = nativeParent;\n\n if (rule.type === 'conditional' || rule.type === 'keyframes') {\n var _insertionIndex = getValidRuleInsertionIndex(nativeParent, index); // We need to render the container without children first.\n\n\n latestNativeParent = _insertRule(nativeParent, parent.toString({\n children: false\n }), _insertionIndex);\n\n if (latestNativeParent === false) {\n return false;\n }\n\n this.refCssRule(rule, _insertionIndex, latestNativeParent);\n }\n\n this.insertRules(parent.rules, latestNativeParent);\n return latestNativeParent;\n }\n\n var ruleStr = rule.toString();\n if (!ruleStr) return false;\n var insertionIndex = getValidRuleInsertionIndex(nativeParent, index);\n\n var nativeRule = _insertRule(nativeParent, ruleStr, insertionIndex);\n\n if (nativeRule === false) {\n return false;\n }\n\n this.hasInsertedRules = true;\n this.refCssRule(rule, insertionIndex, nativeRule);\n return nativeRule;\n };\n\n _proto.refCssRule = function refCssRule(rule, index, cssRule) {\n rule.renderable = cssRule; // We only want to reference the top level rules, deleteRule API doesn't support removing nested rules\n // like rules inside media queries or keyframes\n\n if (rule.options.parent instanceof StyleSheet) {\n this.cssRules.splice(index, 0, cssRule);\n }\n }\n /**\n * Delete a rule.\n */\n ;\n\n _proto.deleteRule = function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return true;\n }\n /**\n * Get index of a CSS Rule.\n */\n ;\n\n _proto.indexOf = function indexOf(cssRule) {\n return this.cssRules.indexOf(cssRule);\n }\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n ;\n\n _proto.replaceRule = function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n this.element.sheet.deleteRule(index);\n this.cssRules.splice(index, 1);\n return this.insertRule(rule, index);\n }\n /**\n * Get all rules elements.\n */\n ;\n\n _proto.getRules = function getRules() {\n return this.element.sheet.cssRules;\n };\n\n return DomRenderer;\n}();\n\nvar instanceCounter = 0;\n\nvar Jss =\n/*#__PURE__*/\nfunction () {\n function Jss(options) {\n this.id = instanceCounter++;\n this.version = \"10.10.0\";\n this.plugins = new PluginsRegistry();\n this.options = {\n id: {\n minify: false\n },\n createGenerateId: createGenerateId,\n Renderer: isInBrowser ? DomRenderer : null,\n plugins: []\n };\n this.generateId = createGenerateId({\n minify: false\n });\n\n for (var i = 0; i < plugins.length; i++) {\n this.plugins.use(plugins[i], {\n queue: 'internal'\n });\n }\n\n this.setup(options);\n }\n /**\n * Prepares various options, applies plugins.\n * Should not be used twice on the same instance, because there is no plugins\n * deduplication logic.\n */\n\n\n var _proto = Jss.prototype;\n\n _proto.setup = function setup(options) {\n if (options === void 0) {\n options = {};\n }\n\n if (options.createGenerateId) {\n this.options.createGenerateId = options.createGenerateId;\n }\n\n if (options.id) {\n this.options.id = _extends({}, this.options.id, options.id);\n }\n\n if (options.createGenerateId || options.id) {\n this.generateId = this.options.createGenerateId(this.options.id);\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n\n if ('Renderer' in options) {\n this.options.Renderer = options.Renderer;\n } // eslint-disable-next-line prefer-spread\n\n\n if (options.plugins) this.use.apply(this, options.plugins);\n return this;\n }\n /**\n * Create a Style Sheet.\n */\n ;\n\n _proto.createStyleSheet = function createStyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n index = _options.index;\n\n if (typeof index !== 'number') {\n index = sheets.index === 0 ? 0 : sheets.index + 1;\n }\n\n var sheet = new StyleSheet(styles, _extends({}, options, {\n jss: this,\n generateId: options.generateId || this.generateId,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n return sheet;\n }\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n ;\n\n _proto.removeStyleSheet = function removeStyleSheet(sheet) {\n sheet.detach();\n sheets.remove(sheet);\n return this;\n }\n /**\n * Create a rule without a Style Sheet.\n * [Deprecated] will be removed in the next major version.\n */\n ;\n\n _proto.createRule = function createRule$1(name, style, options) {\n if (style === void 0) {\n style = {};\n }\n\n if (options === void 0) {\n options = {};\n }\n\n // Enable rule without name for inline styles.\n if (typeof name === 'object') {\n return this.createRule(undefined, name, style);\n }\n\n var ruleOptions = _extends({}, options, {\n name: name,\n jss: this,\n Renderer: this.options.Renderer\n });\n\n if (!ruleOptions.generateId) ruleOptions.generateId = this.generateId;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n if (!ruleOptions.keyframes) ruleOptions.keyframes = {};\n\n var rule = createRule(name, style, ruleOptions);\n\n if (rule) this.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n ;\n\n _proto.use = function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n _this.plugins.use(plugin);\n });\n return this;\n };\n\n return Jss;\n}();\n\nvar createJss = function createJss(options) {\n return new Jss(options);\n};\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n * Used in react-jss.\n */\n\nvar SheetsManager =\n/*#__PURE__*/\nfunction () {\n function SheetsManager() {\n this.length = 0;\n this.sheets = new WeakMap();\n }\n\n var _proto = SheetsManager.prototype;\n\n _proto.get = function get(key) {\n var entry = this.sheets.get(key);\n return entry && entry.sheet;\n };\n\n _proto.add = function add(key, sheet) {\n if (this.sheets.has(key)) return;\n this.length++;\n this.sheets.set(key, {\n sheet: sheet,\n refs: 0\n });\n };\n\n _proto.manage = function manage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs === 0) {\n entry.sheet.attach();\n }\n\n entry.refs++;\n return entry.sheet;\n }\n\n warning(false, \"[JSS] SheetsManager: can't find sheet to manage\");\n return undefined;\n };\n\n _proto.unmanage = function unmanage(key) {\n var entry = this.sheets.get(key);\n\n if (entry) {\n if (entry.refs > 0) {\n entry.refs--;\n if (entry.refs === 0) entry.sheet.detach();\n }\n } else {\n warning(false, \"SheetsManager: can't find sheet to unmanage\");\n }\n };\n\n _createClass(SheetsManager, [{\n key: \"size\",\n get: function get() {\n return this.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\n/**\n* Export a constant indicating if this browser has CSSTOM support.\n* https://developers.google.com/web/updates/2018/03/cssom\n*/\nvar hasCSSTOMSupport = typeof CSS === 'object' && CSS != null && 'number' in CSS;\n\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value;\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/**\n * A better abstraction over CSS.\n *\n * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present\n * @website https://github.com/cssinjs/jss\n * @license MIT\n */\nvar index = createJss();\n\nexport default index;\nexport { RuleList, SheetsManager, SheetsRegistry, createJss as create, createGenerateId, createRule, getDynamicStyles, hasCSSTOMSupport, sheets, toCssValue };\n","import warning from 'tiny-warning';\nimport { createRule } from 'jss';\n\nvar now = Date.now();\nvar fnValuesNs = \"fnValues\" + now;\nvar fnRuleNs = \"fnStyle\" + ++now;\n\nvar functionPlugin = function functionPlugin() {\n return {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = createRule(name, {}, options);\n rule[fnRuleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n // We need to extract function values from the declaration, so that we can keep core unaware of them.\n // We need to do that only once.\n // We don't need to extract functions on each style update, since this can happen only once.\n // We don't support function values inside of function rules.\n if (fnValuesNs in rule || fnRuleNs in rule) return style;\n var fnValues = {};\n\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fnValues[prop] = value;\n }\n\n rule[fnValuesNs] = fnValues;\n return style;\n },\n onUpdate: function onUpdate(data, rule, sheet, options) {\n var styleRule = rule;\n var fnRule = styleRule[fnRuleNs]; // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n\n if (fnRule) {\n // Empty object will remove all currently defined props\n // in case function rule returns a falsy value.\n styleRule.style = fnRule(data) || {};\n\n if (process.env.NODE_ENV === 'development') {\n for (var prop in styleRule.style) {\n if (typeof styleRule.style[prop] === 'function') {\n process.env.NODE_ENV !== \"production\" ? warning(false, '[JSS] Function values inside function rules are not supported.') : void 0;\n break;\n }\n }\n }\n }\n\n var fnValues = styleRule[fnValuesNs]; // If we have a fn values map, it is a rule with function values.\n\n if (fnValues) {\n for (var _prop in fnValues) {\n styleRule.prop(_prop, fnValues[_prop](data), options);\n }\n }\n }\n };\n};\n\nexport default functionPlugin;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { RuleList } from 'jss';\n\nvar at = '@global';\nvar atPrefix = '@global ';\n\nvar GlobalContainerRule =\n/*#__PURE__*/\nfunction () {\n function GlobalContainerRule(key, styles, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n this.rules = new RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector]);\n }\n\n this.rules.process();\n }\n /**\n * Get a rule.\n */\n\n\n var _proto = GlobalContainerRule.prototype;\n\n _proto.getRule = function getRule(name) {\n return this.rules.get(name);\n }\n /**\n * Create and register rule, run plugins.\n */\n ;\n\n _proto.addRule = function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n if (rule) this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n /**\n * Replace rule, run plugins.\n */\n ;\n\n _proto.replaceRule = function replaceRule(name, style, options) {\n var newRule = this.rules.replace(name, style, options);\n if (newRule) this.options.jss.plugins.onProcessRule(newRule);\n return newRule;\n }\n /**\n * Get index of a rule.\n */\n ;\n\n _proto.indexOf = function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n /**\n * Generates a CSS string.\n */\n ;\n\n _proto.toString = function toString(options) {\n return this.rules.toString(options);\n };\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule =\n/*#__PURE__*/\nfunction () {\n function GlobalPrefixedRule(key, style, options) {\n this.type = 'global';\n this.at = at;\n this.isProcessed = false;\n this.key = key;\n this.options = options;\n var selector = key.substr(atPrefix.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this\n }));\n }\n\n var _proto2 = GlobalPrefixedRule.prototype;\n\n _proto2.toString = function toString(options) {\n return this.rule ? this.rule.toString(options) : '';\n };\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + \" \" + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n var rules = style ? style[at] : null;\n if (!rules) return;\n\n for (var name in rules) {\n sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[at];\n}\n\nfunction handlePrefixedGlobalRule(rule, sheet) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop[0] !== '@' || prop.substr(0, at.length) !== at) continue;\n var selector = addScope(prop.substr(at.length), rule.selector);\n sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\n\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (!name) return null;\n\n if (name === at) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, atPrefix.length) === atPrefix) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent && parent.options.parent.type === 'global') {\n options.scoped = false;\n }\n }\n\n if (!options.selector && options.scoped === false) {\n options.selector = name;\n }\n\n return null;\n }\n\n function onProcessRule(rule, sheet) {\n if (rule.type !== 'style' || !sheet) return;\n handleNestedGlobalContainerRule(rule, sheet);\n handlePrefixedGlobalRule(rule, sheet);\n }\n\n return {\n onCreateRule: onCreateRule,\n onProcessRule: onProcessRule\n };\n}\n\nexport default jssGlobal;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport warning from 'tiny-warning';\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n/**\n * Convert nested rules to separate, remove them from original styles.\n */\n\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container, sheet) {\n return function (match, key) {\n var rule = container.getRule(key) || sheet && sheet.getRule(key);\n\n if (rule) {\n return rule.selector;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(false, \"[JSS] Could not find the referenced rule \\\"\" + key + \"\\\" in \\\"\" + (container.options.meta || container.toString()) + \"\\\".\") : void 0;\n return key;\n };\n }\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', '; // Replace all & by the parent or prefix & with the parent.\n\n result += nested.indexOf('&') !== -1 ? nested.replace(parentRegExp, parent) : parent + \" \" + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, prevOptions) {\n // Options has been already created, now we only increase index.\n if (prevOptions) return _extends({}, prevOptions, {\n index: prevOptions.index + 1\n });\n var nestingLevel = rule.options.nestingLevel;\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n var options = _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1 // We don't need the parent name to be set options for chlid.\n\n });\n\n delete options.name;\n return options;\n }\n\n function onProcessStyle(style, rule, sheet) {\n if (rule.type !== 'style') return style;\n var styleRule = rule;\n var container = styleRule.options.parent;\n var options;\n var replaceRef;\n\n for (var prop in style) {\n var isNested = prop.indexOf('&') !== -1;\n var isNestedConditional = prop[0] === '@';\n if (!isNested && !isNestedConditional) continue;\n options = getOptions(styleRule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, styleRule.selector); // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n\n if (!replaceRef) replaceRef = getReplaceRef(container, sheet); // Replace all $refs.\n\n selector = selector.replace(refRegExp, replaceRef);\n var name = styleRule.key + \"-\" + prop;\n\n if ('replaceRule' in container) {\n // for backward compatibility\n container.replaceRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n } else {\n container.addRule(name, style[prop], _extends({}, options, {\n selector: selector\n }));\n }\n } else if (isNestedConditional) {\n // Place conditional right after the parent rule to ensure right ordering.\n container.addRule(prop, {}, options).addRule(styleRule.key, style[prop], {\n selector: styleRule.selector\n });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return {\n onProcessStyle: onProcessStyle\n };\n}\n\nexport default jssNested;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import hyphenate from 'hyphenate-style-name';\n\n/**\n * Convert camel cased property names to dash separated.\n */\n\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n var key = prop.indexOf('--') === 0 ? prop : hyphenate(prop);\n converted[key] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n/**\n * Allow camel cased property names by converting them back to dasherized.\n */\n\n\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n if (prop.indexOf('--') === 0) {\n return value;\n }\n\n var hyphenatedProp = hyphenate(prop); // There was no camel case in place\n\n if (prop === hyphenatedProp) return value;\n rule.prop(hyphenatedProp, value); // Core will ignore that property value we set the proper one above.\n\n return null;\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default camelCase;\n","import { hasCSSTOMSupport } from 'jss';\n\nvar px = hasCSSTOMSupport && CSS ? CSS.px : 'px';\nvar ms = hasCSSTOMSupport && CSS ? CSS.ms : 'ms';\nvar percent = hasCSSTOMSupport && CSS ? CSS.percent : '%';\n/**\n * Generated jss-plugin-default-unit CSS property units\n */\n\nvar defaultUnits = {\n // Animation properties\n 'animation-delay': ms,\n 'animation-duration': ms,\n // Background properties\n 'background-position': px,\n 'background-position-x': px,\n 'background-position-y': px,\n 'background-size': px,\n // Border Properties\n border: px,\n 'border-bottom': px,\n 'border-bottom-left-radius': px,\n 'border-bottom-right-radius': px,\n 'border-bottom-width': px,\n 'border-left': px,\n 'border-left-width': px,\n 'border-radius': px,\n 'border-right': px,\n 'border-right-width': px,\n 'border-top': px,\n 'border-top-left-radius': px,\n 'border-top-right-radius': px,\n 'border-top-width': px,\n 'border-width': px,\n 'border-block': px,\n 'border-block-end': px,\n 'border-block-end-width': px,\n 'border-block-start': px,\n 'border-block-start-width': px,\n 'border-block-width': px,\n 'border-inline': px,\n 'border-inline-end': px,\n 'border-inline-end-width': px,\n 'border-inline-start': px,\n 'border-inline-start-width': px,\n 'border-inline-width': px,\n 'border-start-start-radius': px,\n 'border-start-end-radius': px,\n 'border-end-start-radius': px,\n 'border-end-end-radius': px,\n // Margin properties\n margin: px,\n 'margin-bottom': px,\n 'margin-left': px,\n 'margin-right': px,\n 'margin-top': px,\n 'margin-block': px,\n 'margin-block-end': px,\n 'margin-block-start': px,\n 'margin-inline': px,\n 'margin-inline-end': px,\n 'margin-inline-start': px,\n // Padding properties\n padding: px,\n 'padding-bottom': px,\n 'padding-left': px,\n 'padding-right': px,\n 'padding-top': px,\n 'padding-block': px,\n 'padding-block-end': px,\n 'padding-block-start': px,\n 'padding-inline': px,\n 'padding-inline-end': px,\n 'padding-inline-start': px,\n // Mask properties\n 'mask-position-x': px,\n 'mask-position-y': px,\n 'mask-size': px,\n // Width and height properties\n height: px,\n width: px,\n 'min-height': px,\n 'max-height': px,\n 'min-width': px,\n 'max-width': px,\n // Position properties\n bottom: px,\n left: px,\n top: px,\n right: px,\n inset: px,\n 'inset-block': px,\n 'inset-block-end': px,\n 'inset-block-start': px,\n 'inset-inline': px,\n 'inset-inline-end': px,\n 'inset-inline-start': px,\n // Shadow properties\n 'box-shadow': px,\n 'text-shadow': px,\n // Column properties\n 'column-gap': px,\n 'column-rule': px,\n 'column-rule-width': px,\n 'column-width': px,\n // Font and text properties\n 'font-size': px,\n 'font-size-delta': px,\n 'letter-spacing': px,\n 'text-decoration-thickness': px,\n 'text-indent': px,\n 'text-stroke': px,\n 'text-stroke-width': px,\n 'word-spacing': px,\n // Motion properties\n motion: px,\n 'motion-offset': px,\n // Outline properties\n outline: px,\n 'outline-offset': px,\n 'outline-width': px,\n // Perspective properties\n perspective: px,\n 'perspective-origin-x': percent,\n 'perspective-origin-y': percent,\n // Transform properties\n 'transform-origin': percent,\n 'transform-origin-x': percent,\n 'transform-origin-y': percent,\n 'transform-origin-z': percent,\n // Transition properties\n 'transition-delay': ms,\n 'transition-duration': ms,\n // Alignment properties\n 'vertical-align': px,\n 'flex-basis': px,\n // Some random properties\n 'shape-margin': px,\n size: px,\n gap: px,\n // Grid properties\n grid: px,\n 'grid-gap': px,\n 'row-gap': px,\n 'grid-row-gap': px,\n 'grid-column-gap': px,\n 'grid-template-rows': px,\n 'grid-template-columns': px,\n 'grid-auto-rows': px,\n 'grid-auto-columns': px,\n // Not existing properties.\n // Used to avoid issues with jss-plugin-expand integration.\n 'box-shadow-x': px,\n 'box-shadow-y': px,\n 'box-shadow-blur': px,\n 'box-shadow-spread': px,\n 'font-line-height': px,\n 'text-shadow-x': px,\n 'text-shadow-y': px,\n 'text-shadow-blur': px\n};\n\n/**\n * Clones the object and adds a camel cased property version.\n */\n\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n\n var newObj = {};\n\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n\n return newObj;\n}\n\nvar units = addCamelCasedVersion(defaultUnits);\n/**\n * Recursive deep style passing function\n */\n\nfunction iterate(prop, value, options) {\n if (value == null) return value;\n\n if (Array.isArray(value)) {\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n } else if (typeof value === 'object') {\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n } else {\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + \"-\" + _innerProp, value[_innerProp], options);\n }\n } // eslint-disable-next-line no-restricted-globals\n\n } else if (typeof value === 'number' && isNaN(value) === false) {\n var unit = options[prop] || units[prop]; // Add the unit if available, except for the special case of 0px.\n\n if (unit && !(value === 0 && unit === px)) {\n return typeof unit === 'function' ? unit(value).toString() : \"\" + value + unit;\n }\n\n return value.toString();\n }\n\n return value;\n}\n/**\n * Add unit to numeric values.\n */\n\n\nfunction defaultUnit(options) {\n if (options === void 0) {\n options = {};\n }\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return {\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default defaultUnit;\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\n\n// Export javascript style and css style vendor prefixes.\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n}\n\n// https://caniuse.com/#search=appearance\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\n\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n}\n\n// but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n\n if (camelize(longhand) in style) {\n return prop;\n }\n\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n\n if (options.transform) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n\n if (options.transition) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n\n return _jsProp in style ? \"page-\" + prop : false;\n }\n\n return false;\n }\n};\n\n// See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\n// Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\n\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n};\n\n// https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n\n return prop;\n }\n};\n\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\n\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n\n if (!multiple) return false;\n\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n\n return newProp.map(prefixCss);\n }\n\n return false;\n }\n};\n\n// plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\n\nvar el;\nvar cache = {};\n\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n }\n\n // For server-side rendering.\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n\n return cache[prop];\n}\n\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\n\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\n\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };\n","import { supportedKeyframes, supportedValue, supportedProperty } from 'css-vendor';\nimport { toCssValue } from 'jss';\n\n/**\n * Add vendor prefix to a property name when needed.\n */\n\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n var atRule = rule;\n atRule.at = supportedKeyframes(atRule.at);\n }\n }\n\n function prefixStyle(style) {\n for (var prop in style) {\n var value = style[prop];\n\n if (prop === 'fallbacks' && Array.isArray(value)) {\n style[prop] = value.map(prefixStyle);\n continue;\n }\n\n var changeProp = false;\n var supportedProp = supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n var changeValue = false;\n var supportedValue$1 = supportedValue(supportedProp, toCssValue(value));\n if (supportedValue$1 && supportedValue$1 !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue$1 || value;\n }\n }\n\n return style;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n return prefixStyle(style);\n }\n\n function onChangeValue(value, prop) {\n return supportedValue(prop, toCssValue(value)) || value;\n }\n\n return {\n onProcessRule: onProcessRule,\n onProcessStyle: onProcessStyle,\n onChangeValue: onChangeValue\n };\n}\n\nexport default jssVendorPrefixer;\n","/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n var sort = function sort(prop0, prop1) {\n if (prop0.length === prop1.length) {\n return prop0 > prop1 ? 1 : -1;\n }\n\n return prop0.length - prop1.length;\n };\n\n return {\n onProcessStyle: function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n\n for (var i = 0; i < props.length; i++) {\n newStyle[props[i]] = style[props[i]];\n }\n\n return newStyle;\n }\n };\n}\n\nexport default jssPropsSort;\n","import functions from 'jss-plugin-rule-value-function';\nimport global from 'jss-plugin-global';\nimport nested from 'jss-plugin-nested';\nimport camelCase from 'jss-plugin-camel-case';\nimport defaultUnit from 'jss-plugin-default-unit';\nimport vendorPrefixer from 'jss-plugin-vendor-prefixer';\nimport propsSort from 'jss-plugin-props-sort'; // Subset of jss-preset-default with only the plugins the Material-UI components are using.\n\nexport default function jssPreset() {\n return {\n plugins: [functions(), global(), nested(), camelCase(), defaultUnit(), // Disable the vendor prefixer server-side, it does nothing.\n // This way, we can get a performance boost.\n // In the documentation, we are using `autoprefixer` to solve this problem.\n typeof window === 'undefined' ? null : vendorPrefixer(), propsSort()]\n };\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getDisplayName } from '@material-ui/utils';\nexport default function mergeClasses() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var baseClasses = options.baseClasses,\n newClasses = options.newClasses,\n Component = options.Component;\n\n if (!newClasses) {\n return baseClasses;\n }\n\n var nextClasses = _extends({}, baseClasses);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof newClasses === 'string') {\n console.error([\"Material-UI: The value `\".concat(newClasses, \"` \") + \"provided to the classes prop of \".concat(getDisplayName(Component), \" is incorrect.\"), 'You might want to use the className prop instead.'].join('\\n'));\n return baseClasses;\n }\n }\n\n Object.keys(newClasses).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!baseClasses[key] && newClasses[key]) {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not implemented in \".concat(getDisplayName(Component), \".\"), \"You can only override one of the following: \".concat(Object.keys(baseClasses).join(','), \".\")].join('\\n'));\n }\n\n if (newClasses[key] && typeof newClasses[key] !== 'string') {\n console.error([\"Material-UI: The key `\".concat(key, \"` \") + \"provided to the classes prop is not valid for \".concat(getDisplayName(Component), \".\"), \"You need to provide a non empty string instead of: \".concat(newClasses[key], \".\")].join('\\n'));\n }\n }\n\n if (newClasses[key]) {\n nextClasses[key] = \"\".concat(baseClasses[key], \" \").concat(newClasses[key]);\n }\n });\n return nextClasses;\n}","// Used https://github.com/thinkloop/multi-key-cache as inspiration\nvar multiKeyStore = {\n set: function set(cache, key1, key2, value) {\n var subCache = cache.get(key1);\n\n if (!subCache) {\n subCache = new Map();\n cache.set(key1, subCache);\n }\n\n subCache.set(key2, value);\n },\n get: function get(cache, key1, key2) {\n var subCache = cache.get(key1);\n return subCache ? subCache.get(key2) : undefined;\n },\n delete: function _delete(cache, key1, key2) {\n var subCache = cache.get(key1);\n subCache.delete(key2);\n }\n};\nexport default multiKeyStore;","import React from 'react';\nvar ThemeContext = React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\n\nexport default ThemeContext;","import React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n var theme = React.useContext(ThemeContext);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n\n return theme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport createGenerateClassName from '../createGenerateClassName';\nimport { create } from 'jss';\nimport jssPreset from '../jssPreset'; // Default JSS instance.\n\nvar jss = create(jssPreset()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = createGenerateClassName(); // Exported for test purposes\n\nexport var sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nexport var StylesContext = React.createContext(defaultOptions);\n\nif (process.env.NODE_ENV !== 'production') {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nexport default function StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = _objectWithoutProperties(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = React.useContext(StylesContext);\n\n var context = _extends({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = create({\n plugins: jssPreset().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/React.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\nprocess.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: PropTypes.bool,\n\n /**\n * JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: PropTypes.bool,\n\n /**\n * JSS's instance.\n */\n jss: PropTypes.object,\n\n /**\n * @ignore\n */\n serverGenerateClassName: PropTypes.func,\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: PropTypes.object,\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: PropTypes.object,\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: PropTypes.object\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? StylesProvider.propTypes = exactProp(StylesProvider.propTypes) : void 0;\n}","/* eslint-disable import/prefer-default-export */\n// Global index counter to preserve source order.\n// We create the style sheet during the creation of the component,\n// children are handled after the parents, so the order of style elements would be parent->child.\n// It is a problem though when a parent passes a className\n// which needs to override any child's styles.\n// StyleSheet of the child has a higher specificity, because of the source order.\n// So our solution is to render sheets them in the reverse order child->sheet, so\n// that parent has a higher specificity.\nvar indexCounter = -1e9;\nexport function increment() {\n indexCounter += 1;\n\n if (process.env.NODE_ENV !== 'production') {\n if (indexCounter >= 0) {\n console.warn(['Material-UI: You might have a memory leak.', 'The indexCounter is not supposed to grow that much.'].join('\\n'));\n }\n }\n\n return indexCounter;\n}","// We use the same empty object to ref count the styles that don't need a theme object.\nvar noopTheme = {};\nexport default noopTheme;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { deepmerge } from '@material-ui/utils';\nimport noopTheme from './noopTheme';\nexport default function getStylesCreator(stylesOrCreator) {\n var themingEnabled = typeof stylesOrCreator === 'function';\n\n if (process.env.NODE_ENV !== 'production') {\n if (_typeof(stylesOrCreator) !== 'object' && !themingEnabled) {\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You need to provide a function generating the styles or a styles object.'].join('\\n'));\n }\n }\n\n return {\n create: function create(theme, name) {\n var styles;\n\n try {\n styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n if (themingEnabled === true && theme === noopTheme) {\n // TODO: prepend error message/name instead\n console.error(['Material-UI: The `styles` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n throw err;\n }\n\n if (!name || !theme.overrides || !theme.overrides[name]) {\n return styles;\n }\n\n var overrides = theme.overrides[name];\n\n var stylesWithOverrides = _extends({}, styles);\n\n Object.keys(overrides).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n if (!stylesWithOverrides[key]) {\n console.warn(['Material-UI: You are trying to override a style that does not exist.', \"Fix the `\".concat(key, \"` key of `theme.overrides.\").concat(name, \"`.\")].join('\\n'));\n }\n }\n\n stylesWithOverrides[key] = deepmerge(stylesWithOverrides[key], overrides[key]);\n });\n return stylesWithOverrides;\n },\n options: {}\n };\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getDynamicStyles } from 'jss';\nimport mergeClasses from '../mergeClasses';\nimport multiKeyStore from './multiKeyStore';\nimport useTheme from '../useTheme';\nimport { StylesContext } from '../StylesProvider';\nimport { increment } from './indexCounter';\nimport getStylesCreator from '../getStylesCreator';\nimport noopTheme from '../getStylesCreator/noopTheme';\n\nfunction getClasses(_ref, classes, Component) {\n var state = _ref.state,\n stylesOptions = _ref.stylesOptions;\n\n if (stylesOptions.disableGeneration) {\n return classes || {};\n }\n\n if (!state.cacheClasses) {\n state.cacheClasses = {\n // Cache for the finalized classes value.\n value: null,\n // Cache for the last used classes prop pointer.\n lastProp: null,\n // Cache for the last used rendered classes pointer.\n lastJSS: {}\n };\n } // Tracks if either the rendered classes or classes prop has changed,\n // requiring the generation of a new finalized classes object.\n\n\n var generate = false;\n\n if (state.classes !== state.cacheClasses.lastJSS) {\n state.cacheClasses.lastJSS = state.classes;\n generate = true;\n }\n\n if (classes !== state.cacheClasses.lastProp) {\n state.cacheClasses.lastProp = classes;\n generate = true;\n }\n\n if (generate) {\n state.cacheClasses.value = mergeClasses({\n baseClasses: state.cacheClasses.lastJSS,\n newClasses: classes,\n Component: Component\n });\n }\n\n return state.cacheClasses.value;\n}\n\nfunction attach(_ref2, props) {\n var state = _ref2.state,\n theme = _ref2.theme,\n stylesOptions = _ref2.stylesOptions,\n stylesCreator = _ref2.stylesCreator,\n name = _ref2.name;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n\n if (!sheetManager) {\n sheetManager = {\n refs: 0,\n staticSheet: null,\n dynamicStyles: null\n };\n multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager);\n }\n\n var options = _extends({}, stylesCreator.options, stylesOptions, {\n theme: theme,\n flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl'\n });\n\n options.generateId = options.serverGenerateClassName || options.generateClassName;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n var staticSheet;\n\n if (stylesOptions.sheetsCache) {\n staticSheet = multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme);\n }\n\n var styles = stylesCreator.create(theme, name);\n\n if (!staticSheet) {\n staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({\n link: false\n }, options));\n staticSheet.attach();\n\n if (stylesOptions.sheetsCache) {\n multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet);\n }\n }\n\n if (sheetsRegistry) {\n sheetsRegistry.add(staticSheet);\n }\n\n sheetManager.staticSheet = staticSheet;\n sheetManager.dynamicStyles = getDynamicStyles(styles);\n }\n\n if (sheetManager.dynamicStyles) {\n var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({\n link: true\n }, options));\n dynamicSheet.update(props);\n dynamicSheet.attach();\n state.dynamicSheet = dynamicSheet;\n state.classes = mergeClasses({\n baseClasses: sheetManager.staticSheet.classes,\n newClasses: dynamicSheet.classes\n });\n\n if (sheetsRegistry) {\n sheetsRegistry.add(dynamicSheet);\n }\n } else {\n state.classes = sheetManager.staticSheet.classes;\n }\n\n sheetManager.refs += 1;\n}\n\nfunction update(_ref3, props) {\n var state = _ref3.state;\n\n if (state.dynamicSheet) {\n state.dynamicSheet.update(props);\n }\n}\n\nfunction detach(_ref4) {\n var state = _ref4.state,\n theme = _ref4.theme,\n stylesOptions = _ref4.stylesOptions,\n stylesCreator = _ref4.stylesCreator;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n sheetManager.refs -= 1;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme);\n stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(sheetManager.staticSheet);\n }\n }\n\n if (state.dynamicSheet) {\n stylesOptions.jss.removeStyleSheet(state.dynamicSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(state.dynamicSheet);\n }\n }\n}\n\nfunction useSynchronousEffect(func, values) {\n var key = React.useRef([]);\n var output; // Store \"generation\" key. Just returns a new object every time\n\n var currentKey = React.useMemo(function () {\n return {};\n }, values); // eslint-disable-line react-hooks/exhaustive-deps\n // \"the first render\", or \"memo dropped the value\"\n\n if (key.current !== currentKey) {\n key.current = currentKey;\n output = func();\n }\n\n React.useEffect(function () {\n return function () {\n if (output) {\n output();\n }\n };\n }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}\n\nexport default function makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n classNamePrefixOption = options.classNamePrefix,\n Component = options.Component,\n _options$defaultTheme = options.defaultTheme,\n defaultTheme = _options$defaultTheme === void 0 ? noopTheme : _options$defaultTheme,\n stylesOptions2 = _objectWithoutProperties(options, [\"name\", \"classNamePrefix\", \"Component\", \"defaultTheme\"]);\n\n var stylesCreator = getStylesCreator(stylesOrCreator);\n var classNamePrefix = name || classNamePrefixOption || 'makeStyles';\n stylesCreator.options = {\n index: increment(),\n name: name,\n meta: classNamePrefix,\n classNamePrefix: classNamePrefix\n };\n\n var useStyles = function useStyles() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var theme = useTheme() || defaultTheme;\n\n var stylesOptions = _extends({}, React.useContext(StylesContext), stylesOptions2);\n\n var instance = React.useRef();\n var shouldUpdate = React.useRef();\n useSynchronousEffect(function () {\n var current = {\n name: name,\n state: {},\n stylesCreator: stylesCreator,\n stylesOptions: stylesOptions,\n theme: theme\n };\n attach(current, props);\n shouldUpdate.current = false;\n instance.current = current;\n return function () {\n detach(current);\n };\n }, [theme, stylesCreator]);\n React.useEffect(function () {\n if (shouldUpdate.current) {\n update(instance.current, props);\n }\n\n shouldUpdate.current = true;\n });\n var classes = getClasses(instance.current, props.classes, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(classes);\n }\n\n return classes;\n };\n\n return useStyles;\n}","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport React from 'react';\nimport { SheetsRegistry } from 'jss';\nimport StylesProvider from '../StylesProvider';\nimport createGenerateClassName from '../createGenerateClassName';\n\nvar ServerStyleSheets = /*#__PURE__*/function () {\n function ServerStyleSheets() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ServerStyleSheets);\n\n this.options = options;\n }\n\n _createClass(ServerStyleSheets, [{\n key: \"collect\",\n value: function collect(children) {\n // This is needed in order to deduplicate the injection of CSS in the page.\n var sheetsManager = new Map(); // This is needed in order to inject the critical CSS.\n\n this.sheetsRegistry = new SheetsRegistry(); // A new class name generator\n\n var generateClassName = createGenerateClassName();\n return /*#__PURE__*/React.createElement(StylesProvider, _extends({\n sheetsManager: sheetsManager,\n serverGenerateClassName: generateClassName,\n sheetsRegistry: this.sheetsRegistry\n }, this.options), children);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.sheetsRegistry ? this.sheetsRegistry.toString() : '';\n }\n }, {\n key: \"getStyleElement\",\n value: function getStyleElement(props) {\n return /*#__PURE__*/React.createElement('style', _extends({\n id: 'jss-server-side',\n key: 'jss-server-side',\n dangerouslySetInnerHTML: {\n __html: this.toString()\n }\n }, props));\n }\n }]);\n\n return ServerStyleSheets;\n}();\n\nexport { ServerStyleSheets as default };","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport makeStyles from '../makeStyles';\n\nfunction omit(input, fields) {\n var output = {};\n Object.keys(input).forEach(function (prop) {\n if (fields.indexOf(prop) === -1) {\n output[prop] = input[prop];\n }\n });\n return output;\n} // styled-components's API removes the mapping between components and styles.\n// Using components as a low-level styling construct can be simpler.\n\n\nexport default function styled(Component) {\n var componentCreator = function componentCreator(style) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n stylesOptions = _objectWithoutProperties(options, [\"name\"]);\n\n if (process.env.NODE_ENV !== 'production' && Component === undefined) {\n throw new Error(['You are calling styled(Component)(style) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n\n var classNamePrefix = name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = getDisplayName(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var stylesOrCreator = typeof style === 'function' ? function (theme) {\n return {\n root: function root(props) {\n return style(_extends({\n theme: theme\n }, props));\n }\n };\n } : {\n root: style\n };\n var useStyles = makeStyles(stylesOrCreator, _extends({\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var filterProps;\n var propTypes = {};\n\n if (style.filterProps) {\n filterProps = style.filterProps;\n delete style.filterProps;\n }\n /* eslint-disable react/forbid-foreign-prop-types */\n\n\n if (style.propTypes) {\n propTypes = style.propTypes;\n delete style.propTypes;\n }\n /* eslint-enable react/forbid-foreign-prop-types */\n\n\n var StyledComponent = /*#__PURE__*/React.forwardRef(function StyledComponent(props, ref) {\n var children = props.children,\n classNameProp = props.className,\n clone = props.clone,\n ComponentProp = props.component,\n other = _objectWithoutProperties(props, [\"children\", \"className\", \"clone\", \"component\"]);\n\n var classes = useStyles(props);\n var className = clsx(classes.root, classNameProp);\n var spread = other;\n\n if (filterProps) {\n spread = omit(spread, filterProps);\n }\n\n if (clone) {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n className: clsx(children.props.className, className)\n }, spread));\n }\n\n if (typeof children === 'function') {\n return children(_extends({\n className: className\n }, spread));\n }\n\n var FinalComponent = ComponentProp || Component;\n return /*#__PURE__*/React.createElement(FinalComponent, _extends({\n ref: ref,\n className: className\n }, spread), children);\n });\n process.env.NODE_ENV !== \"production\" ? StyledComponent.propTypes = _extends({\n /**\n * A render function or node.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the component will recycle it's children HTML element.\n * It's using `React.cloneElement` internally.\n *\n * This prop will be deprecated and removed in v5\n */\n clone: chainPropTypes(PropTypes.bool, function (props) {\n if (props.clone && props.component) {\n return new Error('You can not use the clone and component prop at the same time.');\n }\n\n return null;\n }),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType\n }, propTypes) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n StyledComponent.displayName = \"Styled(\".concat(classNamePrefix, \")\");\n }\n\n hoistNonReactStatics(StyledComponent, Component);\n return StyledComponent;\n };\n\n return componentCreator;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@material-ui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested'; // To support composition of theme.\n\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n var mergedTheme = localTheme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['Material-UI: You should return an object from your theme function, i.e.', '<ThemeProvider theme={() => ({})} />'].join('\\n'));\n }\n }\n\n return mergedTheme;\n }\n\n return _extends({}, outerTheme, localTheme);\n}\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\n\n\nfunction ThemeProvider(props) {\n var children = props.children,\n localTheme = props.theme;\n var outerTheme = useTheme();\n\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['Material-UI: You are providing a theme function prop to the ThemeProvider component:', '<ThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n\n var theme = React.useMemo(function () {\n var output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, children);\n}\n\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\n\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\n\nexport default ThemeProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport makeStyles from '../makeStyles';\nimport getThemeProps from '../getThemeProps';\nimport useTheme from '../useTheme'; // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = _objectWithoutProperties(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = getDisplayName(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = makeStyles(stylesOrCreator, _extends({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/React.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = _objectWithoutProperties(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles(_extends({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = useTheme() || defaultTheme;\n\n if (name) {\n more = getThemeProps({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n process.env.NODE_ENV !== \"production\" ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: chainPropTypes(PropTypes.oneOfType([PropTypes.func, PropTypes.object]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithStyles.displayName = \"WithStyles(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithStyles, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\nexport default withStyles;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { chainPropTypes, getDisplayName } from '@material-ui/utils';\nimport useTheme from '../useTheme';\nexport function withThemeCreator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultTheme = options.defaultTheme;\n\n var withTheme = function withTheme(Component) {\n if (process.env.NODE_ENV !== 'production') {\n if (Component === undefined) {\n throw new Error(['You are calling withTheme(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var WithTheme = /*#__PURE__*/React.forwardRef(function WithTheme(props, ref) {\n var innerRef = props.innerRef,\n other = _objectWithoutProperties(props, [\"innerRef\"]);\n\n var theme = useTheme() || defaultTheme;\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: innerRef || ref\n }, other));\n });\n process.env.NODE_ENV !== \"production\" ? WithTheme.propTypes = {\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: chainPropTypes(PropTypes.oneOfType([PropTypes.func, PropTypes.object]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return new Error('Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' + 'Refs are now automatically forwarded to the inner component.');\n })\n } : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n WithTheme.displayName = \"WithTheme(\".concat(getDisplayName(Component), \")\");\n }\n\n hoistNonReactStatics(WithTheme, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // Exposed for test purposes.\n WithTheme.Naked = Component;\n }\n\n return WithTheme;\n };\n\n return withTheme;\n} // Provide the theme object as a prop to the input component.\n// It's an alternative API to useTheme().\n// We encourage the usage of useTheme() where possible.\n\nvar withTheme = withThemeCreator();\nexport default withTheme;","/** @license Material-UI v4.11.5\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/* eslint-disable import/export */\nimport { ponyfillGlobal } from '@material-ui/utils';\n/* Warning if there are several instances of @material-ui/styles */\n\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof window !== 'undefined') {\n ponyfillGlobal['__@material-ui/styles-init__'] = ponyfillGlobal['__@material-ui/styles-init__'] || 0;\n\n if (ponyfillGlobal['__@material-ui/styles-init__'] === 1) {\n console.warn(['It looks like there are several instances of `@material-ui/styles` initialized in this application.', 'This may cause theme propagation issues, broken class names, ' + 'specificity issues, and makes your application bigger without a good reason.', '', 'See https://mui.com/r/styles-instance-warning for more info.'].join('\\n'));\n }\n\n ponyfillGlobal['__@material-ui/styles-init__'] += 1;\n}\n\nexport { default as createGenerateClassName } from './createGenerateClassName';\nexport * from './createGenerateClassName';\nexport { default as createStyles } from './createStyles';\nexport * from './createStyles';\nexport { default as getThemeProps } from './getThemeProps';\nexport * from './getThemeProps';\nexport { default as jssPreset } from './jssPreset';\nexport * from './jssPreset';\nexport { default as makeStyles } from './makeStyles';\nexport * from './makeStyles';\nexport { default as mergeClasses } from './mergeClasses';\nexport * from './mergeClasses';\nexport { default as ServerStyleSheets } from './ServerStyleSheets';\nexport * from './ServerStyleSheets';\nexport { default as styled } from './styled';\nexport * from './styled';\nexport { default as StylesProvider } from './StylesProvider';\nexport * from './StylesProvider';\nexport { default as ThemeProvider } from './ThemeProvider';\nexport * from './ThemeProvider';\nexport { default as useTheme } from './useTheme';\nexport * from './useTheme';\nexport { default as withStyles } from './withStyles';\nexport * from './withStyles';\nexport { default as withTheme } from './withTheme';\nexport * from './withTheme';","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useMediaQuery;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _styles = require(\"@material-ui/styles\");\n\nfunction useMediaQuery(queryInput) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var theme = (0, _styles.useTheme)();\n var props = (0, _styles.getThemeProps)({\n theme: theme,\n name: 'MuiUseMediaQuery',\n props: {}\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['Material-UI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n var query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // Wait for jsdom to support the match media feature.\n // All the browsers Material-UI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n var supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n\n var _props$options = (0, _extends2.default)({}, props, options),\n _props$options$defaul = _props$options.defaultMatches,\n defaultMatches = _props$options$defaul === void 0 ? false : _props$options$defaul,\n _props$options$matchM = _props$options.matchMedia,\n matchMedia = _props$options$matchM === void 0 ? supportMatchMedia ? window.matchMedia : null : _props$options$matchM,\n _props$options$noSsr = _props$options.noSsr,\n noSsr = _props$options$noSsr === void 0 ? false : _props$options$noSsr,\n _props$options$ssrMat = _props$options.ssrMatchMedia,\n ssrMatchMedia = _props$options$ssrMat === void 0 ? null : _props$options$ssrMat;\n\n var _React$useState = React.useState(function () {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n }),\n match = _React$useState[0],\n setMatch = _React$useState[1];\n\n React.useEffect(function () {\n var active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n var queryList = matchMedia(query);\n\n var updateMatch = function updateMatch() {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui-org/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch();\n queryList.addListener(updateMatch);\n return function () {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query: query,\n match: match\n });\n }\n\n return match;\n}","import { cn } from '@/lib/utils';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n\treturn <div className={cn('animate-pulse rounded-md bg-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n","import * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n\tReact.ElementRef<typeof TooltipPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n\t<TooltipPrimitive.Content\n\t\tref={ref}\n\t\tsideOffset={sideOffset}\n\t\tclassName={cn(\n\t\t\t'z-50 overflow-hidden rounded-md bg-background-primary text-white px-3 py-1.5 text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t>\n\t\t{props.children}\n\t\t<TooltipPrimitive.Arrow className='z-50 fill-primary animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2' />\n\t</TooltipPrimitive.Content>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import useMediaQuery from '@material-ui/core/useMediaQuery/useMediaQuery';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeft } from 'lucide-react';\nimport * as React from 'react';\nimport { Button } from '@/components/ui/button';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { Sheet, SheetContent } from '@/components/ui/sheet';\nimport { Skeleton } from '@/components/ui/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContext = {\n\tstate: 'expanded' | 'collapsed';\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\topenMobile: boolean;\n\tsetOpenMobile: (open: boolean) => void;\n\tisMobile: boolean;\n\ttoggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n\tconst context = React.useContext(SidebarContext);\n\tif (!context) {\n\t\tthrow new Error('useSidebar must be used within a SidebarProvider.');\n\t}\n\n\treturn context;\n}\n\nconst SidebarProvider = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tdefaultOpen?: boolean;\n\t\topen?: boolean;\n\t\tonOpenChange?: (open: boolean) => void;\n\t}\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\n\tconst isMobile = !useMediaQuery('(min-width: 1350px)');\n\tconst [openMobile, setOpenMobile] = React.useState(false);\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === 'function' ? value(open) : value;\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState);\n\t\t\t} else {\n\t\t\t\t_setOpen(openState);\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t\t},\n\t\t[setOpenProp, open],\n\t);\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n\t}, [isMobile, setOpen, setOpenMobile]);\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('keydown', handleKeyDown);\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown);\n\t}, [toggleSidebar]);\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? 'expanded' : 'collapsed';\n\n\tconst contextValue = React.useMemo<SidebarContext>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn('group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar', className)}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t);\n});\nSidebarProvider.displayName = 'SidebarProvider';\n\nconst Sidebar = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tside?: 'left' | 'right';\n\t\tvariant?: 'sidebar' | 'floating' | 'inset';\n\t\tcollapsible?: 'offcanvas' | 'icon' | 'none';\n\t}\n>(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref) => {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n\tif (collapsible === 'none') {\n\t\treturn (\n\t\t\t<div className={cn('flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground', className)} ref={ref} {...props}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar='sidebar'\n\t\t\t\t\tdata-mobile='true'\n\t\t\t\t\tclassName='w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden'\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<div className='flex h-screen w-full flex-col'>{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName='group peer text-sidebar-foreground [display:none] md:[display:block]'\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\n\t\t\t\t\t'group-data-[collapsible=offcanvas]:w-0',\n\t\t\t\t\t'group-data-[side=right]:rotate-180',\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'duration-200 fixed inset-y-0 z-10 h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear [display:none] md:[display:flex]',\n\t\t\t\t\tside === 'left'\n\t\t\t\t\t\t? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n\t\t\t\t\t\t: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar='sidebar'\n\t\t\t\t\tclassName='flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\nSidebar.displayName = 'Sidebar';\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\n\t({ className, onClick, ...props }, ref) => {\n\t\tconst { toggleSidebar } = useSidebar();\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar='trigger'\n\t\t\t\tvariant='ghost'\n\t\t\t\tsize='icon'\n\t\t\t\ttype='button'\n\t\t\t\tclassName={cn('h-7 w-7', className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event);\n\t\t\t\t\ttoggleSidebar();\n\t\t\t\t}}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<PanelLeft />\n\t\t\t\t<span className='sr-only'>Toggle Sidebar</span>\n\t\t\t</Button>\n\t\t);\n\t},\n);\nSidebarTrigger.displayName = 'SidebarTrigger';\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(({ className, ...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar();\n\n\treturn (\n\t\t<button\n\t\t\tref={ref}\n\t\t\tdata-sidebar='rail'\n\t\t\taria-label='Toggle Sidebar'\n\t\t\ttabIndex={-1}\n\t\t\ttype='button'\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle='Toggle Sidebar'\n\t\t\tclassName={cn(\n\t\t\t\t'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n\t\t\t\t'[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n\t\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n\t\t\t\t'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n\t\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n\t\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarRail.displayName = 'SidebarRail';\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<main\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'relative flex min-h-svh flex-1 flex-col bg-background',\n\t\t\t\t'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarInset.displayName = 'SidebarInset';\n\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof Input>, React.ComponentProps<typeof Input>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<Input\n\t\t\tref={ref}\n\t\t\tdata-sidebar='input'\n\t\t\tclassName={cn('h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarInput.displayName = 'SidebarInput';\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar='header' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar='footer' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\n\t({ className, ...props }, ref) => {\n\t\treturn <Separator ref={ref} data-sidebar='separator' className={cn('mx-2 w-auto bg-sidebar-border', className)} {...props} />;\n\t},\n);\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tdata-sidebar='content'\n\t\t\tclassName={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarContent.displayName = 'SidebarContent';\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar='group' className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\n});\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : 'div';\n\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar='group-label'\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t\t'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : 'button';\n\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar='group-action'\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\n\t\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t},\n);\nSidebarGroupAction.displayName = 'SidebarGroupAction';\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n\t<div ref={ref} data-sidebar='group-content' className={cn('w-full text-sm', className)} {...props} />\n));\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n\t<ul ref={ref} data-sidebar='menu' className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n));\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n\t<li ref={ref} data-sidebar='menu-item' className={cn('group/menu-item relative', className)} {...props} />\n));\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n\t'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n\t\t\t\toutline:\n\t\t\t\t\t'bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-8 text-sm',\n\t\t\t\tsm: 'h-7 text-xs',\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n);\n\nconst SidebarMenuButton = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<'button'> & {\n\t\tasChild?: boolean;\n\t\tisActive?: boolean;\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\n\t} & VariantProps<typeof sidebarMenuButtonVariants>\n>(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'button';\n\tconst { isMobile, state } = useSidebar();\n\n\tconst button = (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar='menu-button'\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\n\tif (!tooltip) {\n\t\treturn button;\n\t}\n\n\tif (typeof tooltip === 'string') {\n\t\ttooltip = {\n\t\t\tchildren: tooltip,\n\t\t};\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent side='right' align='center' hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n\t\t</Tooltip>\n\t);\n});\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nconst SidebarMenuAction = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<'button'> & {\n\t\tasChild?: boolean;\n\t\tshowOnHover?: boolean;\n\t}\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'button';\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar='menu-action'\n\t\t\tclassName={cn(\n\t\t\t\t'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tshowOnHover &&\n\t\t\t\t\t'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarMenuAction.displayName = 'SidebarMenuAction';\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\n\t<div\n\t\tref={ref}\n\t\tdata-sidebar='menu-badge'\n\t\tclassName={cn(\n\t\t\t'absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none',\n\t\t\t'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\n\nconst SidebarMenuSkeleton = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<'div'> & {\n\t\tshowIcon?: boolean;\n\t}\n>(({ className, showIcon = false, ...props }, ref) => {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\n\treturn (\n\t\t<div ref={ref} data-sidebar='menu-skeleton' className={cn('rounded-md h-8 flex gap-2 px-2 items-center', className)} {...props}>\n\t\t\t{showIcon && <Skeleton className='size-4 rounded-md' data-sidebar='menu-skeleton-icon' />}\n\t\t\t<Skeleton\n\t\t\t\tclassName='h-4 flex-1 max-w-[--skeleton-width]'\n\t\t\t\tdata-sidebar='menu-skeleton-text'\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t'--skeleton-width': width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n});\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n\t<ul\n\t\tref={ref}\n\t\tdata-sidebar='menu-sub'\n\t\tclassName={cn(\n\t\t\t'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n));\nSidebarMenuSub.displayName = 'SidebarMenuSub';\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ ...props }, ref) => <li ref={ref} {...props} />);\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\n\nconst SidebarMenuSubButton = React.forwardRef<\n\tHTMLAnchorElement,\n\tReact.ComponentProps<'a'> & {\n\t\tasChild?: boolean;\n\t\tsize?: 'sm' | 'md';\n\t\tisActive?: boolean;\n\t}\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : 'a';\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar='menu-sub-button'\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n\t\t\t\t'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n\t\t\t\tsize === 'sm' && 'text-xs',\n\t\t\t\tsize === 'md' && 'text-sm',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger,\n\tuseSidebar,\n};\n","import * as SliderPrimitive from '@radix-ui/react-slider';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>>(\n\t({ className, ...props }, ref) => (\n\t\t<SliderPrimitive.Root ref={ref} className={cn('relative flex w-full touch-none select-none items-center', className)} {...props}>\n\t\t\t<SliderPrimitive.Track className='relative h-2 w-full grow overflow-hidden rounded-full bg-background-secondary'>\n\t\t\t\t<SliderPrimitive.Range className='absolute h-full bg-background-primary' />\n\t\t\t</SliderPrimitive.Track>\n\t\t\t<SliderPrimitive.Thumb className='block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50' />\n\t\t</SliderPrimitive.Root>\n\t),\n);\nSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport { Slider };\n","import * as SwitchPrimitives from '@radix-ui/react-switch';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitives.Root>, React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>>(\n\t({ className, ...props }, ref) => (\n\t\t<SwitchPrimitives.Root\n\t\t\tclassName={cn(\n\t\t\t\t'peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=unchecked]:bg-accent',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={ref}\n\t\t>\n\t\t\t<SwitchPrimitives.Thumb\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0',\n\t\t\t\t)}\n\t\t\t/>\n\t\t</SwitchPrimitives.Root>\n\t),\n);\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(({ className, ...props }, ref) => (\n\t<table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\n));\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\n\t<thead ref={ref} className={cn('sticky top-0 [&_tr]:border-b', className)} {...props} />\n));\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\n\t<tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n));\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\n\t<tfoot ref={ref} className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)} {...props} />\n));\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(({ className, ...props }, ref) => (\n\t<tr\n\t\tref={ref}\n\t\tclassName={cn('border-b transition-colors hover:bg-datatable-accent', 'data-[state=selected]:bg-background-secondary', className)}\n\t\t{...props}\n\t/>\n));\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, React.ThHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\n\t<th\n\t\tref={ref}\n\t\tclassName={cn('h-12 py-[12.25px] px-6 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0', className)}\n\t\t{...props}\n\t/>\n));\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, React.TdHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\n\t<td ref={ref} className={cn('align-middle px-6 [&:has([role=checkbox])]:pr-0', className)} {...props} />\n));\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<HTMLTableCaptionElement, React.HTMLAttributes<HTMLTableCaptionElement>>(({ className, ...props }, ref) => (\n\t<caption ref={ref} className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n));\nTableCaption.displayName = 'TableCaption';\n\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\n","import * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<React.ElementRef<typeof TabsPrimitive.List>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>>(\n\t({ className, ...props }, ref) => (\n\t\t<TabsPrimitive.List\n\t\t\tref={ref}\n\t\t\tclassName={cn('inline-flex h-10 items-center justify-center rounded-md bg-background-elevated p-1 text-muted-foreground', className)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Trigger>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>>(\n\t({ className, ...props }, ref) => (\n\t\t<TabsPrimitive.Trigger\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Content>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>>(\n\t({ className, ...props }, ref) => (\n\t\t<TabsPrimitive.Content\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","import * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\n\tif (className?.includes('border-none')) {\n\t\treturn '';\n\t}\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.TextareaHTMLAttributes<HTMLTextAreaElement>>(({ className, ...props }, ref) => {\n\treturn (\n\t\t<textarea\n\t\t\tclassName={cn(\n\t\t\t\t'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tref={ref}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import * as ToastPrimitives from '@radix-ui/react-toast';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\nimport { cn } from '../../lib/utils';\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n\tReact.ElementRef<typeof ToastPrimitives.Viewport>,\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n\t<ToastPrimitives.Viewport ref={ref} className={cn('fixed top-0 right-0 p-4 space-y-2 z-[100]', className)} {...props} />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = cva(\n\t'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-top-full',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'border bg-background text-foreground',\n\t\t\t\tdestructive: 'bg-white text-zinc-950',\n\t\t\t\tsuccess: 'bg-white text-zinc-950',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nconst Toast = React.forwardRef<\n\tReact.ElementRef<typeof ToastPrimitives.Root>,\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n\treturn <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Action>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>>(\n\t({ className, ...props }, ref) => (\n\t\t<ToastPrimitives.Action\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-background-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t),\n);\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Close>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>>(\n\t({ className, ...props }, ref) => (\n\t\t<ToastPrimitives.Close\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttoast-close=''\n\t\t\t{...props}\n\t\t>\n\t\t\t<X className='h-4 w-4' />\n\t\t</ToastPrimitives.Close>\n\t),\n);\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Title>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>>(\n\t({ className, ...props }, ref) => <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold', className)} {...props} />,\n);\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n\tReact.ElementRef<typeof ToastPrimitives.Description>,\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />);\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement, type ToastProps };\n","import * as React from 'react';\nimport type { ToastActionElement, ToastProps } from './toast';\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n\tid: string;\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\taction?: ToastActionElement;\n\ticon?: React.ReactNode;\n};\n\nconst actionTypes = {\n\tADD_TOAST: 'ADD_TOAST',\n\tUPDATE_TOAST: 'UPDATE_TOAST',\n\tDISMISS_TOAST: 'DISMISS_TOAST',\n\tREMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n\tcount = (count + 1) % Number.MAX_SAFE_INTEGER;\n\treturn count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n\t| {\n\t\t\ttype: ActionType['ADD_TOAST'];\n\t\t\ttoast: ToasterToast;\n\t }\n\t| {\n\t\t\ttype: ActionType['UPDATE_TOAST'];\n\t\t\ttoast: Partial<ToasterToast>;\n\t }\n\t| {\n\t\t\ttype: ActionType['DISMISS_TOAST'];\n\t\t\ttoastId?: ToasterToast['id'];\n\t }\n\t| {\n\t\t\ttype: ActionType['REMOVE_TOAST'];\n\t\t\ttoastId?: ToasterToast['id'];\n\t };\n\ninterface State {\n\ttoasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n\tif (toastTimeouts.has(toastId)) {\n\t\treturn;\n\t}\n\n\tconst timeout = setTimeout(() => {\n\t\ttoastTimeouts.delete(toastId);\n\t\tdispatch({\n\t\t\ttype: 'REMOVE_TOAST',\n\t\t\ttoastId: toastId,\n\t\t});\n\t}, TOAST_REMOVE_DELAY);\n\n\ttoastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n\tswitch (action.type) {\n\t\tcase 'ADD_TOAST':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n\t\t\t};\n\n\t\tcase 'UPDATE_TOAST':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n\t\t\t};\n\n\t\tcase 'DISMISS_TOAST': {\n\t\t\tconst { toastId } = action;\n\n\t\t\tif (toastId) {\n\t\t\t\taddToRemoveQueue(toastId);\n\t\t\t} else {\n\t\t\t\tfor (const toast of state.toasts) {\n\t\t\t\t\taddToRemoveQueue(toast.id);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: state.toasts.map((t) =>\n\t\t\t\t\tt.id === toastId || toastId === undefined\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...t,\n\t\t\t\t\t\t\t\topen: false,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: t,\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tcase 'REMOVE_TOAST':\n\t\t\tif (action.toastId === undefined) {\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\ttoasts: [],\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\ttoasts: state.toasts.filter((t) => t.id !== action.toastId),\n\t\t\t};\n\t}\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n\tmemoryState = reducer(memoryState, action);\n\tfor (const listener of listeners) {\n\t\tlistener(memoryState);\n\t}\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\nfunction toast({ ...props }: Toast) {\n\tconst id = genId();\n\n\tconst update = (props: ToasterToast) =>\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_TOAST',\n\t\t\ttoast: { ...props, id },\n\t\t});\n\tconst dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n\tdispatch({\n\t\ttype: 'ADD_TOAST',\n\t\ttoast: {\n\t\t\t...props,\n\t\t\tid,\n\t\t\topen: true,\n\t\t\tonOpenChange: (open) => {\n\t\t\t\tif (!open) dismiss();\n\t\t\t},\n\t\t},\n\t});\n\n\treturn {\n\t\tid: id,\n\t\tdismiss,\n\t\tupdate,\n\t};\n}\n\nfunction useToast() {\n\tconst [state, setState] = React.useState<State>(memoryState);\n\n\tReact.useEffect(() => {\n\t\tlisteners.push(setState);\n\t\treturn () => {\n\t\t\tconst index = listeners.indexOf(setState);\n\t\t\tif (index > -1) {\n\t\t\t\tlisteners.splice(index, 1);\n\t\t\t}\n\t\t};\n\t}, [state]);\n\n\treturn {\n\t\t...state,\n\t\ttoast,\n\t\tdismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n\t};\n}\n\nexport { toast, useToast };\n","import { Check, CircleX } from 'lucide-react';\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\nimport { useToast } from './use-toast';\n\nexport function Toaster() {\n\tconst { toasts } = useToast();\n\n\tconst getIcon = (icon: React.ReactNode, variant: string | null) => {\n\t\tif (icon) {\n\t\t\treturn icon;\n\t\t}\n\n\t\tswitch (variant) {\n\t\t\tcase 'success':\n\t\t\t\treturn (\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-emerald-700'>\n\t\t\t\t\t\t<Check size={16} className='text-white' />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\tcase 'destructive':\n\t\t\t\treturn (\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-red-700'>\n\t\t\t\t\t\t<CircleX size={16} className='text-white' />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\treturn (\n\t\t<ToastProvider>\n\t\t\t{toasts.map(({ id, title, description, action, icon, variant, ...props }) => (\n\t\t\t\t<Toast key={id} {...props} variant={variant} className='p-4 w-[334px] rounded-lg'>\n\t\t\t\t\t<div className='grid gap-1'>\n\t\t\t\t\t\t<div className='flex items-center'>\n\t\t\t\t\t\t\t{getIcon(icon, variant ?? null)}\n\t\t\t\t\t\t\t{title && <ToastTitle>{title}</ToastTitle>} {/* title deve funcionar aqui */}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{description && <ToastDescription>{description}</ToastDescription>}\n\t\t\t\t\t</div>\n\t\t\t\t\t{action}\n\t\t\t\t\t<ToastClose className='text-white' />\n\t\t\t\t</Toast>\n\t\t\t))}\n\t\t\t<ToastViewport />\n\t\t</ToastProvider>\n\t);\n}\n","import { Popover, PopoverClose, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\nimport { format } from 'date-fns';\nimport { ptBR } from 'date-fns/locale';\nimport { CalendarDays } from 'lucide-react';\nimport React from 'react';\nimport type { DateRange } from 'react-day-picker';\nimport { cn } from '../../lib/utils';\nimport { Button } from './button';\nimport { Calendar } from './calendar';\n\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\n\tgetDataFilter: (from: Date | null, to: Date | null) => void;\n}\n\nexport default function UseCalendar({ className, getDataFilter }: CalendarFormProps) {\n\tconst endDate = null;\n\tconst startDate = null;\n\n\tconst [date, setDate] = React.useState<DateRange | any>({\n\t\tfrom: startDate,\n\t\tto: endDate,\n\t});\n\n\tconst submitDate = () => {\n\t\tif (date.from !== null && date.to !== null) {\n\t\t\tgetDataFilter(date.from, date.to);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn('grid gap-2', className)}>\n\t\t\t<Popover>\n\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\tid='date'\n\t\t\t\t\t\tvariant={'outline'}\n\t\t\t\t\t\tclassName={'flex justify-center items-center px-4 py-2 cursor-pointer bg-primaryBack text-textFilter rounded-md'}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CalendarDays color='#0F172A' size={16} className='mr-4' />\n\t\t\t\t\t\t{date?.to ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{format(date.from, 'dd/MM', { locale: ptBR })} - {format(date.to, 'dd/MM', { locale: ptBR })}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>Filtrar por Período</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</PopoverTrigger>\n\t\t\t\t<PopoverContent className='w-auto p-0 testeCalendar flex flex-col justify-center bg-white z-10 shadow-md text-black ' align='start'>\n\t\t\t\t\t<Calendar mode='range' locale={ptBR} selected={date} onSelect={setDate} className=' ' />\n\n\t\t\t\t\t<PopoverClose className='flex justify-center items-center p-4'>\n\t\t\t\t\t\t<Button type='button' className='w-[150px] bg-background-primary mt-8 px-4 py-2 text-white' onClick={submitDate}>\n\t\t\t\t\t\t\tAplicar Filtro\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverClose>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n","import { CircleHelp } from 'lucide-react';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../tooltip';\n\nconst formHelpText = (helpText: JSX.Element) => {\n\treturn (\n\t\t<TooltipProvider>\n\t\t\t<Tooltip>\n\t\t\t\t<TooltipTrigger className='pb-2'>\n\t\t\t\t\t<CircleHelp size={16} className='text-muted' />\n\t\t\t\t</TooltipTrigger>\n\t\t\t\t<TooltipContent className='text-white bg-background-primary' align='start'>\n\t\t\t\t\t{helpText}\n\t\t\t\t</TooltipContent>\n\t\t\t</Tooltip>\n\t\t</TooltipProvider>\n\t);\n};\n\nexport { formHelpText };\n","import type * as LabelPrimitive from '@radix-ui/react-label';\nimport type React from 'react';\nimport { cn } from '../../../../lib/utils';\n\ntype FormLabelComponent = React.ForwardRefExoticComponent<\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & React.RefAttributes<React.ElementRef<typeof LabelPrimitive.Root>>\n>;\n\nconst formLabel = (FormLabel: FormLabelComponent, label: string) => {\n\treturn <FormLabel className='text-default font-medium text-sm h-5'>{label}</FormLabel>;\n};\n\nconst formLabelAndSubLabel = (\n\tFormLabel: FormLabelComponent,\n\tlabel: string,\n\tsubLabel?: string,\n\trequired?: boolean | undefined,\n\tclassName?: string,\n) => {\n\treturn (\n\t\t<div className={cn('flex flex-col pb-2', className)}>\n\t\t\t<div className='flex gap-1'>\n\t\t\t\t{formLabel(FormLabel, label)}\n\t\t\t\t{required && <FormLabel className='text-red-600 font-medium text-sm'>*</FormLabel>}\n\t\t\t</div>\n\t\t\t{subLabel && <FormLabel className='text-default font-normal pt-1'>{subLabel}</FormLabel>}\n\t\t</div>\n\t);\n};\n\nexport { formLabel, formLabelAndSubLabel };\n","import type React from 'react';\n\ntype FormMessageComponent = React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;\n\nconst formMessage = (FormMessage: FormMessageComponent) => {\n\treturn <FormMessage className='text-red-600 mt-1' />;\n};\n\nexport { formMessage };\n","import { Checkbox } from '../../checkbox';\nimport * as FormComponents from '../../form';\nimport { formHelpText } from './form-help-text';\nimport { formLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\tonCheckedChange?: (checked: boolean) => void;\n}\n\nexport const FormInputCheckbox: React.FC<Props> = ({ control, name, label, helpText, className, disabled, onCheckedChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center gap-2'>\n\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tvalue={field.value}\n\t\t\t\t\t\t\t\tclassName={`${\n\t\t\t\t\t\t\t\t\tfield.value\n\t\t\t\t\t\t\t\t\t\t? 'bg-purple-700 border border-purple-900 text-white rounded-[3px]'\n\t\t\t\t\t\t\t\t\t\t: 'bg-white border border-black text-black'\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tonCheckedChange={(checked) => {\n\t\t\t\t\t\t\t\t\tfield?.onChange?.(checked);\n\t\t\t\t\t\t\t\t\tonCheckedChange?.(checked as boolean);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\n\t\t\t\t\t\t\t{label && formLabel(FormLabel, label)}\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nexport default FormInputCheckbox;\n","export type RGB = { r: number; g: number; b: number };\ntype HSL = { h: number; s: number; l: number };\n\nexport const rgbToHex = ({ r, g, b }: RGB): string => {\n\tconst toHex = (n: number) => Math.max(0, Math.min(255, n)).toString(16).padStart(2, '0').toUpperCase();\n\treturn `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n};\n\nexport const hexToRgb = (hex: string): RGB | null => {\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\treturn result\n\t\t? {\n\t\t\t\tr: Number.parseInt(result[1], 16),\n\t\t\t\tg: Number.parseInt(result[2], 16),\n\t\t\t\tb: Number.parseInt(result[3], 16),\n\t\t\t}\n\t\t: null;\n};\n\nexport const rgbToHsl = ({ r, g, b }: RGB): HSL => {\n\tr /= 255;\n\tg /= 255;\n\tb /= 255;\n\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tlet h = 0;\n\tlet s = 0;\n\tconst l = (max + min) / 2;\n\n\tif (max !== min) {\n\t\tconst d = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n\t\tswitch (max) {\n\t\t\tcase r:\n\t\t\t\th = (g - b) / d + (g < b ? 6 : 0);\n\t\t\t\tbreak;\n\t\t\tcase g:\n\t\t\t\th = (b - r) / d + 2;\n\t\t\t\tbreak;\n\t\t\tcase b:\n\t\t\t\th = (r - g) / d + 4;\n\t\t\t\tbreak;\n\t\t}\n\n\t\th /= 6;\n\t}\n\n\treturn {\n\t\th: Math.round(h * 360),\n\t\ts: Math.round(s * 100),\n\t\tl: Math.round(l * 100),\n\t};\n};\n\nconst hue2rgb = (p: number, q: number, t: number) => {\n\tlet tempT = t;\n\tif (tempT < 0) tempT += 1;\n\tif (tempT > 1) tempT -= 1;\n\tif (tempT < 1 / 6) return p + (q - p) * 6 * tempT;\n\tif (tempT < 1 / 2) return q;\n\tif (tempT < 2 / 3) return p + (q - p) * (2 / 3 - tempT) * 6;\n\treturn p;\n};\n\nexport const hslToRgb = ({ h, s, l }: HSL): RGB => {\n\th /= 360;\n\ts /= 100;\n\tl /= 100;\n\n\tlet r: number;\n\tlet g: number;\n\tlet b: number;\n\n\tif (s === 0) {\n\t\tr = g = b = l;\n\t} else {\n\t\tconst q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n\t\tconst p = 2 * l - q;\n\n\t\tr = hue2rgb(p, q, h + 1 / 3);\n\t\tg = hue2rgb(p, q, h);\n\t\tb = hue2rgb(p, q, h - 1 / 3);\n\t}\n\n\treturn {\n\t\tr: Math.round(r * 255),\n\t\tg: Math.round(g * 255),\n\t\tb: Math.round(b * 255),\n\t};\n};\n\nexport const formatRgba = (rgb: RGB, a = 1): string => {\n\treturn `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${a})`;\n};\n\nexport const formatHsla = (hsl: HSL, a = 1): string => {\n\treturn `hsla(${hsl.h}, ${hsl.s}%, ${hsl.l}%, ${a})`;\n};\n","import { Paintbrush } from 'lucide-react';\nimport { useState } from 'react';\nimport { HexColorPicker } from 'react-colorful';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport * as FormComponents from '../../form';\nimport { Input } from '../../input';\nimport { Label } from '../../label';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\nimport { hexToRgb, rgbToHex } from './utils';\n\ninterface Props {\n\tcontrol: any;\n\tid?: string;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n}\n\nexport const FormInputColor: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\tconst DEFAULT_COLOR = '#000000';\n\tconst [currentColor, setCurrentColor] = useState<string>(DEFAULT_COLOR);\n\tconst rgb = hexToRgb(currentColor) || { r: 0, g: 0, b: 0 };\n\n\tconst handleColorChange = (newColor: string, onChange: (...event: any[]) => void) => {\n\t\tonChange?.(newColor);\n\t\tsetCurrentColor(newColor);\n\t};\n\n\tconst handleHexChange = (hex: string, onChange: (...event: any[]) => void) => {\n\t\tif (/^#[0-9A-Fa-f]{6}$/.test(hex)) {\n\t\t\thandleColorChange(hex, onChange);\n\t\t} else {\n\t\t\tsetCurrentColor(hex);\n\t\t}\n\t};\n\n\tconst handleRgbChange = (key: keyof typeof rgb, value: string, onChange: (...event: any[]) => void) => {\n\t\tconst numValue = Number.parseInt(value, 10);\n\n\t\tif (!Number.isNaN(numValue) && numValue >= 0 && numValue <= 255) {\n\t\t\tconst newRgb = { ...rgb, [key]: numValue };\n\n\t\t\thandleColorChange(rgbToHex(newRgb), onChange);\n\t\t}\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Popover>\n\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tvariant='outline'\n\t\t\t\t\t\t\t\t\tclassName={cn('w-[240px] justify-start text-left font-normal', !field.value && 'text-zinc-500', className)}\n\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className='w-full flex items-center gap-2'>\n\t\t\t\t\t\t\t\t\t\t{field.value ? (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='h-4 w-4 rounded !bg-center !bg-cover transition-all border'\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ backgroundColor: field.value }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Paintbrush className='h-4 w-4' />\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<div className='truncate flex-1 text-sm'>\n\t\t\t\t\t\t\t\t\t\t\t{field.value ? field.value : placeholder || 'Selecione uma cor'}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t<PopoverContent className={cn('w-80', className)}>\n\t\t\t\t\t\t\t<div className='flex flex-col gap-4'>\n\t\t\t\t\t\t\t\t<section className='[&_.react-colorful]:w-auto'>\n\t\t\t\t\t\t\t\t\t<HexColorPicker\n\t\t\t\t\t\t\t\t\t\tcolor={field.value ?? DEFAULT_COLOR}\n\t\t\t\t\t\t\t\t\t\tonChange={(newColor) => handleColorChange(newColor, field.onChange)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</section>\n\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t<Label>Hex</Label>\n\t\t\t\t\t\t\t\t\t\t<Input value={currentColor} onChange={(e) => handleHexChange(e.target.value, field.onChange)} maxLength={7} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t\t<Label>R</Label>\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.r}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('r', e.target.value, field.onChange)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t\t<Label>G</Label>\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.g}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('g', e.target.value, field.onChange)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\n\t\t\t\t\t\t\t\t\t\t\t<Label>B</Label>\n\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.b}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('b', e.target.value, field.onChange)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t</Popover>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nexport default FormInputColor;\n","import { Check, ChevronsUpDown, LoaderCircle, X } from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport type { ControllerRenderProps, FieldValues } from 'react-hook-form';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\nimport * as FormComponents from '../../form';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nexport interface ComboboxOption {\n\tvalue: string | undefined;\n\ticon?: React.ReactNode | undefined;\n\ttitle: string;\n\tsubTitle?: string;\n\tclassName?: string;\n}\n\ninterface Props {\n\tcontrol: any;\n\tvariant?: 'outline' | 'ghost' | 'link' | 'default' | 'secondary' | 'destructive';\n\tname: string;\n\tlabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\toptions: ComboboxOption[];\n\tselectedOption?: ComboboxOption;\n\ticonLeft?: React.ReactNode | null;\n\ticonRight?: React.ReactNode | null;\n\taddEmptyOption?: boolean;\n\tcanUnselect?: boolean;\n\tclosePopUpOnChange?: boolean;\n\trunInternalSearch?: boolean;\n\tdisabledSearch?: boolean;\n\tonChange?: (option: ComboboxOption | undefined) => void;\n\tonSearch?: (searchString: string) => void;\n\tfooterAction?: {\n\t\tlabel: string;\n\t\ticon?: React.ReactNode;\n\t\tonClick: () => void;\n\t};\n}\n\nexport const FormCombobox: React.FC<Props> = ({\n\tcontrol,\n\tvariant = 'outline',\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\toptions,\n\tselectedOption,\n\ticonLeft,\n\ticonRight,\n\taddEmptyOption,\n\tcanUnselect = false,\n\tclosePopUpOnChange = true,\n\trunInternalSearch = true,\n\tdisabledSearch = false,\n\tonChange,\n\tonSearch,\n\tfooterAction,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\tconst [open, setOpen] = useState(false);\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [searchString, setSearchString] = useState<string>('');\n\tconst DEFAULT_PLACEHOLDER = 'Digite para buscar...';\n\n\tuseEffect(() => {\n\t\tsetLoading(false);\n\t}, [options]);\n\n\tconst getOptions = () => {\n\t\tif (options.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet filteredOptions = options;\n\t\tif (runInternalSearch) {\n\t\t\tfilteredOptions = options.filter((option) => {\n\t\t\t\tconst title = option.title\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\n\t\t\t\tconst subTitle = option.subTitle\n\t\t\t\t\t?.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\n\t\t\t\tconst search = searchString\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\n\n\t\t\t\treturn title.includes(search) || subTitle?.includes(search);\n\t\t\t});\n\t\t}\n\n\t\tif (addEmptyOption) {\n\t\t\tfilteredOptions.unshift({ value: undefined, title: '--Selecione--', subTitle: '' });\n\t\t}\n\n\t\treturn filteredOptions;\n\t};\n\n\tconst getSelectedOption = (value: string | undefined): ComboboxOption | undefined => {\n\t\tconst option = options.find((option) => option.value === value);\n\n\t\tif (option) {\n\t\t\treturn option;\n\t\t}\n\n\t\treturn selectedOption;\n\t};\n\n\tconst handleSelect = (value: string | undefined, field: ControllerRenderProps<FieldValues, string>) => {\n\t\tconst option = value ? getSelectedOption(value) : undefined;\n\n\t\tif (canUnselect) {\n\t\t\tfield.onChange(field.value === value ? undefined : value);\n\t\t} else {\n\t\t\tfield.onChange(value);\n\t\t}\n\n\t\tif (onChange) {\n\t\t\tonChange(option);\n\t\t}\n\t\tif (closePopUpOnChange) {\n\t\t\tsetOpen(false);\n\t\t}\n\t};\n\n\tconst handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tconst searchString = (event.target as HTMLInputElement).value;\n\n\t\tif (onSearch) {\n\t\t\tsetLoading(true);\n\t\t\tonSearch(searchString);\n\t\t}\n\t\tsetSearchString(searchString);\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Popover\n\t\t\t\t\t\topen={open}\n\t\t\t\t\t\tonOpenChange={(open) => {\n\t\t\t\t\t\t\tif (!disabled) setOpen(open);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t<div className={cn(`rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`, className)}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t'justify-between disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\n\t\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{iconLeft}\n\t\t\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\n\t\t\t\t\t\t\t\t\t\t\t<span className='truncate font-normal'>\n\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value)?.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value)?.title}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='text-zinc-500'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{iconRight ?? <ChevronsUpDown size={20} className='stroke-zinc-500' />}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t<PopoverContent className={cn('p-0', className, 'w-[--radix-popover-trigger-width]')}>\n\t\t\t\t\t\t\t<Command shouldFilter={false}>\n\t\t\t\t\t\t\t\t{!disabledSearch && <CommandInput placeholder={placeholder ?? DEFAULT_PLACEHOLDER} onKeyUp={handleKeyUp} />}\n\t\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t\t<CommandEmpty className='flex flex-col justify-between items-center p-3 font-normal text-sm'>\n\t\t\t\t\t\t\t\t\t\t{loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-muted-foreground animate-spin mr-2' />\n\t\t\t\t\t\t\t\t\t\t) : getOptions()?.length === 0 && (searchString !== '' || disabledSearch) ? (\n\t\t\t\t\t\t\t\t\t\t\t'Nenhum resultado encontrado'\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t'Utilize o campo de busca acima'\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t\t{options.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t{getOptions().map((option) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`key-opt-${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='group'\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => handleSelect(option.value, field)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn('grid flex-1 text-left text-sm leading-tight', option.className)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='truncate font-normal'>{option.title}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='truncate text-xs text-zinc-500'>{option.subTitle}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`ml-auto text-zinc-500 ${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value === option.value ? 'opacity-100' : 'opacity-0'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className={cn('flex', canUnselect && 'group-hover:hidden hover:hidden')} size={16} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className={cn('hidden', canUnselect && 'group-hover:flex hover:flex')} size={16} />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t\t{footerAction && (\n\t\t\t\t\t\t\t\t<div className='grid w-full p-1 border-t'>\n\t\t\t\t\t\t\t\t\t<Button type='button' variant='ghost' className='h-8' onClick={() => footerAction.onClick()}>\n\t\t\t\t\t\t\t\t\t\t{footerAction.icon}\n\t\t\t\t\t\t\t\t\t\t{footerAction.label}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t</Popover>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n\nexport default FormCombobox;\n","import { useState } from 'react';\nimport * as FormComponents from '../../form';\nimport { MaskInputCpfCnpj } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst masks = ['999.999.999-999', '99.999.999/9999-99'];\n\nexport const FormInputCpfCnpj: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [mask, setMask] = useState(masks[0]);\n\n\tconst handleMaskChange = (value: string) => {\n\t\tconst numericValue = value.replace(/\\D/g, '');\n\t\tif (numericValue.length > 11) {\n\t\t\tsetMask(masks[1]);\n\t\t} else {\n\t\t\tsetMask(masks[0]);\n\t\t}\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputCpfCnpj\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tmask={mask}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\thandleMaskChange(e.target.value);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { MaskInputDecimal } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputCurrency: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputDecimal\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tsymbol='R$'\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","export const getFirstDayOfCurrentMonth = (): Date => {\n\tconst now = new Date();\n\treturn new Date(now.getFullYear(), now.getMonth(), 1);\n};\n\nexport const getFirstDayOf90DaysAgo = (): Date => {\n\tconst now = new Date();\n\treturn new Date(now.getFullYear(), now.getMonth() - 3, 1);\n};\n\nexport const stringToDate = (dateString: string, separator: string = '/'): Date | undefined => {\n\tif (!dateString) return undefined;\n\n\tconst dateParts = dateString.split(separator);\n\tif (dateParts.length !== 3) return undefined;\n\n\tconst day = parseInt(dateParts[0], 10);\n\tconst month = parseInt(dateParts[1], 10) - 1; // Months are zero-based in JavaScript\n\tconst year = parseInt(dateParts[2], 10);\n\n\treturn new Date(year, month, day);\n};\n\nexport const aYearAgo = (): Date => {\n\tconst aYearAgo = new Date();\n\taYearAgo.setFullYear(aYearAgo.getFullYear() - 1);\n\n\treturn aYearAgo;\n};\n\nexport const invertDate = (date: string, separator: string = '/'): string => {\n\tif (!date) return '';\n\n\treturn date.split(separator).reverse().join('-');\n};\n\nexport const addDaysToToday = (days: number): Date => {\n\tconst date = new Date();\n\tdate.setDate(date.getDate() + days);\n\treturn date;\n};\n","import { ptBR } from 'date-fns/locale';\nimport { CalendarIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport { stringToDate } from '../../../../lib/help/date-utils';\nimport { cn } from '../../../../lib/utils';\nimport { Calendar } from '../../calendar';\nimport * as FormComponents from '../../form';\nimport { MaskInput } from '../../input';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputDate: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder = '01/01/2023',\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<div className='relative w-full'>\n\t\t\t\t\t\t\t<MaskInput\n\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\tmask={'99/99/9999'}\n\t\t\t\t\t\t\t\tmaskPlaceholder={null}\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\tclassName={cn('pl-9', className)}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\n\t\t\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' />\n\t\t\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t\t\t<PopoverContent className='w-[250px] p-0' align='start'>\n\t\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\t\tmode='single'\n\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\t\t\t\t\trequired={true}\n\t\t\t\t\t\t\t\t\t\t\tselected={stringToDate(field.value) ?? new Date()}\n\t\t\t\t\t\t\t\t\t\t\tonSelect={(date) => {\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(date ? date.toLocaleDateString('pt-BR') : '');\n\t\t\t\t\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget: { value: date ? date.toLocaleDateString('pt-BR') : '' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.ChangeEvent<HTMLInputElement>);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName='rounded-md'\n\t\t\t\t\t\t\t\t\t\t\tcaptionLayout='dropdown'\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { format } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { useState } from 'react';\nimport type { DateRange } from 'react-day-picker';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Calendar } from '../../calendar';\nimport * as FormComponents from '../../form';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement> | DateRange | undefined) => void;\n}\n\nexport const FormDataRange: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\t// const [date, setDate] = useState<DateRange | undefined>(field.value);\n\tconst [open, setOpen] = useState(false);\n\n\tconst handleDateChange = (newDate: DateRange | undefined, field: any) => {\n\t\t// setDate(newDate);\n\t\tfield.onChange(newDate);\n\t\tif (onChange) onChange(newDate);\n\t};\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild className='w-full'>\n\t\t\t\t\t\t\t\t<div className={` rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\tvariant='outline'\n\t\t\t\t\t\t\t\t\t\trole='combobox'\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t` ${className} justify-start disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50`,\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon className='text-zinc-500' />\n\t\t\t\t\t\t\t\t\t\t{field.value?.from ? (\n\t\t\t\t\t\t\t\t\t\t\tfield.value?.to ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{format(field.value?.from, 'dd/MM/yyyy')} - {format(field.value?.to, 'dd/MM/yyyy')}\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\tformat(field.value?.from, 'dd/MM/yyyy')\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<span className='font-normal text-zinc-500'>Escolha um Período</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent className='flex w-auto p-0' align='start'>\n\t\t\t\t\t\t\t\t<div className='flex flex-row space-x-4'>\n\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\tinitialFocus\n\t\t\t\t\t\t\t\t\t\tmode='range'\n\t\t\t\t\t\t\t\t\t\tdefaultMonth={field.value?.from}\n\t\t\t\t\t\t\t\t\t\tselected={field.value}\n\t\t\t\t\t\t\t\t\t\tnumberOfMonths={2}\n\t\t\t\t\t\t\t\t\t\tclassName='flex'\n\t\t\t\t\t\t\t\t\t\tonSelect={(newDate) => handleDateChange(newDate, field)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { MaskInputDecimal } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputDecimal: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputDecimal\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { useState } from 'react';\nimport * as FormComponents from '../../form';\nimport { InputFile } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputFile: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [value, setValue] = useState('');\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputFile\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetValue(e.target.value);\n\t\t\t\t\t\t\t\tfield.onChange(e.target.files);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { InputText } from '../../input';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tclassName?: string;\n}\n\nexport const FormInputGhost: React.FC<Props> = ({ control, name, className }) => {\n\tconst { FormField, FormItem, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputText {...field} className='hidden' />\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { Input } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\ttype?: string;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmaxLength?: number;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInput: React.FC<Props> = ({\n\tcontrol,\n\ttype,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmaxLength,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import * as FormComponents from '../../form';\nimport { MaskInput } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmask: string;\n\tmaskPlaceholder?: string | null;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tinputRef?: React.Ref<HTMLInputElement>;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputMask: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmask,\n\tmaskPlaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tinputRef,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInput\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tmask={mask}\n\t\t\t\t\t\t\tmaskPlaceholder={maskPlaceholder}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport { CheckIcon, ChevronDown, X } from 'lucide-react';\nimport * as React from 'react';\nimport type { ControllerRenderProps, FieldValues } from 'react-hook-form';\nimport { cn } from '../../../../lib/utils';\nimport { Badge } from '../../badge';\nimport { Button } from '../../button';\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\nimport * as FormComponents from '../../form';\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nconst multiSelectVariants = cva('m-1 rounded-[6px]', {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: 'text-foreground bg-background-secondary dark:bg-popover hover:bg-background-secondary',\n\t\t\tsecondary: 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\n\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\n\t\t\tinverted: 'inverted',\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: 'default',\n\t},\n});\n\nexport interface MultiSelectOption {\n\tvalue: string;\n\tlabel: string;\n}\n\ninterface MultiSelectProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof multiSelectVariants> {\n\tcontrol: any;\n\tname: string;\n\tlabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\toptions: MultiSelectOption[];\n\tplaceholder?: string;\n\tmaxCount?: number;\n\tmodalPopover?: boolean;\n\tasChild?: boolean;\n\tclassName?: string;\n\trequired?: boolean;\n}\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\tcontrol,\n\t\t\tname,\n\t\t\tlabel,\n\t\t\tsubLabel,\n\t\t\thelpText,\n\t\t\toptions,\n\t\t\tvariant,\n\t\t\tplaceholder,\n\t\t\tmaxCount = 2,\n\t\t\tmodalPopover = false,\n\t\t\tasChild = false,\n\t\t\tclassName,\n\t\t\trequired,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\t\tconst DEFAULT_PLACEHOLDER_FILTER = 'Digite para buscar...';\n\t\tconst DEFAULT_PLACEHOLDER = 'Selecione';\n\n\t\tconst toggleOption = (option: MultiSelectOption, field: ControllerRenderProps<FieldValues, string>) => {\n\t\t\tconst prevValue = field.value || [];\n\n\t\t\tconst newValue = prevValue?.some((item: MultiSelectOption) => item.value === option.value)\n\t\t\t\t? prevValue.filter((item: MultiSelectOption) => item.value !== option.value)\n\t\t\t\t: [...prevValue, option];\n\n\t\t\tfield.onChange(newValue);\n\t\t};\n\n\t\tconst handleClear = (field: ControllerRenderProps<FieldValues, string>) => {\n\t\t\tfield.onChange([]);\n\t\t};\n\n\t\tconst handleTogglePopover = () => {\n\t\t\tsetIsPopoverOpen((prev) => !prev);\n\t\t};\n\n\t\tconst toggleAll = (field: ControllerRenderProps<FieldValues, string>) => {\n\t\t\tif (field.value?.length === options.length) {\n\t\t\t\thandleClear(field);\n\t\t\t} else {\n\t\t\t\tconst allValues = options.map((option) => option);\n\t\t\t\tfield.onChange(allValues);\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<FormField\n\t\t\t\tcontrol={control}\n\t\t\t\tname={name}\n\t\t\t\trender={({ field }) => (\n\t\t\t\t\t<FormItem>\n\t\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\t\tonClick={handleTogglePopover}\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t'flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-background hover:bg-background [&_svg]:size-3.5',\n\t\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{field.value?.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\t<div className='flex justify-between items-center w-full'>\n\t\t\t\t\t\t\t\t\t\t\t<div className='flex items-center'>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className={`grid grid-cols-${maxCount}`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{field.value.slice(0, maxCount).map((option: MultiSelectOption) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`msoptlbl-${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(multiSelectVariants({ variant }))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleOption(option, field);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='truncate'>{option?.label}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className='ml-2 cursor-pointer text-zinc-500' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t{field.value?.length > maxCount && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Badge variant={'surface'}>{`+${field.value?.length - maxCount}`}</Badge>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div className='flex items-center justify-between'>\n\t\t\t\t\t\t\t\t\t\t\t\t<ChevronDown className='h-4 mx-2 cursor-pointer text-muted-foreground' />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<div className='flex items-center justify-between w-full mx-auto'>\n\t\t\t\t\t\t\t\t\t\t\t<span className='text-sm text-muted-foreground mx-3'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\n\t\t\t\t\t\t\t\t\t\t\t<ChevronDown className='h-4 cursor-pointer text-muted-foreground mx-2' />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\t\t\tclassName={cn('w-auto p-0', 'w-[--radix-popover-trigger-width]')}\n\t\t\t\t\t\t\t\talign='start'\n\t\t\t\t\t\t\t\tonEscapeKeyDown={() => setIsPopoverOpen(false)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t\t\t<CommandInput placeholder={DEFAULT_PLACEHOLDER_FILTER} />\n\t\t\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t\t\t<CommandEmpty>Nenhum resultado encontrado</CommandEmpty>\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem key='all' onSelect={() => toggleAll(field)} className='cursor-pointer'>\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value?.length === options.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'bg-primary text-primary-foreground'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'opacity-50 [&_svg]:invisible',\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className='h-4 w-4' />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<span>(Selecionar Todos)</span>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t{options.map((option) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected = field.value?.some((item: MultiSelectOption) => item.value === option.value);\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`msopt-${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => toggleOption(option, field)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='cursor-pointer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected ? 'bg-primary text-primary-foreground' : 'opacity-50 [&_svg]:invisible',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className='h-4 w-4' />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t\t</FormItem>\n\t\t\t\t)}\n\t\t\t/>\n\t\t);\n\t},\n);\n\nMultiSelect.displayName = 'MultiSelect';\n","import { Eye, EyeOff } from 'lucide-react';\nimport { useState } from 'react';\nimport * as FormComponents from '../../form';\nimport { InputText } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmaxLength?: number;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputPassWord: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmaxLength,\n\tclassName,\n\tdisabled,\n\trequired,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\tconst [showPassword, setShowPassword] = useState(true);\n\tconst togglePasswordVisibility = () => setShowPassword((prev) => !prev);\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<div className='relative w-full'>\n\t\t\t\t\t\t\t<InputText\n\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\ttype={showPassword ? 'password' : 'text'}\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<button type='button' onClick={togglePasswordVisibility} className='absolute inset-y-0 right-2 flex items-center'>\n\t\t\t\t\t\t\t\t{showPassword ? <EyeOff className='w-5 h-5 text-slate-500' /> : <Eye className='w-5 h-5 text-slate-500' />}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { MaskInputDecimal } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputPercent: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputDecimal\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tsymbol='%'\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { MaskInputFone } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst masks = ['(99) 9999-99999', '(99) 9 9999-9999'];\n\nexport const FormInputPhone: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\t// const [_mask, setMask] = useState(masks[0]);\n\n\tconst getMask = (val: string) => (val.replace(/\\D/g, '').length > 10 ? masks[1] : masks[0]);\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<MaskInputFone\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\t\tplaceholder={placeholder ?? '(00) 0 0000-0000'}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tmask={getMask(field.value || '')}\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\tonChange?.(e);\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\t// setMask(getMask(e.target.value));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => onKeyUp?.(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport { cn } from '../../../../lib/utils';\nimport * as FormComponents from '../../form';\nimport { Label } from '../../label';\nimport { RadioGroup, RadioGroupItem } from '../../radio-group';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nexport interface RadioOption {\n\tvalue: string;\n\tlabel: string;\n\tdescription?: string;\n\tdisabled?: boolean;\n}\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tvalue?: string;\n\tlabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tclassNameOptions?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\toptions?: RadioOption[];\n\tonChange?: (value: string) => void;\n}\n\nexport const FormRadioGroup: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tvalue,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tclassName,\n\tclassNameOptions,\n\tdisabled,\n\trequired,\n\toptions,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\tkey={value}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem>\n\t\t\t\t\t<div className={cn('flex items-center space-x-1.5 mb-2', className)}>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\t\tonValueChange={(value: string) => {\n\t\t\t\t\t\t\t\tfield?.onChange?.(value);\n\t\t\t\t\t\t\t\tonChange?.(value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdefaultValue={field.value}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tclassName={`${className}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className={cn('flex flex-grow gap-6', classNameOptions)}>\n\t\t\t\t\t\t\t\t{options?.map((option, index) => (\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col' key={`radio-${name}-${index}`}>\n\t\t\t\t\t\t\t\t\t\t<div className='flex items-center space-x-2' key={`radio-${name}-${index}`}>\n\t\t\t\t\t\t\t\t\t\t\t<RadioGroupItem\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\tid={`r${option.value}`}\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={field.value === option.value}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<Label htmlFor={`r${option.value}`} className={option.disabled ? 'opacity-50' : ''}>\n\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t\t</Label>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{option.description && (\n\t\t\t\t\t\t\t\t\t\t\t<div className={cn('pl-6 text-zinc-500', { 'opacity-50': option.disabled })}>{option.description}</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</RadioGroup>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { Select } from '@radix-ui/react-select';\nimport { cn } from '../../../../lib/utils';\nimport * as FormComponents from '../../form';\nimport { SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\nexport interface SelectOption {\n\tvalue: string;\n\tlabel: string;\n\tdefault?: boolean;\n}\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\toptions: SelectOption[];\n}\n\nexport const FormSelect: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required, options }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Select onValueChange={field.onChange} defaultValue={field.value} disabled={disabled}>\n\t\t\t\t\t\t\t<SelectTrigger className={cn('', formState.errors[name] ? 'border-red-600' : '', className)}>\n\t\t\t\t\t\t\t\t<SelectValue className='text-slate-400' placeholder={placeholder} />\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent className='bg-white cursor-pointer'>\n\t\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import { Check } from 'lucide-react';\nimport { Separator } from '../../separator';\n\nexport interface PropsStepNewForm {\n\tsteps: { id: string; label: string }[];\n\tcurrentIndex: number;\n}\n\nconst StepNewForm = ({ steps, currentIndex }: PropsStepNewForm) => {\n\tconst getStepIcon = (index: number) => {\n\t\tif (index < currentIndex) {\n\t\t\treturn (\n\t\t\t\t<div className='flex w-6 h-6 rounded-md items-center justify-center bg-background-secondary border'>\n\t\t\t\t\t<Check size={16} className='stroke-2 stroke-primary' />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={`flex w-6 h-6 rounded-md items-center justify-center border ${\n\t\t\t\t\tindex === currentIndex ? 'bg-background-primary text-white' : 'bg-white text-black'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{index + 1}\n\t\t\t</div>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className='flex flex-row gap-x-3 my-2.5'>\n\t\t\t{steps.map((step, index, array) => (\n\t\t\t\t<div className='flex items-center text-sm font-medium gap-x-3' key={step.id}>\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-x-3'>\n\t\t\t\t\t\t{getStepIcon(index)}\n\t\t\t\t\t\t{step.label}\n\t\t\t\t\t</div>\n\t\t\t\t\t{index + 1 < array.length && (\n\t\t\t\t\t\t<div className='w-10'>\n\t\t\t\t\t\t\t<Separator />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n\nexport { StepNewForm };\n","import { cn } from '../../../../lib/utils';\nimport * as FormComponents from '../../form';\nimport { Switch } from '../../switch';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\ttopLabel?: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tclassName?: string;\n\tdisabled?: boolean;\n\tonCheckedChange?: (checked: boolean) => void;\n}\n\nexport const FormInputSwitch: React.FC<Props> = ({ control, name, label, topLabel, subLabel, helpText, className, disabled, onCheckedChange }) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field }) => (\n\t\t\t\t<FormItem className={cn('flex flex-col gap-y-2', className)}>\n\t\t\t\t\t{topLabel && <FormLabel>{topLabel}</FormLabel>}\n\t\t\t\t\t<div className='flex items-center gap-x-2'>\n\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t<Switch\n\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\tchecked={field.value}\n\t\t\t\t\t\t\t\tonCheckedChange={(checked) => {\n\t\t\t\t\t\t\t\t\tfield.onChange(checked);\n\t\t\t\t\t\t\t\t\tif (onCheckedChange) {\n\t\t\t\t\t\t\t\t\t\tonCheckedChange(checked);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\n\t\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, false, 'pb-0')}\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t\t</div>\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { InputText } from '../../input';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tmaxLength?: number;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tinputRef?: React.Ref<HTMLInputElement>;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\nexport const FormInputText: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tmaxLength,\n\tclassName,\n\tdisabled,\n\trequired,\n\tinputRef,\n\tonKeyUp,\n\tonChange,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputText\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tvalue={field.value || ''}\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","import type { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\nimport * as FormComponents from '../../form';\nimport { Textarea } from '../../textarea';\nimport { formHelpText } from './form-help-text';\nimport { formLabelAndSubLabel } from './form-label';\nimport { formMessage } from './form-message';\n\ninterface Props {\n\tcontrol: any;\n\tname: string;\n\tlabel: string;\n\tsubLabel?: string;\n\thelpText?: JSX.Element;\n\tplaceholder?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\trequired?: boolean;\n\tonChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\n}\n\nexport const FormTextarea: React.FC<Props> = ({\n\tcontrol,\n\tname,\n\tlabel,\n\tsubLabel,\n\thelpText,\n\tplaceholder,\n\tclassName,\n\tdisabled,\n\trequired,\n\tonChange,\n\tonKeyUp,\n}) => {\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\n\n\treturn (\n\t\t<FormField\n\t\t\tcontrol={control}\n\t\t\tname={name}\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\n\t\t\t\t<FormItem className={className}>\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\tclassName='resize-none outline-none focus:outline-none'\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\t\t\t\t\t\t\tfield.onChange(e);\n\t\t\t\t\t\t\t\tif (onChange) {\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n\t\t\t\t\t\t\t\tif (onKeyUp) {\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormControl>\n\t\t\t\t\t{formMessage(FormMessage)}\n\t\t\t\t</FormItem>\n\t\t\t)}\n\t\t/>\n\t);\n};\n","// Retorna todas as cores do Tailwind CSS das variações 50 a 950\nexport function getTailwindColorShades() {\n\t// Paleta padrão do Tailwind v3.3.0\n\t// Fonte: https://github.com/tailwindlabs/tailwindcss/blob/master/src/public/colors.js\n\treturn {\n\t\tslate: {\n\t\t\t50: '#f8fafc',\n\t\t\t100: '#f1f5f9',\n\t\t\t200: '#e2e8f0',\n\t\t\t300: '#cbd5e1',\n\t\t\t400: '#94a3b8',\n\t\t\t500: '#64748b',\n\t\t\t600: '#475569',\n\t\t\t700: '#334155',\n\t\t\t800: '#1e293b',\n\t\t\t900: '#0f172a',\n\t\t\t950: '#020617',\n\t\t},\n\t\tgray: {\n\t\t\t50: '#f9fafb',\n\t\t\t100: '#f3f4f6',\n\t\t\t200: '#e5e7eb',\n\t\t\t300: '#d1d5db',\n\t\t\t400: '#9ca3af',\n\t\t\t500: '#6b7280',\n\t\t\t600: '#4b5563',\n\t\t\t700: '#374151',\n\t\t\t800: '#1f2937',\n\t\t\t900: '#111827',\n\t\t\t950: '#030712',\n\t\t},\n\t\tzinc: {\n\t\t\t50: '#fafafa',\n\t\t\t100: '#f4f4f5',\n\t\t\t200: '#e4e4e7',\n\t\t\t300: '#d4d4d8',\n\t\t\t400: '#a1a1aa',\n\t\t\t500: '#71717a',\n\t\t\t600: '#52525b',\n\t\t\t700: '#3f3f46',\n\t\t\t800: '#27272a',\n\t\t\t900: '#18181b',\n\t\t\t950: '#09090b',\n\t\t},\n\t\tneutral: {\n\t\t\t50: '#fafafa',\n\t\t\t100: '#f5f5f5',\n\t\t\t200: '#e5e5e5',\n\t\t\t300: '#d4d4d4',\n\t\t\t400: '#a3a3a3',\n\t\t\t500: '#737373',\n\t\t\t600: '#525252',\n\t\t\t700: '#404040',\n\t\t\t800: '#262626',\n\t\t\t900: '#171717',\n\t\t\t950: '#0a0a0a',\n\t\t},\n\t\tstone: {\n\t\t\t50: '#fafaf9',\n\t\t\t100: '#f5f5f4',\n\t\t\t200: '#e7e5e4',\n\t\t\t300: '#d6d3d1',\n\t\t\t400: '#a8a29e',\n\t\t\t500: '#78716c',\n\t\t\t600: '#57534e',\n\t\t\t700: '#44403c',\n\t\t\t800: '#292524',\n\t\t\t900: '#1c1917',\n\t\t\t950: '#0c0a09',\n\t\t},\n\t\tred: {\n\t\t\t50: '#fef2f2',\n\t\t\t100: '#fee2e2',\n\t\t\t200: '#fecaca',\n\t\t\t300: '#fca5a5',\n\t\t\t400: '#f87171',\n\t\t\t500: '#ef4444',\n\t\t\t600: '#dc2626',\n\t\t\t700: '#b91c1c',\n\t\t\t800: '#991b1b',\n\t\t\t900: '#7f1d1d',\n\t\t\t950: '#450a0a',\n\t\t},\n\t\torange: {\n\t\t\t50: '#fff7ed',\n\t\t\t100: '#ffedd5',\n\t\t\t200: '#fed7aa',\n\t\t\t300: '#fdba74',\n\t\t\t400: '#fb923c',\n\t\t\t500: '#f97316',\n\t\t\t600: '#ea580c',\n\t\t\t700: '#c2410c',\n\t\t\t800: '#9a3412',\n\t\t\t900: '#7c2d12',\n\t\t\t950: '#431407',\n\t\t},\n\t\tamber: {\n\t\t\t50: '#fffbeb',\n\t\t\t100: '#fef3c7',\n\t\t\t200: '#fde68a',\n\t\t\t300: '#fcd34d',\n\t\t\t400: '#fbbf24',\n\t\t\t500: '#f59e42',\n\t\t\t600: '#d97706',\n\t\t\t700: '#b45309',\n\t\t\t800: '#92400e',\n\t\t\t900: '#78350f',\n\t\t\t950: '#451a03',\n\t\t},\n\t\tyellow: {\n\t\t\t50: '#fefce8',\n\t\t\t100: '#fef9c3',\n\t\t\t200: '#fef08a',\n\t\t\t300: '#fde047',\n\t\t\t400: '#facc15',\n\t\t\t500: '#eab308',\n\t\t\t600: '#ca8a04',\n\t\t\t700: '#a16207',\n\t\t\t800: '#854d0e',\n\t\t\t900: '#713f12',\n\t\t\t950: '#422006',\n\t\t},\n\t\tlime: {\n\t\t\t50: '#f7fee7',\n\t\t\t100: '#ecfccb',\n\t\t\t200: '#d9f99d',\n\t\t\t300: '#bef264',\n\t\t\t400: '#a3e635',\n\t\t\t500: '#84cc16',\n\t\t\t600: '#65a30d',\n\t\t\t700: '#4d7c0f',\n\t\t\t800: '#3f6212',\n\t\t\t900: '#365314',\n\t\t\t950: '#1a2e05',\n\t\t},\n\t\tgreen: {\n\t\t\t50: '#f0fdf4',\n\t\t\t100: '#dcfce7',\n\t\t\t200: '#bbf7d0',\n\t\t\t300: '#86efac',\n\t\t\t400: '#4ade80',\n\t\t\t500: '#22c55e',\n\t\t\t600: '#16a34a',\n\t\t\t700: '#15803d',\n\t\t\t800: '#166534',\n\t\t\t900: '#14532d',\n\t\t\t950: '#052e16',\n\t\t},\n\t\temerald: {\n\t\t\t50: '#ecfdf5',\n\t\t\t100: '#d1fae5',\n\t\t\t200: '#a7f3d0',\n\t\t\t300: '#6ee7b7',\n\t\t\t400: '#34d399',\n\t\t\t500: '#10b981',\n\t\t\t600: '#059669',\n\t\t\t700: '#047857',\n\t\t\t800: '#065f46',\n\t\t\t900: '#064e3b',\n\t\t\t950: '#022c22',\n\t\t},\n\t\tteal: {\n\t\t\t50: '#f0fdfa',\n\t\t\t100: '#ccfbf1',\n\t\t\t200: '#99f6e4',\n\t\t\t300: '#5eead4',\n\t\t\t400: '#2dd4bf',\n\t\t\t500: '#14b8a6',\n\t\t\t600: '#0d9488',\n\t\t\t700: '#0f766e',\n\t\t\t800: '#115e59',\n\t\t\t900: '#134e4a',\n\t\t\t950: '#042f2e',\n\t\t},\n\t\tcyan: {\n\t\t\t50: '#ecfeff',\n\t\t\t100: '#cffafe',\n\t\t\t200: '#a5f3fc',\n\t\t\t300: '#67e8f9',\n\t\t\t400: '#22d3ee',\n\t\t\t500: '#06b6d4',\n\t\t\t600: '#0891b2',\n\t\t\t700: '#0e7490',\n\t\t\t800: '#155e75',\n\t\t\t900: '#164e63',\n\t\t\t950: '#083344',\n\t\t},\n\t\tsky: {\n\t\t\t50: '#f0f9ff',\n\t\t\t100: '#e0f2fe',\n\t\t\t200: '#bae6fd',\n\t\t\t300: '#7dd3fc',\n\t\t\t400: '#38bdf8',\n\t\t\t500: '#0ea5e9',\n\t\t\t600: '#0284c7',\n\t\t\t700: '#0369a1',\n\t\t\t800: '#075985',\n\t\t\t900: '#0e3a5e',\n\t\t\t950: '#082f49',\n\t\t},\n\t\tblue: {\n\t\t\t50: '#eff6ff',\n\t\t\t100: '#dbeafe',\n\t\t\t200: '#bfdbfe',\n\t\t\t300: '#93c5fd',\n\t\t\t400: '#60a5fa',\n\t\t\t500: '#3b82f6',\n\t\t\t600: '#2563eb',\n\t\t\t700: '#1d4ed8',\n\t\t\t800: '#1e40af',\n\t\t\t900: '#1e3a8a',\n\t\t\t950: '#172554',\n\t\t},\n\t\tindigo: {\n\t\t\t50: '#eef2ff',\n\t\t\t100: '#e0e7ff',\n\t\t\t200: '#c7d2fe',\n\t\t\t300: '#a5b4fc',\n\t\t\t400: '#818cf8',\n\t\t\t500: '#6366f1',\n\t\t\t600: '#4f46e5',\n\t\t\t700: '#4338ca',\n\t\t\t800: '#3730a3',\n\t\t\t900: '#312e81',\n\t\t\t950: '#1e1b4b',\n\t\t},\n\t\tviolet: {\n\t\t\t50: '#f5f3ff',\n\t\t\t100: '#ede9fe',\n\t\t\t200: '#ddd6fe',\n\t\t\t300: '#c4b5fd',\n\t\t\t400: '#a78bfa',\n\t\t\t500: '#8b5cf6',\n\t\t\t600: '#7c3aed',\n\t\t\t700: '#6d28d9',\n\t\t\t800: '#5b21b6',\n\t\t\t900: '#4c1d95',\n\t\t\t950: '#2e1065',\n\t\t},\n\t\tpurple: {\n\t\t\t50: '#faf5ff',\n\t\t\t100: '#f3e8ff',\n\t\t\t200: '#e9d5ff',\n\t\t\t300: '#d8b4fe',\n\t\t\t400: '#c084fc',\n\t\t\t500: '#a855f7',\n\t\t\t600: '#9333ea',\n\t\t\t700: '#7e22ce',\n\t\t\t800: '#6d19a8',\n\t\t\t900: '#581c87',\n\t\t\t950: '#3b0764',\n\t\t},\n\t\tfuchsia: {\n\t\t\t50: '#fdf4ff',\n\t\t\t100: '#fae8ff',\n\t\t\t200: '#f5d0fe',\n\t\t\t300: '#f0abfc',\n\t\t\t400: '#e879f9',\n\t\t\t500: '#d946ef',\n\t\t\t600: '#c026d3',\n\t\t\t700: '#a21caf',\n\t\t\t800: '#86198f',\n\t\t\t900: '#701a75',\n\t\t\t950: '#4a044e',\n\t\t},\n\t\tpink: {\n\t\t\t50: '#fdf2f8',\n\t\t\t100: '#fce7f3',\n\t\t\t200: '#fbcfe8',\n\t\t\t300: '#f9a8d4',\n\t\t\t400: '#f472b6',\n\t\t\t500: '#ec4899',\n\t\t\t600: '#db2777',\n\t\t\t700: '#be185d',\n\t\t\t800: '#9d174d',\n\t\t\t900: '#831843',\n\t\t\t950: '#500724',\n\t\t},\n\t\trose: {\n\t\t\t50: '#fff1f2',\n\t\t\t100: '#ffe4e6',\n\t\t\t200: '#fecdd3',\n\t\t\t300: '#fda4af',\n\t\t\t400: '#fb7185',\n\t\t\t500: '#f43f5e',\n\t\t\t600: '#e11d48',\n\t\t\t700: '#be123c',\n\t\t\t800: '#9f1239',\n\t\t\t900: '#881337',\n\t\t\t950: '#4c0519',\n\t\t},\n\t};\n}\n\nexport type TailwindColorName = keyof ReturnType<typeof getTailwindColorShades>;\n\nexport const replaceThemeTailwindColors = (theme: string, tailwindColor: string): HTMLStyleElement => {\n\tconst colorShades = getTailwindColorShades();\n\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\n\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\n\n\tconst el = document.createElement('style');\n\tel.id = 'theme-variables';\n\tel.setAttribute('type', 'text/css');\n\tel.textContent = ':root {';\n\n\tif (theme === 'light') {\n\t\tel.textContent += `--sidebar-background: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[200]};\\n`;\n\t\tel.textContent += `--sidebar-ring: ${colorPallete[300]};\\n`;\n\t\tel.textContent += `--sidebar-border: ${colorPallete[100]};\\n`;\n\t\tel.textContent += `--sidebar-scrollbar-thumb: ${colorPallete[200]};\\n`;\n\t}\n\tif (theme === 'light' || theme === 'dark-side') {\n\t\tel.textContent += `--background-elevated: ${colorPallete[200]};\\n`;\n\t\tel.textContent += `--background-primary-hover: ${colorPallete[100]};\\n`;\n\t\tel.textContent += `--background-subtle: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--accent: ${colorPallete[200]};\\n`;\n\t\tel.textContent += `--datatable-background: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--datatable-accent: ${colorPallete[50]};\\n`;\n\t\tel.textContent += `--scrollbar-thumb: ${colorPallete[200]};\\n`;\n\t}\n\tif (theme === 'dark-side' || theme === 'dark') {\n\t\t// Verificar essa propriedade\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[950]};\\n`;\n\t}\n\tel.textContent += `--background-primary: ${colorPallete[900]};\\n`;\n\tel.textContent += `--background-primary-hover: ${colorPallete[950]};\\n`;\n\tel.textContent += `--primary: ${colorPallete[900]};\\n`;\n\tel.textContent += `--primary-950: ${colorPallete[950]};\\n`;\n\tel.textContent += `--primary-900: ${colorPallete[900]};\\n`;\n\tel.textContent += `--primary-800: ${colorPallete[800]};\\n`;\n\tel.textContent += `--primary-700: ${colorPallete[700]};\\n`;\n\tel.textContent += `--primary-600: ${colorPallete[600]};\\n`;\n\tel.textContent += `--primary-500: ${colorPallete[500]};\\n`;\n\tel.textContent += `--primary-400: ${colorPallete[400]};\\n`;\n\tel.textContent += `--primary-300: ${colorPallete[300]};\\n`;\n\tel.textContent += `--primary-200: ${colorPallete[200]};\\n`;\n\tel.textContent += `--primary-100: ${colorPallete[100]};\\n`;\n\tel.textContent += `--primary-50: ${colorPallete[50]};\\n`;\n\tel.textContent += `--chart-primary: ${colorPallete[800]};\\n`;\n\tel.textContent += `--chart-secondary: ${colorPallete[200]};\\n`;\n\tel.textContent += '}';\n\n\treturn el;\n};\n","import { createContext, useContext, useEffect, useState } from 'react';\nimport { replaceThemeTailwindColors } from '../../../lib/help/theme';\n\ntype Theme = 'light' | 'dark' | 'dark-side';\n\ntype ThemePortalDefinitions = {\n\tfaviconPath: string;\n\tfullLogoPath: string;\n\tbannerDesktopPath: string;\n\tmvnoPrimaryColor: string;\n\tmvnoMainTheme: Theme;\n\ttitle: string;\n\thideModuleSwitcher: boolean;\n};\n\ntype ThemeProviderProps = {\n\tchildren: React.ReactNode;\n\tdefaultTheme?: ThemePortalDefinitions;\n\tstorageKey?: string;\n};\n\ntype ThemeProviderState = {\n\tportalDefinitions: ThemePortalDefinitions;\n\tsetPortalDefinitions: (portalDefinitions: ThemePortalDefinitions) => void;\n};\n\nexport const DEFAULT_THEME_DATA: ThemePortalDefinitions = {\n\tfaviconPath: '',\n\tfullLogoPath: '',\n\tbannerDesktopPath: '/imgs/background-auth.png',\n\tmvnoPrimaryColor: 'green',\n\tmvnoMainTheme: 'light',\n\ttitle: '-',\n\thideModuleSwitcher: false,\n};\n\nconst initialState: ThemeProviderState = {\n\tportalDefinitions: DEFAULT_THEME_DATA,\n\tsetPortalDefinitions: () => null,\n};\n\nconst ThemeProviderContext = createContext<ThemeProviderState>(initialState);\n\nexport function ThemeProvider({ children, defaultTheme = DEFAULT_THEME_DATA, storageKey = 'vite-ui-theme', ...props }: ThemeProviderProps) {\n\tconst [portalDefinitions, setPortalDefinitionsState] = useState<ThemePortalDefinitions>({\n\t\tfaviconPath: localStorage.getItem(`${storageKey}-faviconPath`) || defaultTheme.faviconPath,\n\t\tfullLogoPath: localStorage.getItem(`${storageKey}-fullLogoPath`) || defaultTheme.fullLogoPath,\n\t\tbannerDesktopPath: localStorage.getItem(`${storageKey}-bannerDesktopPath`) || defaultTheme.bannerDesktopPath,\n\t\tmvnoPrimaryColor: localStorage.getItem(`${storageKey}-mvnoPrimaryColor`) || defaultTheme.mvnoPrimaryColor,\n\t\tmvnoMainTheme: (localStorage.getItem(storageKey) as Theme) || defaultTheme.mvnoMainTheme,\n\t\ttitle: localStorage.getItem(`${storageKey}-title`) || defaultTheme.title,\n\t\thideModuleSwitcher: localStorage.getItem(`${storageKey}-hideModuleSwitcher`) === 'true',\n\t});\n\n\tuseEffect(() => {\n\t\tconst theme = portalDefinitions?.mvnoMainTheme;\n\n\t\tconst root = window.document.documentElement;\n\t\troot.classList.remove('light', 'dark', 'dark-side');\n\t\troot.classList.add(theme);\n\n\t\tdocument.title = portalDefinitions?.title;\n\t\tconst meta = document.querySelector('meta[name=\"description\"]');\n\t\tif (meta) {\n\t\t\tmeta.setAttribute('content', portalDefinitions?.title);\n\t\t}\n\n\t\tlet link = document.querySelector<HTMLLinkElement>(\"link[rel~='icon']\");\n\t\tif (!link) {\n\t\t\tlink = document.createElement('link');\n\t\t\tlink.rel = 'icon';\n\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\n\t\t}\n\t\tlink.href = portalDefinitions?.faviconPath;\n\n\t\tconst el = replaceThemeTailwindColors(theme, portalDefinitions?.mvnoPrimaryColor);\n\n\t\tdocument.getElementById('theme-variables') &&\n\t\t\tdocument.getElementsByTagName('head')[0].removeChild(document.getElementById('theme-variables')!);\n\t\tdocument.getElementsByTagName('head')[0].appendChild(el);\n\t}, [portalDefinitions]);\n\n\tconst setPortalDefinitions = (portalDefinitions: ThemePortalDefinitions) => {\n\t\tlocalStorage.setItem(`${storageKey}-faviconPath`, portalDefinitions.faviconPath);\n\t\tlocalStorage.setItem(`${storageKey}-fullLogoPath`, portalDefinitions.fullLogoPath);\n\t\tlocalStorage.setItem(`${storageKey}-bannerDesktopPath`, portalDefinitions.bannerDesktopPath);\n\t\tlocalStorage.setItem(`${storageKey}-mvnoPrimaryColor`, portalDefinitions.mvnoPrimaryColor);\n\t\tlocalStorage.setItem(`${storageKey}-mvnoMainTheme`, portalDefinitions.mvnoMainTheme);\n\t\tlocalStorage.setItem(`${storageKey}-title`, portalDefinitions.title);\n\t\tlocalStorage.setItem(`${storageKey}-hideModuleSwitcher`, String(portalDefinitions.hideModuleSwitcher));\n\n\t\tsetPortalDefinitionsState({\n\t\t\tfaviconPath: portalDefinitions.faviconPath || DEFAULT_THEME_DATA.faviconPath,\n\t\t\tfullLogoPath: portalDefinitions.fullLogoPath || DEFAULT_THEME_DATA.fullLogoPath,\n\t\t\tbannerDesktopPath: portalDefinitions.bannerDesktopPath || DEFAULT_THEME_DATA.bannerDesktopPath,\n\t\t\tmvnoPrimaryColor: portalDefinitions.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor,\n\t\t\tmvnoMainTheme: portalDefinitions.mvnoMainTheme ? (portalDefinitions.mvnoMainTheme as Theme) : DEFAULT_THEME_DATA.mvnoMainTheme,\n\t\t\ttitle: portalDefinitions.title || DEFAULT_THEME_DATA.title,\n\t\t\thideModuleSwitcher: portalDefinitions.hideModuleSwitcher || DEFAULT_THEME_DATA.hideModuleSwitcher,\n\t\t});\n\t};\n\n\tconst value: ThemeProviderState = {\n\t\tportalDefinitions,\n\t\tsetPortalDefinitions: setPortalDefinitions,\n\t};\n\n\treturn (\n\t\t<ThemeProviderContext.Provider {...props} value={value}>\n\t\t\t{children}\n\t\t</ThemeProviderContext.Provider>\n\t);\n}\n\nexport const useTheme = () => {\n\tconst context = useContext(ThemeProviderContext);\n\n\tif (context === undefined) throw new Error('useTheme must be used within a ThemeProvider');\n\n\treturn context;\n};\n","import { type ReactNode, useEffect, useRef } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport LoadingBar, { type LoadingBarRef } from 'react-top-loading-bar';\nimport { getTailwindColorShades, type TailwindColorName } from '../../../lib/help/theme';\nimport { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../breadcrumb';\nimport { SidebarTrigger } from '../sidebar';\nimport type { Module, SidebarPage } from './sidebar/types/sidebar';\nimport { DEFAULT_THEME_DATA, useTheme } from './theme-provider';\n\nconst Header = ({\n\tsplittedPath,\n\tmodules,\n\tpages,\n\tisLoading,\n\tcombobox,\n}: {\n\tsplittedPath: string[];\n\tmodules: Module[];\n\tpages: SidebarPage[];\n\tisLoading: boolean;\n\tcombobox: ReactNode;\n}) => {\n\tconst { portalDefinitions } = useTheme();\n\tconst navigate = useNavigate();\n\tconst refProgressLoading = useRef<LoadingBarRef>(null);\n\tconst lastPage = splittedPath[splittedPath.length - 1];\n\n\tuseEffect(() => {\n\t\tisLoading ? refProgressLoading.current?.start() : refProgressLoading.current?.complete();\n\t}, [isLoading]);\n\n\tconst setRouter = (path: string) => {\n\t\tnavigate(path);\n\t};\n\n\tconst getPath = (index: number) => {\n\t\tlet path = '';\n\n\t\tfor (let i = 0; i <= index; i++) {\n\t\t\tpath += `/${splittedPath[i]}`;\n\t\t}\n\n\t\treturn path;\n\t};\n\n\tconst getLinkSidebar = (index: number) => {\n\t\treturn pages.find((item) => item.path === getPath(index));\n\t};\n\n\tconst getSubMenuItem = (index: number) => {\n\t\treturn pages.flatMap((item) => item.subMenuItems || []).find((sub) => sub.path === getPath(index));\n\t};\n\n\tconst getModule = (page: string) => {\n\t\tconst module = modules.find((mod) => mod.value === page);\n\t\tif (!module) {\n\t\t\treturn page;\n\t\t}\n\n\t\treturn module?.title;\n\t};\n\n\tconst getTitle = (index: number) => {\n\t\tconst linkSidebar = getLinkSidebar(index);\n\t\tconst subMenuItem = getSubMenuItem(index);\n\n\t\tif (subMenuItem) {\n\t\t\treturn subMenuItem.label;\n\t\t}\n\n\t\treturn linkSidebar?.title;\n\t};\n\n\tconst renderBreadcrumbPage = (index: number) => {\n\t\treturn <BreadcrumbPage>{getTitle(index)}</BreadcrumbPage>;\n\t};\n\n\tconst renderBreadcrumbLink = (page: string, index: number) => {\n\t\tconst linkSidebar = getLinkSidebar(index);\n\n\t\treturn linkSidebar?.subMenuType ? (\n\t\t\trenderBreadcrumbPage(index)\n\t\t) : (\n\t\t\t<BreadcrumbLink onClick={() => setRouter(getPath(index))} className='cursor-pointer'>\n\t\t\t\t{index === 0 ? getModule(page) : getTitle(index)}\n\t\t\t</BreadcrumbLink>\n\t\t);\n\t};\n\n\tconst renderBreadcrumbItens = () => {\n\t\tconst breadcrumbItems: JSX.Element[] = [];\n\n\t\tsplittedPath.forEach((page, index) => {\n\t\t\tbreadcrumbItems.push(\n\t\t\t\t<BreadcrumbItem key={`breadcrumb-item-${index}`}>\n\t\t\t\t\t{page === lastPage ? renderBreadcrumbPage(index) : renderBreadcrumbLink(page, index)}\n\t\t\t\t</BreadcrumbItem>,\n\t\t\t);\n\t\t\tif (page !== lastPage) {\n\t\t\t\tbreadcrumbItems.push(<BreadcrumbSeparator key={`breadcrumb-separator-${index}`} className='mt-[1px]' />);\n\t\t\t}\n\t\t});\n\n\t\treturn breadcrumbItems;\n\t};\n\n\tconst getColorLoadingBar = () => {\n\t\tconst colorShades = getTailwindColorShades();\n\t\tconst tailwindColor = portalDefinitions?.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor;\n\t\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\n\t\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\n\t\treturn colorPallete[900];\n\t};\n\n\treturn (\n\t\t<header className='flex flex-col justify-between items-center w-full'>\n\t\t\t<div className='flex justify-between items-center py-3 px-5 w-full'>\n\t\t\t\t<div className='flex items-center gap-x-2 h-[40px]'>\n\t\t\t\t\t<SidebarTrigger className='p-5' />\n\t\t\t\t\t<div className='p-2'>\n\t\t\t\t\t\t<Breadcrumb>\n\t\t\t\t\t\t\t<BreadcrumbList>{renderBreadcrumbItens()}</BreadcrumbList>\n\t\t\t\t\t\t</Breadcrumb>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className='flex items-center'>{combobox}</div>\n\t\t\t</div>\n\t\t\t{<LoadingBar ref={refProgressLoading} color={getColorLoadingBar()} height={7} />}\n\t\t</header>\n\t);\n};\n\nexport default Header;\n","import { Copy } from 'lucide-react';\nimport type React from 'react';\nimport { cn } from '../../../lib/utils';\nimport { Button } from '../button';\nimport { Skeleton } from '../skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip';\nimport { toast } from '../use-toast';\n\ninterface LabelWithTitleProps {\n\ttitle: string;\n\tvalue: string;\n\tvalue2?: string;\n\trequired?: boolean;\n\tshowCopyIcon?: boolean;\n\tclassName?: string;\n\tisLoading?: boolean;\n}\n\nconst LabelWithTitle: React.FC<LabelWithTitleProps> = ({ title, value, value2, required, showCopyIcon = false, className, isLoading }) => {\n\tconst handleCopy = () => {\n\t\tif (showCopyIcon && value) {\n\t\t\tnavigator.clipboard.writeText(`${value}${value2 ?? ''}`);\n\t\t\ttoast({\n\t\t\t\ttitle: `\"${value}${value2 ?? ''}\" foi copiado para a área de transferência.`,\n\t\t\t\tvariant: 'success',\n\t\t\t});\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className={cn('flex group', className)}>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'flex flex-col text-sm w-full',\n\t\t\t\t\tshowCopyIcon ? 'p-1 rounded-md transition-colors group-hover:bg-sidebar-accent' : 'p-1',\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className='relative'>\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-0.5'>\n\t\t\t\t\t\t<span className='text-default truncate'>{title}</span>\n\t\t\t\t\t\t{required && <div className='text-red-500 truncate'>*</div>}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\n\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value}</div>}\n\t\t\t\t\t</div>\n\t\t\t\t\t{value2 && (\n\t\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\n\t\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value2}</div>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'pr-1 absolute top-1/2 right-0 -translate-y-1/2 opacity-0 transition-opacity',\n\t\t\t\t\t\t\tshowCopyIcon && 'group-hover:opacity-100',\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t<TooltipTrigger asChild>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\t\tclassName={cn('p-1 h-8', !showCopyIcon && 'cursor-default')}\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopy}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Copy size={16} />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t<TooltipContent>Copiar</TooltipContent>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</TooltipProvider>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default LabelWithTitle;\n","import { BarChart2 } from 'lucide-react';\nimport { Button } from '../button';\n\nconst NotFound = () => {\n\treturn (\n\t\t<div className=\"flex flex-col items-center justify-center h-screen bg-[url('/imgs/404.png')] bg-cover bg-no-repeat bg-center\">\n\t\t\t<div className='flex flex-col items-center justify-center gap-8 w-[424px]'>\n\t\t\t\t<div className='flex flex-col items-center w-full'>\n\t\t\t\t\t<div className='text-5xl font-extrabold'>404</div>\n\t\t\t\t\t<div className='text-3xl font-semibold'>Página Indisponível</div>\n\t\t\t\t</div>\n\t\t\t\t<div className='flex text-center text-xl font-semibold text-zinc-500'>\n\t\t\t\t\tA página que você está tentando acessar se encontra indisponível no momento, tente novamente mais tarde\n\t\t\t\t</div>\n\t\t\t\t<div className='flex justify-center w-full'>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\twindow.location.href = '/';\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName='[&_svg]:size-5'\n\t\t\t\t\t>\n\t\t\t\t\t\t<BarChart2 />\n\t\t\t\t\t\tVoltar Para Inicial\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default NotFound;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { getThemeProps, useTheme } from '@material-ui/styles';\nexport default function useMediaQuery(queryInput) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var theme = useTheme();\n var props = getThemeProps({\n theme: theme,\n name: 'MuiUseMediaQuery',\n props: {}\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['Material-UI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n\n var query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, ''); // Wait for jsdom to support the match media feature.\n // All the browsers Material-UI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n\n var supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n\n var _props$options = _extends({}, props, options),\n _props$options$defaul = _props$options.defaultMatches,\n defaultMatches = _props$options$defaul === void 0 ? false : _props$options$defaul,\n _props$options$matchM = _props$options.matchMedia,\n matchMedia = _props$options$matchM === void 0 ? supportMatchMedia ? window.matchMedia : null : _props$options$matchM,\n _props$options$noSsr = _props$options.noSsr,\n noSsr = _props$options$noSsr === void 0 ? false : _props$options$noSsr,\n _props$options$ssrMat = _props$options.ssrMatchMedia,\n ssrMatchMedia = _props$options$ssrMat === void 0 ? null : _props$options$ssrMat;\n\n var _React$useState = React.useState(function () {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n } // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n\n\n return defaultMatches;\n }),\n match = _React$useState[0],\n setMatch = _React$useState[1];\n\n React.useEffect(function () {\n var active = true;\n\n if (!supportMatchMedia) {\n return undefined;\n }\n\n var queryList = matchMedia(query);\n\n var updateMatch = function updateMatch() {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui-org/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n\n updateMatch();\n queryList.addListener(updateMatch);\n return function () {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query: query,\n match: match\n });\n }\n\n return match;\n}","import { useMediaQuery } from '@material-ui/core';\n\nexport function useIsMobile() {\n\treturn !useMediaQuery('(min-width: 768px)');\n}\n","import { forwardRef, useEffect, useImperativeHandle, useState } from 'react';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { Button } from '../button';\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger } from '../dialog';\nimport { Drawer, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger } from '../drawer';\n\nexport type ResponsiveDialogAction = {\n\tlabel: string;\n\ticon?: JSX.Element;\n\tvariant: 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost';\n\tonClick?: () => void;\n\tclassName?: string;\n\tdisabled?: boolean;\n};\n\nexport type ResponsiveDialogRef = {\n\tclose: () => void;\n};\n\ninterface ResponsiveDialogProps {\n\ttrigger?: React.ReactNode;\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n\tactions?: ResponsiveDialogAction[];\n\tisOpenDialog?: boolean;\n\tsetIsOpenDialog?: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const ResponsiveDialog = forwardRef<ResponsiveDialogRef, ResponsiveDialogProps>(\n\t({ title, trigger, description, children, actions, isOpenDialog, setIsOpenDialog }, ref) => {\n\t\tconst [open, setOpen] = useState(false);\n\t\tconst isMobile = useIsMobile();\n\n\t\tuseEffect(() => {\n\t\t\tif (isOpenDialog !== undefined) {\n\t\t\t\tsetOpen(isOpenDialog);\n\t\t\t}\n\t\t}, [isOpenDialog]);\n\n\t\tuseEffect(() => {\n\t\t\tif (setIsOpenDialog !== undefined) {\n\t\t\t\tsetIsOpenDialog(open);\n\t\t\t}\n\t\t}, [open]);\n\n\t\tuseImperativeHandle(ref, () => ({\n\t\t\tclose: () => setOpen(false),\n\t\t}));\n\n\t\tconst renderTitle = () => <div className='text-2xl font-semibold'>{title}</div>;\n\n\t\tconst renderActions = () => {\n\t\t\treturn actions?.map((action, index) => (\n\t\t\t\t<Button\n\t\t\t\t\tkey={`action-responsive-dialog-${index}`}\n\t\t\t\t\tonClick={() => action.onClick?.()}\n\t\t\t\t\tvariant={action.variant}\n\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t>\n\t\t\t\t\t{action.icon && <div className='[&_svg]:size-5'>{action.icon}</div>}\n\t\t\t\t\t{action.label}\n\t\t\t\t</Button>\n\t\t\t));\n\t\t};\n\n\t\tif (isMobile) {\n\t\t\treturn (\n\t\t\t\t<Drawer open={open} onOpenChange={setOpen}>\n\t\t\t\t\t{trigger && (\n\t\t\t\t\t\t<DrawerTrigger className='cursor-pointer' asChild>\n\t\t\t\t\t\t\t{trigger}\n\t\t\t\t\t\t</DrawerTrigger>\n\t\t\t\t\t)}\n\t\t\t\t\t<DrawerContent className='px-5 py-7 rounded-t-3xl'>\n\t\t\t\t\t\t<DrawerHeader>\n\t\t\t\t\t\t\t<DrawerTitle>{renderTitle()}</DrawerTitle>\n\t\t\t\t\t\t\t{description ? <DrawerDescription>{description}</DrawerDescription> : <DrawerDescription />}\n\t\t\t\t\t\t</DrawerHeader>\n\n\t\t\t\t\t\t{children}\n\t\t\t\t\t\t<DrawerFooter className='grid gap-6 px-0 pt-8'>{renderActions()}</DrawerFooter>\n\t\t\t\t\t</DrawerContent>\n\t\t\t\t</Drawer>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Dialog open={open} onOpenChange={setOpen}>\n\t\t\t\t{trigger && (\n\t\t\t\t\t<DialogTrigger className='cursor-pointer h-min' asChild>\n\t\t\t\t\t\t{trigger}\n\t\t\t\t\t</DialogTrigger>\n\t\t\t\t)}\n\t\t\t\t<DialogContent className='px-5 py-7 rounded-3xl'>\n\t\t\t\t\t<DialogTitle>{renderTitle()}</DialogTitle>\n\t\t\t\t\t{description ? <DialogDescription>{description}</DialogDescription> : <DialogDescription />}\n\t\t\t\t\t{children}\n\t\t\t\t\t<DialogFooter className='gap-2'>{renderActions()}</DialogFooter>\n\t\t\t\t</DialogContent>\n\t\t\t</Dialog>\n\t\t);\n\t},\n);\n","import type * as React from 'react';\n\ninterface SidebarItemTwoLinesProps {\n\titem: {\n\t\ticonLeft: React.ReactNode;\n\t\ttitle: string;\n\t\tsubTitle: string;\n\t\ticonRight?: React.ReactNode | null;\n\t};\n}\n\nconst SidebarItemTwoLines = ({ item }: SidebarItemTwoLinesProps) => {\n\treturn (\n\t\t<>\n\t\t\t<div className='[&_svg]:size-4 text-white'>{item.iconLeft}</div>\n\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\n\t\t\t\t<span className='truncate font-semibold'>{item.title}</span>\n\t\t\t\t<span className='truncate text-xs text-foreground'>{item.subTitle}</span>\n\t\t\t</div>\n\t\t\t{item.iconRight}\n\t\t</>\n\t);\n};\n\nexport default SidebarItemTwoLines;\n","import { Check, ChevronsUpDown } from 'lucide-react';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\nimport type { Module } from './types/sidebar';\n\ninterface ModuleSwitcherProps {\n\tmodules: Module[];\n\tactiveModule: Module | undefined;\n\tonModuleChange: (module: Module) => void;\n}\n\nconst ModuleSwitcher = ({ modules, activeModule, onModuleChange }: ModuleSwitcherProps) => {\n\tconst { isMobile } = useSidebar();\n\n\treturn modules.length === 1 ? (\n\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\n\t\t\t<SidebarItemTwoLines\n\t\t\t\titem={{\n\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>,\n\t\t\t\t\ttitle: activeModule?.title ?? '',\n\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</SidebarMenuButton>\n\t) : (\n\t\t<SidebarMenu>\n\t\t\t<SidebarMenuItem>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\n\t\t\t\t\t\t\t<SidebarItemTwoLines\n\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\ticonLeft: (\n\t\t\t\t\t\t\t\t\t\t<div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: activeModule?.title ?? '',\n\t\t\t\t\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\n\t\t\t\t\t\t\t\t\ticonRight: <ChevronsUpDown size={16} />,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' align='start' side={isMobile ? 'bottom' : 'right'} sideOffset={4}>\n\t\t\t\t\t\t{modules.map((module) => (\n\t\t\t\t\t\t\t<DropdownMenuItem key={`module-switcher-${module.value}`} onClick={() => onModuleChange?.(module)} className='gap-2 p-2'>\n\t\t\t\t\t\t\t\t<SidebarItemTwoLines\n\t\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{module.icon}</div>,\n\t\t\t\t\t\t\t\t\t\ttitle: module.title,\n\t\t\t\t\t\t\t\t\t\tsubTitle: module.subTitle,\n\t\t\t\t\t\t\t\t\t\ticonRight: activeModule?.value === module.value ? <Check size={16} /> : null,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</SidebarMenuItem>\n\t\t</SidebarMenu>\n\t);\n};\n\nexport default ModuleSwitcher;\n","import { cn } from '../../../../lib/utils';\nimport { SidebarMenuButton } from '../../sidebar';\nimport type { Module, SidebarPage } from './types/sidebar';\n\ninterface SidebarItemProps {\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick?: (module: Module | null, path: string) => void;\n}\n\nconst SidebarButton = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\n\treturn (\n\t\t<SidebarMenuButton\n\t\t\tasChild\n\t\t\tclassName={cn(\n\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\n\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\n\t\t\t)}\n\t\t\ttooltip={item.title}\n\t\t\tonClick={() => onClick?.(item.module ?? null, item.path)}\n\t\t>\n\t\t\t<div>\n\t\t\t\t<div className='[&_svg]:size-4 text-sidebar-foreground'>{item.icon}</div>\n\t\t\t\t<span>{item.title}</span>\n\t\t\t</div>\n\t\t</SidebarMenuButton>\n\t);\n};\n\nexport default SidebarButton;\n","import { SidebarMenuItem } from '../../sidebar';\nimport SidebarButton from './sidebar-button';\nimport type { Module, SidebarPage } from './types/sidebar';\n\ninterface SidebarItemProps {\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick?: (module: Module | null, path: string) => void;\n}\n\nconst SidebarItem = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\n\treturn (\n\t\t<SidebarMenuItem>\n\t\t\t<SidebarButton item={item} selectedRoute={selectedRoute} onClick={onClick} />\n\t\t</SidebarMenuItem>\n\t);\n};\n\nexport default SidebarItem;\n","import { useLocation, useNavigate } from 'react-router-dom';\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\nimport SidebarItem from './sidebar-item';\nimport type { SidebarPage } from './types/sidebar';\n\ninterface NavFooterProps {\n\tpages: SidebarPage[];\n}\n\nconst NavFooter = ({ pages }: NavFooterProps) => {\n\tconst navigate = useNavigate();\n\tconst location = useLocation();\n\tconst selectedRoutePath = location.pathname;\n\n\treturn (\n\t\t<SidebarGroup className='p-0'>\n\t\t\t<SidebarGroupContent>\n\t\t\t\t<SidebarMenu>\n\t\t\t\t\t{pages.map((item) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SidebarItem\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</SidebarMenu>\n\t\t\t</SidebarGroupContent>\n\t\t</SidebarGroup>\n\t);\n};\n\nexport default NavFooter;\n","import { ChevronRight } from 'lucide-react';\nimport { cn } from '../../../../lib/utils';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../collapsible';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, useSidebar } from '../../sidebar';\nimport type { SidebarPage } from './types/sidebar';\n\ninterface NavSubmenuCollapsibleProps {\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick: (path: string) => void;\n}\n\nconst NavSubmenuCollapsible = ({ item, selectedRoute, onClick }: NavSubmenuCollapsibleProps) => {\n\tconst { open, toggleSidebar } = useSidebar();\n\n\tconst isOpen = (): boolean => {\n\t\treturn selectedRoute?.includes(item.path) ?? false;\n\t};\n\n\tconst handleToggleSidebar = () => {\n\t\tif (!open) toggleSidebar();\n\t};\n\n\treturn (\n\t\t<SidebarMenu>\n\t\t\t<Collapsible key={item.title} asChild defaultOpen={isOpen()}>\n\t\t\t\t<SidebarMenuItem>\n\t\t\t\t\t<CollapsibleTrigger asChild className='group/collapsible'>\n\t\t\t\t\t\t<SidebarMenuButton tooltip={item.title} className='px-2 py-5 gap-3' onClick={() => handleToggleSidebar()}>\n\t\t\t\t\t\t\t{item.icon}\n\t\t\t\t\t\t\t<span>{item.title}</span>\n\t\t\t\t\t\t\t<ChevronRight className='ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90' />\n\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t<CollapsibleContent>\n\t\t\t\t\t\t<SidebarMenuSub>\n\t\t\t\t\t\t\t{item.subMenuItems?.map((subItem) => (\n\t\t\t\t\t\t\t\t<SidebarMenuSubItem key={subItem.label}>\n\t\t\t\t\t\t\t\t\t<SidebarMenuSubButton asChild onClick={() => onClick(subItem.path)} aria-disabled={subItem.disabled}>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t'cursor-pointer px-2 py-1 items-center self-stretch',\n\t\t\t\t\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<span>{subItem.label}</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</SidebarMenuSubButton>\n\t\t\t\t\t\t\t\t</SidebarMenuSubItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SidebarMenuSub>\n\t\t\t\t\t</CollapsibleContent>\n\t\t\t\t</SidebarMenuItem>\n\t\t\t</Collapsible>\n\t\t</SidebarMenu>\n\t);\n};\n\nexport default NavSubmenuCollapsible;\n","import { ChevronRight } from 'lucide-react';\nimport { cn } from '../../../../lib/utils';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\nimport { SidebarMenuButton, SidebarMenuItem } from '../../sidebar';\nimport type { SidebarPage } from './types/sidebar';\n\ninterface NavSubmenuDropdownProps {\n\tcols?: number;\n\titem: SidebarPage;\n\tselectedRoute: string | null;\n\tonClick: (path: string) => void;\n}\n\nconst NavSubmenuDropdown = ({ cols, item, selectedRoute, onClick }: NavSubmenuDropdownProps) => {\n\treturn (\n\t\t<SidebarMenuItem>\n\t\t\t<DropdownMenu>\n\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t<SidebarMenuButton\n\t\t\t\t\t\tasChild\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\n\t\t\t\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\n\t\t\t\t\t\t)}\n\t\t\t\t\t\ttooltip={item.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{item.icon}\n\t\t\t\t\t\t\t<span>{item.title}</span>\n\t\t\t\t\t\t\t{<ChevronRight className='ml-auto' />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t<DropdownMenuContent className={`grid grid-cols-${cols ?? '1'} gap-4 p-4`} align='start' side='right' sideOffset={4}>\n\t\t\t\t\t{item.subMenuItems?.map((subItem, index) => (\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tkey={`${index}`}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'flex flex-col items-start text-left max-w-[220px] gap-1 cursor-pointer',\n\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => onClick(subItem.path)}\n\t\t\t\t\t\t\tdisabled={subItem.disabled}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className='text-sm font-semibold'>{subItem.label}</div>\n\t\t\t\t\t\t\t<div className='text-sm text-muted-foreground'>{subItem.description}</div>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</DropdownMenuContent>\n\t\t\t</DropdownMenu>\n\t\t</SidebarMenuItem>\n\t);\n};\n\nexport default NavSubmenuDropdown;\n","export const SidebarSubmenuType = {\n\tCOLLAPSIBLE: 'collapsible',\n\t// Deprecated: Use COLLAPSIBLE instead\n\tDROPDOWN: 'dropdown',\n} as const;\nexport type SidebarSubmenuType = (typeof SidebarSubmenuType)[keyof typeof SidebarSubmenuType];\n\nexport interface Module {\n\tvalue: string;\n\tpath: string;\n\ttitle: string;\n\ticon: React.ReactNode;\n\tsubTitle: string;\n}\n\nexport interface SidebarPage {\n\tmodule: Module;\n\tpath: string;\n\ticon?: React.ReactNode;\n\ttitle: string;\n\thideSidebar: boolean;\n\tdisplayOnlyresellerIsAdm?: boolean;\n\tsubMenuType?: SidebarSubmenuType;\n\tsubMenuItems?: {\n\t\tlabel: string;\n\t\tdescription?: string;\n\t\tpath: string;\n\t\tdisplayOnlyresellerIsAdm?: boolean;\n\t\tdisabled?: boolean;\n\t}[];\n}\n","import { useLocation, useNavigate } from 'react-router-dom';\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu, useSidebar } from '../../sidebar';\nimport NavSubmenuCollapsible from './nav-submenu-collapsible';\nimport NavSubmenuDropdown from './nav-submenu-dropdown';\nimport SidebarItem from './sidebar-item';\nimport { type SidebarPage, SidebarSubmenuType } from './types/sidebar';\n\ninterface NavMainProps {\n\tpages: SidebarPage[];\n}\n\nconst NavMain = ({ pages }: NavMainProps) => {\n\tconst navigate = useNavigate();\n\tconst location = useLocation();\n\tconst { isMobile } = useSidebar();\n\tconst selectedRoutePath = location.pathname;\n\n\treturn (\n\t\t<SidebarGroup>\n\t\t\t<SidebarGroupContent>\n\t\t\t\t<SidebarMenu>\n\t\t\t\t\t{pages.map((item) => {\n\t\t\t\t\t\tif (item.subMenuType) {\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.COLLAPSIBLE || isMobile) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<NavSubmenuCollapsible\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-collapsible-${item.path}`}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Deprecated: Use COLLAPSIBLE instead\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.DROPDOWN) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<NavSubmenuDropdown\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-dropdown-${item.path}`}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\n\t\t\t\t\t\t\t\t\t\tcols={3}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<SidebarItem\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\n\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</SidebarMenu>\n\t\t\t</SidebarGroupContent>\n\t\t</SidebarGroup>\n\t);\n};\n\nexport default NavMain;\n","import { LoaderCircle, LogOut } from 'lucide-react';\nimport { useState } from 'react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../avatar';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger } from '../../dropdown-menu';\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\n\ninterface NavUserProps {\n\tuserName: string;\n\tuserEmail: string;\n\tuserInitials: string;\n\tcallbackLogout: () => void;\n}\n\nconst NavUser = ({ userName, userEmail, userInitials, callbackLogout }: NavUserProps) => {\n\tconst [isLoggingOut, setIsLoggingOut] = useState(false);\n\tconst { isMobile } = useSidebar();\n\n\tconst handleLogout = () => {\n\t\tsetIsLoggingOut(true);\n\t\tsetTimeout(() => {\n\t\t\tcallbackLogout();\n\t\t}, 1000);\n\t};\n\n\treturn (\n\t\t<SidebarMenu>\n\t\t\t<SidebarMenuItem>\n\t\t\t\t<DropdownMenu>\n\t\t\t\t\t<DropdownMenuTrigger asChild>\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\n\t\t\t\t\t\t\t<SidebarItemTwoLines\n\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\ticonLeft: (\n\t\t\t\t\t\t\t\t\t\t<Avatar className='h-[31px] w-[31px] rounded-md'>\n\t\t\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\n\t\t\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-md bg-background-primary text-white'>{userInitials}</AvatarFallback>\n\t\t\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitle: isLoggingOut ? 'Saindo...' : userName,\n\t\t\t\t\t\t\t\t\tsubTitle: isLoggingOut ? '' : userEmail,\n\t\t\t\t\t\t\t\t\ticonRight: isLoggingOut ? (\n\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-sidebar-foreground animate-spin mr-2' />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<LogOut size={16} className='text-sidebar-foreground' />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</SidebarMenuButton>\n\t\t\t\t\t</DropdownMenuTrigger>\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' side={isMobile ? 'bottom' : 'right'} align='end' sideOffset={4}>\n\t\t\t\t\t\t<DropdownMenuLabel className='p-0 font-normal'>\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\n\t\t\t\t\t\t\t\t<Avatar className='h-8 w-8 rounded-lg'>\n\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\n\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-lg bg-background-primary text-white'>{userInitials}</AvatarFallback>\n\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\n\t\t\t\t\t\t\t\t\t<span className='truncate font-semibold'>{userName}</span>\n\t\t\t\t\t\t\t\t\t<span className='truncate text-xs'>{userEmail}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</DropdownMenuLabel>\n\t\t\t\t\t\t<DropdownMenuItem className='p-0 font-normal cursor-pointer' onClick={() => handleLogout()}>\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\n\t\t\t\t\t\t\t\t<div className='flex w-8 h-8 p-2 items-center rounded-md'>{<LogOut size={16} />}</div>\n\t\t\t\t\t\t\t\tLog out\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuContent>\n\t\t\t\t</DropdownMenu>\n\t\t\t</SidebarMenuItem>\n\t\t</SidebarMenu>\n\t);\n};\n\nexport default NavUser;\n","import { zodResolver } from '@hookform/resolvers/zod';\nimport { type FieldErrors, useForm } from 'react-hook-form';\nimport { z } from 'zod';\nimport { Button } from '../../button';\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../dialog';\nimport { Form } from '../../form';\nimport { toast } from '../../use-toast';\nimport { FormRadioGroup } from '../form/radio-group';\nimport type { ExportDataTable } from './types/data-table';\n\ninterface DataTableExportProps {\n\texportData?: ExportDataTable;\n\ttotalRows: number;\n}\n\nexport function DataTableExport({ exportData, totalRows }: DataTableExportProps) {\n\tconst ExportDataSchema = z.object({\n\t\tmodel: z.string(),\n\t\tformat: z.string(),\n\t});\n\n\tconst form = useForm<z.infer<typeof ExportDataSchema>>({\n\t\tmode: 'onTouched',\n\t\tresolver: zodResolver(ExportDataSchema),\n\t});\n\n\tconst { control, trigger, handleSubmit } = form;\n\n\tconst exportXlSX = () => {\n\t\tif (!exportData) return;\n\n\t\tif (totalRows === 0) {\n\t\t\ttoast({\n\t\t\t\ttitle: 'Não há dados para exportar.',\n\t\t\t\tvariant: 'destructive',\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\tconst params = new URLSearchParams(exportData.params).toString();\n\t\twindow.open(`${exportData.url}?${params}`, '_blank');\n\t};\n\n\tconst renderExport = () => {\n\t\tif (!exportData) return null;\n\n\t\tif (exportData.type === 'xlsx') {\n\t\t\treturn (\n\t\t\t\t<Button type='button' variant='secondary' onClick={exportXlSX}>\n\t\t\t\t\tExportar\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}\n\n\t\tif (exportData.type === 'dialog') {\n\t\t\tconst onSubmit = async (_values: z.infer<typeof ExportDataSchema>) => {\n\t\t\t\tawait trigger();\n\n\t\t\t\ttoast({\n\t\t\t\t\ttitle: 'Em desenvolvimento.',\n\t\t\t\t\tvariant: 'destructive',\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tconst onError = async (_errors: FieldErrors<z.infer<typeof ExportDataSchema>>) => {\n\t\t\t\ttoast({\n\t\t\t\t\ttitle: 'Erro ao salvar',\n\t\t\t\t\tdescription: 'Verifique os campos obrigatórios',\n\t\t\t\t\tvariant: 'destructive',\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<Form {...(form as any)} onSubmit={handleSubmit(onSubmit, onError)}>\n\t\t\t\t\t<Dialog>\n\t\t\t\t\t\t<DialogTrigger asChild>\n\t\t\t\t\t\t\t<Button type='button' variant='secondary'>\n\t\t\t\t\t\t\t\tExportar\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</DialogTrigger>\n\t\t\t\t\t\t<DialogContent hideClose className='fixed p-6 rounded-lg w-[451px]'>\n\t\t\t\t\t\t\t<DialogHeader>\n\t\t\t\t\t\t\t\t<DialogTitle>Exportar</DialogTitle>\n\t\t\t\t\t\t\t\t<DialogDescription />\n\t\t\t\t\t\t\t</DialogHeader>\n\t\t\t\t\t\t\t<div className='flex flex-col gap-6'>\n\t\t\t\t\t\t\t\t<FormRadioGroup\n\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\tname='model'\n\t\t\t\t\t\t\t\t\tlabel='Selecione o modelo de visualização'\n\t\t\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'Resumido' },\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'Detalhado' },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<FormRadioGroup\n\t\t\t\t\t\t\t\t\tcontrol={control}\n\t\t\t\t\t\t\t\t\tname='format'\n\t\t\t\t\t\t\t\t\tlabel='Selecione o formato desejado para exportação'\n\t\t\t\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'PDF' },\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'XLSX' },\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<DialogFooter className='sm:justify-end gap-2'>\n\t\t\t\t\t\t\t\t<Button type='button' variant='secondary'>\n\t\t\t\t\t\t\t\t\tFechar\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<Button type='button' variant='default' onClick={() => exportXlSX()}>\n\t\t\t\t\t\t\t\t\tExportar\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</DialogFooter>\n\t\t\t\t\t\t</DialogContent>\n\t\t\t\t\t</Dialog>\n\t\t\t\t</Form>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\treturn exportData && renderExport();\n}\n","import type { PaginationState } from '@tanstack/react-table';\nimport { Badge } from '../../badge';\nimport {\n\tPagination,\n\tPaginationContent,\n\tPaginationEllipsis,\n\tPaginationItem,\n\tPaginationLink,\n\tPaginationNext,\n\tPaginationPrevious,\n} from '../../pagination';\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\nimport { DataTableExport } from './data-table-export';\nimport type { ExportDataTable } from './types/data-table';\n\ninterface DataTableFooterProps<_TData> {\n\thidePagination?: boolean;\n\tdisablePagination?: boolean;\n\tisLoading?: boolean;\n\ttotalRows: number;\n\ttotalPages: number;\n\tcurrentPage: number;\n\tpagination: PaginationState;\n\thandlePageSize: (value: number) => void;\n\thandlePage: (value: number) => void;\n\tpreviousPage: {\n\t\taction: () => void;\n\t\tdisabled: boolean;\n\t};\n\tnextPage: {\n\t\taction: () => void;\n\t\tdisabled: boolean;\n\t};\n\texportData?: ExportDataTable;\n}\n\nexport function DataTableFooter<TData>({\n\tisLoading,\n\ttotalRows,\n\ttotalPages,\n\tcurrentPage,\n\thidePagination,\n\tdisablePagination,\n\tpagination,\n\thandlePageSize,\n\thandlePage,\n\tpreviousPage,\n\tnextPage,\n\texportData,\n}: DataTableFooterProps<TData>) {\n\tconst renderPaginationPages = () => {\n\t\tconst paginationItems: JSX.Element[] = [];\n\n\t\tconst createPaginationItem = (pageIndex: number) => (\n\t\t\t<PaginationItem key={pageIndex}>\n\t\t\t\t<PaginationLink onClick={() => handlePage(pageIndex)} isActive={currentPage === pageIndex}>\n\t\t\t\t\t{pageIndex + 1}\n\t\t\t\t</PaginationLink>\n\t\t\t</PaginationItem>\n\t\t);\n\n\t\t// Add first page\n\t\tpaginationItems.push(createPaginationItem(0));\n\n\t\t// Add ellipsis if needed\n\t\tif (currentPage > 2) {\n\t\t\tpaginationItems.push(<PaginationEllipsis key='start-ellipsis' />);\n\t\t}\n\n\t\t// Add pages before current page\n\t\tfor (let i = Math.max(1, currentPage - 1); i < currentPage; i++) {\n\t\t\tpaginationItems.push(createPaginationItem(i));\n\t\t}\n\n\t\t// Add current page\n\t\tif (currentPage !== 0 && currentPage !== totalPages - 1) {\n\t\t\tpaginationItems.push(createPaginationItem(currentPage));\n\t\t}\n\n\t\t// Add pages after current page\n\t\tfor (let i = currentPage + 1; i <= Math.min(totalPages - 2, currentPage + 1); i++) {\n\t\t\tpaginationItems.push(createPaginationItem(i));\n\t\t}\n\n\t\t// Add ellipsis if needed\n\t\tif (currentPage < totalPages - 3) {\n\t\t\tpaginationItems.push(<PaginationEllipsis key='end-ellipsis' />);\n\t\t}\n\n\t\t// Add last page\n\t\tif (totalPages > 1) {\n\t\t\tpaginationItems.push(createPaginationItem(totalPages - 1));\n\t\t}\n\n\t\treturn paginationItems;\n\t};\n\n\treturn (\n\t\t!hidePagination && (\n\t\t\t<footer className='flex items-center justify-between h-[64px]'>\n\t\t\t\t<div className='flex flex-row items-center gap-6'>\n\t\t\t\t\t<div className='flex flex-row items-center gap-2'>\n\t\t\t\t\t\tLinhas por página\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tvalue={pagination.pageSize.toString()}\n\t\t\t\t\t\t\tonValueChange={(value) => handlePageSize(Number(value))}\n\t\t\t\t\t\t\tdisabled={isLoading || disablePagination}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectTrigger className='w-20'>\n\t\t\t\t\t\t\t\t<SelectValue placeholder='' className='text-slate-800 font-medium' />\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t\t<SelectItem value='25'>25</SelectItem>\n\t\t\t\t\t\t\t\t\t<SelectItem value='50'>50</SelectItem>\n\t\t\t\t\t\t\t\t\t<SelectItem value='100'>100</SelectItem>\n\t\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<DataTableExport exportData={exportData} totalRows={totalPages} />\n\t\t\t\t</div>\n\n\t\t\t\t<div className='flex items-center gap-4'>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{!isLoading && (\n\t\t\t\t\t\t\t<Badge variant='secondary'>{totalRows === 0 ? 'Nenhum item' : totalRows === 1 ? '1 item' : `${totalRows} itens`}</Badge>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Pagination>\n\t\t\t\t\t\t\t<PaginationContent>\n\t\t\t\t\t\t\t\t<PaginationItem>\n\t\t\t\t\t\t\t\t\t<PaginationPrevious onClick={() => previousPage.action()} disabled={previousPage.disabled || disablePagination} />\n\t\t\t\t\t\t\t\t</PaginationItem>\n\t\t\t\t\t\t\t\t{renderPaginationPages()}\n\t\t\t\t\t\t\t\t<PaginationItem>\n\t\t\t\t\t\t\t\t\t<PaginationNext onClick={() => nextPage.action()} disabled={nextPage.disabled || disablePagination} />\n\t\t\t\t\t\t\t\t</PaginationItem>\n\t\t\t\t\t\t\t</PaginationContent>\n\t\t\t\t\t\t</Pagination>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t)\n\t);\n}\n","import { flexRender, type Table } from '@tanstack/react-table';\nimport { ArrowUpDown, MoveDown, MoveUp } from 'lucide-react';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Checkbox } from '../../checkbox';\nimport { TableHead, TableHeader, TableRow } from '../../table';\n\ninterface DataTableHeaderProps<TData> {\n\ttable: Table<TData>;\n\tcanActionsRow?: boolean;\n\tenableMultiRowSelection?: boolean;\n}\n\nexport function DataTableHeader<TData>({ table, canActionsRow, enableMultiRowSelection }: DataTableHeaderProps<TData>) {\n\tconst headerGroups = table.getHeaderGroups();\n\treturn (\n\t\t<TableHeader>\n\t\t\t{headerGroups.map((headerGroup) => (\n\t\t\t\t<TableRow key={headerGroup.id} className='bg-background dark:bg-datatable-accent rounded-t-md sticky top-0 z-10'>\n\t\t\t\t\t{enableMultiRowSelection && (\n\t\t\t\t\t\t<TableHead className='h-[65px] w-6'>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tchecked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\n\t\t\t\t\t\t\t\tonCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t)}\n\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t<TableHead\n\t\t\t\t\t\t\tkey={header.id}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'h-[65px] whitespace-nowrap',\n\t\t\t\t\t\t\t\theader.column.id === 'id' ? 'sticky left-0 z-20' : '',\n\t\t\t\t\t\t\t\theader.column.columnDef.enableSorting && 'px-2',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{header.column.columnDef.enableSorting ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\t\t\tonClick={() => header.column.toggleSorting(header.column.getIsSorted() === 'asc')}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{flexRender(header.column.columnDef.header, header.getContext())}\n\t\t\t\t\t\t\t\t\t{header.column.getIsSorted() === 'asc' ? (\n\t\t\t\t\t\t\t\t\t\t<MoveUp className='ml-2 h-4 w-4' />\n\t\t\t\t\t\t\t\t\t) : header.column.getIsSorted() === 'desc' ? (\n\t\t\t\t\t\t\t\t\t\t<MoveDown className='ml-2 h-4 w-4' />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<ArrowUpDown className='ml-2 h-4 w-4' />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tflexRender(header.column.columnDef.header, header.getContext())\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</TableHead>\n\t\t\t\t\t))}\n\t\t\t\t\t{canActionsRow && <TableHead />}\n\t\t\t\t</TableRow>\n\t\t\t))}\n\t\t</TableHeader>\n\t);\n}\n","import { type ColumnDef, flexRender, type Table } from '@tanstack/react-table';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Checkbox } from '../../checkbox';\nimport { Skeleton } from '../../skeleton';\nimport { TableCell, TableRow } from '../../table';\nimport type { ActionRow } from './types/data-table';\n\ninterface DataTableRowsProps<TData> {\n\ttable: Table<TData>;\n\tcolumns: ColumnDef<TData>[];\n\tisLoading?: boolean;\n\tactionsRow?: ActionRow[];\n\ttextNoRecords?: string;\n\tenableMultiRowSelection?: boolean;\n}\n\nexport function DataTableRows<TData>({ table, isLoading, columns, actionsRow, textNoRecords, enableMultiRowSelection }: DataTableRowsProps<TData>) {\n\tconst rows = table.getRowModel().rows;\n\n\tconst renderLoadingRows = () => {\n\t\tconst rows: JSX.Element[] = [];\n\n\t\tfor (let i = 0; i < 10; i++) {\n\t\t\trows.push(\n\t\t\t\t<TableRow key={`loading-row-${i}`}>\n\t\t\t\t\t{enableMultiRowSelection && (\n\t\t\t\t\t\t<TableCell className='py-2'>\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t)}\n\t\t\t\t\t{columns.map((column) => (\n\t\t\t\t\t\t<TableCell key={column.id} className='py-2'>\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\n\t\t\t\t\t\t</TableCell>\n\t\t\t\t\t))}\n\t\t\t\t</TableRow>,\n\t\t\t);\n\t\t}\n\n\t\treturn rows;\n\t};\n\n\tconst renderRows = () => {\n\t\treturn rows.map((row) => (\n\t\t\t<TableRow key={row.id} data-state={row.getIsSelected() && 'selected'} className='group'>\n\t\t\t\t{enableMultiRowSelection && (\n\t\t\t\t\t<TableCell className='py-4'>\n\t\t\t\t\t\t<Checkbox checked={row.getIsSelected()} onCheckedChange={(value) => row.toggleSelected(!!value)} aria-label='Select row' />\n\t\t\t\t\t</TableCell>\n\t\t\t\t)}\n\t\t\t\t{row.getVisibleCells().map((cell) => (\n\t\t\t\t\t<TableCell key={cell.id} className='py-4'>\n\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\n\t\t\t\t\t</TableCell>\n\t\t\t\t))}\n\t\t\t\t{actionsRow && (\n\t\t\t\t\t<TableCell\n\t\t\t\t\t\tclassName='opacity-0 group-hover:opacity-100 hover:opacity-100 relative overflow-visible w-[0px]'\n\t\t\t\t\t\tkey={`buttons-${row.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className='absolute transition-colors group-hover:bg-datatable-accent overflow-visible right-5 -translate-y-1/2 flex space-x-4'>\n\t\t\t\t\t\t\t{actionsRow.map((action, index) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tkey={`action-row-${index}`}\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\n\t\t\t\t\t\t\t\t\tclassName={cn('bg-datatable-accent', action.className?.(row.original) || '')}\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(row.original)}\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled?.(row.original) || false}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{action.icon}\n\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TableCell>\n\t\t\t\t)}\n\t\t\t</TableRow>\n\t\t));\n\t};\n\n\tconst renderEmptyRows = () => {\n\t\tconst colSpan = columns.length + (actionsRow ? 1 : 0);\n\t\treturn (\n\t\t\t<TableRow>\n\t\t\t\t<TableCell colSpan={colSpan} className='text-center h-[53px]'>\n\t\t\t\t\t{textNoRecords ? textNoRecords : 'Sem resultados.'}\n\t\t\t\t</TableCell>\n\t\t\t</TableRow>\n\t\t);\n\t};\n\n\treturn isLoading ? renderLoadingRows() : rows.length ? renderRows() : renderEmptyRows();\n}\n","import {\n\ttype ColumnDef,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetPaginationRowModel,\n\tgetSortedRowModel,\n\ttype PaginationState,\n\ttype SortingState,\n\tuseReactTable,\n} from '@tanstack/react-table';\nimport { Filter, Search } from 'lucide-react';\nimport { useEffect, useRef, useState } from 'react';\nimport { cn } from '../../../../lib/utils';\nimport { Button } from '../../button';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from '../../sheet';\nimport { Table, TableBody } from '../../table';\nimport { DataTableFooter } from './data-table-footer';\nimport { DataTableHeader } from './data-table-header';\nimport { DataTableRows } from './data-table-rows';\nimport type { ActionRow, ActionTable, ExportDataTable, FiltersActions } from './types/data-table';\n\nexport interface DataTableProps<TData> {\n\tcolumns: ColumnDef<TData>[];\n\tdata: TData[];\n\tactions?: ActionTable[];\n\tactionsRow?: ActionRow[];\n\tcustomFilters?: JSX.Element;\n\tclassName?: string;\n\ttitle?: string;\n\trowsPage?: number;\n\tsetSearch?: (value?: string) => void;\n\tsetSelectRows?: (ids: string[]) => void;\n\tpageChanged?: (pageNumber: number) => void;\n\tpageSizeChanged?: (pageSize: number) => void;\n\ttotalRows?: number;\n\tfiltersActions?: FiltersActions;\n\texportData?: ExportDataTable;\n\ttextNoRecords?: string;\n\theightRemainingScroll?: number;\n\thideFilterField?: boolean;\n\tmultiRowSelection?: {\n\t\tcallback: (selectedRows: any[]) => void;\n\t};\n\thidePagination?: boolean;\n\tdisablePagination?: boolean;\n\tisLoading?: boolean;\n\tfixedHeight?: number;\n}\n\nexport interface OriginalDataTableData {\n\tid: string;\n\tchecked?: boolean;\n}\n\nexport function DataTable<TData>({\n\tcolumns,\n\tdata,\n\tclassName,\n\ttitle,\n\trowsPage,\n\tactions,\n\tactionsRow,\n\tcustomFilters,\n\tsetSearch,\n\tpageChanged,\n\tpageSizeChanged,\n\ttotalRows,\n\tfiltersActions,\n\texportData,\n\ttextNoRecords,\n\theightRemainingScroll,\n\thideFilterField,\n\tmultiRowSelection,\n\thidePagination,\n\tdisablePagination,\n\tisLoading,\n\tfixedHeight,\n}: DataTableProps<TData>) {\n\tconst [sorting, setSorting] = useState<SortingState>([]);\n\tconst [pagination, setPagination] = useState<PaginationState>({\n\t\tpageIndex: 0,\n\t\tpageSize: rowsPage ?? 25,\n\t});\n\tconst enableMultiRowSelection = multiRowSelection !== undefined;\n\tconst [rowSelection, setRowSelection] = useState(\n\t\tenableMultiRowSelection\n\t\t\t? Object.fromEntries(\n\t\t\t\t\t(Array.isArray(data) ? data : []).map((row: any, idx: number) => {\n\t\t\t\t\t\treturn [idx, row.checked];\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t: {},\n\t);\n\tconst debounceTimeout = useRef<NodeJS.Timeout | null>(null);\n\tconst tableContainerRef = useRef<HTMLDivElement>(null);\n\tconst [tableHeight, setTableHeight] = useState('auto');\n\ttotalRows = totalRows ?? data.length;\n\n\tconst table = useReactTable({\n\t\tmanualPagination: true,\n\t\tdata: data,\n\t\tcolumns,\n\t\tgetPaginationRowModel: getPaginationRowModel(),\n\t\tonPaginationChange: setPagination,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tonSortingChange: setSorting,\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tonRowSelectionChange: (rowSelection) => {\n\t\t\tsetRowSelection(rowSelection);\n\t\t},\n\t\tenableMultiRowSelection: enableMultiRowSelection,\n\t\tstate: { pagination, rowSelection, sorting },\n\t\tpageCount: Math.ceil(totalRows / pagination.pageSize),\n\t});\n\n\tconst totalPages = table.getPageCount();\n\tconst currentPage = table.getState().pagination.pageIndex;\n\tconst selectedRows = table.getSelectedRowModel().rows;\n\tconst selectedIds = selectedRows.map((row) => (row.original as OriginalDataTableData).id);\n\n\tuseEffect(() => {\n\t\tif (data.length === 0 && pagination.pageIndex > 0) {\n\t\t\tsetPagination({ ...pagination, pageIndex: 0 });\n\t\t}\n\t}, [data]);\n\n\tuseEffect(() => {\n\t\thandleResize();\n\n\t\twindow.addEventListener('resize', handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (pageChanged) pageChanged(pagination.pageIndex + 1);\n\t}, [pagination]);\n\n\tuseEffect(() => {\n\t\tconst selectedRowsChecked = selectedRows.map((row) => row.original);\n\t\tif (multiRowSelection && selectedRowsChecked.length > 0) {\n\t\t\tmultiRowSelection.callback(selectedRowsChecked);\n\t\t}\n\t}, [rowSelection]);\n\n\tconst handleResize = () => {\n\t\tif (tableContainerRef.current) {\n\t\t\tconst newHeight = window.innerHeight - tableContainerRef.current.getBoundingClientRect().top - (hidePagination ? 30 : 74);\n\n\t\t\tsetTableHeight(`${newHeight - (heightRemainingScroll ?? 0)}px`);\n\t\t}\n\t};\n\n\tconst handleSearchChange = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tconst value = event.currentTarget.value;\n\n\t\tif (debounceTimeout.current) {\n\t\t\tclearTimeout(debounceTimeout.current);\n\t\t}\n\n\t\tdebounceTimeout.current = setTimeout(() => {\n\t\t\tsetSearch?.(value);\n\t\t\thandlePage(0);\n\t\t}, 300);\n\t};\n\n\tconst handlePageSize = (value: number) => {\n\t\tpageSizeChanged?.(value);\n\t\tsetPagination({ pageIndex: 0, pageSize: value });\n\t};\n\n\tconst handlePage = (index: number) => {\n\t\tif (index !== currentPage) {\n\t\t\tsetPagination({ ...pagination, pageIndex: index });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className='flex flex-col flex-1'>\n\t\t\t{(!hideFilterField || filtersActions || customFilters || actions) && (\n\t\t\t\t<div className='flex items-end justify-between mb-4 space-x-6'>\n\t\t\t\t\t<div className='flex items-center gap-x-4'>\n\t\t\t\t\t\t{!hideFilterField && (\n\t\t\t\t\t\t\t<div className='flex bg-background items-center border border-slate-300 rounded-sm w-[350px] overflow-hidden focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 group'>\n\t\t\t\t\t\t\t\t<div className='pl-3.5 transform transition-transform duration-300 group-hover:-translate-x-1'>\n\t\t\t\t\t\t\t\t\t<Search size={18} className='w-5 h-5 stroke-zinc-500 dark:stroke-default' />\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tplaceholder='Buscar'\n\t\t\t\t\t\t\t\t\tonKeyUp={(event) => {\n\t\t\t\t\t\t\t\t\t\thandleSearchChange(event);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName='w-full bg-background text-default border-none focus:ring-0 focus:outline-none px-3 py-2 transform transition-transform duration-300 group-hover:-translate-x-1 '\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{filtersActions && (\n\t\t\t\t\t\t\t<Sheet open={filtersActions.filterOpen} onOpenChange={filtersActions.setFilterOpen}>\n\t\t\t\t\t\t\t\t<SheetTrigger asChild>\n\t\t\t\t\t\t\t\t\t<Button variant='secondary' type='button'>\n\t\t\t\t\t\t\t\t\t\t<Filter size={20} className='h-4 w-4' /> Filtros\n\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<div className='bg-background-primary text-white rounded-full h-5 w-5 flex items-center justify-center text-sm placeholder:text-muted-foreground'>\n\t\t\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</SheetTrigger>\n\t\t\t\t\t\t\t\t<SheetContent>\n\t\t\t\t\t\t\t\t\t<SheetHeader>\n\t\t\t\t\t\t\t\t\t\t<SheetTitle>Filtros</SheetTitle>\n\t\t\t\t\t\t\t\t\t\t<SheetDescription />\n\t\t\t\t\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col py-6'>{filtersActions.fields}</div>\n\t\t\t\t\t\t\t\t</SheetContent>\n\t\t\t\t\t\t\t</Sheet>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{customFilters}\n\t\t\t\t\t<div className='flex space-x-4 content-end'>\n\t\t\t\t\t\t{actions?.map((action, index) => (\n\t\t\t\t\t\t\t<div key={`action-table-${index}`}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(selectedIds, selectedRows)}\n\t\t\t\t\t\t\t\t\tclassName={cn(action.className, action.hideUnselectedRows && selectedRows.length === 0 ? 'hidden' : '')}\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className='[&_svg]:size-5'>{action.icon}</div>\n\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div className={`flex-1 flex flex-col rounded-md border ${className}`}>\n\t\t\t\t<div className='flex items-center justify-between'>{title && <div className='text-h4 p-4'>{title}</div>}</div>\n\t\t\t\t<div\n\t\t\t\t\tid='data-table'\n\t\t\t\t\tref={tableContainerRef}\n\t\t\t\t\tstyle={fixedHeight ? { height: fixedHeight } : { height: tableHeight }}\n\t\t\t\t\tclassName='flex flex-col justify-between rounded-md overflow-x-auto overflow-y-auto'\n\t\t\t\t>\n\t\t\t\t\t<Table>\n\t\t\t\t\t\t<DataTableHeader\n\t\t\t\t\t\t\ttable={table}\n\t\t\t\t\t\t\tcanActionsRow={actionsRow && actionsRow.length > 0}\n\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TableBody className='bg-background'>\n\t\t\t\t\t\t\t<DataTableRows\n\t\t\t\t\t\t\t\ttable={table}\n\t\t\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\t\tactionsRow={actionsRow}\n\t\t\t\t\t\t\t\ttextNoRecords={textNoRecords}\n\t\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<DataTableFooter\n\t\t\t\thidePagination={hidePagination}\n\t\t\t\tdisablePagination={disablePagination}\n\t\t\t\tisLoading={isLoading}\n\t\t\t\ttotalRows={totalRows}\n\t\t\t\ttotalPages={totalPages}\n\t\t\t\tcurrentPage={currentPage}\n\t\t\t\tpagination={pagination}\n\t\t\t\thandlePageSize={handlePageSize}\n\t\t\t\thandlePage={handlePage}\n\t\t\t\tpreviousPage={{ action: () => table.previousPage(), disabled: !table.getCanPreviousPage() }}\n\t\t\t\tnextPage={{ action: () => table.nextPage(), disabled: !table.getCanNextPage() }}\n\t\t\t\texportData={exportData}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","export function isUUIDv4(str: string): boolean {\n\tconst uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\treturn uuidV4Regex.test(str);\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["twMerge","clsx","AccordionPrimitive","React","_jsx","_jsxs","ChevronDown","cva","Slot","AlertDialogPrimitive","AvatarPrimitive","ChevronRight","MoreHorizontal","getDefaultClassNames","DayPicker","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","ArrowLeft","ArrowRight","RechartsPrimitive","_Fragment","CheckboxPrimitive","Check","CollapsiblePrimitive","DialogPrimitive","X","CommandPrimitive","Search","ContextMenuPrimitive","Circle","PopoverPrimitive","addDays","CalendarIcon","format","DrawerPrimitive","DropdownMenuPrimitive","LabelPrimitive","FormProvider","Controller","useFormContext","HoverCardPrimitive","SelectPrimitive","ChevronUp","getYear","useState","setMonth","setYear","getMonth","CalendarComponent","classBorderColor","useEffect","ChevronLeft","ProgressPrimitive","RadioGroupPrimitive","ScrollAreaPrimitive","SeparatorPrimitive","SheetPrimitive","require$$0","_typeof","reactIs_production_min","reactIs_development","reactIsModule","require$$1","require$$2","require$$3","require$$4","propTypesModule","ForwardRef","Memo","setPrototypeOf","refRegExp","plugins","isInBrowser","separatorRegExp","cache","hyphenate","arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","functions","global","nested","vendorPrefixer","propsSort","objectWithoutPropertiesLoose","useTheme","create","hoistNonReactStatics","ThemeProvider","useMediaQuery_1","useMediaQuery","TooltipPrimitive","PanelLeft","SliderPrimitive","SwitchPrimitives","TabsPrimitive","ToastPrimitives","CircleX","Popover","PopoverTrigger","CalendarDays","PopoverContent","PopoverClose","CircleHelp","Paintbrush","HexColorPicker","ChevronsUpDown","LoaderCircle","masks","CheckIcon","EyeOff","Eye","Select","createContext","useContext","useNavigate","useRef","Copy","BarChart2","forwardRef","useImperativeHandle","useLocation","LogOut","z","useForm","zodResolver","flexRender","MoveUp","MoveDown","ArrowUpDown","useReactTable","getPaginationRowModel","getCoreRowModel","getSortedRowModel","getFilteredRowModel","Filter"],"mappings":"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","x_google_ignoreList":[26,27,28,29,30,31,32,33,34,35,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,166,185]}
|