@bizapps/ui 1.7.0 → 1.10.0

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/main.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { HTMLAttributes, ReactNode, ComponentProps, ButtonHTMLAttributes, MouseEventHandler, SVGAttributes } from 'react';
2
+ import { HTMLAttributes, ReactNode, ComponentProps, ButtonHTMLAttributes, MouseEventHandler, SVGAttributes, Ref } from 'react';
3
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import { Avatar as Avatar$1, Label as Label$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1, Select as Select$1, Separator as Separator$1, Progress as Progress$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Tooltip as Tooltip$1, Popover as Popover$1, Dialog as Dialog$1, AlertDialog as AlertDialog$1, Accordion as Accordion$1, DropdownMenu as DropdownMenu$1, RadioGroup as RadioGroup$1, NavigationMenu as NavigationMenu$1, Checkbox as Checkbox$1 } from 'radix-ui';
@@ -1279,6 +1279,12 @@ type AnimationTokens = typeof animation;
1279
1279
 
1280
1280
  declare function useAppForm<T extends ZodType>(schema: T, options?: Omit<UseFormProps<z.infer<T> & FieldValues>, 'resolver'>): react_hook_form.UseFormReturn<z.core.output<T> & FieldValues, any, z.core.output<T> & FieldValues>;
1281
1281
 
