@customafk/lunas-ui 0.2.62 → 0.2.64

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.mts CHANGED
@@ -18,6 +18,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/t
18
18
  import { DetailDialog, DetailDialogProps } from "./dialogs/detail-dialog/index.mjs";
19
19
  import { ErrorDialog, ErrorDialogProps } from "./dialogs/error-dialog.mjs";
20
20
  import { LoadingDialog, LoadingDialogProps } from "./dialogs/loading-dialog.mjs";
21
+ import { ActivityHeatmapChart, ActivityHeatmapChartProps, ActivityPoint, BaseChartProps, CandlestickChart, CandlestickChartProps, ChartSeries, ChartTrend, ConversionFunnelChart, ConversionFunnelChartProps, CorrelationScatterChart, CorrelationScatterChartProps, DonutChart, DonutChartProps, DonutChartSegment, FunnelStage, GainLossBarChart, GainLossBarChartProps, IndexedPerformanceLineChart, IndexedPerformanceLineChartProps, MetricRadarChart, MetricRadarChartProps, MirroredBarChart, MirroredBarChartProps, MirroredBarRow, NamedValue, OHLCPoint, OrdersBarChart, OrdersBarChartProps, PortfolioAllocationTreemap, PortfolioAllocationTreemapProps, PortfolioHolding, PriceRangeAreaChart, PriceRangeAreaChartProps, RevenueAreaChart, RevenueAreaChartProps, RevenueOrdersComposedChart, RevenueOrdersComposedChartProps, RevenueOrdersPoint, SalesTargetRadialChart, SalesTargetRadialChartProps, SankeyFlowChart, SankeyFlowChartProps, SankeyFlowLink, SankeyFlowNode, ScatterPoint, SparklineChart, SparklineChartProps, StackedAreaChart, StackedAreaChartProps, TimeSeriesPoint, TopProductsBarChart, TopProductsBarChartProps, VolumeBarChart, VolumeBarChartProps, WaterfallChart, WaterfallChartProps, WaterfallPoint, computeIndexedSeries, formatCompactNumber, formatCurrency, formatPercent, formatSignedPercent, getChartColor, getDirectionColor, toDateLabel } from "./features/charts/index.mjs";
21
22
  import { n as BadgeProps, r as badgeVariants, t as Badge } from "./badge-D0InQSvM.mjs";
22
23
  import { Description, DescriptionBadge, DescriptionBoolean, DescriptionCopy, DescriptionDate, DescriptionEmpty, DescriptionHeader, DescriptionImages, DescriptionItem, DescriptionLink, DescriptionLongText, DescriptionName, DescriptionNumberPhone, DescriptionSection, DescriptionStatistic, DescriptionStatisticProps, DescriptionStatus, DescriptionTagList, DescriptionUser } from "./features/descriptions/index.mjs";
23
24
  import { SearchModal } from "./features/search-modal/index.mjs";
