@nusameta/design-system 1.0.0-beta.4 → 1.0.0-beta.6

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.
@@ -1,12 +1,16 @@
1
- import { CheckboxGroupProps as AriaCheckboxGroupProps, ValidationResult as AriaValidationResult, CheckboxProps as AriaCheckboxProps } from 'react-aria-components';
1
+ import { CheckboxGroupProps as AriaCheckboxGroupProps, ValidationResult as AriaValidationResult, CheckboxFieldProps as AriaCheckboxFieldProps } from 'react-aria-components';
2
2
  import * as React from "react";
3
- declare const CheckboxGroup: (props: AriaCheckboxGroupProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
4
- declare const Checkbox: ({ className, children, ...props }: AriaCheckboxProps) => import("react/jsx-runtime").JSX.Element;
3
+ declare const CheckboxGroup: (props: AriaCheckboxGroupProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
4
+ interface CheckboxProps extends AriaCheckboxFieldProps {
5
+ description?: string;
6
+ errorMessage?: string | ((validation: AriaValidationResult) => string);
7
+ }
8
+ declare const Checkbox: ({ className, children, description, errorMessage, ...props }: CheckboxProps) => React.JSX.Element;
5
9
  interface ComposedCheckboxGroupProps extends AriaCheckboxGroupProps {
6
10
  label?: string;
7
11
  description?: string;
8
12
  errorMessage?: string | ((validation: AriaValidationResult) => string);
9
13
  }
10
- declare function ComposedCheckboxGroup({ label, description, errorMessage, className, children, ...props }: ComposedCheckboxGroupProps): import("react/jsx-runtime").JSX.Element;
14
+ declare function ComposedCheckboxGroup({ label, description, errorMessage, className, children, ...props }: ComposedCheckboxGroupProps): React.JSX.Element;
11
15
  export { Checkbox, CheckboxGroup, ComposedCheckboxGroup };
12
- export type { ComposedCheckboxGroupProps };
16
+ export type { CheckboxProps, ComposedCheckboxGroupProps };
@@ -9,4 +9,6 @@ export declare const Disabled: Story;
9
9
  export declare const DisabledChecked: Story;
10
10
  export declare const Indeterminate: Story;
11
11
  export declare const WithoutLabel: Story;
12
+ export declare const WithDescription: Story;
13
+ export declare const WithError: Story;
12
14
  export declare const AllStates: Story;
@@ -1,21 +1,21 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import { DialogProps as AriaDialogProps, DialogTrigger as AriaDialogTrigger, HeadingProps as AriaHeadingProps, Modal as AriaModal, ModalOverlayProps as AriaModalOverlayProps } from 'react-aria-components';
3
3
  import * as React from "react";
4
- declare const Dialog: (props: AriaDialogProps & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
4
+ declare const Dialog: (props: AriaDialogProps & React.RefAttributes<HTMLElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
5
5
  declare const sheetVariants: (props?: ({
6
6
  side?: "bottom" | "left" | "right" | "top" | null | undefined;
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
8
  declare const DialogTrigger: typeof AriaDialogTrigger;
9
- declare const DialogOverlay: ({ className, isDismissable, ...props }: AriaModalOverlayProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const DialogOverlay: ({ className, isDismissable, ...props }: AriaModalOverlayProps) => React.JSX.Element;
10
10
  interface DialogContentProps extends Omit<React.ComponentProps<typeof AriaModal>, "children">, VariantProps<typeof sheetVariants> {
11
11
  children?: AriaDialogProps["children"];
12
12
  role?: AriaDialogProps["role"];
13
13
  closeButton?: boolean;
14
14
  }
15
- declare const DialogContent: ({ className, children, side, role, closeButton, ...props }: DialogContentProps) => import("react/jsx-runtime").JSX.Element;
16
- declare const DialogHeader: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
17
- declare const DialogFooter: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
18
- declare const DialogTitle: ({ className, ...props }: AriaHeadingProps) => import("react/jsx-runtime").JSX.Element;
19
- declare const DialogDescription: ({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>) => import("react/jsx-runtime").JSX.Element;
15
+ declare const DialogContent: ({ className, children, side, role, closeButton, ...props }: DialogContentProps) => React.JSX.Element;
16
+ declare const DialogHeader: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
17
+ declare const DialogFooter: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
18
+ declare const DialogTitle: ({ className, ...props }: AriaHeadingProps) => React.JSX.Element;
19
+ declare const DialogDescription: ({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>) => React.JSX.Element;
20
20
  export { Dialog, DialogOverlay, DialogTrigger, DialogContent, DialogDescription, DialogHeader, DialogFooter, DialogTitle, };
21
21
  export type { DialogContentProps };
@@ -1,7 +1,7 @@
1
1
  import { Collection as AriaCollection, Header as AriaHeader, ListBoxItemProps as AriaListBoxItemProps, ListBoxProps as AriaListBoxProps } from 'react-aria-components';
2
- declare const ListBoxSection: <T extends object>(props: import('react-aria-components').SectionProps<T> & React.RefAttributes<HTMLElement>) => import('react').ReactElement | null;
2
+ declare const ListBoxSection: <T>(props: import('react-aria-components').ListBoxSectionProps<T> & React.RefAttributes<HTMLElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
3
3
  declare const ListBoxCollection: typeof AriaCollection;
4
- declare function ListBox<T extends object>({ className, ...props }: AriaListBoxProps<T>): import("react/jsx-runtime").JSX.Element;
5
- declare const ListBoxItem: <T extends object>({ className, children, ...props }: AriaListBoxItemProps<T>) => import("react/jsx-runtime").JSX.Element;
6
- declare function ListBoxHeader({ className, ...props }: React.ComponentProps<typeof AriaHeader>): import("react/jsx-runtime").JSX.Element;
4
+ declare function ListBox<T extends object>({ className, ...props }: AriaListBoxProps<T>): import("react").JSX.Element;
5
+ declare const ListBoxItem: <T extends object>({ className, children, ...props }: AriaListBoxItemProps<T>) => import("react").JSX.Element;
6
+ declare function ListBoxHeader({ className, ...props }: React.ComponentProps<typeof AriaHeader>): import("react").JSX.Element;
7
7
  export { ListBox, ListBoxItem, ListBoxHeader, ListBoxSection, ListBoxCollection, };
@@ -3,22 +3,22 @@ import { Header as AriaHeader, Keyboard as AriaKeyboard, MenuItemProps as AriaMe
3
3
  import { buttonVariants } from '../button/Button';
4
4
  import * as React from "react";
5
5
  declare const MenuTrigger: typeof AriaMenuTrigger;
6
- declare const MenuSubTrigger: (props: import('react-aria-components').SubmenuTriggerProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
7
- declare const MenuSection: <T extends object>(props: import('react-aria-components').SectionProps<T> & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
6
+ declare const MenuSubTrigger: (props: import('react-aria-components').SubmenuTriggerProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
7
+ declare const MenuSection: <T>(props: import('react-aria-components').MenuSectionProps<T> & React.RefAttributes<HTMLElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
8
8
  declare const MenuCollection: typeof import('react-aria-components').Collection;
9
- declare function MenuPopover({ className, ...props }: PopoverProps): import("react/jsx-runtime").JSX.Element;
10
- declare const Menu: <T extends object>({ className, ...props }: AriaMenuProps<T>) => import("react/jsx-runtime").JSX.Element;
11
- declare const MenuItem: ({ children, className, ...props }: AriaMenuItemProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare function MenuPopover({ className, ...props }: PopoverProps): React.JSX.Element;
10
+ declare const Menu: <T extends object>({ className, ...props }: AriaMenuProps<T>) => React.JSX.Element;
11
+ declare const MenuItem: ({ children, className, ...props }: AriaMenuItemProps) => React.JSX.Element;
12
12
  interface MenuHeaderProps extends React.ComponentProps<typeof AriaHeader> {
13
13
  inset?: boolean;
14
14
  separator?: boolean;
15
15
  }
16
- declare const MenuHeader: ({ className, inset, separator, ...props }: MenuHeaderProps) => import("react/jsx-runtime").JSX.Element;
17
- declare const MenuSeparator: ({ className, ...props }: AriaSeparatorProps) => import("react/jsx-runtime").JSX.Element;
18
- declare const MenuKeyboard: ({ className, ...props }: React.ComponentProps<typeof AriaKeyboard>) => import("react/jsx-runtime").JSX.Element;
16
+ declare const MenuHeader: ({ className, inset, separator, ...props }: MenuHeaderProps) => React.JSX.Element;
17
+ declare const MenuSeparator: ({ className, ...props }: AriaSeparatorProps) => React.JSX.Element;
18
+ declare const MenuKeyboard: ({ className, ...props }: React.ComponentProps<typeof AriaKeyboard>) => React.JSX.Element;
19
19
  interface MenuWrapperProps<T> extends AriaMenuProps<T>, VariantProps<typeof buttonVariants>, Omit<AriaMenuTriggerProps, "children"> {
20
20
  label?: string;
21
21
  }
22
- declare function MenuWrapper<T extends object>({ label, children, variant, size, ...props }: MenuWrapperProps<T>): import("react/jsx-runtime").JSX.Element;
22
+ declare function MenuWrapper<T extends object>({ label, children, variant, size, ...props }: MenuWrapperProps<T>): React.JSX.Element;
23
23
  export { MenuTrigger, Menu, MenuPopover, MenuItem, MenuHeader, MenuSeparator, MenuKeyboard, MenuSection, MenuSubTrigger, MenuCollection, MenuWrapper, };
24
24
  export type { MenuHeaderProps, MenuWrapperProps };
@@ -1,5 +1,6 @@
1
1
  import { DialogProps as AriaDialogProps, DialogTrigger as AriaDialogTrigger, PopoverProps as AriaPopoverProps } from 'react-aria-components';
2
+ import * as React from "react";
2
3
  declare const PopoverTrigger: typeof AriaDialogTrigger;
3
- declare const Popover: ({ className, offset, ...props }: AriaPopoverProps) => import("react/jsx-runtime").JSX.Element;
4
- declare function PopoverDialog({ className, ...props }: AriaDialogProps): import("react/jsx-runtime").JSX.Element;
4
+ declare const Popover: ({ className, offset, ...props }: AriaPopoverProps) => React.JSX.Element;
5
+ declare function PopoverDialog({ className, ...props }: AriaDialogProps): React.JSX.Element;
5
6
  export { Popover, PopoverTrigger, PopoverDialog };
@@ -1,13 +1,13 @@
1
1
  import { ButtonProps as AriaButtonProps, GroupProps as AriaGroupProps, InputProps as AriaInputProps, SearchFieldProps as AriaSearchFieldProps, ValidationResult as AriaValidationResult } from 'react-aria-components';
2
- declare function SearchField({ className, ...props }: AriaSearchFieldProps): import("react/jsx-runtime").JSX.Element;
3
- declare function SearchFieldInput({ className, ...props }: AriaInputProps): import("react/jsx-runtime").JSX.Element;
4
- declare function SearchFieldGroup({ className, ...props }: AriaGroupProps): import("react/jsx-runtime").JSX.Element;
5
- declare function SearchFieldClear({ className, ...props }: AriaButtonProps): import("react/jsx-runtime").JSX.Element;
2
+ declare function SearchField({ className, ...props }: AriaSearchFieldProps): import("react").JSX.Element;
3
+ declare function SearchFieldInput({ className, ...props }: AriaInputProps): import("react").JSX.Element;
4
+ declare function SearchFieldGroup({ className, ...props }: AriaGroupProps): import("react").JSX.Element;
5
+ declare function SearchFieldClear({ className, ...props }: AriaButtonProps): import("react").JSX.Element;
6
6
  interface ComposedSearchFieldProps extends AriaSearchFieldProps {
7
7
  label?: string;
8
8
  description?: string;
9
9
  errorMessage?: string | ((validation: AriaValidationResult) => string);
10
10
  }
11
- declare function ComposedSearchField({ label, description, className, errorMessage, ...props }: ComposedSearchFieldProps): import("react/jsx-runtime").JSX.Element;
11
+ declare function ComposedSearchField({ label, description, className, errorMessage, ...props }: ComposedSearchFieldProps): import("react").JSX.Element;
12
12
  export { SearchField, SearchFieldGroup, SearchFieldInput, SearchFieldClear, ComposedSearchField, };
13
13
  export type { ComposedSearchFieldProps };
@@ -1,14 +1,14 @@
1
1
  import { ButtonProps as AriaButtonProps, ListBoxProps as AriaListBoxProps, PopoverProps as AriaPopoverProps, SelectProps as AriaSelectProps, SelectValueProps as AriaSelectValueProps, ValidationResult as AriaValidationResult } from 'react-aria-components';
2
2
  import { ListBoxHeader } from '../list-box/List-box';
3
- declare const Select: <T extends object = {}, M extends "multiple" | "single" = "single">(props: AriaSelectProps<T, M> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
4
- declare const SelectItem: <T extends object>({ className, children, ...props }: import('react-aria-components').ListBoxItemProps<T>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const Select: <T, M extends "multiple" | "single" = "single">(props: AriaSelectProps<T, M> & React.RefAttributes<HTMLDivElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
4
+ declare const SelectItem: <T extends object>({ className, children, ...props }: import('react-aria-components').ListBoxItemProps<T>) => import("react").JSX.Element;
5
5
  declare const SelectHeader: typeof ListBoxHeader;
6
- declare const SelectSection: <T extends object>(props: import('react-aria-components').SectionProps<T> & React.RefAttributes<HTMLElement>) => import('react').ReactElement | null;
6
+ declare const SelectSection: <T>(props: import('react-aria-components').ListBoxSectionProps<T> & React.RefAttributes<HTMLElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
7
7
  declare const SelectCollection: typeof import('react-aria-components').Collection;
8
- declare const SelectValue: <T extends object>({ className, ...props }: AriaSelectValueProps<T>) => import("react/jsx-runtime").JSX.Element;
9
- declare const SelectTrigger: ({ className, children, ...props }: AriaButtonProps) => import("react/jsx-runtime").JSX.Element;
10
- declare const SelectPopover: ({ className, ...props }: AriaPopoverProps) => import("react/jsx-runtime").JSX.Element;
11
- declare const SelectListBox: <T extends object>({ className, ...props }: AriaListBoxProps<T>) => import("react/jsx-runtime").JSX.Element;
8
+ declare const SelectValue: <T extends object>({ className, ...props }: AriaSelectValueProps<T>) => import("react").JSX.Element;
9
+ declare const SelectTrigger: ({ className, children, ...props }: AriaButtonProps) => import("react").JSX.Element;
10
+ declare const SelectPopover: ({ className, ...props }: AriaPopoverProps) => import("react").JSX.Element;
11
+ declare const SelectListBox: <T extends object>({ className, ...props }: AriaListBoxProps<T>) => import("react").JSX.Element;
12
12
  interface ComposedSelectProps<T extends object> extends Omit<AriaSelectProps<T>, "children"> {
13
13
  label?: string;
14
14
  description?: string;
@@ -16,6 +16,6 @@ interface ComposedSelectProps<T extends object> extends Omit<AriaSelectProps<T>,
16
16
  items?: Iterable<T>;
17
17
  children: React.ReactNode | ((item: T) => React.ReactNode);
18
18
  }
19
- declare function ComposedSelect<T extends object>({ label, description, errorMessage, children, className, items, ...props }: ComposedSelectProps<T>): import("react/jsx-runtime").JSX.Element;
19
+ declare function ComposedSelect<T extends object>({ label, description, errorMessage, children, className, items, ...props }: ComposedSelectProps<T>): import("react").JSX.Element;
20
20
  export { Select, SelectValue, SelectTrigger, SelectItem, SelectPopover, SelectHeader, SelectListBox, SelectSection, SelectCollection, ComposedSelect, };
21
21
  export type { ComposedSelectProps };
@@ -1,12 +1,12 @@
1
- import { ColumnProps as AriaColumnProps, CellProps, ResizableTableContainerProps, RowProps, TableBodyProps, TableHeaderProps, TableProps } from 'react-aria-components';
2
- declare const ResizableTableContainer: import('react').ForwardRefExoticComponent<ResizableTableContainerProps & import('react').RefAttributes<HTMLDivElement>>;
3
- declare const Table: ({ className, ...props }: TableProps) => import("react/jsx-runtime").JSX.Element;
4
- declare const TableHeader: <T extends object>({ className, ...props }: TableHeaderProps<T>) => import("react/jsx-runtime").JSX.Element;
1
+ import { ColumnProps as AriaColumnProps, CellProps, RowProps, TableBodyProps, TableHeaderProps, TableProps } from 'react-aria-components';
2
+ declare const ResizableTableContainer: import('react').ForwardRefExoticComponent<import('react-aria-components').ResizableTableContainerProps & import('react').RefAttributes<HTMLDivElement>>;
3
+ declare const Table: ({ className, ...props }: TableProps) => import("react").JSX.Element;
4
+ declare const TableHeader: <T extends object>({ className, ...props }: TableHeaderProps<T>) => import("react").JSX.Element;
5
5
  export interface ColumnProps extends AriaColumnProps {
6
6
  isResizable?: boolean;
7
7
  }
8
- declare const Column: ({ className, children, ...props }: ColumnProps) => import("react/jsx-runtime").JSX.Element;
9
- declare const TableBody: <T extends object>({ className, ...props }: TableBodyProps<T>) => import("react/jsx-runtime").JSX.Element;
10
- declare const Row: <T extends object>({ className, ...props }: RowProps<T>) => import("react/jsx-runtime").JSX.Element;
11
- declare const Cell: ({ className, ...props }: CellProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const Column: ({ className, children, ...props }: ColumnProps) => import("react").JSX.Element;
9
+ declare const TableBody: <T extends object>({ className, ...props }: TableBodyProps<T>) => import("react").JSX.Element;
10
+ declare const Row: <T extends object>({ className, ...props }: RowProps<T>) => import("react").JSX.Element;
11
+ declare const Cell: ({ className, ...props }: CellProps) => import("react").JSX.Element;
12
12
  export { Table, TableHeader, Column, TableBody, Row, Cell, ResizableTableContainer, };
@@ -1,13 +1,13 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import { FieldErrorProps as AriaFieldErrorProps, GroupProps as AriaGroupProps, LabelProps as AriaLabelProps, TextProps as AriaTextProps } from 'react-aria-components';
3
3
  declare const labelVariants: (props?: import('class-variance-authority/types').ClassProp | undefined) => string;
4
- declare const Label: ({ className, ...props }: AriaLabelProps) => import("react/jsx-runtime").JSX.Element;
5
- declare function FormDescription({ className, ...props }: AriaTextProps): import("react/jsx-runtime").JSX.Element;
6
- declare function FieldError({ className, ...props }: AriaFieldErrorProps): import("react/jsx-runtime").JSX.Element;
4
+ declare const Label: ({ className, ...props }: AriaLabelProps) => import("react").JSX.Element;
5
+ declare function FormDescription({ className, ...props }: AriaTextProps): import("react").JSX.Element;
6
+ declare function FieldError({ className, ...props }: AriaFieldErrorProps): import("react").JSX.Element;
7
7
  declare const fieldGroupVariants: (props?: ({
8
8
  variant?: "default" | "ghost" | null | undefined;
9
9
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
10
10
  interface GroupProps extends AriaGroupProps, VariantProps<typeof fieldGroupVariants> {
11
11
  }
12
- declare function FieldGroup({ className, variant, ...props }: GroupProps): import("react/jsx-runtime").JSX.Element;
12
+ declare function FieldGroup({ className, variant, ...props }: GroupProps): import("react").JSX.Element;
13
13
  export { Label, labelVariants, FieldGroup, fieldGroupVariants, FieldError, FormDescription, };
@@ -1,11 +1,11 @@
1
1
  import { InputProps as AriaInputProps, TextAreaProps as AriaTextAreaProps, TextFieldProps as AriaTextFieldProps, ValidationResult as AriaValidationResult } from 'react-aria-components';
2
2
  import * as React from "react";
3
- declare const TextField: (props: AriaTextFieldProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
3
+ declare const TextField: (props: AriaTextFieldProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
4
4
  export interface InputProps extends AriaInputProps {
5
5
  className?: AriaInputProps["className"];
6
6
  }
7
- declare const Input: ({ className, ...props }: InputProps) => import("react/jsx-runtime").JSX.Element;
8
- declare const TextArea: ({ className, ...props }: AriaTextAreaProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const Input: ({ className, ...props }: InputProps) => React.JSX.Element;
8
+ declare const TextArea: ({ className, ...props }: AriaTextAreaProps) => React.JSX.Element;
9
9
  interface WrappedFieldProps extends AriaTextFieldProps {
10
10
  label?: string;
11
11
  description?: string;
@@ -13,6 +13,6 @@ interface WrappedFieldProps extends AriaTextFieldProps {
13
13
  textArea?: boolean;
14
14
  placeholder?: string;
15
15
  }
16
- declare function WrappedField({ label, description, errorMessage, textArea, className, placeholder, ...props }: WrappedFieldProps): import("react/jsx-runtime").JSX.Element;
16
+ declare function WrappedField({ label, description, errorMessage, textArea, className, placeholder, ...props }: WrappedFieldProps): React.JSX.Element;
17
17
  export { Input, TextField, WrappedField, TextArea };
18
18
  export type { WrappedFieldProps };
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c,1);let l=require("class-variance-authority"),u=require("react-aria-components"),d=require("clsx"),ee=require("tailwind-merge"),f=require("react/jsx-runtime"),p=require("lucide-react");var m=(0,ee.extendTailwindMerge)({prefix:`nm:`});function h(...e){return m((0,d.clsx)(e))}var g=(0,l.cva)([`nm:font-btn nm:text-btn nm:inline-flex nm:items-center nm:justify-center nm:whitespace-nowrap nm:ring-offset-background nm:transition-colors`,`nm:data-disabled:pointer-events-none nm:data-disabled:bg-btn-bg-disabled nm:data-disabled:text-btn-fg-disabled`,`nm:data-focus-visible:outline-none nm:data-focus-visible:ring-2 nm:data-focus-visible:ring-ring nm:data-focus-visible:ring-offset-2`,`nm:focus-visible:outline-none`,`nm:cursor-pointer`],{variants:{variant:{default:`nm:bg-btn-primary-bg nm:text-btn-primary-fg nm:data-hovered:opacity-90`,destructive:` nm:bg-btn-destructive-bg nm:text-btn-destructive-fg nm:border nm:border-btn-destructive-border nm:data-hovered:bg-btn-destructive-bg-hover nm:data-hovered:text-btn-destructive-fg-hover nm:data-hovered:opacity-btn-destructive-hover nm:data-pressed:scale-btn-destructive-active`,outline:`nm:border nm:border-btn-outline-border nm:bg-btn-outline-bg nm:text-btn-outline-fg nm:data-hovered:bg-accent nm:data-hovered:text-accent-foreground`,secondary:`nm:bg-btn-secondary-bg nm:text-btn-secondary-fg nm:data-hovered:bg-btn-secondary-bg-hover nm:data-hovered:text-btn-secondary-fg-hover`,ghost:`nm:data-hovered:bg-accent nm:data-hovered:text-accent-foreground`,link:`nm:text-primary nm:underline-offset-4 nm:data-hovered:underline`},size:{default:`nm:h-10 nm:px-4 nm:py-2 nm:rounded-md`,sm:`nm:h-9 nm:rounded-btn-sm nm:px-btn-sm-x nm:py-btn-sm-y`,md:`nm:h-10 nm:rounded-btn-md nm:px-btn-md-x nm:py-btn-md-y`,lg:`nm:h-11 nm:px-8 nm:py-2 nm:rounded-lg`,icon:`nm:h-10 nm:w-10`}},defaultVariants:{variant:`default`,size:`default`}}),_=c.forwardRef(({className:e,variant:t,size:n,...r},i)=>(0,f.jsx)(u.Button,{ref:i,...r,className:(0,u.composeRenderProps)(e,e=>h(g({variant:t,size:n,className:e})))}));_.displayName=`Button`;var v=(0,l.cva)([`nm:text-textfield-label nm:font-textfield-label nm:leading-textfield-label`,`nm:text-textfield-label-fg`,`nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-70 nm:data-disabled:text-textfield-label-disabled-fg`,`group-nm:data-[invalid]:text-textfield-label-error-fg`]),y=({className:e,...t})=>(0,f.jsx)(u.Label,{className:h(v(),e),...t});function b({className:e,...t}){return(0,f.jsx)(u.Text,{className:h(`nm:text-textfield-helper nm:font-textfield-helper nm:leading-textfield-helper nm:text-textfield-helper-fg`,e),...t,slot:`description`})}function x({className:e,...t}){return(0,f.jsx)(u.FieldError,{className:h(`nm:text-textfield-helper nm:font-textfield-helper nm:leading-textfield-helper nm:text-textfield-helper-error-fg`,e),...t})}var S=(0,l.cva)(``,{variants:{variant:{default:[`nm:relative nm:flex nm:w-full nm:items-center nm:overflow-hidden`,`nm:h-textfield-group-height nm:px-textfield-group-x`,`nm:text-textfield`,`nm:rounded-textfield-group nm:border`,`nm:border-textfield-border nm:bg-textfield-bg`,`nm:ring-offset-background`,`nm:data-focus-within:outline-none nm:data-focus-within:ring-2 nm:data-focus-within:ring-textfield-focus-ring nm:data-focus-within:ring-offset-2`,`nm:data-disabled:opacity-50 nm:data-disabled:bg-textfield-disabled-bg`],ghost:``}},defaultVariants:{variant:`default`}});function C({className:e,variant:t,...n}){return(0,f.jsx)(u.Group,{className:(0,u.composeRenderProps)(e,e=>h(S({variant:t}),e)),...n})}var w=u.TextField,T=({className:e,...t})=>(0,f.jsx)(u.Input,{className:(0,u.composeRenderProps)(e,e=>h(`nm:flex nm:w-full`,`nm:h-11 nm:px-3 nm:py-3`,`nm:text-base nm:font-normal nm:leading-normal`,`nm:rounded nm:border`,`nm:border-neutral-300 nm:text-foreground nm:bg-white`,`nm:ring-offset-background nm:transition-colors`,`nm:file:border-0 nm:file:bg-transparent nm:file:text-sm nm:file:font-medium`,`nm:placeholder:opacity-100 nm:placeholder:text-muted-foreground`,`nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-50 nm:data-disabled:bg-muted nm:data-disabled:text-muted-foreground nm:data-disabled:border-neutral-200`,`nm:data-focused:outline-none nm:data-focused:ring-2 nm:data-focused:ring-blue-500 nm:data-focused:ring-offset-2 nm:data-focused:bg-white nm:data-focused:text-foreground nm:data-focused:border-blue-500`,`nm:focus-visible:outline-none`,e)),...t}),E=({className:e,...t})=>(0,f.jsx)(u.TextArea,{className:(0,u.composeRenderProps)(e,e=>h(`nm:flex nm:w-full`,`nm:min-h-20 nm:px-3 nm:py-3`,`nm:text-base nm:font-normal nm:leading-normal`,`nm:rounded nm:border`,`nm:border-neutral-300 nm:text-foreground nm:bg-white`,`nm:ring-offset-background nm:transition-colors`,`nm:placeholder:opacity-100 nm:placeholder:text-muted-foreground`,`nm:data-focused:outline-none nm:data-focused:ring-2 nm:data-focused:ring-blue-500 nm:data-focused:ring-offset-2 nm:data-focused:bg-white nm:data-focused:text-foreground nm:data-focused:border-blue-500`,`nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-50 nm:data-disabled:bg-muted nm:data-disabled:text-muted-foreground nm:data-disabled:border-neutral-200`,`nm:focus-visible:outline-none`,e)),...t});function te({label:e,description:t,errorMessage:n,textArea:r,className:i,placeholder:a,...o}){return(0,f.jsxs)(w,{className:(0,u.composeRenderProps)(i,e=>h(`nm:font-sans nm:group nm:flex nm:flex-col nm:gap-2`,e)),...o,children:[(0,f.jsx)(y,{children:e}),r?(0,f.jsx)(E,{placeholder:a}):(0,f.jsx)(T,{placeholder:a}),t&&(0,f.jsx)(u.Text,{className:`nm:text-sm nm:font-normal nm:leading-normal nm:text-muted-foreground`,slot:`description`,children:t}),(0,f.jsx)(x,{children:n})]})}function D({className:e,...t}){return(0,f.jsx)(u.SearchField,{className:(0,u.composeRenderProps)(e,e=>h(`group`,e)),...t})}function O({className:e,...t}){return(0,f.jsx)(u.Input,{className:(0,u.composeRenderProps)(e,e=>h(`nm:min-w-0 nm:flex-1 nm:bg-searchfield-bg nm:text-searchfield-fg nm:px-2 nm:py-1.5 nm:outline nm:outline-0 nm:placeholder:text-searchfield-placeholder nm:[&::-webkit-search-cancel-button]:hidden`,e)),...t})}function k({className:e,...t}){return(0,f.jsx)(u.Group,{className:(0,u.composeRenderProps)(e,e=>h(`nm:flex nm:h-10 nm:w-full nm:items-center nm:overflow-hidden nm:rounded-md nm:border nm:border-searchfield-border nm:bg-searchfield-bg nm:text-searchfield-fg nm:px-3 nm:py-2 nm:text-sm nm:ring-offset-background`,`nm:data-[focus-within]:outline-none nm:data-[focus-within]:ring-2 nm:data-[focus-within]:ring-searchfield-ring nm:data-[focus-within]:ring-offset-2`,`nm:data-[disabled]:opacity-50`,e)),...t})}function A({className:e,...t}){return(0,f.jsx)(u.Button,{className:(0,u.composeRenderProps)(e,e=>h(`nm:mr-1 nm:rounded-sm nm:opacity-70 nm:ring-offset-background nm:transition-opacity`,`nm:data-[hovered]:opacity-100`,`nm:data-[disabled]:pointer-events-none`,`group-nm:data-[empty]:invisible`,e)),...t})}function j({label:e,description:t,className:n,errorMessage:r,...i}){return(0,f.jsxs)(D,{className:(0,u.composeRenderProps)(n,e=>h(`group nm:flex nm:flex-col nm:gap-2`,e)),...i,children:[(0,f.jsx)(y,{children:e}),(0,f.jsxs)(C,{children:[(0,f.jsx)(p.SearchIcon,{"aria-hidden":!0,className:`nm:size-4 nm:text-searchfield-icon-fg`}),(0,f.jsx)(O,{placeholder:`Search...`}),(0,f.jsx)(A,{children:(0,f.jsx)(p.XIcon,{"aria-hidden":!0,className:`nm:size-4`})})]}),t&&(0,f.jsx)(u.Text,{className:`nm:text-sm nm:text-muted-foreground`,slot:`description`,children:t}),(0,f.jsx)(x,{children:r})]})}var ne=u.DialogTrigger,M=({className:e,offset:t=4,...n})=>(0,f.jsx)(u.Popover,{offset:t,className:(0,u.composeRenderProps)(e,e=>h(`nm:outline-none`,`nm:z-popover`,`nm:rounded-popover nm:border nm:border-popover-border`,`nm:bg-popover-bg nm:text-popover-fg`,`nm:shadow-popover`,`nm:data-entering:animate-in nm:data-entering:fade-in-0 nm:data-entering:zoom-in-95`,`nm:data-exiting:animate-out nm:data-exiting:fade-out-0 nm:data-exiting:zoom-out-95`,`nm:data-[placement=bottom]:slide-in-from-top-2 nm:data-[placement=left]:slide-in-from-right-2 nm:data-[placement=right]:slide-in-from-left-2 nm:data-[placement=top]:slide-in-from-bottom-2`,e)),...n});function re({className:e,...t}){return(0,f.jsx)(u.Dialog,{className:h(`nm:outline-0`,`nm:p-popover-dialog nm:gap-popover-dialog-gap`,`nm:min-w-popover-dialog-min-width nm:max-w-popover-dialog-max-width nm:min-h-popover-dialog-min-height nm:max-h-popover-dialog-max-height`,`nm:bg-popover-dialog-bg nm:text-popover-dialog-fg`,`nm:rounded-popover-dialog nm:border-popover-dialog-border`,`nm:shadow-popover-dialog`,e),...t})}var N=u.CheckboxGroup,ie=({className:e,children:t,description:n,errorMessage:r,...i})=>(0,f.jsxs)(u.CheckboxField,{className:(0,u.composeRenderProps)(e,e=>h(`nm:flex nm:flex-col nm:gap-1`,`nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-70`,e)),...i,children:[(0,f.jsx)(u.CheckboxButton,{className:`group/checkbox nm:flex nm:items-center nm:gap-x-2`,children:(0,u.composeRenderProps)(t,(e,t)=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{className:h(`nm:flex nm:size-4 nm:shrink-0 nm:items-center nm:justify-center nm:rounded-sm nm:border nm:border-primary nm:text-current nm:ring-offset-background`,`nm:group-data-focus-visible/checkbox:outline-none nm:group-data-focus-visible/checkbox:ring-2 nm:group-data-focus-visible/checkbox:ring-ring nm:group-data-focus-visible/checkbox:ring-offset-2`,`nm:group-data-indeterminate/checkbox:bg-primary nm:group-data-selected/checkbox:bg-primary nm:group-data-indeterminate/checkbox:text-primary-foreground nm:group-data-selected/checkbox:text-primary-foreground`,`nm:group-data-disabled/checkbox:cursor-not-allowed nm:group-data-disabled/checkbox:opacity-50`,`nm:group-data-invalid/checkbox:border-destructive nm:group-data-invalid/checkbox:group-data-selected/checkbox:bg-destructive nm:group-data-invalid/checkbox:group-data-selected/checkbox:text-destructive-foreground`,`nm:focus:outline-none nm:focus-visible:outline-none`),children:t.isIndeterminate?(0,f.jsx)(p.Minus,{className:`nm:size-4`}):t.isSelected?(0,f.jsx)(p.Check,{className:`nm:size-4`}):null}),e]}))}),n&&(0,f.jsx)(u.Text,{className:`nm:text-sm nm:text-muted-foreground`,slot:`description`,children:n}),(0,f.jsx)(x,{children:r})]});function ae({label:e,description:t,errorMessage:n,className:r,children:i,...a}){return(0,f.jsx)(N,{className:(0,u.composeRenderProps)(r,e=>h(`group nm:flex nm:flex-col nm:gap-2`,e)),...a,children:(0,u.composeRenderProps)(i,r=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(y,{children:e}),r,t&&(0,f.jsx)(u.Text,{className:`nm:text-sm nm:text-muted-foreground`,slot:`description`,children:t}),(0,f.jsx)(x,{children:n})]}))})}var oe=u.ResizableTableContainer,se=({className:e,...t})=>(0,f.jsx)(u.Table,{className:(0,u.composeRenderProps)(e,e=>h(`nm:w-full nm:caption-bottom`,`nm:text-sm nm:leading-5`,`nm:-outline-offset-2 nm:data-focus-visible:outline-ring`,e)),...t}),ce=({className:e,...t})=>(0,f.jsx)(u.TableHeader,{className:(0,u.composeRenderProps)(e,e=>h(`nm:[&_tr]:border-b nm:[&_tr]:border-neutral-200`,e)),...t}),P=({className:e,children:t,...n})=>(0,f.jsx)(u.Column,{className:(0,u.composeRenderProps)(e,e=>h(`nm:h-12`,`nm:px-table-column-x nm:py-table-column-y`,`nm:text-left nm:align-middle nm:font-medium nm:text-muted-foreground`,`nm:-outline-offset-2 nm:data-focus-visible:outline-ring`,e)),...n,children:(0,u.composeRenderProps)(t,(e,{allowsSorting:t})=>(0,f.jsxs)(`div`,{className:`nm:flex nm:items-center`,children:[(0,f.jsxs)(u.Group,{role:`presentation`,tabIndex:-1,className:h(`nm:flex nm:flex-1 nm:items-center nm:overflow-hidden`,`nm:h-10 nm:gap-1 nm:rounded-md nm:px-4`,t&&`nm:p-2 nm:data-hovered:bg-accent nm:data-hovered:text-accent-foreground`,`nm:focus-visible:outline-none nm:data-focus-visible:-outline-offset-2 nm:data-focus-visible:outline-ring nm:[&:has([slot=selection])]:pr-0`),children:[(0,f.jsx)(`span`,{className:`nm:truncate`,children:e}),t&&(0,f.jsx)(p.ArrowUpDown,{className:`nm:ml-2 nm:size-4`})]}),n.isResizable&&(0,f.jsx)(u.ColumnResizer,{className:`nm:box-content nm:h-5 nm:w-px nm:translate-x-2 nm:cursor-col-resize nm:rounded-sm nm:bg-muted-foreground nm:bg-clip-content nm:px-2 nm:py-0 nm:focus-visible:outline-none nm:data-resizing:w-0.5 nm:data-resizing:bg-primary nm:data-resizing:pl-1.5 nm:data-focus-visible:ring-1 nm:data-focus-visible:ring-ring`})]}))}),F=({className:e,...t})=>(0,f.jsx)(u.TableBody,{className:(0,u.composeRenderProps)(e,e=>h(`nm:-outline-offset-2 nm:data-focus-visible:outline-ring`,`nm:data-empty:h-24 nm:data-empty:text-center`,`nm:[&_tr:last-child]:border-0`,e)),...t}),I=({className:e,...t})=>(0,f.jsx)(u.Row,{className:(0,u.composeRenderProps)(e,e=>h(`nm:border-b nm:border-b-table-row-border-color`,`nm:transition-colors`,`nm:data-hovered:bg-muted/50 nm:data-selected:bg-muted`,`nm:-outline-offset-2 nm:data-focus-visible:outline-ring`,e)),...t}),L=({className:e,...t})=>(0,f.jsx)(u.Cell,{className:(0,u.composeRenderProps)(e,e=>h(`nm:px-table-cell-x nm:py-table-cell-y`,`nm:align-middle`,`nm:-outline-offset-2 nm:data-focus-visible:outline-ring`,`nm:[&:has([role=checkbox])]:pr-0`,e)),...t}),R=u.ListBoxSection,z=u.Collection;function B({className:e,...t}){return(0,f.jsx)(u.ListBox,{className:(0,u.composeRenderProps)(e,e=>h(e,`nm:group nm:overflow-auto nm:rounded-md nm:border nm:border-listbox-border nm:bg-listbox-bg nm:p-1 nm:text-listbox-fg nm:shadow-md nm:outline-none`,`nm:data-empty:p-6 nm:data-empty:text-center nm:data-empty:text-sm`)),...t})}var V=({className:e,children:t,...n})=>(0,f.jsx)(u.ListBoxItem,{textValue:n.textValue||(typeof t==`string`?t:void 0),className:(0,u.composeRenderProps)(e,e=>h(`nm:relative nm:flex nm:w-full nm:cursor-default nm:select-none nm:items-center nm:rounded-sm nm:px-2 nm:py-1.5 nm:text-sm nm:text-listbox-item-fg nm:outline-none`,`nm:data-disabled:pointer-events-none nm:data-disabled:opacity-50`,`nm:data-focused:bg-listbox-item-focused-bg nm:data-focused:text-listbox-item-focused-fg`,`nm:data-hovered:bg-listbox-item-hovered-bg nm:data-hovered:text-listbox-item-hovered-fg`,`nm:data-selection-mode:pl-8`,e)),...n,children:(0,u.composeRenderProps)(t,(e,t)=>(0,f.jsxs)(f.Fragment,{children:[t.isSelected&&(0,f.jsx)(`span`,{className:`nm:absolute nm:left-2 nm:flex nm:size-4 nm:items-center nm:justify-center`,children:(0,f.jsx)(p.Check,{className:`nm:size-4`})}),e]}))});function H({className:e,...t}){return(0,f.jsx)(u.Header,{className:h(`nm:py-1.5 nm:pl-8 nm:pr-2 nm:text-sm nm:font-semibold`,e),...t})}var U=u.Select,W=V,G=H,le=R,ue=z,K=({className:e,...t})=>(0,f.jsx)(u.SelectValue,{className:(0,u.composeRenderProps)(e,e=>h(`nm:line-clamp-1 nm:data-[placeholder]:text-select-placeholder-fg`,`nm:[&>[slot=description]]:hidden`,e)),...t}),q=({className:e,children:t,...n})=>(0,f.jsx)(u.Button,{className:(0,u.composeRenderProps)(e,e=>h(`nm:flex nm:h-10 nm:w-full nm:items-center nm:justify-between nm:rounded-md nm:border nm:border-select-trigger-border nm:bg-select-trigger-bg nm:text-select-trigger-fg nm:px-3 nm:py-2 nm:text-sm nm:ring-offset-background`,`nm:data-[disabled]:cursor-not-allowed nm:data-[disabled]:opacity-50`,`nm:data-[focus-visible]:outline-none nm:data-[focus-visible]:ring-2 nm:data-[focus-visible]:ring-select-trigger-ring nm:data-[focus-visible]:ring-offset-2`,`nm:focus-visible:outline-none`,e)),...n,children:(0,u.composeRenderProps)(t,e=>(0,f.jsxs)(f.Fragment,{children:[e,(0,f.jsx)(p.ChevronDown,{"aria-hidden":`true`,className:`nm:size-4 nm:opacity-50`})]}))}),J=({className:e,...t})=>(0,f.jsx)(M,{className:(0,u.composeRenderProps)(e,e=>h(`nm:w-[--trigger-width]`,e)),...t}),Y=({className:e,...t})=>(0,f.jsx)(u.ListBox,{className:(0,u.composeRenderProps)(e,e=>h(`nm:max-h-[inherit] nm:overflow-auto nm:p-1 nm:outline-none [clip-path:inset(0_0_0_0_round_calc(var(--radius)-2px))]`,e)),...t});function de({label:e,description:t,errorMessage:n,children:r,className:i,items:a,...o}){return(0,f.jsxs)(U,{className:(0,u.composeRenderProps)(i,e=>h(`nm:group nm:flex nm:flex-col nm:gap-2`,e)),...o,children:[(0,f.jsx)(y,{children:e}),(0,f.jsx)(q,{children:(0,f.jsx)(K,{})}),t&&(0,f.jsx)(u.Text,{className:`nm:text-sm nm:text-muted-foreground`,slot:`description`,children:t}),(0,f.jsx)(x,{children:n}),(0,f.jsx)(J,{children:(0,f.jsx)(Y,{items:a,children:r})})]})}var fe=u.Dialog,pe=(0,l.cva)([`nm:fixed nm:z-50 nm:gap-4 nm:bg-background nm:shadow-lg nm:transition nm:ease-in-out`,`data-[entering]:nm:duration-500 data-[entering]:nm:animate-in`,`data-[exiting]:nm:duration-300 data-[exiting]:nm:animate-out`],{variants:{side:{top:`nm:inset-x-0 nm:top-0 nm:border-b data-[entering]:nm:slide-in-from-top data-[exiting]:nm:slide-out-to-top`,bottom:`nm:inset-x-0 nm:bottom-0 nm:border-t data-[entering]:nm:slide-in-from-bottom data-[exiting]:nm:slide-out-to-bottom`,left:`nm:inset-y-0 nm:left-0 nm:h-full nm:w-3/4 nm:border-r data-[entering]:nm:slide-in-from-left data-[exiting]:nm:slide-out-to-left sm:nm:max-w-sm`,right:`nm:inset-y-0 nm:right-0 nm:h-full nm:w-3/4 nm:border-l data-[entering]:nm:slide-in-from-right data-[exiting]:nm:slide-out-to-right sm:nm:max-w-sm`}}}),me=u.DialogTrigger,he=({className:e,isDismissable:t=!0,...n})=>(0,f.jsx)(u.ModalOverlay,{isDismissable:t,className:(0,u.composeRenderProps)(e,e=>h(`nm:fixed nm:inset-0 nm:z-50 nm:bg-black/80`,`data-[exiting]:nm:duration-300 data-[exiting]:nm:animate-out data-[exiting]:nm:fade-out-0`,`data-[entering]:nm:animate-in data-[entering]:nm:fade-in-0`,e)),...n}),ge=({className:e,children:t,side:n,role:r,closeButton:i=!0,...a})=>(0,f.jsx)(u.Modal,{className:(0,u.composeRenderProps)(e,e=>h(n?pe({side:n,className:`nm:h-full nm:p-6`}):`nm:fixed nm:left-[50vw] nm:top-1/2 nm:z-50 nm:w-full nm:max-w-lg nm:-translate-x-1/2 nm:-translate-y-1/2 nm:border nm:bg-background nm:p-6 nm:shadow-lg nm:duration-200 data-[exiting]:nm:duration-300 data-[entering]:nm:animate-in data-[exiting]:nm:animate-out data-[entering]:nm:fade-in-0 data-[exiting]:nm:fade-out-0 data-[entering]:nm:zoom-in-95 data-[exiting]:nm:zoom-out-95 data-[entering]:nm:slide-in-from-left-1/2 data-[entering]:nm:slide-in-from-top-[48%] data-[exiting]:nm:slide-out-to-left-1/2 data-[exiting]:nm:slide-out-to-top-[48%] sm:nm:rounded-lg md:nm:w-full`,e)),...a,children:(0,f.jsx)(u.Dialog,{role:r,className:h(!n&&`nm:grid nm:h-full nm:gap-4`,`nm:h-full nm:outline-none`),children:(0,u.composeRenderProps)(t,(e,t)=>(0,f.jsxs)(f.Fragment,{children:[e,i&&(0,f.jsxs)(u.Button,{onPress:t.close,className:`nm:absolute nm:right-4 nm:top-4 nm:rounded-sm nm:opacity-70 nm:ring-offset-background nm:transition-opacity data-[disabled]:nm:pointer-events-none data-[entering]:nm:bg-accent data-[entering]:nm:text-muted-foreground data-[hovered]:nm:opacity-100 data-[focused]:nm:outline-none data-[focused]:nm:ring-2 data-[focused]:nm:ring-ring data-[focused]:nm:ring-offset-2`,children:[(0,f.jsx)(p.X,{className:`nm:size-4`}),(0,f.jsx)(`span`,{className:`nm:sr-only`,children:`Close`})]})]}))})}),_e=({className:e,...t})=>(0,f.jsx)(`div`,{className:h(`nm:flex nm:flex-col nm:space-y-1.5 nm:text-center sm:nm:text-left`,e),...t}),ve=({className:e,...t})=>(0,f.jsx)(`div`,{className:h(`nm:flex nm:flex-col-reverse sm:nm:flex-row sm:nm:justify-end sm:nm:space-x-2`,e),...t}),ye=({className:e,...t})=>(0,f.jsx)(u.Heading,{slot:`title`,className:h(`nm:text-lg nm:font-semibold nm:leading-none nm:tracking-tight`,e),...t}),be=({className:e,...t})=>(0,f.jsx)(`p`,{className:h(`nm:flex nm:flex-col nm:space-y-1.5 nm:text-center sm:nm:text-left`,e),...t}),X=u.MenuTrigger,xe=u.SubmenuTrigger,Se=u.MenuSection,Z=z;function Q({className:e,...t}){return(0,f.jsx)(J,{className:(0,u.composeRenderProps)(e,e=>h(`nm:w-auto`,e)),...t})}var $=({className:e,...t})=>(0,f.jsx)(u.Menu,{className:h(`nm:max-h-[inherit] nm:overflow-auto nm:rounded-md nm:p-1 nm:outline-0 [clip-path:inset(0_0_0_0_round_calc(var(--radius)-2px))]`,e),...t}),Ce=({children:e,className:t,...n})=>(0,f.jsx)(u.MenuItem,{textValue:n.textValue||(typeof e==`string`?e:void 0),className:(0,u.composeRenderProps)(t,e=>h(`nm:relative nm:flex nm:cursor-default nm:select-none nm:items-center nm:gap-2 nm:rounded-sm nm:px-2 nm:py-1.5 nm:text-sm nm:outline-none nm:transition-colors`,`data-[disabled]:nm:pointer-events-none data-[disabled]:nm:opacity-50`,`data-[focused]:nm:bg-accent data-[focused]:nm:text-accent-foreground `,`data-[selection-mode]:nm:pl-8`,e)),...n,children:(0,u.composeRenderProps)(e,(e,t)=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{className:`nm:absolute nm:left-2 nm:flex nm:size-4 nm:items-center nm:justify-center`,children:t.isSelected&&(0,f.jsxs)(f.Fragment,{children:[t.selectionMode==`single`&&(0,f.jsx)(p.Circle,{className:`nm:size-2 nm:fill-current`}),t.selectionMode==`multiple`&&(0,f.jsx)(p.Check,{className:`nm:size-4`})]})}),e,t.hasSubmenu&&(0,f.jsx)(p.ChevronRight,{className:`nm:ml-auto nm:size-4`})]}))}),we=({className:e,inset:t,separator:n=!0,...r})=>(0,f.jsx)(u.Header,{className:h(`nm:px-3 nm:py-1.5 nm:text-sm nm:font-semibold`,t&&`nm:pl-8`,n&&`nm:-mx-1 nm:mb-1 nm:border-b nm:border-b-border nm:pb-2.5`,e),...r}),Te=({className:e,...t})=>(0,f.jsx)(u.Separator,{className:h(`nm:-mx-1 nm:my-1 nm:h-px nm:bg-muted`,e),...t}),Ee=({className:e,...t})=>(0,f.jsx)(u.Keyboard,{className:h(`nm:ml-auto nm:text-xs nm:tracking-widest nm:opacity-60`,e),...t});function De({label:e,children:t,variant:n,size:r,...i}){return(0,f.jsxs)(X,{...i,children:[(0,f.jsx)(_,{variant:n,size:r,children:e}),(0,f.jsx)(Q,{className:`nm:min-w-[--trigger-width]`,children:(0,f.jsx)($,{...i,children:t})})]})}exports.Button=_,exports.Cell=L,exports.Checkbox=ie,exports.CheckboxGroup=N,exports.Column=P,exports.ComposedCheckboxGroup=ae,exports.ComposedSearchField=j,exports.ComposedSelect=de,exports.Dialog=fe,exports.DialogContent=ge,exports.DialogDescription=be,exports.DialogFooter=ve,exports.DialogHeader=_e,exports.DialogOverlay=he,exports.DialogTitle=ye,exports.DialogTrigger=me,exports.FieldError=x,exports.FieldGroup=C,exports.FormDescription=b,exports.Input=T,exports.Label=y,exports.ListBox=B,exports.ListBoxCollection=z,exports.ListBoxHeader=H,exports.ListBoxItem=V,exports.ListBoxSection=R,exports.Menu=$,exports.MenuCollection=Z,exports.MenuHeader=we,exports.MenuItem=Ce,exports.MenuKeyboard=Ee,exports.MenuPopover=Q,exports.MenuSection=Se,exports.MenuSeparator=Te,exports.MenuSubTrigger=xe,exports.MenuTrigger=X,exports.MenuWrapper=De,exports.Popover=M,exports.PopoverDialog=re,exports.PopoverTrigger=ne,exports.ResizableTableContainer=oe,exports.Row=I,exports.SearchField=D,exports.SearchFieldClear=A,exports.SearchFieldGroup=k,exports.SearchFieldInput=O,exports.Select=U,exports.SelectCollection=ue,exports.SelectHeader=G,exports.SelectItem=W,exports.SelectListBox=Y,exports.SelectPopover=J,exports.SelectSection=le,exports.SelectTrigger=q,exports.SelectValue=K,exports.Table=se,exports.TableBody=F,exports.TableHeader=ce,exports.TextArea=E,exports.TextField=w,exports.WrappedField=te,exports.fieldGroupVariants=S,exports.labelVariants=v;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/lib/utils.ts","../src/components/button/Button.tsx","../src/components/textfield/Field.tsx","../src/components/textfield/Textfield.tsx","../src/components/searchfield/Searchfield.tsx","../src/components/popover/Popover.tsx","../src/components/checkbox/Checkbox.tsx","../src/components/table/Table.tsx","../src/components/list-box/List-box.tsx","../src/components/select/Select.tsx","../src/components/dialog/Dialog.tsx","../src/components/menu/Menu.tsx"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\nconst customTwMerge = extendTailwindMerge({\n prefix: \"nm:\",\n});\n\nexport function cn(...inputs: ClassValue[]) {\n return customTwMerge(clsx(inputs));\n}\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n Button as AriaButton,\n composeRenderProps,\n type ButtonProps as AriaButtonProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n [\n // Base Styles\n \"nm:font-btn nm:text-btn nm:inline-flex nm:items-center nm:justify-center nm:whitespace-nowrap nm:ring-offset-background nm:transition-colors\",\n // Disabled State\n \"nm:data-disabled:pointer-events-none nm:data-disabled:bg-btn-bg-disabled nm:data-disabled:text-btn-fg-disabled\",\n // Focus Visible State\n \"nm:data-focus-visible:outline-none nm:data-focus-visible:ring-2 nm:data-focus-visible:ring-ring nm:data-focus-visible:ring-offset-2\",\n // Resets\n \"nm:focus-visible:outline-none\",\n // Cursor pointer\n \"nm:cursor-pointer\",\n ],\n {\n variants: {\n variant: {\n default:\n \"nm:bg-btn-primary-bg nm:text-btn-primary-fg nm:data-hovered:opacity-90\",\n destructive:\n \" nm:bg-btn-destructive-bg nm:text-btn-destructive-fg nm:border nm:border-btn-destructive-border nm:data-hovered:bg-btn-destructive-bg-hover nm:data-hovered:text-btn-destructive-fg-hover nm:data-hovered:opacity-btn-destructive-hover nm:data-pressed:scale-btn-destructive-active\",\n outline:\n \"nm:border nm:border-btn-outline-border nm:bg-btn-outline-bg nm:text-btn-outline-fg nm:data-hovered:bg-accent nm:data-hovered:text-accent-foreground\",\n secondary:\n \"nm:bg-btn-secondary-bg nm:text-btn-secondary-fg nm:data-hovered:bg-btn-secondary-bg-hover nm:data-hovered:text-btn-secondary-fg-hover\",\n ghost:\n \"nm:data-hovered:bg-accent nm:data-hovered:text-accent-foreground\",\n link: \"nm:text-primary nm:underline-offset-4 nm:data-hovered:underline\",\n },\n size: {\n default: \"nm:h-10 nm:px-4 nm:py-2 nm:rounded-md\",\n sm: \"nm:h-9 nm:rounded-btn-sm nm:px-btn-sm-x nm:py-btn-sm-y\",\n md: \"nm:h-10 nm:rounded-btn-md nm:px-btn-md-x nm:py-btn-md-y\",\n lg: \"nm:h-11 nm:px-8 nm:py-2 nm:rounded-lg\",\n icon: \"nm:h-10 nm:w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\ninterface ButtonProps\n extends AriaButtonProps,\n VariantProps<typeof buttonVariants> {}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, ...props }, ref) => {\n return (\n <AriaButton\n ref={ref}\n {...props}\n className={composeRenderProps(className, (className) =>\n cn(\n buttonVariants({\n variant,\n size,\n className,\n })\n )\n )}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\nexport type { ButtonProps };\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport {\n FieldError as AriaFieldError,\n FieldErrorProps as AriaFieldErrorProps,\n Group as AriaGroup,\n GroupProps as AriaGroupProps,\n Label as AriaLabel,\n LabelProps as AriaLabelProps,\n Text as AriaText,\n TextProps as AriaTextProps,\n composeRenderProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva([\n /* Typography - Using Design Tokens */\n \"nm:text-textfield-label nm:font-textfield-label nm:leading-textfield-label\",\n /* Colors */\n \"nm:text-textfield-label-fg\",\n /* Disabled */\n \"nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-70 nm:data-disabled:text-textfield-label-disabled-fg\",\n /* Invalid */\n \"group-nm:data-[invalid]:text-textfield-label-error-fg\",\n]);\n\nconst Label = ({ className, ...props }: AriaLabelProps) => (\n <AriaLabel className={cn(labelVariants(), className)} {...props} />\n);\n\nfunction FormDescription({ className, ...props }: AriaTextProps) {\n return (\n <AriaText\n className={cn(\n \"nm:text-textfield-helper nm:font-textfield-helper nm:leading-textfield-helper nm:text-textfield-helper-fg\",\n className\n )}\n {...props}\n slot=\"description\"\n />\n );\n}\n\nfunction FieldError({ className, ...props }: AriaFieldErrorProps) {\n return (\n <AriaFieldError\n className={cn(\n \"nm:text-textfield-helper nm:font-textfield-helper nm:leading-textfield-helper nm:text-textfield-helper-error-fg\",\n className\n )}\n {...props}\n />\n );\n}\n\nconst fieldGroupVariants = cva(\"\", {\n variants: {\n variant: {\n default: [\n /* Layout */\n \"nm:relative nm:flex nm:w-full nm:items-center nm:overflow-hidden\",\n /* Sizing - Using Design Tokens */\n \"nm:h-textfield-group-height nm:px-textfield-group-x\",\n /* Typography - Using Design Tokens */\n \"nm:text-textfield\",\n /* Border & Radius - Using Design Tokens */\n \"nm:rounded-textfield-group nm:border\",\n /* Colors - Base Styles */\n \"nm:border-textfield-border nm:bg-textfield-bg\",\n /* Effects */\n \"nm:ring-offset-background\",\n /* Focus Within */\n \"nm:data-focus-within:outline-none nm:data-focus-within:ring-2 nm:data-focus-within:ring-textfield-focus-ring nm:data-focus-within:ring-offset-2\",\n /* Disabled */\n \"nm:data-disabled:opacity-50 nm:data-disabled:bg-textfield-disabled-bg\",\n ],\n ghost: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\ninterface GroupProps\n extends AriaGroupProps,\n VariantProps<typeof fieldGroupVariants> {}\n\nfunction FieldGroup({ className, variant, ...props }: GroupProps) {\n return (\n <AriaGroup\n className={composeRenderProps(className, (className) =>\n cn(fieldGroupVariants({ variant }), className)\n )}\n {...props}\n />\n );\n}\n\nexport {\n Label,\n labelVariants,\n FieldGroup,\n fieldGroupVariants,\n FieldError,\n FormDescription,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport {\n Input as AriaInput,\n InputProps as AriaInputProps,\n TextArea as AriaTextArea,\n TextAreaProps as AriaTextAreaProps,\n TextField as AriaTextField,\n TextFieldProps as AriaTextFieldProps,\n ValidationResult as AriaValidationResult,\n composeRenderProps,\n Text,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { FieldError, Label } from \"./Field\";\n\nconst TextField = AriaTextField;\n\nexport interface InputProps extends AriaInputProps {\n className?: AriaInputProps[\"className\"];\n}\nconst Input = ({ className, ...props }: InputProps) => {\n return (\n <AriaInput\n className={composeRenderProps(className, (className) =>\n cn(\n /* Layout & Display */\n \"nm:flex nm:w-full\",\n /* Sizing */\n \"nm:h-11 nm:px-3 nm:py-3\",\n /* Typography */\n \"nm:text-base nm:font-normal nm:leading-normal\",\n /* Border & Radius */\n \"nm:rounded nm:border\",\n /* Colors - Base State */\n \"nm:border-neutral-300 nm:text-foreground nm:bg-white\",\n /* Effects */\n \"nm:ring-offset-background nm:transition-colors\",\n /* File Input Reset */\n \"nm:file:border-0 nm:file:bg-transparent nm:file:text-sm nm:file:font-medium\",\n /* Placeholder */\n \"nm:placeholder:opacity-100 nm:placeholder:text-muted-foreground\",\n /* Disabled State */\n \"nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-50 nm:data-disabled:bg-muted nm:data-disabled:text-muted-foreground nm:data-disabled:border-neutral-200\",\n /* Focused State */\n \"nm:data-focused:outline-none nm:data-focused:ring-2 nm:data-focused:ring-blue-500 nm:data-focused:ring-offset-2 nm:data-focused:bg-white nm:data-focused:text-foreground nm:data-focused:border-blue-500\",\n /* Resets */\n \"nm:focus-visible:outline-none\",\n className\n )\n )}\n {...props}\n />\n );\n};\n\nconst TextArea = ({ className, ...props }: AriaTextAreaProps) => {\n return (\n <AriaTextArea\n className={composeRenderProps(className, (className) =>\n cn(\n /* Layout & Display */\n \"nm:flex nm:w-full\",\n /* Sizing */\n \"nm:min-h-20 nm:px-3 nm:py-3\",\n /* Typography */\n \"nm:text-base nm:font-normal nm:leading-normal\",\n /* Border & Radius */\n \"nm:rounded nm:border\",\n /* Colors - Base State */\n \"nm:border-neutral-300 nm:text-foreground nm:bg-white\",\n /* Effects */\n \"nm:ring-offset-background nm:transition-colors\",\n /* Placeholder */\n \"nm:placeholder:opacity-100 nm:placeholder:text-muted-foreground\",\n /* Focused State */\n \"nm:data-focused:outline-none nm:data-focused:ring-2 nm:data-focused:ring-blue-500 nm:data-focused:ring-offset-2 nm:data-focused:bg-white nm:data-focused:text-foreground nm:data-focused:border-blue-500\",\n /* Disabled State */\n \"nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-50 nm:data-disabled:bg-muted nm:data-disabled:text-muted-foreground nm:data-disabled:border-neutral-200\",\n /* Resets */\n \"nm:focus-visible:outline-none\",\n className\n )\n )}\n {...props}\n />\n );\n};\n\ninterface WrappedFieldProps extends AriaTextFieldProps {\n label?: string;\n description?: string;\n errorMessage?: string | ((validation: AriaValidationResult) => string);\n textArea?: boolean;\n placeholder?: string;\n}\n\nfunction WrappedField({\n label,\n description,\n errorMessage,\n textArea,\n className,\n placeholder,\n ...props\n}: WrappedFieldProps) {\n return (\n <TextField\n className={composeRenderProps(className, (className) =>\n cn(\"nm:font-sans nm:group nm:flex nm:flex-col nm:gap-2\", className)\n )}\n {...props}\n >\n <Label>{label}</Label>\n {textArea ? (\n <TextArea placeholder={placeholder} />\n ) : (\n <Input placeholder={placeholder} />\n )}\n {description && (\n <Text\n className=\"nm:text-sm nm:font-normal nm:leading-normal nm:text-muted-foreground\"\n slot=\"description\"\n >\n {description}\n </Text>\n )}\n <FieldError>{errorMessage}</FieldError>\n </TextField>\n );\n}\n\nexport { Input, TextField, WrappedField, TextArea };\nexport type { WrappedFieldProps };\n","\"use client\";\n\nimport { SearchIcon, XIcon } from \"lucide-react\";\nimport {\n Button as AriaButton,\n ButtonProps as AriaButtonProps,\n Group as AriaGroup,\n GroupProps as AriaGroupProps,\n Input as AriaInput,\n InputProps as AriaInputProps,\n SearchField as AriaSearchField,\n SearchFieldProps as AriaSearchFieldProps,\n ValidationResult as AriaValidationResult,\n composeRenderProps,\n Text,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { FieldError, FieldGroup, Label } from \"../textfield/Field\";\n\nfunction SearchField({ className, ...props }: AriaSearchFieldProps) {\n return (\n <AriaSearchField\n className={composeRenderProps(className, (className) =>\n cn(\"group\", className)\n )}\n {...props}\n />\n );\n}\n\nfunction SearchFieldInput({ className, ...props }: AriaInputProps) {\n return (\n <AriaInput\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:min-w-0 nm:flex-1 nm:bg-searchfield-bg nm:text-searchfield-fg nm:px-2 nm:py-1.5 nm:outline nm:outline-0 nm:placeholder:text-searchfield-placeholder nm:[&::-webkit-search-cancel-button]:hidden\",\n className\n )\n )}\n {...props}\n />\n );\n}\n\nfunction SearchFieldGroup({ className, ...props }: AriaGroupProps) {\n return (\n <AriaGroup\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:flex nm:h-10 nm:w-full nm:items-center nm:overflow-hidden nm:rounded-md nm:border nm:border-searchfield-border nm:bg-searchfield-bg nm:text-searchfield-fg nm:px-3 nm:py-2 nm:text-sm nm:ring-offset-background\",\n /* Focus Within */\n \"nm:data-[focus-within]:outline-none nm:data-[focus-within]:ring-2 nm:data-[focus-within]:ring-searchfield-ring nm:data-[focus-within]:ring-offset-2\",\n /* Disabled */\n \"nm:data-[disabled]:opacity-50\",\n className\n )\n )}\n {...props}\n />\n );\n}\n\nfunction SearchFieldClear({ className, ...props }: AriaButtonProps) {\n return (\n <AriaButton\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:mr-1 nm:rounded-sm nm:opacity-70 nm:ring-offset-background nm:transition-opacity\",\n /* Hover */\n \"nm:data-[hovered]:opacity-100\",\n /* Disabled */\n \"nm:data-[disabled]:pointer-events-none\",\n /* Empty */\n \"group-nm:data-[empty]:invisible\",\n className\n )\n )}\n {...props}\n />\n );\n}\n\ninterface ComposedSearchFieldProps extends AriaSearchFieldProps {\n label?: string;\n description?: string;\n errorMessage?: string | ((validation: AriaValidationResult) => string);\n}\n\nfunction ComposedSearchField({\n label,\n description,\n className,\n errorMessage,\n ...props\n}: ComposedSearchFieldProps) {\n return (\n <SearchField\n className={composeRenderProps(className, (className) =>\n cn(\"group nm:flex nm:flex-col nm:gap-2\", className)\n )}\n {...props}\n >\n <Label>{label}</Label>\n <FieldGroup>\n <SearchIcon\n aria-hidden\n className=\"nm:size-4 nm:text-searchfield-icon-fg\"\n />\n <SearchFieldInput placeholder=\"Search...\" />\n <SearchFieldClear>\n <XIcon aria-hidden className=\"nm:size-4\" />\n </SearchFieldClear>\n </FieldGroup>\n {description && (\n <Text\n className=\"nm:text-sm nm:text-muted-foreground\"\n slot=\"description\"\n >\n {description}\n </Text>\n )}\n <FieldError>{errorMessage}</FieldError>\n </SearchField>\n );\n}\n\nexport {\n SearchField,\n SearchFieldGroup,\n SearchFieldInput,\n SearchFieldClear,\n ComposedSearchField,\n};\nexport type { ComposedSearchFieldProps };\n","import * as React from \"react\";\nimport {\n Dialog as AriaDialog,\n DialogProps as AriaDialogProps,\n DialogTrigger as AriaDialogTrigger,\n Popover as AriaPopover,\n PopoverProps as AriaPopoverProps,\n composeRenderProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst PopoverTrigger = AriaDialogTrigger;\n\nconst Popover = ({ className, offset = 4, ...props }: AriaPopoverProps) => (\n <AriaPopover\n offset={offset}\n className={composeRenderProps(className, (className) =>\n cn(\n /* Layout & Display */\n \"nm:outline-none\",\n /* Z-Index - Using Design Token */\n \"nm:z-popover\",\n /* Border & Radius - Using Design Tokens */\n \"nm:rounded-popover nm:border nm:border-popover-border\",\n /* Colors - Using Design Tokens */\n \"nm:bg-popover-bg nm:text-popover-fg\",\n /* Shadow - Using Design Token */\n \"nm:shadow-popover\",\n /* Entering */\n \"nm:data-entering:animate-in nm:data-entering:fade-in-0 nm:data-entering:zoom-in-95\",\n /* Exiting */\n \"nm:data-exiting:animate-out nm:data-exiting:fade-out-0 nm:data-exiting:zoom-out-95\",\n /* Placement */\n \"nm:data-[placement=bottom]:slide-in-from-top-2 nm:data-[placement=left]:slide-in-from-right-2 nm:data-[placement=right]:slide-in-from-left-2 nm:data-[placement=top]:slide-in-from-bottom-2\",\n className\n )\n )}\n {...props}\n />\n);\n\nfunction PopoverDialog({ className, ...props }: AriaDialogProps) {\n return (\n <AriaDialog\n className={cn(\n /* Layout & Display */\n \"nm:outline-0\",\n /* Spacing - Using Design Tokens */\n \"nm:p-popover-dialog nm:gap-popover-dialog-gap\",\n /* Sizing - Using Design Tokens */\n \"nm:min-w-popover-dialog-min-width nm:max-w-popover-dialog-max-width nm:min-h-popover-dialog-min-height nm:max-h-popover-dialog-max-height\",\n /* Colors - Using Design Tokens */\n \"nm:bg-popover-dialog-bg nm:text-popover-dialog-fg\",\n /* Border - Using Design Tokens */\n \"nm:rounded-popover-dialog nm:border-popover-dialog-border\",\n /* Shadow - Using Design Token */\n \"nm:shadow-popover-dialog\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Popover, PopoverTrigger, PopoverDialog };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Check, Minus } from \"lucide-react\";\nimport {\n CheckboxButton as AriaCheckboxButton,\n CheckboxField as AriaCheckboxField,\n CheckboxGroup as AriaCheckboxGroup,\n CheckboxGroupProps as AriaCheckboxGroupProps,\n ValidationResult as AriaValidationResult,\n composeRenderProps,\n Text,\n type CheckboxFieldProps as AriaCheckboxFieldProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { FieldError, Label } from \"../textfield/Field\";\n\nconst CheckboxGroup = AriaCheckboxGroup;\n\ninterface CheckboxProps extends AriaCheckboxFieldProps {\n description?: string;\n errorMessage?: string | ((validation: AriaValidationResult) => string);\n}\n\nconst Checkbox = ({\n className,\n children,\n description,\n errorMessage,\n ...props\n}: CheckboxProps) => (\n <AriaCheckboxField\n className={composeRenderProps(className, (className) =>\n cn(\n /* Layout — stacks the control above optional description/error */\n \"nm:flex nm:flex-col nm:gap-1\",\n /* Disabled */\n \"nm:data-disabled:cursor-not-allowed nm:data-disabled:opacity-70\",\n className\n )\n )}\n {...props}\n >\n <AriaCheckboxButton className=\"group/checkbox nm:flex nm:items-center nm:gap-x-2\">\n {composeRenderProps(children, (children, renderProps) => (\n <>\n <div\n className={cn(\n \"nm:flex nm:size-4 nm:shrink-0 nm:items-center nm:justify-center nm:rounded-sm nm:border nm:border-primary nm:text-current nm:ring-offset-background\",\n /* Focus Visible */\n \"nm:group-data-focus-visible/checkbox:outline-none nm:group-data-focus-visible/checkbox:ring-2 nm:group-data-focus-visible/checkbox:ring-ring nm:group-data-focus-visible/checkbox:ring-offset-2\",\n /* Selected */\n \"nm:group-data-indeterminate/checkbox:bg-primary nm:group-data-selected/checkbox:bg-primary nm:group-data-indeterminate/checkbox:text-primary-foreground nm:group-data-selected/checkbox:text-primary-foreground\",\n /* Disabled */\n \"nm:group-data-disabled/checkbox:cursor-not-allowed nm:group-data-disabled/checkbox:opacity-50\",\n /* Invalid */\n \"nm:group-data-invalid/checkbox:border-destructive nm:group-data-invalid/checkbox:group-data-selected/checkbox:bg-destructive nm:group-data-invalid/checkbox:group-data-selected/checkbox:text-destructive-foreground\",\n /* Resets */\n \"nm:focus:outline-none nm:focus-visible:outline-none\"\n )}\n >\n {renderProps.isIndeterminate ? (\n <Minus className=\"nm:size-4\" />\n ) : renderProps.isSelected ? (\n <Check className=\"nm:size-4\" />\n ) : null}\n </div>\n {children}\n </>\n ))}\n </AriaCheckboxButton>\n {description && (\n <Text className=\"nm:text-sm nm:text-muted-foreground\" slot=\"description\">\n {description}\n </Text>\n )}\n <FieldError>{errorMessage}</FieldError>\n </AriaCheckboxField>\n);\n\ninterface ComposedCheckboxGroupProps extends AriaCheckboxGroupProps {\n label?: string;\n description?: string;\n errorMessage?: string | ((validation: AriaValidationResult) => string);\n}\n\nfunction ComposedCheckboxGroup({\n label,\n description,\n errorMessage,\n className,\n children,\n ...props\n}: ComposedCheckboxGroupProps) {\n return (\n <CheckboxGroup\n className={composeRenderProps(className, (className) =>\n cn(\"group nm:flex nm:flex-col nm:gap-2\", className)\n )}\n {...props}\n >\n {composeRenderProps(children, (children) => (\n <>\n <Label>{label}</Label>\n {children}\n {description && (\n <Text\n className=\"nm:text-sm nm:text-muted-foreground\"\n slot=\"description\"\n >\n {description}\n </Text>\n )}\n <FieldError>{errorMessage}</FieldError>\n </>\n ))}\n </CheckboxGroup>\n );\n}\n\nexport { Checkbox, CheckboxGroup, ComposedCheckboxGroup };\nexport type { CheckboxProps, ComposedCheckboxGroupProps };\n","import { ArrowUpDown } from \"lucide-react\";\nimport {\n Cell as AriaCell,\n Column as AriaColumn,\n ColumnProps as AriaColumnProps,\n ResizableTableContainer as AriaResizableTableContainer,\n Row as AriaRow,\n Table as AriaTable,\n TableBody as AriaTableBody,\n TableHeader as AriaTableHeader,\n CellProps,\n ColumnResizer,\n composeRenderProps,\n Group,\n RowProps,\n TableBodyProps,\n TableHeaderProps,\n TableProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ResizableTableContainer = AriaResizableTableContainer;\n\nconst Table = ({ className, ...props }: TableProps) => (\n <AriaTable\n className={composeRenderProps(className, (className) =>\n cn(\n /* Layout */\n \"nm:w-full nm:caption-bottom\",\n /* Typography */\n \"nm:text-sm nm:leading-5\",\n /* Focus Ring */\n \"nm:-outline-offset-2 nm:data-focus-visible:outline-ring\",\n className\n )\n )}\n {...props}\n />\n);\n\nconst TableHeader = <T extends object>({\n className,\n ...props\n}: TableHeaderProps<T>) => (\n <AriaTableHeader\n className={composeRenderProps(className, (className) =>\n cn(\n /* Border */\n \"nm:[&_tr]:border-b nm:[&_tr]:border-neutral-200\",\n className\n )\n )}\n {...props}\n />\n);\n\nexport interface ColumnProps extends AriaColumnProps {\n isResizable?: boolean;\n}\n\nconst Column = ({ className, children, ...props }: ColumnProps) => (\n <AriaColumn\n className={composeRenderProps(className, (className) =>\n cn(\n /* Sizing */\n \"nm:h-12\",\n /* Spacing - Using Design Tokens */\n \"nm:px-table-column-x nm:py-table-column-y\",\n /* Typography */\n \"nm:text-left nm:align-middle nm:font-medium nm:text-muted-foreground\",\n /* Focus Ring */\n \"nm:-outline-offset-2 nm:data-focus-visible:outline-ring\",\n className\n )\n )}\n {...props}\n >\n {composeRenderProps(children, (children, { allowsSorting }) => (\n <div className=\"nm:flex nm:items-center\">\n <Group\n role=\"presentation\"\n tabIndex={-1}\n className={cn(\n /* Layout */\n \"nm:flex nm:flex-1 nm:items-center nm:overflow-hidden\",\n /* Sizing & Spacing */\n \"nm:h-10 nm:gap-1 nm:rounded-md nm:px-4\",\n /* Sortable Hover State */\n allowsSorting &&\n \"nm:p-2 nm:data-hovered:bg-accent nm:data-hovered:text-accent-foreground\",\n /* Focus Ring */\n \"nm:focus-visible:outline-none nm:data-focus-visible:-outline-offset-2 nm:data-focus-visible:outline-ring nm:[&:has([slot=selection])]:pr-0\"\n )}\n >\n <span className=\"nm:truncate\">{children}</span>\n {allowsSorting && <ArrowUpDown className=\"nm:ml-2 nm:size-4\" />}\n </Group>\n {props.isResizable && (\n <ColumnResizer className=\"nm:box-content nm:h-5 nm:w-px nm:translate-x-2 nm:cursor-col-resize nm:rounded-sm nm:bg-muted-foreground nm:bg-clip-content nm:px-2 nm:py-0 nm:focus-visible:outline-none nm:data-resizing:w-0.5 nm:data-resizing:bg-primary nm:data-resizing:pl-1.5 nm:data-focus-visible:ring-1 nm:data-focus-visible:ring-ring\" />\n )}\n </div>\n ))}\n </AriaColumn>\n);\n\nconst TableBody = <T extends object>({\n className,\n ...props\n}: TableBodyProps<T>) => (\n <AriaTableBody\n className={composeRenderProps(className, (className) =>\n cn(\n /* Focus Ring */\n \"nm:-outline-offset-2 nm:data-focus-visible:outline-ring\",\n /* Empty State */\n \"nm:data-empty:h-24 nm:data-empty:text-center\",\n /* Last Row Border */\n \"nm:[&_tr:last-child]:border-0\",\n className\n )\n )}\n {...props}\n />\n);\n\nconst Row = <T extends object>({ className, ...props }: RowProps<T>) => (\n <AriaRow\n className={composeRenderProps(className, (className) =>\n cn(\n /* Border - Using Design Token */\n \"nm:border-b nm:border-b-table-row-border-color\",\n /* Transition */\n \"nm:transition-colors\",\n /* States */\n \"nm:data-hovered:bg-muted/50 nm:data-selected:bg-muted\",\n /* Focus Ring */\n \"nm:-outline-offset-2 nm:data-focus-visible:outline-ring\",\n className\n )\n )}\n {...props}\n />\n);\n\nconst Cell = ({ className, ...props }: CellProps) => (\n <AriaCell\n className={composeRenderProps(className, (className) =>\n cn(\n /* Spacing - Using Design Token */\n \"nm:px-table-cell-x nm:py-table-cell-y\",\n /* Alignment */\n \"nm:align-middle\",\n /* Focus Ring */\n \"nm:-outline-offset-2 nm:data-focus-visible:outline-ring\",\n /* Checkbox Cell */\n \"nm:[&:has([role=checkbox])]:pr-0\",\n className\n )\n )}\n {...props}\n />\n);\n\nexport {\n Table,\n TableHeader,\n Column,\n TableBody,\n Row,\n Cell,\n ResizableTableContainer,\n};\n","import { Check } from \"lucide-react\";\nimport {\n Collection as AriaCollection,\n Header as AriaHeader,\n ListBox as AriaListBox,\n ListBoxItem as AriaListBoxItem,\n ListBoxItemProps as AriaListBoxItemProps,\n ListBoxProps as AriaListBoxProps,\n ListBoxSection as AriaListBoxSection,\n composeRenderProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ListBoxSection = AriaListBoxSection;\n\nconst ListBoxCollection = AriaCollection;\n\nfunction ListBox<T extends object>({\n className,\n ...props\n}: AriaListBoxProps<T>) {\n return (\n <AriaListBox\n className={composeRenderProps(className, (className) =>\n cn(\n className,\n \"nm:group nm:overflow-auto nm:rounded-md nm:border nm:border-listbox-border nm:bg-listbox-bg nm:p-1 nm:text-listbox-fg nm:shadow-md nm:outline-none\",\n /* Empty */\n \"nm:data-empty:p-6 nm:data-empty:text-center nm:data-empty:text-sm\"\n )\n )}\n {...props}\n />\n );\n}\n\nconst ListBoxItem = <T extends object>({\n className,\n children,\n ...props\n}: AriaListBoxItemProps<T>) => {\n return (\n <AriaListBoxItem\n textValue={\n props.textValue || (typeof children === \"string\" ? children : undefined)\n }\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:relative nm:flex nm:w-full nm:cursor-default nm:select-none nm:items-center nm:rounded-sm nm:px-2 nm:py-1.5 nm:text-sm nm:text-listbox-item-fg nm:outline-none\",\n /* Disabled */\n \"nm:data-disabled:pointer-events-none nm:data-disabled:opacity-50\",\n /* Focus */\n \"nm:data-focused:bg-listbox-item-focused-bg nm:data-focused:text-listbox-item-focused-fg\",\n /* Hover */\n \"nm:data-hovered:bg-listbox-item-hovered-bg nm:data-hovered:text-listbox-item-hovered-fg\",\n /* Selection Mode */\n \"nm:data-selection-mode:pl-8\",\n className\n )\n )}\n {...props}\n >\n {composeRenderProps(children, (children, renderProps) => (\n <>\n {renderProps.isSelected && (\n <span className=\"nm:absolute nm:left-2 nm:flex nm:size-4 nm:items-center nm:justify-center\">\n <Check className=\"nm:size-4\" />\n </span>\n )}\n {children}\n </>\n ))}\n </AriaListBoxItem>\n );\n};\n\nfunction ListBoxHeader({\n className,\n ...props\n}: React.ComponentProps<typeof AriaHeader>) {\n return (\n <AriaHeader\n className={cn(\n \"nm:py-1.5 nm:pl-8 nm:pr-2 nm:text-sm nm:font-semibold\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n ListBox,\n ListBoxItem,\n ListBoxHeader,\n ListBoxSection,\n ListBoxCollection,\n};\n","import { ChevronDown } from \"lucide-react\";\nimport {\n Button as AriaButton,\n ButtonProps as AriaButtonProps,\n ListBox as AriaListBox,\n ListBoxProps as AriaListBoxProps,\n PopoverProps as AriaPopoverProps,\n Select as AriaSelect,\n SelectProps as AriaSelectProps,\n SelectValue as AriaSelectValue,\n SelectValueProps as AriaSelectValueProps,\n ValidationResult as AriaValidationResult,\n composeRenderProps,\n Text,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { FieldError, Label } from \"@/components/textfield/Field\";\nimport {\n ListBoxCollection,\n ListBoxHeader,\n ListBoxItem,\n ListBoxSection,\n} from \"@/components/list-box/List-box\";\nimport { Popover } from \"@/components/popover/Popover\";\n\nconst Select = AriaSelect;\n\nconst SelectItem = ListBoxItem;\n\nconst SelectHeader = ListBoxHeader;\n\nconst SelectSection = ListBoxSection;\n\nconst SelectCollection = ListBoxCollection;\n\nconst SelectValue = <T extends object>({\n className,\n ...props\n}: AriaSelectValueProps<T>) => (\n <AriaSelectValue\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:line-clamp-1 nm:data-[placeholder]:text-select-placeholder-fg\",\n /* Description */\n \"nm:[&>[slot=description]]:hidden\",\n className\n )\n )}\n {...props}\n />\n);\n\nconst SelectTrigger = ({ className, children, ...props }: AriaButtonProps) => (\n <AriaButton\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:flex nm:h-10 nm:w-full nm:items-center nm:justify-between nm:rounded-md nm:border nm:border-select-trigger-border nm:bg-select-trigger-bg nm:text-select-trigger-fg nm:px-3 nm:py-2 nm:text-sm nm:ring-offset-background\",\n /* Disabled */\n \"nm:data-[disabled]:cursor-not-allowed nm:data-[disabled]:opacity-50\",\n /* Focused */\n \"nm:data-[focus-visible]:outline-none nm:data-[focus-visible]:ring-2 nm:data-[focus-visible]:ring-select-trigger-ring nm:data-[focus-visible]:ring-offset-2\",\n /* Resets */\n \"nm:focus-visible:outline-none\",\n className\n )\n )}\n {...props}\n >\n {composeRenderProps(children, (children) => (\n <>\n {children}\n <ChevronDown aria-hidden=\"true\" className=\"nm:size-4 nm:opacity-50\" />\n </>\n ))}\n </AriaButton>\n);\n\nconst SelectPopover = ({ className, ...props }: AriaPopoverProps) => (\n <Popover\n className={composeRenderProps(className, (className) =>\n cn(\"nm:w-[--trigger-width]\", className)\n )}\n {...props}\n />\n);\n\nconst SelectListBox = <T extends object>({\n className,\n ...props\n}: AriaListBoxProps<T>) => (\n <AriaListBox\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:max-h-[inherit] nm:overflow-auto nm:p-1 nm:outline-none [clip-path:inset(0_0_0_0_round_calc(var(--radius)-2px))]\",\n className\n )\n )}\n {...props}\n />\n);\n\ninterface ComposedSelectProps<T extends object>\n extends Omit<AriaSelectProps<T>, \"children\"> {\n label?: string;\n description?: string;\n errorMessage?: string | ((validation: AriaValidationResult) => string);\n items?: Iterable<T>;\n children: React.ReactNode | ((item: T) => React.ReactNode);\n}\n\nfunction ComposedSelect<T extends object>({\n label,\n description,\n errorMessage,\n children,\n className,\n items,\n ...props\n}: ComposedSelectProps<T>) {\n return (\n <Select\n className={composeRenderProps(className, (className) =>\n cn(\"nm:group nm:flex nm:flex-col nm:gap-2\", className)\n )}\n {...props}\n >\n <Label>{label}</Label>\n <SelectTrigger>\n <SelectValue />\n </SelectTrigger>\n {description && (\n <Text\n className=\"nm:text-sm nm:text-muted-foreground\"\n slot=\"description\"\n >\n {description}\n </Text>\n )}\n <FieldError>{errorMessage}</FieldError>\n <SelectPopover>\n <SelectListBox items={items}>{children}</SelectListBox>\n </SelectPopover>\n </Select>\n );\n}\n\nexport {\n Select,\n SelectValue,\n SelectTrigger,\n SelectItem,\n SelectPopover,\n SelectHeader,\n SelectListBox,\n SelectSection,\n SelectCollection,\n ComposedSelect,\n};\nexport type { ComposedSelectProps };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport {\n Button as AriaButton,\n Dialog as AriaDialog,\n DialogProps as AriaDialogProps,\n DialogTrigger as AriaDialogTrigger,\n Heading as AriaHeading,\n HeadingProps as AriaHeadingProps,\n Modal as AriaModal,\n ModalOverlay as AriaModalOverlay,\n ModalOverlayProps as AriaModalOverlayProps,\n composeRenderProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Dialog = AriaDialog;\n\nconst sheetVariants = cva(\n [\n \"nm:fixed nm:z-50 nm:gap-4 nm:bg-background nm:shadow-lg nm:transition nm:ease-in-out\",\n /* Entering */\n \"data-[entering]:nm:duration-500 data-[entering]:nm:animate-in\",\n /* Exiting */\n \"data-[exiting]:nm:duration-300 data-[exiting]:nm:animate-out\",\n ],\n {\n variants: {\n side: {\n top: \"nm:inset-x-0 nm:top-0 nm:border-b data-[entering]:nm:slide-in-from-top data-[exiting]:nm:slide-out-to-top\",\n bottom:\n \"nm:inset-x-0 nm:bottom-0 nm:border-t data-[entering]:nm:slide-in-from-bottom data-[exiting]:nm:slide-out-to-bottom\",\n left: \"nm:inset-y-0 nm:left-0 nm:h-full nm:w-3/4 nm:border-r data-[entering]:nm:slide-in-from-left data-[exiting]:nm:slide-out-to-left sm:nm:max-w-sm\",\n right:\n \"nm:inset-y-0 nm:right-0 nm:h-full nm:w-3/4 nm:border-l data-[entering]:nm:slide-in-from-right data-[exiting]:nm:slide-out-to-right sm:nm:max-w-sm\",\n },\n },\n }\n);\n\nconst DialogTrigger = AriaDialogTrigger;\n\nconst DialogOverlay = ({\n className,\n isDismissable = true,\n ...props\n}: AriaModalOverlayProps) => (\n <AriaModalOverlay\n isDismissable={isDismissable}\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:fixed nm:inset-0 nm:z-50 nm:bg-black/80\",\n /* Exiting */\n \"data-[exiting]:nm:duration-300 data-[exiting]:nm:animate-out data-[exiting]:nm:fade-out-0\",\n /* Entering */\n \"data-[entering]:nm:animate-in data-[entering]:nm:fade-in-0\",\n className\n )\n )}\n {...props}\n />\n);\n\ninterface DialogContentProps\n extends Omit<React.ComponentProps<typeof AriaModal>, \"children\">,\n VariantProps<typeof sheetVariants> {\n children?: AriaDialogProps[\"children\"];\n role?: AriaDialogProps[\"role\"];\n closeButton?: boolean;\n}\n\nconst DialogContent = ({\n className,\n children,\n side,\n role,\n closeButton = true,\n ...props\n}: DialogContentProps) => (\n <AriaModal\n className={composeRenderProps(className, (className) =>\n cn(\n side\n ? sheetVariants({ side, className: \"nm:h-full nm:p-6\" })\n : \"nm:fixed nm:left-[50vw] nm:top-1/2 nm:z-50 nm:w-full nm:max-w-lg nm:-translate-x-1/2 nm:-translate-y-1/2 nm:border nm:bg-background nm:p-6 nm:shadow-lg nm:duration-200 data-[exiting]:nm:duration-300 data-[entering]:nm:animate-in data-[exiting]:nm:animate-out data-[entering]:nm:fade-in-0 data-[exiting]:nm:fade-out-0 data-[entering]:nm:zoom-in-95 data-[exiting]:nm:zoom-out-95 data-[entering]:nm:slide-in-from-left-1/2 data-[entering]:nm:slide-in-from-top-[48%] data-[exiting]:nm:slide-out-to-left-1/2 data-[exiting]:nm:slide-out-to-top-[48%] sm:nm:rounded-lg md:nm:w-full\",\n className\n )\n )}\n {...props}\n >\n <AriaDialog\n role={role}\n className={cn(\n !side && \"nm:grid nm:h-full nm:gap-4\",\n \"nm:h-full nm:outline-none\"\n )}\n >\n {composeRenderProps(children, (children, renderProps) => (\n <>\n {children}\n {closeButton && (\n <AriaButton\n onPress={renderProps.close}\n className=\"nm:absolute nm:right-4 nm:top-4 nm:rounded-sm nm:opacity-70 nm:ring-offset-background nm:transition-opacity data-[disabled]:nm:pointer-events-none data-[entering]:nm:bg-accent data-[entering]:nm:text-muted-foreground data-[hovered]:nm:opacity-100 data-[focused]:nm:outline-none data-[focused]:nm:ring-2 data-[focused]:nm:ring-ring data-[focused]:nm:ring-offset-2\"\n >\n <X className=\"nm:size-4\" />\n <span className=\"nm:sr-only\">Close</span>\n </AriaButton>\n )}\n </>\n ))}\n </AriaDialog>\n </AriaModal>\n);\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"nm:flex nm:flex-col nm:space-y-1.5 nm:text-center sm:nm:text-left\",\n className\n )}\n {...props}\n />\n);\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"nm:flex nm:flex-col-reverse sm:nm:flex-row sm:nm:justify-end sm:nm:space-x-2\",\n className\n )}\n {...props}\n />\n);\n\nconst DialogTitle = ({ className, ...props }: AriaHeadingProps) => (\n <AriaHeading\n slot=\"title\"\n className={cn(\n \"nm:text-lg nm:font-semibold nm:leading-none nm:tracking-tight\",\n className\n )}\n {...props}\n />\n);\n\nconst DialogDescription = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) => (\n <p\n className={cn(\n \"nm:flex nm:flex-col nm:space-y-1.5 nm:text-center sm:nm:text-left\",\n className\n )}\n {...props}\n />\n);\n\nexport {\n Dialog,\n DialogOverlay,\n DialogTrigger,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n};\nexport type { DialogContentProps };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { VariantProps } from \"class-variance-authority\";\nimport { Check, ChevronRight, Circle } from \"lucide-react\";\nimport {\n Header as AriaHeader,\n Keyboard as AriaKeyboard,\n Menu as AriaMenu,\n MenuItem as AriaMenuItem,\n MenuItemProps as AriaMenuItemProps,\n MenuProps as AriaMenuProps,\n MenuSection as AriaMenuSection,\n MenuTrigger as AriaMenuTrigger,\n MenuTriggerProps as AriaMenuTriggerProps,\n Separator as AriaSeparator,\n SeparatorProps as AriaSeparatorProps,\n SubmenuTrigger as AriaSubmenuTrigger,\n composeRenderProps,\n PopoverProps,\n} from \"react-aria-components\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport { Button, buttonVariants } from \"../button/Button\";\nimport { ListBoxCollection } from \"../list-box/List-box\";\nimport { SelectPopover } from \"../select/Select\";\n\nconst MenuTrigger = AriaMenuTrigger;\n\nconst MenuSubTrigger = AriaSubmenuTrigger;\n\nconst MenuSection = AriaMenuSection;\n\nconst MenuCollection = ListBoxCollection;\n\nfunction MenuPopover({ className, ...props }: PopoverProps) {\n return (\n <SelectPopover\n className={composeRenderProps(className, (className) =>\n cn(\"nm:w-auto\", className)\n )}\n {...props}\n />\n );\n}\n\nconst Menu = <T extends object>({ className, ...props }: AriaMenuProps<T>) => (\n <AriaMenu\n className={cn(\n \"nm:max-h-[inherit] nm:overflow-auto nm:rounded-md nm:p-1 nm:outline-0 [clip-path:inset(0_0_0_0_round_calc(var(--radius)-2px))]\",\n className\n )}\n {...props}\n />\n);\n\nconst MenuItem = ({ children, className, ...props }: AriaMenuItemProps) => (\n <AriaMenuItem\n textValue={\n props.textValue || (typeof children === \"string\" ? children : undefined)\n }\n className={composeRenderProps(className, (className) =>\n cn(\n \"nm:relative nm:flex nm:cursor-default nm:select-none nm:items-center nm:gap-2 nm:rounded-sm nm:px-2 nm:py-1.5 nm:text-sm nm:outline-none nm:transition-colors\",\n /* Disabled */\n \"data-[disabled]:nm:pointer-events-none data-[disabled]:nm:opacity-50\",\n /* Focused */\n \"data-[focused]:nm:bg-accent data-[focused]:nm:text-accent-foreground \",\n /* Selection Mode */\n \"data-[selection-mode]:nm:pl-8\",\n className\n )\n )}\n {...props}\n >\n {composeRenderProps(children, (children, renderProps) => (\n <>\n <span className=\"nm:absolute nm:left-2 nm:flex nm:size-4 nm:items-center nm:justify-center\">\n {renderProps.isSelected && (\n <>\n {renderProps.selectionMode == \"single\" && (\n <Circle className=\"nm:size-2 nm:fill-current\" />\n )}\n {renderProps.selectionMode == \"multiple\" && (\n <Check className=\"nm:size-4\" />\n )}\n </>\n )}\n </span>\n\n {children}\n\n {renderProps.hasSubmenu && (\n <ChevronRight className=\"nm:ml-auto nm:size-4\" />\n )}\n </>\n ))}\n </AriaMenuItem>\n);\n\ninterface MenuHeaderProps extends React.ComponentProps<typeof AriaHeader> {\n inset?: boolean;\n separator?: boolean;\n}\n\nconst MenuHeader = ({\n className,\n inset,\n separator = true,\n ...props\n}: MenuHeaderProps) => (\n <AriaHeader\n className={cn(\n \"nm:px-3 nm:py-1.5 nm:text-sm nm:font-semibold\",\n inset && \"nm:pl-8\",\n separator && \"nm:-mx-1 nm:mb-1 nm:border-b nm:border-b-border nm:pb-2.5\",\n className\n )}\n {...props}\n />\n);\n\nconst MenuSeparator = ({ className, ...props }: AriaSeparatorProps) => (\n <AriaSeparator\n className={cn(\"nm:-mx-1 nm:my-1 nm:h-px nm:bg-muted\", className)}\n {...props}\n />\n);\n\nconst MenuKeyboard = ({\n className,\n ...props\n}: React.ComponentProps<typeof AriaKeyboard>) => {\n return (\n <AriaKeyboard\n className={cn(\n \"nm:ml-auto nm:text-xs nm:tracking-widest nm:opacity-60\",\n className\n )}\n {...props}\n />\n );\n};\ninterface MenuWrapperProps<T>\n extends AriaMenuProps<T>,\n VariantProps<typeof buttonVariants>,\n Omit<AriaMenuTriggerProps, \"children\"> {\n label?: string;\n}\nfunction MenuWrapper<T extends object>({\n label,\n children,\n variant,\n size,\n ...props\n}: MenuWrapperProps<T>) {\n return (\n <MenuTrigger {...props}>\n <Button variant={variant} size={size}>\n {label}\n </Button>\n <MenuPopover className=\"nm:min-w-[--trigger-width]\">\n <Menu {...props}>{children}</Menu>\n </MenuPopover>\n </MenuTrigger>\n );\n}\n\nexport {\n MenuTrigger,\n Menu,\n MenuPopover,\n MenuItem,\n MenuHeader,\n MenuSeparator,\n MenuKeyboard,\n MenuSection,\n MenuSubTrigger,\n MenuCollection,\n MenuWrapper,\n};\nexport type { MenuHeaderProps, MenuWrapperProps };\n"],"mappings":"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"}