@iclips/ui 1.0.1 → 1.0.3

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 CHANGED
@@ -688,14 +688,376 @@ declare const Toaster: ({ ...props }: ToasterProps) => react_jsx_runtime.JSX.Ele
688
688
 
689
689
  declare function Switch({ className, ...props }: React$1.ComponentProps<typeof SwitchPrimitive.Root>): react_jsx_runtime.JSX.Element;
690
690
 
691
- declare function Table({ className, ...props }: React$1.ComponentProps<"table">): react_jsx_runtime.JSX.Element;
692
- declare function TableHeader({ className, ...props }: React$1.ComponentProps<"thead">): react_jsx_runtime.JSX.Element;
693
- declare function TableBody({ className, ...props }: React$1.ComponentProps<"tbody">): react_jsx_runtime.JSX.Element;
694
- declare function TableFooter({ className, ...props }: React$1.ComponentProps<"tfoot">): react_jsx_runtime.JSX.Element;
695
- declare const TableRow: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "ref"> & React$1.RefAttributes<HTMLTableRowElement>>;
696
- declare function TableHead({ className, ...props }: React$1.ComponentProps<"th">): react_jsx_runtime.JSX.Element;
697
- declare function TableCell({ className, ...props }: React$1.ComponentProps<"td">): react_jsx_runtime.JSX.Element;
698
- declare function TableCaption({ className, ...props }: React$1.ComponentProps<"caption">): react_jsx_runtime.JSX.Element;
691
+ interface TableProps extends React$1.ComponentProps<"table"> {
692
+ }
693
+ interface TableHeaderProps extends React$1.ComponentProps<"thead"> {
694
+ }
695
+ interface TableBodyProps extends React$1.ComponentProps<"tbody"> {
696
+ }
697
+ interface TableFooterProps extends React$1.ComponentProps<"tfoot"> {
698
+ }
699
+ interface TableRowProps extends React$1.ComponentProps<"tr"> {
700
+ }
701
+ interface TableHeadProps extends React$1.ComponentProps<"th"> {
702
+ }
703
+ interface TableCellProps extends React$1.ComponentProps<"td"> {
704
+ }
705
+ interface TableCaptionProps extends React$1.ComponentProps<"caption"> {
706
+ }
707
+ declare const Table: React$1.ForwardRefExoticComponent<Omit<TableProps, "ref"> & React$1.RefAttributes<HTMLTableElement>>;
708
+ declare const TableHeader: React$1.ForwardRefExoticComponent<Omit<TableHeaderProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
709
+ declare const TableBody: React$1.ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
710
+ declare const TableFooter: React$1.ForwardRefExoticComponent<Omit<TableFooterProps, "ref"> & React$1.RefAttributes<HTMLTableSectionElement>>;
711
+ declare const TableRow: React$1.ForwardRefExoticComponent<Omit<TableRowProps, "ref"> & React$1.RefAttributes<HTMLTableRowElement>>;
712
+ declare const TableHead: React$1.ForwardRefExoticComponent<Omit<TableHeadProps, "ref"> & React$1.RefAttributes<HTMLTableCellElement>>;
713
+ declare const TableCell: React$1.ForwardRefExoticComponent<Omit<TableCellProps, "ref"> & React$1.RefAttributes<HTMLTableCellElement>>;
714
+ declare const TableCaption: React$1.ForwardRefExoticComponent<Omit<TableCaptionProps, "ref"> & React$1.RefAttributes<HTMLTableCaptionElement>>;
715
+
716
+ /**
717
+ * Labels for internationalization
718
+ */
719
+ interface TablePaginationLabels {
720
+ /** "Anterior" */
721
+ previous?: string;
722
+ /** "Próxima" */
723
+ next?: string;
724
+ /** "Primeira" */
725
+ first?: string;
726
+ /** "Última" */
727
+ last?: string;
728
+ /** "Mostrando" */
729
+ showing?: string;
730
+ /** "de" */
731
+ of?: string;
732
+ /** "resultados" */
733
+ results?: string;
734
+ /** "Itens por página" */
735
+ itemsPerPage?: string;
736
+ /** "Página" */
737
+ page?: string;
738
+ }
739
+ /**
740
+ * Props for the TablePagination component
741
+ *
742
+ * @example
743
+ * ```tsx
744
+ * // With useTablePagination hook
745
+ * const pagination = useTablePagination(data, { pageSize: 10 });
746
+ *
747
+ * <TablePagination
748
+ * currentPage={pagination.currentPage}
749
+ * totalPages={pagination.totalPages}
750
+ * pageSize={pagination.pageSize}
751
+ * totalItems={pagination.totalItems}
752
+ * onPageChange={pagination.goToPage}
753
+ * onPageSizeChange={pagination.setPageSize}
754
+ * />
755
+ * ```
756
+ */
757
+ interface TablePaginationProps {
758
+ /** Current page number (1-indexed) */
759
+ currentPage: number;
760
+ /** Total number of pages */
761
+ totalPages: number;
762
+ /** Current page size */
763
+ pageSize: number;
764
+ /** Total number of items */
765
+ totalItems: number;
766
+ /** Callback when page changes */
767
+ onPageChange: (page: number) => void;
768
+ /** Callback when page size changes */
769
+ onPageSizeChange?: (size: number) => void;
770
+ /** Available page size options */
771
+ pageSizeOptions?: number[];
772
+ /** Maximum number of visible page buttons */
773
+ maxVisiblePages?: number;
774
+ /** Show "Showing X of Y" info */
775
+ showInfo?: boolean;
776
+ /** Show page number buttons */
777
+ showPageNumbers?: boolean;
778
+ /** Show page size selector */
779
+ showPageSizeSelector?: boolean;
780
+ /** Show first/last page buttons */
781
+ showFirstLastButtons?: boolean;
782
+ /** Custom labels for i18n */
783
+ labels?: TablePaginationLabels;
784
+ /** Additional className */
785
+ className?: string;
786
+ }
787
+ /**
788
+ * Generate array of page numbers with ellipsis
789
+ */
790
+ declare function getPageNumbers(currentPage: number, totalPages: number, maxVisible?: number): (number | "ellipsis")[];
791
+ /**
792
+ * TablePagination Component
793
+ *
794
+ * A complete, ready-to-use pagination component for tables and data grids.
795
+ * Integrates seamlessly with the `useTablePagination` hook.
796
+ *
797
+ * @example
798
+ * ```tsx
799
+ * import { useTablePagination, TablePagination, Table, TableBody, ... } from "@iclips/ui";
800
+ *
801
+ * function MyTable({ data }) {
802
+ * const pagination = useTablePagination(data, { pageSize: 10 });
803
+ *
804
+ * return (
805
+ * <>
806
+ * <Table>
807
+ * <TableBody>
808
+ * {pagination.paginatedData.map(item => (
809
+ * <TableRow key={item.id}>...</TableRow>
810
+ * ))}
811
+ * </TableBody>
812
+ * </Table>
813
+ *
814
+ * <TablePagination
815
+ * currentPage={pagination.currentPage}
816
+ * totalPages={pagination.totalPages}
817
+ * pageSize={pagination.pageSize}
818
+ * totalItems={pagination.totalItems}
819
+ * onPageChange={pagination.goToPage}
820
+ * onPageSizeChange={pagination.setPageSize}
821
+ * />
822
+ * </>
823
+ * );
824
+ * }
825
+ * ```
826
+ *
827
+ * @example
828
+ * ```tsx
829
+ * // Minimal usage (without page size selector)
830
+ * <TablePagination
831
+ * currentPage={1}
832
+ * totalPages={10}
833
+ * pageSize={20}
834
+ * totalItems={200}
835
+ * onPageChange={(page) => setCurrentPage(page)}
836
+ * showPageSizeSelector={false}
837
+ * />
838
+ * ```
839
+ */
840
+ declare function TablePagination({ currentPage, totalPages, pageSize, totalItems, onPageChange, onPageSizeChange, pageSizeOptions, maxVisiblePages, showInfo, showPageNumbers, showPageSizeSelector, showFirstLastButtons, labels: customLabels, className, }: TablePaginationProps): react_jsx_runtime.JSX.Element | null;
841
+ declare namespace TablePagination {
842
+ var displayName: string;
843
+ }
844
+
845
+ /**
846
+ * Utility types for DataTable implementations
847
+ *
848
+ * These types provide standard interfaces for common DataTable patterns
849
+ * like sorting, pagination, column definitions, and selection.
850
+ */
851
+ /**
852
+ * Direction of sorting
853
+ */
854
+ type SortDirection = "asc" | "desc" | null;
855
+ /**
856
+ * Sort configuration for a table
857
+ *
858
+ * @example
859
+ * ```tsx
860
+ * const [sortConfig, setSortConfig] = useState<SortConfig<User>>({
861
+ * column: "name",
862
+ * direction: "asc"
863
+ * });
864
+ * ```
865
+ */
866
+ interface SortConfig<T extends Record<string, any>> {
867
+ column: keyof T | null;
868
+ direction: SortDirection;
869
+ }
870
+ /**
871
+ * Column definition for a DataTable
872
+ *
873
+ * @example
874
+ * ```tsx
875
+ * const columns: ColumnDef<User>[] = [
876
+ * {
877
+ * key: "name",
878
+ * header: "Name",
879
+ * sortable: true,
880
+ * width: "200px"
881
+ * },
882
+ * {
883
+ * key: "email",
884
+ * header: "Email",
885
+ * render: (value, row) => <a href={`mailto:${value}`}>{value}</a>
886
+ * }
887
+ * ];
888
+ * ```
889
+ */
890
+ interface ColumnDef<T extends Record<string, any>> {
891
+ /** Key of the data property to display */
892
+ key: keyof T;
893
+ /** Header label or React node */
894
+ header: string | React.ReactNode;
895
+ /** Whether this column is sortable */
896
+ sortable?: boolean;
897
+ /** Column width (CSS value) */
898
+ width?: string | number;
899
+ /** Text alignment */
900
+ align?: "left" | "center" | "right";
901
+ /** Custom render function for the cell content */
902
+ render?: (value: T[keyof T], row: T, index: number) => React.ReactNode;
903
+ /** Additional className for the cell */
904
+ className?: string;
905
+ /** Additional className for the header */
906
+ headerClassName?: string;
907
+ }
908
+ /**
909
+ * Pagination configuration
910
+ *
911
+ * @example
912
+ * ```tsx
913
+ * const [pagination, setPagination] = useState<PaginationConfig>({
914
+ * currentPage: 1,
915
+ * pageSize: 10,
916
+ * totalItems: 100
917
+ * });
918
+ * ```
919
+ */
920
+ interface PaginationConfig {
921
+ /** Current page number (1-indexed) */
922
+ currentPage: number;
923
+ /** Number of items per page */
924
+ pageSize: number;
925
+ /** Total number of items */
926
+ totalItems: number;
927
+ /** Callback when page changes */
928
+ onPageChange?: (page: number) => void;
929
+ /** Callback when page size changes */
930
+ onPageSizeChange?: (size: number) => void;
931
+ }
932
+ /**
933
+ * Helper to calculate pagination metadata
934
+ */
935
+ interface PaginationMetadata {
936
+ totalPages: number;
937
+ startIndex: number;
938
+ endIndex: number;
939
+ hasNextPage: boolean;
940
+ hasPreviousPage: boolean;
941
+ }
942
+ /**
943
+ * Selection state for table rows
944
+ *
945
+ * @example
946
+ * ```tsx
947
+ * const [selection, setSelection] = useState<SelectionState>({
948
+ * selectedIds: new Set(["1", "2"]),
949
+ * isAllSelected: false
950
+ * });
951
+ * ```
952
+ */
953
+ interface SelectionState {
954
+ /** Set of selected row IDs */
955
+ selectedIds: Set<string | number>;
956
+ /** Whether all rows are selected */
957
+ isAllSelected: boolean;
958
+ }
959
+ /**
960
+ * Complete table state with all common features
961
+ *
962
+ * @example
963
+ * ```tsx
964
+ * const [tableState, setTableState] = useState<TableState<User>>({
965
+ * data: users,
966
+ * sort: { column: "name", direction: "asc" },
967
+ * pagination: { currentPage: 1, pageSize: 10, totalItems: 100 },
968
+ * selection: { selectedIds: new Set(), isAllSelected: false }
969
+ * });
970
+ * ```
971
+ */
972
+ interface TableState<T extends Record<string, any>> {
973
+ /** Table data */
974
+ data: T[];
975
+ /** Sort configuration */
976
+ sort?: SortConfig<T>;
977
+ /** Pagination configuration */
978
+ pagination?: PaginationConfig;
979
+ /** Selection state */
980
+ selection?: SelectionState;
981
+ /** Loading state */
982
+ isLoading?: boolean;
983
+ /** Error state */
984
+ error?: string | null;
985
+ }
986
+ /**
987
+ * Filter operator types
988
+ */
989
+ type FilterOperator = "equals" | "contains" | "startsWith" | "endsWith" | "greaterThan" | "lessThan" | "between" | "in";
990
+ /**
991
+ * Filter configuration for a column
992
+ *
993
+ * @example
994
+ * ```tsx
995
+ * const filters: FilterConfig<User>[] = [
996
+ * {
997
+ * column: "status",
998
+ * operator: "in",
999
+ * value: ["active", "pending"]
1000
+ * },
1001
+ * {
1002
+ * column: "age",
1003
+ * operator: "greaterThan",
1004
+ * value: 18
1005
+ * }
1006
+ * ];
1007
+ * ```
1008
+ */
1009
+ interface FilterConfig<T extends Record<string, any>> {
1010
+ column: keyof T;
1011
+ operator: FilterOperator;
1012
+ value: any;
1013
+ }
1014
+ /**
1015
+ * Configuration for draggable rows
1016
+ */
1017
+ interface DragDropConfig {
1018
+ /** Whether drag and drop is enabled */
1019
+ enabled: boolean;
1020
+ /** Callback when a row is dropped */
1021
+ onDrop?: (dragIndex: number, dropIndex: number) => void;
1022
+ /** Custom drag handle component */
1023
+ dragHandle?: React.ReactNode;
1024
+ }
1025
+ /**
1026
+ * Configuration for expandable rows
1027
+ *
1028
+ * @example
1029
+ * ```tsx
1030
+ * const expandConfig: RowExpansionConfig<User> = {
1031
+ * enabled: true,
1032
+ * expandedRows: new Set(["1", "3"]),
1033
+ * renderExpandedContent: (row) => (
1034
+ * <div>Details for {row.name}</div>
1035
+ * )
1036
+ * };
1037
+ * ```
1038
+ */
1039
+ interface RowExpansionConfig<T extends Record<string, any>> {
1040
+ /** Whether row expansion is enabled */
1041
+ enabled: boolean;
1042
+ /** Set of expanded row IDs */
1043
+ expandedRows?: Set<string | number>;
1044
+ /** Callback when row expansion changes */
1045
+ onExpansionChange?: (rowId: string | number, isExpanded: boolean) => void;
1046
+ /** Custom content to render when row is expanded */
1047
+ renderExpandedContent?: (row: T, index: number) => React.ReactNode;
1048
+ }
1049
+ /**
1050
+ * Sort function type
1051
+ */
1052
+ type SortFunction<T extends Record<string, any>> = (a: T, b: T, config: SortConfig<T>) => number;
1053
+ /**
1054
+ * Filter function type
1055
+ */
1056
+ type FilterFunction<T extends Record<string, any>> = (row: T, filters: FilterConfig<T>[]) => boolean;
1057
+ /**
1058
+ * Helper function to calculate pagination metadata
1059
+ */
1060
+ declare function calculatePaginationMetadata(config: PaginationConfig): PaginationMetadata;
699
1061
 