@@ -54,6 +55,7 @@ import { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants
54
55
  import { Calendar, CalendarDayButton } from "./ui/calendar.mjs";
55
56
  import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./ui/card.mjs";
56
57
  import { Carousel, CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "./ui/carousel.mjs";
58
+ import { ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartStyle, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, useChart } from "./ui/chart.mjs";
57
59
  import { Checkbox } from "./ui/checkbox.mjs";
58
60
  import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./ui/collapsible.mjs";
59
61
  import { a as DialogFooter, c as DialogPortal, i as DialogDescription, l as DialogTitle, n as DialogClose, o as DialogHeader, r as DialogContent, s as DialogOverlay, t as Dialog, u as DialogTrigger } from "./dialog-BASlxWF_.mjs";
@@ -76,7 +78,7 @@ import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, Pagi
76
78
  import { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger } from "./ui/popover.mjs";
77
79
  import { Progress } from "./ui/progress.mjs";
78
80
  import { RadioGroup, RadioGroupItem } from "./ui/radio-group.mjs";
79
- import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "./resizable-CNIYTd7k.mjs";
81
+ import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "./resizable-BLfxHCf4.mjs";
80
82
  import { ScrollArea, ScrollBar } from "./ui/scroll-area.mjs";
81
83
  import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from "./ui/select.mjs";
82
84
  import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./ui/sheet.mjs";
@@ -90,4 +92,4 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs.mjs";
90
92
  import { Textarea } from "./ui/textarea.mjs";
91
93
  import { Toggle, toggleVariants } from "./ui/toggle.mjs";
92
94
  import { ToggleGroup, ToggleGroupItem } from "./ui/toggle-group.mjs";
93
- export { ActiveFilter, AddNewBtn, Alert, AlertDescription, AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertProps, AlertTitle, AlertTitleProps, AnyFieldProps, ArrayCol, ArrayHeaderRow, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BooleanFieldValue, BooleanFilterValue, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, CMSLayout, CMSLayoutProps, type CMSLayoutUser, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, CheckboxField, CheckboxFieldProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnAggregation, ColumnAggregationType, ComboboxField, ComboboxFieldProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CountryDisplay, CsvCell, DataList, DataListItem, DateDisplay, DateField, DateFieldProps, DateFieldValue, DateRangeFilterValue, DateTooltip, Description, DescriptionBadge, DescriptionBoolean, DescriptionCopy, DescriptionDate, DescriptionEmpty, DescriptionHeader, DescriptionImages, DescriptionItem, DescriptionLink, DescriptionLongText, DescriptionName, DescriptionNumberPhone, DescriptionSection, DescriptionStatistic, DescriptionStatisticProps, DescriptionStatus, DescriptionTagList, DescriptionUser, DetailDialog, type DetailDialogProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditBtn, EmailField, EmailFieldProps, Empty, EmptyContent, EmptyDescription, EmptyDisplay, EmptyHeader, EmptyMedia, EmptyTitle, ErrorDialog, type ErrorDialogProps, FeatureDeveloping, FeatureFixing, Field, FieldContent, FieldContentMain, FieldError, FieldGroup, FieldLabel, FieldOrientation, FieldRounding, FieldSeparator, FieldType, FileUploader, FilterDefinition, FilterOption, FilterType, FilterValue, Flex, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Google, Grid, GridProductCard, HoverCard, HoverCardContent, HoverCardTrigger, Image, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputVariantProps, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, LoadingDialog, type LoadingDialogProps, LoginPage, type LoginPageProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MultiSelectFieldValue, MultipleSelector, MultipleSelectorRef, NameDisplay, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotAuthorized, NotFound, type NotFoundProps, NumberField, NumberFieldProps, NumberFieldValue, NumberFilterValue, Option, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Paragraph, type ParagraphProps, PasswordField, PasswordFieldProps, PaymentLayout, PaymentLayoutUser, PhoneNumberDisplay, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, ProductCard, Progress, RadioGroup, RadioGroupField, RadioGroupFieldProps, RadioGroupItem, RadioOption, RefreshBtn, RegisterPage, type RegisterPageProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RoleBadge, RowData, ScrollArea, ScrollBar, SearchInput, SearchModal, Select, SelectContent, SelectField, SelectFieldProps, SelectGroup, SelectItem, SelectLabel, SelectOption, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SimpleArrayField, SimpleBooleanField, SimpleCard, SimpleComboboxField, SimpleDateField, SimpleEmailField, SimpleNumberField, SimplePasswordField, SimpleRadioGroupField, SimpleSelectField, SimpleTextField, SimpleTextFieldProps, SimpleTextareaField, SingleTagFilterValue, Skeleton, Slider, Spinner, Statistic, type StatisticProps, SummaryItem, Switch, SwitchField, SwitchFieldProps, TTableAnalysisContext, TTableBodyContext, TTableContext, TTableFilterContext, TTableHeadRowContext, TTableInnerTableContext, TTableInnerWrapperContext, TTableRowContext, TUITableBody, TUITableCell, TUITableCellActions, TUITableCellSelect, TUITableColumn, TUITableEmptyDisplay, TUITableFooter, TUITableHead, TUITableHeadCell, TUITableHeadCellOption, TUITableHeadCellSelect, TUITableHeadRow, TUITableInnerTable, TUITableInnerWrapper, TUITableLoadMore, TUITableRow, TUITableWrapper, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableProviderProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagFilterValue, TanStackActionSubmit, TanStackActionsForm, TanStackCardForm, TanStackContainerForm, TanStackDialogForm, TanStackFieldGroup, TanStackPopoverForm, TanStackSectionForm, TanStackTitleField, TextEditor, TextEditorField, TextEditorFieldProps, type TextEditorProps, TextEditorToolbar, type TextEditorToolbarProps, TextField, TextFieldProps, TextFieldValue, TextFilterValue, Textarea, TextareaField, TextareaFieldProps, Title, type TitleProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TrashBtn, UITableAnalysisPanel, UITableAvatarNameDisplay, UITableBadgeDisplay, UITableBody, UITableBooleanDisplay, UITableCell, UITableCellActions, UITableCellSelect, UITableContainer, UITableCurrencyDisplay, UITableDateDisplay, UITableDescriptionDisplay, UITableEditButton, UITableEmailDisplay, UITableEmptyDisplay, UITableFilter, UITableFooter, UITableFooterRow, UITableHead, UITableHeadCell, UITableHeadCellOption, UITableHeadCellSelect, UITableHeadRow, UITableInnerTable, UITableInnerWrapper, UITableListDisplay, UITableLoadMore, UITableMoreButton, UITableNameDisplay, UITablePermalink, UITablePhoneNumberDisplay, UITableProgressDisplay, UITableProvider, UITableRemoveButton, UITableRow, UITableStatisticDisplay, UITableStatusDisplay, UITableSummaryBar, UITableToggleButton, UITableTooltip, UITableTooltipActions, UITableTooltipFilter, UITableUserDataDisplay, UITableWrapper, UploadImageBtn, UserDataDisplay, VerifyEmailPage, type VerifyEmailPageProps, badgeVariants, buttonGroupVariants, navigationMenuTriggerStyle, paragraphVariants, toast, toggleVariants, useDebounce, useFormField, useTanStackFieldContext, useTanStackForm, useTanStackFormContext, withTanStackFieldGroup, withTanStackForm };
95
+ export { ActiveFilter, ActivityHeatmapChart, ActivityHeatmapChartProps, ActivityPoint, AddNewBtn, Alert, AlertDescription, AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertProps, AlertTitle, AlertTitleProps, AnyFieldProps, ArrayCol, ArrayHeaderRow, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BaseChartProps, BooleanFieldValue, BooleanFilterValue, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, CMSLayout, CMSLayoutProps, type CMSLayoutUser, Calendar, CalendarDayButton, CandlestickChart, CandlestickChartProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartSeries, ChartStyle, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, ChartTrend, Checkbox, CheckboxField, CheckboxFieldProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColumnAggregation, ColumnAggregationType, ComboboxField, ComboboxFieldProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ConversionFunnelChart, ConversionFunnelChartProps, CorrelationScatterChart, CorrelationScatterChartProps, CountryDisplay, CsvCell, DataList, DataListItem, DateDisplay, DateField, DateFieldProps, DateFieldValue, DateRangeFilterValue, DateTooltip, Description, DescriptionBadge, DescriptionBoolean, DescriptionCopy, DescriptionDate, DescriptionEmpty, DescriptionHeader, DescriptionImages, DescriptionItem, DescriptionLink, DescriptionLongText, DescriptionName, DescriptionNumberPhone, DescriptionSection, DescriptionStatistic, DescriptionStatisticProps, DescriptionStatus, DescriptionTagList, DescriptionUser, DetailDialog, type DetailDialogProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, DonutChartProps, DonutChartSegment, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditBtn, EmailField, EmailFieldProps, Empty, EmptyContent, EmptyDescription, EmptyDisplay, EmptyHeader, EmptyMedia, EmptyTitle, ErrorDialog, type ErrorDialogProps, FeatureDeveloping, FeatureFixing, Field, FieldContent, FieldContentMain, FieldError, FieldGroup, FieldLabel, FieldOrientation, FieldRounding, FieldSeparator, FieldType, FileUploader, FilterDefinition, FilterOption, FilterType, FilterValue, Flex, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FunnelStage, GainLossBarChart, GainLossBarChartProps, Google, Grid, GridProductCard, HoverCard, HoverCardContent, HoverCardTrigger, Image, IndexedPerformanceLineChart, IndexedPerformanceLineChartProps, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputVariantProps, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, LoadingDialog, type LoadingDialogProps, LoginPage, type LoginPageProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricRadarChart, MetricRadarChartProps, MirroredBarChart, MirroredBarChartProps, MirroredBarRow, MultiSelectFieldValue, MultipleSelector, MultipleSelectorRef, NameDisplay, NamedValue, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotAuthorized, NotFound, type NotFoundProps, NumberField, NumberFieldProps, NumberFieldValue, NumberFilterValue, OHLCPoint, Option, OrdersBarChart, OrdersBarChartProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Paragraph, type ParagraphProps, PasswordField, PasswordFieldProps, PaymentLayout, PaymentLayoutUser, PhoneNumberDisplay, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, PortfolioAllocationTreemap, PortfolioAllocationTreemapProps, PortfolioHolding, PriceRangeAreaChart, PriceRangeAreaChartProps, ProductCard, Progress, RadioGroup, RadioGroupField, RadioGroupFieldProps, RadioGroupItem, RadioOption, RefreshBtn, RegisterPage, type RegisterPageProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RevenueAreaChart, RevenueAreaChartProps, RevenueOrdersComposedChart, RevenueOrdersComposedChartProps, RevenueOrdersPoint, RoleBadge, RowData, SalesTargetRadialChart, SalesTargetRadialChartProps, SankeyFlowChart, SankeyFlowChartProps, SankeyFlowLink, SankeyFlowNode, ScatterPoint, ScrollArea, ScrollBar, SearchInput, SearchModal, Select, SelectContent, SelectField, SelectFieldProps, SelectGroup, SelectItem, SelectLabel, SelectOption, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SimpleArrayField, SimpleBooleanField, SimpleCard, SimpleComboboxField, SimpleDateField, SimpleEmailField, SimpleNumberField, SimplePasswordField, SimpleRadioGroupField, SimpleSelectField, SimpleTextField, SimpleTextFieldProps, SimpleTextareaField, SingleTagFilterValue, Skeleton, Slider, SparklineChart, SparklineChartProps, Spinner, StackedAreaChart, StackedAreaChartProps, Statistic, type StatisticProps, SummaryItem, Switch, SwitchField, SwitchFieldProps, TTableAnalysisContext, TTableBodyContext, TTableContext, TTableFilterContext, TTableHeadRowContext, TTableInnerTableContext, TTableInnerWrapperContext, TTableRowContext, TUITableBody, TUITableCell, TUITableCellActions, TUITableCellSelect, TUITableColumn, TUITableEmptyDisplay, TUITableFooter, TUITableHead, TUITableHeadCell, TUITableHeadCellOption, TUITableHeadCellSelect, TUITableHeadRow, TUITableInnerTable, TUITableInnerWrapper, TUITableLoadMore, TUITableRow, TUITableWrapper, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableProviderProps, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagFilterValue, TanStackActionSubmit, TanStackActionsForm, TanStackCardForm, TanStackContainerForm, TanStackDialogForm, TanStackFieldGroup, TanStackPopoverForm, TanStackSectionForm, TanStackTitleField, TextEditor, TextEditorField, TextEditorFieldProps, type TextEditorProps, TextEditorToolbar, type TextEditorToolbarProps, TextField, TextFieldProps, TextFieldValue, TextFilterValue, Textarea, TextareaField, TextareaFieldProps, TimeSeriesPoint, Title, type TitleProps, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopProductsBarChart, TopProductsBarChartProps, TrashBtn, UITableAnalysisPanel, UITableAvatarNameDisplay, UITableBadgeDisplay, UITableBody, UITableBooleanDisplay, UITableCell, UITableCellActions, UITableCellSelect, UITableContainer, UITableCurrencyDisplay, UITableDateDisplay, UITableDescriptionDisplay, UITableEditButton, UITableEmailDisplay, UITableEmptyDisplay, UITableFilter, UITableFooter, UITableFooterRow, UITableHead, UITableHeadCell, UITableHeadCellOption, UITableHeadCellSelect, UITableHeadRow, UITableInnerTable, UITableInnerWrapper, UITableListDisplay, UITableLoadMore, UITableMoreButton, UITableNameDisplay, UITablePermalink, UITablePhoneNumberDisplay, UITableProgressDisplay, UITableProvider, UITableRemoveButton, UITableRow, UITableStatisticDisplay, UITableStatusDisplay, UITableSummaryBar, UITableToggleButton, UITableTooltip, UITableTooltipActions, UITableTooltipFilter, UITableUserDataDisplay, UITableWrapper, UploadImageBtn, UserDataDisplay, VerifyEmailPage, type VerifyEmailPageProps, VolumeBarChart, VolumeBarChartProps, WaterfallChart, WaterfallChartProps, WaterfallPoint, badgeVariants, buttonGroupVariants, computeIndexedSeries, formatCompactNumber, formatCurrency, formatPercent, formatSignedPercent, getChartColor, getDirectionColor, navigationMenuTriggerStyle, paragraphVariants, toDateLabel, toast, toggleVariants, useChart, useDebounce, useFormField, useTanStackFieldContext, useTanStackForm, useTanStackFormContext, withTanStackFieldGroup, withTanStackForm };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{Button as e}from"./ui/button.mjs";import{Paragraph as t,paragraphVariants as n}from"./typography/paragraph.mjs";import{Card as r,CardAction as i,CardContent as a,CardDescription as o,CardFooter as s,CardHeader as c,CardTitle as l}from"./ui/card.mjs";import{Skeleton as u}from"./ui/skeleton.mjs";import{Image as d}from"./ui/image.mjs";import{GridProductCard as f}from"./cards/grid-product-card.mjs";import{ProductCard as p}from"./cards/product-card.mjs";import{SimpleCard as m}from"./cards/simple-card.mjs";import{Flex as h}from"./layouts/flex.mjs";import{CountryDisplay as g}from"./data-display/country.mjs";import{DataList as _,DataListItem as v}from"./data-display/data-list.mjs";import{t as y}from"./date-Nsz0Pewe.mjs";import{Badge as b,badgeVariants as x}from"./ui/badge.mjs";import{Tooltip as S,TooltipContent as C,TooltipProvider as w,TooltipTrigger as T}from"./ui/tooltip.mjs";import{DateTooltip as E}from"./data-display/date-tooltip.mjs";import{EmptyDisplay as D}from"./data-display/empty.mjs";import{NameDisplay as O}from"./data-display/name.mjs";import{PhoneNumberDisplay as k}from"./data-display/phone-number.mjs";import{RoleBadge as A}from"./data-display/role-badge.mjs";import{Statistic as j}from"./data-display/statistic.mjs";import{Avatar as M,AvatarFallback as N,AvatarImage as P}from"./ui/avatar.mjs";import{UserDataDisplay as F}from"./data-display/user.mjs";import{AlertDialog as I,AlertDialogAction as L,AlertDialogCancel as R,AlertDialogContent as z,AlertDialogDescription as B,AlertDialogFooter as V,AlertDialogHeader as H,AlertDialogOverlay as U,AlertDialogPortal as W,AlertDialogTitle as G,AlertDialogTrigger as K}from"./ui/alert-dialog.mjs";import{ConfirmDialog as q}from"./dialogs/confirm-dialog.mjs";import{Title as J}from"./typography/title.mjs";import{Separator as Y}from"./ui/separator.mjs";import{Sheet as X,SheetClose as Z,SheetContent as Q,SheetDescription as $,SheetFooter as ee,SheetHeader as te,SheetTitle as ne,SheetTrigger as re}from"./ui/sheet.mjs";import{DetailDialog as ie}from"./dialogs/detail-dialog/index.mjs";import{ErrorDialog as ae}from"./dialogs/error-dialog.mjs";import{Dialog as oe,DialogClose as se,DialogContent as ce,DialogDescription as le,DialogFooter as ue,DialogHeader as de,DialogOverlay as fe,DialogPortal as pe,DialogTitle as me,DialogTrigger as he}from"./ui/dialog.mjs";import{LoadingDialog as ge}from"./dialogs/loading-dialog.mjs";import{Description as _e,DescriptionBadge as ve,DescriptionBoolean as ye,DescriptionCopy as be,DescriptionDate as xe,DescriptionEmpty as Se,DescriptionHeader as Ce,DescriptionImages as we,DescriptionItem as Te,DescriptionLink as Ee,DescriptionLongText as De,DescriptionName as Oe,DescriptionNumberPhone as ke,DescriptionSection as Ae,DescriptionStatistic as je,DescriptionStatus as Me,DescriptionTagList as Ne,DescriptionUser as Pe}from"./features/descriptions/index.mjs";import{Command as Fe,CommandDialog as Ie,CommandEmpty as Le,CommandGroup as Re,CommandInput as ze,CommandItem as Be,CommandList as Ve,CommandSeparator as He,CommandShortcut as Ue}from"./ui/command.mjs";import{t as We}from"./search-modal-Cdmi2iyV.mjs";import{A as Ge,B as Ke,C as qe,D as Je,E as Ye,F as Xe,H as Ze,I as Qe,L as $e,M as et,N as tt,O as nt,P as rt,R as it,S as at,T as ot,U as st,V as ct,W as lt,_ as ut,a as dt,b as ft,c as pt,d as mt,f as ht,g as gt,h as _t,i as vt,j as yt,k as bt,l as xt,m as St,n as Ct,o as wt,p as Tt,r as Et,s as Dt,t as Ot,u as kt,v as At,w as jt,x as Mt,y as Nt,z as Pt}from"./tables-Cylalxey.mjs";import{DropdownMenu as Ft,DropdownMenuCheckboxItem as It,DropdownMenuContent as Lt,DropdownMenuGroup as Rt,DropdownMenuItem as zt,DropdownMenuLabel as Bt,DropdownMenuPortal as Vt,DropdownMenuRadioGroup as Ht,DropdownMenuRadioItem as Ut,DropdownMenuSeparator as Wt,DropdownMenuShortcut as Gt,DropdownMenuSub as Kt,DropdownMenuSubContent as qt,DropdownMenuSubTrigger as Jt,DropdownMenuTrigger as Yt}from"./ui/dropdown-menu.mjs";import{Progress as Xt}from"./ui/progress.mjs";import{Switch as Zt}from"./ui/switch.mjs";import{Checkbox as Qt}from"./ui/checkbox.mjs";import{Spinner as $t}from"./ui/spinner.mjs";import{ResizableHandle as en,ResizablePanel as tn,ResizablePanelGroup as nn}from"./ui/resizable.mjs";import{Input as rn}from"./ui/input.mjs";import{Label as an}from"./ui/label.mjs";import{Popover as on,PopoverAnchor as sn,PopoverClose as cn,PopoverContent as ln,PopoverTrigger as un}from"./ui/popover.mjs";import{Select as dn,SelectContent as fn,SelectGroup as pn,SelectItem as mn,SelectLabel as hn,SelectSeparator as gn,SelectTrigger as _n,SelectValue as vn}from"./ui/select.mjs";import{A as yn,B as bn,C as xn,D as Sn,E as Cn,F as wn,G as Tn,H as En,I as Dn,K as On,L as kn,M as An,N as jn,O as Mn,P as Nn,R as Pn,S as Fn,T as In,U as Ln,V as Rn,W as zn,_ as Bn,a as Vn,b as Hn,c as Un,d as Wn,f as Gn,g as Kn,h as qn,i as Jn,j as Yn,k as Xn,l as Zn,m as Qn,n as $n,o as er,p as tr,r as nr,s as rr,t as ir,u as ar,v as or,w as sr,x as cr,y as lr,z as ur}from"./tanstack-form-DTCgWGCA.mjs";import{Drawer as dr,DrawerClose as fr,DrawerContent as pr,DrawerDescription as mr,DrawerFooter as hr,DrawerHeader as gr,DrawerOverlay as _r,DrawerPortal as vr,DrawerTitle as yr,DrawerTrigger as br}from"./ui/drawer.mjs";import{Calendar as xr,CalendarDayButton as Sr}from"./ui/calendar.mjs";import{RadioGroup as Cr,RadioGroupItem as wr}from"./ui/radio-group.mjs";import{Textarea as Tr}from"./ui/textarea.mjs";import{n as Er,t as Dr}from"./text-editor-BQtIXOpM.mjs";import{t as Or}from"./cms-layout-CuF5ahpj.mjs";import{t as kr}from"./payment-layout-Dsz6wYT1.mjs";import{Grid as Ar}from"./layouts/grid.mjs";import{FeatureDeveloping as jr}from"./pages/FeatureDeveloping.mjs";import{FeatureFixing as Mr}from"./pages/FeatureFixing.mjs";import{NotAuthorized as Nr}from"./pages/NotAuthorized.mjs";import{NotFound as Pr}from"./pages/NotFound.mjs";import{n as Fr,r as Ir,t as Lr}from"./alert-OD1KJTEV.mjs";import{LoginPage as Rr}from"./pages/LoginPage.mjs";import{RegisterPage as zr}from"./pages/RegisterPage.mjs";import{InputOTP as Br,InputOTPGroup as Vr,InputOTPSeparator as Hr,InputOTPSlot as Ur}from"./ui/input-otp.mjs";import{VerifyEmailPage as Wr}from"./pages/VerifyEmailPage.mjs";import{Google as Gr}from"./systems/google.mjs";import{AddNewBtn as Kr}from"./ui/buttons/add-new.mjs";import{EditBtn as qr}from"./ui/buttons/edit.mjs";import{RefreshBtn as Jr}from"./ui/buttons/refresh.mjs";import{TrashBtn as Yr}from"./ui/buttons/trash.mjs";import{UploadImageBtn as Xr}from"./ui/buttons/upload-image.mjs";import{SearchInput as Zr}from"./ui/inputs/search-input.mjs";import{AspectRatio as Qr}from"./ui/aspect-ratio.mjs";import{Breadcrumb as $r,BreadcrumbEllipsis as ei,BreadcrumbItem as ti,BreadcrumbLink as ni,BreadcrumbList as ri,BreadcrumbPage as ii,BreadcrumbSeparator as ai}from"./ui/breadcrumb.mjs";import{ButtonGroup as oi,ButtonGroupSeparator as si,ButtonGroupText as ci,buttonGroupVariants as li}from"./ui/button-group.mjs";import{Carousel as ui,CarouselContent as di,CarouselItem as fi,CarouselNext as pi,CarouselPrevious as mi}from"./ui/carousel.mjs";import{Collapsible as hi,CollapsibleContent as gi,CollapsibleTrigger as _i}from"./ui/collapsible.mjs";import{ContextMenu as vi,ContextMenuCheckboxItem as yi,ContextMenuContent as bi,ContextMenuGroup as xi,ContextMenuItem as Si,ContextMenuLabel as Ci,ContextMenuPortal as wi,ContextMenuRadioGroup as Ti,ContextMenuRadioItem as Ei,ContextMenuSeparator as Di,ContextMenuShortcut as Oi,ContextMenuSub as ki,ContextMenuSubContent as Ai,ContextMenuSubTrigger as ji,ContextMenuTrigger as Mi}from"./ui/context-menu.mjs";import{Empty as Ni,EmptyContent as Pi,EmptyDescription as Fi,EmptyHeader as Ii,EmptyMedia as Li,EmptyTitle as Ri}from"./ui/empty.mjs";import{FileUploader as zi}from"./ui/file-uploader.mjs";import{Form as Bi,FormControl as Vi,FormDescription as Hi,FormField as Ui,FormItem as Wi,FormLabel as Gi,FormMessage as Ki,useFormField as qi}from"./ui/form.mjs";import{HoverCard as Ji,HoverCardContent as Yi,HoverCardTrigger as Xi}from"./ui/hover-card.mjs";import{Item as Zi,ItemActions as Qi,ItemContent as $i,ItemDescription as ea,ItemFooter as ta,ItemGroup as na,ItemHeader as ra,ItemMedia as ia,ItemSeparator as aa,ItemTitle as oa}from"./ui/item.mjs";import{Menubar as sa,MenubarCheckboxItem as ca,MenubarContent as la,MenubarGroup as ua,MenubarItem as da,MenubarLabel as fa,MenubarMenu as pa,MenubarPortal as ma,MenubarRadioGroup as ha,MenubarRadioItem as ga,MenubarSeparator as _a,MenubarShortcut as va,MenubarSub as ya,MenubarSubContent as ba,MenubarSubTrigger as xa,MenubarTrigger as Sa}from"./ui/menubar.mjs";import{MultipleSelector as Ca,useDebounce as wa}from"./ui/multi-select.mjs";import{NavigationMenu as Ta,NavigationMenuContent as Ea,NavigationMenuIndicator as Da,NavigationMenuItem as Oa,NavigationMenuLink as ka,NavigationMenuList as Aa,NavigationMenuTrigger as ja,NavigationMenuViewport as Ma,navigationMenuTriggerStyle as Na}from"./ui/navigation-menu.mjs";import{Pagination as Pa,PaginationContent as Fa,PaginationEllipsis as Ia,PaginationItem as La,PaginationLink as Ra,PaginationNext as za,PaginationPrevious as Ba}from"./ui/pagination.mjs";import{ScrollArea as Va,ScrollBar as Ha}from"./ui/scroll-area.mjs";import{Slider as Ua}from"./ui/slider.mjs";import{Toaster as Wa,toast as Ga}from"./ui/sonner.mjs";import{Table as Ka,TableBody as qa,TableCaption as Ja,TableCell as Ya,TableFooter as Xa,TableHead as Za,TableHeader as Qa,TableRow as $a}from"./ui/table.mjs";import{Tabs as eo,TabsContent as to,TabsList as no,TabsTrigger as ro}from"./ui/tabs.mjs";import{Toggle as io,toggleVariants as ao}from"./ui/toggle.mjs";import{ToggleGroup as oo,ToggleGroupItem as so}from"./ui/toggle-group.mjs";export{Kr as AddNewBtn,Lr as Alert,Fr as AlertDescription,I as AlertDialog,L as AlertDialogAction,R as AlertDialogCancel,z as AlertDialogContent,B as AlertDialogDescription,V as AlertDialogFooter,H as AlertDialogHeader,U as AlertDialogOverlay,W as AlertDialogPortal,G as AlertDialogTitle,K as AlertDialogTrigger,Ir as AlertTitle,zn as ArrayCol,Tn as ArrayHeaderRow,Qr as AspectRatio,M as Avatar,N as AvatarFallback,P as AvatarImage,b as Badge,$r as Breadcrumb,ei as BreadcrumbEllipsis,ti as BreadcrumbItem,ni as BreadcrumbLink,ri as BreadcrumbList,ii as BreadcrumbPage,ai as BreadcrumbSeparator,e as Button,oi as ButtonGroup,si as ButtonGroupSeparator,ci as ButtonGroupText,Or as CMSLayout,xr as Calendar,Sr as CalendarDayButton,r as Card,i as CardAction,a as CardContent,o as CardDescription,s as CardFooter,c as CardHeader,l as CardTitle,ui as Carousel,di as CarouselContent,fi as CarouselItem,pi as CarouselNext,mi as CarouselPrevious,Qt as Checkbox,Cn as CheckboxField,hi as Collapsible,gi as CollapsibleContent,_i as CollapsibleTrigger,In as ComboboxField,Fe as Command,Ie as CommandDialog,Le as CommandEmpty,Re as CommandGroup,ze as CommandInput,Be as CommandItem,Ve as CommandList,He as CommandSeparator,Ue as CommandShortcut,q as ConfirmDialog,vi as ContextMenu,yi as ContextMenuCheckboxItem,bi as ContextMenuContent,xi as ContextMenuGroup,Si as ContextMenuItem,Ci as ContextMenuLabel,wi as ContextMenuPortal,Ti as ContextMenuRadioGroup,Ei as ContextMenuRadioItem,Di as ContextMenuSeparator,Oi as ContextMenuShortcut,ki as ContextMenuSub,Ai as ContextMenuSubContent,ji as ContextMenuSubTrigger,Mi as ContextMenuTrigger,g as CountryDisplay,_ as DataList,v as DataListItem,y as DateDisplay,sr as DateField,E as DateTooltip,_e as Description,ve as DescriptionBadge,ye as DescriptionBoolean,be as DescriptionCopy,xe as DescriptionDate,Se as DescriptionEmpty,Ce as DescriptionHeader,we as DescriptionImages,Te as DescriptionItem,Ee as DescriptionLink,De as DescriptionLongText,Oe as DescriptionName,ke as DescriptionNumberPhone,Ae as DescriptionSection,je as DescriptionStatistic,Me as DescriptionStatus,Ne as DescriptionTagList,Pe as DescriptionUser,ie as DetailDialog,oe as Dialog,se as DialogClose,ce as DialogContent,le as DialogDescription,ue as DialogFooter,de as DialogHeader,fe as DialogOverlay,pe as DialogPortal,me as DialogTitle,he as DialogTrigger,dr as Drawer,fr as DrawerClose,pr as DrawerContent,mr as DrawerDescription,hr as DrawerFooter,gr as DrawerHeader,_r as DrawerOverlay,vr as DrawerPortal,yr as DrawerTitle,br as DrawerTrigger,Ft as DropdownMenu,It as DropdownMenuCheckboxItem,Lt as DropdownMenuContent,Rt as DropdownMenuGroup,zt as DropdownMenuItem,Bt as DropdownMenuLabel,Vt as DropdownMenuPortal,Ht as DropdownMenuRadioGroup,Ut as DropdownMenuRadioItem,Wt as DropdownMenuSeparator,Gt as DropdownMenuShortcut,Kt as DropdownMenuSub,qt as DropdownMenuSubContent,Jt as DropdownMenuSubTrigger,Yt as DropdownMenuTrigger,qr as EditBtn,xn as EmailField,Ni as Empty,Pi as EmptyContent,Fi as EmptyDescription,D as EmptyDisplay,Ii as EmptyHeader,Li as EmptyMedia,Ri as EmptyTitle,ae as ErrorDialog,jr as FeatureDeveloping,Mr as FeatureFixing,kn as Field,Pn as FieldContent,ur as FieldContentMain,bn as FieldError,Rn as FieldGroup,En as FieldLabel,Ln as FieldSeparator,zi as FileUploader,h as Flex,Bi as Form,Vi as FormControl,Hi as FormDescription,Ui as FormField,Wi as FormItem,Gi as FormLabel,Ki as FormMessage,Gr as Google,Ar as Grid,f as GridProductCard,Ji as HoverCard,Yi as HoverCardContent,Xi as HoverCardTrigger,d as Image,rn as Input,Br as InputOTP,Vr as InputOTPGroup,Hr as InputOTPSeparator,Ur as InputOTPSlot,Zi as Item,Qi as ItemActions,$i as ItemContent,ea as ItemDescription,ta as ItemFooter,na as ItemGroup,ra as ItemHeader,ia as ItemMedia,aa as ItemSeparator,oa as ItemTitle,an as Label,ge as LoadingDialog,Rr as LoginPage,sa as Menubar,ca as MenubarCheckboxItem,la as MenubarContent,ua as MenubarGroup,da as MenubarItem,fa as MenubarLabel,pa as MenubarMenu,ma as MenubarPortal,ha as MenubarRadioGroup,ga as MenubarRadioItem,_a as MenubarSeparator,va as MenubarShortcut,ya as MenubarSub,ba as MenubarSubContent,xa as MenubarSubTrigger,Sa as MenubarTrigger,Ca as MultipleSelector,O as NameDisplay,Ta as NavigationMenu,Ea as NavigationMenuContent,Da as NavigationMenuIndicator,Oa as NavigationMenuItem,ka as NavigationMenuLink,Aa as NavigationMenuList,ja as NavigationMenuTrigger,Ma as NavigationMenuViewport,Nr as NotAuthorized,Pr as NotFound,Fn as NumberField,Pa as Pagination,Fa as PaginationContent,Ia as PaginationEllipsis,La as PaginationItem,Ra as PaginationLink,za as PaginationNext,Ba as PaginationPrevious,t as Paragraph,cr as PasswordField,kr as PaymentLayout,k as PhoneNumberDisplay,on as Popover,sn as PopoverAnchor,cn as PopoverClose,ln as PopoverContent,un as PopoverTrigger,p as ProductCard,Xt as Progress,Cr as RadioGroup,Hn as RadioGroupField,wr as RadioGroupItem,Jr as RefreshBtn,zr as RegisterPage,en as ResizableHandle,tn as ResizablePanel,nn as ResizablePanelGroup,A as RoleBadge,Va as ScrollArea,Ha as ScrollBar,Zr as SearchInput,We as SearchModal,dn as Select,fn as SelectContent,lr as SelectField,pn as SelectGroup,mn as SelectItem,hn as SelectLabel,gn as SelectSeparator,_n as SelectTrigger,vn as SelectValue,Y as Separator,X as Sheet,Z as SheetClose,Q as SheetContent,$ as SheetDescription,ee as SheetFooter,te as SheetHeader,ne as SheetTitle,re as SheetTrigger,On as SimpleArrayField,Dn as SimpleBooleanField,m as SimpleCard,wn as SimpleComboboxField,Nn as SimpleDateField,An as SimpleEmailField,Yn as SimpleNumberField,yn as SimplePasswordField,jn as SimpleRadioGroupField,Xn as SimpleSelectField,Sn as SimpleTextField,Mn as SimpleTextareaField,u as Skeleton,Ua as Slider,$t as Spinner,j as Statistic,Zt as Switch,or as SwitchField,Ka as Table,qa as TableBody,Ja as TableCaption,Ya as TableCell,Xa as TableFooter,Za as TableHead,Qa as TableHeader,$a as TableRow,eo as Tabs,to as TabsContent,no as TabsList,ro as TabsTrigger,Qn as TanStackActionSubmit,tr as TanStackActionsForm,Gn as TanStackCardForm,Wn as TanStackContainerForm,ar as TanStackDialogForm,Zn as TanStackFieldGroup,Un as TanStackPopoverForm,rr as TanStackSectionForm,er as TanStackTitleField,Dr as TextEditor,qn as TextEditorField,Er as TextEditorToolbar,Bn as TextField,Tr as Textarea,Kn as TextareaField,J as Title,Wa as Toaster,io as Toggle,oo as ToggleGroup,so as ToggleGroupItem,S as Tooltip,C as TooltipContent,w as TooltipProvider,T as TooltipTrigger,Yr as TrashBtn,Dt as UITableAnalysisPanel,lt as UITableAvatarNameDisplay,st as UITableBadgeDisplay,ot as UITableBody,Ze as UITableBooleanDisplay,jt as UITableCell,qe as UITableCellActions,at as UITableCellSelect,pt as UITableContainer,ct as UITableCurrencyDisplay,Ke as UITableDateDisplay,Pt as UITableDescriptionDisplay,it as UITableEditButton,$e as UITableEmailDisplay,Mt as UITableEmptyDisplay,wt as UITableFilter,ft as UITableFooter,Nt as UITableFooterRow,At as UITableHead,gt as UITableHeadCell,ut as UITableHeadCellOption,_t as UITableHeadCellSelect,St as UITableHeadRow,Tt as UITableInnerTable,ht as UITableInnerWrapper,Qe as UITableListDisplay,mt as UITableLoadMore,Xe as UITableMoreButton,rt as UITableNameDisplay,tt as UITablePermalink,et as UITablePhoneNumberDisplay,yt as UITableProgressDisplay,dt as UITableProvider,Ge as UITableRemoveButton,kt as UITableRow,bt as UITableStatisticDisplay,nt as UITableStatusDisplay,vt as UITableSummaryBar,Je as UITableToggleButton,Ot as UITableTooltip,Ct as UITableTooltipActions,Et as UITableTooltipFilter,Ye as UITableUserDataDisplay,xt as UITableWrapper,Xr as UploadImageBtn,F as UserDataDisplay,Wr as VerifyEmailPage,x as badgeVariants,li as buttonGroupVariants,Na as navigationMenuTriggerStyle,n as paragraphVariants,Ga as toast,ao as toggleVariants,wa as useDebounce,qi as useFormField,ir as useTanStackFieldContext,$n as useTanStackForm,nr as useTanStackFormContext,Jn as withTanStackFieldGroup,Vn as withTanStackForm};
1
+ import{Button as e}from"./ui/button.mjs";import{Paragraph as t,paragraphVariants as n}from"./typography/paragraph.mjs";import{Card as r,CardAction as i,CardContent as a,CardDescription as o,CardFooter as s,CardHeader as c,CardTitle as l}from"./ui/card.mjs";import{Skeleton as u}from"./ui/skeleton.mjs";import{Image as d}from"./ui/image.mjs";import{GridProductCard as f}from"./cards/grid-product-card.mjs";import{ProductCard as p}from"./cards/product-card.mjs";import{SimpleCard as m}from"./cards/simple-card.mjs";import{Flex as h}from"./layouts/flex.mjs";import{CountryDisplay as g}from"./data-display/country.mjs";import{DataList as _,DataListItem as v}from"./data-display/data-list.mjs";import{t as y}from"./date-Nsz0Pewe.mjs";import{Badge as b,badgeVariants as x}from"./ui/badge.mjs";import{Tooltip as S,TooltipContent as C,TooltipProvider as w,TooltipTrigger as T}from"./ui/tooltip.mjs";import{DateTooltip as E}from"./data-display/date-tooltip.mjs";import{EmptyDisplay as D}from"./data-display/empty.mjs";import{NameDisplay as O}from"./data-display/name.mjs";import{PhoneNumberDisplay as k}from"./data-display/phone-number.mjs";import{RoleBadge as A}from"./data-display/role-badge.mjs";import{Statistic as j}from"./data-display/statistic.mjs";import{Avatar as M,AvatarFallback as N,AvatarImage as P}from"./ui/avatar.mjs";import{UserDataDisplay as F}from"./data-display/user.mjs";import{AlertDialog as I,AlertDialogAction as L,AlertDialogCancel as R,AlertDialogContent as z,AlertDialogDescription as B,AlertDialogFooter as V,AlertDialogHeader as H,AlertDialogOverlay as U,AlertDialogPortal as W,AlertDialogTitle as G,AlertDialogTrigger as K}from"./ui/alert-dialog.mjs";import{ConfirmDialog as q}from"./dialogs/confirm-dialog.mjs";import{Title as J}from"./typography/title.mjs";import{Separator as Y}from"./ui/separator.mjs";import{Sheet as X,SheetClose as Z,SheetContent as Q,SheetDescription as $,SheetFooter as ee,SheetHeader as te,SheetTitle as ne,SheetTrigger as re}from"./ui/sheet.mjs";import{DetailDialog as ie}from"./dialogs/detail-dialog/index.mjs";import{ErrorDialog as ae}from"./dialogs/error-dialog.mjs";import{Dialog as oe,DialogClose as se,DialogContent as ce,DialogDescription as le,DialogFooter as ue,DialogHeader as de,DialogOverlay as fe,DialogPortal as pe,DialogTitle as me,DialogTrigger as he}from"./ui/dialog.mjs";import{LoadingDialog as ge}from"./dialogs/loading-dialog.mjs";import{ChartContainer as _e,ChartLegend as ve,ChartLegendContent as ye,ChartStyle as be,ChartTooltip as xe,ChartTooltipContent as Se,useChart as Ce}from"./ui/chart.mjs";import{ActivityHeatmapChart as we,CandlestickChart as Te,ConversionFunnelChart as Ee,CorrelationScatterChart as De,DonutChart as Oe,GainLossBarChart as ke,IndexedPerformanceLineChart as Ae,MetricRadarChart as je,MirroredBarChart as Me,OrdersBarChart as Ne,PortfolioAllocationTreemap as Pe,PriceRangeAreaChart as Fe,RevenueAreaChart as Ie,RevenueOrdersComposedChart as Le,SalesTargetRadialChart as Re,SankeyFlowChart as ze,SparklineChart as Be,StackedAreaChart as Ve,TopProductsBarChart as He,VolumeBarChart as Ue,WaterfallChart as We,computeIndexedSeries as Ge,formatCompactNumber as Ke,formatCurrency as qe,formatPercent as Je,formatSignedPercent as Ye,getChartColor as Xe,getDirectionColor as Ze,toDateLabel as Qe}from"./features/charts/index.mjs";import{Description as $e,DescriptionBadge as et,DescriptionBoolean as tt,DescriptionCopy as nt,DescriptionDate as rt,DescriptionEmpty as it,DescriptionHeader as at,DescriptionImages as ot,DescriptionItem as st,DescriptionLink as ct,DescriptionLongText as lt,DescriptionName as ut,DescriptionNumberPhone as dt,DescriptionSection as ft,DescriptionStatistic as pt,DescriptionStatus as mt,DescriptionTagList as ht,DescriptionUser as gt}from"./features/descriptions/index.mjs";import{Command as _t,CommandDialog as vt,CommandEmpty as yt,CommandGroup as bt,CommandInput as xt,CommandItem as St,CommandList as Ct,CommandSeparator as wt,CommandShortcut as Tt}from"./ui/command.mjs";import{t as Et}from"./search-modal-Cdmi2iyV.mjs";import{A as Dt,B as Ot,C as kt,D as At,E as jt,F as Mt,H as Nt,I as Pt,L as Ft,M as It,N as Lt,O as Rt,P as zt,R as Bt,S as Vt,T as Ht,U as Ut,V as Wt,W as Gt,_ as Kt,a as qt,b as Jt,c as Yt,d as Xt,f as Zt,g as Qt,h as $t,i as en,j as tn,k as nn,l as rn,m as an,n as on,o as sn,p as cn,r as ln,s as un,t as dn,u as fn,v as pn,w as mn,x as hn,y as gn,z as _n}from"./tables-Cylalxey.mjs";import{DropdownMenu as vn,DropdownMenuCheckboxItem as yn,DropdownMenuContent as bn,DropdownMenuGroup as xn,DropdownMenuItem as Sn,DropdownMenuLabel as Cn,DropdownMenuPortal as wn,DropdownMenuRadioGroup as Tn,DropdownMenuRadioItem as En,DropdownMenuSeparator as Dn,DropdownMenuShortcut as On,DropdownMenuSub as kn,DropdownMenuSubContent as An,DropdownMenuSubTrigger as jn,DropdownMenuTrigger as Mn}from"./ui/dropdown-menu.mjs";import{Progress as Nn}from"./ui/progress.mjs";import{Switch as Pn}from"./ui/switch.mjs";import{Checkbox as Fn}from"./ui/checkbox.mjs";import{Spinner as In}from"./ui/spinner.mjs";import{ResizableHandle as Ln,ResizablePanel as Rn,ResizablePanelGroup as zn}from"./ui/resizable.mjs";import{Input as Bn}from"./ui/input.mjs";import{Label as Vn}from"./ui/label.mjs";import{Popover as Hn,PopoverAnchor as Un,PopoverClose as Wn,PopoverContent as Gn,PopoverTrigger as Kn}from"./ui/popover.mjs";import{Select as qn,SelectContent as Jn,SelectGroup as Yn,SelectItem as Xn,SelectLabel as Zn,SelectSeparator as Qn,SelectTrigger as $n,SelectValue as er}from"./ui/select.mjs";import{A as tr,B as nr,C as rr,D as ir,E as ar,F as or,G as sr,H as cr,I as lr,K as ur,L as dr,M as fr,N as pr,O as mr,P as hr,R as gr,S as _r,T as vr,U as yr,V as br,W as xr,_ as Sr,a as Cr,b as wr,c as Tr,d as Er,f as Dr,g as Or,h as kr,i as Ar,j as jr,k as Mr,l as Nr,m as Pr,n as Fr,o as Ir,p as Lr,r as Rr,s as zr,t as Br,u as Vr,v as Hr,w as Ur,x as Wr,y as Gr,z as Kr}from"./tanstack-form-DTCgWGCA.mjs";import{Drawer as qr,DrawerClose as Jr,DrawerContent as Yr,DrawerDescription as Xr,DrawerFooter as Zr,DrawerHeader as Qr,DrawerOverlay as $r,DrawerPortal as ei,DrawerTitle as ti,DrawerTrigger as ni}from"./ui/drawer.mjs";import{Calendar as ri,CalendarDayButton as ii}from"./ui/calendar.mjs";import{RadioGroup as ai,RadioGroupItem as oi}from"./ui/radio-group.mjs";import{Textarea as si}from"./ui/textarea.mjs";import{n as ci,t as li}from"./text-editor-BQtIXOpM.mjs";import{t as ui}from"./cms-layout-CuF5ahpj.mjs";import{t as di}from"./payment-layout-Dsz6wYT1.mjs";import{Grid as fi}from"./layouts/grid.mjs";import{FeatureDeveloping as pi}from"./pages/FeatureDeveloping.mjs";import{FeatureFixing as mi}from"./pages/FeatureFixing.mjs";import{NotAuthorized as hi}from"./pages/NotAuthorized.mjs";import{NotFound as gi}from"./pages/NotFound.mjs";import{n as _i,r as vi,t as yi}from"./alert-OD1KJTEV.mjs";import{LoginPage as bi}from"./pages/LoginPage.mjs";import{RegisterPage as xi}from"./pages/RegisterPage.mjs";import{InputOTP as Si,InputOTPGroup as Ci,InputOTPSeparator as wi,InputOTPSlot as Ti}from"./ui/input-otp.mjs";import{VerifyEmailPage as Ei}from"./pages/VerifyEmailPage.mjs";import{Google as Di}from"./systems/google.mjs";import{AddNewBtn as Oi}from"./ui/buttons/add-new.mjs";import{EditBtn as ki}from"./ui/buttons/edit.mjs";import{RefreshBtn as Ai}from"./ui/buttons/refresh.mjs";import{TrashBtn as ji}from"./ui/buttons/trash.mjs";import{UploadImageBtn as Mi}from"./ui/buttons/upload-image.mjs";import{SearchInput as Ni}from"./ui/inputs/search-input.mjs";import{AspectRatio as Pi}from"./ui/aspect-ratio.mjs";import{Breadcrumb as Fi,BreadcrumbEllipsis as Ii,BreadcrumbItem as Li,BreadcrumbLink as Ri,BreadcrumbList as zi,BreadcrumbPage as Bi,BreadcrumbSeparator as Vi}from"./ui/breadcrumb.mjs";import{ButtonGroup as Hi,ButtonGroupSeparator as Ui,ButtonGroupText as Wi,buttonGroupVariants as Gi}from"./ui/button-group.mjs";import{Carousel as Ki,CarouselContent as qi,CarouselItem as Ji,CarouselNext as Yi,CarouselPrevious as Xi}from"./ui/carousel.mjs";import{Collapsible as Zi,CollapsibleContent as Qi,CollapsibleTrigger as $i}from"./ui/collapsible.mjs";import{ContextMenu as ea,ContextMenuCheckboxItem as ta,ContextMenuContent as na,ContextMenuGroup as ra,ContextMenuItem as ia,ContextMenuLabel as aa,ContextMenuPortal as oa,ContextMenuRadioGroup as sa,ContextMenuRadioItem as ca,ContextMenuSeparator as la,ContextMenuShortcut as ua,ContextMenuSub as da,ContextMenuSubContent as fa,ContextMenuSubTrigger as pa,ContextMenuTrigger as ma}from"./ui/context-menu.mjs";import{Empty as ha,EmptyContent as ga,EmptyDescription as _a,EmptyHeader as va,EmptyMedia as ya,EmptyTitle as ba}from"./ui/empty.mjs";import{FileUploader as xa}from"./ui/file-uploader.mjs";import{Form as Sa,FormControl as Ca,FormDescription as wa,FormField as Ta,FormItem as Ea,FormLabel as Da,FormMessage as Oa,useFormField as ka}from"./ui/form.mjs";import{HoverCard as Aa,HoverCardContent as ja,HoverCardTrigger as Ma}from"./ui/hover-card.mjs";import{Item as Na,ItemActions as Pa,ItemContent as Fa,ItemDescription as Ia,ItemFooter as La,ItemGroup as Ra,ItemHeader as za,ItemMedia as Ba,ItemSeparator as Va,ItemTitle as Ha}from"./ui/item.mjs";import{Menubar as Ua,MenubarCheckboxItem as Wa,MenubarContent as Ga,MenubarGroup as Ka,MenubarItem as qa,MenubarLabel as Ja,MenubarMenu as Ya,MenubarPortal as Xa,MenubarRadioGroup as Za,MenubarRadioItem as Qa,MenubarSeparator as $a,MenubarShortcut as eo,MenubarSub as to,MenubarSubContent as no,MenubarSubTrigger as ro,MenubarTrigger as io}from"./ui/menubar.mjs";import{MultipleSelector as ao,useDebounce as oo}from"./ui/multi-select.mjs";import{NavigationMenu as so,NavigationMenuContent as co,NavigationMenuIndicator as lo,NavigationMenuItem as uo,NavigationMenuLink as fo,NavigationMenuList as po,NavigationMenuTrigger as mo,NavigationMenuViewport as ho,navigationMenuTriggerStyle as go}from"./ui/navigation-menu.mjs";import{Pagination as _o,PaginationContent as vo,PaginationEllipsis as yo,PaginationItem as bo,PaginationLink as xo,PaginationNext as So,PaginationPrevious as Co}from"./ui/pagination.mjs";import{ScrollArea as wo,ScrollBar as To}from"./ui/scroll-area.mjs";import{Slider as Eo}from"./ui/slider.mjs";import{Toaster as Do,toast as Oo}from"./ui/sonner.mjs";import{Table as ko,TableBody as Ao,TableCaption as jo,TableCell as Mo,TableFooter as No,TableHead as Po,TableHeader as Fo,TableRow as Io}from"./ui/table.mjs";import{Tabs as Lo,TabsContent as Ro,TabsList as zo,TabsTrigger as Bo}from"./ui/tabs.mjs";import{Toggle as Vo,toggleVariants as Ho}from"./ui/toggle.mjs";import{ToggleGroup as Uo,ToggleGroupItem as Wo}from"./ui/toggle-group.mjs";export{we as ActivityHeatmapChart,Oi as AddNewBtn,yi as Alert,_i as AlertDescription,I as AlertDialog,L as AlertDialogAction,R as AlertDialogCancel,z as AlertDialogContent,B as AlertDialogDescription,V as AlertDialogFooter,H as AlertDialogHeader,U as AlertDialogOverlay,W as AlertDialogPortal,G as AlertDialogTitle,K as AlertDialogTrigger,vi as AlertTitle,xr as ArrayCol,sr as ArrayHeaderRow,Pi as AspectRatio,M as Avatar,N as AvatarFallback,P as AvatarImage,b as Badge,Fi as Breadcrumb,Ii as BreadcrumbEllipsis,Li as BreadcrumbItem,Ri as BreadcrumbLink,zi as BreadcrumbList,Bi as BreadcrumbPage,Vi as BreadcrumbSeparator,e as Button,Hi as ButtonGroup,Ui as ButtonGroupSeparator,Wi as ButtonGroupText,ui as CMSLayout,ri as Calendar,ii as CalendarDayButton,Te as CandlestickChart,r as Card,i as CardAction,a as CardContent,o as CardDescription,s as CardFooter,c as CardHeader,l as CardTitle,Ki as Carousel,qi as CarouselContent,Ji as CarouselItem,Yi as CarouselNext,Xi as CarouselPrevious,_e as ChartContainer,ve as ChartLegend,ye as ChartLegendContent,be as ChartStyle,xe as ChartTooltip,Se as ChartTooltipContent,Fn as Checkbox,ar as CheckboxField,Zi as Collapsible,Qi as CollapsibleContent,$i as CollapsibleTrigger,vr as ComboboxField,_t as Command,vt as CommandDialog,yt as CommandEmpty,bt as CommandGroup,xt as CommandInput,St as CommandItem,Ct as CommandList,wt as CommandSeparator,Tt as CommandShortcut,q as ConfirmDialog,ea as ContextMenu,ta as ContextMenuCheckboxItem,na as ContextMenuContent,ra as ContextMenuGroup,ia as ContextMenuItem,aa as ContextMenuLabel,oa as ContextMenuPortal,sa as ContextMenuRadioGroup,ca as ContextMenuRadioItem,la as ContextMenuSeparator,ua as ContextMenuShortcut,da as ContextMenuSub,fa as ContextMenuSubContent,pa as ContextMenuSubTrigger,ma as ContextMenuTrigger,Ee as ConversionFunnelChart,De as CorrelationScatterChart,g as CountryDisplay,_ as DataList,v as DataListItem,y as DateDisplay,Ur as DateField,E as DateTooltip,$e as Description,et as DescriptionBadge,tt as DescriptionBoolean,nt as DescriptionCopy,rt as DescriptionDate,it as DescriptionEmpty,at as DescriptionHeader,ot as DescriptionImages,st as DescriptionItem,ct as DescriptionLink,lt as DescriptionLongText,ut as DescriptionName,dt as DescriptionNumberPhone,ft as DescriptionSection,pt as DescriptionStatistic,mt as DescriptionStatus,ht as DescriptionTagList,gt as DescriptionUser,ie as DetailDialog,oe as Dialog,se as DialogClose,ce as DialogContent,le as DialogDescription,ue as DialogFooter,de as DialogHeader,fe as DialogOverlay,pe as DialogPortal,me as DialogTitle,he as DialogTrigger,Oe as DonutChart,qr as Drawer,Jr as DrawerClose,Yr as DrawerContent,Xr as DrawerDescription,Zr as DrawerFooter,Qr as DrawerHeader,$r as DrawerOverlay,ei as DrawerPortal,ti as DrawerTitle,ni as DrawerTrigger,vn as DropdownMenu,yn as DropdownMenuCheckboxItem,bn as DropdownMenuContent,xn as DropdownMenuGroup,Sn as DropdownMenuItem,Cn as DropdownMenuLabel,wn as DropdownMenuPortal,Tn as DropdownMenuRadioGroup,En as DropdownMenuRadioItem,Dn as DropdownMenuSeparator,On as DropdownMenuShortcut,kn as DropdownMenuSub,An as DropdownMenuSubContent,jn as DropdownMenuSubTrigger,Mn as DropdownMenuTrigger,ki as EditBtn,rr as EmailField,ha as Empty,ga as EmptyContent,_a as EmptyDescription,D as EmptyDisplay,va as EmptyHeader,ya as EmptyMedia,ba as EmptyTitle,ae as ErrorDialog,pi as FeatureDeveloping,mi as FeatureFixing,dr as Field,gr as FieldContent,Kr as FieldContentMain,nr as FieldError,br as FieldGroup,cr as FieldLabel,yr as FieldSeparator,xa as FileUploader,h as Flex,Sa as Form,Ca as FormControl,wa as FormDescription,Ta as FormField,Ea as FormItem,Da as FormLabel,Oa as FormMessage,ke as GainLossBarChart,Di as Google,fi as Grid,f as GridProductCard,Aa as HoverCard,ja as HoverCardContent,Ma as HoverCardTrigger,d as Image,Ae as IndexedPerformanceLineChart,Bn as Input,Si as InputOTP,Ci as InputOTPGroup,wi as InputOTPSeparator,Ti as InputOTPSlot,Na as Item,Pa as ItemActions,Fa as ItemContent,Ia as ItemDescription,La as ItemFooter,Ra as ItemGroup,za as ItemHeader,Ba as ItemMedia,Va as ItemSeparator,Ha as ItemTitle,Vn as Label,ge as LoadingDialog,bi as LoginPage,Ua as Menubar,Wa as MenubarCheckboxItem,Ga as MenubarContent,Ka as MenubarGroup,qa as MenubarItem,Ja as MenubarLabel,Ya as MenubarMenu,Xa as MenubarPortal,Za as MenubarRadioGroup,Qa as MenubarRadioItem,$a as MenubarSeparator,eo as MenubarShortcut,to as MenubarSub,no as MenubarSubContent,ro as MenubarSubTrigger,io as MenubarTrigger,je as MetricRadarChart,Me as MirroredBarChart,ao as MultipleSelector,O as NameDisplay,so as NavigationMenu,co as NavigationMenuContent,lo as NavigationMenuIndicator,uo as NavigationMenuItem,fo as NavigationMenuLink,po as NavigationMenuList,mo as NavigationMenuTrigger,ho as NavigationMenuViewport,hi as NotAuthorized,gi as NotFound,_r as NumberField,Ne as OrdersBarChart,_o as Pagination,vo as PaginationContent,yo as PaginationEllipsis,bo as PaginationItem,xo as PaginationLink,So as PaginationNext,Co as PaginationPrevious,t as Paragraph,Wr as PasswordField,di as PaymentLayout,k as PhoneNumberDisplay,Hn as Popover,Un as PopoverAnchor,Wn as PopoverClose,Gn as PopoverContent,Kn as PopoverTrigger,Pe as PortfolioAllocationTreemap,Fe as PriceRangeAreaChart,p as ProductCard,Nn as Progress,ai as RadioGroup,wr as RadioGroupField,oi as RadioGroupItem,Ai as RefreshBtn,xi as RegisterPage,Ln as ResizableHandle,Rn as ResizablePanel,zn as ResizablePanelGroup,Ie as RevenueAreaChart,Le as RevenueOrdersComposedChart,A as RoleBadge,Re as SalesTargetRadialChart,ze as SankeyFlowChart,wo as ScrollArea,To as ScrollBar,Ni as SearchInput,Et as SearchModal,qn as Select,Jn as SelectContent,Gr as SelectField,Yn as SelectGroup,Xn as SelectItem,Zn as SelectLabel,Qn as SelectSeparator,$n as SelectTrigger,er as SelectValue,Y as Separator,X as Sheet,Z as SheetClose,Q as SheetContent,$ as SheetDescription,ee as SheetFooter,te as SheetHeader,ne as SheetTitle,re as SheetTrigger,ur as SimpleArrayField,lr as SimpleBooleanField,m as SimpleCard,or as SimpleComboboxField,hr as SimpleDateField,fr as SimpleEmailField,jr as SimpleNumberField,tr as SimplePasswordField,pr as SimpleRadioGroupField,Mr as SimpleSelectField,ir as SimpleTextField,mr as SimpleTextareaField,u as Skeleton,Eo as Slider,Be as SparklineChart,In as Spinner,Ve as StackedAreaChart,j as Statistic,Pn as Switch,Hr as SwitchField,ko as Table,Ao as TableBody,jo as TableCaption,Mo as TableCell,No as TableFooter,Po as TableHead,Fo as TableHeader,Io as TableRow,Lo as Tabs,Ro as TabsContent,zo as TabsList,Bo as TabsTrigger,Pr as TanStackActionSubmit,Lr as TanStackActionsForm,Dr as TanStackCardForm,Er as TanStackContainerForm,Vr as TanStackDialogForm,Nr as TanStackFieldGroup,Tr as TanStackPopoverForm,zr as TanStackSectionForm,Ir as TanStackTitleField,li as TextEditor,kr as TextEditorField,ci as TextEditorToolbar,Sr as TextField,si as Textarea,Or as TextareaField,J as Title,Do as Toaster,Vo as Toggle,Uo as ToggleGroup,Wo as ToggleGroupItem,S as Tooltip,C as TooltipContent,w as TooltipProvider,T as TooltipTrigger,He as TopProductsBarChart,ji as TrashBtn,un as UITableAnalysisPanel,Gt as UITableAvatarNameDisplay,Ut as UITableBadgeDisplay,Ht as UITableBody,Nt as UITableBooleanDisplay,mn as UITableCell,kt as UITableCellActions,Vt as UITableCellSelect,Yt as UITableContainer,Wt as UITableCurrencyDisplay,Ot as UITableDateDisplay,_n as UITableDescriptionDisplay,Bt as UITableEditButton,Ft as UITableEmailDisplay,hn as UITableEmptyDisplay,sn as UITableFilter,Jt as UITableFooter,gn as UITableFooterRow,pn as UITableHead,Qt as UITableHeadCell,Kt as UITableHeadCellOption,$t as UITableHeadCellSelect,an as UITableHeadRow,cn as UITableInnerTable,Zt as UITableInnerWrapper,Pt as UITableListDisplay,Xt as UITableLoadMore,Mt as UITableMoreButton,zt as UITableNameDisplay,Lt as UITablePermalink,It as UITablePhoneNumberDisplay,tn as UITableProgressDisplay,qt as UITableProvider,Dt as UITableRemoveButton,fn as UITableRow,nn as UITableStatisticDisplay,Rt as UITableStatusDisplay,en as UITableSummaryBar,At as UITableToggleButton,dn as UITableTooltip,on as UITableTooltipActions,ln as UITableTooltipFilter,jt as UITableUserDataDisplay,rn as UITableWrapper,Mi as UploadImageBtn,F as UserDataDisplay,Ei as VerifyEmailPage,Ue as VolumeBarChart,We as WaterfallChart,x as badgeVariants,Gi as buttonGroupVariants,Ge as computeIndexedSeries,Ke as formatCompactNumber,qe as formatCurrency,Je as formatPercent,Ye as formatSignedPercent,Xe as getChartColor,Ze as getDirectionColor,go as navigationMenuTriggerStyle,n as paragraphVariants,Qe as toDateLabel,Oo as toast,Ho as toggleVariants,Ce as useChart,oo as useDebounce,ka as useFormField,Br as useTanStackFieldContext,Fr as useTanStackForm,Rr as useTanStackFormContext,Ar as withTanStackFieldGroup,Cr as withTanStackForm};
@@ -36,7 +36,7 @@ declare const ResizablePanelGroup: import("react").NamedExoticComponent<Omit<imp
36
36
  children?: import("react").ReactNode | undefined;
37
37
  } & import("react").RefAttributes<ResizablePrimitive.ImperativePanelGroupHandle>>;
38
38
  /** An individual resizable panel within a ResizablePanelGroup. */
39
- declare const ResizablePanel: import("react").NamedExoticComponent<Omit<import("react").HTMLAttributes<HTMLParagraphElement | HTMLElement | HTMLInputElement | HTMLButtonElement | HTMLFieldSetElement | HTMLLegendElement | HTMLDivElement | HTMLLabelElement | HTMLObjectElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLLIElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement>, "id" | "onResize"> & {
39
+ declare const ResizablePanel: import("react").NamedExoticComponent<Omit<import("react").HTMLAttributes<HTMLParagraphElement | HTMLElement | HTMLInputElement | HTMLButtonElement | HTMLDivElement | HTMLFieldSetElement | HTMLLegendElement | HTMLLabelElement | HTMLObjectElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLLIElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement>, "id" | "onResize"> & {
40
40
  className?: string;
41
41
  collapsedSize?: number | undefined;
42
42
  collapsible?: boolean | undefined;
@@ -61,4 +61,4 @@ declare const ResizablePanel: import("react").NamedExoticComponent<Omit<import("
61
61
  declare const ResizableHandle: import("react").NamedExoticComponent<TResizableHandle>;
62
62
  //#endregion
63
63
  export { ResizablePanel as n, ResizablePanelGroup as r, ResizableHandle as t };
64
- //# sourceMappingURL=resizable-CNIYTd7k.d.cts.map
64
+ //# sourceMappingURL=resizable-BLfxHCf4.d.cts.map
@@ -36,7 +36,7 @@ declare const ResizablePanelGroup: import("react").NamedExoticComponent<Omit<imp
36
36
  children?: import("react").ReactNode | undefined;
37
37
  } & import("react").RefAttributes<ResizablePrimitive.ImperativePanelGroupHandle>>;
38
38
  /** An individual resizable panel within a ResizablePanelGroup. */
39
- declare const ResizablePanel: import("react").NamedExoticComponent<Omit<import("react").HTMLAttributes<HTMLParagraphElement | HTMLElement | HTMLInputElement | HTMLButtonElement | HTMLFieldSetElement | HTMLLegendElement | HTMLDivElement | HTMLLabelElement | HTMLObjectElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLLIElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement>, "id" | "onResize"> & {
39
+ declare const ResizablePanel: import("react").NamedExoticComponent<Omit<import("react").HTMLAttributes<HTMLParagraphElement | HTMLElement | HTMLInputElement | HTMLButtonElement | HTMLDivElement | HTMLFieldSetElement | HTMLLegendElement | HTMLLabelElement | HTMLObjectElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLLIElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSlotElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement>, "id" | "onResize"> & {
40
40
  className?: string;
41
41
  collapsedSize?: number | undefined;
42
42
  collapsible?: boolean | undefined;
@@ -61,4 +61,4 @@ declare const ResizablePanel: import("react").NamedExoticComponent<Omit<import("
61
61
  declare const ResizableHandle: import("react").NamedExoticComponent<TResizableHandle>;
62
62
  //#endregion
63
63
  export { ResizablePanel as n, ResizablePanelGroup as r, ResizableHandle as t };
64
- //# sourceMappingURL=resizable-CNIYTd7k.d.mts.map
64
+ //# sourceMappingURL=resizable-BLfxHCf4.d.mts.map
@@ -0,0 +1,4 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("@customafk/react-toolkit/utils"),n=require("react/jsx-runtime"),r=require("recharts");const i={light:``,dark:`.dark`},a=(0,e.createContext)(null),o=()=>{let t=(0,e.useContext)(a);if(!t)throw Error(`useChart must be used within a <ChartContainer />`);return t},s=({id:i,className:o,children:s,config:c,...l})=>{let d=(0,e.useId)(),f=`chart-${i||d.replace(/:/g,``)}`;return(0,n.jsx)(a.Provider,{value:{config:c},children:(0,n.jsxs)(`div`,{"data-slot":`chart`,"data-chart":f,className:(0,t.cn)(`flex aspect-video justify-center text-xs`,`[&_.recharts-cartesian-axis-tick_text]:fill-muted`,`[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50`,`[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border`,`[&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border`,`[&_.recharts-radial-bar-background-sector]:fill-muted-muted`,`[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted-muted`,`[&_.recharts-reference-line_[stroke='#ccc']]:stroke-border`,`[&_.recharts-dot[stroke='#fff']]:stroke-transparent`,`[&_.recharts-layer]:outline-hidden`,`[&_.recharts-sector]:outline-hidden`,`[&_.recharts-sector[stroke='#fff']]:stroke-transparent`,`[&_.recharts-surface]:outline-hidden`,o),...l,children:[(0,n.jsx)(u,{id:f,config:c}),(0,n.jsx)(r.ResponsiveContainer,{children:s})]})})},c=/^[a-zA-Z0-9#(),.%\s/_-]+$/,l=/^[a-zA-Z0-9_-]+$/,u=({id:e,config:t})=>{let r=Object.entries(t).filter(([e,t])=>(t.theme||t.color)&&l.test(e));return r.length?(0,n.jsx)(`style`,{dangerouslySetInnerHTML:{__html:Object.entries(i).map(([t,n])=>`${n} [data-chart=${e}] {\n${r.map(([e,n])=>{let r=n.theme?.[t]||n.color;return!r||!c.test(r)?null:` --color-${e}: ${r};`}).filter(Boolean).join(`
2
+ `)}\n}`).join(`
3
+ `)}}):null},d=r.Tooltip,f=({active:r,payload:i,className:a,indicator:s=`dot`,hideLabel:c=!1,hideIndicator:l=!1,label:u,labelFormatter:d,labelClassName:f,formatter:p,color:m,nameKey:g,labelKey:_})=>{let{config:v}=o(),y=(0,e.useMemo)(()=>{if(c||!i?.length)return null;let[e]=i,r=h(v,e,`${_||e?.dataKey||e?.name||`value`}`),a=!_&&typeof u==`string`?v[u]?.label||u:r?.label;return d?(0,n.jsx)(`div`,{className:(0,t.cn)(`font-medium`,f),children:d(a,i)}):a?(0,n.jsx)(`div`,{className:(0,t.cn)(`font-medium`,f),children:a}):null},[u,d,i,c,f,v,_]);if(!r||!i?.length)return null;let b=i.length===1&&s!==`dot`;return(0,n.jsxs)(`div`,{"data-slot":`chart-tooltip-content`,className:(0,t.cn)(`border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-dropdown`,a),children:[b?null:y,(0,n.jsx)(`div`,{className:`grid gap-1.5`,children:i.map((e,r)=>{let i=h(v,e,`${g||e.name||e.dataKey||`value`}`),a=m||e.payload?.fill||e.color;return(0,n.jsx)(`div`,{className:(0,t.cn)(`flex w-full flex-wrap items-stretch gap-2`,`[&>svg]:text-muted [&>svg]:size-2.5`,s===`dot`&&`items-center`),children:p&&e?.value!==void 0&&e.name?p(e.value,String(e.name),e,r,e.payload):(0,n.jsxs)(n.Fragment,{children:[i?.icon?(0,n.jsx)(i.icon,{}):!l&&(0,n.jsx)(`div`,{className:(0,t.cn)(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,{"size-2.5":s===`dot`,"w-1":s===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":s===`dashed`,"my-0.5":b&&s===`dashed`}),style:{"--color-bg":a,"--color-border":a}}),(0,n.jsxs)(`div`,{className:(0,t.cn)(`flex flex-1 justify-between gap-2 leading-none`,b?`items-end`:`items-center`),children:[(0,n.jsxs)(`div`,{className:`grid gap-1.5`,children:[b?y:null,(0,n.jsx)(`span`,{className:`text-muted`,children:i?.label||e.name})]}),e.value!==void 0&&(0,n.jsx)(`span`,{className:`text-text-positive-strong font-number font-medium tabular-nums`,children:typeof e.value==`number`?e.value.toLocaleString():e.value})]})]})},typeof e.dataKey==`function`?r:e.dataKey??r)})})]})},p=r.Legend,m=({className:e,hideIcon:r=!1,payload:i,verticalAlign:a=`bottom`,nameKey:s})=>{let{config:c}=o();return i?.length?(0,n.jsx)(`div`,{"data-slot":`chart-legend-content`,className:(0,t.cn)(`flex items-center justify-center gap-4`,a===`top`?`pb-3`:`pt-3`,e),children:i.map(e=>{let i=h(c,e,`${s||e.dataKey||`value`}`);return(0,n.jsxs)(`div`,{className:(0,t.cn)(`flex items-center gap-1.5`,`[&>svg]:text-muted [&>svg]:size-3`),children:[i?.icon&&!r?(0,n.jsx)(i.icon,{}):(0,n.jsx)(`div`,{className:`size-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),(0,n.jsx)(`span`,{className:`text-muted-strong`,children:i?.label??e.value})]},`${e.value}`)})}):null},h=(e,t,n)=>{if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n,a=t;return n in a&&typeof a[n]==`string`?i=a[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]};exports.ChartContainer=s,exports.ChartLegend=p,exports.ChartLegendContent=m,exports.ChartStyle=u,exports.ChartTooltip=d,exports.ChartTooltipContent=f,exports.useChart=o;
4
+ //# sourceMappingURL=chart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.cjs","names":["ResponsiveContainer","Tooltip","Legend"],"sources":["../../packages/components/ui/chart.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useId, useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport type { LegendPayload, TooltipContentProps } from 'recharts';\nimport { Legend, ResponsiveContainer, Tooltip } from 'recharts';\n\nconst THEMES = { light: '', dark: '.dark' } as const;\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> });\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nexport const useChart = () => {\n const context = useContext(ChartContext);\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n return context;\n};\n\nexport type ChartContainerProps = React.ComponentProps<'div'> & {\n config: ChartConfig;\n children: React.ComponentProps<typeof ResponsiveContainer>['children'];\n};\n\nexport const ChartContainer = ({ id, className, children, config, ...props }: ChartContainerProps) => {\n const uniqueId = useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n 'flex aspect-video justify-center text-xs',\n '[&_.recharts-cartesian-axis-tick_text]:fill-muted',\n \"[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50\",\n '[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n \"[&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border\",\n '[&_.recharts-radial-bar-background-sector]:fill-muted-muted',\n '[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted-muted',\n \"[&_.recharts-reference-line_[stroke='#ccc']]:stroke-border\",\n \"[&_.recharts-dot[stroke='#fff']]:stroke-transparent\",\n '[&_.recharts-layer]:outline-hidden',\n '[&_.recharts-sector]:outline-hidden',\n \"[&_.recharts-sector[stroke='#fff']]:stroke-transparent\",\n '[&_.recharts-surface]:outline-hidden',\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <ResponsiveContainer>{children}</ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n};\n\n/** Accepts CSS color notations (hex, rgb/hsl/oklch, var(...)) while rejecting CSS injection. */\nconst SAFE_CSS_COLOR_PATTERN = /^[a-zA-Z0-9#(),.%\\s/_-]+$/;\nconst SAFE_CSS_KEY_PATTERN = /^[a-zA-Z0-9_-]+$/;\n\nexport const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([key, itemConfig]) => (itemConfig.theme || itemConfig.color) && SAFE_CSS_KEY_PATTERN.test(key));\n\n if (!colorConfig.length) return null;\n\n const css = Object.entries(THEMES)\n .map(([theme, prefix]) => {\n const rules = colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof THEMES] || itemConfig.color;\n if (!color || !SAFE_CSS_COLOR_PATTERN.test(color)) return null;\n return ` --color-${key}: ${color};`;\n })\n .filter(Boolean)\n .join('\\n');\n return `${prefix} [data-chart=${id}] {\\n${rules}\\n}`;\n })\n .join('\\n');\n\n // biome-ignore lint/security/noDangerouslySetInnerHtml: values are sanitized against SAFE_CSS_* patterns above\n return <style dangerouslySetInnerHTML={{ __html: css }} />;\n};\n\nexport const ChartTooltip = Tooltip;\n\ntype TooltipItemPayload = NonNullable<TooltipContentProps<number | string, string>['payload']>[number];\n\nexport type ChartTooltipContentProps = React.ComponentProps<'div'> &\n Partial<Pick<TooltipContentProps<number | string, string>, 'active' | 'payload' | 'label' | 'labelFormatter' | 'formatter'>> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n nameKey?: string;\n labelKey?: string;\n labelClassName?: string;\n };\n\nexport const ChartTooltipContent = ({\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: ChartTooltipContentProps) => {\n const { config } = useChart();\n\n const tooltipLabel = useMemo(() => {\n if (hideLabel || !payload?.length) return null;\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === 'string' ? config[label as keyof typeof config]?.label || label : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n if (!value) return null;\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n if (!active || !payload?.length) return null;\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n data-slot=\"chart-tooltip-content\"\n className={cn('border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-dropdown', className)}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload?.fill || item.color;\n\n return (\n <div\n key={typeof item.dataKey === 'function' ? index : (item.dataKey ?? index)}\n className={cn('flex w-full flex-wrap items-stretch gap-2', '[&>svg]:text-muted [&>svg]:size-2.5', indicator === 'dot' && 'items-center')}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value as number | string, String(item.name), item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)', {\n 'size-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div className={cn('flex flex-1 justify-between gap-2 leading-none', nestLabel ? 'items-end' : 'items-center')}>\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value !== undefined && (\n <span className=\"text-text-positive-strong font-number font-medium tabular-nums\">\n {typeof item.value === 'number' ? item.value.toLocaleString() : item.value}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport const ChartLegend = Legend;\n\nexport type ChartLegendContentProps = React.ComponentProps<'div'> & {\n payload?: readonly LegendPayload[];\n verticalAlign?: 'top' | 'bottom' | 'middle';\n hideIcon?: boolean;\n nameKey?: string;\n};\n\nexport const ChartLegendContent = ({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }: ChartLegendContentProps) => {\n const { config } = useChart();\n\n if (!payload?.length) return null;\n\n return (\n <div data-slot=\"chart-legend-content\" className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}>\n {payload.map(item => {\n const key = `${nameKey || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div key={`${item.value}`} className={cn('flex items-center gap-1.5', '[&>svg]:text-muted [&>svg]:size-3')}>\n {itemConfig?.icon && !hideIcon ? <itemConfig.icon /> : <div className=\"size-2 shrink-0 rounded-[2px]\" style={{ backgroundColor: item.color }} />}\n <span className=\"text-muted-strong\">{itemConfig?.label ?? item.value}</span>\n </div>\n );\n })}\n </div>\n );\n};\n\nconst getPayloadConfigFromPayload = (config: ChartConfig, payload: TooltipItemPayload | LegendPayload | undefined, key: string) => {\n if (typeof payload !== 'object' || payload === null) return undefined;\n\n const payloadPayload =\n 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null ? (payload.payload as Record<string, unknown>) : undefined;\n\n let configLabelKey: string = key;\n\n const record = payload as unknown as Record<string, unknown>;\n if (key in record && typeof record[key] === 'string') {\n configLabelKey = record[key] as string;\n } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === 'string') {\n configLabelKey = payloadPayload[key] as string;\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key];\n};\n"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { LegendPayload, ResponsiveContainer, Tooltip, TooltipContentProps } from "recharts";
2
+
3
+ //#region packages/components/ui/chart.d.ts
4
+ declare const THEMES: {
5
+ readonly light: "";
6
+ readonly dark: ".dark";
7
+ };
8
+ type ChartConfig = { [k in string]: {
9
+ label?: React.ReactNode;
10
+ icon?: React.ComponentType;
11
+ } & ({
12
+ color?: string;
13
+ theme?: never;
14
+ } | {
15
+ color?: never;
16
+ theme: Record<keyof typeof THEMES, string>;
17
+ }) };
18
+ type ChartContextProps = {
19
+ config: ChartConfig;
20
+ };
21
+ declare const useChart: () => ChartContextProps;
22
+ type ChartContainerProps = React.ComponentProps<'div'> & {
23
+ config: ChartConfig;
24
+ children: React.ComponentProps<typeof ResponsiveContainer>['children'];
25
+ };
26
+ declare const ChartContainer: ({
27
+ id,
28
+ className,
29
+ children,
30
+ config,
31
+ ...props
32
+ }: ChartContainerProps) => import("react").JSX.Element;
33
+ declare const ChartStyle: ({
34
+ id,
35
+ config
36
+ }: {
37
+ id: string;
38
+ config: ChartConfig;
39
+ }) => import("react").JSX.Element | null;
40
+ declare const ChartTooltip: typeof Tooltip;
41
+ type ChartTooltipContentProps = React.ComponentProps<'div'> & Partial<Pick<TooltipContentProps<number | string, string>, 'active' | 'payload' | 'label' | 'labelFormatter' | 'formatter'>> & {
42
+ hideLabel?: boolean;
43
+ hideIndicator?: boolean;
44
+ indicator?: 'line' | 'dot' | 'dashed';
45
+ nameKey?: string;
46
+ labelKey?: string;
47
+ labelClassName?: string;
48
+ };
49
+ declare const ChartTooltipContent: ({
50
+ active,
51
+ payload,
52
+ className,
53
+ indicator,
54
+ hideLabel,
55
+ hideIndicator,
56
+ label,
57
+ labelFormatter,
58
+ labelClassName,
59
+ formatter,
60
+ color,
61
+ nameKey,
62
+ labelKey
63
+ }: ChartTooltipContentProps) => import("react").JSX.Element | null;
64
+ declare const ChartLegend: import("react").MemoExoticComponent<(outsideProps: import("recharts").LegendProps) => React.ReactPortal | null>;
65
+ type ChartLegendContentProps = React.ComponentProps<'div'> & {
66
+ payload?: readonly LegendPayload[];
67
+ verticalAlign?: 'top' | 'bottom' | 'middle';
68
+ hideIcon?: boolean;
69
+ nameKey?: string;
70
+ };
71
+ declare const ChartLegendContent: ({
72
+ className,
73
+ hideIcon,
74
+ payload,
75
+ verticalAlign,
76
+ nameKey
77
+ }: ChartLegendContentProps) => import("react").JSX.Element | null;
78
+ //#endregion
79
+ export { ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartStyle, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, useChart };
80
+ //# sourceMappingURL=chart.d.cts.map
@@ -0,0 +1,80 @@
1
+ import { LegendPayload, ResponsiveContainer, Tooltip, TooltipContentProps } from "recharts";
2
+
3
+ //#region packages/components/ui/chart.d.ts
4
+ declare const THEMES: {
5
+ readonly light: "";
6
+ readonly dark: ".dark";
7
+ };
8
+ type ChartConfig = { [k in string]: {
9
+ label?: React.ReactNode;
10
+ icon?: React.ComponentType;
11
+ } & ({
12
+ color?: string;
13
+ theme?: never;
14
+ } | {
15
+ color?: never;
16
+ theme: Record<keyof typeof THEMES, string>;
17
+ }) };
18
+ type ChartContextProps = {
19
+ config: ChartConfig;
20
+ };
21
+ declare const useChart: () => ChartContextProps;
22
+ type ChartContainerProps = React.ComponentProps<'div'> & {
23
+ config: ChartConfig;
24
+ children: React.ComponentProps<typeof ResponsiveContainer>['children'];
25
+ };
26
+ declare const ChartContainer: ({
27
+ id,
28
+ className,
29
+ children,
30
+ config,
31
+ ...props
32
+ }: ChartContainerProps) => import("react").JSX.Element;
33
+ declare const ChartStyle: ({
34
+ id,
35
+ config
36
+ }: {
37
+ id: string;
38
+ config: ChartConfig;
39
+ }) => import("react").JSX.Element | null;
40
+ declare const ChartTooltip: typeof Tooltip;
41
+ type ChartTooltipContentProps = React.ComponentProps<'div'> & Partial<Pick<TooltipContentProps<number | string, string>, 'active' | 'payload' | 'label' | 'labelFormatter' | 'formatter'>> & {
42
+ hideLabel?: boolean;
43
+ hideIndicator?: boolean;
44
+ indicator?: 'line' | 'dot' | 'dashed';
45
+ nameKey?: string;
46
+ labelKey?: string;
47
+ labelClassName?: string;
48
+ };
49
+ declare const ChartTooltipContent: ({
50
+ active,
51
+ payload,
52
+ className,
53
+ indicator,
54
+ hideLabel,
55
+ hideIndicator,
56
+ label,
57
+ labelFormatter,
58
+ labelClassName,
59
+ formatter,
60
+ color,
61
+ nameKey,
62
+ labelKey
63
+ }: ChartTooltipContentProps) => import("react").JSX.Element | null;
64
+ declare const ChartLegend: import("react").MemoExoticComponent<(outsideProps: import("recharts").LegendProps) => React.ReactPortal | null>;
65
+ type ChartLegendContentProps = React.ComponentProps<'div'> & {
66
+ payload?: readonly LegendPayload[];
67
+ verticalAlign?: 'top' | 'bottom' | 'middle';
68
+ hideIcon?: boolean;
69
+ nameKey?: string;
70
+ };
71
+ declare const ChartLegendContent: ({
72
+ className,
73
+ hideIcon,
74
+ payload,
75
+ verticalAlign,
76
+ nameKey
77
+ }: ChartLegendContentProps) => import("react").JSX.Element | null;
78
+ //#endregion
79
+ export { ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartStyle, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, useChart };
80
+ //# sourceMappingURL=chart.d.mts.map
@@ -0,0 +1,4 @@
1
+ "use client";import{createContext as e,useContext as t,useId as n,useMemo as r}from"react";import{cn as i}from"@customafk/react-toolkit/utils";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";import{Legend as c,ResponsiveContainer as l,Tooltip as u}from"recharts";const d={light:``,dark:`.dark`},f=e(null),p=()=>{let e=t(f);if(!e)throw Error(`useChart must be used within a <ChartContainer />`);return e},m=({id:e,className:t,children:r,config:a,...c})=>{let u=n(),d=`chart-${e||u.replace(/:/g,``)}`;return o(f.Provider,{value:{config:a},children:s(`div`,{"data-slot":`chart`,"data-chart":d,className:i(`flex aspect-video justify-center text-xs`,`[&_.recharts-cartesian-axis-tick_text]:fill-muted`,`[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50`,`[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border`,`[&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border`,`[&_.recharts-radial-bar-background-sector]:fill-muted-muted`,`[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted-muted`,`[&_.recharts-reference-line_[stroke='#ccc']]:stroke-border`,`[&_.recharts-dot[stroke='#fff']]:stroke-transparent`,`[&_.recharts-layer]:outline-hidden`,`[&_.recharts-sector]:outline-hidden`,`[&_.recharts-sector[stroke='#fff']]:stroke-transparent`,`[&_.recharts-surface]:outline-hidden`,t),...c,children:[o(_,{id:d,config:a}),o(l,{children:r})]})})},h=/^[a-zA-Z0-9#(),.%\s/_-]+$/,g=/^[a-zA-Z0-9_-]+$/,_=({id:e,config:t})=>{let n=Object.entries(t).filter(([e,t])=>(t.theme||t.color)&&g.test(e));return n.length?o(`style`,{dangerouslySetInnerHTML:{__html:Object.entries(d).map(([t,r])=>`${r} [data-chart=${e}] {\n${n.map(([e,n])=>{let r=n.theme?.[t]||n.color;return!r||!h.test(r)?null:` --color-${e}: ${r};`}).filter(Boolean).join(`
2
+ `)}\n}`).join(`
3
+ `)}}):null},v=u,y=({active:e,payload:t,className:n,indicator:c=`dot`,hideLabel:l=!1,hideIndicator:u=!1,label:d,labelFormatter:f,labelClassName:m,formatter:h,color:g,nameKey:_,labelKey:v})=>{let{config:y}=p(),b=r(()=>{if(l||!t?.length)return null;let[e]=t,n=S(y,e,`${v||e?.dataKey||e?.name||`value`}`),r=!v&&typeof d==`string`?y[d]?.label||d:n?.label;return f?o(`div`,{className:i(`font-medium`,m),children:f(r,t)}):r?o(`div`,{className:i(`font-medium`,m),children:r}):null},[d,f,t,l,m,y,v]);if(!e||!t?.length)return null;let x=t.length===1&&c!==`dot`;return s(`div`,{"data-slot":`chart-tooltip-content`,className:i(`border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-dropdown`,n),children:[x?null:b,o(`div`,{className:`grid gap-1.5`,children:t.map((e,t)=>{let n=S(y,e,`${_||e.name||e.dataKey||`value`}`),r=g||e.payload?.fill||e.color;return o(`div`,{className:i(`flex w-full flex-wrap items-stretch gap-2`,`[&>svg]:text-muted [&>svg]:size-2.5`,c===`dot`&&`items-center`),children:h&&e?.value!==void 0&&e.name?h(e.value,String(e.name),e,t,e.payload):s(a,{children:[n?.icon?o(n.icon,{}):!u&&o(`div`,{className:i(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,{"size-2.5":c===`dot`,"w-1":c===`line`,"w-0 border-[1.5px] border-dashed bg-transparent":c===`dashed`,"my-0.5":x&&c===`dashed`}),style:{"--color-bg":r,"--color-border":r}}),s(`div`,{className:i(`flex flex-1 justify-between gap-2 leading-none`,x?`items-end`:`items-center`),children:[s(`div`,{className:`grid gap-1.5`,children:[x?b:null,o(`span`,{className:`text-muted`,children:n?.label||e.name})]}),e.value!==void 0&&o(`span`,{className:`text-text-positive-strong font-number font-medium tabular-nums`,children:typeof e.value==`number`?e.value.toLocaleString():e.value})]})]})},typeof e.dataKey==`function`?t:e.dataKey??t)})})]})},b=c,x=({className:e,hideIcon:t=!1,payload:n,verticalAlign:r=`bottom`,nameKey:a})=>{let{config:c}=p();return n?.length?o(`div`,{"data-slot":`chart-legend-content`,className:i(`flex items-center justify-center gap-4`,r===`top`?`pb-3`:`pt-3`,e),children:n.map(e=>{let n=S(c,e,`${a||e.dataKey||`value`}`);return s(`div`,{className:i(`flex items-center gap-1.5`,`[&>svg]:text-muted [&>svg]:size-3`),children:[n?.icon&&!t?o(n.icon,{}):o(`div`,{className:`size-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),o(`span`,{className:`text-muted-strong`,children:n?.label??e.value})]},`${e.value}`)})}):null},S=(e,t,n)=>{if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n,a=t;return n in a&&typeof a[n]==`string`?i=a[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]};export{m as ChartContainer,b as ChartLegend,x as ChartLegendContent,_ as ChartStyle,v as ChartTooltip,y as ChartTooltipContent,p as useChart};
4
+ //# sourceMappingURL=chart.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.mjs","names":[],"sources":["../../packages/components/ui/chart.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, useContext, useId, useMemo } from 'react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport type { LegendPayload, TooltipContentProps } from 'recharts';\nimport { Legend, ResponsiveContainer, Tooltip } from 'recharts';\n\nconst THEMES = { light: '', dark: '.dark' } as const;\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & ({ color?: string; theme?: never } | { color?: never; theme: Record<keyof typeof THEMES, string> });\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nexport const useChart = () => {\n const context = useContext(ChartContext);\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n return context;\n};\n\nexport type ChartContainerProps = React.ComponentProps<'div'> & {\n config: ChartConfig;\n children: React.ComponentProps<typeof ResponsiveContainer>['children'];\n};\n\nexport const ChartContainer = ({ id, className, children, config, ...props }: ChartContainerProps) => {\n const uniqueId = useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n 'flex aspect-video justify-center text-xs',\n '[&_.recharts-cartesian-axis-tick_text]:fill-muted',\n \"[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50\",\n '[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n \"[&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border\",\n '[&_.recharts-radial-bar-background-sector]:fill-muted-muted',\n '[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted-muted',\n \"[&_.recharts-reference-line_[stroke='#ccc']]:stroke-border\",\n \"[&_.recharts-dot[stroke='#fff']]:stroke-transparent\",\n '[&_.recharts-layer]:outline-hidden',\n '[&_.recharts-sector]:outline-hidden',\n \"[&_.recharts-sector[stroke='#fff']]:stroke-transparent\",\n '[&_.recharts-surface]:outline-hidden',\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <ResponsiveContainer>{children}</ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n};\n\n/** Accepts CSS color notations (hex, rgb/hsl/oklch, var(...)) while rejecting CSS injection. */\nconst SAFE_CSS_COLOR_PATTERN = /^[a-zA-Z0-9#(),.%\\s/_-]+$/;\nconst SAFE_CSS_KEY_PATTERN = /^[a-zA-Z0-9_-]+$/;\n\nexport const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([key, itemConfig]) => (itemConfig.theme || itemConfig.color) && SAFE_CSS_KEY_PATTERN.test(key));\n\n if (!colorConfig.length) return null;\n\n const css = Object.entries(THEMES)\n .map(([theme, prefix]) => {\n const rules = colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof THEMES] || itemConfig.color;\n if (!color || !SAFE_CSS_COLOR_PATTERN.test(color)) return null;\n return ` --color-${key}: ${color};`;\n })\n .filter(Boolean)\n .join('\\n');\n return `${prefix} [data-chart=${id}] {\\n${rules}\\n}`;\n })\n .join('\\n');\n\n // biome-ignore lint/security/noDangerouslySetInnerHtml: values are sanitized against SAFE_CSS_* patterns above\n return <style dangerouslySetInnerHTML={{ __html: css }} />;\n};\n\nexport const ChartTooltip = Tooltip;\n\ntype TooltipItemPayload = NonNullable<TooltipContentProps<number | string, string>['payload']>[number];\n\nexport type ChartTooltipContentProps = React.ComponentProps<'div'> &\n Partial<Pick<TooltipContentProps<number | string, string>, 'active' | 'payload' | 'label' | 'labelFormatter' | 'formatter'>> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n nameKey?: string;\n labelKey?: string;\n labelClassName?: string;\n };\n\nexport const ChartTooltipContent = ({\n active,\n payload,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: ChartTooltipContentProps) => {\n const { config } = useChart();\n\n const tooltipLabel = useMemo(() => {\n if (hideLabel || !payload?.length) return null;\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === 'string' ? config[label as keyof typeof config]?.label || label : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n if (!value) return null;\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n if (!active || !payload?.length) return null;\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n data-slot=\"chart-tooltip-content\"\n className={cn('border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-dropdown', className)}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload?.fill || item.color;\n\n return (\n <div\n key={typeof item.dataKey === 'function' ? index : (item.dataKey ?? index)}\n className={cn('flex w-full flex-wrap items-stretch gap-2', '[&>svg]:text-muted [&>svg]:size-2.5', indicator === 'dot' && 'items-center')}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value as number | string, String(item.name), item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)', {\n 'size-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div className={cn('flex flex-1 justify-between gap-2 leading-none', nestLabel ? 'items-end' : 'items-center')}>\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value !== undefined && (\n <span className=\"text-text-positive-strong font-number font-medium tabular-nums\">\n {typeof item.value === 'number' ? item.value.toLocaleString() : item.value}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport const ChartLegend = Legend;\n\nexport type ChartLegendContentProps = React.ComponentProps<'div'> & {\n payload?: readonly LegendPayload[];\n verticalAlign?: 'top' | 'bottom' | 'middle';\n hideIcon?: boolean;\n nameKey?: string;\n};\n\nexport const ChartLegendContent = ({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }: ChartLegendContentProps) => {\n const { config } = useChart();\n\n if (!payload?.length) return null;\n\n return (\n <div data-slot=\"chart-legend-content\" className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}>\n {payload.map(item => {\n const key = `${nameKey || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div key={`${item.value}`} className={cn('flex items-center gap-1.5', '[&>svg]:text-muted [&>svg]:size-3')}>\n {itemConfig?.icon && !hideIcon ? <itemConfig.icon /> : <div className=\"size-2 shrink-0 rounded-[2px]\" style={{ backgroundColor: item.color }} />}\n <span className=\"text-muted-strong\">{itemConfig?.label ?? item.value}</span>\n </div>\n );\n })}\n </div>\n );\n};\n\nconst getPayloadConfigFromPayload = (config: ChartConfig, payload: TooltipItemPayload | LegendPayload | undefined, key: string) => {\n if (typeof payload !== 'object' || payload === null) return undefined;\n\n const payloadPayload =\n 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null ? (payload.payload as Record<string, unknown>) : undefined;\n\n let configLabelKey: string = key;\n\n const record = payload as unknown as Record<string, unknown>;\n if (key in record && typeof record[key] === 'string') {\n configLabelKey = record[key] as string;\n } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === 'string') {\n configLabelKey = payloadPayload[key] as string;\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key];\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-CNIYTd7k.cjs";
1
+ import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-BLfxHCf4.cjs";
2
2
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
@@ -1,2 +1,2 @@
1
- import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-CNIYTd7k.mjs";
1
+ import { n as ResizablePanel, r as ResizablePanelGroup, t as ResizableHandle } from "../resizable-BLfxHCf4.mjs";
2
2
  export { ResizableHandle, ResizablePanel, ResizablePanelGroup };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customafk/lunas-ui",
3
- "version": "0.2.62",
3
+ "version": "0.2.64",
4
4
  "description": "UI library for Lunas Enterprise",
5
5
  "type": "module",
6
6
  "author": {
@@ -104,6 +104,10 @@
104
104
  "require": "./dist/dialogs/loading-dialog.cjs",
105
105
  "import": "./dist/dialogs/loading-dialog.mjs"
106
106
  },
107
+ "./features/charts": {
108
+ "require": "./dist/features/charts/index.cjs",
109
+ "import": "./dist/features/charts/index.mjs"
110
+ },
107
111
  "./features/descriptions": {
108
112
  "require": "./dist/features/descriptions/index.cjs",
109
113
  "import": "./dist/features/descriptions/index.mjs"
@@ -248,6 +252,10 @@
248
252
  "require": "./dist/ui/carousel.cjs",
249
253
  "import": "./dist/ui/carousel.mjs"
250
254
  },
255
+ "./ui/chart": {
256
+ "require": "./dist/ui/chart.cjs",
257
+ "import": "./dist/ui/chart.mjs"
258
+ },
251
259
  "./ui/checkbox": {
252
260
  "require": "./dist/ui/checkbox.cjs",
253
261
  "import": "./dist/ui/checkbox.mjs"
@@ -475,6 +483,7 @@
475
483
  "react-dropzone": "^14.3.0",
476
484
  "react-hook-form": "^7.62.0",
477
485
  "react-resizable-panels": "^3.0.0",
486
+ "recharts": "^3.9.1",
478
487
  "sonner": "^2.0.5",
479
488
  "tailwind-merge": "^3.3.0",
480
489
  "tailwindcss": "^4.1.0",
@@ -504,6 +513,7 @@
504
513
  "@vitest/coverage-v8": "^4.1.9",
505
514
  "jsdom": "^26.1.0",
506
515
  "playwright": "^1.61.0",
516
+ "recharts": "^3.9.1",
507
517
  "tsdown": "^0.22.3",
508
518
  "typescript": "^5.8.3",
509
519
  "typescript-eslint": "^8.30.1",
package/styles/theme.css CHANGED
@@ -106,11 +106,14 @@
106
106
  --input: oklch(0.871 0.006 286.286); /* --color-zinc-300 */
107
107
  --ring: oklch(0.81 0.1 294); /* --color-violet-300 */
108
108
 
109
- --chart-1: oklch(0.646 0.222 41.116);
110
- --chart-2: oklch(0.6 0.118 184.704);
111
- --chart-3: oklch(0.398 0.07 227.392);
112
- --chart-4: oklch(0.828 0.189 84.429);
113
- --chart-5: oklch(0.769 0.188 70.08);
109
+ --chart-1: oklch(0.61 0.22 293); /* violet — matches --primary */
110
+ --chart-2: oklch(0.62 0.19 260); /* blue — matches --info */
111
+ --chart-3: oklch(0.72 0.19 150); /* green — matches --success */
112
+ --chart-4: oklch(0.78 0.16 75); /* amber */
113
+ --chart-5: oklch(0.64 0.21 25); /* red */
114
+ --chart-6: oklch(0.7 0.14 195); /* teal */
115
+ --chart-7: oklch(0.66 0.2 330); /* fuchsia */
116
+ --chart-8: oklch(0.55 0.04 285); /* muted slate-violet */
114
117
 
115
118
  --sidebar: oklch(0.97 0 286); /* --color-zinc-100 */
116
119
  --sidebar-foreground: oklch(0.28 0.04 260.03);