@uselets/ui 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/components/anchor.d.ts +1 -1
- package/dist/components/badge.d.ts +5 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/button-group.d.ts +1 -1
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/center.d.ts +2 -2
- package/dist/components/combobox.js +1 -1
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/empty.d.ts +1 -1
- package/dist/components/field.d.ts +1 -1
- package/dist/components/flex.d.ts +3 -3
- package/dist/components/group.d.ts +3 -3
- package/dist/components/heading.d.ts +1 -1
- package/dist/components/input-group.d.ts +1 -1
- package/dist/components/list.d.ts +2 -2
- package/dist/components/sidebar.d.ts +1 -1
- package/dist/components/stack.d.ts +3 -3
- package/dist/components/table.d.ts +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/text.d.ts +1 -1
- package/dist/components/timeline.d.ts +2 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/lib/badge.d.ts +20 -0
- package/dist/lib/badge.js +2 -0
- package/dist/lib/badge.js.map +1 -0
- package/dist/skills/uselets-ui/references/component-catalog.md +1 -0
- package/dist/styles/theme.css +4 -0
- package/package.json +1 -1
- package/skills/uselets-ui/references/component-catalog.md +1 -0
package/README.md
CHANGED
|
@@ -318,6 +318,7 @@ You can import from the package root (`@uselets/ui`) or by subpath (`@uselets/ui
|
|
|
318
318
|
| `alert` | `Alert`, `AlertTitle`, `AlertDescription`, `AlertAction` | `Alert` supports `variant: 'default' \| 'destructive'` (default: `default`). |
|
|
319
319
|
| `anchor` | `Anchor`, `anchorVariants` | Link primitive rendered as `<a>` with `size: 'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'`, `underline: 'always' \| 'hover' \| 'never' \| 'not-hover'` (default: `hover`), and `asChild`. |
|
|
320
320
|
| `avatar` | `Avatar`, `AvatarImage`, `AvatarFallback`, `AvatarBadge`, `AvatarGroup`, `AvatarGroupCount` | `Avatar` supports `size: 'sm' \| 'md' \| 'lg'` (default: `md`). |
|
|
321
|
+
| `badge` | `Badge`, `badgeVariants` | `size: 'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'` (default: `md`); `variant: 'solid' \| 'outline' \| 'subtle' \| 'ghost' \| 'link'` (default: `solid`); `color: UIColor` (default: `primary`); `asChild?: boolean`. |
|
|
321
322
|
| `button` | `Button`, `buttonVariants` | `variant: 'solid' \| 'outline' \| 'subtle' \| 'ghost' \| 'link'` (default: `solid`); `color: UIColor` (default: `primary`); `size: 'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl' \| 'icon-xs' \| 'icon-sm' \| 'icon' \| 'icon-lg' \| 'icon-xl'`; `loading?: boolean`. |
|
|
322
323
|
| `unstyled-button` | `UnstyledButton` | Button primitive with reset styles, pointer cursor, accessible focus ring, default `type="button"`, and `asChild`. |
|
|
323
324
|
| `calendar` | `Calendar`, `CalendarDayButton` | Also exports the `DateRange` type. Weekends render with destructive text, week numbers are low-emphasis, and selected single/range endpoints use the `primary` palette with a subtle primary range fill. |
|
|
@@ -4,7 +4,7 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/anchor.d.ts
|
|
6
6
|
declare const anchorVariants: (props?: ({
|
|
7
|
-
size?: "
|
|
7
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
8
8
|
underline?: "always" | "hover" | "never" | "not-hover" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
10
|
type AnchorProps = React.ComponentProps<'a'> & VariantProps<typeof anchorVariants> & {
|
|
@@ -4,14 +4,18 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/badge.d.ts
|
|
6
6
|
declare const badgeVariants: (props?: ({
|
|
7
|
-
|
|
7
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
8
|
+
variant?: "link" | "solid" | "outline" | "subtle" | "ghost" | null | undefined;
|
|
9
|
+
color?: "primary" | "brand" | "gray" | "zinc" | "red" | "yellow" | "blue" | "indigo" | "pink" | "green" | null | undefined;
|
|
8
10
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
11
|
type BadgeProps = React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
|
|
10
12
|
asChild?: boolean;
|
|
11
13
|
};
|
|
12
14
|
declare function Badge({
|
|
13
15
|
className,
|
|
16
|
+
size,
|
|
14
17
|
variant,
|
|
18
|
+
color,
|
|
15
19
|
asChild,
|
|
16
20
|
...props
|
|
17
21
|
}: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/components/badge.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{
|
|
1
|
+
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{badgeColorVariants as t}from"../lib/badge.js";import{Slot as n}from"radix-ui";import{jsx as r}from"react/jsx-runtime";import{cva as i}from"class-variance-authority";const a=i(`group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden border border-transparent font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none`,{variants:{size:{xs:`h-4 gap-0.5 px-1.5 text-[10px] rounded-md [&>svg]:size-2.5! has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1`,sm:`h-4.5 gap-0.5 px-2 text-[11px] rounded-[7px] [&>svg]:size-2.5! has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5`,md:`h-5 gap-1 px-2 py-0.5 text-xs rounded-[8px] [&>svg]:size-3! has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5`,lg:`h-6 gap-1 px-2.5 text-xs rounded-[9px] [&>svg]:size-3.5! has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xl:`h-7 gap-1.5 px-3 text-sm rounded-[10px] [&>svg]:size-4! has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5`},variant:{solid:`bg-(--badge-solid) text-(--badge-solid-foreground) [a]:hover:opacity-90`,outline:`border-(--badge-outline-border) text-(--badge-outline-foreground) [a]:hover:bg-(--badge-soft) [a]:hover:text-(--badge-soft-foreground)`,subtle:`bg-(--badge-soft) text-(--badge-soft-foreground) [a]:hover:bg-(--badge-soft-hover)`,ghost:`text-(--badge-ghost-foreground) [a]:hover:bg-(--badge-ghost-hover) [a]:hover:text-(--badge-ghost-foreground)`,link:`text-(--badge-link-foreground) underline-offset-4 [a]:hover:underline`},color:t},defaultVariants:{size:`md`,variant:`solid`,color:`primary`}});function Badge({className:t,size:i=`md`,variant:o=`solid`,color:s=`primary`,asChild:c=!1,...l}){return r(c?n.Root:`span`,{"data-slot":`badge`,"data-size":i,"data-variant":o,"data-color":s,className:e(a({size:i,variant:o,color:s}),t),...l})}export{Badge,a as badgeVariants};
|
|
2
2
|
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","names":[],"sources":["../../src/components/badge.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'group/badge inline-flex
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../../src/components/badge.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { badgeColorVariants } from '../lib/badge'\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden border border-transparent font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none',\n {\n variants: {\n size: {\n xs: 'h-4 gap-0.5 px-1.5 text-[10px] rounded-md [&>svg]:size-2.5! has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1',\n sm: 'h-4.5 gap-0.5 px-2 text-[11px] rounded-[7px] [&>svg]:size-2.5! has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5',\n md: 'h-5 gap-1 px-2 py-0.5 text-xs rounded-[8px] [&>svg]:size-3! has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5',\n lg: 'h-6 gap-1 px-2.5 text-xs rounded-[9px] [&>svg]:size-3.5! has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n xl: 'h-7 gap-1.5 px-3 text-sm rounded-[10px] [&>svg]:size-4! has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5'\n },\n variant: {\n solid: 'bg-(--badge-solid) text-(--badge-solid-foreground) [a]:hover:opacity-90',\n outline:\n 'border-(--badge-outline-border) text-(--badge-outline-foreground) [a]:hover:bg-(--badge-soft) [a]:hover:text-(--badge-soft-foreground)',\n subtle: 'bg-(--badge-soft) text-(--badge-soft-foreground) [a]:hover:bg-(--badge-soft-hover)',\n ghost:\n 'text-(--badge-ghost-foreground) [a]:hover:bg-(--badge-ghost-hover) [a]:hover:text-(--badge-ghost-foreground)',\n link: 'text-(--badge-link-foreground) underline-offset-4 [a]:hover:underline'\n },\n color: badgeColorVariants\n },\n defaultVariants: {\n size: 'md',\n variant: 'solid',\n color: 'primary'\n }\n }\n)\n\nexport type BadgeProps = React.ComponentProps<'span'> &\n VariantProps<typeof badgeVariants> & {\n asChild?: boolean\n }\n\nfunction Badge({\n className,\n size = 'md',\n variant = 'solid',\n color = 'primary',\n asChild = false,\n ...props\n}: BadgeProps) {\n const Comp = asChild ? Slot.Root : 'span'\n\n return (\n <Comp\n data-slot=\"badge\"\n data-size={size}\n data-variant={variant}\n data-color={color}\n className={cn(badgeVariants({ size, variant, color }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n"],"mappings":"8OAQA,MAAM,EAAgB,EACpB,6WACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,gIACJ,GAAI,uIACJ,GAAI,oIACJ,GAAI,6HACJ,GAAI,+HACN,EACA,QAAS,CACP,MAAO,0EACP,QACE,yIACF,OAAQ,qFACR,MACE,+GACF,KAAM,uEACR,EACA,MAAO,CACT,EACA,gBAAiB,CACf,KAAM,KACN,QAAS,QACT,MAAO,SACT,CACF,CACF,EAOA,SAAS,MAAM,CACb,YACA,OAAO,KACP,UAAU,QACV,QAAQ,UACR,UAAU,GACV,GAAG,GACU,CAGb,OACE,EAHW,EAAU,EAAK,KAAO,OAGjC,CACE,YAAU,QACV,YAAW,EACX,eAAc,EACd,aAAY,EACZ,UAAW,EAAG,EAAc,CAAE,OAAM,UAAS,OAAM,CAAC,EAAG,CAAS,EAChE,GAAI,CACL,CAAA,CAEL"}
|
|
@@ -4,7 +4,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/button-group.d.ts
|
|
6
6
|
declare const buttonGroupVariants: (props?: ({
|
|
7
|
-
orientation?: "
|
|
7
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
type ButtonGroupProps = React.ComponentProps<'div'> & VariantProps<typeof buttonGroupVariants>;
|
|
10
10
|
type ButtonGroupTextProps = React.ComponentProps<'div'> & {
|
|
@@ -4,9 +4,9 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/button.d.ts
|
|
6
6
|
declare const buttonVariants: (props?: ({
|
|
7
|
-
variant?: "
|
|
7
|
+
variant?: "link" | "solid" | "outline" | "subtle" | "ghost" | null | undefined;
|
|
8
8
|
color?: "primary" | "brand" | "gray" | "zinc" | "red" | "yellow" | "blue" | "indigo" | "pink" | "green" | null | undefined;
|
|
9
|
-
size?: "
|
|
9
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | "icon-xl" | null | undefined;
|
|
10
10
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
11
|
type ButtonProps = React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
|
|
12
12
|
asChild?: boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{buttonColorVariants as t}from"../lib/button.js";import{Spinner as n}from"./spinner.js";import{Slot as r}from"radix-ui";import{Fragment as i,jsx as a,jsxs as o}from"react/jsx-runtime";import{cva as s}from"class-variance-authority";const c=s(`focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 relative rounded-full border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all [&_svg]:transition-colors disabled:pointer-events-none disabled:opacity-50 disabled:data-[loading=true]:pointer-events-auto disabled:data-[loading=true]:cursor-not-allowed disabled:data-[loading=true]:opacity-100 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none`,{variants:{variant:{solid:`bg-(--button-solid) text-(--button-solid-foreground) hover:bg-(--button-solid-hover) data-[loading=true]:hover:bg-(--button-solid)`,outline:`border-(--button-outline-border) bg-
|
|
1
|
+
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{buttonColorVariants as t}from"../lib/button.js";import{Spinner as n}from"./spinner.js";import{Slot as r}from"radix-ui";import{Fragment as i,jsx as a,jsxs as o}from"react/jsx-runtime";import{cva as s}from"class-variance-authority";const c=s(`focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 relative rounded-full border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all [&_svg]:transition-colors disabled:pointer-events-none disabled:opacity-50 disabled:data-[loading=true]:pointer-events-auto disabled:data-[loading=true]:cursor-not-allowed disabled:data-[loading=true]:opacity-100 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none`,{variants:{variant:{solid:`bg-(--button-solid) text-(--button-solid-foreground) hover:bg-(--button-solid-hover) data-[loading=true]:hover:bg-(--button-solid)`,outline:`border-(--button-outline-border) bg-transparent text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) hover:[&_svg]:text-(--button-solid-foreground) data-[loading=true]:hover:bg-background data-[loading=true]:hover:text-(--button-outline-foreground) aria-expanded:bg-(--button-solid) aria-expanded:text-(--button-solid-foreground) aria-expanded:[&_svg]:text-(--button-solid-foreground)`,subtle:`bg-(--button-soft) text-(--button-soft-foreground) hover:bg-(--button-soft-hover) hover:text-(--button-soft-foreground) data-[loading=true]:hover:bg-(--button-soft) data-[loading=true]:hover:text-(--button-soft-foreground) aria-expanded:bg-(--button-soft-hover) aria-expanded:text-(--button-soft-foreground)`,ghost:`text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-[loading=true]:hover:bg-transparent data-[loading=true]:hover:text-(--button-ghost-foreground) aria-expanded:bg-(--button-ghost-hover) aria-expanded:text-(--button-ghost-foreground)`,link:`text-(--button-link-foreground) underline-offset-4 hover:underline data-[loading=true]:hover:no-underline`},color:t,size:{xs:`h-7 gap-1 px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1 px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,lg:`h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,xl:`h-11 gap-2 px-3 has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4`,icon:`size-9`,"icon-xs":`size-7 in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8 in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-10`,"icon-xl":`size-11`}},defaultVariants:{variant:`solid`,color:`primary`,size:`md`}});function Button({children:t,className:s,variant:l=`solid`,color:u=`primary`,size:d=`md`,asChild:f=!1,disabled:p,loading:m=!1,...h}){return a(f?r.Root:`button`,{type:f?void 0:`button`,"data-slot":`button`,"data-variant":l,"data-color":u,"data-size":d,"data-loading":m,"aria-busy":m?!0:void 0,disabled:p||m,className:e(c({variant:l,color:u,size:d,className:s})),...h,children:m&&!f?o(i,{children:[a(`span`,{className:`invisible inline-flex items-center gap-[inherit]`,children:t}),a(`span`,{className:`absolute inset-0 inline-flex items-center justify-center`,children:a(n,{})})]}):m?a(n,{}):t})}export{Button,c as buttonVariants};
|
|
2
2
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","names":[],"sources":["../../src/components/button.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\nimport { Spinner } from './spinner'\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 relative rounded-full border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all [&_svg]:transition-colors disabled:pointer-events-none disabled:opacity-50 disabled:data-[loading=true]:pointer-events-auto disabled:data-[loading=true]:cursor-not-allowed disabled:data-[loading=true]:opacity-100 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none\",\n {\n variants: {\n variant: {\n solid:\n 'bg-(--button-solid) text-(--button-solid-foreground) hover:bg-(--button-solid-hover) data-[loading=true]:hover:bg-(--button-solid)',\n outline:\n 'border-(--button-outline-border) bg-
|
|
1
|
+
{"version":3,"file":"button.js","names":[],"sources":["../../src/components/button.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Slot } from 'radix-ui'\n\nimport { buttonColorVariants } from '../lib/button'\nimport { cn } from '../lib/utils'\nimport { Spinner } from './spinner'\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 relative rounded-full border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all [&_svg]:transition-colors disabled:pointer-events-none disabled:opacity-50 disabled:data-[loading=true]:pointer-events-auto disabled:data-[loading=true]:cursor-not-allowed disabled:data-[loading=true]:opacity-100 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none\",\n {\n variants: {\n variant: {\n solid:\n 'bg-(--button-solid) text-(--button-solid-foreground) hover:bg-(--button-solid-hover) data-[loading=true]:hover:bg-(--button-solid)',\n outline:\n 'border-(--button-outline-border) bg-transparent text-(--button-outline-foreground) hover:bg-(--button-solid) hover:text-(--button-solid-foreground) hover:[&_svg]:text-(--button-solid-foreground) data-[loading=true]:hover:bg-background data-[loading=true]:hover:text-(--button-outline-foreground) aria-expanded:bg-(--button-solid) aria-expanded:text-(--button-solid-foreground) aria-expanded:[&_svg]:text-(--button-solid-foreground)',\n subtle:\n 'bg-(--button-soft) text-(--button-soft-foreground) hover:bg-(--button-soft-hover) hover:text-(--button-soft-foreground) data-[loading=true]:hover:bg-(--button-soft) data-[loading=true]:hover:text-(--button-soft-foreground) aria-expanded:bg-(--button-soft-hover) aria-expanded:text-(--button-soft-foreground)',\n ghost:\n 'text-(--button-ghost-foreground) hover:bg-(--button-ghost-hover) hover:text-(--button-ghost-foreground) data-[loading=true]:hover:bg-transparent data-[loading=true]:hover:text-(--button-ghost-foreground) aria-expanded:bg-(--button-ghost-hover) aria-expanded:text-(--button-ghost-foreground)',\n link: 'text-(--button-link-foreground) underline-offset-4 hover:underline data-[loading=true]:hover:no-underline'\n },\n color: buttonColorVariants,\n size: {\n xs: \"h-7 gap-1 px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n md: 'h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n lg: 'h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3',\n xl: 'h-11 gap-2 px-3 has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4',\n icon: 'size-9',\n 'icon-xs': \"size-7 in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n 'icon-sm': 'size-8 in-data-[slot=button-group]:rounded-lg',\n 'icon-lg': 'size-10',\n 'icon-xl': 'size-11'\n }\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'md'\n }\n }\n)\n\nexport type ButtonProps = React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n loading?: boolean\n }\n\nfunction Button({\n children,\n className,\n variant = 'solid',\n color = 'primary',\n size = 'md',\n asChild = false,\n disabled,\n loading = false,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot.Root : 'button'\n const isDisabled = disabled || loading\n\n return (\n <Comp\n type={!asChild ? 'button' : undefined}\n data-slot=\"button\"\n data-variant={variant}\n data-color={color}\n data-size={size}\n data-loading={loading}\n aria-busy={loading ? true : undefined}\n disabled={isDisabled}\n className={cn(buttonVariants({ variant, color, size, className }))}\n {...props}\n >\n {loading && !asChild ? (\n <>\n <span className=\"invisible inline-flex items-center gap-[inherit]\">{children}</span>\n <span className=\"absolute inset-0 inline-flex items-center justify-center\">\n <Spinner />\n </span>\n </>\n ) : loading ? (\n <Spinner />\n ) : (\n children\n )}\n </Comp>\n )\n}\n\nexport { Button, buttonVariants }\n"],"mappings":"+SASA,MAAM,EAAiB,EACrB,kuBACA,CACE,SAAU,CACR,QAAS,CACP,MACE,qIACF,QACE,kbACF,OACE,sTACF,MACE,qSACF,KAAM,2GACR,EACA,MAAO,EACP,KAAM,CACJ,GAAI,2KACJ,GAAI,qLACJ,GAAI,8HACJ,GAAI,wFACJ,GAAI,oFACJ,KAAM,SACN,UAAW,qFACX,UAAW,gDACX,UAAW,UACX,UAAW,SACb,CACF,EACA,gBAAiB,CACf,QAAS,QACT,MAAO,UACP,KAAM,IACR,CACF,CACF,EAQA,SAAS,OAAO,CACd,WACA,YACA,UAAU,QACV,QAAQ,UACR,OAAO,KACP,UAAU,GACV,WACA,UAAU,GACV,GAAG,GACW,CAId,OACE,EAJW,EAAU,EAAK,KAAO,SAIjC,CACE,KAAO,EAAqB,IAAA,GAAX,SACjB,YAAU,SACV,eAAc,EACd,aAAY,EACZ,YAAW,EACX,eAAc,EACd,YAAW,EAAU,GAAO,IAAA,GAC5B,SAXe,GAAY,EAY3B,UAAW,EAAG,EAAe,CAAE,UAAS,QAAO,OAAM,WAAU,CAAC,CAAC,EACjE,GAAI,WAEH,GAAW,CAAC,EACX,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,OAAD,CAAM,UAAU,mDAAoD,UAAe,CAAA,EACnF,EAAC,OAAD,CAAM,UAAU,oEACd,EAAC,EAAD,CAAU,CAAA,CACN,CAAA,CACN,CAAA,CAAA,EACA,EACF,EAAC,EAAD,CAAU,CAAA,EAEV,CAEE,CAAA,CAEV"}
|
|
@@ -4,8 +4,8 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/center.d.ts
|
|
6
6
|
declare const centerVariants: (props?: ({
|
|
7
|
-
direction?: "
|
|
8
|
-
size?: "
|
|
7
|
+
direction?: "vertical" | "horizontal" | null | undefined;
|
|
8
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
10
|
type CenterProps = React.ComponentProps<'div'> & VariantProps<typeof centerVariants>;
|
|
11
11
|
declare function Center({
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{useFieldControlId as n}from"./field.js";import{InputGroup as r,InputGroupAddon as i,InputGroupButton as a,InputGroupInput as o}from"./input-group.js";import{IconCheck as s,IconSelector as c,IconX as l}from"@tabler/icons-react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import*as f from"react";import{Combobox as p}from"@base-ui/react";const m=p.Root;function ComboboxValue({...e}){return u(p.Value,{"data-slot":`combobox-value`,...e})}function ComboboxTrigger({className:t,children:n,icon:r=u(c,{className:`pointer-events-none size-4 text-muted-foreground`}),...i}){return d(p.Trigger,{"data-slot":`combobox-trigger`,className:e(`[&_svg:not([class*='size-'])]:size-4`,t),...i,children:[n,r]})}function ComboboxClear({className:t,...n}){return u(p.Clear,{"data-slot":`combobox-clear`,render:u(a,{variant:`ghost`,size:`icon-xs`}),className:e(t),...n,children:u(l,{className:`pointer-events-none`})})}function ComboboxInput({className:t,children:s,disabled:c=!1,icon:l,id:f,showTrigger:m=!0,showClear:h=!1,triggerIcon:g,..._}){let v=n(f);return d(r,{className:e(`w-auto`,t),children:[l&&u(i,{align:`inline-start`,children:l}),u(p.Input,{id:v,render:u(o,{disabled:c}),..._}),d(i,{align:`inline-end`,children:[m&&u(a,{size:`icon-xs`,variant:`ghost`,asChild:!0,"data-slot":`input-group-button`,className:`group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent`,disabled:c,children:u(ComboboxTrigger,{icon:g})}),h&&u(ComboboxClear,{disabled:c})]}),s]})}function ComboboxContent({className:t,side:n=`bottom`,sideOffset:r=6,align:i=`start`,alignOffset:a=0,anchor:o,container:s,...c}){return u(p.Portal,{container:s,className:`absolute`,children:u(p.Positioner,{side:n,sideOffset:r,align:i,alignOffset:a,anchor:o,className:`isolate z-50`,children:u(p.Popup,{"data-slot":`combobox-content`,"data-chips":!!o,className:e(`group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)
|
|
1
|
+
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{useFieldControlId as n}from"./field.js";import{InputGroup as r,InputGroupAddon as i,InputGroupButton as a,InputGroupInput as o}from"./input-group.js";import{IconCheck as s,IconSelector as c,IconX as l}from"@tabler/icons-react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import*as f from"react";import{Combobox as p}from"@base-ui/react";const m=p.Root;function ComboboxValue({...e}){return u(p.Value,{"data-slot":`combobox-value`,...e})}function ComboboxTrigger({className:t,children:n,icon:r=u(c,{className:`pointer-events-none size-4 text-muted-foreground`}),...i}){return d(p.Trigger,{"data-slot":`combobox-trigger`,className:e(`[&_svg:not([class*='size-'])]:size-4`,t),...i,children:[n,r]})}function ComboboxClear({className:t,...n}){return u(p.Clear,{"data-slot":`combobox-clear`,render:u(a,{variant:`ghost`,size:`icon-xs`}),className:e(t),...n,children:u(l,{className:`pointer-events-none`})})}function ComboboxInput({className:t,children:s,disabled:c=!1,icon:l,id:f,showTrigger:m=!0,showClear:h=!1,triggerIcon:g,..._}){let v=n(f);return d(r,{className:e(`w-auto`,t),children:[l&&u(i,{align:`inline-start`,children:l}),u(p.Input,{id:v,render:u(o,{disabled:c}),..._}),d(i,{align:`inline-end`,children:[m&&u(a,{size:`icon-xs`,variant:`ghost`,asChild:!0,"data-slot":`input-group-button`,className:`group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent`,disabled:c,children:u(ComboboxTrigger,{icon:g})}),h&&u(ComboboxClear,{disabled:c})]}),s]})}function ComboboxContent({className:t,side:n=`bottom`,sideOffset:r=6,align:i=`start`,alignOffset:a=0,anchor:o,container:s,...c}){return u(p.Portal,{container:s,className:`absolute`,children:u(p.Positioner,{side:n,sideOffset:r,align:i,alignOffset:a,anchor:o,className:`isolate z-50`,children:u(p.Popup,{"data-slot":`combobox-content`,"data-chips":!!o,className:e(`group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+(--spacing(7)))] origin-(--transform-origin) overflow-hidden rounded-lg text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!`,t),...c})})})}function ComboboxList({className:t,...n}){return u(p.List,{"data-slot":`combobox-list`,className:e(`no-scrollbar max-h-[min(calc(--spacing(72)-(--spacing(9))),calc(var(--available-height)-(--spacing(9))))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0`,t),...n})}function ComboboxItem({className:t,children:n,...r}){return d(p.Item,{"data-slot":`combobox-item`,className:e(`relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,t),...r,children:[n,u(p.ItemIndicator,{render:u(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`}),children:u(s,{className:`pointer-events-none`})})]})}function ComboboxGroup({className:t,...n}){return u(p.Group,{"data-slot":`combobox-group`,className:e(t),...n})}function ComboboxLabel({className:t,...n}){return u(p.GroupLabel,{"data-slot":`combobox-label`,className:e(`px-2 py-1.5 text-xs text-muted-foreground`,t),...n})}function ComboboxCollection({...e}){return u(p.Collection,{"data-slot":`combobox-collection`,...e})}function ComboboxEmpty({className:t,...n}){return u(p.Empty,{"data-slot":`combobox-empty`,className:e(`hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex`,t),...n})}function ComboboxSeparator({className:t,...n}){return u(p.Separator,{"data-slot":`combobox-separator`,className:e(`-mx-1 my-1 h-px bg-border`,t),...n})}function ComboboxChips({className:t,...n}){return u(p.Chips,{"data-slot":`combobox-chips`,className:e(`flex min-h-8 overflow-hidden flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40`,t),...n})}function ComboboxChip({className:n,children:r,showRemove:i=!0,...a}){return d(p.Chip,{"data-slot":`combobox-chip`,className:e(`flex h-[calc(--spacing(5.25))] w-fit text-left max-w-full items-center justify-start gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0`,n),...a,children:[u(`span`,{className:`flex-1 truncate`,children:r}),i&&u(p.ChipRemove,{render:u(t,{variant:`ghost`,color:`zinc`,size:`icon-xs`}),className:`-ml-1 opacity-50 shrink-0 hover:opacity-100`,"data-slot":`combobox-chip-remove`,children:u(l,{className:`pointer-events-none`})})]})}function ComboboxChipsInput({className:t,id:r,...i}){let a=n(r);return u(p.Input,{id:a,"data-slot":`combobox-chip-input`,className:e(`min-w-16 flex-1 outline-none`,t),...i})}function useComboboxAnchor(){return f.useRef(null)}export{m as Combobox,ComboboxChip,ComboboxChips,ComboboxChipsInput,ComboboxClear,ComboboxCollection,ComboboxContent,ComboboxEmpty,ComboboxGroup,ComboboxInput,ComboboxItem,ComboboxLabel,ComboboxList,ComboboxSeparator,ComboboxTrigger,ComboboxValue,useComboboxAnchor};
|
|
2
2
|
//# sourceMappingURL=combobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combobox.js","names":["ComboboxPrimitive"],"sources":["../../src/components/combobox.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react'\nimport { IconCheck, IconSelector, IconX } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { useFieldControlId } from './field'\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from './input-group'\n\nexport type ComboboxProps = React.ComponentProps<typeof ComboboxPrimitive.Root>\n\nexport type ComboboxValueProps = ComboboxPrimitive.Value.Props\n\nexport type ComboboxTriggerProps = ComboboxPrimitive.Trigger.Props & {\n icon?: React.ReactNode\n}\n\nexport type ComboboxClearProps = ComboboxPrimitive.Clear.Props\n\nexport type ComboboxInputProps = ComboboxPrimitive.Input.Props & {\n icon?: React.ReactNode\n triggerIcon?: React.ReactNode\n showTrigger?: boolean\n showClear?: boolean\n}\n\nexport type ComboboxContentProps = ComboboxPrimitive.Popup.Props &\n Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> &\n Pick<ComboboxPrimitive.Portal.Props, 'container'>\n\nexport type ComboboxListProps = ComboboxPrimitive.List.Props\n\nexport type ComboboxItemProps = ComboboxPrimitive.Item.Props\n\nexport type ComboboxGroupProps = ComboboxPrimitive.Group.Props\n\nexport type ComboboxLabelProps = ComboboxPrimitive.GroupLabel.Props\n\nexport type ComboboxCollectionProps = ComboboxPrimitive.Collection.Props\n\nexport type ComboboxEmptyProps = ComboboxPrimitive.Empty.Props\n\nexport type ComboboxSeparatorProps = ComboboxPrimitive.Separator.Props\n\nexport type ComboboxChipsProps = React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props\n\nexport type ComboboxChipProps = ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}\n\nexport type ComboboxChipsInputProps = ComboboxPrimitive.Input.Props\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxValueProps) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n icon = <IconSelector className=\"pointer-events-none size-4 text-muted-foreground\" />,\n ...props\n}: ComboboxTriggerProps) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n {icon}\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxClearProps) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n icon,\n id,\n showTrigger = true,\n showClear = false,\n triggerIcon,\n ...props\n}: ComboboxInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <InputGroup className={cn('w-auto', className)}>\n {icon && <InputGroupAddon align=\"inline-start\">{icon}</InputGroupAddon>}\n <ComboboxPrimitive.Input id={fieldControlId} render={<InputGroupInput disabled={disabled} />} {...props} />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger icon={triggerIcon} />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = 'bottom',\n sideOffset = 6,\n align = 'start',\n alignOffset = 0,\n anchor,\n container,\n ...props\n}: ComboboxContentProps) {\n return (\n <ComboboxPrimitive.Portal container={container} className=\"absolute\">\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\n 'group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) overflow-hidden rounded-lg text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',\n className\n )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxListProps) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n 'no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({ className, children, ...props }: ComboboxItemProps) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={<span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />}\n >\n <IconCheck className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxGroupProps) {\n return <ComboboxPrimitive.Group data-slot=\"combobox-group\" className={cn(className)} {...props} />\n}\n\nfunction ComboboxLabel({ className, ...props }: ComboboxLabelProps) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn('px-2 py-1.5 text-xs text-muted-foreground', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxCollectionProps) {\n return <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n 'hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({ className, ...props }: ComboboxSeparatorProps) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({ className, ...props }: ComboboxChipsProps) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\n 'flex min-h-8 overflow-hidden flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxChip({ className, children, showRemove = true, ...props }: ComboboxChipProps) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n 'flex h-[calc(--spacing(5.25))] w-fit text-left max-w-full items-center justify-start gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0',\n className\n )}\n {...props}\n >\n <span className=\"flex-1 truncate\">{children}</span>\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" color=\"zinc\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 shrink-0 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({ className, id, ...props }: ComboboxChipsInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <ComboboxPrimitive.Input\n id={fieldControlId}\n data-slot=\"combobox-chip-input\"\n className={cn('min-w-16 flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxClear,\n ComboboxCollection,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxInput,\n ComboboxItem,\n ComboboxLabel,\n ComboboxList,\n ComboboxSeparator,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combobox.js","names":["ComboboxPrimitive"],"sources":["../../src/components/combobox.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react'\nimport { IconCheck, IconSelector, IconX } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { useFieldControlId } from './field'\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from './input-group'\n\nexport type ComboboxProps = React.ComponentProps<typeof ComboboxPrimitive.Root>\n\nexport type ComboboxValueProps = ComboboxPrimitive.Value.Props\n\nexport type ComboboxTriggerProps = ComboboxPrimitive.Trigger.Props & {\n icon?: React.ReactNode\n}\n\nexport type ComboboxClearProps = ComboboxPrimitive.Clear.Props\n\nexport type ComboboxInputProps = ComboboxPrimitive.Input.Props & {\n icon?: React.ReactNode\n triggerIcon?: React.ReactNode\n showTrigger?: boolean\n showClear?: boolean\n}\n\nexport type ComboboxContentProps = ComboboxPrimitive.Popup.Props &\n Pick<ComboboxPrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> &\n Pick<ComboboxPrimitive.Portal.Props, 'container'>\n\nexport type ComboboxListProps = ComboboxPrimitive.List.Props\n\nexport type ComboboxItemProps = ComboboxPrimitive.Item.Props\n\nexport type ComboboxGroupProps = ComboboxPrimitive.Group.Props\n\nexport type ComboboxLabelProps = ComboboxPrimitive.GroupLabel.Props\n\nexport type ComboboxCollectionProps = ComboboxPrimitive.Collection.Props\n\nexport type ComboboxEmptyProps = ComboboxPrimitive.Empty.Props\n\nexport type ComboboxSeparatorProps = ComboboxPrimitive.Separator.Props\n\nexport type ComboboxChipsProps = React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props\n\nexport type ComboboxChipProps = ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}\n\nexport type ComboboxChipsInputProps = ComboboxPrimitive.Input.Props\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxValueProps) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n icon = <IconSelector className=\"pointer-events-none size-4 text-muted-foreground\" />,\n ...props\n}: ComboboxTriggerProps) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n {icon}\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxClearProps) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n icon,\n id,\n showTrigger = true,\n showClear = false,\n triggerIcon,\n ...props\n}: ComboboxInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <InputGroup className={cn('w-auto', className)}>\n {icon && <InputGroupAddon align=\"inline-start\">{icon}</InputGroupAddon>}\n <ComboboxPrimitive.Input id={fieldControlId} render={<InputGroupInput disabled={disabled} />} {...props} />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger icon={triggerIcon} />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = 'bottom',\n sideOffset = 6,\n align = 'start',\n alignOffset = 0,\n anchor,\n container,\n ...props\n}: ComboboxContentProps) {\n return (\n <ComboboxPrimitive.Portal container={container} className=\"absolute\">\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\n 'group/combobox-content max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+(--spacing(7)))] origin-(--transform-origin) overflow-hidden rounded-lg text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[chips=true]:min-w-(--anchor-width) data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:border-input/30 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:shadow-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover/70 before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150 **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!',\n className\n )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxListProps) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n 'no-scrollbar max-h-[min(calc(--spacing(72)-(--spacing(9))),calc(var(--available-height)-(--spacing(9))))] scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({ className, children, ...props }: ComboboxItemProps) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={<span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />}\n >\n <IconCheck className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxGroupProps) {\n return <ComboboxPrimitive.Group data-slot=\"combobox-group\" className={cn(className)} {...props} />\n}\n\nfunction ComboboxLabel({ className, ...props }: ComboboxLabelProps) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn('px-2 py-1.5 text-xs text-muted-foreground', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxCollectionProps) {\n return <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\n 'hidden w-full justify-center py-2 text-center text-sm text-muted-foreground group-data-empty/combobox-content:flex',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({ className, ...props }: ComboboxSeparatorProps) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({ className, ...props }: ComboboxChipsProps) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\n 'flex min-h-8 overflow-hidden flex-wrap items-center gap-1 rounded-lg border border-input bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 has-aria-invalid:border-destructive has-aria-invalid:ring-3 has-aria-invalid:ring-destructive/20 has-data-[slot=combobox-chip]:px-1 dark:bg-input/30 dark:has-aria-invalid:border-destructive/50 dark:has-aria-invalid:ring-destructive/40',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxChip({ className, children, showRemove = true, ...props }: ComboboxChipProps) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n 'flex h-[calc(--spacing(5.25))] w-fit text-left max-w-full items-center justify-start gap-1 rounded-sm bg-muted px-1.5 text-xs font-medium whitespace-nowrap text-foreground has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50 has-data-[slot=combobox-chip-remove]:pr-0',\n className\n )}\n {...props}\n >\n <span className=\"flex-1 truncate\">{children}</span>\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" color=\"zinc\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 shrink-0 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <IconX className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({ className, id, ...props }: ComboboxChipsInputProps) {\n const fieldControlId = useFieldControlId(id)\n\n return (\n <ComboboxPrimitive.Input\n id={fieldControlId}\n data-slot=\"combobox-chip-input\"\n className={cn('min-w-16 flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxChip,\n ComboboxChips,\n ComboboxChipsInput,\n ComboboxClear,\n ComboboxCollection,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxGroup,\n ComboboxInput,\n ComboboxItem,\n ComboboxLabel,\n ComboboxList,\n ComboboxSeparator,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{Checkbox as n}from"./checkbox.js";import{Input as r}from"./input.js";import{InputGroup as i,InputGroupAddon as a,InputGroupInput as o}from"./input-group.js";import{DropdownMenu as s,DropdownMenuCheckboxItem as c,DropdownMenuContent as l,DropdownMenuGroup as u,DropdownMenuTrigger as d}from"./dropdown-menu.js";import{Select as f,SelectContent as p,SelectGroup as m,SelectItem as h,SelectTrigger as g,SelectValue as _}from"./select.js";import{Table as v,TableBody as y,TableCell as b,TableContainer as x,TableHead as S,TableHeader as C,TableRow as w}from"./table.js";import{IconArrowsSort as T,IconChevronLeft as E,IconChevronRight as D,IconChevronsLeft as O,IconChevronsRight as k,IconColumns3 as A,IconSortAscending as j,IconSortDescending as M}from"@tabler/icons-react";import{jsx as N,jsxs as P}from"react/jsx-runtime";import*as F from"react";import{flexRender as I,getCoreRowModel as L,getFilteredRowModel as R,getPaginationRowModel as z,getSortedRowModel as B,useReactTable as V}from"@tanstack/react-table";const H={filterPlaceholder:`Filtrar linhas...`,filterColumnSelectorLabel:`Coluna para filtrar`,emptyMessage:`Nenhum resultado.`,columnsButton:`Colunas`,rowsPerPage:`Linhas por página`,pageOf:(e,t)=>`Página ${e} de ${t}`,goToFirstPage:`Ir para a primeira página`,goToPreviousPage:`Ir para a página anterior`,goToNextPage:`Ir para a próxima página`,goToLastPage:`Ir para a última página`,selectAllRows:`Selecionar todas as linhas`,selectRow:`Selecionar linha`},U=F.createContext(null);function useDataTableContext(){let e=F.useContext(U);if(!e)throw Error(`useDataTableContext must be used within <DataTableRoot>`);return e}function useOptionalDataTableContext(){return F.useContext(U)}function renderToolbarActions(e,t){return typeof e==`function`?e(t):e}function getColumnLabel(e){return e?e.columnDef.meta?.label??e.id:``}function useDataTable({columns:e,data:t,getRowId:n,pageSize:r=10,enableRowSelection:i=!1,enableSorting:a=!1,enablePagination:o=!0,labels:s}){let[c,l]=F.useState([]),[u,d]=F.useState([]),[f,p]=F.useState({}),[m,h]=F.useState({pageIndex:0,pageSize:r}),[g,_]=F.useState({}),v=F.useMemo(()=>({...H,...s}),[s]);return V({data:t,columns:F.useMemo(()=>!i||e.some(e=>e.id===`select`)?e:[createDataTableSelectColumn({labels:{selectAllRows:v.selectAllRows,selectRow:v.selectRow}}),...e],[e,i,v.selectAllRows,v.selectRow]),getRowId:n,enableRowSelection:i,enableSorting:a,state:{sorting:c,columnFilters:u,columnVisibility:f,rowSelection:g,pagination:m},onSortingChange:l,onColumnFiltersChange:d,onColumnVisibilityChange:p,onPaginationChange:h,onRowSelectionChange:_,getCoreRowModel:L(),getFilteredRowModel:R(),getPaginationRowModel:o?z():void 0,getSortedRowModel:a?B():void 0})}function DataTableRootControlled({table:t,labels:n,className:r,children:i}){let a={table:t,labels:F.useMemo(()=>({...H,...n}),[n])};return N(U.Provider,{value:a,children:N(`div`,{className:e(`flex w-full flex-col gap-4`,r),children:i})})}function DataTableRootUncontrolled({columns:e,data:t,getRowId:n,pageSize:r,enableRowSelection:i,enableSorting:a,enablePagination:o,labels:s,className:c,children:l}){return N(DataTableRootControlled,{table:useDataTable({columns:e,data:t,getRowId:n,pageSize:r,enableRowSelection:i,enableSorting:a,enablePagination:o,labels:s}),labels:s,className:c,children:l})}function DataTableRoot(e){if(`table`in e&&e.table!==void 0){let{table:t,labels:n,className:r,children:i}=e;return N(DataTableRootControlled,{table:t,labels:n,className:r,children:i})}let{columns:t,data:n,getRowId:r,pageSize:i,enableRowSelection:a,enableSorting:o,enablePagination:s,labels:c,className:l,children:u}=e;return N(DataTableRootUncontrolled,{columns:t,data:n,getRowId:r,pageSize:i,enableRowSelection:a,enableSorting:o,enablePagination:s,labels:c,className:l,children:u})}function DataTableColumnHeader({column:n,title:r,className:i,...a}){if(!n.getCanSort())return N(`div`,{className:e(`inline-flex items-center gap-1`,i),...a,children:r});let o=n.getIsSorted();return P(`div`,{className:e(`inline-flex items-center gap-1`,i),...a,children:[r,N(t,{variant:`ghost`,color:`zinc`,size:`icon-xs`,onClick:()=>{if(o===`desc`)return n.clearSorting();n.toggleSorting(o===`asc`)},children:N(o===`desc`?M:o===`asc`?j:T,{className:`size-4`,"data-icon":`inline-end`})})]})}function DataTableViewOptions({table:n,label:r,className:i,...a}){let o=useOptionalDataTableContext(),f=n??o?.table;if(!f)throw Error("DataTableViewOptions requires a `table` prop or to be rendered within <DataTableRoot>");let p=r??o?.labels.columnsButton??H.columnsButton,m=f.getAllColumns().filter(e=>e.accessorFn!==void 0&&e.getCanHide());return m.length===0?null:P(s,{children:[N(d,{asChild:!0,children:P(t,{type:`button`,variant:`outline`,color:`zinc`,size:`sm`,className:e(`ml-auto`,i),...a,children:[N(A,{"data-icon":`inline-start`}),p]})}),N(l,{align:`end`,className:`w-44`,children:N(u,{children:m.map(e=>N(c,{checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})})]})}function DataTableToolbar({filterColumns:t,showColumnVisibility:n,toolbarActions:s,labels:c,className:l}){let{table:u,labels:d}=useDataTableContext(),f=F.useMemo(()=>c?{...d,...c}:d,[d,c]),p=F.useMemo(()=>t?Array.isArray(t)?t:[t]:[],[t]),m=renderToolbarActions(s,u),h=p.length>0,[g,_]=F.useState(p[0]);if(F.useEffect(()=>{if(p.length===0){_(void 0);return}_(e=>e&&p.includes(e)?e:p[0])},[p]),!h&&!n&&!m)return null;let v=g?u.getColumn(g):void 0,y=v?.getFilterValue()??``,handleColumnChange=e=>{e!==g&&(g&&u.getColumn(g)?.setFilterValue(void 0),_(e))};return P(`div`,{className:e(`flex flex-col gap-2 sm:flex-row sm:items-center`,l),children:[h&&v?p.length>1?P(i,{className:`h-8 w-full sm:max-w-md`,children:[N(a,{align:`inline-start`,className:`pr-0`,children:N(`select`,{"aria-label":f.filterColumnSelectorLabel,value:g,onChange:e=>handleColumnChange(e.target.value),className:`cursor-pointer appearance-none border-0 bg-transparent pr-1 text-sm font-medium text-foreground outline-none focus:outline-none`,children:p.map(e=>N(`option`,{value:e,children:getColumnLabel(u.getColumn(e))},e))})}),N(o,{placeholder:f.filterPlaceholder,value:y,onChange:e=>v.setFilterValue(e.target.value)})]}):N(r,{placeholder:f.filterPlaceholder,value:y,onChange:e=>v.setFilterValue(e.target.value),className:`h-8 w-full sm:max-w-xs`}):null,P(`div`,{className:`flex flex-1 items-center justify-end gap-2`,children:[m,n?N(DataTableViewOptions,{table:u,label:f.columnsButton}):null]})]})}function DataTableHeader({className:e}={}){let{table:t}=useDataTableContext();return N(C,{className:e,children:t.getHeaderGroups().map(e=>N(w,{children:e.headers.map(e=>N(S,{colSpan:e.colSpan,children:e.isPlaceholder?null:I(e.column.columnDef.header,e.getContext())},e.id))},e.id))})}function DataTableBody({emptyMessage:e,className:t}={}){let{table:n,labels:r}=useDataTableContext(),i=n.getRowModel().rows,a=n.getVisibleLeafColumns().length,o=e??r.emptyMessage;return N(y,{className:t,children:i.length===0?N(w,{children:N(b,{colSpan:a,className:`h-24 text-center`,children:o})}):i.map(e=>N(w,{"data-state":e.getIsSelected()?`selected`:void 0,children:e.getVisibleCells().map(e=>N(b,{children:I(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})}function DataTablePagination({table:n,pageSizeOptions:r=[10,20,30,40,50],labels:i,className:a,...o}){let s=useOptionalDataTableContext(),c=n??s?.table;if(!c)throw Error("DataTablePagination requires a `table` prop or to be rendered within <DataTableRoot>");let l=F.useMemo(()=>({...H,...s?.labels,...i}),[s?.labels,i]),u=c.getPageCount(),d=Math.max(u,1),v=c.getState().pagination.pageIndex;return N(`div`,{className:e(`flex items-center justify-end gap-4 px-2`,a),...o,children:P(`div`,{className:`flex items-center gap-6 lg:gap-8`,children:[P(`div`,{className:`hidden items-center gap-2 sm:flex`,children:[N(`p`,{className:`text-sm font-medium`,children:l.rowsPerPage}),P(f,{value:`${c.getState().pagination.pageSize}`,onValueChange:e=>c.setPageSize(Number(e)),children:[N(g,{size:`sm`,className:`h-8 w-20`,children:N(_,{})}),N(p,{side:`top`,children:N(m,{children:r.map(e=>N(h,{value:`${e}`,children:e},e))})})]})]}),N(`div`,{className:`text-sm font-medium`,children:l.pageOf(v+1,d)}),P(`div`,{className:`flex items-center gap-1`,children:[N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,className:`hidden lg:inline-flex`,onClick:()=>c.setPageIndex(0),disabled:!c.getCanPreviousPage(),"aria-label":l.goToFirstPage,children:N(O,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,onClick:()=>c.previousPage(),disabled:!c.getCanPreviousPage(),"aria-label":l.goToPreviousPage,children:N(E,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,onClick:()=>c.nextPage(),disabled:!c.getCanNextPage(),"aria-label":l.goToNextPage,children:N(D,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,className:`hidden lg:inline-flex`,onClick:()=>c.setPageIndex(u-1),disabled:!c.getCanNextPage(),"aria-label":l.goToLastPage,children:N(k,{})})]})]})})}function createDataTableSelectColumn(e){let t=e?.labels?.selectAllRows??H.selectAllRows,r=e?.labels?.selectRow??H.selectRow;return{id:`select`,enableSorting:!1,enableHiding:!1,header:({table:e})=>N(n,{"aria-label":t,checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&`indeterminate`,onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t)}),cell:({row:e})=>N(n,{"aria-label":r,checked:e.getIsSelected()||e.getIsSomeSelected()&&`indeterminate`,disabled:!e.getCanSelect(),onCheckedChange:t=>e.toggleSelected(!!t)})}}function DataTable({columns:e,data:t,getRowId:n,filterColumns:r,pageSize:i=10,pageSizeOptions:a,enableRowSelection:o=!1,enableSorting:s=!1,showPagination:c=!1,showColumnVisibility:l=!1,toolbarActions:u,labels:d,className:f,tableClassName:p,variant:m}){return P(DataTableRoot,{columns:e,data:t,getRowId:n,pageSize:i,enableRowSelection:o,enableSorting:s,labels:d,className:f,children:[N(DataTableToolbar,{filterColumns:r,showColumnVisibility:l,toolbarActions:u}),N(x,{children:P(v,{className:p,variant:m,children:[N(DataTableHeader,{}),N(DataTableBody,{})]})}),c?N(DataTablePagination,{pageSizeOptions:a}):null]})}export{DataTable,DataTableBody,DataTableColumnHeader,DataTableHeader,DataTablePagination,DataTableRoot,DataTableToolbar,DataTableViewOptions,createDataTableSelectColumn,H as defaultDataTableLabels,useDataTable,useDataTableContext};
|
|
1
|
+
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{Checkbox as n}from"./checkbox.js";import{Input as r}from"./input.js";import{InputGroup as i,InputGroupAddon as a,InputGroupInput as o}from"./input-group.js";import{DropdownMenu as s,DropdownMenuCheckboxItem as c,DropdownMenuContent as l,DropdownMenuGroup as u,DropdownMenuTrigger as d}from"./dropdown-menu.js";import{Select as f,SelectContent as p,SelectGroup as m,SelectItem as h,SelectTrigger as g,SelectValue as _}from"./select.js";import{Table as v,TableBody as y,TableCell as b,TableContainer as x,TableHead as S,TableHeader as C,TableRow as w}from"./table.js";import{IconArrowsSort as T,IconChevronLeft as E,IconChevronRight as D,IconChevronsLeft as O,IconChevronsRight as k,IconColumns3 as A,IconSortAscending as j,IconSortDescending as M}from"@tabler/icons-react";import{jsx as N,jsxs as P}from"react/jsx-runtime";import*as F from"react";import{flexRender as I,getCoreRowModel as L,getFilteredRowModel as R,getPaginationRowModel as z,getSortedRowModel as B,useReactTable as V}from"@tanstack/react-table";const H={filterPlaceholder:`Filtrar linhas...`,filterColumnSelectorLabel:`Coluna para filtrar`,emptyMessage:`Nenhum resultado.`,columnsButton:`Colunas`,rowsPerPage:`Linhas por página`,pageOf:(e,t)=>`Página ${e} de ${t}`,goToFirstPage:`Ir para a primeira página`,goToPreviousPage:`Ir para a página anterior`,goToNextPage:`Ir para a próxima página`,goToLastPage:`Ir para a última página`,selectAllRows:`Selecionar todas as linhas`,selectRow:`Selecionar linha`},U=F.createContext(null);function useDataTableContext(){let e=F.useContext(U);if(!e)throw Error(`useDataTableContext must be used within <DataTableRoot>`);return e}function useOptionalDataTableContext(){return F.useContext(U)}function renderToolbarActions(e,t){return typeof e==`function`?e(t):e}function getColumnLabel(e){return e?e.columnDef.meta?.label??e.id:``}function useDataTable({columns:e,data:t,getRowId:n,pageSize:r=10,enableRowSelection:i=!1,enableSorting:a=!1,enablePagination:o=!1,labels:s}){let[c,l]=F.useState([]),[u,d]=F.useState([]),[f,p]=F.useState({}),[m,h]=F.useState({pageIndex:0,pageSize:r}),[g,_]=F.useState({}),v=F.useMemo(()=>({...H,...s}),[s]);return V({data:t,columns:F.useMemo(()=>!i||e.some(e=>e.id===`select`)?e:[createDataTableSelectColumn({labels:{selectAllRows:v.selectAllRows,selectRow:v.selectRow}}),...e],[e,i,v.selectAllRows,v.selectRow]),getRowId:n,enableRowSelection:i,enableSorting:a,state:{sorting:c,columnFilters:u,columnVisibility:f,rowSelection:g,pagination:m},onSortingChange:l,onColumnFiltersChange:d,onColumnVisibilityChange:p,onPaginationChange:h,onRowSelectionChange:_,getCoreRowModel:L(),getFilteredRowModel:R(),getPaginationRowModel:o?z():void 0,getSortedRowModel:a?B():void 0})}function DataTableRootControlled({table:t,labels:n,className:r,children:i}){let a={table:t,labels:F.useMemo(()=>({...H,...n}),[n])};return N(U.Provider,{value:a,children:N(`div`,{className:e(`flex w-full flex-col gap-4`,r),children:i})})}function DataTableRootUncontrolled({columns:e,data:t,getRowId:n,pageSize:r,enableRowSelection:i,enableSorting:a,enablePagination:o,labels:s,className:c,children:l}){return N(DataTableRootControlled,{table:useDataTable({columns:e,data:t,getRowId:n,pageSize:r,enableRowSelection:i,enableSorting:a,enablePagination:o,labels:s}),labels:s,className:c,children:l})}function DataTableRoot(e){if(`table`in e&&e.table!==void 0){let{table:t,labels:n,className:r,children:i}=e;return N(DataTableRootControlled,{table:t,labels:n,className:r,children:i})}let{columns:t,data:n,getRowId:r,pageSize:i,enableRowSelection:a,enableSorting:o,enablePagination:s,labels:c,className:l,children:u}=e;return N(DataTableRootUncontrolled,{columns:t,data:n,getRowId:r,pageSize:i,enableRowSelection:a,enableSorting:o,enablePagination:s,labels:c,className:l,children:u})}function DataTableColumnHeader({column:n,title:r,className:i,...a}){if(!n.getCanSort())return N(`div`,{className:e(`inline-flex items-center gap-1`,i),...a,children:r});let o=n.getIsSorted();return P(`div`,{className:e(`inline-flex items-center gap-1`,i),...a,children:[r,N(t,{variant:`ghost`,color:`zinc`,size:`icon-xs`,onClick:()=>{if(o===`desc`)return n.clearSorting();n.toggleSorting(o===`asc`)},children:N(o===`desc`?M:o===`asc`?j:T,{className:`size-4`,"data-icon":`inline-end`})})]})}function DataTableViewOptions({table:n,label:r,className:i,...a}){let o=useOptionalDataTableContext(),f=n??o?.table;if(!f)throw Error("DataTableViewOptions requires a `table` prop or to be rendered within <DataTableRoot>");let p=r??o?.labels.columnsButton??H.columnsButton,m=f.getAllColumns().filter(e=>e.accessorFn!==void 0&&e.getCanHide());return m.length===0?null:P(s,{children:[N(d,{asChild:!0,children:P(t,{type:`button`,variant:`outline`,color:`zinc`,size:`sm`,className:e(`ml-auto`,i),...a,children:[N(A,{"data-icon":`inline-start`}),p]})}),N(l,{align:`end`,className:`w-44`,children:N(u,{children:m.map(e=>N(c,{checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})})]})}function DataTableToolbar({filterColumns:t,showColumnVisibility:n,toolbarActions:s,labels:c,className:l}){let{table:u,labels:d}=useDataTableContext(),f=F.useMemo(()=>c?{...d,...c}:d,[d,c]),p=F.useMemo(()=>t?Array.isArray(t)?t:[t]:[],[t]),m=renderToolbarActions(s,u),h=p.length>0,[g,_]=F.useState(p[0]);if(F.useEffect(()=>{if(p.length===0){_(void 0);return}_(e=>e&&p.includes(e)?e:p[0])},[p]),!h&&!n&&!m)return null;let v=g?u.getColumn(g):void 0,y=v?.getFilterValue()??``,handleColumnChange=e=>{e!==g&&(g&&u.getColumn(g)?.setFilterValue(void 0),_(e))};return P(`div`,{className:e(`flex flex-col gap-2 sm:flex-row sm:items-center`,l),children:[h&&v?p.length>1?P(i,{className:`h-8 w-full sm:max-w-md`,children:[N(a,{align:`inline-start`,className:`pr-0`,children:N(`select`,{"aria-label":f.filterColumnSelectorLabel,value:g,onChange:e=>handleColumnChange(e.target.value),className:`cursor-pointer appearance-none border-0 bg-transparent pr-1 text-sm font-medium text-foreground outline-none focus:outline-none`,children:p.map(e=>N(`option`,{value:e,children:getColumnLabel(u.getColumn(e))},e))})}),N(o,{placeholder:f.filterPlaceholder,value:y,onChange:e=>v.setFilterValue(e.target.value)})]}):N(r,{placeholder:f.filterPlaceholder,value:y,onChange:e=>v.setFilterValue(e.target.value),className:`h-8 w-full sm:max-w-xs`}):null,P(`div`,{className:`flex flex-1 items-center justify-end gap-2`,children:[m,n?N(DataTableViewOptions,{table:u,label:f.columnsButton}):null]})]})}function DataTableHeader({className:e}={}){let{table:t}=useDataTableContext();return N(C,{className:e,children:t.getHeaderGroups().map(e=>N(w,{children:e.headers.map(e=>N(S,{colSpan:e.colSpan,children:e.isPlaceholder?null:I(e.column.columnDef.header,e.getContext())},e.id))},e.id))})}function DataTableBody({emptyMessage:e,className:t}={}){let{table:n,labels:r}=useDataTableContext(),i=n.getRowModel().rows,a=n.getVisibleLeafColumns().length,o=e??r.emptyMessage;return N(y,{className:t,children:i.length===0?N(w,{children:N(b,{colSpan:a,className:`h-24 text-center`,children:o})}):i.map(e=>N(w,{"data-state":e.getIsSelected()?`selected`:void 0,children:e.getVisibleCells().map(e=>N(b,{children:I(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})}function DataTablePagination({table:n,pageSizeOptions:r=[10,20,30,40,50],labels:i,className:a,...o}){let s=useOptionalDataTableContext(),c=n??s?.table;if(!c)throw Error("DataTablePagination requires a `table` prop or to be rendered within <DataTableRoot>");let l=F.useMemo(()=>({...H,...s?.labels,...i}),[s?.labels,i]),u=c.getPageCount(),d=Math.max(u,1),v=c.getState().pagination.pageIndex;return N(`div`,{className:e(`flex items-center justify-end gap-4 px-2`,a),...o,children:P(`div`,{className:`flex items-center gap-6 lg:gap-8`,children:[P(`div`,{className:`hidden items-center gap-2 sm:flex`,children:[N(`p`,{className:`text-sm font-medium`,children:l.rowsPerPage}),P(f,{value:`${c.getState().pagination.pageSize}`,onValueChange:e=>c.setPageSize(Number(e)),children:[N(g,{size:`sm`,className:`h-8 w-20`,children:N(_,{})}),N(p,{side:`top`,children:N(m,{children:r.map(e=>N(h,{value:`${e}`,children:e},e))})})]})]}),N(`div`,{className:`text-sm font-medium`,children:l.pageOf(v+1,d)}),P(`div`,{className:`flex items-center gap-1`,children:[N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,className:`hidden lg:inline-flex`,onClick:()=>c.setPageIndex(0),disabled:!c.getCanPreviousPage(),"aria-label":l.goToFirstPage,children:N(O,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,onClick:()=>c.previousPage(),disabled:!c.getCanPreviousPage(),"aria-label":l.goToPreviousPage,children:N(E,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,onClick:()=>c.nextPage(),disabled:!c.getCanNextPage(),"aria-label":l.goToNextPage,children:N(D,{})}),N(t,{type:`button`,variant:`outline`,color:`zinc`,size:`icon-sm`,className:`hidden lg:inline-flex`,onClick:()=>c.setPageIndex(u-1),disabled:!c.getCanNextPage(),"aria-label":l.goToLastPage,children:N(k,{})})]})]})})}function createDataTableSelectColumn(e){let t=e?.labels?.selectAllRows??H.selectAllRows,r=e?.labels?.selectRow??H.selectRow;return{id:`select`,enableSorting:!1,enableHiding:!1,header:({table:e})=>N(n,{"aria-label":t,checked:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected()&&`indeterminate`,onCheckedChange:t=>e.toggleAllPageRowsSelected(!!t)}),cell:({row:e})=>N(n,{"aria-label":r,checked:e.getIsSelected()||e.getIsSomeSelected()&&`indeterminate`,disabled:!e.getCanSelect(),onCheckedChange:t=>e.toggleSelected(!!t)})}}function DataTable({columns:e,data:t,getRowId:n,filterColumns:r,pageSize:i=10,pageSizeOptions:a,enableRowSelection:o=!1,enableSorting:s=!1,showPagination:c=!1,showColumnVisibility:l=!1,toolbarActions:u,labels:d,className:f,tableClassName:p,variant:m}){return P(DataTableRoot,{columns:e,data:t,getRowId:n,pageSize:i,enableRowSelection:o,enableSorting:s,labels:d,className:f,children:[N(DataTableToolbar,{filterColumns:r,showColumnVisibility:l,toolbarActions:u}),N(x,{children:P(v,{className:p,variant:m,children:[N(DataTableHeader,{}),N(DataTableBody,{})]})}),c?N(DataTablePagination,{pageSizeOptions:a}):null]})}export{DataTable,DataTableBody,DataTableColumnHeader,DataTableHeader,DataTablePagination,DataTableRoot,DataTableToolbar,DataTableViewOptions,createDataTableSelectColumn,H as defaultDataTableLabels,useDataTable,useDataTableContext};
|
|
2
2
|
//# sourceMappingURL=data-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.js","names":["Table"],"sources":["../../src/components/data-table.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {\n IconArrowsSort,\n IconChevronLeft,\n IconChevronRight,\n IconChevronsLeft,\n IconChevronsRight,\n IconColumns3,\n IconSortAscending,\n IconSortDescending\n} from '@tabler/icons-react'\nimport type {\n Column,\n ColumnDef,\n ColumnFiltersState,\n PaginationState,\n RowData,\n RowSelectionState,\n SortingState,\n Table as TanStackTable,\n VisibilityState\n} from '@tanstack/react-table'\nimport {\n flexRender,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { Checkbox } from './checkbox'\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuTrigger\n} from './dropdown-menu'\nimport { Input } from './input'\nimport { InputGroup, InputGroupAddon, InputGroupInput } from './input-group'\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from './select'\nimport { Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, type TableProps, TableRow } from './table'\n\ntype DataTableToolbarActions<TData> = React.ReactNode | ((table: TanStackTable<TData>) => React.ReactNode)\n\nexport type DataTableLabels = {\n filterPlaceholder: string\n filterColumnSelectorLabel: string\n emptyMessage: React.ReactNode\n columnsButton: string\n rowsPerPage: string\n pageOf: (current: number, total: number) => React.ReactNode\n goToFirstPage: string\n goToPreviousPage: string\n goToNextPage: string\n goToLastPage: string\n selectAllRows: string\n selectRow: string\n}\n\nexport const defaultDataTableLabels: DataTableLabels = {\n filterPlaceholder: 'Filtrar linhas...',\n filterColumnSelectorLabel: 'Coluna para filtrar',\n emptyMessage: 'Nenhum resultado.',\n columnsButton: 'Colunas',\n rowsPerPage: 'Linhas por página',\n pageOf: (current, total) => `Página ${current} de ${total}`,\n goToFirstPage: 'Ir para a primeira página',\n goToPreviousPage: 'Ir para a página anterior',\n goToNextPage: 'Ir para a próxima página',\n goToLastPage: 'Ir para a última página',\n selectAllRows: 'Selecionar todas as linhas',\n selectRow: 'Selecionar linha'\n}\n\nexport type DataTableProps<TData extends RowData, TValue = unknown> = {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n getRowId?: (originalRow: TData, index: number, parent?: { id: string }) => string\n filterColumns?: string | string[]\n pageSize?: number\n pageSizeOptions?: number[]\n enableRowSelection?: boolean\n enableSorting?: boolean\n showPagination?: boolean\n showColumnVisibility?: boolean\n toolbarActions?: DataTableToolbarActions<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n tableClassName?: string\n variant?: TableProps['variant']\n}\n\nexport type DataTableColumnHeaderProps<TData extends RowData, TValue> = React.ComponentProps<'div'> & {\n column: Column<TData, TValue>\n title: React.ReactNode\n}\n\nexport type DataTablePaginationProps<TData extends RowData> = React.ComponentProps<'div'> & {\n table?: TanStackTable<TData>\n pageSizeOptions?: number[]\n labels?: Partial<DataTableLabels>\n}\n\nexport type DataTableViewOptionsProps<TData extends RowData> = React.ComponentProps<typeof Button> & {\n table?: TanStackTable<TData>\n label?: React.ReactNode\n}\n\nexport type UseDataTableOptions<TData extends RowData, TValue = unknown> = {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n getRowId?: (originalRow: TData, index: number, parent?: { id: string }) => string\n pageSize?: number\n enableRowSelection?: boolean\n enableSorting?: boolean\n enablePagination?: boolean\n labels?: Partial<DataTableLabels>\n}\n\nexport type DataTableRootProps<TData extends RowData, TValue = unknown> = {\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n} & (\n | { table: TanStackTable<TData>; columns?: never; data?: never }\n | (Omit<UseDataTableOptions<TData, TValue>, 'labels'> & { table?: never })\n)\n\nexport type DataTableToolbarProps<TData extends RowData> = {\n filterColumns?: string | string[]\n showColumnVisibility?: boolean\n toolbarActions?: DataTableToolbarActions<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n}\n\nexport type DataTableHeaderProps = {\n className?: string\n}\n\nexport type DataTableBodyProps = {\n emptyMessage?: React.ReactNode\n className?: string\n}\n\ntype DataTableContextValue<TData extends RowData> = {\n table: TanStackTable<TData>\n labels: DataTableLabels\n}\n\nconst DataTableContext = React.createContext<DataTableContextValue<RowData> | null>(null)\n\nexport function useDataTableContext<TData extends RowData>(): DataTableContextValue<TData> {\n const ctx = React.useContext(DataTableContext)\n if (!ctx) {\n throw new Error('useDataTableContext must be used within <DataTableRoot>')\n }\n return ctx as unknown as DataTableContextValue<TData>\n}\n\nfunction useOptionalDataTableContext<TData extends RowData>(): DataTableContextValue<TData> | null {\n const ctx = React.useContext(DataTableContext)\n return ctx as unknown as DataTableContextValue<TData> | null\n}\n\nfunction renderToolbarActions<TData extends RowData>(\n actions: DataTableToolbarActions<TData> | undefined,\n table: TanStackTable<TData>\n) {\n return typeof actions === 'function' ? actions(table) : actions\n}\n\nfunction getColumnLabel<TData extends RowData>(column: ReturnType<TanStackTable<TData>['getColumn']>): string {\n if (!column) {\n return ''\n }\n const meta = column.columnDef.meta as { label?: string } | undefined\n return meta?.label ?? column.id\n}\n\nexport function useDataTable<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n pageSize = 10,\n enableRowSelection = false,\n enableSorting = false,\n enablePagination = true,\n labels\n}: UseDataTableOptions<TData, TValue>): TanStackTable<TData> {\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([])\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({})\n const [pagination, setPagination] = React.useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({})\n\n const mergedLabels = React.useMemo(() => ({ ...defaultDataTableLabels, ...labels }), [labels])\n const resolvedColumns = React.useMemo<ColumnDef<TData, TValue>[]>(() => {\n if (!enableRowSelection) {\n return columns\n }\n if (columns.some((column) => column.id === 'select')) {\n return columns\n }\n return [\n createDataTableSelectColumn<TData>({\n labels: { selectAllRows: mergedLabels.selectAllRows, selectRow: mergedLabels.selectRow }\n }) as ColumnDef<TData, TValue>,\n ...columns\n ]\n }, [columns, enableRowSelection, mergedLabels.selectAllRows, mergedLabels.selectRow])\n\n return useReactTable({\n data,\n columns: resolvedColumns,\n getRowId,\n enableRowSelection,\n enableSorting,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n pagination\n },\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n getSortedRowModel: enableSorting ? getSortedRowModel() : undefined\n })\n}\n\nfunction DataTableRootControlled<TData extends RowData>({\n table,\n labels,\n className,\n children\n}: {\n table: TanStackTable<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n}) {\n const mergedLabels = React.useMemo(() => ({ ...defaultDataTableLabels, ...labels }), [labels])\n const value: DataTableContextValue<TData> = { table, labels: mergedLabels }\n return (\n <DataTableContext.Provider value={value as unknown as DataTableContextValue<RowData>}>\n <div className={cn('flex w-full flex-col gap-4', className)}>{children}</div>\n </DataTableContext.Provider>\n )\n}\n\nfunction DataTableRootUncontrolled<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels,\n className,\n children\n}: Omit<UseDataTableOptions<TData, TValue>, 'labels'> & {\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n}) {\n const table = useDataTable<TData, TValue>({\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels\n })\n return (\n <DataTableRootControlled table={table} labels={labels} className={className}>\n {children}\n </DataTableRootControlled>\n )\n}\n\nfunction DataTableRoot<TData extends RowData, TValue = unknown>(props: DataTableRootProps<TData, TValue>) {\n if ('table' in props && props.table !== undefined) {\n const { table, labels, className, children } = props\n return (\n <DataTableRootControlled table={table} labels={labels} className={className}>\n {children}\n </DataTableRootControlled>\n )\n }\n const {\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels,\n className,\n children\n } = props\n return (\n <DataTableRootUncontrolled<TData, TValue>\n columns={columns!}\n data={data!}\n getRowId={getRowId}\n pageSize={pageSize}\n enableRowSelection={enableRowSelection}\n enableSorting={enableSorting}\n enablePagination={enablePagination}\n labels={labels}\n className={className}\n >\n {children}\n </DataTableRootUncontrolled>\n )\n}\n\nfunction DataTableColumnHeader<TData extends RowData, TValue>({\n column,\n title,\n className,\n ...props\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort()) {\n return (\n <div className={cn('inline-flex items-center gap-1', className)} {...props}>\n {title}\n </div>\n )\n }\n\n const sorted = column.getIsSorted()\n\n return (\n <div className={cn('inline-flex items-center gap-1', className)} {...props}>\n {title}\n <Button\n variant=\"ghost\"\n color=\"zinc\"\n size=\"icon-xs\"\n onClick={() => {\n if (sorted === 'desc') return column.clearSorting()\n column.toggleSorting(sorted === 'asc')\n }}\n >\n {sorted === 'desc' ? (\n <IconSortDescending className=\"size-4\" data-icon=\"inline-end\" />\n ) : sorted === 'asc' ? (\n <IconSortAscending className=\"size-4\" data-icon=\"inline-end\" />\n ) : (\n <IconArrowsSort className=\"size-4\" data-icon=\"inline-end\" />\n )}\n </Button>\n </div>\n )\n}\n\nfunction DataTableViewOptions<TData extends RowData>({\n table: tableProp,\n label,\n className,\n ...props\n}: DataTableViewOptionsProps<TData>) {\n const ctx = useOptionalDataTableContext<TData>()\n const table = tableProp ?? ctx?.table\n if (!table) {\n throw new Error('DataTableViewOptions requires a `table` prop or to be rendered within <DataTableRoot>')\n }\n const resolvedLabel = label ?? ctx?.labels.columnsButton ?? defaultDataTableLabels.columnsButton\n const columns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n\n if (columns.length === 0) {\n return null\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button type=\"button\" variant=\"outline\" color=\"zinc\" size=\"sm\" className={cn('ml-auto', className)} {...props}>\n <IconColumns3 data-icon=\"inline-start\" />\n {resolvedLabel}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-44\">\n <DropdownMenuGroup>\n {columns.map((column) => (\n <DropdownMenuCheckboxItem\n key={column.id}\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(Boolean(value))}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nfunction DataTableToolbar<TData extends RowData>({\n filterColumns,\n showColumnVisibility,\n toolbarActions,\n labels: labelsOverride,\n className\n}: DataTableToolbarProps<TData>) {\n const { table, labels: contextLabels } = useDataTableContext<TData>()\n const labels = React.useMemo(\n () => (labelsOverride ? { ...contextLabels, ...labelsOverride } : contextLabels),\n [contextLabels, labelsOverride]\n )\n const filterColumnIds = React.useMemo<string[]>(() => {\n if (!filterColumns) {\n return []\n }\n return Array.isArray(filterColumns) ? filterColumns : [filterColumns]\n }, [filterColumns])\n\n const actions = renderToolbarActions(toolbarActions, table)\n const hasFilter = filterColumnIds.length > 0\n const [activeFilterColumn, setActiveFilterColumn] = React.useState<string | undefined>(filterColumnIds[0])\n\n React.useEffect(() => {\n if (filterColumnIds.length === 0) {\n setActiveFilterColumn(undefined)\n return\n }\n setActiveFilterColumn((current) => (current && filterColumnIds.includes(current) ? current : filterColumnIds[0]))\n }, [filterColumnIds])\n\n if (!hasFilter && !showColumnVisibility && !actions) {\n return null\n }\n\n const activeColumn = activeFilterColumn ? table.getColumn(activeFilterColumn) : undefined\n const filterValue = (activeColumn?.getFilterValue() as string | undefined) ?? ''\n\n const handleColumnChange = (nextId: string) => {\n if (nextId === activeFilterColumn) {\n return\n }\n if (activeFilterColumn) {\n table.getColumn(activeFilterColumn)?.setFilterValue(undefined)\n }\n setActiveFilterColumn(nextId)\n }\n\n return (\n <div className={cn('flex flex-col gap-2 sm:flex-row sm:items-center', className)}>\n {hasFilter && activeColumn ? (\n filterColumnIds.length > 1 ? (\n <InputGroup className=\"h-8 w-full sm:max-w-md\">\n <InputGroupAddon align=\"inline-start\" className=\"pr-0\">\n <select\n aria-label={labels.filterColumnSelectorLabel}\n value={activeFilterColumn}\n onChange={(event) => handleColumnChange(event.target.value)}\n className=\"cursor-pointer appearance-none border-0 bg-transparent pr-1 text-sm font-medium text-foreground outline-none focus:outline-none\"\n >\n {filterColumnIds.map((id) => (\n <option key={id} value={id}>\n {getColumnLabel(table.getColumn(id))}\n </option>\n ))}\n </select>\n </InputGroupAddon>\n <InputGroupInput\n placeholder={labels.filterPlaceholder}\n value={filterValue}\n onChange={(event) => activeColumn.setFilterValue(event.target.value)}\n />\n </InputGroup>\n ) : (\n <Input\n placeholder={labels.filterPlaceholder}\n value={filterValue}\n onChange={(event) => activeColumn.setFilterValue(event.target.value)}\n className=\"h-8 w-full sm:max-w-xs\"\n />\n )\n ) : null}\n <div className=\"flex flex-1 items-center justify-end gap-2\">\n {actions}\n {showColumnVisibility ? <DataTableViewOptions table={table} label={labels.columnsButton} /> : null}\n </div>\n </div>\n )\n}\n\nfunction DataTableHeader<TData extends RowData>({ className }: DataTableHeaderProps = {}) {\n const { table } = useDataTableContext<TData>()\n return (\n <TableHeader className={className}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead key={header.id} colSpan={header.colSpan}>\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )\n}\n\nfunction DataTableBody<TData extends RowData>({ emptyMessage, className }: DataTableBodyProps = {}) {\n const { table, labels } = useDataTableContext<TData>()\n const rows = table.getRowModel().rows\n const visibleColumnCount = table.getVisibleLeafColumns().length\n const resolvedEmptyMessage = emptyMessage ?? labels.emptyMessage\n\n return (\n <TableBody className={className}>\n {rows.length === 0 ? (\n <TableRow>\n <TableCell colSpan={visibleColumnCount} className=\"h-24 text-center\">\n {resolvedEmptyMessage}\n </TableCell>\n </TableRow>\n ) : (\n rows.map((row) => (\n <TableRow key={row.id} data-state={row.getIsSelected() ? 'selected' : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>{flexRender(cell.column.columnDef.cell, cell.getContext())}</TableCell>\n ))}\n </TableRow>\n ))\n )}\n </TableBody>\n )\n}\n\nfunction DataTablePagination<TData extends RowData>({\n table: tableProp,\n pageSizeOptions = [10, 20, 30, 40, 50],\n labels: labelsOverride,\n className,\n ...props\n}: DataTablePaginationProps<TData>) {\n const ctx = useOptionalDataTableContext<TData>()\n const table = tableProp ?? ctx?.table\n if (!table) {\n throw new Error('DataTablePagination requires a `table` prop or to be rendered within <DataTableRoot>')\n }\n const mergedLabels = React.useMemo(\n () => ({ ...defaultDataTableLabels, ...ctx?.labels, ...labelsOverride }),\n [ctx?.labels, labelsOverride]\n )\n const pageCount = table.getPageCount()\n const safePageCount = Math.max(pageCount, 1)\n const pageIndex = table.getState().pagination.pageIndex\n\n return (\n <div className={cn('flex items-center justify-end gap-4 px-2', className)} {...props}>\n <div className=\"flex items-center gap-6 lg:gap-8\">\n <div className=\"hidden items-center gap-2 sm:flex\">\n <p className=\"text-sm font-medium\">{mergedLabels.rowsPerPage}</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger size=\"sm\" className=\"h-8 w-20\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent side=\"top\">\n <SelectGroup>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n <div className=\"text-sm font-medium\">{mergedLabels.pageOf(pageIndex + 1, safePageCount)}</div>\n <div className=\"flex items-center gap-1\">\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n aria-label={mergedLabels.goToFirstPage}\n >\n <IconChevronsLeft />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n aria-label={mergedLabels.goToPreviousPage}\n >\n <IconChevronLeft />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n aria-label={mergedLabels.goToNextPage}\n >\n <IconChevronRight />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(pageCount - 1)}\n disabled={!table.getCanNextPage()}\n aria-label={mergedLabels.goToLastPage}\n >\n <IconChevronsRight />\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nfunction createDataTableSelectColumn<TData extends RowData>(options?: {\n labels?: Pick<Partial<DataTableLabels>, 'selectAllRows' | 'selectRow'>\n}): ColumnDef<TData> {\n const selectAllRows = options?.labels?.selectAllRows ?? defaultDataTableLabels.selectAllRows\n const selectRow = options?.labels?.selectRow ?? defaultDataTableLabels.selectRow\n\n return {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n header: ({ table }) => (\n <Checkbox\n aria-label={selectAllRows}\n checked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\n onCheckedChange={(value) => table.toggleAllPageRowsSelected(Boolean(value))}\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n aria-label={selectRow}\n checked={row.getIsSelected() || (row.getIsSomeSelected() && 'indeterminate')}\n disabled={!row.getCanSelect()}\n onCheckedChange={(value) => row.toggleSelected(Boolean(value))}\n />\n )\n }\n}\n\nfunction DataTable<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n filterColumns,\n pageSize = 10,\n pageSizeOptions,\n enableRowSelection = false,\n enableSorting = false,\n showPagination = false,\n showColumnVisibility = false,\n toolbarActions,\n labels,\n className,\n tableClassName,\n variant\n}: DataTableProps<TData, TValue>) {\n return (\n <DataTableRoot<TData, TValue>\n columns={columns}\n data={data}\n getRowId={getRowId}\n pageSize={pageSize}\n enableRowSelection={enableRowSelection}\n enableSorting={enableSorting}\n labels={labels}\n className={className}\n >\n <DataTableToolbar\n filterColumns={filterColumns}\n showColumnVisibility={showColumnVisibility}\n toolbarActions={toolbarActions}\n />\n <TableContainer>\n <Table className={tableClassName} variant={variant}>\n <DataTableHeader />\n <DataTableBody />\n </Table>\n </TableContainer>\n {showPagination ? <DataTablePagination pageSizeOptions={pageSizeOptions} /> : null}\n </DataTableRoot>\n )\n}\n\nexport type { Column, ColumnDef, RowData, Table as TanStackTable } from '@tanstack/react-table'\n\nexport {\n createDataTableSelectColumn,\n DataTable,\n DataTableBody,\n DataTableColumnHeader,\n DataTableHeader,\n DataTablePagination,\n DataTableRoot,\n DataTableToolbar,\n DataTableViewOptions\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-table.js","names":["Table"],"sources":["../../src/components/data-table.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {\n IconArrowsSort,\n IconChevronLeft,\n IconChevronRight,\n IconChevronsLeft,\n IconChevronsRight,\n IconColumns3,\n IconSortAscending,\n IconSortDescending\n} from '@tabler/icons-react'\nimport type {\n Column,\n ColumnDef,\n ColumnFiltersState,\n PaginationState,\n RowData,\n RowSelectionState,\n SortingState,\n Table as TanStackTable,\n VisibilityState\n} from '@tanstack/react-table'\nimport {\n flexRender,\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport { Checkbox } from './checkbox'\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuTrigger\n} from './dropdown-menu'\nimport { Input } from './input'\nimport { InputGroup, InputGroupAddon, InputGroupInput } from './input-group'\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from './select'\nimport { Table, TableBody, TableCell, TableContainer, TableHead, TableHeader, type TableProps, TableRow } from './table'\n\ntype DataTableToolbarActions<TData> = React.ReactNode | ((table: TanStackTable<TData>) => React.ReactNode)\n\nexport type DataTableLabels = {\n filterPlaceholder: string\n filterColumnSelectorLabel: string\n emptyMessage: React.ReactNode\n columnsButton: string\n rowsPerPage: string\n pageOf: (current: number, total: number) => React.ReactNode\n goToFirstPage: string\n goToPreviousPage: string\n goToNextPage: string\n goToLastPage: string\n selectAllRows: string\n selectRow: string\n}\n\nexport const defaultDataTableLabels: DataTableLabels = {\n filterPlaceholder: 'Filtrar linhas...',\n filterColumnSelectorLabel: 'Coluna para filtrar',\n emptyMessage: 'Nenhum resultado.',\n columnsButton: 'Colunas',\n rowsPerPage: 'Linhas por página',\n pageOf: (current, total) => `Página ${current} de ${total}`,\n goToFirstPage: 'Ir para a primeira página',\n goToPreviousPage: 'Ir para a página anterior',\n goToNextPage: 'Ir para a próxima página',\n goToLastPage: 'Ir para a última página',\n selectAllRows: 'Selecionar todas as linhas',\n selectRow: 'Selecionar linha'\n}\n\nexport type DataTableProps<TData extends RowData, TValue = unknown> = {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n getRowId?: (originalRow: TData, index: number, parent?: { id: string }) => string\n filterColumns?: string | string[]\n pageSize?: number\n pageSizeOptions?: number[]\n enableRowSelection?: boolean\n enableSorting?: boolean\n showPagination?: boolean\n showColumnVisibility?: boolean\n toolbarActions?: DataTableToolbarActions<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n tableClassName?: string\n variant?: TableProps['variant']\n}\n\nexport type DataTableColumnHeaderProps<TData extends RowData, TValue> = React.ComponentProps<'div'> & {\n column: Column<TData, TValue>\n title: React.ReactNode\n}\n\nexport type DataTablePaginationProps<TData extends RowData> = React.ComponentProps<'div'> & {\n table?: TanStackTable<TData>\n pageSizeOptions?: number[]\n labels?: Partial<DataTableLabels>\n}\n\nexport type DataTableViewOptionsProps<TData extends RowData> = React.ComponentProps<typeof Button> & {\n table?: TanStackTable<TData>\n label?: React.ReactNode\n}\n\nexport type UseDataTableOptions<TData extends RowData, TValue = unknown> = {\n columns: ColumnDef<TData, TValue>[]\n data: TData[]\n getRowId?: (originalRow: TData, index: number, parent?: { id: string }) => string\n pageSize?: number\n enableRowSelection?: boolean\n enableSorting?: boolean\n enablePagination?: boolean\n labels?: Partial<DataTableLabels>\n}\n\nexport type DataTableRootProps<TData extends RowData, TValue = unknown> = {\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n} & (\n | { table: TanStackTable<TData>; columns?: never; data?: never }\n | (Omit<UseDataTableOptions<TData, TValue>, 'labels'> & { table?: never })\n)\n\nexport type DataTableToolbarProps<TData extends RowData> = {\n filterColumns?: string | string[]\n showColumnVisibility?: boolean\n toolbarActions?: DataTableToolbarActions<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n}\n\nexport type DataTableHeaderProps = {\n className?: string\n}\n\nexport type DataTableBodyProps = {\n emptyMessage?: React.ReactNode\n className?: string\n}\n\ntype DataTableContextValue<TData extends RowData> = {\n table: TanStackTable<TData>\n labels: DataTableLabels\n}\n\nconst DataTableContext = React.createContext<DataTableContextValue<RowData> | null>(null)\n\nexport function useDataTableContext<TData extends RowData>(): DataTableContextValue<TData> {\n const ctx = React.useContext(DataTableContext)\n if (!ctx) {\n throw new Error('useDataTableContext must be used within <DataTableRoot>')\n }\n return ctx as unknown as DataTableContextValue<TData>\n}\n\nfunction useOptionalDataTableContext<TData extends RowData>(): DataTableContextValue<TData> | null {\n const ctx = React.useContext(DataTableContext)\n return ctx as unknown as DataTableContextValue<TData> | null\n}\n\nfunction renderToolbarActions<TData extends RowData>(\n actions: DataTableToolbarActions<TData> | undefined,\n table: TanStackTable<TData>\n) {\n return typeof actions === 'function' ? actions(table) : actions\n}\n\nfunction getColumnLabel<TData extends RowData>(column: ReturnType<TanStackTable<TData>['getColumn']>): string {\n if (!column) {\n return ''\n }\n const meta = column.columnDef.meta as { label?: string } | undefined\n return meta?.label ?? column.id\n}\n\nexport function useDataTable<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n pageSize = 10,\n enableRowSelection = false,\n enableSorting = false,\n enablePagination = false,\n labels\n}: UseDataTableOptions<TData, TValue>): TanStackTable<TData> {\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([])\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({})\n const [pagination, setPagination] = React.useState<PaginationState>({\n pageIndex: 0,\n pageSize\n })\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({})\n\n const mergedLabels = React.useMemo(() => ({ ...defaultDataTableLabels, ...labels }), [labels])\n const resolvedColumns = React.useMemo<ColumnDef<TData, TValue>[]>(() => {\n if (!enableRowSelection) {\n return columns\n }\n if (columns.some((column) => column.id === 'select')) {\n return columns\n }\n return [\n createDataTableSelectColumn<TData>({\n labels: { selectAllRows: mergedLabels.selectAllRows, selectRow: mergedLabels.selectRow }\n }) as ColumnDef<TData, TValue>,\n ...columns\n ]\n }, [columns, enableRowSelection, mergedLabels.selectAllRows, mergedLabels.selectRow])\n\n return useReactTable({\n data,\n columns: resolvedColumns,\n getRowId,\n enableRowSelection,\n enableSorting,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n pagination\n },\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n getSortedRowModel: enableSorting ? getSortedRowModel() : undefined\n })\n}\n\nfunction DataTableRootControlled<TData extends RowData>({\n table,\n labels,\n className,\n children\n}: {\n table: TanStackTable<TData>\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n}) {\n const mergedLabels = React.useMemo(() => ({ ...defaultDataTableLabels, ...labels }), [labels])\n const value: DataTableContextValue<TData> = { table, labels: mergedLabels }\n return (\n <DataTableContext.Provider value={value as unknown as DataTableContextValue<RowData>}>\n <div className={cn('flex w-full flex-col gap-4', className)}>{children}</div>\n </DataTableContext.Provider>\n )\n}\n\nfunction DataTableRootUncontrolled<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels,\n className,\n children\n}: Omit<UseDataTableOptions<TData, TValue>, 'labels'> & {\n labels?: Partial<DataTableLabels>\n className?: string\n children: React.ReactNode\n}) {\n const table = useDataTable<TData, TValue>({\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels\n })\n return (\n <DataTableRootControlled table={table} labels={labels} className={className}>\n {children}\n </DataTableRootControlled>\n )\n}\n\nfunction DataTableRoot<TData extends RowData, TValue = unknown>(props: DataTableRootProps<TData, TValue>) {\n if ('table' in props && props.table !== undefined) {\n const { table, labels, className, children } = props\n return (\n <DataTableRootControlled table={table} labels={labels} className={className}>\n {children}\n </DataTableRootControlled>\n )\n }\n const {\n columns,\n data,\n getRowId,\n pageSize,\n enableRowSelection,\n enableSorting,\n enablePagination,\n labels,\n className,\n children\n } = props\n return (\n <DataTableRootUncontrolled<TData, TValue>\n columns={columns!}\n data={data!}\n getRowId={getRowId}\n pageSize={pageSize}\n enableRowSelection={enableRowSelection}\n enableSorting={enableSorting}\n enablePagination={enablePagination}\n labels={labels}\n className={className}\n >\n {children}\n </DataTableRootUncontrolled>\n )\n}\n\nfunction DataTableColumnHeader<TData extends RowData, TValue>({\n column,\n title,\n className,\n ...props\n}: DataTableColumnHeaderProps<TData, TValue>) {\n if (!column.getCanSort()) {\n return (\n <div className={cn('inline-flex items-center gap-1', className)} {...props}>\n {title}\n </div>\n )\n }\n\n const sorted = column.getIsSorted()\n\n return (\n <div className={cn('inline-flex items-center gap-1', className)} {...props}>\n {title}\n <Button\n variant=\"ghost\"\n color=\"zinc\"\n size=\"icon-xs\"\n onClick={() => {\n if (sorted === 'desc') return column.clearSorting()\n column.toggleSorting(sorted === 'asc')\n }}\n >\n {sorted === 'desc' ? (\n <IconSortDescending className=\"size-4\" data-icon=\"inline-end\" />\n ) : sorted === 'asc' ? (\n <IconSortAscending className=\"size-4\" data-icon=\"inline-end\" />\n ) : (\n <IconArrowsSort className=\"size-4\" data-icon=\"inline-end\" />\n )}\n </Button>\n </div>\n )\n}\n\nfunction DataTableViewOptions<TData extends RowData>({\n table: tableProp,\n label,\n className,\n ...props\n}: DataTableViewOptionsProps<TData>) {\n const ctx = useOptionalDataTableContext<TData>()\n const table = tableProp ?? ctx?.table\n if (!table) {\n throw new Error('DataTableViewOptions requires a `table` prop or to be rendered within <DataTableRoot>')\n }\n const resolvedLabel = label ?? ctx?.labels.columnsButton ?? defaultDataTableLabels.columnsButton\n const columns = table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n\n if (columns.length === 0) {\n return null\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button type=\"button\" variant=\"outline\" color=\"zinc\" size=\"sm\" className={cn('ml-auto', className)} {...props}>\n <IconColumns3 data-icon=\"inline-start\" />\n {resolvedLabel}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-44\">\n <DropdownMenuGroup>\n {columns.map((column) => (\n <DropdownMenuCheckboxItem\n key={column.id}\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(Boolean(value))}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n ))}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nfunction DataTableToolbar<TData extends RowData>({\n filterColumns,\n showColumnVisibility,\n toolbarActions,\n labels: labelsOverride,\n className\n}: DataTableToolbarProps<TData>) {\n const { table, labels: contextLabels } = useDataTableContext<TData>()\n const labels = React.useMemo(\n () => (labelsOverride ? { ...contextLabels, ...labelsOverride } : contextLabels),\n [contextLabels, labelsOverride]\n )\n const filterColumnIds = React.useMemo<string[]>(() => {\n if (!filterColumns) {\n return []\n }\n return Array.isArray(filterColumns) ? filterColumns : [filterColumns]\n }, [filterColumns])\n\n const actions = renderToolbarActions(toolbarActions, table)\n const hasFilter = filterColumnIds.length > 0\n const [activeFilterColumn, setActiveFilterColumn] = React.useState<string | undefined>(filterColumnIds[0])\n\n React.useEffect(() => {\n if (filterColumnIds.length === 0) {\n setActiveFilterColumn(undefined)\n return\n }\n setActiveFilterColumn((current) => (current && filterColumnIds.includes(current) ? current : filterColumnIds[0]))\n }, [filterColumnIds])\n\n if (!hasFilter && !showColumnVisibility && !actions) {\n return null\n }\n\n const activeColumn = activeFilterColumn ? table.getColumn(activeFilterColumn) : undefined\n const filterValue = (activeColumn?.getFilterValue() as string | undefined) ?? ''\n\n const handleColumnChange = (nextId: string) => {\n if (nextId === activeFilterColumn) {\n return\n }\n if (activeFilterColumn) {\n table.getColumn(activeFilterColumn)?.setFilterValue(undefined)\n }\n setActiveFilterColumn(nextId)\n }\n\n return (\n <div className={cn('flex flex-col gap-2 sm:flex-row sm:items-center', className)}>\n {hasFilter && activeColumn ? (\n filterColumnIds.length > 1 ? (\n <InputGroup className=\"h-8 w-full sm:max-w-md\">\n <InputGroupAddon align=\"inline-start\" className=\"pr-0\">\n <select\n aria-label={labels.filterColumnSelectorLabel}\n value={activeFilterColumn}\n onChange={(event) => handleColumnChange(event.target.value)}\n className=\"cursor-pointer appearance-none border-0 bg-transparent pr-1 text-sm font-medium text-foreground outline-none focus:outline-none\"\n >\n {filterColumnIds.map((id) => (\n <option key={id} value={id}>\n {getColumnLabel(table.getColumn(id))}\n </option>\n ))}\n </select>\n </InputGroupAddon>\n <InputGroupInput\n placeholder={labels.filterPlaceholder}\n value={filterValue}\n onChange={(event) => activeColumn.setFilterValue(event.target.value)}\n />\n </InputGroup>\n ) : (\n <Input\n placeholder={labels.filterPlaceholder}\n value={filterValue}\n onChange={(event) => activeColumn.setFilterValue(event.target.value)}\n className=\"h-8 w-full sm:max-w-xs\"\n />\n )\n ) : null}\n <div className=\"flex flex-1 items-center justify-end gap-2\">\n {actions}\n {showColumnVisibility ? <DataTableViewOptions table={table} label={labels.columnsButton} /> : null}\n </div>\n </div>\n )\n}\n\nfunction DataTableHeader<TData extends RowData>({ className }: DataTableHeaderProps = {}) {\n const { table } = useDataTableContext<TData>()\n return (\n <TableHeader className={className}>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead key={header.id} colSpan={header.colSpan}>\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n )\n}\n\nfunction DataTableBody<TData extends RowData>({ emptyMessage, className }: DataTableBodyProps = {}) {\n const { table, labels } = useDataTableContext<TData>()\n const rows = table.getRowModel().rows\n const visibleColumnCount = table.getVisibleLeafColumns().length\n const resolvedEmptyMessage = emptyMessage ?? labels.emptyMessage\n\n return (\n <TableBody className={className}>\n {rows.length === 0 ? (\n <TableRow>\n <TableCell colSpan={visibleColumnCount} className=\"h-24 text-center\">\n {resolvedEmptyMessage}\n </TableCell>\n </TableRow>\n ) : (\n rows.map((row) => (\n <TableRow key={row.id} data-state={row.getIsSelected() ? 'selected' : undefined}>\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>{flexRender(cell.column.columnDef.cell, cell.getContext())}</TableCell>\n ))}\n </TableRow>\n ))\n )}\n </TableBody>\n )\n}\n\nfunction DataTablePagination<TData extends RowData>({\n table: tableProp,\n pageSizeOptions = [10, 20, 30, 40, 50],\n labels: labelsOverride,\n className,\n ...props\n}: DataTablePaginationProps<TData>) {\n const ctx = useOptionalDataTableContext<TData>()\n const table = tableProp ?? ctx?.table\n if (!table) {\n throw new Error('DataTablePagination requires a `table` prop or to be rendered within <DataTableRoot>')\n }\n const mergedLabels = React.useMemo(\n () => ({ ...defaultDataTableLabels, ...ctx?.labels, ...labelsOverride }),\n [ctx?.labels, labelsOverride]\n )\n const pageCount = table.getPageCount()\n const safePageCount = Math.max(pageCount, 1)\n const pageIndex = table.getState().pagination.pageIndex\n\n return (\n <div className={cn('flex items-center justify-end gap-4 px-2', className)} {...props}>\n <div className=\"flex items-center gap-6 lg:gap-8\">\n <div className=\"hidden items-center gap-2 sm:flex\">\n <p className=\"text-sm font-medium\">{mergedLabels.rowsPerPage}</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger size=\"sm\" className=\"h-8 w-20\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent side=\"top\">\n <SelectGroup>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n <div className=\"text-sm font-medium\">{mergedLabels.pageOf(pageIndex + 1, safePageCount)}</div>\n <div className=\"flex items-center gap-1\">\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n aria-label={mergedLabels.goToFirstPage}\n >\n <IconChevronsLeft />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n aria-label={mergedLabels.goToPreviousPage}\n >\n <IconChevronLeft />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n aria-label={mergedLabels.goToNextPage}\n >\n <IconChevronRight />\n </Button>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"zinc\"\n size=\"icon-sm\"\n className=\"hidden lg:inline-flex\"\n onClick={() => table.setPageIndex(pageCount - 1)}\n disabled={!table.getCanNextPage()}\n aria-label={mergedLabels.goToLastPage}\n >\n <IconChevronsRight />\n </Button>\n </div>\n </div>\n </div>\n )\n}\n\nfunction createDataTableSelectColumn<TData extends RowData>(options?: {\n labels?: Pick<Partial<DataTableLabels>, 'selectAllRows' | 'selectRow'>\n}): ColumnDef<TData> {\n const selectAllRows = options?.labels?.selectAllRows ?? defaultDataTableLabels.selectAllRows\n const selectRow = options?.labels?.selectRow ?? defaultDataTableLabels.selectRow\n\n return {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n header: ({ table }) => (\n <Checkbox\n aria-label={selectAllRows}\n checked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\n onCheckedChange={(value) => table.toggleAllPageRowsSelected(Boolean(value))}\n />\n ),\n cell: ({ row }) => (\n <Checkbox\n aria-label={selectRow}\n checked={row.getIsSelected() || (row.getIsSomeSelected() && 'indeterminate')}\n disabled={!row.getCanSelect()}\n onCheckedChange={(value) => row.toggleSelected(Boolean(value))}\n />\n )\n }\n}\n\nfunction DataTable<TData extends RowData, TValue = unknown>({\n columns,\n data,\n getRowId,\n filterColumns,\n pageSize = 10,\n pageSizeOptions,\n enableRowSelection = false,\n enableSorting = false,\n showPagination = false,\n showColumnVisibility = false,\n toolbarActions,\n labels,\n className,\n tableClassName,\n variant\n}: DataTableProps<TData, TValue>) {\n return (\n <DataTableRoot<TData, TValue>\n columns={columns}\n data={data}\n getRowId={getRowId}\n pageSize={pageSize}\n enableRowSelection={enableRowSelection}\n enableSorting={enableSorting}\n labels={labels}\n className={className}\n >\n <DataTableToolbar\n filterColumns={filterColumns}\n showColumnVisibility={showColumnVisibility}\n toolbarActions={toolbarActions}\n />\n <TableContainer>\n <Table className={tableClassName} variant={variant}>\n <DataTableHeader />\n <DataTableBody />\n </Table>\n </TableContainer>\n {showPagination ? <DataTablePagination pageSizeOptions={pageSizeOptions} /> : null}\n </DataTableRoot>\n )\n}\n\nexport type { Column, ColumnDef, RowData, Table as TanStackTable } from '@tanstack/react-table'\n\nexport {\n createDataTableSelectColumn,\n DataTable,\n DataTableBody,\n DataTableColumnHeader,\n DataTableHeader,\n DataTablePagination,\n DataTableRoot,\n DataTableToolbar,\n DataTableViewOptions\n}\n"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ declare function EmptyHeader({
|
|
|
17
17
|
...props
|
|
18
18
|
}: EmptyHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
declare const emptyMediaVariants: (props?: ({
|
|
20
|
-
variant?: "
|
|
20
|
+
variant?: "icon" | "default" | null | undefined;
|
|
21
21
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
22
22
|
declare function EmptyMedia({
|
|
23
23
|
className,
|
|
@@ -35,7 +35,7 @@ declare function FieldGroup({
|
|
|
35
35
|
...props
|
|
36
36
|
}: FieldGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
37
37
|
declare const fieldVariants: (props?: ({
|
|
38
|
-
orientation?: "
|
|
38
|
+
orientation?: "vertical" | "horizontal" | "responsive" | null | undefined;
|
|
39
39
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
40
40
|
type FieldProps = React.ComponentProps<'div'> & VariantProps<typeof fieldVariants>;
|
|
41
41
|
declare function Field({
|
|
@@ -5,10 +5,10 @@ import * as React from "react";
|
|
|
5
5
|
//#region src/components/flex.d.ts
|
|
6
6
|
declare const flexVariants: (props?: ({
|
|
7
7
|
direction?: "row" | "row-reverse" | "column" | "column-reverse" | null | undefined;
|
|
8
|
-
align?: "center" | "
|
|
9
|
-
justify?: "center" | "
|
|
8
|
+
align?: "center" | "start" | "end" | "baseline" | "stretch" | null | undefined;
|
|
9
|
+
justify?: "center" | "start" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
10
10
|
wrap?: boolean | null | undefined;
|
|
11
|
-
gap?: "
|
|
11
|
+
gap?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
12
12
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
13
|
type FlexProps = React.ComponentProps<'div'> & VariantProps<typeof flexVariants>;
|
|
14
14
|
declare function Flex({
|
|
@@ -4,9 +4,9 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/group.d.ts
|
|
6
6
|
declare const groupVariants: (props?: ({
|
|
7
|
-
align?: "center" | "
|
|
8
|
-
justify?: "center" | "
|
|
9
|
-
gap?: "
|
|
7
|
+
align?: "center" | "start" | "end" | "baseline" | "stretch" | null | undefined;
|
|
8
|
+
justify?: "center" | "start" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
9
|
+
gap?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
10
10
|
wrap?: boolean | null | undefined;
|
|
11
11
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
12
|
type GroupProps = React.ComponentProps<'div'> & VariantProps<typeof groupVariants>;
|
|
@@ -4,7 +4,7 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/heading.d.ts
|
|
6
6
|
declare const headingVariants: (props?: ({
|
|
7
|
-
size?: "
|
|
7
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
type HeadingProps = React.ComponentProps<'h2'> & VariantProps<typeof headingVariants> & {
|
|
10
10
|
asChild?: boolean;
|
|
@@ -23,7 +23,7 @@ declare function InputGroupAddon({
|
|
|
23
23
|
...props
|
|
24
24
|
}: InputGroupAddonProps): import("react/jsx-runtime").JSX.Element;
|
|
25
25
|
declare const inputGroupButtonVariants: (props?: ({
|
|
26
|
-
size?: "
|
|
26
|
+
size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
|
|
27
27
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
28
28
|
declare function InputGroupButton({
|
|
29
29
|
className,
|
|
@@ -8,8 +8,8 @@ type InternalListItemProps = {
|
|
|
8
8
|
__index?: number;
|
|
9
9
|
};
|
|
10
10
|
declare const listVariants: (props?: ({
|
|
11
|
-
size?: "
|
|
12
|
-
spacing?: "
|
|
11
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
12
|
+
spacing?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
13
13
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
14
14
|
type ListProps = Omit<React.ComponentProps<'ul'>, 'ref' | 'type'> & Omit<React.ComponentProps<'ol'>, 'ref' | 'type'> & VariantProps<typeof listVariants> & {
|
|
15
15
|
type?: ListType;
|
|
@@ -123,7 +123,7 @@ declare function SidebarMenuItem({
|
|
|
123
123
|
...props
|
|
124
124
|
}: SidebarMenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
125
125
|
declare const sidebarMenuButtonVariants: (props?: ({
|
|
126
|
-
variant?: "
|
|
126
|
+
variant?: "outline" | "default" | null | undefined;
|
|
127
127
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
128
128
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
129
129
|
type SidebarMenuButtonProps = React.ComponentProps<'button'> & {
|
|
@@ -4,9 +4,9 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/stack.d.ts
|
|
6
6
|
declare const stackVariants: (props?: ({
|
|
7
|
-
align?: "center" | "
|
|
8
|
-
justify?: "center" | "
|
|
9
|
-
gap?: "
|
|
7
|
+
align?: "center" | "start" | "end" | "baseline" | "stretch" | null | undefined;
|
|
8
|
+
justify?: "center" | "start" | "end" | "between" | "around" | "evenly" | null | undefined;
|
|
9
|
+
gap?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
10
10
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
11
|
type StackProps = React.ComponentProps<'div'> & VariantProps<typeof stackVariants>;
|
|
12
12
|
declare function Stack({
|
|
@@ -7,7 +7,7 @@ type TableContainerProps = React.ComponentProps<'div'> & {
|
|
|
7
7
|
minWidth?: number | string;
|
|
8
8
|
};
|
|
9
9
|
declare const tableVariants: (props?: ({
|
|
10
|
-
variant?: "
|
|
10
|
+
variant?: "line" | "outline" | null | undefined;
|
|
11
11
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
12
|
type TableProps = React.ComponentProps<'table'> & VariantProps<typeof tableVariants> & {
|
|
13
13
|
striped?: boolean;
|
package/dist/components/table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`w-full caption-bottom text-sm`,{variants:{variant:{line:``,outline:e(`rounded-lg border border-separate border-spacing-0`,`[&_thead_th]:border-b`,`[&_tbody_tr:not(:last-child)>td]:border-b`)}},defaultVariants:{variant:`line`}});function TableContainer({className:n,minWidth:r,style:i,...a}){return t(`div`,{"data-slot":`table-container`,className:e(`relative w-full overflow-x-auto`,`has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border`,`[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0`,n),style:r===void 0?i:{minWidth:r,...i},...a})}function Table({className:n,variant:i=`line`,striped:a=!0,stickyHeader:o=!1,...s}){return t(`table`,{"data-slot":`table`,"data-variant":i,"data-striped":a?`true`:`false`,"data-sticky-header":o?`true`:`false`,className:e(r({variant:i}),`data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/
|
|
1
|
+
import"../chunk-CHh1Zzun.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{cva as n}from"class-variance-authority";const r=n(`w-full caption-bottom text-sm`,{variants:{variant:{line:``,outline:e(`rounded-lg border border-separate border-spacing-0`,`[&_thead_th]:border-b`,`[&_tbody_tr:not(:last-child)>td]:border-b`)}},defaultVariants:{variant:`line`}});function TableContainer({className:n,minWidth:r,style:i,...a}){return t(`div`,{"data-slot":`table-container`,className:e(`relative w-full overflow-x-auto`,`has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border`,`[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0`,n),style:r===void 0?i:{minWidth:r,...i},...a})}function Table({className:n,variant:i=`line`,striped:a=!0,stickyHeader:o=!1,...s}){return t(`table`,{"data-slot":`table`,"data-variant":i,"data-striped":a?`true`:`false`,"data-sticky-header":o?`true`:`false`,className:e(r({variant:i}),`data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50`,`data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background`,n),...s})}function TableHeader({className:n,...r}){return t(`thead`,{"data-slot":`table-header`,className:e(`[&_tr]:border-b`,n),...r})}function TableBody({className:n,...r}){return t(`tbody`,{"data-slot":`table-body`,className:e(`[&_tr:last-child]:border-0`,n),...r})}function TableFooter({className:n,...r}){return t(`tfoot`,{"data-slot":`table-footer`,className:e(`border-t bg-muted/50 font-medium [&>tr]:last:border-b-0`,n),...r})}function TableRow({className:n,...r}){return t(`tr`,{"data-slot":`table-row`,className:e(`border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,n),...r})}function TableHead({className:n,...r}){return t(`th`,{"data-slot":`table-head`,className:e(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0`,n),...r})}function TableCell({className:n,...r}){return t(`td`,{"data-slot":`table-cell`,className:e(`p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0`,n),...r})}function TableCaption({className:n,...r}){return t(`caption`,{"data-slot":`table-caption`,className:e(`mt-4 text-sm text-muted-foreground`,n),...r})}export{Table,TableBody,TableCaption,TableCell,TableContainer,TableFooter,TableHead,TableHeader,TableRow,r as tableVariants};
|
|
2
2
|
//# sourceMappingURL=table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","names":[],"sources":["../../src/components/table.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nexport type TableContainerProps = React.ComponentProps<'div'> & {\n minWidth?: number | string\n}\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n line: '',\n outline: cn(\n 'rounded-lg border border-separate border-spacing-0',\n '[&_thead_th]:border-b',\n '[&_tbody_tr:not(:last-child)>td]:border-b'\n )\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n})\n\nexport type TableProps = React.ComponentProps<'table'> &\n VariantProps<typeof tableVariants> & {\n striped?: boolean\n stickyHeader?: boolean\n }\n\nexport type TableHeaderProps = React.ComponentProps<'thead'>\n\nexport type TableBodyProps = React.ComponentProps<'tbody'>\n\nexport type TableFooterProps = React.ComponentProps<'tfoot'>\n\nexport type TableRowProps = React.ComponentProps<'tr'>\n\nexport type TableHeadProps = React.ComponentProps<'th'>\n\nexport type TableCellProps = React.ComponentProps<'td'>\n\nexport type TableCaptionProps = React.ComponentProps<'caption'>\n\nfunction TableContainer({ className, minWidth, style, ...props }: TableContainerProps) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn(\n 'relative w-full overflow-x-auto',\n 'has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border',\n '[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0',\n className\n )}\n style={minWidth !== undefined ? { minWidth, ...style } : style}\n {...props}\n />\n )\n}\n\nfunction Table({ className, variant = 'line', striped = true, stickyHeader = false, ...props }: TableProps) {\n return (\n <table\n data-slot=\"table\"\n data-variant={variant}\n data-striped={striped ? 'true' : 'false'}\n data-sticky-header={stickyHeader ? 'true' : 'false'}\n className={cn(\n tableVariants({ variant }),\n 'data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/
|
|
1
|
+
{"version":3,"file":"table.js","names":[],"sources":["../../src/components/table.tsx"],"sourcesContent":["import type * as React from 'react'\n\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nexport type TableContainerProps = React.ComponentProps<'div'> & {\n minWidth?: number | string\n}\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n line: '',\n outline: cn(\n 'rounded-lg border border-separate border-spacing-0',\n '[&_thead_th]:border-b',\n '[&_tbody_tr:not(:last-child)>td]:border-b'\n )\n }\n },\n defaultVariants: {\n variant: 'line'\n }\n})\n\nexport type TableProps = React.ComponentProps<'table'> &\n VariantProps<typeof tableVariants> & {\n striped?: boolean\n stickyHeader?: boolean\n }\n\nexport type TableHeaderProps = React.ComponentProps<'thead'>\n\nexport type TableBodyProps = React.ComponentProps<'tbody'>\n\nexport type TableFooterProps = React.ComponentProps<'tfoot'>\n\nexport type TableRowProps = React.ComponentProps<'tr'>\n\nexport type TableHeadProps = React.ComponentProps<'th'>\n\nexport type TableCellProps = React.ComponentProps<'td'>\n\nexport type TableCaptionProps = React.ComponentProps<'caption'>\n\nfunction TableContainer({ className, minWidth, style, ...props }: TableContainerProps) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn(\n 'relative w-full overflow-x-auto',\n 'has-[>table[data-variant=outline]]:rounded-lg has-[>table[data-variant=outline]]:border',\n '[&>table[data-variant=outline]]:rounded-none [&>table[data-variant=outline]]:border-0',\n className\n )}\n style={minWidth !== undefined ? { minWidth, ...style } : style}\n {...props}\n />\n )\n}\n\nfunction Table({ className, variant = 'line', striped = true, stickyHeader = false, ...props }: TableProps) {\n return (\n <table\n data-slot=\"table\"\n data-variant={variant}\n data-striped={striped ? 'true' : 'false'}\n data-sticky-header={stickyHeader ? 'true' : 'false'}\n className={cn(\n tableVariants({ variant }),\n 'data-[striped=true]:[&_tbody_tr:nth-child(even):not([data-state=selected]):not(:hover)]:bg-muted/50',\n 'data-[sticky-header=true]:[&_thead]:sticky data-[sticky-header=true]:[&_thead]:top-0 data-[sticky-header=true]:[&_thead]:z-10 data-[sticky-header=true]:[&_thead]:bg-background',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableHeader({ className, ...props }: TableHeaderProps) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: TableBodyProps) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nfunction TableFooter({ className, ...props }: TableFooterProps) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: TableRowProps) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className)}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: TableHeadProps) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground has-[[role=checkbox]]:pr-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: TableCellProps) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn('p-2 align-middle whitespace-nowrap has-[[role=checkbox]]:pr-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: TableCaptionProps) {\n return (\n <caption data-slot=\"table-caption\" className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\n )\n}\n\nexport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableContainer,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n tableVariants\n}\n"],"mappings":"yJAUA,MAAM,EAAgB,EAAI,gCAAiC,CACzD,SAAU,CACR,QAAS,CACP,KAAM,GACN,QAAS,EACP,qDACA,wBACA,2CACF,CACF,CACF,EACA,gBAAiB,CACf,QAAS,MACX,CACF,CAAC,EAsBD,SAAS,eAAe,CAAE,YAAW,WAAU,QAAO,GAAG,GAA8B,CACrF,OACE,EAAC,MAAD,CACE,YAAU,kBACV,UAAW,EACT,kCACA,0FACA,wFACA,CACF,EACA,MAAO,IAAa,IAAA,GAAqC,EAAzB,CAAE,WAAU,GAAG,CAAM,EACrD,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,MAAM,CAAE,YAAW,UAAU,OAAQ,UAAU,GAAM,eAAe,GAAO,GAAG,GAAqB,CAC1G,OACE,EAAC,QAAD,CACE,YAAU,QACV,eAAc,EACd,eAAc,EAAU,OAAS,QACjC,qBAAoB,EAAe,OAAS,QAC5C,UAAW,EACT,EAAc,CAAE,SAAQ,CAAC,EACzB,sGACA,kLACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OAAO,EAAC,QAAD,CAAO,YAAU,eAAe,UAAW,EAAG,kBAAmB,CAAS,EAAG,GAAI,CAAQ,CAAA,CAClG,CAEA,SAAS,UAAU,CAAE,YAAW,GAAG,GAAyB,CAC1D,OAAO,EAAC,QAAD,CAAO,YAAU,aAAa,UAAW,EAAG,6BAA8B,CAAS,EAAG,GAAI,CAAQ,CAAA,CAC3G,CAEA,SAAS,YAAY,CAAE,YAAW,GAAG,GAA2B,CAC9D,OACE,EAAC,QAAD,CACE,YAAU,eACV,UAAW,EAAG,0DAA2D,CAAS,EAClF,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,SAAS,CAAE,YAAW,GAAG,GAAwB,CACxD,OACE,EAAC,KAAD,CACE,YAAU,YACV,UAAW,EAAG,8EAA+E,CAAS,EACtG,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAG,GAAyB,CAC1D,OACE,EAAC,KAAD,CACE,YAAU,aACV,UAAW,EACT,4GACA,CACF,EACA,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,UAAU,CAAE,YAAW,GAAG,GAAyB,CAC1D,OACE,EAAC,KAAD,CACE,YAAU,aACV,UAAW,EAAG,gEAAiE,CAAS,EACxF,GAAI,CACL,CAAA,CAEL,CAEA,SAAS,aAAa,CAAE,YAAW,GAAG,GAA4B,CAChE,OACE,EAAC,UAAD,CAAS,YAAU,gBAAgB,UAAW,EAAG,qCAAsC,CAAS,EAAG,GAAI,CAAQ,CAAA,CAEnH"}
|
|
@@ -4,7 +4,7 @@ import * as React from "react";
|
|
|
4
4
|
|
|
5
5
|
//#region src/components/text.d.ts
|
|
6
6
|
declare const textVariants: (props?: ({
|
|
7
|
-
size?: "
|
|
7
|
+
size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
type TextProps = React.ComponentProps<'p'> & VariantProps<typeof textVariants> & {
|
|
10
10
|
asChild?: boolean;
|
|
@@ -8,10 +8,10 @@ declare const timelineVariants: (props?: ({
|
|
|
8
8
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
9
9
|
declare const timelineConnectorVariants: (props?: ({
|
|
10
10
|
status?: "pending" | "completed" | "in-progress" | null | undefined;
|
|
11
|
-
color?: "
|
|
11
|
+
color?: "primary" | "destructive" | "secondary" | "muted" | "accent" | "gradient" | null | undefined;
|
|
12
12
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
13
|
declare const timelineIconVariants: (props?: ({
|
|
14
|
-
color?: "
|
|
14
|
+
color?: "primary" | "destructive" | "secondary" | "muted" | "accent" | null | undefined;
|
|
15
15
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
16
16
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
17
17
|
type TimelineIconSize = NonNullable<VariantProps<typeof timelineIconVariants>['size']>;
|
package/dist/index.d.ts
CHANGED
|
@@ -81,6 +81,7 @@ import { UseIdleOptions, useIdle } from "./hooks/use-idle.js";
|
|
|
81
81
|
import { UseIntervalOptions, UseIntervalReturnValue, useInterval } from "./hooks/use-interval.js";
|
|
82
82
|
import { UseLocalStorageOptions, useLocalStorage } from "./hooks/use-local-storage.js";
|
|
83
83
|
import { useIsMobile } from "./hooks/use-mobile.js";
|
|
84
|
+
import { BadgeColor, badgeColorVariants } from "./lib/badge.js";
|
|
84
85
|
import { ButtonColor, buttonColorVariants } from "./lib/button.js";
|
|
85
86
|
import { cn, randomId } from "./lib/utils.js";
|
|
86
|
-
export { Accordion, AccordionContent, AccordionContentProps, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, AccordionTriggerProps, Alert, AlertAction, AlertActionProps, AlertDescription, AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogActionProps, AlertDialogCancel, AlertDialogCancelProps, AlertDialogContent, AlertDialogContentProps, AlertDialogDescription, AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogFooterProps, AlertDialogHeader, AlertDialogHeaderProps, AlertDialogMedia, AlertDialogMediaProps, AlertDialogOverlay, AlertDialogOverlayProps, AlertDialogPortal, AlertDialogPortalProps, AlertDialogProps, AlertDialogTitle, AlertDialogTitleProps, AlertDialogTrigger, AlertDialogTriggerProps, AlertProps, AlertTitle, AlertTitleProps, Anchor, AnchorProps, AreaChart, AreaChartCurveType, AreaChartGridAxis, AreaChartProps, AreaChartSeries, AreaChartType, Avatar, AvatarBadge, AvatarBadgeProps, AvatarFallback, AvatarFallbackProps, AvatarGroup, AvatarGroupCount, AvatarGroupCountProps, AvatarGroupProps, AvatarImage, AvatarImageProps, AvatarProps, Badge, BadgeProps, BarChart, BarChartGridAxis, BarChartOrientation, BarChartProps, BarChartSeries, BarChartType, Breadcrumb, BreadcrumbEllipsis, BreadcrumbEllipsisProps, BreadcrumbItem, BreadcrumbItemProps, BreadcrumbLink, BreadcrumbLinkProps, BreadcrumbList, BreadcrumbListProps, BreadcrumbPage, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparator, BreadcrumbSeparatorProps, Breakpoint, Button, ButtonColor, ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupSeparatorProps, ButtonGroupText, ButtonGroupTextProps, ButtonProps, Calendar, CalendarDayButton, CalendarDayButtonProps, CalendarProps, Card, CardAction, CardActionProps, CardContent, CardContentProps, CardDescription, CardDescriptionProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselApi, CarouselContent, CarouselContentProps, CarouselIndicators, CarouselIndicatorsProps, CarouselItem, CarouselItemProps, CarouselNext, CarouselNextProps, CarouselPrevious, CarouselPreviousProps, CarouselProps, Center, CenterProps, ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartLegendProps, ChartStyle, ChartStyleProps, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, ChartTooltipProps, Checkbox, CheckboxProps, Code, CodeProps, Collapsible, CollapsibleContent, CollapsibleContentProps, CollapsibleProps, CollapsibleTrigger, CollapsibleTriggerProps, type Column, type ColumnDef, Combobox, ComboboxChip, ComboboxChipProps, ComboboxChips, ComboboxChipsInput, ComboboxChipsInputProps, ComboboxChipsProps, ComboboxClear, ComboboxClearProps, ComboboxCollection, ComboboxCollectionProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxGroup, ComboboxGroupProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemProps, ComboboxLabel, ComboboxLabelProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxSeparator, ComboboxSeparatorProps, ComboboxTrigger, ComboboxTriggerProps, ComboboxValue, ComboboxValueProps, Command, CommandDialog, CommandDialogProps, CommandEmpty, CommandEmptyProps, CommandGroup, CommandGroupProps, CommandInput, CommandInputProps, CommandItem, CommandItemProps, CommandList, CommandListProps, CommandProps, CommandSeparator, CommandSeparatorProps, CommandShortcut, CommandShortcutProps, Container, ContainerProps, DataTable, DataTableBody, DataTableBodyProps, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableHeader, DataTableHeaderProps, DataTableLabels, DataTablePagination, DataTablePaginationProps, DataTableProps, DataTableRoot, DataTableRootProps, DataTableToolbar, DataTableToolbarProps, DataTableViewOptions, DataTableViewOptionsProps, type DateRange, DateRangePicker, DateRangePickerActions, DateRangePickerActionsProps, DateRangePickerApply, DateRangePickerApplyProps, DateRangePickerCalendar, DateRangePickerCalendarProps, DateRangePickerContent, DateRangePickerContentProps, DateRangePickerDateFields, DateRangePickerDateFieldsProps, DateRangePickerPreset, DateRangePickerPresetOption, DateRangePickerPresetProps, DateRangePickerPresets, DateRangePickerPresetsProps, DateRangePickerProps, DateRangePickerReset, DateRangePickerResetProps, DateRangePickerTrigger, DateRangePickerTriggerProps, DateRangePickerValue, DateRangePickerValueProps, Dialog, DialogClose, DialogCloseProps, DialogContent, DialogContentProps, DialogDescription, DialogDescriptionProps, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogOverlay, DialogOverlayProps, DialogPortal, DialogPortalProps, DialogProps, DialogTitle, DialogTitleProps, DialogTrigger, DialogTriggerProps, DonutChart, DonutChartProps, Drawer, DrawerBody, DrawerBodyProps, DrawerClose, DrawerCloseProps, DrawerContent, DrawerContentProps, DrawerDescription, DrawerDescriptionProps, DrawerFooter, DrawerFooterProps, DrawerHeader, DrawerHeaderProps, DrawerOverlay, DrawerOverlayProps, DrawerPortal, DrawerPortalProps, DrawerProps, DrawerTitle, DrawerTitleProps, DrawerTrigger, DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemProps, DropdownMenuContent, DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuGroupProps, DropdownMenuItem, DropdownMenuItemProps, DropdownMenuLabel, DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuPortalProps, DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioGroupProps, DropdownMenuRadioItem, DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuSeparatorProps, DropdownMenuShortcut, DropdownMenuShortcutProps, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubContentProps, DropdownMenuSubProps, DropdownMenuSubTrigger, DropdownMenuSubTriggerProps, DropdownMenuTrigger, DropdownMenuTriggerProps, Dropzone, DropzoneArea, DropzoneAreaProps, DropzoneDescription, DropzoneDescriptionProps, DropzoneFileList, DropzoneFileListItem, DropzoneFileListItemProps, DropzoneFileListProps, DropzoneFileMessage, DropzoneFileMessageProps, DropzoneFileStatus, DropzoneMessage, DropzoneMessageProps, DropzoneProps, DropzoneRemoveFile, DropzoneRemoveFileProps, DropzoneRetryFile, DropzoneRetryFileProps, DropzoneTrigger, DropzoneTriggerProps, DropzoneUploadResult, DropzoneValidation, Empty, EmptyContent, EmptyContentProps, EmptyDescription, EmptyDescriptionProps, EmptyHeader, EmptyHeaderProps, EmptyMedia, EmptyMediaProps, EmptyProps, EmptyTitle, EmptyTitleProps, ErrorCode, Field, FieldContent, FieldContentProps, FieldDescription, FieldDescriptionProps, FieldError, FieldErrorProps, FieldGroup, FieldGroupProps, FieldLabel, FieldLabelProps, FieldLegend, FieldLegendProps, FieldProps, FieldSeparator, FieldSeparatorProps, FieldSet, FieldSetProps, FieldTitle, FieldTitleProps, type FileError, FileStatus, Flex, FlexProps, Grid, GridItem, GridItemProps, GridProps, Group, GroupProps, Heading, HeadingProps, HiddenFrom, HiddenFromProps, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, InfiniteProgress, InfiniteProgressProps, Input, InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupButton, InputGroupButtonProps, InputGroupInput, InputGroupInputProps, InputGroupProps, InputGroupText, InputGroupTextProps, InputGroupTextarea, InputGroupTextareaProps, InputOTP, InputOTPGroup, InputOTPGroupProps, InputOTPProps, InputOTPSeparator, InputOTPSeparatorProps, InputOTPSlot, InputOTPSlotProps, InputProps, Kbd, KbdGroup, KbdGroupProps, KbdProps, Label, LabelProps, List, ListIcon, ListIconProps, ListItem, ListItemProps, ListProps, MaskInput, MaskInputProps, type MaskOptions, ModeToggle, ModeToggleProps, type ModifiedData, type Modify, NativeSelect, NativeSelectOptGroup, NativeSelectOptGroupProps, NativeSelectOption, NativeSelectOptionProps, NativeSelectProps, NavigationMenu, NavigationMenuContent, NavigationMenuContentProps, NavigationMenuIndicator, NavigationMenuIndicatorProps, NavigationMenuItem, NavigationMenuItemProps, NavigationMenuLink, NavigationMenuLinkProps, NavigationMenuList, NavigationMenuListProps, NavigationMenuProps, NavigationMenuTrigger, NavigationMenuTriggerProps, NavigationMenuViewport, NavigationMenuViewportProps, Pagination, PaginationContent, PaginationContentProps, PaginationEllipsis, PaginationEllipsisProps, PaginationItem, PaginationItemProps, PaginationLink, PaginationLinkProps, PaginationNext, PaginationNextProps, PaginationPrevious, PaginationPreviousProps, PaginationProps, PieChart, PieChartBase, PieChartBaseProps, PieChartDatum, PieChartProps, Popover, PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverDescription, PopoverDescriptionProps, PopoverHeader, PopoverHeaderProps, PopoverProps, PopoverTitle, PopoverTitleProps, PopoverTrigger, PopoverTriggerProps, Progress, ProgressProps, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS, RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps, type Replacement, ResizableHandle, ResizableHandleProps, ResizablePanel, ResizablePanelGroup, ResizablePanelGroupProps, ResizablePanelProps, ResponsiveValueMap, type RowData, ScrollArea, ScrollAreaProps, ScrollBar, ScrollBarProps, Select, SelectContent, SelectContentProps, SelectGroup, SelectGroupProps, SelectItem, SelectItemProps, SelectLabel, SelectLabelProps, SelectProps, SelectScrollDownButton, SelectScrollDownButtonProps, SelectScrollUpButton, SelectScrollUpButtonProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps, Separator, SeparatorProps, Sidebar, SidebarContent, SidebarContentProps, SidebarFooter, SidebarFooterProps, SidebarGroup, SidebarGroupAction, SidebarGroupActionProps, SidebarGroupContent, SidebarGroupContentProps, SidebarGroupLabel, SidebarGroupLabelProps, SidebarGroupProps, SidebarHeader, SidebarHeaderProps, SidebarInput, SidebarInputProps, SidebarInset, SidebarInsetProps, SidebarMenu, SidebarMenuAction, SidebarMenuActionProps, SidebarMenuBadge, SidebarMenuBadgeProps, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuItemProps, SidebarMenuProps, SidebarMenuSkeleton, SidebarMenuSkeletonProps, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubButtonProps, SidebarMenuSubItem, SidebarMenuSubItemProps, SidebarMenuSubProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailProps, SidebarSeparator, SidebarSeparatorProps, SidebarTrigger, SidebarTriggerProps, SimpleGrid, SimpleGridProps, Skeleton, SkeletonProps, Slider, SliderProps, Spinner, SpinnerProps, Stack, StackProps, Switch, SwitchProps, Table, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableFooter, TableFooterProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableProps, TableRow, TableRowProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsListProps, TabsProps, TabsTrigger, TabsTriggerProps, type TanStackTable, Text, TextProps, Textarea, TextareaProps, Theme, ThemeProvider, ThemeProviderProps, ThemeProviderState, Timeline, TimelineConnector, TimelineConnectorColor, TimelineConnectorProps, TimelineContent, TimelineContentProps, TimelineDescription, TimelineDescriptionProps, TimelineEmpty, TimelineEmptyProps, TimelineHeader, TimelineHeaderProps, TimelineIcon, TimelineIconColor, TimelineIconProps, TimelineIconSize, TimelineItem, TimelineItemProps, TimelineProps, TimelineStatus, TimelineTime, TimelineTimeProps, TimelineTitle, TimelineTitleProps, Toaster, ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleProps, Tooltip, TooltipContent, TooltipContentProps, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipRoot, TooltipRootProps, TooltipTrigger, TooltipTriggerProps, type Track, type TrackingData, UIColor, UnstyledButton, UnstyledButtonProps, UseDataTableOptions, UseDisclosureHandlers, UseDisclosureOptions, UseDisclosureReturnValue, UseDropzoneProps, UseDropzoneReturn, UseIdleOptions, UseIntervalOptions, UseIntervalReturnValue, UseLocalStorageOptions, UseMaskOptions, VisibleFrom, VisibleFromProps, anchorVariants, badgeVariants, breakpointValues, buildPieConfig, buttonColorVariants, buttonGroupVariants, buttonVariants, centerVariants, cn, containerVariants, createDataTableSelectColumn, defaultDataTableLabels, flexVariants, groupVariants, headingVariants, listVariants, locale, navigationMenuTriggerStyle, randomId, selectionControlColorVariants, spinnerVariants, stackVariants, tableVariants, tabsListVariants, textVariants, timelineVariants, toast, toggleVariants, uiColors, useBreakpoint, useBreakpointValue, useCarousel, useComboboxAnchor, useDataTable, useDataTableContext, useDisclosure, useDocumentVisibility, useDropzone, useFieldControlId, useIdle, useInterval, useIsMobile, useLocalStorage, useMask, useSidebar, useTheme };
|
|
87
|
+
export { Accordion, AccordionContent, AccordionContentProps, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, AccordionTriggerProps, Alert, AlertAction, AlertActionProps, AlertDescription, AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogActionProps, AlertDialogCancel, AlertDialogCancelProps, AlertDialogContent, AlertDialogContentProps, AlertDialogDescription, AlertDialogDescriptionProps, AlertDialogFooter, AlertDialogFooterProps, AlertDialogHeader, AlertDialogHeaderProps, AlertDialogMedia, AlertDialogMediaProps, AlertDialogOverlay, AlertDialogOverlayProps, AlertDialogPortal, AlertDialogPortalProps, AlertDialogProps, AlertDialogTitle, AlertDialogTitleProps, AlertDialogTrigger, AlertDialogTriggerProps, AlertProps, AlertTitle, AlertTitleProps, Anchor, AnchorProps, AreaChart, AreaChartCurveType, AreaChartGridAxis, AreaChartProps, AreaChartSeries, AreaChartType, Avatar, AvatarBadge, AvatarBadgeProps, AvatarFallback, AvatarFallbackProps, AvatarGroup, AvatarGroupCount, AvatarGroupCountProps, AvatarGroupProps, AvatarImage, AvatarImageProps, AvatarProps, Badge, BadgeColor, BadgeProps, BarChart, BarChartGridAxis, BarChartOrientation, BarChartProps, BarChartSeries, BarChartType, Breadcrumb, BreadcrumbEllipsis, BreadcrumbEllipsisProps, BreadcrumbItem, BreadcrumbItemProps, BreadcrumbLink, BreadcrumbLinkProps, BreadcrumbList, BreadcrumbListProps, BreadcrumbPage, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparator, BreadcrumbSeparatorProps, Breakpoint, Button, ButtonColor, ButtonGroup, ButtonGroupProps, ButtonGroupSeparator, ButtonGroupSeparatorProps, ButtonGroupText, ButtonGroupTextProps, ButtonProps, Calendar, CalendarDayButton, CalendarDayButtonProps, CalendarProps, Card, CardAction, CardActionProps, CardContent, CardContentProps, CardDescription, CardDescriptionProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselApi, CarouselContent, CarouselContentProps, CarouselIndicators, CarouselIndicatorsProps, CarouselItem, CarouselItemProps, CarouselNext, CarouselNextProps, CarouselPrevious, CarouselPreviousProps, CarouselProps, Center, CenterProps, ChartConfig, ChartContainer, ChartContainerProps, ChartLegend, ChartLegendContent, ChartLegendContentProps, ChartLegendProps, ChartStyle, ChartStyleProps, ChartTooltip, ChartTooltipContent, ChartTooltipContentProps, ChartTooltipProps, Checkbox, CheckboxProps, Code, CodeProps, Collapsible, CollapsibleContent, CollapsibleContentProps, CollapsibleProps, CollapsibleTrigger, CollapsibleTriggerProps, type Column, type ColumnDef, Combobox, ComboboxChip, ComboboxChipProps, ComboboxChips, ComboboxChipsInput, ComboboxChipsInputProps, ComboboxChipsProps, ComboboxClear, ComboboxClearProps, ComboboxCollection, ComboboxCollectionProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxGroup, ComboboxGroupProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemProps, ComboboxLabel, ComboboxLabelProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxSeparator, ComboboxSeparatorProps, ComboboxTrigger, ComboboxTriggerProps, ComboboxValue, ComboboxValueProps, Command, CommandDialog, CommandDialogProps, CommandEmpty, CommandEmptyProps, CommandGroup, CommandGroupProps, CommandInput, CommandInputProps, CommandItem, CommandItemProps, CommandList, CommandListProps, CommandProps, CommandSeparator, CommandSeparatorProps, CommandShortcut, CommandShortcutProps, Container, ContainerProps, DataTable, DataTableBody, DataTableBodyProps, DataTableColumnHeader, DataTableColumnHeaderProps, DataTableHeader, DataTableHeaderProps, DataTableLabels, DataTablePagination, DataTablePaginationProps, DataTableProps, DataTableRoot, DataTableRootProps, DataTableToolbar, DataTableToolbarProps, DataTableViewOptions, DataTableViewOptionsProps, type DateRange, DateRangePicker, DateRangePickerActions, DateRangePickerActionsProps, DateRangePickerApply, DateRangePickerApplyProps, DateRangePickerCalendar, DateRangePickerCalendarProps, DateRangePickerContent, DateRangePickerContentProps, DateRangePickerDateFields, DateRangePickerDateFieldsProps, DateRangePickerPreset, DateRangePickerPresetOption, DateRangePickerPresetProps, DateRangePickerPresets, DateRangePickerPresetsProps, DateRangePickerProps, DateRangePickerReset, DateRangePickerResetProps, DateRangePickerTrigger, DateRangePickerTriggerProps, DateRangePickerValue, DateRangePickerValueProps, Dialog, DialogClose, DialogCloseProps, DialogContent, DialogContentProps, DialogDescription, DialogDescriptionProps, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogOverlay, DialogOverlayProps, DialogPortal, DialogPortalProps, DialogProps, DialogTitle, DialogTitleProps, DialogTrigger, DialogTriggerProps, DonutChart, DonutChartProps, Drawer, DrawerBody, DrawerBodyProps, DrawerClose, DrawerCloseProps, DrawerContent, DrawerContentProps, DrawerDescription, DrawerDescriptionProps, DrawerFooter, DrawerFooterProps, DrawerHeader, DrawerHeaderProps, DrawerOverlay, DrawerOverlayProps, DrawerPortal, DrawerPortalProps, DrawerProps, DrawerTitle, DrawerTitleProps, DrawerTrigger, DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemProps, DropdownMenuContent, DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuGroupProps, DropdownMenuItem, DropdownMenuItemProps, DropdownMenuLabel, DropdownMenuLabelProps, DropdownMenuPortal, DropdownMenuPortalProps, DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioGroupProps, DropdownMenuRadioItem, DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuSeparatorProps, DropdownMenuShortcut, DropdownMenuShortcutProps, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubContentProps, DropdownMenuSubProps, DropdownMenuSubTrigger, DropdownMenuSubTriggerProps, DropdownMenuTrigger, DropdownMenuTriggerProps, Dropzone, DropzoneArea, DropzoneAreaProps, DropzoneDescription, DropzoneDescriptionProps, DropzoneFileList, DropzoneFileListItem, DropzoneFileListItemProps, DropzoneFileListProps, DropzoneFileMessage, DropzoneFileMessageProps, DropzoneFileStatus, DropzoneMessage, DropzoneMessageProps, DropzoneProps, DropzoneRemoveFile, DropzoneRemoveFileProps, DropzoneRetryFile, DropzoneRetryFileProps, DropzoneTrigger, DropzoneTriggerProps, DropzoneUploadResult, DropzoneValidation, Empty, EmptyContent, EmptyContentProps, EmptyDescription, EmptyDescriptionProps, EmptyHeader, EmptyHeaderProps, EmptyMedia, EmptyMediaProps, EmptyProps, EmptyTitle, EmptyTitleProps, ErrorCode, Field, FieldContent, FieldContentProps, FieldDescription, FieldDescriptionProps, FieldError, FieldErrorProps, FieldGroup, FieldGroupProps, FieldLabel, FieldLabelProps, FieldLegend, FieldLegendProps, FieldProps, FieldSeparator, FieldSeparatorProps, FieldSet, FieldSetProps, FieldTitle, FieldTitleProps, type FileError, FileStatus, Flex, FlexProps, Grid, GridItem, GridItemProps, GridProps, Group, GroupProps, Heading, HeadingProps, HiddenFrom, HiddenFromProps, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, InfiniteProgress, InfiniteProgressProps, Input, InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupButton, InputGroupButtonProps, InputGroupInput, InputGroupInputProps, InputGroupProps, InputGroupText, InputGroupTextProps, InputGroupTextarea, InputGroupTextareaProps, InputOTP, InputOTPGroup, InputOTPGroupProps, InputOTPProps, InputOTPSeparator, InputOTPSeparatorProps, InputOTPSlot, InputOTPSlotProps, InputProps, Kbd, KbdGroup, KbdGroupProps, KbdProps, Label, LabelProps, List, ListIcon, ListIconProps, ListItem, ListItemProps, ListProps, MaskInput, MaskInputProps, type MaskOptions, ModeToggle, ModeToggleProps, type ModifiedData, type Modify, NativeSelect, NativeSelectOptGroup, NativeSelectOptGroupProps, NativeSelectOption, NativeSelectOptionProps, NativeSelectProps, NavigationMenu, NavigationMenuContent, NavigationMenuContentProps, NavigationMenuIndicator, NavigationMenuIndicatorProps, NavigationMenuItem, NavigationMenuItemProps, NavigationMenuLink, NavigationMenuLinkProps, NavigationMenuList, NavigationMenuListProps, NavigationMenuProps, NavigationMenuTrigger, NavigationMenuTriggerProps, NavigationMenuViewport, NavigationMenuViewportProps, Pagination, PaginationContent, PaginationContentProps, PaginationEllipsis, PaginationEllipsisProps, PaginationItem, PaginationItemProps, PaginationLink, PaginationLinkProps, PaginationNext, PaginationNextProps, PaginationPrevious, PaginationPreviousProps, PaginationProps, PieChart, PieChartBase, PieChartBaseProps, PieChartDatum, PieChartProps, Popover, PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverDescription, PopoverDescriptionProps, PopoverHeader, PopoverHeaderProps, PopoverProps, PopoverTitle, PopoverTitleProps, PopoverTrigger, PopoverTriggerProps, Progress, ProgressProps, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS, RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps, type Replacement, ResizableHandle, ResizableHandleProps, ResizablePanel, ResizablePanelGroup, ResizablePanelGroupProps, ResizablePanelProps, ResponsiveValueMap, type RowData, ScrollArea, ScrollAreaProps, ScrollBar, ScrollBarProps, Select, SelectContent, SelectContentProps, SelectGroup, SelectGroupProps, SelectItem, SelectItemProps, SelectLabel, SelectLabelProps, SelectProps, SelectScrollDownButton, SelectScrollDownButtonProps, SelectScrollUpButton, SelectScrollUpButtonProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps, Separator, SeparatorProps, Sidebar, SidebarContent, SidebarContentProps, SidebarFooter, SidebarFooterProps, SidebarGroup, SidebarGroupAction, SidebarGroupActionProps, SidebarGroupContent, SidebarGroupContentProps, SidebarGroupLabel, SidebarGroupLabelProps, SidebarGroupProps, SidebarHeader, SidebarHeaderProps, SidebarInput, SidebarInputProps, SidebarInset, SidebarInsetProps, SidebarMenu, SidebarMenuAction, SidebarMenuActionProps, SidebarMenuBadge, SidebarMenuBadgeProps, SidebarMenuButton, SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuItemProps, SidebarMenuProps, SidebarMenuSkeleton, SidebarMenuSkeletonProps, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubButtonProps, SidebarMenuSubItem, SidebarMenuSubItemProps, SidebarMenuSubProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailProps, SidebarSeparator, SidebarSeparatorProps, SidebarTrigger, SidebarTriggerProps, SimpleGrid, SimpleGridProps, Skeleton, SkeletonProps, Slider, SliderProps, Spinner, SpinnerProps, Stack, StackProps, Switch, SwitchProps, Table, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableContainer, TableContainerProps, TableFooter, TableFooterProps, TableHead, TableHeadProps, TableHeader, TableHeaderProps, TableProps, TableRow, TableRowProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsListProps, TabsProps, TabsTrigger, TabsTriggerProps, type TanStackTable, Text, TextProps, Textarea, TextareaProps, Theme, ThemeProvider, ThemeProviderProps, ThemeProviderState, Timeline, TimelineConnector, TimelineConnectorColor, TimelineConnectorProps, TimelineContent, TimelineContentProps, TimelineDescription, TimelineDescriptionProps, TimelineEmpty, TimelineEmptyProps, TimelineHeader, TimelineHeaderProps, TimelineIcon, TimelineIconColor, TimelineIconProps, TimelineIconSize, TimelineItem, TimelineItemProps, TimelineProps, TimelineStatus, TimelineTime, TimelineTimeProps, TimelineTitle, TimelineTitleProps, Toaster, ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, ToggleProps, Tooltip, TooltipContent, TooltipContentProps, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipRoot, TooltipRootProps, TooltipTrigger, TooltipTriggerProps, type Track, type TrackingData, UIColor, UnstyledButton, UnstyledButtonProps, UseDataTableOptions, UseDisclosureHandlers, UseDisclosureOptions, UseDisclosureReturnValue, UseDropzoneProps, UseDropzoneReturn, UseIdleOptions, UseIntervalOptions, UseIntervalReturnValue, UseLocalStorageOptions, UseMaskOptions, VisibleFrom, VisibleFromProps, anchorVariants, badgeColorVariants, badgeVariants, breakpointValues, buildPieConfig, buttonColorVariants, buttonGroupVariants, buttonVariants, centerVariants, cn, containerVariants, createDataTableSelectColumn, defaultDataTableLabels, flexVariants, groupVariants, headingVariants, listVariants, locale, navigationMenuTriggerStyle, randomId, selectionControlColorVariants, spinnerVariants, stackVariants, tableVariants, tabsListVariants, textVariants, timelineVariants, toast, toggleVariants, uiColors, useBreakpoint, useBreakpointValue, useCarousel, useComboboxAnchor, useDataTable, useDataTableContext, useDisclosure, useDocumentVisibility, useDropzone, useFieldControlId, useIdle, useInterval, useIsMobile, useLocalStorage, useMask, useSidebar, useTheme };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cn as e,randomId as t}from"./lib/utils.js";import{Accordion as n,AccordionContent as r,AccordionItem as i,AccordionTrigger as a}from"./components/accordion.js";import{Alert as o,AlertAction as s,AlertDescription as c,AlertTitle as l}from"./components/alert.js";import{buttonColorVariants as u}from"./lib/button.js";import{Spinner as d,spinnerVariants as f}from"./components/spinner.js";import{Button as p,buttonVariants as m}from"./components/button.js";import{AlertDialog as h,AlertDialogAction as g,AlertDialogCancel as _,AlertDialogContent as v,AlertDialogDescription as y,AlertDialogFooter as b,AlertDialogHeader as x,AlertDialogMedia as S,AlertDialogOverlay as C,AlertDialogPortal as w,AlertDialogTitle as T,AlertDialogTrigger as E}from"./components/alert-dialog.js";import{Anchor as D,anchorVariants as O}from"./components/anchor.js";import{ChartContainer as k,ChartLegend as A,ChartLegendContent as j,ChartStyle as M,ChartTooltip as N,ChartTooltipContent as P}from"./components/chart.js";import{AreaChart as F}from"./components/area-chart.js";import{Avatar as I,AvatarBadge as L,AvatarFallback as R,AvatarGroup as z,AvatarGroupCount as B,AvatarImage as V}from"./components/avatar.js";import{Badge as H,badgeVariants as U}from"./components/badge.js";import{BarChart as W}from"./components/bar-chart.js";import{Breadcrumb as G,BreadcrumbEllipsis as K,BreadcrumbItem as q,BreadcrumbLink as J,BreadcrumbList as Y,BreadcrumbPage as X,BreadcrumbSeparator as Z}from"./components/breadcrumb.js";import{Separator as Q}from"./components/separator.js";import{ButtonGroup as $,ButtonGroupSeparator as ee,ButtonGroupText as te,buttonGroupVariants as ne}from"./components/button-group.js";import{Calendar as re,CalendarDayButton as ie,locale as ae}from"./components/calendar.js";import{Card as oe,CardAction as se,CardContent as ce,CardDescription as le,CardFooter as ue,CardHeader as de,CardTitle as fe}from"./components/card.js";import{Carousel as pe,CarouselContent as me,CarouselIndicators as he,CarouselItem as ge,CarouselNext as _e,CarouselPrevious as ve,useCarousel as ye}from"./components/carousel.js";import{Center as be,centerVariants as xe}from"./components/center.js";import{selectionControlColorVariants as Se,uiColors as Ce}from"./lib/color.js";import{Label as we}from"./components/label.js";import{Field as Te,FieldContent as Ee,FieldDescription as De,FieldError as Oe,FieldGroup as ke,FieldLabel as Ae,FieldLegend as je,FieldSeparator as Me,FieldSet as Ne,FieldTitle as Pe,useFieldControlId as Fe}from"./components/field.js";import{Checkbox as Ie}from"./components/checkbox.js";import{Code as Le}from"./components/code.js";import{Collapsible as Re,CollapsibleContent as ze,CollapsibleTrigger as Be}from"./components/collapsible.js";import{Input as Ve}from"./components/input.js";import{Textarea as He}from"./components/textarea.js";import{InputGroup as Ue,InputGroupAddon as We,InputGroupButton as Ge,InputGroupInput as Ke,InputGroupText as qe,InputGroupTextarea as Je}from"./components/input-group.js";import{Combobox as Ye,ComboboxChip as Xe,ComboboxChips as Ze,ComboboxChipsInput as Qe,ComboboxClear as $e,ComboboxCollection as et,ComboboxContent as tt,ComboboxEmpty as nt,ComboboxGroup as rt,ComboboxInput as it,ComboboxItem as at,ComboboxLabel as ot,ComboboxList as st,ComboboxSeparator as ct,ComboboxTrigger as lt,ComboboxValue as ut,useComboboxAnchor as dt}from"./components/combobox.js";import{Dialog as ft,DialogClose as pt,DialogContent as mt,DialogDescription as ht,DialogFooter as gt,DialogHeader as _t,DialogOverlay as vt,DialogPortal as yt,DialogTitle as bt,DialogTrigger as xt}from"./components/dialog.js";import{Command as St,CommandDialog as Ct,CommandEmpty as wt,CommandGroup as Tt,CommandInput as Et,CommandItem as Dt,CommandList as Ot,CommandSeparator as kt,CommandShortcut as At}from"./components/command.js";import{Container as jt,containerVariants as Mt}from"./components/container.js";import{DropdownMenu as Nt,DropdownMenuCheckboxItem as Pt,DropdownMenuContent as Ft,DropdownMenuGroup as It,DropdownMenuItem as Lt,DropdownMenuLabel as Rt,DropdownMenuPortal as zt,DropdownMenuRadioGroup as Bt,DropdownMenuRadioItem as Vt,DropdownMenuSeparator as Ht,DropdownMenuShortcut as Ut,DropdownMenuSub as Wt,DropdownMenuSubContent as Gt,DropdownMenuSubTrigger as Kt,DropdownMenuTrigger as qt}from"./components/dropdown-menu.js";import{Select as Jt,SelectContent as Yt,SelectGroup as Xt,SelectItem as Zt,SelectLabel as Qt,SelectScrollDownButton as $t,SelectScrollUpButton as en,SelectSeparator as tn,SelectTrigger as nn,SelectValue as rn}from"./components/select.js";import{Table as an,TableBody as on,TableCaption as sn,TableCell as cn,TableContainer as ln,TableFooter as un,TableHead as dn,TableHeader as fn,TableRow as pn,tableVariants as mn}from"./components/table.js";import{DataTable as hn,DataTableBody as gn,DataTableColumnHeader as _n,DataTableHeader as vn,DataTablePagination as yn,DataTableRoot as bn,DataTableToolbar as xn,DataTableViewOptions as Sn,createDataTableSelectColumn as Cn,defaultDataTableLabels as wn,useDataTable as Tn,useDataTableContext as En}from"./components/data-table.js";import{Popover as Dn,PopoverAnchor as On,PopoverContent as kn,PopoverDescription as An,PopoverHeader as jn,PopoverTitle as Mn,PopoverTrigger as Nn}from"./components/popover.js";import{DateRangePicker as Pn,DateRangePickerActions as Fn,DateRangePickerApply as In,DateRangePickerCalendar as Ln,DateRangePickerContent as Rn,DateRangePickerDateFields as zn,DateRangePickerPreset as Bn,DateRangePickerPresets as Vn,DateRangePickerReset as Hn,DateRangePickerTrigger as Un,DateRangePickerValue as Wn}from"./components/date-range-picker.js";import{PieChart as Gn,PieChartBase as Kn,buildPieConfig as qn}from"./components/pie-chart.js";import{DonutChart as Jn}from"./components/donut-chart.js";import{Drawer as Yn,DrawerBody as Xn,DrawerClose as Zn,DrawerContent as Qn,DrawerDescription as $n,DrawerFooter as er,DrawerHeader as tr,DrawerOverlay as nr,DrawerPortal as rr,DrawerTitle as ir,DrawerTrigger as ar}from"./components/drawer.js";import{Dropzone as or,DropzoneArea as sr,DropzoneDescription as cr,DropzoneFileList as lr,DropzoneFileListItem as ur,DropzoneFileMessage as dr,DropzoneMessage as fr,DropzoneRemoveFile as pr,DropzoneRetryFile as mr,DropzoneTrigger as hr,ErrorCode as gr,InfiniteProgress as _r,useDropzone as vr}from"./components/dropzone.js";import{Empty as yr,EmptyContent as br,EmptyDescription as xr,EmptyHeader as Sr,EmptyMedia as Cr,EmptyTitle as wr}from"./components/empty.js";import{Flex as Tr,flexVariants as Er}from"./components/flex.js";import{Grid as Dr,GridItem as Or}from"./components/grid.js";import{Group as kr,groupVariants as Ar}from"./components/group.js";import{Heading as jr,headingVariants as Mr}from"./components/heading.js";import{HoverCard as Nr,HoverCardContent as Pr,HoverCardTrigger as Fr}from"./components/hover-card.js";import{InputOTP as Ir,InputOTPGroup as Lr,InputOTPSeparator as Rr,InputOTPSlot as zr,REGEXP_ONLY_CHARS as Br,REGEXP_ONLY_DIGITS as Vr,REGEXP_ONLY_DIGITS_AND_CHARS as Hr}from"./components/input-otp.js";import{Kbd as Ur,KbdGroup as Wr}from"./components/kbd.js";import{List as Gr,ListIcon as Kr,ListItem as qr,listVariants as Jr}from"./components/list.js";import{useMask as Yr}from"./hooks/use-mask.js";import{MaskInput as Xr}from"./components/mask-input.js";import{NativeSelect as Zr,NativeSelectOptGroup as Qr,NativeSelectOption as $r}from"./components/native-select.js";import{NavigationMenu as ei,NavigationMenuContent as ti,NavigationMenuIndicator as ni,NavigationMenuItem as ri,NavigationMenuLink as ii,NavigationMenuList as ai,NavigationMenuTrigger as oi,NavigationMenuViewport as si,navigationMenuTriggerStyle as ci}from"./components/navigation-menu.js";import{Pagination as li,PaginationContent as ui,PaginationEllipsis as di,PaginationItem as fi,PaginationLink as pi,PaginationNext as mi,PaginationPrevious as hi}from"./components/pagination.js";import{Progress as gi}from"./components/progress.js";import{RadioGroup as _i,RadioGroupItem as vi}from"./components/radio-group.js";import{ResizableHandle as yi,ResizablePanel as bi,ResizablePanelGroup as xi}from"./components/resizable.js";import{ScrollArea as Si,ScrollBar as Ci}from"./components/scroll-area.js";import{useIsMobile as wi}from"./hooks/use-mobile.js";import{Skeleton as Ti}from"./components/skeleton.js";import{Tooltip as Ei,TooltipContent as Di,TooltipProvider as Oi,TooltipRoot as ki,TooltipTrigger as Ai}from"./components/tooltip.js";import{Sidebar as ji,SidebarContent as Mi,SidebarFooter as Ni,SidebarGroup as Pi,SidebarGroupAction as Fi,SidebarGroupContent as Ii,SidebarGroupLabel as Li,SidebarHeader as Ri,SidebarInput as zi,SidebarInset as Bi,SidebarMenu as Vi,SidebarMenuAction as Hi,SidebarMenuBadge as Ui,SidebarMenuButton as Wi,SidebarMenuItem as Gi,SidebarMenuSkeleton as Ki,SidebarMenuSub as qi,SidebarMenuSubButton as Ji,SidebarMenuSubItem as Yi,SidebarProvider as Xi,SidebarRail as Zi,SidebarSeparator as Qi,SidebarTrigger as $i,useSidebar as ea}from"./components/sidebar.js";import{SimpleGrid as ta}from"./components/simple-grid.js";import{Slider as na}from"./components/slider.js";import{Toaster as ra,toast as ia}from"./components/sonner.js";import{Stack as aa,stackVariants as oa}from"./components/stack.js";import{Switch as sa}from"./components/switch.js";import{Tabs as ca,TabsContent as la,TabsList as ua,TabsTrigger as da,tabsListVariants as fa}from"./components/tabs.js";import{Text as pa,textVariants as ma}from"./components/text.js";import{ModeToggle as ha,ThemeProvider as ga,useTheme as _a}from"./components/theme.js";import{Timeline as va,TimelineConnector as ya,TimelineContent as ba,TimelineDescription as xa,TimelineEmpty as Sa,TimelineHeader as Ca,TimelineIcon as wa,TimelineItem as Ta,TimelineTime as Ea,TimelineTitle as Da,timelineVariants as Oa}from"./components/timeline.js";import{Toggle as ka,toggleVariants as Aa}from"./components/toggle.js";import{ToggleGroup as ja,ToggleGroupItem as Ma}from"./components/toggle-group.js";import{UnstyledButton as Na}from"./components/unstyled-button.js";import{breakpointValues as Pa,useBreakpoint as Fa}from"./hooks/use-breakpoint.js";import{HiddenFrom as Ia,VisibleFrom as La}from"./components/visibility.js";import{useBreakpointValue as Ra}from"./hooks/use-breakpoint-value.js";import{useDisclosure as za}from"./hooks/use-disclosure.js";import{useDocumentVisibility as Ba}from"./hooks/use-document-visibility.js";import{useIdle as Va}from"./hooks/use-idle.js";import{useInterval as Ha}from"./hooks/use-interval.js";import{useLocalStorage as Ua}from"./hooks/use-local-storage.js";export{n as Accordion,r as AccordionContent,i as AccordionItem,a as AccordionTrigger,o as Alert,s as AlertAction,c as AlertDescription,h as AlertDialog,g as AlertDialogAction,_ as AlertDialogCancel,v as AlertDialogContent,y as AlertDialogDescription,b as AlertDialogFooter,x as AlertDialogHeader,S as AlertDialogMedia,C as AlertDialogOverlay,w as AlertDialogPortal,T as AlertDialogTitle,E as AlertDialogTrigger,l as AlertTitle,D as Anchor,F as AreaChart,I as Avatar,L as AvatarBadge,R as AvatarFallback,z as AvatarGroup,B as AvatarGroupCount,V as AvatarImage,H as Badge,W as BarChart,G as Breadcrumb,K as BreadcrumbEllipsis,q as BreadcrumbItem,J as BreadcrumbLink,Y as BreadcrumbList,X as BreadcrumbPage,Z as BreadcrumbSeparator,p as Button,$ as ButtonGroup,ee as ButtonGroupSeparator,te as ButtonGroupText,re as Calendar,ie as CalendarDayButton,oe as Card,se as CardAction,ce as CardContent,le as CardDescription,ue as CardFooter,de as CardHeader,fe as CardTitle,pe as Carousel,me as CarouselContent,he as CarouselIndicators,ge as CarouselItem,_e as CarouselNext,ve as CarouselPrevious,be as Center,k as ChartContainer,A as ChartLegend,j as ChartLegendContent,M as ChartStyle,N as ChartTooltip,P as ChartTooltipContent,Ie as Checkbox,Le as Code,Re as Collapsible,ze as CollapsibleContent,Be as CollapsibleTrigger,Ye as Combobox,Xe as ComboboxChip,Ze as ComboboxChips,Qe as ComboboxChipsInput,$e as ComboboxClear,et as ComboboxCollection,tt as ComboboxContent,nt as ComboboxEmpty,rt as ComboboxGroup,it as ComboboxInput,at as ComboboxItem,ot as ComboboxLabel,st as ComboboxList,ct as ComboboxSeparator,lt as ComboboxTrigger,ut as ComboboxValue,St as Command,Ct as CommandDialog,wt as CommandEmpty,Tt as CommandGroup,Et as CommandInput,Dt as CommandItem,Ot as CommandList,kt as CommandSeparator,At as CommandShortcut,jt as Container,hn as DataTable,gn as DataTableBody,_n as DataTableColumnHeader,vn as DataTableHeader,yn as DataTablePagination,bn as DataTableRoot,xn as DataTableToolbar,Sn as DataTableViewOptions,Pn as DateRangePicker,Fn as DateRangePickerActions,In as DateRangePickerApply,Ln as DateRangePickerCalendar,Rn as DateRangePickerContent,zn as DateRangePickerDateFields,Bn as DateRangePickerPreset,Vn as DateRangePickerPresets,Hn as DateRangePickerReset,Un as DateRangePickerTrigger,Wn as DateRangePickerValue,ft as Dialog,pt as DialogClose,mt as DialogContent,ht as DialogDescription,gt as DialogFooter,_t as DialogHeader,vt as DialogOverlay,yt as DialogPortal,bt as DialogTitle,xt as DialogTrigger,Jn as DonutChart,Yn as Drawer,Xn as DrawerBody,Zn as DrawerClose,Qn as DrawerContent,$n as DrawerDescription,er as DrawerFooter,tr as DrawerHeader,nr as DrawerOverlay,rr as DrawerPortal,ir as DrawerTitle,ar as DrawerTrigger,Nt as DropdownMenu,Pt as DropdownMenuCheckboxItem,Ft as DropdownMenuContent,It as DropdownMenuGroup,Lt as DropdownMenuItem,Rt as DropdownMenuLabel,zt as DropdownMenuPortal,Bt as DropdownMenuRadioGroup,Vt as DropdownMenuRadioItem,Ht as DropdownMenuSeparator,Ut as DropdownMenuShortcut,Wt as DropdownMenuSub,Gt as DropdownMenuSubContent,Kt as DropdownMenuSubTrigger,qt as DropdownMenuTrigger,or as Dropzone,sr as DropzoneArea,cr as DropzoneDescription,lr as DropzoneFileList,ur as DropzoneFileListItem,dr as DropzoneFileMessage,fr as DropzoneMessage,pr as DropzoneRemoveFile,mr as DropzoneRetryFile,hr as DropzoneTrigger,yr as Empty,br as EmptyContent,xr as EmptyDescription,Sr as EmptyHeader,Cr as EmptyMedia,wr as EmptyTitle,gr as ErrorCode,Te as Field,Ee as FieldContent,De as FieldDescription,Oe as FieldError,ke as FieldGroup,Ae as FieldLabel,je as FieldLegend,Me as FieldSeparator,Ne as FieldSet,Pe as FieldTitle,Tr as Flex,Dr as Grid,Or as GridItem,kr as Group,jr as Heading,Ia as HiddenFrom,Nr as HoverCard,Pr as HoverCardContent,Fr as HoverCardTrigger,_r as InfiniteProgress,Ve as Input,Ue as InputGroup,We as InputGroupAddon,Ge as InputGroupButton,Ke as InputGroupInput,qe as InputGroupText,Je as InputGroupTextarea,Ir as InputOTP,Lr as InputOTPGroup,Rr as InputOTPSeparator,zr as InputOTPSlot,Ur as Kbd,Wr as KbdGroup,we as Label,Gr as List,Kr as ListIcon,qr as ListItem,Xr as MaskInput,ha as ModeToggle,Zr as NativeSelect,Qr as NativeSelectOptGroup,$r as NativeSelectOption,ei as NavigationMenu,ti as NavigationMenuContent,ni as NavigationMenuIndicator,ri as NavigationMenuItem,ii as NavigationMenuLink,ai as NavigationMenuList,oi as NavigationMenuTrigger,si as NavigationMenuViewport,li as Pagination,ui as PaginationContent,di as PaginationEllipsis,fi as PaginationItem,pi as PaginationLink,mi as PaginationNext,hi as PaginationPrevious,Gn as PieChart,Kn as PieChartBase,Dn as Popover,On as PopoverAnchor,kn as PopoverContent,An as PopoverDescription,jn as PopoverHeader,Mn as PopoverTitle,Nn as PopoverTrigger,gi as Progress,Br as REGEXP_ONLY_CHARS,Vr as REGEXP_ONLY_DIGITS,Hr as REGEXP_ONLY_DIGITS_AND_CHARS,_i as RadioGroup,vi as RadioGroupItem,yi as ResizableHandle,bi as ResizablePanel,xi as ResizablePanelGroup,Si as ScrollArea,Ci as ScrollBar,Jt as Select,Yt as SelectContent,Xt as SelectGroup,Zt as SelectItem,Qt as SelectLabel,$t as SelectScrollDownButton,en as SelectScrollUpButton,tn as SelectSeparator,nn as SelectTrigger,rn as SelectValue,Q as Separator,ji as Sidebar,Mi as SidebarContent,Ni as SidebarFooter,Pi as SidebarGroup,Fi as SidebarGroupAction,Ii as SidebarGroupContent,Li as SidebarGroupLabel,Ri as SidebarHeader,zi as SidebarInput,Bi as SidebarInset,Vi as SidebarMenu,Hi as SidebarMenuAction,Ui as SidebarMenuBadge,Wi as SidebarMenuButton,Gi as SidebarMenuItem,Ki as SidebarMenuSkeleton,qi as SidebarMenuSub,Ji as SidebarMenuSubButton,Yi as SidebarMenuSubItem,Xi as SidebarProvider,Zi as SidebarRail,Qi as SidebarSeparator,$i as SidebarTrigger,ta as SimpleGrid,Ti as Skeleton,na as Slider,d as Spinner,aa as Stack,sa as Switch,an as Table,on as TableBody,sn as TableCaption,cn as TableCell,ln as TableContainer,un as TableFooter,dn as TableHead,fn as TableHeader,pn as TableRow,ca as Tabs,la as TabsContent,ua as TabsList,da as TabsTrigger,pa as Text,He as Textarea,ga as ThemeProvider,va as Timeline,ya as TimelineConnector,ba as TimelineContent,xa as TimelineDescription,Sa as TimelineEmpty,Ca as TimelineHeader,wa as TimelineIcon,Ta as TimelineItem,Ea as TimelineTime,Da as TimelineTitle,ra as Toaster,ka as Toggle,ja as ToggleGroup,Ma as ToggleGroupItem,Ei as Tooltip,Di as TooltipContent,Oi as TooltipProvider,ki as TooltipRoot,Ai as TooltipTrigger,Na as UnstyledButton,La as VisibleFrom,O as anchorVariants,U as badgeVariants,Pa as breakpointValues,qn as buildPieConfig,u as buttonColorVariants,ne as buttonGroupVariants,m as buttonVariants,xe as centerVariants,e as cn,Mt as containerVariants,Cn as createDataTableSelectColumn,wn as defaultDataTableLabels,Er as flexVariants,Ar as groupVariants,Mr as headingVariants,Jr as listVariants,ae as locale,ci as navigationMenuTriggerStyle,t as randomId,Se as selectionControlColorVariants,f as spinnerVariants,oa as stackVariants,mn as tableVariants,fa as tabsListVariants,ma as textVariants,Oa as timelineVariants,ia as toast,Aa as toggleVariants,Ce as uiColors,Fa as useBreakpoint,Ra as useBreakpointValue,ye as useCarousel,dt as useComboboxAnchor,Tn as useDataTable,En as useDataTableContext,za as useDisclosure,Ba as useDocumentVisibility,vr as useDropzone,Fe as useFieldControlId,Va as useIdle,Ha as useInterval,wi as useIsMobile,Ua as useLocalStorage,Yr as useMask,ea as useSidebar,_a as useTheme};
|
|
1
|
+
import{cn as e,randomId as t}from"./lib/utils.js";import{Accordion as n,AccordionContent as r,AccordionItem as i,AccordionTrigger as a}from"./components/accordion.js";import{Alert as o,AlertAction as s,AlertDescription as c,AlertTitle as l}from"./components/alert.js";import{buttonColorVariants as u}from"./lib/button.js";import{Spinner as d,spinnerVariants as f}from"./components/spinner.js";import{Button as p,buttonVariants as m}from"./components/button.js";import{AlertDialog as h,AlertDialogAction as g,AlertDialogCancel as _,AlertDialogContent as v,AlertDialogDescription as y,AlertDialogFooter as b,AlertDialogHeader as x,AlertDialogMedia as S,AlertDialogOverlay as C,AlertDialogPortal as w,AlertDialogTitle as T,AlertDialogTrigger as E}from"./components/alert-dialog.js";import{Anchor as D,anchorVariants as O}from"./components/anchor.js";import{ChartContainer as k,ChartLegend as A,ChartLegendContent as j,ChartStyle as M,ChartTooltip as N,ChartTooltipContent as P}from"./components/chart.js";import{AreaChart as F}from"./components/area-chart.js";import{Avatar as I,AvatarBadge as L,AvatarFallback as R,AvatarGroup as z,AvatarGroupCount as B,AvatarImage as V}from"./components/avatar.js";import{badgeColorVariants as H}from"./lib/badge.js";import{Badge as U,badgeVariants as W}from"./components/badge.js";import{BarChart as G}from"./components/bar-chart.js";import{Breadcrumb as K,BreadcrumbEllipsis as q,BreadcrumbItem as J,BreadcrumbLink as Y,BreadcrumbList as X,BreadcrumbPage as Z,BreadcrumbSeparator as Q}from"./components/breadcrumb.js";import{Separator as $}from"./components/separator.js";import{ButtonGroup as ee,ButtonGroupSeparator as te,ButtonGroupText as ne,buttonGroupVariants as re}from"./components/button-group.js";import{Calendar as ie,CalendarDayButton as ae,locale as oe}from"./components/calendar.js";import{Card as se,CardAction as ce,CardContent as le,CardDescription as ue,CardFooter as de,CardHeader as fe,CardTitle as pe}from"./components/card.js";import{Carousel as me,CarouselContent as he,CarouselIndicators as ge,CarouselItem as _e,CarouselNext as ve,CarouselPrevious as ye,useCarousel as be}from"./components/carousel.js";import{Center as xe,centerVariants as Se}from"./components/center.js";import{selectionControlColorVariants as Ce,uiColors as we}from"./lib/color.js";import{Label as Te}from"./components/label.js";import{Field as Ee,FieldContent as De,FieldDescription as Oe,FieldError as ke,FieldGroup as Ae,FieldLabel as je,FieldLegend as Me,FieldSeparator as Ne,FieldSet as Pe,FieldTitle as Fe,useFieldControlId as Ie}from"./components/field.js";import{Checkbox as Le}from"./components/checkbox.js";import{Code as Re}from"./components/code.js";import{Collapsible as ze,CollapsibleContent as Be,CollapsibleTrigger as Ve}from"./components/collapsible.js";import{Input as He}from"./components/input.js";import{Textarea as Ue}from"./components/textarea.js";import{InputGroup as We,InputGroupAddon as Ge,InputGroupButton as Ke,InputGroupInput as qe,InputGroupText as Je,InputGroupTextarea as Ye}from"./components/input-group.js";import{Combobox as Xe,ComboboxChip as Ze,ComboboxChips as Qe,ComboboxChipsInput as $e,ComboboxClear as et,ComboboxCollection as tt,ComboboxContent as nt,ComboboxEmpty as rt,ComboboxGroup as it,ComboboxInput as at,ComboboxItem as ot,ComboboxLabel as st,ComboboxList as ct,ComboboxSeparator as lt,ComboboxTrigger as ut,ComboboxValue as dt,useComboboxAnchor as ft}from"./components/combobox.js";import{Dialog as pt,DialogClose as mt,DialogContent as ht,DialogDescription as gt,DialogFooter as _t,DialogHeader as vt,DialogOverlay as yt,DialogPortal as bt,DialogTitle as xt,DialogTrigger as St}from"./components/dialog.js";import{Command as Ct,CommandDialog as wt,CommandEmpty as Tt,CommandGroup as Et,CommandInput as Dt,CommandItem as Ot,CommandList as kt,CommandSeparator as At,CommandShortcut as jt}from"./components/command.js";import{Container as Mt,containerVariants as Nt}from"./components/container.js";import{DropdownMenu as Pt,DropdownMenuCheckboxItem as Ft,DropdownMenuContent as It,DropdownMenuGroup as Lt,DropdownMenuItem as Rt,DropdownMenuLabel as zt,DropdownMenuPortal as Bt,DropdownMenuRadioGroup as Vt,DropdownMenuRadioItem as Ht,DropdownMenuSeparator as Ut,DropdownMenuShortcut as Wt,DropdownMenuSub as Gt,DropdownMenuSubContent as Kt,DropdownMenuSubTrigger as qt,DropdownMenuTrigger as Jt}from"./components/dropdown-menu.js";import{Select as Yt,SelectContent as Xt,SelectGroup as Zt,SelectItem as Qt,SelectLabel as $t,SelectScrollDownButton as en,SelectScrollUpButton as tn,SelectSeparator as nn,SelectTrigger as rn,SelectValue as an}from"./components/select.js";import{Table as on,TableBody as sn,TableCaption as cn,TableCell as ln,TableContainer as un,TableFooter as dn,TableHead as fn,TableHeader as pn,TableRow as mn,tableVariants as hn}from"./components/table.js";import{DataTable as gn,DataTableBody as _n,DataTableColumnHeader as vn,DataTableHeader as yn,DataTablePagination as bn,DataTableRoot as xn,DataTableToolbar as Sn,DataTableViewOptions as Cn,createDataTableSelectColumn as wn,defaultDataTableLabels as Tn,useDataTable as En,useDataTableContext as Dn}from"./components/data-table.js";import{Popover as On,PopoverAnchor as kn,PopoverContent as An,PopoverDescription as jn,PopoverHeader as Mn,PopoverTitle as Nn,PopoverTrigger as Pn}from"./components/popover.js";import{DateRangePicker as Fn,DateRangePickerActions as In,DateRangePickerApply as Ln,DateRangePickerCalendar as Rn,DateRangePickerContent as zn,DateRangePickerDateFields as Bn,DateRangePickerPreset as Vn,DateRangePickerPresets as Hn,DateRangePickerReset as Un,DateRangePickerTrigger as Wn,DateRangePickerValue as Gn}from"./components/date-range-picker.js";import{PieChart as Kn,PieChartBase as qn,buildPieConfig as Jn}from"./components/pie-chart.js";import{DonutChart as Yn}from"./components/donut-chart.js";import{Drawer as Xn,DrawerBody as Zn,DrawerClose as Qn,DrawerContent as $n,DrawerDescription as er,DrawerFooter as tr,DrawerHeader as nr,DrawerOverlay as rr,DrawerPortal as ir,DrawerTitle as ar,DrawerTrigger as or}from"./components/drawer.js";import{Dropzone as sr,DropzoneArea as cr,DropzoneDescription as lr,DropzoneFileList as ur,DropzoneFileListItem as dr,DropzoneFileMessage as fr,DropzoneMessage as pr,DropzoneRemoveFile as mr,DropzoneRetryFile as hr,DropzoneTrigger as gr,ErrorCode as _r,InfiniteProgress as vr,useDropzone as yr}from"./components/dropzone.js";import{Empty as br,EmptyContent as xr,EmptyDescription as Sr,EmptyHeader as Cr,EmptyMedia as wr,EmptyTitle as Tr}from"./components/empty.js";import{Flex as Er,flexVariants as Dr}from"./components/flex.js";import{Grid as Or,GridItem as kr}from"./components/grid.js";import{Group as Ar,groupVariants as jr}from"./components/group.js";import{Heading as Mr,headingVariants as Nr}from"./components/heading.js";import{HoverCard as Pr,HoverCardContent as Fr,HoverCardTrigger as Ir}from"./components/hover-card.js";import{InputOTP as Lr,InputOTPGroup as Rr,InputOTPSeparator as zr,InputOTPSlot as Br,REGEXP_ONLY_CHARS as Vr,REGEXP_ONLY_DIGITS as Hr,REGEXP_ONLY_DIGITS_AND_CHARS as Ur}from"./components/input-otp.js";import{Kbd as Wr,KbdGroup as Gr}from"./components/kbd.js";import{List as Kr,ListIcon as qr,ListItem as Jr,listVariants as Yr}from"./components/list.js";import{useMask as Xr}from"./hooks/use-mask.js";import{MaskInput as Zr}from"./components/mask-input.js";import{NativeSelect as Qr,NativeSelectOptGroup as $r,NativeSelectOption as ei}from"./components/native-select.js";import{NavigationMenu as ti,NavigationMenuContent as ni,NavigationMenuIndicator as ri,NavigationMenuItem as ii,NavigationMenuLink as ai,NavigationMenuList as oi,NavigationMenuTrigger as si,NavigationMenuViewport as ci,navigationMenuTriggerStyle as li}from"./components/navigation-menu.js";import{Pagination as ui,PaginationContent as di,PaginationEllipsis as fi,PaginationItem as pi,PaginationLink as mi,PaginationNext as hi,PaginationPrevious as gi}from"./components/pagination.js";import{Progress as _i}from"./components/progress.js";import{RadioGroup as vi,RadioGroupItem as yi}from"./components/radio-group.js";import{ResizableHandle as bi,ResizablePanel as xi,ResizablePanelGroup as Si}from"./components/resizable.js";import{ScrollArea as Ci,ScrollBar as wi}from"./components/scroll-area.js";import{useIsMobile as Ti}from"./hooks/use-mobile.js";import{Skeleton as Ei}from"./components/skeleton.js";import{Tooltip as Di,TooltipContent as Oi,TooltipProvider as ki,TooltipRoot as Ai,TooltipTrigger as ji}from"./components/tooltip.js";import{Sidebar as Mi,SidebarContent as Ni,SidebarFooter as Pi,SidebarGroup as Fi,SidebarGroupAction as Ii,SidebarGroupContent as Li,SidebarGroupLabel as Ri,SidebarHeader as zi,SidebarInput as Bi,SidebarInset as Vi,SidebarMenu as Hi,SidebarMenuAction as Ui,SidebarMenuBadge as Wi,SidebarMenuButton as Gi,SidebarMenuItem as Ki,SidebarMenuSkeleton as qi,SidebarMenuSub as Ji,SidebarMenuSubButton as Yi,SidebarMenuSubItem as Xi,SidebarProvider as Zi,SidebarRail as Qi,SidebarSeparator as $i,SidebarTrigger as ea,useSidebar as ta}from"./components/sidebar.js";import{SimpleGrid as na}from"./components/simple-grid.js";import{Slider as ra}from"./components/slider.js";import{Toaster as ia,toast as aa}from"./components/sonner.js";import{Stack as oa,stackVariants as sa}from"./components/stack.js";import{Switch as ca}from"./components/switch.js";import{Tabs as la,TabsContent as ua,TabsList as da,TabsTrigger as fa,tabsListVariants as pa}from"./components/tabs.js";import{Text as ma,textVariants as ha}from"./components/text.js";import{ModeToggle as ga,ThemeProvider as _a,useTheme as va}from"./components/theme.js";import{Timeline as ya,TimelineConnector as ba,TimelineContent as xa,TimelineDescription as Sa,TimelineEmpty as Ca,TimelineHeader as wa,TimelineIcon as Ta,TimelineItem as Ea,TimelineTime as Da,TimelineTitle as Oa,timelineVariants as ka}from"./components/timeline.js";import{Toggle as Aa,toggleVariants as ja}from"./components/toggle.js";import{ToggleGroup as Ma,ToggleGroupItem as Na}from"./components/toggle-group.js";import{UnstyledButton as Pa}from"./components/unstyled-button.js";import{breakpointValues as Fa,useBreakpoint as Ia}from"./hooks/use-breakpoint.js";import{HiddenFrom as La,VisibleFrom as Ra}from"./components/visibility.js";import{useBreakpointValue as za}from"./hooks/use-breakpoint-value.js";import{useDisclosure as Ba}from"./hooks/use-disclosure.js";import{useDocumentVisibility as Va}from"./hooks/use-document-visibility.js";import{useIdle as Ha}from"./hooks/use-idle.js";import{useInterval as Ua}from"./hooks/use-interval.js";import{useLocalStorage as Wa}from"./hooks/use-local-storage.js";export{n as Accordion,r as AccordionContent,i as AccordionItem,a as AccordionTrigger,o as Alert,s as AlertAction,c as AlertDescription,h as AlertDialog,g as AlertDialogAction,_ as AlertDialogCancel,v as AlertDialogContent,y as AlertDialogDescription,b as AlertDialogFooter,x as AlertDialogHeader,S as AlertDialogMedia,C as AlertDialogOverlay,w as AlertDialogPortal,T as AlertDialogTitle,E as AlertDialogTrigger,l as AlertTitle,D as Anchor,F as AreaChart,I as Avatar,L as AvatarBadge,R as AvatarFallback,z as AvatarGroup,B as AvatarGroupCount,V as AvatarImage,U as Badge,G as BarChart,K as Breadcrumb,q as BreadcrumbEllipsis,J as BreadcrumbItem,Y as BreadcrumbLink,X as BreadcrumbList,Z as BreadcrumbPage,Q as BreadcrumbSeparator,p as Button,ee as ButtonGroup,te as ButtonGroupSeparator,ne as ButtonGroupText,ie as Calendar,ae as CalendarDayButton,se as Card,ce as CardAction,le as CardContent,ue as CardDescription,de as CardFooter,fe as CardHeader,pe as CardTitle,me as Carousel,he as CarouselContent,ge as CarouselIndicators,_e as CarouselItem,ve as CarouselNext,ye as CarouselPrevious,xe as Center,k as ChartContainer,A as ChartLegend,j as ChartLegendContent,M as ChartStyle,N as ChartTooltip,P as ChartTooltipContent,Le as Checkbox,Re as Code,ze as Collapsible,Be as CollapsibleContent,Ve as CollapsibleTrigger,Xe as Combobox,Ze as ComboboxChip,Qe as ComboboxChips,$e as ComboboxChipsInput,et as ComboboxClear,tt as ComboboxCollection,nt as ComboboxContent,rt as ComboboxEmpty,it as ComboboxGroup,at as ComboboxInput,ot as ComboboxItem,st as ComboboxLabel,ct as ComboboxList,lt as ComboboxSeparator,ut as ComboboxTrigger,dt as ComboboxValue,Ct as Command,wt as CommandDialog,Tt as CommandEmpty,Et as CommandGroup,Dt as CommandInput,Ot as CommandItem,kt as CommandList,At as CommandSeparator,jt as CommandShortcut,Mt as Container,gn as DataTable,_n as DataTableBody,vn as DataTableColumnHeader,yn as DataTableHeader,bn as DataTablePagination,xn as DataTableRoot,Sn as DataTableToolbar,Cn as DataTableViewOptions,Fn as DateRangePicker,In as DateRangePickerActions,Ln as DateRangePickerApply,Rn as DateRangePickerCalendar,zn as DateRangePickerContent,Bn as DateRangePickerDateFields,Vn as DateRangePickerPreset,Hn as DateRangePickerPresets,Un as DateRangePickerReset,Wn as DateRangePickerTrigger,Gn as DateRangePickerValue,pt as Dialog,mt as DialogClose,ht as DialogContent,gt as DialogDescription,_t as DialogFooter,vt as DialogHeader,yt as DialogOverlay,bt as DialogPortal,xt as DialogTitle,St as DialogTrigger,Yn as DonutChart,Xn as Drawer,Zn as DrawerBody,Qn as DrawerClose,$n as DrawerContent,er as DrawerDescription,tr as DrawerFooter,nr as DrawerHeader,rr as DrawerOverlay,ir as DrawerPortal,ar as DrawerTitle,or as DrawerTrigger,Pt as DropdownMenu,Ft as DropdownMenuCheckboxItem,It as DropdownMenuContent,Lt as DropdownMenuGroup,Rt as DropdownMenuItem,zt as DropdownMenuLabel,Bt as DropdownMenuPortal,Vt as DropdownMenuRadioGroup,Ht as DropdownMenuRadioItem,Ut as DropdownMenuSeparator,Wt as DropdownMenuShortcut,Gt as DropdownMenuSub,Kt as DropdownMenuSubContent,qt as DropdownMenuSubTrigger,Jt as DropdownMenuTrigger,sr as Dropzone,cr as DropzoneArea,lr as DropzoneDescription,ur as DropzoneFileList,dr as DropzoneFileListItem,fr as DropzoneFileMessage,pr as DropzoneMessage,mr as DropzoneRemoveFile,hr as DropzoneRetryFile,gr as DropzoneTrigger,br as Empty,xr as EmptyContent,Sr as EmptyDescription,Cr as EmptyHeader,wr as EmptyMedia,Tr as EmptyTitle,_r as ErrorCode,Ee as Field,De as FieldContent,Oe as FieldDescription,ke as FieldError,Ae as FieldGroup,je as FieldLabel,Me as FieldLegend,Ne as FieldSeparator,Pe as FieldSet,Fe as FieldTitle,Er as Flex,Or as Grid,kr as GridItem,Ar as Group,Mr as Heading,La as HiddenFrom,Pr as HoverCard,Fr as HoverCardContent,Ir as HoverCardTrigger,vr as InfiniteProgress,He as Input,We as InputGroup,Ge as InputGroupAddon,Ke as InputGroupButton,qe as InputGroupInput,Je as InputGroupText,Ye as InputGroupTextarea,Lr as InputOTP,Rr as InputOTPGroup,zr as InputOTPSeparator,Br as InputOTPSlot,Wr as Kbd,Gr as KbdGroup,Te as Label,Kr as List,qr as ListIcon,Jr as ListItem,Zr as MaskInput,ga as ModeToggle,Qr as NativeSelect,$r as NativeSelectOptGroup,ei as NativeSelectOption,ti as NavigationMenu,ni as NavigationMenuContent,ri as NavigationMenuIndicator,ii as NavigationMenuItem,ai as NavigationMenuLink,oi as NavigationMenuList,si as NavigationMenuTrigger,ci as NavigationMenuViewport,ui as Pagination,di as PaginationContent,fi as PaginationEllipsis,pi as PaginationItem,mi as PaginationLink,hi as PaginationNext,gi as PaginationPrevious,Kn as PieChart,qn as PieChartBase,On as Popover,kn as PopoverAnchor,An as PopoverContent,jn as PopoverDescription,Mn as PopoverHeader,Nn as PopoverTitle,Pn as PopoverTrigger,_i as Progress,Vr as REGEXP_ONLY_CHARS,Hr as REGEXP_ONLY_DIGITS,Ur as REGEXP_ONLY_DIGITS_AND_CHARS,vi as RadioGroup,yi as RadioGroupItem,bi as ResizableHandle,xi as ResizablePanel,Si as ResizablePanelGroup,Ci as ScrollArea,wi as ScrollBar,Yt as Select,Xt as SelectContent,Zt as SelectGroup,Qt as SelectItem,$t as SelectLabel,en as SelectScrollDownButton,tn as SelectScrollUpButton,nn as SelectSeparator,rn as SelectTrigger,an as SelectValue,$ as Separator,Mi as Sidebar,Ni as SidebarContent,Pi as SidebarFooter,Fi as SidebarGroup,Ii as SidebarGroupAction,Li as SidebarGroupContent,Ri as SidebarGroupLabel,zi as SidebarHeader,Bi as SidebarInput,Vi as SidebarInset,Hi as SidebarMenu,Ui as SidebarMenuAction,Wi as SidebarMenuBadge,Gi as SidebarMenuButton,Ki as SidebarMenuItem,qi as SidebarMenuSkeleton,Ji as SidebarMenuSub,Yi as SidebarMenuSubButton,Xi as SidebarMenuSubItem,Zi as SidebarProvider,Qi as SidebarRail,$i as SidebarSeparator,ea as SidebarTrigger,na as SimpleGrid,Ei as Skeleton,ra as Slider,d as Spinner,oa as Stack,ca as Switch,on as Table,sn as TableBody,cn as TableCaption,ln as TableCell,un as TableContainer,dn as TableFooter,fn as TableHead,pn as TableHeader,mn as TableRow,la as Tabs,ua as TabsContent,da as TabsList,fa as TabsTrigger,ma as Text,Ue as Textarea,_a as ThemeProvider,ya as Timeline,ba as TimelineConnector,xa as TimelineContent,Sa as TimelineDescription,Ca as TimelineEmpty,wa as TimelineHeader,Ta as TimelineIcon,Ea as TimelineItem,Da as TimelineTime,Oa as TimelineTitle,ia as Toaster,Aa as Toggle,Ma as ToggleGroup,Na as ToggleGroupItem,Di as Tooltip,Oi as TooltipContent,ki as TooltipProvider,Ai as TooltipRoot,ji as TooltipTrigger,Pa as UnstyledButton,Ra as VisibleFrom,O as anchorVariants,H as badgeColorVariants,W as badgeVariants,Fa as breakpointValues,Jn as buildPieConfig,u as buttonColorVariants,re as buttonGroupVariants,m as buttonVariants,Se as centerVariants,e as cn,Nt as containerVariants,wn as createDataTableSelectColumn,Tn as defaultDataTableLabels,Dr as flexVariants,jr as groupVariants,Nr as headingVariants,Yr as listVariants,oe as locale,li as navigationMenuTriggerStyle,t as randomId,Ce as selectionControlColorVariants,f as spinnerVariants,sa as stackVariants,hn as tableVariants,pa as tabsListVariants,ha as textVariants,ka as timelineVariants,aa as toast,ja as toggleVariants,we as uiColors,Ia as useBreakpoint,za as useBreakpointValue,be as useCarousel,ft as useComboboxAnchor,En as useDataTable,Dn as useDataTableContext,Ba as useDisclosure,Va as useDocumentVisibility,yr as useDropzone,Ie as useFieldControlId,Ha as useIdle,Ua as useInterval,Ti as useIsMobile,Wa as useLocalStorage,Xr as useMask,ta as useSidebar,va as useTheme};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { n as __name } from "../chunk-CHh1Zzun.js";
|
|
2
|
+
import { UIColor } from "./color.js";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/badge.d.ts
|
|
5
|
+
declare const badgeColorVariants: {
|
|
6
|
+
readonly primary: readonly ["[--badge-solid:var(--primary-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--primary-500)]", "[--badge-outline-foreground:var(--primary-500)]", "[--badge-soft:var(--primary-50)]", "[--badge-soft-hover:var(--primary-100)]", "[--badge-soft-foreground:var(--primary-500)]", "[--badge-ghost-hover:var(--primary-50)]", "[--badge-ghost-foreground:var(--primary-500)]", "[--badge-link-foreground:var(--primary-500)]", "dark:[--badge-solid:var(--primary-500)]", "dark:[--badge-outline-border:var(--primary-500)]", "dark:[--badge-outline-foreground:var(--primary-500)]", "dark:[--badge-soft:var(--primary-950)]", "dark:[--badge-soft-hover:var(--primary-900)]", "dark:[--badge-soft-foreground:var(--primary-500)]", "dark:[--badge-ghost-hover:var(--primary-950)]", "dark:[--badge-ghost-foreground:var(--primary-500)]", "dark:[--badge-link-foreground:var(--primary-500)]"];
|
|
7
|
+
readonly brand: readonly ["[--badge-solid:var(--brand-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--brand-500)]", "[--badge-outline-foreground:var(--brand-500)]", "[--badge-soft:var(--brand-50)]", "[--badge-soft-hover:var(--brand-100)]", "[--badge-soft-foreground:var(--brand-500)]", "[--badge-ghost-hover:var(--brand-50)]", "[--badge-ghost-foreground:var(--brand-500)]", "[--badge-link-foreground:var(--brand-500)]", "dark:[--badge-solid:var(--brand-500)]", "dark:[--badge-outline-border:var(--brand-500)]", "dark:[--badge-outline-foreground:var(--brand-500)]", "dark:[--badge-soft:var(--brand-950)]", "dark:[--badge-soft-hover:var(--brand-900)]", "dark:[--badge-soft-foreground:var(--brand-500)]", "dark:[--badge-ghost-hover:var(--brand-950)]", "dark:[--badge-ghost-foreground:var(--brand-500)]", "dark:[--badge-link-foreground:var(--brand-500)]"];
|
|
8
|
+
readonly gray: readonly ["[--badge-solid:var(--gray-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--gray-500)]", "[--badge-outline-foreground:var(--gray-500)]", "[--badge-soft:var(--gray-100)]", "[--badge-soft-hover:var(--gray-200)]", "[--badge-soft-foreground:var(--gray-500)]", "[--badge-ghost-hover:var(--gray-100)]", "[--badge-ghost-foreground:var(--gray-500)]", "[--badge-link-foreground:var(--gray-500)]", "dark:[--badge-solid:var(--gray-500)]", "dark:[--badge-outline-border:var(--gray-500)]", "dark:[--badge-outline-foreground:var(--gray-500)]", "dark:[--badge-soft:var(--gray-950)]", "dark:[--badge-soft-hover:var(--gray-900)]", "dark:[--badge-soft-foreground:var(--gray-500)]", "dark:[--badge-ghost-hover:var(--gray-950)]", "dark:[--badge-ghost-foreground:var(--gray-500)]", "dark:[--badge-link-foreground:var(--gray-500)]"];
|
|
9
|
+
readonly zinc: readonly ["[--badge-solid:var(--zinc-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--zinc-500)]", "[--badge-outline-foreground:var(--zinc-500)]", "[--badge-soft:var(--zinc-100)]", "[--badge-soft-hover:var(--zinc-200)]", "[--badge-soft-foreground:var(--zinc-500)]", "[--badge-ghost-hover:var(--zinc-100)]", "[--badge-ghost-foreground:var(--zinc-500)]", "[--badge-link-foreground:var(--zinc-500)]", "dark:[--badge-solid:var(--zinc-500)]", "dark:[--badge-outline-border:var(--zinc-500)]", "dark:[--badge-outline-foreground:var(--zinc-500)]", "dark:[--badge-soft:var(--zinc-950)]", "dark:[--badge-soft-hover:var(--zinc-900)]", "dark:[--badge-soft-foreground:var(--zinc-500)]", "dark:[--badge-ghost-hover:var(--zinc-950)]", "dark:[--badge-ghost-foreground:var(--zinc-500)]", "dark:[--badge-link-foreground:var(--zinc-500)]"];
|
|
10
|
+
readonly red: readonly ["[--badge-solid:var(--red-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--red-500)]", "[--badge-outline-foreground:var(--red-500)]", "[--badge-soft:var(--red-50)]", "[--badge-soft-hover:var(--red-100)]", "[--badge-soft-foreground:var(--red-500)]", "[--badge-ghost-hover:var(--red-50)]", "[--badge-ghost-foreground:var(--red-500)]", "[--badge-link-foreground:var(--red-500)]", "dark:[--badge-solid:var(--red-500)]", "dark:[--badge-outline-border:var(--red-500)]", "dark:[--badge-outline-foreground:var(--red-500)]", "dark:[--badge-soft:var(--red-950)]", "dark:[--badge-soft-hover:var(--red-900)]", "dark:[--badge-soft-foreground:var(--red-500)]", "dark:[--badge-ghost-hover:var(--red-950)]", "dark:[--badge-ghost-foreground:var(--red-500)]", "dark:[--badge-link-foreground:var(--red-500)]"];
|
|
11
|
+
readonly yellow: readonly ["[--badge-solid:var(--yellow-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--yellow-500)]", "[--badge-outline-foreground:var(--yellow-500)]", "[--badge-soft:var(--yellow-50)]", "[--badge-soft-hover:var(--yellow-100)]", "[--badge-soft-foreground:var(--yellow-500)]", "[--badge-ghost-hover:var(--yellow-50)]", "[--badge-ghost-foreground:var(--yellow-500)]", "[--badge-link-foreground:var(--yellow-500)]", "dark:[--badge-solid:var(--yellow-500)]", "dark:[--badge-outline-border:var(--yellow-500)]", "dark:[--badge-outline-foreground:var(--yellow-500)]", "dark:[--badge-soft:var(--yellow-950)]", "dark:[--badge-soft-hover:var(--yellow-900)]", "dark:[--badge-soft-foreground:var(--yellow-500)]", "dark:[--badge-ghost-hover:var(--yellow-950)]", "dark:[--badge-ghost-foreground:var(--yellow-500)]", "dark:[--badge-link-foreground:var(--yellow-500)]"];
|
|
12
|
+
readonly blue: readonly ["[--badge-solid:var(--blue-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--blue-500)]", "[--badge-outline-foreground:var(--blue-500)]", "[--badge-soft:var(--blue-50)]", "[--badge-soft-hover:var(--blue-100)]", "[--badge-soft-foreground:var(--blue-500)]", "[--badge-ghost-hover:var(--blue-50)]", "[--badge-ghost-foreground:var(--blue-500)]", "[--badge-link-foreground:var(--blue-500)]", "dark:[--badge-solid:var(--blue-500)]", "dark:[--badge-outline-border:var(--blue-500)]", "dark:[--badge-outline-foreground:var(--blue-500)]", "dark:[--badge-soft:var(--blue-950)]", "dark:[--badge-soft-hover:var(--blue-900)]", "dark:[--badge-soft-foreground:var(--blue-500)]", "dark:[--badge-ghost-hover:var(--blue-950)]", "dark:[--badge-ghost-foreground:var(--blue-500)]", "dark:[--badge-link-foreground:var(--blue-500)]"];
|
|
13
|
+
readonly indigo: readonly ["[--badge-solid:var(--indigo-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--indigo-500)]", "[--badge-outline-foreground:var(--indigo-500)]", "[--badge-soft:var(--indigo-50)]", "[--badge-soft-hover:var(--indigo-100)]", "[--badge-soft-foreground:var(--indigo-500)]", "[--badge-ghost-hover:var(--indigo-50)]", "[--badge-ghost-foreground:var(--indigo-500)]", "[--badge-link-foreground:var(--indigo-500)]", "dark:[--badge-solid:var(--indigo-500)]", "dark:[--badge-outline-border:var(--indigo-500)]", "dark:[--badge-outline-foreground:var(--indigo-500)]", "dark:[--badge-soft:var(--indigo-950)]", "dark:[--badge-soft-hover:var(--indigo-900)]", "dark:[--badge-soft-foreground:var(--indigo-500)]", "dark:[--badge-ghost-hover:var(--indigo-950)]", "dark:[--badge-ghost-foreground:var(--indigo-500)]", "dark:[--badge-link-foreground:var(--indigo-500)]"];
|
|
14
|
+
readonly pink: readonly ["[--badge-solid:var(--pink-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--pink-500)]", "[--badge-outline-foreground:var(--pink-500)]", "[--badge-soft:var(--pink-50)]", "[--badge-soft-hover:var(--pink-100)]", "[--badge-soft-foreground:var(--pink-500)]", "[--badge-ghost-hover:var(--pink-50)]", "[--badge-ghost-foreground:var(--pink-500)]", "[--badge-link-foreground:var(--pink-500)]", "dark:[--badge-solid:var(--pink-500)]", "dark:[--badge-outline-border:var(--pink-500)]", "dark:[--badge-outline-foreground:var(--pink-500)]", "dark:[--badge-soft:var(--pink-950)]", "dark:[--badge-soft-hover:var(--pink-900)]", "dark:[--badge-soft-foreground:var(--pink-500)]", "dark:[--badge-ghost-hover:var(--pink-950)]", "dark:[--badge-ghost-foreground:var(--pink-500)]", "dark:[--badge-link-foreground:var(--pink-500)]"];
|
|
15
|
+
readonly green: readonly ["[--badge-solid:var(--green-500)]", "[--badge-solid-foreground:var(--zinc-50)]", "[--badge-outline-border:var(--green-500)]", "[--badge-outline-foreground:var(--green-500)]", "[--badge-soft:var(--green-50)]", "[--badge-soft-hover:var(--green-100)]", "[--badge-soft-foreground:var(--green-500)]", "[--badge-ghost-hover:var(--green-50)]", "[--badge-ghost-foreground:var(--green-500)]", "[--badge-link-foreground:var(--green-500)]", "dark:[--badge-solid:var(--green-500)]", "dark:[--badge-outline-border:var(--green-500)]", "dark:[--badge-outline-foreground:var(--green-500)]", "dark:[--badge-soft:var(--green-950)]", "dark:[--badge-soft-hover:var(--green-900)]", "dark:[--badge-soft-foreground:var(--green-500)]", "dark:[--badge-ghost-hover:var(--green-950)]", "dark:[--badge-ghost-foreground:var(--green-500)]", "dark:[--badge-link-foreground:var(--green-500)]"];
|
|
16
|
+
};
|
|
17
|
+
type BadgeColor = UIColor;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { BadgeColor, badgeColorVariants };
|
|
20
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e={primary:[`[--badge-solid:var(--primary-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--primary-500)]`,`[--badge-outline-foreground:var(--primary-500)]`,`[--badge-soft:var(--primary-50)]`,`[--badge-soft-hover:var(--primary-100)]`,`[--badge-soft-foreground:var(--primary-500)]`,`[--badge-ghost-hover:var(--primary-50)]`,`[--badge-ghost-foreground:var(--primary-500)]`,`[--badge-link-foreground:var(--primary-500)]`,`dark:[--badge-solid:var(--primary-500)]`,`dark:[--badge-outline-border:var(--primary-500)]`,`dark:[--badge-outline-foreground:var(--primary-500)]`,`dark:[--badge-soft:var(--primary-950)]`,`dark:[--badge-soft-hover:var(--primary-900)]`,`dark:[--badge-soft-foreground:var(--primary-500)]`,`dark:[--badge-ghost-hover:var(--primary-950)]`,`dark:[--badge-ghost-foreground:var(--primary-500)]`,`dark:[--badge-link-foreground:var(--primary-500)]`],brand:[`[--badge-solid:var(--brand-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--brand-500)]`,`[--badge-outline-foreground:var(--brand-500)]`,`[--badge-soft:var(--brand-50)]`,`[--badge-soft-hover:var(--brand-100)]`,`[--badge-soft-foreground:var(--brand-500)]`,`[--badge-ghost-hover:var(--brand-50)]`,`[--badge-ghost-foreground:var(--brand-500)]`,`[--badge-link-foreground:var(--brand-500)]`,`dark:[--badge-solid:var(--brand-500)]`,`dark:[--badge-outline-border:var(--brand-500)]`,`dark:[--badge-outline-foreground:var(--brand-500)]`,`dark:[--badge-soft:var(--brand-950)]`,`dark:[--badge-soft-hover:var(--brand-900)]`,`dark:[--badge-soft-foreground:var(--brand-500)]`,`dark:[--badge-ghost-hover:var(--brand-950)]`,`dark:[--badge-ghost-foreground:var(--brand-500)]`,`dark:[--badge-link-foreground:var(--brand-500)]`],gray:[`[--badge-solid:var(--gray-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--gray-500)]`,`[--badge-outline-foreground:var(--gray-500)]`,`[--badge-soft:var(--gray-100)]`,`[--badge-soft-hover:var(--gray-200)]`,`[--badge-soft-foreground:var(--gray-500)]`,`[--badge-ghost-hover:var(--gray-100)]`,`[--badge-ghost-foreground:var(--gray-500)]`,`[--badge-link-foreground:var(--gray-500)]`,`dark:[--badge-solid:var(--gray-500)]`,`dark:[--badge-outline-border:var(--gray-500)]`,`dark:[--badge-outline-foreground:var(--gray-500)]`,`dark:[--badge-soft:var(--gray-950)]`,`dark:[--badge-soft-hover:var(--gray-900)]`,`dark:[--badge-soft-foreground:var(--gray-500)]`,`dark:[--badge-ghost-hover:var(--gray-950)]`,`dark:[--badge-ghost-foreground:var(--gray-500)]`,`dark:[--badge-link-foreground:var(--gray-500)]`],zinc:[`[--badge-solid:var(--zinc-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--zinc-500)]`,`[--badge-outline-foreground:var(--zinc-500)]`,`[--badge-soft:var(--zinc-100)]`,`[--badge-soft-hover:var(--zinc-200)]`,`[--badge-soft-foreground:var(--zinc-500)]`,`[--badge-ghost-hover:var(--zinc-100)]`,`[--badge-ghost-foreground:var(--zinc-500)]`,`[--badge-link-foreground:var(--zinc-500)]`,`dark:[--badge-solid:var(--zinc-500)]`,`dark:[--badge-outline-border:var(--zinc-500)]`,`dark:[--badge-outline-foreground:var(--zinc-500)]`,`dark:[--badge-soft:var(--zinc-950)]`,`dark:[--badge-soft-hover:var(--zinc-900)]`,`dark:[--badge-soft-foreground:var(--zinc-500)]`,`dark:[--badge-ghost-hover:var(--zinc-950)]`,`dark:[--badge-ghost-foreground:var(--zinc-500)]`,`dark:[--badge-link-foreground:var(--zinc-500)]`],red:[`[--badge-solid:var(--red-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--red-500)]`,`[--badge-outline-foreground:var(--red-500)]`,`[--badge-soft:var(--red-50)]`,`[--badge-soft-hover:var(--red-100)]`,`[--badge-soft-foreground:var(--red-500)]`,`[--badge-ghost-hover:var(--red-50)]`,`[--badge-ghost-foreground:var(--red-500)]`,`[--badge-link-foreground:var(--red-500)]`,`dark:[--badge-solid:var(--red-500)]`,`dark:[--badge-outline-border:var(--red-500)]`,`dark:[--badge-outline-foreground:var(--red-500)]`,`dark:[--badge-soft:var(--red-950)]`,`dark:[--badge-soft-hover:var(--red-900)]`,`dark:[--badge-soft-foreground:var(--red-500)]`,`dark:[--badge-ghost-hover:var(--red-950)]`,`dark:[--badge-ghost-foreground:var(--red-500)]`,`dark:[--badge-link-foreground:var(--red-500)]`],yellow:[`[--badge-solid:var(--yellow-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--yellow-500)]`,`[--badge-outline-foreground:var(--yellow-500)]`,`[--badge-soft:var(--yellow-50)]`,`[--badge-soft-hover:var(--yellow-100)]`,`[--badge-soft-foreground:var(--yellow-500)]`,`[--badge-ghost-hover:var(--yellow-50)]`,`[--badge-ghost-foreground:var(--yellow-500)]`,`[--badge-link-foreground:var(--yellow-500)]`,`dark:[--badge-solid:var(--yellow-500)]`,`dark:[--badge-outline-border:var(--yellow-500)]`,`dark:[--badge-outline-foreground:var(--yellow-500)]`,`dark:[--badge-soft:var(--yellow-950)]`,`dark:[--badge-soft-hover:var(--yellow-900)]`,`dark:[--badge-soft-foreground:var(--yellow-500)]`,`dark:[--badge-ghost-hover:var(--yellow-950)]`,`dark:[--badge-ghost-foreground:var(--yellow-500)]`,`dark:[--badge-link-foreground:var(--yellow-500)]`],blue:[`[--badge-solid:var(--blue-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--blue-500)]`,`[--badge-outline-foreground:var(--blue-500)]`,`[--badge-soft:var(--blue-50)]`,`[--badge-soft-hover:var(--blue-100)]`,`[--badge-soft-foreground:var(--blue-500)]`,`[--badge-ghost-hover:var(--blue-50)]`,`[--badge-ghost-foreground:var(--blue-500)]`,`[--badge-link-foreground:var(--blue-500)]`,`dark:[--badge-solid:var(--blue-500)]`,`dark:[--badge-outline-border:var(--blue-500)]`,`dark:[--badge-outline-foreground:var(--blue-500)]`,`dark:[--badge-soft:var(--blue-950)]`,`dark:[--badge-soft-hover:var(--blue-900)]`,`dark:[--badge-soft-foreground:var(--blue-500)]`,`dark:[--badge-ghost-hover:var(--blue-950)]`,`dark:[--badge-ghost-foreground:var(--blue-500)]`,`dark:[--badge-link-foreground:var(--blue-500)]`],indigo:[`[--badge-solid:var(--indigo-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--indigo-500)]`,`[--badge-outline-foreground:var(--indigo-500)]`,`[--badge-soft:var(--indigo-50)]`,`[--badge-soft-hover:var(--indigo-100)]`,`[--badge-soft-foreground:var(--indigo-500)]`,`[--badge-ghost-hover:var(--indigo-50)]`,`[--badge-ghost-foreground:var(--indigo-500)]`,`[--badge-link-foreground:var(--indigo-500)]`,`dark:[--badge-solid:var(--indigo-500)]`,`dark:[--badge-outline-border:var(--indigo-500)]`,`dark:[--badge-outline-foreground:var(--indigo-500)]`,`dark:[--badge-soft:var(--indigo-950)]`,`dark:[--badge-soft-hover:var(--indigo-900)]`,`dark:[--badge-soft-foreground:var(--indigo-500)]`,`dark:[--badge-ghost-hover:var(--indigo-950)]`,`dark:[--badge-ghost-foreground:var(--indigo-500)]`,`dark:[--badge-link-foreground:var(--indigo-500)]`],pink:[`[--badge-solid:var(--pink-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--pink-500)]`,`[--badge-outline-foreground:var(--pink-500)]`,`[--badge-soft:var(--pink-50)]`,`[--badge-soft-hover:var(--pink-100)]`,`[--badge-soft-foreground:var(--pink-500)]`,`[--badge-ghost-hover:var(--pink-50)]`,`[--badge-ghost-foreground:var(--pink-500)]`,`[--badge-link-foreground:var(--pink-500)]`,`dark:[--badge-solid:var(--pink-500)]`,`dark:[--badge-outline-border:var(--pink-500)]`,`dark:[--badge-outline-foreground:var(--pink-500)]`,`dark:[--badge-soft:var(--pink-950)]`,`dark:[--badge-soft-hover:var(--pink-900)]`,`dark:[--badge-soft-foreground:var(--pink-500)]`,`dark:[--badge-ghost-hover:var(--pink-950)]`,`dark:[--badge-ghost-foreground:var(--pink-500)]`,`dark:[--badge-link-foreground:var(--pink-500)]`],green:[`[--badge-solid:var(--green-500)]`,`[--badge-solid-foreground:var(--zinc-50)]`,`[--badge-outline-border:var(--green-500)]`,`[--badge-outline-foreground:var(--green-500)]`,`[--badge-soft:var(--green-50)]`,`[--badge-soft-hover:var(--green-100)]`,`[--badge-soft-foreground:var(--green-500)]`,`[--badge-ghost-hover:var(--green-50)]`,`[--badge-ghost-foreground:var(--green-500)]`,`[--badge-link-foreground:var(--green-500)]`,`dark:[--badge-solid:var(--green-500)]`,`dark:[--badge-outline-border:var(--green-500)]`,`dark:[--badge-outline-foreground:var(--green-500)]`,`dark:[--badge-soft:var(--green-950)]`,`dark:[--badge-soft-hover:var(--green-900)]`,`dark:[--badge-soft-foreground:var(--green-500)]`,`dark:[--badge-ghost-hover:var(--green-950)]`,`dark:[--badge-ghost-foreground:var(--green-500)]`,`dark:[--badge-link-foreground:var(--green-500)]`]};export{e as badgeColorVariants};
|
|
2
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","names":[],"sources":["../../src/lib/badge.ts"],"sourcesContent":["import type { UIColor } from './color'\n\nexport const badgeColorVariants = {\n primary: [\n '[--badge-solid:var(--primary-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--primary-500)]',\n '[--badge-outline-foreground:var(--primary-500)]',\n '[--badge-soft:var(--primary-50)]',\n '[--badge-soft-hover:var(--primary-100)]',\n '[--badge-soft-foreground:var(--primary-500)]',\n '[--badge-ghost-hover:var(--primary-50)]',\n '[--badge-ghost-foreground:var(--primary-500)]',\n '[--badge-link-foreground:var(--primary-500)]',\n 'dark:[--badge-solid:var(--primary-500)]',\n 'dark:[--badge-outline-border:var(--primary-500)]',\n 'dark:[--badge-outline-foreground:var(--primary-500)]',\n 'dark:[--badge-soft:var(--primary-950)]',\n 'dark:[--badge-soft-hover:var(--primary-900)]',\n 'dark:[--badge-soft-foreground:var(--primary-500)]',\n 'dark:[--badge-ghost-hover:var(--primary-950)]',\n 'dark:[--badge-ghost-foreground:var(--primary-500)]',\n 'dark:[--badge-link-foreground:var(--primary-500)]'\n ],\n brand: [\n '[--badge-solid:var(--brand-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--brand-500)]',\n '[--badge-outline-foreground:var(--brand-500)]',\n '[--badge-soft:var(--brand-50)]',\n '[--badge-soft-hover:var(--brand-100)]',\n '[--badge-soft-foreground:var(--brand-500)]',\n '[--badge-ghost-hover:var(--brand-50)]',\n '[--badge-ghost-foreground:var(--brand-500)]',\n '[--badge-link-foreground:var(--brand-500)]',\n 'dark:[--badge-solid:var(--brand-500)]',\n 'dark:[--badge-outline-border:var(--brand-500)]',\n 'dark:[--badge-outline-foreground:var(--brand-500)]',\n 'dark:[--badge-soft:var(--brand-950)]',\n 'dark:[--badge-soft-hover:var(--brand-900)]',\n 'dark:[--badge-soft-foreground:var(--brand-500)]',\n 'dark:[--badge-ghost-hover:var(--brand-950)]',\n 'dark:[--badge-ghost-foreground:var(--brand-500)]',\n 'dark:[--badge-link-foreground:var(--brand-500)]'\n ],\n gray: [\n '[--badge-solid:var(--gray-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--gray-500)]',\n '[--badge-outline-foreground:var(--gray-500)]',\n '[--badge-soft:var(--gray-100)]',\n '[--badge-soft-hover:var(--gray-200)]',\n '[--badge-soft-foreground:var(--gray-500)]',\n '[--badge-ghost-hover:var(--gray-100)]',\n '[--badge-ghost-foreground:var(--gray-500)]',\n '[--badge-link-foreground:var(--gray-500)]',\n 'dark:[--badge-solid:var(--gray-500)]',\n 'dark:[--badge-outline-border:var(--gray-500)]',\n 'dark:[--badge-outline-foreground:var(--gray-500)]',\n 'dark:[--badge-soft:var(--gray-950)]',\n 'dark:[--badge-soft-hover:var(--gray-900)]',\n 'dark:[--badge-soft-foreground:var(--gray-500)]',\n 'dark:[--badge-ghost-hover:var(--gray-950)]',\n 'dark:[--badge-ghost-foreground:var(--gray-500)]',\n 'dark:[--badge-link-foreground:var(--gray-500)]'\n ],\n zinc: [\n '[--badge-solid:var(--zinc-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--zinc-500)]',\n '[--badge-outline-foreground:var(--zinc-500)]',\n '[--badge-soft:var(--zinc-100)]',\n '[--badge-soft-hover:var(--zinc-200)]',\n '[--badge-soft-foreground:var(--zinc-500)]',\n '[--badge-ghost-hover:var(--zinc-100)]',\n '[--badge-ghost-foreground:var(--zinc-500)]',\n '[--badge-link-foreground:var(--zinc-500)]',\n 'dark:[--badge-solid:var(--zinc-500)]',\n 'dark:[--badge-outline-border:var(--zinc-500)]',\n 'dark:[--badge-outline-foreground:var(--zinc-500)]',\n 'dark:[--badge-soft:var(--zinc-950)]',\n 'dark:[--badge-soft-hover:var(--zinc-900)]',\n 'dark:[--badge-soft-foreground:var(--zinc-500)]',\n 'dark:[--badge-ghost-hover:var(--zinc-950)]',\n 'dark:[--badge-ghost-foreground:var(--zinc-500)]',\n 'dark:[--badge-link-foreground:var(--zinc-500)]'\n ],\n red: [\n '[--badge-solid:var(--red-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--red-500)]',\n '[--badge-outline-foreground:var(--red-500)]',\n '[--badge-soft:var(--red-50)]',\n '[--badge-soft-hover:var(--red-100)]',\n '[--badge-soft-foreground:var(--red-500)]',\n '[--badge-ghost-hover:var(--red-50)]',\n '[--badge-ghost-foreground:var(--red-500)]',\n '[--badge-link-foreground:var(--red-500)]',\n 'dark:[--badge-solid:var(--red-500)]',\n 'dark:[--badge-outline-border:var(--red-500)]',\n 'dark:[--badge-outline-foreground:var(--red-500)]',\n 'dark:[--badge-soft:var(--red-950)]',\n 'dark:[--badge-soft-hover:var(--red-900)]',\n 'dark:[--badge-soft-foreground:var(--red-500)]',\n 'dark:[--badge-ghost-hover:var(--red-950)]',\n 'dark:[--badge-ghost-foreground:var(--red-500)]',\n 'dark:[--badge-link-foreground:var(--red-500)]'\n ],\n yellow: [\n '[--badge-solid:var(--yellow-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--yellow-500)]',\n '[--badge-outline-foreground:var(--yellow-500)]',\n '[--badge-soft:var(--yellow-50)]',\n '[--badge-soft-hover:var(--yellow-100)]',\n '[--badge-soft-foreground:var(--yellow-500)]',\n '[--badge-ghost-hover:var(--yellow-50)]',\n '[--badge-ghost-foreground:var(--yellow-500)]',\n '[--badge-link-foreground:var(--yellow-500)]',\n 'dark:[--badge-solid:var(--yellow-500)]',\n 'dark:[--badge-outline-border:var(--yellow-500)]',\n 'dark:[--badge-outline-foreground:var(--yellow-500)]',\n 'dark:[--badge-soft:var(--yellow-950)]',\n 'dark:[--badge-soft-hover:var(--yellow-900)]',\n 'dark:[--badge-soft-foreground:var(--yellow-500)]',\n 'dark:[--badge-ghost-hover:var(--yellow-950)]',\n 'dark:[--badge-ghost-foreground:var(--yellow-500)]',\n 'dark:[--badge-link-foreground:var(--yellow-500)]'\n ],\n blue: [\n '[--badge-solid:var(--blue-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--blue-500)]',\n '[--badge-outline-foreground:var(--blue-500)]',\n '[--badge-soft:var(--blue-50)]',\n '[--badge-soft-hover:var(--blue-100)]',\n '[--badge-soft-foreground:var(--blue-500)]',\n '[--badge-ghost-hover:var(--blue-50)]',\n '[--badge-ghost-foreground:var(--blue-500)]',\n '[--badge-link-foreground:var(--blue-500)]',\n 'dark:[--badge-solid:var(--blue-500)]',\n 'dark:[--badge-outline-border:var(--blue-500)]',\n 'dark:[--badge-outline-foreground:var(--blue-500)]',\n 'dark:[--badge-soft:var(--blue-950)]',\n 'dark:[--badge-soft-hover:var(--blue-900)]',\n 'dark:[--badge-soft-foreground:var(--blue-500)]',\n 'dark:[--badge-ghost-hover:var(--blue-950)]',\n 'dark:[--badge-ghost-foreground:var(--blue-500)]',\n 'dark:[--badge-link-foreground:var(--blue-500)]'\n ],\n indigo: [\n '[--badge-solid:var(--indigo-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--indigo-500)]',\n '[--badge-outline-foreground:var(--indigo-500)]',\n '[--badge-soft:var(--indigo-50)]',\n '[--badge-soft-hover:var(--indigo-100)]',\n '[--badge-soft-foreground:var(--indigo-500)]',\n '[--badge-ghost-hover:var(--indigo-50)]',\n '[--badge-ghost-foreground:var(--indigo-500)]',\n '[--badge-link-foreground:var(--indigo-500)]',\n 'dark:[--badge-solid:var(--indigo-500)]',\n 'dark:[--badge-outline-border:var(--indigo-500)]',\n 'dark:[--badge-outline-foreground:var(--indigo-500)]',\n 'dark:[--badge-soft:var(--indigo-950)]',\n 'dark:[--badge-soft-hover:var(--indigo-900)]',\n 'dark:[--badge-soft-foreground:var(--indigo-500)]',\n 'dark:[--badge-ghost-hover:var(--indigo-950)]',\n 'dark:[--badge-ghost-foreground:var(--indigo-500)]',\n 'dark:[--badge-link-foreground:var(--indigo-500)]'\n ],\n pink: [\n '[--badge-solid:var(--pink-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--pink-500)]',\n '[--badge-outline-foreground:var(--pink-500)]',\n '[--badge-soft:var(--pink-50)]',\n '[--badge-soft-hover:var(--pink-100)]',\n '[--badge-soft-foreground:var(--pink-500)]',\n '[--badge-ghost-hover:var(--pink-50)]',\n '[--badge-ghost-foreground:var(--pink-500)]',\n '[--badge-link-foreground:var(--pink-500)]',\n 'dark:[--badge-solid:var(--pink-500)]',\n 'dark:[--badge-outline-border:var(--pink-500)]',\n 'dark:[--badge-outline-foreground:var(--pink-500)]',\n 'dark:[--badge-soft:var(--pink-950)]',\n 'dark:[--badge-soft-hover:var(--pink-900)]',\n 'dark:[--badge-soft-foreground:var(--pink-500)]',\n 'dark:[--badge-ghost-hover:var(--pink-950)]',\n 'dark:[--badge-ghost-foreground:var(--pink-500)]',\n 'dark:[--badge-link-foreground:var(--pink-500)]'\n ],\n green: [\n '[--badge-solid:var(--green-500)]',\n '[--badge-solid-foreground:var(--zinc-50)]',\n '[--badge-outline-border:var(--green-500)]',\n '[--badge-outline-foreground:var(--green-500)]',\n '[--badge-soft:var(--green-50)]',\n '[--badge-soft-hover:var(--green-100)]',\n '[--badge-soft-foreground:var(--green-500)]',\n '[--badge-ghost-hover:var(--green-50)]',\n '[--badge-ghost-foreground:var(--green-500)]',\n '[--badge-link-foreground:var(--green-500)]',\n 'dark:[--badge-solid:var(--green-500)]',\n 'dark:[--badge-outline-border:var(--green-500)]',\n 'dark:[--badge-outline-foreground:var(--green-500)]',\n 'dark:[--badge-soft:var(--green-950)]',\n 'dark:[--badge-soft-hover:var(--green-900)]',\n 'dark:[--badge-soft-foreground:var(--green-500)]',\n 'dark:[--badge-ghost-hover:var(--green-950)]',\n 'dark:[--badge-ghost-foreground:var(--green-500)]',\n 'dark:[--badge-link-foreground:var(--green-500)]'\n ]\n} as const satisfies Record<UIColor, readonly string[]>\n\nexport type BadgeColor = UIColor\n"],"mappings":"AAEA,MAAa,EAAqB,CAChC,QAAS,CACP,qCACA,4CACA,8CACA,kDACA,mCACA,0CACA,+CACA,0CACA,gDACA,+CACA,0CACA,mDACA,uDACA,yCACA,+CACA,oDACA,gDACA,qDACA,mDACF,EACA,MAAO,CACL,mCACA,4CACA,4CACA,gDACA,iCACA,wCACA,6CACA,wCACA,8CACA,6CACA,wCACA,iDACA,qDACA,uCACA,6CACA,kDACA,8CACA,mDACA,iDACF,EACA,KAAM,CACJ,kCACA,4CACA,2CACA,+CACA,iCACA,uCACA,4CACA,wCACA,6CACA,4CACA,uCACA,gDACA,oDACA,sCACA,4CACA,iDACA,6CACA,kDACA,gDACF,EACA,KAAM,CACJ,kCACA,4CACA,2CACA,+CACA,iCACA,uCACA,4CACA,wCACA,6CACA,4CACA,uCACA,gDACA,oDACA,sCACA,4CACA,iDACA,6CACA,kDACA,gDACF,EACA,IAAK,CACH,iCACA,4CACA,0CACA,8CACA,+BACA,sCACA,2CACA,sCACA,4CACA,2CACA,sCACA,+CACA,mDACA,qCACA,2CACA,gDACA,4CACA,iDACA,+CACF,EACA,OAAQ,CACN,oCACA,4CACA,6CACA,iDACA,kCACA,yCACA,8CACA,yCACA,+CACA,8CACA,yCACA,kDACA,sDACA,wCACA,8CACA,mDACA,+CACA,oDACA,kDACF,EACA,KAAM,CACJ,kCACA,4CACA,2CACA,+CACA,gCACA,uCACA,4CACA,uCACA,6CACA,4CACA,uCACA,gDACA,oDACA,sCACA,4CACA,iDACA,6CACA,kDACA,gDACF,EACA,OAAQ,CACN,oCACA,4CACA,6CACA,iDACA,kCACA,yCACA,8CACA,yCACA,+CACA,8CACA,yCACA,kDACA,sDACA,wCACA,8CACA,mDACA,+CACA,oDACA,kDACF,EACA,KAAM,CACJ,kCACA,4CACA,2CACA,+CACA,gCACA,uCACA,4CACA,uCACA,6CACA,4CACA,uCACA,gDACA,oDACA,sCACA,4CACA,iDACA,6CACA,kDACA,gDACF,EACA,MAAO,CACL,mCACA,4CACA,4CACA,gDACA,iCACA,wCACA,6CACA,wCACA,8CACA,6CACA,wCACA,iDACA,qDACA,uCACA,6CACA,kDACA,8CACA,mDACA,iDACF,CACF"}
|
|
@@ -101,6 +101,7 @@ Unless noted otherwise, each module also exports its public `*Props` types from
|
|
|
101
101
|
- Notes: confirmation dialog composition
|
|
102
102
|
- `badge`
|
|
103
103
|
- Exports: `Badge`, `badgeVariants`
|
|
104
|
+
- Notes: pill-shaped tag with `size: 'xs' | 'sm' | 'md' | 'lg' | 'xl'` (default `md`), `solid`/`outline`/`subtle`/`ghost`/`link` variants, `color: UIColor` (`primary` default), and `asChild`
|
|
104
105
|
- `button`
|
|
105
106
|
- Exports: `Button`, `buttonVariants`
|
|
106
107
|
- Notes: action button with `solid`, `outline`, `subtle`, `ghost`, and `link` variants, `color: UIColor` (`primary` default), sizes from `xs` through `xl` plus icon sizes through `icon-xl`, and `loading`
|
package/dist/styles/theme.css
CHANGED
package/package.json
CHANGED
|
@@ -101,6 +101,7 @@ Unless noted otherwise, each module also exports its public `*Props` types from
|
|
|
101
101
|
- Notes: confirmation dialog composition
|
|
102
102
|
- `badge`
|
|
103
103
|
- Exports: `Badge`, `badgeVariants`
|
|
104
|
+
- Notes: pill-shaped tag with `size: 'xs' | 'sm' | 'md' | 'lg' | 'xl'` (default `md`), `solid`/`outline`/`subtle`/`ghost`/`link` variants, `color: UIColor` (`primary` default), and `asChild`
|
|
104
105
|
- `button`
|
|
105
106
|
- Exports: `Button`, `buttonVariants`
|
|
106
107
|
- Notes: action button with `solid`, `outline`, `subtle`, `ghost`, and `link` variants, `color: UIColor` (`primary` default), sizes from `xs` through `xl` plus icon sizes through `icon-xl`, and `loading`
|