700
1062
  declare function Tabs({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
701
1063
  declare function TabsList({ className, ...props }: React$1.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime.JSX.Element;
@@ -1038,4 +1400,4 @@ interface PrintInfoGridProps {
1038
1400
  }
1039
1401
  declare function PrintInfoGrid({ items, columns, className, }: PrintInfoGridProps): react_jsx_runtime.JSX.Element;
1040
1402
 
1041
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppLayout, type AppLayoutProps, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContractPrint, ContractPrintPreview, type ContractPrintProps, ContractTemplate, type DadosContrato, DateRangePicker, type DateRangePickerProps, DateTimePicker, type DateTimePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyCalendarIllustration, EmptyInboxIllustration, EmptyProjectsIllustration, EmptySearchIllustration, ErrorStateIllustration, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, type IllustrationProps, Illustrations, ImageWithFallback, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, KanbanCard, type KanbanCardAssignee, type KanbanCardProps, type KanbanCardTag, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, type PrimaryNavItem, PrintFooter, PrintHeader, PrintInfoGrid, PrintSection, PrintSignature, PrintTable, Progress, type ProposalData, ProposalTemplate, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, type SecondaryNavItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Toaster as Sonner, SuccessStateIllustration, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TimePicker, type TimePickerProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UnderlineTabs, UnderlineTabsContent, UnderlineTabsList, UnderlineTabsTrigger, type UsePrintContractOptions, badgeVariants, buttonVariants, cn, dadosContratoExemplo, navigationMenuTriggerStyle, toggleVariants, useFormField, useIsMobile, usePrintContract, useSidebar };
1403
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppLayout, type AppLayoutProps, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, type ColumnDef, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContractPrint, ContractPrintPreview, type ContractPrintProps, ContractTemplate, type DadosContrato, DateRangePicker, type DateRangePickerProps, DateTimePicker, type DateTimePickerProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, type DragDropConfig, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyCalendarIllustration, EmptyInboxIllustration, EmptyProjectsIllustration, EmptySearchIllustration, ErrorStateIllustration, type FilterConfig, type FilterFunction, type FilterOperator, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, type IllustrationProps, Illustrations, ImageWithFallback, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, KanbanCard, type KanbanCardAssignee, type KanbanCardProps, type KanbanCardTag, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, Pagination, type PaginationConfig, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationMetadata, PaginationNext, PaginationPrevious, Popover, PopoverContent, PopoverTrigger, type PrimaryNavItem, PrintFooter, PrintHeader, PrintInfoGrid, PrintSection, PrintSignature, PrintTable, Progress, type ProposalData, ProposalTemplate, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, type RowExpansionConfig, ScrollArea, ScrollBar, type SecondaryNavItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, type SelectionState, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Toaster as Sonner, type SortConfig, type SortDirection, type SortFunction, SuccessStateIllustration, Switch, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TablePagination, type TablePaginationLabels, type TablePaginationProps, type TableProps, TableRow, type TableRowProps, type TableState, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, TimePicker, type TimePickerProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UnderlineTabs, UnderlineTabsContent, UnderlineTabsList, UnderlineTabsTrigger, type UsePrintContractOptions, badgeVariants, buttonVariants, calculatePaginationMetadata, cn, dadosContratoExemplo, getPageNumbers, navigationMenuTriggerStyle, toggleVariants, useFormField, useIsMobile, usePrintContract, useSidebar };