1282
+ /**
1283
+ * Brand logo assets served from the CDN.
1284
+ *
1285
+ * Keys are flat and prefixed by brand: unprefixed keys belong to Total Civil,
1286
+ * `millwork*` keys belong to Total Millwork.
1287
+ */
1282
1288
  declare const logos: {
1283
1289
  readonly color: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Color.webp";
1284
1290
  readonly colorAna: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_Color-ANA.webp";
@@ -1288,6 +1294,9 @@ declare const logos: {
1288
1294
  readonly grayScale: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_gray_scale.webp";
1289
1295
  readonly monochBlack: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_monochB.webp";
1290
1296
  readonly monochOrange: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Total_monochO.webp";
1297
+ readonly isotype: "https://dibt9vplwriap.cloudfront.net/logos/Isotipo_Total_Color.webp";
1298
+ readonly millworkColor: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Millwork_Color.webp";
1299
+ readonly millworkNegative: "https://dibt9vplwriap.cloudfront.net/logos/Logo_Millwork_Negative.webp";
1291
1300
  };
1292
1301
  type LogoKey = keyof typeof logos;
1293
1302
 
@@ -1355,11 +1364,23 @@ type SortDirection = 'asc' | 'desc' | false;
1355
1364
  type CellAlignment = 'left' | 'center' | 'right';
1356
1365
  interface ColumnMeta {
1357
1366
  align?: CellAlignment;
1367
+ /**
1368
+ * Per-column density override. This is NOT a width — use `width`, or the column
1369
+ * definition's top-level `size`, for that.
1370
+ */
1358
1371
  size?: TableCellSize;
1359
1372
  sortable?: boolean;
1360
1373
  filterable?: boolean;
1361
1374
  ellipsis?: boolean;
1362
1375
  variant?: 'default' | 'numeric';
1376
+ /**
1377
+ * Fixed column width, applied as both `width` and `min-width`. A number is treated as
1378
+ * pixels, a string as any CSS length (`'8rem'`, `'20%'`, `'100px'`).
1379
+ *
1380
+ * Authoritative only while `enableColumnResizing` is off. With resizing enabled the
1381
+ * rendered width comes from the column definition's top-level `size` / `minSize` /
1382
+ * `maxSize` and this value acts as a `min-width` floor only.
1383
+ */
1363
1384
  width?: string | number;
1364
1385
  className?: string;
1365
1386
  pinned?: 'left' | 'right' | false;
@@ -1491,6 +1512,31 @@ declare const TablePagination: react.MemoExoticComponent<typeof TablePaginationB
1491
1512
 
1492
1513
  declare function useTableContext<T = unknown>(): TableContextType<T>;
1493
1514
 
1515
+ /**
1516
+ * TanStack Table v8 data table with sorting, filtering, global search, pagination, row
1517
+ * selection, column visibility, resizing, density control, sticky headers, column pinning
1518
+ * and an automatic mobile card layout.
1519
+ *
1520
+ * Per-column presentation belongs in `meta` (`ColumnMeta`) on each column definition rather
1521
+ * than in per-cell `className` strings: `align`, `size` (density override), `sortable`,
1522
+ * `filterable`, `ellipsis`, `variant`, `width`, `className`, `pinned`, `cardLabel`,
1523
+ * `hideInCard` and `resizable`.
1524
+ *
1525
+ * Column width has two authorities. With `enableColumnResizing` off (the default),
1526
+ * `meta.width` drives both `width` and `min-width` on the header and body cells; a number is
1527
+ * pixels and a string is any CSS length (`'8rem'`, `'20%'`, `'100px'`). With
1528
+ * `enableColumnResizing` on, the rendered width instead comes from TanStack's own top-level
1529
+ * `size` / `minSize` / `maxSize` on the column definition (`size` defaults to 150px) and
1530
+ * `meta.width` degrades to a `min-width` floor. Note that `meta.size` is cell density, not a
1531
+ * width — the pixel width is the top-level `size`.
1532
+ *
1533
+ * The table element is `w-full` under the browser's default `table-layout: auto`, so `width`
1534
+ * is only a hint and `min-width` is what actually holds. Pass
1535
+ * `classNames={{ table: 'table-fixed' }}` when exact widths must be honoured.
1536
+ *
1537
+ * Set `tableId` to persist column visibility, sizing and density to `localStorage` under
1538
+ * `tcce-table:{tableId}:*`.
1539
+ */
1494
1540
  declare function DataTable<T>({ data, columns, size, variant, isLoading, stickyHeader, maxHeight, sorting, defaultSorting, onSortingChange, enableSorting, manualSorting, columnFilters, defaultColumnFilters, onColumnFiltersChange, enableFiltering, manualFiltering, onRowClick, classNames, getUniqueValues, emptyState, rowSelection, defaultRowSelection, onRowSelectionChange, enableRowSelection, onSelectedRowsChange, responsiveBreakpoint, disableResponsive, skeletonRowCount, onTableReady, tableId, globalFilter, defaultGlobalFilter, onGlobalFilterChange, columnVisibility, defaultColumnVisibility, onColumnVisibilityChange, columnSizing, defaultColumnSizing, onColumnSizingChange, enableColumnResizing, onSizeChange, toolbar, }: DataTableProps<T>): react.JSX.Element;
1495
1541
 
1496
1542
  interface FilterOptionProps {
@@ -2290,6 +2336,51 @@ declare function DrawerFooter({ className, ...props }: ComponentProps<'div'>): r
2290
2336
  declare function DrawerTitle({ className, ...props }: ComponentProps<typeof Dialog$1.Title>): react.JSX.Element;
2291
2337
  declare function DrawerDescription({ className, ...props }: ComponentProps<typeof Dialog$1.Description>): react.JSX.Element;
2292
2338
 
2339
+ interface SignaturePadHandle {
2340
+ /** Wipes the drawing and reports `onEmptyChange(true)` if something was drawn. */
2341
+ clear: () => void;
2342
+ isEmpty: () => boolean;
2343
+ /** The drawing as a PNG with a transparent background. Rejects if not mounted or the browser cannot encode it. */
2344
+ toBlob: () => Promise<Blob>;
2345
+ }
2346
+ interface SignaturePadProps {
2347
+ /** Accessible name of the drawing area. */
2348
+ 'aria-label': string;
2349
+ /** Id of the element holding the instructions. */
2350
+ 'aria-describedby'?: string;
2351
+ /** Called when the pad goes from empty to drawn (`false`) or back (`true`), never twice in a row. */
2352
+ onEmptyChange?: (empty: boolean) => void;
2353
+ /** Ignores pointer input while true. */
2354
+ disabled?: boolean;
2355
+ /** Height in px; the pad always fills the width of its container. */
2356
+ height?: number;
2357
+ /** Pen color. The exported PNG keeps this color on a transparent background. */
2358
+ penColor?: string;
2359
+ /** Minimum stroke width in px, reached at high pointer speed. */
2360
+ minWidth?: number;
2361
+ /** Maximum stroke width in px, reached at low pointer speed. */
2362
+ maxWidth?: number;
2363
+ /** Ignores pointer moves closer than this many px to the last point. Lower is smoother. */
2364
+ minDistance?: number;
2365
+ /** Minimum ms between processed pointer moves; `0` processes every event. */
2366
+ throttle?: number;
2367
+ /** 0–1 weight of the previous velocity when computing width. Higher evens out width changes. */
2368
+ velocityFilterWeight?: number;
2369
+ /** Accessible name of the built-in clear button. Pass a translated string from the app. */
2370
+ clearLabel: string;
2371
+ className?: string;
2372
+ /** Imperative handle with `clear`, `isEmpty` and `toBlob`. */
2373
+ ref?: Ref<SignaturePadHandle>;
2374
+ }
2375
+ /**
2376
+ * Freehand signature area for touch, pen and mouse. The drawing buffer follows the container size
2377
+ * and the device pixel ratio. Strokes live in a reference coordinate space; a resize scales them
2378
+ * uniformly to fit (never above 1), so a narrower pad, such as a rotated phone, never crops the
2379
+ * signature or its PNG, and growing back restores it. A stroke added while scaled down that falls
2380
+ * outside the reference area grows it, so everything still fits, at a smaller size.
2381
+ */
2382
+ declare function SignaturePad({ 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, onEmptyChange, disabled, height, penColor, minWidth, maxWidth, minDistance, throttle, velocityFilterWeight, clearLabel, className, ref, }: SignaturePadProps): react.JSX.Element;
2383
+
2293
2384
  interface TCCEProviderProps {
2294
2385
  children: ReactNode;
2295
2386
  permissions?: string[];
@@ -2298,4 +2389,4 @@ interface TCCEProviderProps {
2298
2389
  }
2299
2390
  declare function TCCEProvider({ children, permissions, toasterPosition, tooltipDelayDuration, }: TCCEProviderProps): react.JSX.Element;
2300
2391
 
2301
- export { type AbilityContextValue, AbilityProvider, type AbilityProviderProps, type AbilityStatus, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AnimationTokens, AppShell, type AppShellItem, type AppShellProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BottomNav, type BottomNavItem, BottomNavTabs, BottomNavTabsContent, type BottomNavTabsItem, BottomNavTabsList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button$1 as Button, CONFETTI_COLORS, type CalendarEvent, type CalendarView, Can, CanNot, type CanNotProps, type CanProps, type CanState, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CellAlignment, Checkbox, ColorPicker, ColorPickerAlpha, type ColorPickerAlphaProps, ColorPickerEyeDropper, type ColorPickerEyeDropperProps, ColorPickerFormat, type ColorPickerFormatProps, ColorPickerHue, type ColorPickerHueProps, ColorPickerOutput, type ColorPickerOutputProps, ColorPickerPresets, type ColorPickerPresetsProps, type ColorPickerProps, ColorPickerSelection, type ColorPickerSelectionProps, type ColumnMeta, Combobox, type ComboboxMatchMode, type ComboboxOption, type ComboboxProps, DataTable, DataTableCardView, type DataTableCardViewProps, DataTableColumnFilter, type DataTableColumnFilterProps, DataTableFooter, type DataTableFooterProps, DataTableHeaderCell, type DataTableHeaderCellProps, type DataTableProps, DataTableRowActions, type DataTableRowActionsProps, DataTableSearch, type DataTableSearchProps, DataTableSkeleton, type DataTableSkeletonProps, DataTableToolbar, type DataTableToolbarProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, type DrawerSide, type DrawerSize, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, type DropzoneContentProps, DropzoneEmptyState, type DropzoneEmptyStateProps, type DropzoneProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventCalendar, type EventCalendarProps, type EventCreateRange, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FilterOption, type FilterOptionProps, type FireConfettiOptions, Input, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, Link, Logo, type LogoKey, MiniCalendar, MiniCalendarDay, type MiniCalendarDayProps, MiniCalendarDays, type MiniCalendarDaysProps, MiniCalendarNavigation, type MiniCalendarNavigationProps, type MiniCalendarProps, Navbar, type NavbarDropdownItem, type NavbarNavLink, type NavbarNotification, type NavbarProps, type NavbarUtilityLink, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Permission, PhoneField, type PhoneFieldCountry, type PhoneFieldProps, PhoneFieldValidity, PinInput, type PinInputProps, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, type ProgressProps, RadioGroup, RadioGroupItem, type RowAction, SegmentedControl, SegmentedControlItem, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger$1 as SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, type SortDirection, type SortRecord, Spinner, SpinnerDots, type SpinnerDotsProps, SpinnerLoader, type SpinnerLoaderProps, type SpinnerProps, Status, StatusIndicator, type StatusIndicatorProps, StatusLabel, type StatusLabelProps, type StatusProps, Switch, TCCEProvider, type TCCEProviderProps, TEXT_SIZES, TEXT_WEIGHTS, Table, TableBody, TableCaption, TableCell, type TableCellSize, type TableClassNames, type TableColumnDef, type TableContextType, TableFooter, TableHead, TableHeader, TablePagination, type TablePaginationProps, TableRow, type TableVariant, Tabs, TabsContent, TabsList, TabsTrigger, Text, type TextAs, type TextProps, type TextSize, type TextWeight, Textarea, type ToastAction, type ToastItem, type ToastType, Toaster, type ToasterPosition, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseTableDataProps, type UseTableDataReturn, type UseTableFilteringProps, type UseTableFilteringReturn, type UseTableGlobalFilterProps, type UseTableGlobalFilterReturn, type UseTableSizingProps, type UseTableSizingReturn, type UseTableSortingProps, type UseTableSortingReturn, type UseTableVisibilityProps, type UseTableVisibilityReturn, alertVariants, animation, avatarVariants, badgeVariants, buttonVariants$1 as buttonVariants, columnFiltersToArrayQueryParams, columnFiltersToJsonString, columnFiltersToQueryParams, columnFiltersToRecord, createBackendParams, createBackendParamsWithFilters, duration, ease, fadeIn, fireConfetti, getActiveFilterCount, getActiveFilterValues, getColumnValueCounts, getUniqueColumnValues, hasActiveFilters, linkVariants, logos, mergeFilters, multiSelectFilter, navigationMenuTriggerStyle, parseJsonToFilters, parseQueryParamsToFilters, progressIndicatorVariants, progressVariants, resetConfetti, scaleIn, searchInArray, skeletonVariants, slideRight, slideUp, sortRecordToSortingState, sortingStateToJsonString, sortingStateToRecord, spinnerDotsVariants, spinnerLoaderVariants, spinnerVariants, spring, stagger, toggleVariants, tooltipContentVariants, transition, useAbility, useAbilityStatus, useAppForm, useCan, useCarousel, useColorPicker, useColumnFilter, useSidebar, useTableContext, useTableData, useTableFiltering, useTableGlobalFilter, useTableSizing, useTableSorting, useTableVisibility, useToast };
2392
+ export { type AbilityContextValue, AbilityProvider, type AbilityProviderProps, type AbilityStatus, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AnimationTokens, AppShell, type AppShellItem, type AppShellProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BottomNav, type BottomNavItem, BottomNavTabs, BottomNavTabsContent, type BottomNavTabsItem, BottomNavTabsList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button$1 as Button, CONFETTI_COLORS, type CalendarEvent, type CalendarView, Can, CanNot, type CanNotProps, type CanProps, type CanState, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CellAlignment, Checkbox, ColorPicker, ColorPickerAlpha, type ColorPickerAlphaProps, ColorPickerEyeDropper, type ColorPickerEyeDropperProps, ColorPickerFormat, type ColorPickerFormatProps, ColorPickerHue, type ColorPickerHueProps, ColorPickerOutput, type ColorPickerOutputProps, ColorPickerPresets, type ColorPickerPresetsProps, type ColorPickerProps, ColorPickerSelection, type ColorPickerSelectionProps, type ColumnMeta, Combobox, type ComboboxMatchMode, type ComboboxOption, type ComboboxProps, DataTable, DataTableCardView, type DataTableCardViewProps, DataTableColumnFilter, type DataTableColumnFilterProps, DataTableFooter, type DataTableFooterProps, DataTableHeaderCell, type DataTableHeaderCellProps, type DataTableProps, DataTableRowActions, type DataTableRowActionsProps, DataTableSearch, type DataTableSearchProps, DataTableSkeleton, type DataTableSkeletonProps, DataTableToolbar, type DataTableToolbarProps, DatePicker, type DatePickerProps, type DatePickerRangeProps, type DatePickerSingleProps, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, type DrawerSide, type DrawerSize, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, type DropzoneContentProps, DropzoneEmptyState, type DropzoneEmptyStateProps, type DropzoneProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventCalendar, type EventCalendarProps, type EventCreateRange, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FilterOption, type FilterOptionProps, type FireConfettiOptions, Input, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, Link, Logo, type LogoKey, MiniCalendar, MiniCalendarDay, type MiniCalendarDayProps, MiniCalendarDays, type MiniCalendarDaysProps, MiniCalendarNavigation, type MiniCalendarNavigationProps, type MiniCalendarProps, Navbar, type NavbarDropdownItem, type NavbarNavLink, type NavbarNotification, type NavbarProps, type NavbarUtilityLink, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Permission, PhoneField, type PhoneFieldCountry, type PhoneFieldProps, PhoneFieldValidity, PinInput, type PinInputProps, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, type ProgressProps, RadioGroup, RadioGroupItem, type RowAction, SegmentedControl, SegmentedControlItem, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger$1 as SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignaturePad, type SignaturePadHandle, type SignaturePadProps, Skeleton, Slider, type SortDirection, type SortRecord, Spinner, SpinnerDots, type SpinnerDotsProps, SpinnerLoader, type SpinnerLoaderProps, type SpinnerProps, Status, StatusIndicator, type StatusIndicatorProps, StatusLabel, type StatusLabelProps, type StatusProps, Switch, TCCEProvider, type TCCEProviderProps, TEXT_SIZES, TEXT_WEIGHTS, Table, TableBody, TableCaption, TableCell, type TableCellSize, type TableClassNames, type TableColumnDef, type TableContextType, TableFooter, TableHead, TableHeader, TablePagination, type TablePaginationProps, TableRow, type TableVariant, Tabs, TabsContent, TabsList, TabsTrigger, Text, type TextAs, type TextProps, type TextSize, type TextWeight, Textarea, type ToastAction, type ToastItem, type ToastType, Toaster, type ToasterPosition, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseTableDataProps, type UseTableDataReturn, type UseTableFilteringProps, type UseTableFilteringReturn, type UseTableGlobalFilterProps, type UseTableGlobalFilterReturn, type UseTableSizingProps, type UseTableSizingReturn, type UseTableSortingProps, type UseTableSortingReturn, type UseTableVisibilityProps, type UseTableVisibilityReturn, alertVariants, animation, avatarVariants, badgeVariants, buttonVariants$1 as buttonVariants, columnFiltersToArrayQueryParams, columnFiltersToJsonString, columnFiltersToQueryParams, columnFiltersToRecord, createBackendParams, createBackendParamsWithFilters, duration, ease, fadeIn, fireConfetti, getActiveFilterCount, getActiveFilterValues, getColumnValueCounts, getUniqueColumnValues, hasActiveFilters, linkVariants, logos, mergeFilters, multiSelectFilter, navigationMenuTriggerStyle, parseJsonToFilters, parseQueryParamsToFilters, progressIndicatorVariants, progressVariants, resetConfetti, scaleIn, searchInArray, skeletonVariants, slideRight, slideUp, sortRecordToSortingState, sortingStateToJsonString, sortingStateToRecord, spinnerDotsVariants, spinnerLoaderVariants, spinnerVariants, spring, stagger, toggleVariants, tooltipContentVariants, transition, useAbility, useAbilityStatus, useAppForm, useCan, useCarousel, useColorPicker, useColumnFilter, useSidebar, useTableContext, useTableData, useTableFiltering, useTableGlobalFilter, useTableSizing, useTableSorting, useTableVisibility, useToast };
package/dist/main.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import { SearchIcon, BellIcon, CircleHelpIcon, ChevronDownIcon, ChevronLeftIcon, MoreHorizontalIcon, ChevronRightIcon, MinusIcon, CheckIcon, LoaderCircle, ChevronUpIcon, X, ChevronLeft, ChevronRight, ExternalLinkIcon, ChevronsUpDownIcon, XIcon, UploadIcon, Loader2Icon, LoaderIcon, PipetteIcon, CalendarIcon, MenuIcon, Pencil, Clock, Funnel, ArrowUp, ArrowDown, ArrowUpDown, Ellipsis, Rows2, Eye, Search, House, Plane, Wallet, LayoutDashboardIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, CircleCheckIcon } from 'lucide-react';
2
+ import { SearchIcon, BellIcon, CircleHelpIcon, ChevronDownIcon, ChevronLeftIcon, MoreHorizontalIcon, ChevronRightIcon, MinusIcon, CheckIcon, LoaderCircle, ChevronUpIcon, X, ChevronLeft, ChevronRight, ExternalLinkIcon, ChevronsUpDownIcon, XIcon, UploadIcon, Loader2Icon, LoaderIcon, PipetteIcon, CalendarIcon, MenuIcon, Pencil, Clock, Funnel, ArrowUp, ArrowDown, ArrowUpDown, Ellipsis, Rows2, Eye, Search, BrushCleaning, House, Plane, Wallet, LayoutDashboardIcon, InfoIcon, TriangleAlertIcon, OctagonXIcon, CircleCheckIcon } from 'lucide-react';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
7
- import { createContext, memo, useRef, useState, useMemo, useCallback, useEffect, forwardRef, Fragment, useId, useContext, useLayoutEffect, isValidElement, cloneElement } from 'react';
7
+ import { createContext, memo, useRef, useState, useMemo, useCallback, useEffect, forwardRef, Fragment, useId, useContext, useLayoutEffect, isValidElement, useImperativeHandle, cloneElement } from 'react';
8
8
  import { Avatar as Avatar$1, Checkbox as Checkbox$1, Slot, Select as Select$1, Label as Label$1, Popover as Popover$1, Toggle as Toggle$1, ToggleGroup, Separator as Separator$1, Progress as Progress$1, Slider as Slider$1, Switch as Switch$1, Tabs as Tabs$1, Tooltip as Tooltip$1, Dialog as Dialog$1, AlertDialog as AlertDialog$1, Accordion as Accordion$1, DropdownMenu as DropdownMenu$1, RadioGroup as RadioGroup$1, NavigationMenu as NavigationMenu$1 } from 'radix-ui';
9
9
  import { isSameDay, isToday, format, addDays } from 'date-fns';
10
10
  import useEmblaCarousel from 'embla-carousel-react';
@@ -28,6 +28,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
28
28
  import confetti from 'canvas-confetti';
29
29
  import { flexRender, useReactTable, getFilteredRowModel, getSortedRowModel, getCoreRowModel } from '@tanstack/react-table';
30
30
  export { createColumnHelper } from '@tanstack/react-table';
31
+ import SignaturePadLib from 'signature_pad';
31
32
 
32
33
  // src/components/ui/Alert/alert.tsx
33
34
  function cn(...inputs) {
@@ -928,10 +929,11 @@ function Input({ className, type, ...props }) {
928
929
  type,
929
930
  "data-slot": "input",
930
931
  className: cn(
931
- "border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-sm shadow-xs transition-[color,box-shadow] outline-none",
932
- "placeholder:text-muted-foreground",
932
+ "border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[border-color,box-shadow] outline-hidden md:text-sm",
933
+ "placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground",
934
+ "file:text-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium",
933
935
  "focus-visible:border-ring focus-visible:ring-ring/30 focus-visible:ring-3",
934
- "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
936
+ "disabled:cursor-not-allowed disabled:opacity-50",
935
937
  "aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3",
936
938
  "dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
937
939
  className
@@ -6163,10 +6165,10 @@ function Textarea({ className, ...props }) {
6163
6165
  {
6164
6166
  "data-slot": "textarea",
6165
6167
  className: cn(
6166
- "border-input flex min-h-[80px] w-full resize-y rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none",
6168
+ "border-input flex min-h-[80px] w-full resize-y rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[border-color,box-shadow] outline-hidden md:text-sm",
6167
6169
  "placeholder:text-muted-foreground",
6168
6170
  "focus-visible:border-ring focus-visible:ring-ring/30 focus-visible:ring-3",
6169
- "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
6171
+ "disabled:cursor-not-allowed disabled:opacity-50",
6170
6172
  "aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-invalid:ring-3",
6171
6173
  "dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
6172
6174
  className
@@ -7080,6 +7082,7 @@ function useAppForm(schema, options) {
7080
7082
  // src/lib/cdn.ts
7081
7083
  var CDN_BASE = "https://dibt9vplwriap.cloudfront.net";
7082
7084
  var logos = {
7085
+ // Total Civil
7083
7086
  color: `${CDN_BASE}/logos/Logo_Total_Color.webp`,
7084
7087
  colorAna: `${CDN_BASE}/logos/Logo_Total_Color-ANA.webp`,
7085
7088
  colorAnaa: `${CDN_BASE}/logos/Logo_Total_Color-ANAA.webp`,
@@ -7087,7 +7090,11 @@ var logos = {
7087
7090
  positive: `${CDN_BASE}/logos/Logo_Total_Positive.webp`,
7088
7091
  grayScale: `${CDN_BASE}/logos/Logo_Total_gray_scale.webp`,
7089
7092
  monochBlack: `${CDN_BASE}/logos/Logo_Total_monochB.webp`,
7090
- monochOrange: `${CDN_BASE}/logos/Logo_Total_monochO.webp`
7093
+ monochOrange: `${CDN_BASE}/logos/Logo_Total_monochO.webp`,
7094
+ isotype: `${CDN_BASE}/logos/Isotipo_Total_Color.webp`,
7095
+ // Total Millwork
7096
+ millworkColor: `${CDN_BASE}/logos/Logo_Millwork_Color.webp`,
7097
+ millworkNegative: `${CDN_BASE}/logos/Logo_Millwork_Negative.webp`
7091
7098
  };
7092
7099
  var CONFETTI_COLORS = [
7093
7100
  "#22205f",
@@ -9391,6 +9398,198 @@ function DrawerDescription({
9391
9398
  }
9392
9399
  );
9393
9400
  }
9401
+ function SignaturePad({
9402
+ "aria-label": ariaLabel,
9403
+ "aria-describedby": ariaDescribedBy,
9404
+ onEmptyChange,
9405
+ disabled = false,
9406
+ height = 260,
9407
+ penColor = "black",
9408
+ // Smoother than the library defaults (0.5–2.5 px, 5 px, 16 ms), which drop points and turn
9409
+ // fast or small curves into visible straight segments.
9410
+ minWidth = 1,
9411
+ maxWidth = 3,
9412
+ minDistance = 1,
9413
+ throttle = 0,
9414
+ velocityFilterWeight,
9415
+ clearLabel,
9416
+ className,
9417
+ ref
9418
+ }) {
9419
+ const canvasRef = useRef(null);
9420
+ const padRef = useRef(null);
9421
+ const emptyRef = useRef(true);
9422
+ const [empty, setEmptyState] = useState(true);
9423
+ const onEmptyChangeRef = useRef(onEmptyChange);
9424
+ const drawnRef = useRef({
9425
+ data: [],
9426
+ width: 0,
9427
+ height: 0,
9428
+ scale: 1
9429
+ });
9430
+ const optionsRef = useRef({
9431
+ penColor,
9432
+ minWidth,
9433
+ maxWidth,
9434
+ minDistance,
9435
+ throttle,
9436
+ velocityFilterWeight
9437
+ });
9438
+ useEffect(() => {
9439
+ onEmptyChangeRef.current = onEmptyChange;
9440
+ }, [onEmptyChange]);
9441
+ const setEmpty = (next) => {
9442
+ if (emptyRef.current === next) return;
9443
+ emptyRef.current = next;
9444
+ setEmptyState(next);
9445
+ onEmptyChangeRef.current?.(next);
9446
+ };
9447
+ const clear = () => {
9448
+ padRef.current?.clear();
9449
+ drawnRef.current = { data: [], width: 0, height: 0, scale: 1 };
9450
+ setEmpty(true);
9451
+ };
9452
+ useEffect(() => {
9453
+ const canvas = canvasRef.current;
9454
+ if (!canvas) return;
9455
+ const pad = new SignaturePadLib(canvas, optionsRef.current);
9456
+ padRef.current = pad;
9457
+ let width = 0;
9458
+ let fittedHeight = 0;
9459
+ const redraw = () => {
9460
+ const drawn = drawnRef.current;
9461
+ drawn.scale = Math.min(width / drawn.width, fittedHeight / drawn.height, 1);
9462
+ pad.clear();
9463
+ pad.fromData(
9464
+ drawn.data.map((group) => ({
9465
+ ...group,
9466
+ points: group.points.map((point) => ({
9467
+ ...point,
9468
+ x: point.x * drawn.scale,
9469
+ y: point.y * drawn.scale
9470
+ }))
9471
+ }))
9472
+ );
9473
+ };
9474
+ const handleEnd = () => {
9475
+ const drawn = drawnRef.current;
9476
+ if (drawn.data.length === 0) {
9477
+ drawn.width = width;
9478
+ drawn.height = fittedHeight;
9479
+ drawn.scale = 1;
9480
+ }
9481
+ const newest = pad.toData().at(-1);
9482
+ if (newest) {
9483
+ const points = newest.points.map((point) => ({
9484
+ ...point,
9485
+ x: point.x / drawn.scale,
9486
+ y: point.y / drawn.scale
9487
+ }));
9488
+ drawn.data = [...drawn.data, { ...newest, points }];
9489
+ const margin = newest.maxWidth ?? 0;
9490
+ const reach = (axis) => Math.max(...points.map((point) => point[axis])) + margin;
9491
+ drawn.width = Math.max(drawn.width, reach("x"));
9492
+ drawn.height = Math.max(drawn.height, reach("y"));
9493
+ const fitting = Math.min(width / drawn.width, fittedHeight / drawn.height, 1);
9494
+ if (fitting !== drawn.scale) redraw();
9495
+ }
9496
+ setEmpty(pad.isEmpty());
9497
+ };
9498
+ pad.addEventListener("endStroke", handleEnd);
9499
+ const fit = () => {
9500
+ const nextWidth = canvas.offsetWidth;
9501
+ const nextHeight = canvas.offsetHeight;
9502
+ if (!nextWidth || !nextHeight) return;
9503
+ if (nextWidth === width && nextHeight === fittedHeight) return;
9504
+ width = nextWidth;
9505
+ fittedHeight = nextHeight;
9506
+ const ratio = window.devicePixelRatio || 1;
9507
+ canvas.width = nextWidth * ratio;
9508
+ canvas.height = nextHeight * ratio;
9509
+ canvas.getContext("2d")?.scale(ratio, ratio);
9510
+ pad.clear();
9511
+ if (drawnRef.current.data.length > 0) redraw();
9512
+ };
9513
+ fit();
9514
+ const observer = new ResizeObserver(fit);
9515
+ observer.observe(canvas);
9516
+ return () => {
9517
+ observer.disconnect();
9518
+ pad.removeEventListener("endStroke", handleEnd);
9519
+ pad.off();
9520
+ padRef.current = null;
9521
+ };
9522
+ }, []);
9523
+ useEffect(() => {
9524
+ if (disabled) padRef.current?.off();
9525
+ else padRef.current?.on();
9526
+ }, [disabled]);
9527
+ useImperativeHandle(
9528
+ ref,
9529
+ () => ({
9530
+ clear,
9531
+ isEmpty: () => padRef.current?.isEmpty() ?? true,
9532
+ toBlob: () => new Promise((resolve, reject) => {
9533
+ const canvas = canvasRef.current;
9534
+ if (!canvas) return reject(new Error("The signature pad is not mounted"));
9535
+ canvas.toBlob((blob) => {
9536
+ if (blob) resolve(blob);
9537
+ else reject(new Error("The signature could not be encoded as PNG"));
9538
+ }, "image/png");
9539
+ })
9540
+ }),
9541
+ // `clear` only touches refs and state setters, so the handle is created once.
9542
+ // eslint-disable-next-line react-hooks/exhaustive-deps
9543
+ []
9544
+ );
9545
+ return /* @__PURE__ */ jsxs(
9546
+ "div",
9547
+ {
9548
+ "data-slot": "signature-pad",
9549
+ "data-disabled": disabled ? "" : void 0,
9550
+ className: cn(
9551
+ // Fixed light "paper": the pen is black and the PNG is read on white by others. The
9552
+ // primitive keeps the pad light for consumers that define a dark theme, where a themed
9553
+ // surface (`background`, `border`) would turn dark and hide the black ink.
9554
+ "bg-main-alternative-secondary border-dark-100 relative overflow-hidden rounded-xl border",
9555
+ "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50",
9556
+ className
9557
+ ),
9558
+ children: [
9559
+ /* @__PURE__ */ jsx(
9560
+ "canvas",
9561
+ {
9562
+ ref: canvasRef,
9563
+ "data-slot": "signature-pad-canvas",
9564
+ role: "img",
9565
+ "aria-label": ariaLabel,
9566
+ "aria-describedby": ariaDescribedBy,
9567
+ "aria-disabled": disabled || void 0,
9568
+ style: { height },
9569
+ className: "block w-full touch-none"
9570
+ }
9571
+ ),
9572
+ /* @__PURE__ */ jsx(
9573
+ Button,
9574
+ {
9575
+ type: "button",
9576
+ variant: "ghost",
9577
+ size: "icon-sm",
9578
+ "data-slot": "signature-pad-clear",
9579
+ "aria-label": clearLabel,
9580
+ disabled,
9581
+ "aria-disabled": empty && !disabled ? true : void 0,
9582
+ onClick: () => {
9583
+ if (!emptyRef.current) clear();
9584
+ },
9585
+ className: "bg-main-white text-dark-600 border-dark-100 hover:bg-dark-100 hover:text-main-black aria-disabled:hover:bg-main-white absolute right-2 bottom-2 border border-solid aria-disabled:cursor-not-allowed aria-disabled:opacity-50",
9586
+ children: /* @__PURE__ */ jsx(BrushCleaning, { "aria-hidden": true, className: "size-4" })
9587
+ }
9588
+ )
9589
+ ]
9590
+ }
9591
+ );
9592
+ }
9394
9593
  function TCCEProvider({
9395
9594
  children,
9396
9595
  permissions,
@@ -9400,6 +9599,6 @@ function TCCEProvider({
9400
9599
  return /* @__PURE__ */ jsx(TooltipProvider, { delayDuration: tooltipDelayDuration, children: /* @__PURE__ */ jsx(AbilityProvider, { permissions, children: /* @__PURE__ */ jsx(Toaster, { position: toasterPosition, children }) }) });
9401
9600
  }
9402
9601
 
9403
- export { AbilityProvider, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppShell, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge2 as Badge, BottomNav, BottomNavTabs, BottomNavTabsContent, BottomNavTabsList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CONFETTI_COLORS, Can, CanNot, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, ColorPicker, ColorPickerAlpha, ColorPickerEyeDropper, ColorPickerFormat, ColorPickerHue, ColorPickerOutput, ColorPickerPresets, ColorPickerSelection, Combobox, DataTable, DataTableCardView, DataTableColumnFilter, DataTableFooter, DataTableHeaderCell, DataTableRowActions, DataTableSearch, DataTableSkeleton, DataTableToolbar, DatePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, DropzoneEmptyState, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventCalendar, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FilterOption, Input, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, KNOWN_PERMISSIONS, Label, Link, Logo, MiniCalendar, MiniCalendarDay, MiniCalendarDays, MiniCalendarNavigation, Navbar, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PhoneField, PinInput, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, SegmentedControl, SegmentedControlItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, SpinnerDots, SpinnerLoader, Status, StatusIndicator, StatusLabel, Switch, TCCEProvider, TEXT_SIZES, TEXT_WEIGHTS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TablePagination, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text, Textarea, Toaster, Toggle, ToggleGroup2 as ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, animation, avatarVariants, badgeVariants2 as badgeVariants, buttonVariants, columnFiltersToArrayQueryParams, columnFiltersToJsonString, columnFiltersToQueryParams, columnFiltersToRecord, createBackendParams, createBackendParamsWithFilters, duration, ease, fadeIn, fireConfetti, getActiveFilterCount, getActiveFilterValues, getColumnValueCounts, getUniqueColumnValues, hasActiveFilters, linkVariants, logos, matchPermission, mergeFilters, multiSelectFilter, navigationMenuTriggerStyle, parseJsonToFilters, parseQueryParamsToFilters, progressIndicatorVariants, progressVariants, resetConfetti, scaleIn, searchInArray, skeletonVariants, slideRight, slideUp, sortRecordToSortingState, sortingStateToJsonString, sortingStateToRecord, spinnerDotsVariants, spinnerLoaderVariants, spinnerVariants, spring, stagger, toggleVariants, tooltipContentVariants, transition, useAbility, useAbilityStatus, useAppForm, useCan, useCarousel, useColorPicker, useColumnFilter, useSidebar, useTableContext, useTableData, useTableFiltering, useTableGlobalFilter, useTableSizing, useTableSorting, useTableVisibility, useToast, validatePhone };
9602
+ export { AbilityProvider, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppShell, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge2 as Badge, BottomNav, BottomNavTabs, BottomNavTabsContent, BottomNavTabsList, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CONFETTI_COLORS, Can, CanNot, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, ColorPicker, ColorPickerAlpha, ColorPickerEyeDropper, ColorPickerFormat, ColorPickerHue, ColorPickerOutput, ColorPickerPresets, ColorPickerSelection, Combobox, DataTable, DataTableCardView, DataTableColumnFilter, DataTableFooter, DataTableHeaderCell, DataTableRowActions, DataTableSearch, DataTableSkeleton, DataTableToolbar, DatePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, DropzoneContent, DropzoneEmptyState, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, EventCalendar, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FilterOption, Input, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, KNOWN_PERMISSIONS, Label, Link, Logo, MiniCalendar, MiniCalendarDay, MiniCalendarDays, MiniCalendarNavigation, Navbar, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PhoneField, PinInput, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, SegmentedControl, SegmentedControlItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SignaturePad, Skeleton, Slider, Spinner, SpinnerDots, SpinnerLoader, Status, StatusIndicator, StatusLabel, Switch, TCCEProvider, TEXT_SIZES, TEXT_WEIGHTS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TablePagination, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text, Textarea, Toaster, Toggle, ToggleGroup2 as ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, animation, avatarVariants, badgeVariants2 as badgeVariants, buttonVariants, columnFiltersToArrayQueryParams, columnFiltersToJsonString, columnFiltersToQueryParams, columnFiltersToRecord, createBackendParams, createBackendParamsWithFilters, duration, ease, fadeIn, fireConfetti, getActiveFilterCount, getActiveFilterValues, getColumnValueCounts, getUniqueColumnValues, hasActiveFilters, linkVariants, logos, matchPermission, mergeFilters, multiSelectFilter, navigationMenuTriggerStyle, parseJsonToFilters, parseQueryParamsToFilters, progressIndicatorVariants, progressVariants, resetConfetti, scaleIn, searchInArray, skeletonVariants, slideRight, slideUp, sortRecordToSortingState, sortingStateToJsonString, sortingStateToRecord, spinnerDotsVariants, spinnerLoaderVariants, spinnerVariants, spring, stagger, toggleVariants, tooltipContentVariants, transition, useAbility, useAbilityStatus, useAppForm, useCan, useCarousel, useColorPicker, useColumnFilter, useSidebar, useTableContext, useTableData, useTableFiltering, useTableGlobalFilter, useTableSizing, useTableSorting, useTableVisibility, useToast, validatePhone };
9404
9603
  //# sourceMappingURL=main.js.map
9405
9604
  //# sourceMappingURL=main.js.map