@uselets/ui 1.13.0 → 1.14.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 CHANGED
@@ -355,7 +355,9 @@ You can import from the package root (`@uselets/ui`) or by subpath (`@uselets/ui
355
355
  | `heading` | `Heading`, `headingVariants` | Heading primitive with `size: 'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'` (default: `md`) and `asChild`. |
356
356
  | `input` | `Input` | Wrapper for Base UI Input with all native `<input>` props. |
357
357
  | `input-otp` | `InputOTP`, `InputOTPGroup`, `InputOTPSlot`, `InputOTPSeparator`, `REGEXP_ONLY_CHARS`, `REGEXP_ONLY_DIGITS`, `REGEXP_ONLY_DIGITS_AND_CHARS` | `InputOTP` supports all `input-otp` props plus `containerClassName`; use `maxLength` and `pattern` for validation. |
358
- | `mask-input` | `MaskInput` | Formatted input backed by `@react-input/mask`. Accepts `mask` plus optional `replacement`, `showMask`, `separate`, `track`, `modify`. Default replacement tokens: `9` (digit), `a` (letter), `*` (any). Forwards an external `ref` prop to the underlying `<input>`, composed with the mask ref. The `useMask` hook is also exported from `@uselets/ui/hooks/use-mask` for custom inputs. |
358
+ | `number-field` | `NumberField`, `NumberFieldGroup`, `NumberFieldDecrement`, `NumberFieldIncrement`, `NumberFieldInput`, `NumberFieldScrubArea` | Base UI-backed numeric stepper input. `size: 'sm' \| 'md' \| 'lg'` (default: `md`); supports `min`, `max`, `step`, and other Base UI `NumberField.Root` props. `NumberFieldScrubArea` renders a draggable `label` (required) that scrubs the value on pointer drag. |
359
+ | `phone-input` | `PhoneInput` | International phone input built on `react-phone-number-input`, composed from the existing `Input` and `Combobox` (country select), matching `Input`'s styling and single size. `value` / `onChange` use the E.164 `Value` string; `defaultCountry` defaults to `BR`. |
360
+ | `mask-input` | `MaskInput` | Formatted input backed by `@react-input/mask`. Accepts `mask` plus optional `replacement`, `showMask`, `separate`, `track`, `modify`. Default replacement tokens: `_` (digit), `#` (letter), `*` (any) — chosen so the token character is never a value the user actually types. When no custom `replacement` is passed, `mask` strings written with the older `9`/`a` tokens are automatically translated to `_`/`#`, so existing masks keep working. Forwards an external `ref` prop to the underlying `<input>`, composed with the mask ref. The `useMask` hook is also exported from `@uselets/ui/hooks/use-mask` for custom inputs. |
359
361
  | `kbd` | `Kbd`, `KbdGroup` | Keyboard shortcut presentation primitives. |
360
362
  | `label` | `Label` | Styled `<label>` wrapper. |
361
363
  | `marker` | `Marker`, `MarkerContent`, `MarkerIcon`, `markerVariants` | `variant: 'default' \| 'separator' \| 'border'` (default: `default`); `asChild?: boolean`. `separator` renders divider lines on both sides of the content (for labeled dividers); `border` renders a bottom border instead. |
@@ -371,6 +373,7 @@ You can import from the package root (`@uselets/ui`) or by subpath (`@uselets/ui
371
373
  | `skeleton` | `Skeleton` | Generic loading placeholder block. Supports `visible?: boolean` (default: `true`) and can wrap `children` to reserve their size while the placeholder is shown. |
372
374
  | `spinner` | `Spinner` | Loader icon (`role="status"`), accepts SVG props and supports `size: 'sm' \| 'md' \| 'lg'` (default: `md`). |
373
375
  | `switch` | `Switch` | `Switch` supports `size: 'sm' \| 'md' \| 'lg'` (default: `md`), `color: UIColor` (default: `green`), `label?: React.ReactNode`, and `labelProps` for the composed `Label`. When `label` is provided without `id`, it generates an id and wires `htmlFor` automatically. Track size is `sm` 34x16px, `md` 42x20px, and `lg` 48x22px; the thumb and internal indicator scale with the switch. Label text follows switch size: `sm` 14px, `md` 16px, `lg` 18px. |
376
+ | `stepper` | `Stepper`, `StepperNav`, `StepperItem`, `StepperTrigger`, `StepperIndicator`, `StepperSeparator`, `StepperTitle`, `StepperDescription`, `StepperPanel`, `StepperContent`, `useStepper`, `useStepItem` | Multi-step progress navigation. `Stepper.orientation: 'horizontal' \| 'vertical'` (default: `horizontal`); supports controlled (`value` / `onValueChange`) and uncontrolled (`defaultValue`) active step, plus custom per-state `indicators` (`active`, `completed`, `inactive`, `loading`). `StepperItem` accepts `completed`, `disabled`, and `loading`. Arrow-key and Home/End keyboard navigation between triggers is built in. |
374
377
  | `tabs` | `Tabs`, `TabsContent`, `TabsList`, `TabsTrigger`, `tabsListVariants` | `TabsList.variant: 'line' \| 'enclosed'` (default: `line`); `TabsList.grow?: boolean` makes horizontal tabs share the available width equally; `line` uses a neutral border line with a `primary` active indicator. |
375
378
  | `text` | `Text`, `textVariants` | Text primitive with `size: 'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'` (default: `md`) and `asChild`. |
376
379
  | `timeline` | `Timeline`, `TimelineItem`, `TimelineConnector`, `TimelineContent`, `TimelineDescription`, `TimelineEmpty`, `TimelineHeader`, `TimelineIcon`, `TimelineTime`, `TimelineTitle`, `timelineVariants` | `Timeline.size: 'sm' \| 'md' \| 'lg'` (default: `md`); `Timeline.iconSize: 'sm' \| 'md' \| 'lg'`; `TimelineItem.status: 'completed' \| 'in-progress' \| 'pending'`; icon and connector colors use the semantic palette (`primary`, `secondary`, `muted`, `accent`, `destructive`). |
@@ -0,0 +1,35 @@
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
+ import { VariantProps } from "class-variance-authority";
3
+ import { ReactNode } from "react";
4
+ import { NumberField as NumberField$1 } from "@base-ui/react/number-field";
5
+ //#region src/components/number-field.d.ts
6
+ declare const numberFieldGroupVariants: (props?: ({
7
+ size?: "lg" | "md" | "sm" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ declare const numberFieldButtonVariants: (props?: ({
10
+ size?: "lg" | "md" | "sm" | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ declare const numberFieldInputVariants: (props?: ({
13
+ size?: "lg" | "md" | "sm" | null | undefined;
14
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
+ type NumberFieldProps = NumberField$1.Root.Props & VariantProps<typeof numberFieldGroupVariants>;
16
+ declare function NumberField({ id, className, size, ...props }: NumberFieldProps): import("react").JSX.Element;
17
+ type NumberFieldGroupProps = NumberField$1.Group.Props & Partial<VariantProps<typeof numberFieldGroupVariants>>;
18
+ declare function NumberFieldGroup({ className, size: sizeProp, ...props }: NumberFieldGroupProps): import("react").JSX.Element;
19
+ type NumberFieldDecrementProps = NumberField$1.Decrement.Props & Partial<VariantProps<typeof numberFieldButtonVariants>> & {
20
+ children?: React.ReactNode;
21
+ };
22
+ declare function NumberFieldDecrement({ className, size: sizeProp, children, ...props }: NumberFieldDecrementProps): import("react").JSX.Element;
23
+ type NumberFieldIncrementProps = NumberField$1.Increment.Props & Partial<VariantProps<typeof numberFieldButtonVariants>> & {
24
+ children?: ReactNode;
25
+ };
26
+ declare function NumberFieldIncrement({ className, size: sizeProp, children, ...props }: NumberFieldIncrementProps): import("react").JSX.Element;
27
+ type NumberFieldInputProps = NumberField$1.Input.Props & Partial<VariantProps<typeof numberFieldInputVariants>>;
28
+ declare function NumberFieldInput({ id, className, size: sizeProp, ...props }: NumberFieldInputProps): import("react").JSX.Element;
29
+ type NumberFieldScrubAreaProps = NumberField$1.ScrubArea.Props & {
30
+ label: string;
31
+ };
32
+ declare function NumberFieldScrubArea({ className, label, ...props }: NumberFieldScrubAreaProps): import("react").JSX.Element;
33
+ //#endregion
34
+ export { NumberField, NumberFieldDecrement, NumberFieldDecrementProps, NumberFieldGroup, NumberFieldGroupProps, NumberFieldIncrement, NumberFieldIncrementProps, NumberFieldInput, NumberFieldInputProps, NumberFieldProps, NumberFieldScrubArea, NumberFieldScrubAreaProps };
35
+ //# sourceMappingURL=number-field.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Label as t}from"./label.js";import{useFieldControlId as n}from"./field.js";import{IconMinus as r,IconPlus as i}from"@tabler/icons-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{cva as s}from"class-variance-authority";import{createContext as c,useContext as l,useId as u}from"react";import{NumberField as d}from"@base-ui/react/number-field";const f=c(null),p=s(`relative flex w-full justify-between border border-input data-disabled:pointer-events-none data-disabled:opacity-50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive focus-within:has-aria-invalid:border-destructive focus-within:has-aria-invalid:ring-destructive/20 dark:focus-within:has-aria-invalid:ring-destructive/40 rounded-lg bg-transparent dark:bg-input/30 transition-colors focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-3`,{variants:{size:{sm:`h-7 text-sm`,md:`h-8 text-sm`,lg:`h-9 text-sm`}},defaultVariants:{size:`md`}}),m=s(`relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent`,{variants:{size:{sm:`px-1.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`px-2 [&_svg:not([class*='size-'])]:size-4`,lg:`px-2.5 [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{size:`md`}}),h=s(`w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none`,{variants:{size:{sm:`px-2 py-0.5`,md:`px-2.5 py-1`,lg:`px-2.5 py-1.5`}},defaultVariants:{size:`md`}});function NumberField({id:t,className:r,size:i=`md`,...o}){let s=u(),c=n(t)??s,l=i??`md`;return a(f.Provider,{value:{fieldId:c,size:l},children:a(d.Root,{className:e(`flex w-full flex-col items-start gap-2`,r),"data-size":l,"data-slot":`number-field`,...o})})}function NumberFieldGroup({className:t,size:n,...r}){let i=l(f);if(!i)throw Error(`NumberFieldGroup must be used within a NumberField component.`);let o=n??i.size;return a(d.Group,{className:e(p({size:o}),t),"data-slot":`number-field-group`,...r})}function NumberFieldDecrement({className:t,size:n,children:i,...o}){let s=l(f);if(!s)throw Error(`NumberFieldDecrement must be used within a NumberField component.`);let c=n??s.size;return a(d.Decrement,{className:e(m({size:c}),`rounded-s-lg border-e-0`,t),"data-slot":`number-field-decrement`,...o,children:i??a(r,{})})}function NumberFieldIncrement({className:t,size:n,children:r,...o}){let s=l(f);if(!s)throw Error(`NumberFieldIncrement must be used within a NumberField component.`);let c=n??s.size;return a(d.Increment,{className:e(m({size:c}),`rounded-e-lg border-s-0`,t),"data-slot":`number-field-increment`,...o,children:r??a(i,{})})}function NumberFieldInput({id:t,className:n,size:r,...i}){let o=l(f);if(!o)throw Error(`NumberFieldInput must be used within a NumberField component.`);let s=r??o.size;return a(d.Input,{id:t??o.fieldId,className:e(h({size:s}),n),"data-slot":`number-field-input`,...i})}function NumberFieldScrubArea({className:n,label:r,...i}){let s=l(f);if(!s)throw Error(`NumberFieldScrubArea must be used within a NumberField component for accessibility.`);return o(d.ScrubArea,{className:e(`flex cursor-ew-resize`,n),"data-slot":`number-field-scrub-area`,...i,children:[a(t,{className:`cursor-ew-resize`,htmlFor:s.fieldId,children:r}),a(d.ScrubAreaCursor,{className:`drop-shadow-[0_1px_1px_#0008] filter`,children:a(CursorGrowIcon,{})})]})}function CursorGrowIcon(e){return a(`svg`,{"aria-hidden":`true`,fill:`black`,height:`14`,stroke:`white`,viewBox:`0 0 24 14`,width:`26`,xmlns:`http://www.w3.org/2000/svg`,...e,children:a(`path`,{d:`M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z`})})}export{NumberField,NumberFieldDecrement,NumberFieldGroup,NumberFieldIncrement,NumberFieldInput,NumberFieldScrubArea};
2
+ //# sourceMappingURL=number-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-field.js","names":["NumberFieldPrimitive"],"sources":["../../src/components/number-field.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useId } from 'react'\n\nimport { NumberField as NumberFieldPrimitive } from '@base-ui/react/number-field'\nimport { IconMinus, IconPlus } from '@tabler/icons-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { useFieldControlId } from './field'\nimport { Label } from './label'\n\nconst NumberFieldContext = createContext<{\n fieldId: string\n size: 'sm' | 'md' | 'lg'\n} | null>(null)\n\nconst numberFieldGroupVariants = cva(\n 'relative flex w-full justify-between border border-input data-disabled:pointer-events-none data-disabled:opacity-50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive focus-within:has-aria-invalid:border-destructive focus-within:has-aria-invalid:ring-destructive/20 dark:focus-within:has-aria-invalid:ring-destructive/40 rounded-lg bg-transparent dark:bg-input/30 transition-colors focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-3',\n {\n variants: {\n size: {\n sm: 'h-7 text-sm',\n md: 'h-8 text-sm',\n lg: 'h-9 text-sm'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst numberFieldButtonVariants = cva(\n 'relative flex shrink-0 cursor-pointer items-center justify-center transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent',\n {\n variants: {\n size: {\n sm: \"px-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"px-2 [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-2.5 [&_svg:not([class*='size-'])]:size-4\"\n }\n },\n defaultVariants: {\n size: 'md'\n }\n }\n)\n\nconst numberFieldInputVariants = cva('w-full min-w-0 flex-1 bg-transparent text-center tabular-nums outline-none', {\n variants: {\n size: {\n sm: 'px-2 py-0.5',\n md: 'px-2.5 py-1',\n lg: 'px-2.5 py-1.5'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n})\n\nexport type NumberFieldProps = NumberFieldPrimitive.Root.Props & VariantProps<typeof numberFieldGroupVariants>\n\nfunction NumberField({ id, className, size = 'md', ...props }: NumberFieldProps) {\n const generatedId = useId()\n const fieldControlId = useFieldControlId(id)\n const fieldId = fieldControlId ?? generatedId\n const sizeValue = size ?? 'md'\n\n return (\n <NumberFieldContext.Provider value={{ fieldId, size: sizeValue }}>\n <NumberFieldPrimitive.Root\n className={cn('flex w-full flex-col items-start gap-2', className)}\n data-size={sizeValue}\n data-slot=\"number-field\"\n {...props}\n />\n </NumberFieldContext.Provider>\n )\n}\n\nexport type NumberFieldGroupProps = NumberFieldPrimitive.Group.Props &\n Partial<VariantProps<typeof numberFieldGroupVariants>>\n\nfunction NumberFieldGroup({ className, size: sizeProp, ...props }: NumberFieldGroupProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldGroup must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Group\n className={cn(numberFieldGroupVariants({ size }), className)}\n data-slot=\"number-field-group\"\n {...props}\n />\n )\n}\n\nexport type NumberFieldDecrementProps = NumberFieldPrimitive.Decrement.Props &\n Partial<VariantProps<typeof numberFieldButtonVariants>> & {\n children?: React.ReactNode\n }\n\nfunction NumberFieldDecrement({ className, size: sizeProp, children, ...props }: NumberFieldDecrementProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldDecrement must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Decrement\n className={cn(numberFieldButtonVariants({ size }), 'rounded-s-lg border-e-0', className)}\n data-slot=\"number-field-decrement\"\n {...props}\n >\n {children ?? <IconMinus />}\n </NumberFieldPrimitive.Decrement>\n )\n}\n\nexport type NumberFieldIncrementProps = NumberFieldPrimitive.Increment.Props &\n Partial<VariantProps<typeof numberFieldButtonVariants>> & {\n children?: ReactNode\n }\n\nfunction NumberFieldIncrement({ className, size: sizeProp, children, ...props }: NumberFieldIncrementProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldIncrement must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Increment\n className={cn(numberFieldButtonVariants({ size }), 'rounded-e-lg border-s-0', className)}\n data-slot=\"number-field-increment\"\n {...props}\n >\n {children ?? <IconPlus />}\n </NumberFieldPrimitive.Increment>\n )\n}\n\nexport type NumberFieldInputProps = NumberFieldPrimitive.Input.Props &\n Partial<VariantProps<typeof numberFieldInputVariants>>\n\nfunction NumberFieldInput({ id, className, size: sizeProp, ...props }: NumberFieldInputProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldInput must be used within a NumberField component.')\n }\n const size = sizeProp ?? context.size\n\n return (\n <NumberFieldPrimitive.Input\n id={id ?? context.fieldId}\n className={cn(numberFieldInputVariants({ size }), className)}\n data-slot=\"number-field-input\"\n {...props}\n />\n )\n}\n\nexport type NumberFieldScrubAreaProps = NumberFieldPrimitive.ScrubArea.Props & {\n label: string\n}\n\nfunction NumberFieldScrubArea({ className, label, ...props }: NumberFieldScrubAreaProps) {\n const context = useContext(NumberFieldContext)\n if (!context) {\n throw new Error('NumberFieldScrubArea must be used within a NumberField component for accessibility.')\n }\n\n return (\n <NumberFieldPrimitive.ScrubArea\n className={cn('flex cursor-ew-resize', className)}\n data-slot=\"number-field-scrub-area\"\n {...props}\n >\n <Label className=\"cursor-ew-resize\" htmlFor={context.fieldId}>\n {label}\n </Label>\n <NumberFieldPrimitive.ScrubAreaCursor className=\"drop-shadow-[0_1px_1px_#0008] filter\">\n <CursorGrowIcon />\n </NumberFieldPrimitive.ScrubAreaCursor>\n </NumberFieldPrimitive.ScrubArea>\n )\n}\n\nfunction CursorGrowIcon(props: React.ComponentProps<'svg'>) {\n return (\n <svg\n aria-hidden=\"true\"\n fill=\"black\"\n height=\"14\"\n stroke=\"white\"\n viewBox=\"0 0 24 14\"\n width=\"26\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path d=\"M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z\" />\n </svg>\n )\n}\n\nexport {\n NumberField,\n NumberFieldDecrement,\n NumberFieldGroup,\n NumberFieldIncrement,\n NumberFieldInput,\n NumberFieldScrubArea\n}\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
+ import { ComponentProps } from "react";
3
+ import * as BasePhoneInput from "react-phone-number-input";
4
+ //#region src/components/phone-input.d.ts
5
+ type PhoneInputProps = Omit<ComponentProps<'input'>, 'onChange' | 'value' | 'ref'> & Omit<BasePhoneInput.Props<typeof BasePhoneInput.default>, 'onChange' | 'popupClassName' | 'scrollAreaClassName'> & {
6
+ onChange?: (value: BasePhoneInput.Value) => void;
7
+ popupClassName?: string;
8
+ scrollAreaClassName?: string;
9
+ };
10
+ declare function PhoneInput({ className, popupClassName, scrollAreaClassName, onChange, value, ...props }: PhoneInputProps): import("react").JSX.Element;
11
+ //#endregion
12
+ export { PhoneInput, PhoneInputProps };
13
+ //# sourceMappingURL=phone-input.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{Button as t}from"./button.js";import{Input as n}from"./input.js";import{Combobox as r,ComboboxContent as i,ComboboxEmpty as a,ComboboxInput as o,ComboboxItem as s,ComboboxList as c,ComboboxSeparator as l,ComboboxTrigger as u,ComboboxValue as d}from"./combobox.js";import{ScrollArea as f}from"./scroll-area.js";import{IconWorld as p}from"@tabler/icons-react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{createContext as g,useContext as _,useMemo as v,useState as y}from"react";import*as b from"react-phone-number-input";import x from"react-phone-number-input/flags";const S=g({popupClassName:void 0,scrollAreaClassName:void 0});function PhoneInput({className:t,popupClassName:n,scrollAreaClassName:r,onChange:i,value:a,...o}){return m(S.Provider,{value:{popupClassName:n,scrollAreaClassName:r},children:m(b.default,{className:e(`flex`,o[`aria-invalid`]&&`[&_*[data-slot=combobox-trigger]]:border-destructive [&_*[data-slot=combobox-trigger]]:ring-destructive/50`,t),flagComponent:FlagComponent,countrySelectComponent:CountrySelect,inputComponent:InputComponent,smartCaret:!1,defaultCountry:`BR`,value:a||void 0,onChange:e=>i?.(e||``),...o})})}function InputComponent({className:t,...r}){return m(n,{className:e(`rounded-s-none focus:z-1`,t),...r})}function CountrySelect({disabled:n,value:p,options:g,onChange:x}){let{popupClassName:C}=_(S),[w,T]=y(``),E=v(()=>w?g.filter(({label:e})=>e.toLowerCase().includes(w.toLowerCase())):g,[g,w]);return h(r,{items:E,value:p||``,onValueChange:e=>{e&&x(e)},children:[m(u,{render:h(t,{variant:`outline`,color:`zinc`,className:e(`flex h-8 items-center gap-1 rounded-s-lg rounded-e-none border-e-0 border-input px-2.5 py-0 leading-none dark:bg-input/30`,`hover:bg-transparent focus:z-10 data-pressed:bg-transparent`,n&&`opacity-50`),disabled:n,children:[m(`span`,{className:`sr-only`,children:m(d,{})}),m(FlagComponent,{country:p,countryName:p})]})}),h(i,{className:e(`w-xs *:data-[slot=input-group]:bg-transparent`,C),children:[m(o,{placeholder:`e.g. United States`,value:w,onChange:e=>T(e.target.value),showTrigger:!1,className:`border-input focus-visible:border-border rounded-none border-0 px-0 py-2.5 shadow-none ring-0! outline-none! focus-visible:ring-0 focus-visible:ring-offset-0`}),m(l,{}),m(a,{className:`px-4 py-2.5 text-sm`,children:`Nenhum país encontrado.`}),m(c,{children:m(`div`,{className:`relative flex max-h-full`,children:m(`div`,{className:`flex max-h-[min(var(--available-height),24rem)] w-full scroll-pt-2 scroll-pb-2 flex-col overscroll-contain`,children:m(f,{className:`size-full min-h-0 **:data-[slot=scroll-area-scrollbar]:m-0 **:data-[slot=scroll-area-viewport]:h-full **:data-[slot=scroll-area-viewport]:overscroll-contain`,children:E.map(e=>e.value?h(s,{value:e.value,className:`flex items-center gap-2`,children:[m(FlagComponent,{country:e.value,countryName:e.label}),m(`span`,{className:`flex-1 text-sm`,children:e.label}),m(`span`,{className:`text-foreground/50 text-sm`,children:`+${b.getCountryCallingCode(e.value)}`})]},e.value):null)})})})})]})]})}function FlagComponent({country:e,countryName:t}){let n=x[e];return m(`span`,{className:`flex h-4 w-4 items-center justify-center [&_svg:not([class*='size-'])]:size-full! [&_svg:not([class*='size-'])]:rounded-[5px]`,children:n?m(n,{title:t}):m(p,{className:`size-4 opacity-60`})})}export{PhoneInput};
2
+ //# sourceMappingURL=phone-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone-input.js","names":[],"sources":["../../src/components/phone-input.tsx"],"sourcesContent":["import { type ComponentProps, createContext, useContext, useMemo, useState } from 'react'\nimport * as BasePhoneInput from 'react-phone-number-input'\nimport flags from 'react-phone-number-input/flags'\n\nimport { IconWorld } from '@tabler/icons-react'\n\nimport { cn } from '../lib/utils'\nimport { Button } from './button'\nimport {\n Combobox,\n ComboboxContent,\n ComboboxEmpty,\n ComboboxInput,\n ComboboxItem,\n ComboboxList,\n ComboboxSeparator,\n ComboboxTrigger,\n ComboboxValue\n} from './combobox'\nimport { Input } from './input'\nimport { ScrollArea } from './scroll-area'\n\nconst PhoneInputContext = createContext<{\n popupClassName?: string\n scrollAreaClassName?: string\n}>({\n popupClassName: undefined,\n scrollAreaClassName: undefined\n})\n\nexport type PhoneInputProps = Omit<ComponentProps<'input'>, 'onChange' | 'value' | 'ref'> &\n Omit<BasePhoneInput.Props<typeof BasePhoneInput.default>, 'onChange' | 'popupClassName' | 'scrollAreaClassName'> & {\n onChange?: (value: BasePhoneInput.Value) => void\n popupClassName?: string\n scrollAreaClassName?: string\n }\n\nfunction PhoneInput({ className, popupClassName, scrollAreaClassName, onChange, value, ...props }: PhoneInputProps) {\n return (\n <PhoneInputContext.Provider value={{ popupClassName, scrollAreaClassName }}>\n <BasePhoneInput.default\n className={cn(\n 'flex',\n props['aria-invalid'] &&\n '[&_*[data-slot=combobox-trigger]]:border-destructive [&_*[data-slot=combobox-trigger]]:ring-destructive/50',\n className\n )}\n flagComponent={FlagComponent}\n countrySelectComponent={CountrySelect}\n inputComponent={InputComponent}\n smartCaret={false}\n defaultCountry=\"BR\"\n value={value || undefined}\n onChange={(value) => onChange?.(value || ('' as BasePhoneInput.Value))}\n {...props}\n />\n </PhoneInputContext.Provider>\n )\n}\n\nfunction InputComponent({ className, ...props }: ComponentProps<typeof Input>) {\n return <Input className={cn('rounded-s-none focus:z-1', className)} {...props} />\n}\n\ntype CountryEntry = { label: string; value: BasePhoneInput.Country | undefined }\n\ntype CountrySelectProps = {\n disabled?: boolean\n value: BasePhoneInput.Country\n options: CountryEntry[]\n onChange: (country: BasePhoneInput.Country) => void\n}\n\nfunction CountrySelect({ disabled, value: selectedCountry, options: countryList, onChange }: CountrySelectProps) {\n const { popupClassName } = useContext(PhoneInputContext)\n const [searchValue, setSearchValue] = useState('')\n\n const filteredCountries = useMemo(() => {\n if (!searchValue) return countryList\n return countryList.filter(({ label }) => label.toLowerCase().includes(searchValue.toLowerCase()))\n }, [countryList, searchValue])\n\n return (\n <Combobox\n items={filteredCountries}\n value={selectedCountry || ''}\n onValueChange={(country: BasePhoneInput.Country | null) => {\n if (country) {\n onChange(country)\n }\n }}\n >\n <ComboboxTrigger\n render={\n <Button\n variant=\"outline\"\n color=\"zinc\"\n className={cn(\n 'flex h-8 items-center gap-1 rounded-s-lg rounded-e-none border-e-0 border-input px-2.5 py-0 leading-none dark:bg-input/30',\n 'hover:bg-transparent focus:z-10 data-pressed:bg-transparent',\n disabled && 'opacity-50'\n )}\n disabled={disabled}\n >\n <span className=\"sr-only\">\n <ComboboxValue />\n </span>\n <FlagComponent country={selectedCountry} countryName={selectedCountry} />\n </Button>\n }\n />\n <ComboboxContent className={cn('w-xs *:data-[slot=input-group]:bg-transparent', popupClassName)}>\n <ComboboxInput\n placeholder=\"e.g. United States\"\n value={searchValue}\n onChange={(e) => setSearchValue(e.target.value)}\n showTrigger={false}\n className=\"border-input focus-visible:border-border rounded-none border-0 px-0 py-2.5 shadow-none ring-0! outline-none! focus-visible:ring-0 focus-visible:ring-offset-0\"\n />\n <ComboboxSeparator />\n <ComboboxEmpty className=\"px-4 py-2.5 text-sm\">Nenhum país encontrado.</ComboboxEmpty>\n <ComboboxList>\n <div className=\"relative flex max-h-full\">\n <div className=\"flex max-h-[min(var(--available-height),24rem)] w-full scroll-pt-2 scroll-pb-2 flex-col overscroll-contain\">\n <ScrollArea className=\"size-full min-h-0 **:data-[slot=scroll-area-scrollbar]:m-0 **:data-[slot=scroll-area-viewport]:h-full **:data-[slot=scroll-area-viewport]:overscroll-contain\">\n {filteredCountries.map((item: CountryEntry) =>\n item.value ? (\n <ComboboxItem key={item.value} value={item.value} className=\"flex items-center gap-2\">\n <FlagComponent country={item.value} countryName={item.label} />\n <span className=\"flex-1 text-sm\">{item.label}</span>\n <span className=\"text-foreground/50 text-sm\">\n {`+${BasePhoneInput.getCountryCallingCode(item.value)}`}\n </span>\n </ComboboxItem>\n ) : null\n )}\n </ScrollArea>\n </div>\n </div>\n </ComboboxList>\n </ComboboxContent>\n </Combobox>\n )\n}\n\nfunction FlagComponent({ country, countryName }: BasePhoneInput.FlagProps) {\n const Flag = flags[country]\n\n return (\n <span className=\"flex h-4 w-4 items-center justify-center [&_svg:not([class*='size-'])]:size-full! [&_svg:not([class*='size-'])]:rounded-[5px]\">\n {Flag ? <Flag title={countryName} /> : <IconWorld className=\"size-4 opacity-60\" />}\n </span>\n )\n}\n\nexport { PhoneInput }\n"],"mappings":"spBAsBA,MAAM,EAAoB,EAGvB,CACD,eAAgB,IAAA,GAChB,oBAAqB,IAAA,EACvB,CAAC,EASD,SAAS,WAAW,CAAE,YAAW,iBAAgB,sBAAqB,WAAU,QAAO,GAAG,GAA0B,CAClH,OACE,EAAC,EAAkB,SAAnB,CAA4B,MAAO,CAAE,iBAAgB,qBAAoB,EACvE,SAAA,EAAC,EAAe,QAAhB,CACE,UAAW,EACT,OACA,EAAM,iBACJ,6GACF,CACF,EACA,cAAe,cACf,uBAAwB,cACxB,eAAgB,eAChB,WAAY,GACZ,eAAe,KACf,MAAO,GAAS,IAAA,GAChB,SAAW,GAAU,IAAW,GAAU,EAA2B,EACrE,GAAI,CACL,CAAA,CACyB,CAAA,CAEhC,CAEA,SAAS,eAAe,CAAE,YAAW,GAAG,GAAuC,CAC7E,OAAO,EAAC,EAAD,CAAO,UAAW,EAAG,2BAA4B,CAAS,EAAG,GAAI,CAAQ,CAAA,CAClF,CAWA,SAAS,cAAc,CAAE,WAAU,MAAO,EAAiB,QAAS,EAAa,YAAgC,CAC/G,GAAM,CAAE,kBAAmB,EAAW,CAAiB,EACjD,CAAC,EAAa,GAAkB,EAAS,EAAE,EAE3C,EAAoB,MACnB,EACE,EAAY,QAAQ,CAAE,WAAY,EAAM,YAAY,CAAC,CAAC,SAAS,EAAY,YAAY,CAAC,CAAC,EADvE,EAExB,CAAC,EAAa,CAAW,CAAC,EAE7B,OACE,EAAC,EAAD,CACE,MAAO,EACP,MAAO,GAAmB,GAC1B,cAAgB,GAA2C,CACrD,GACF,EAAS,CAAO,CAEpB,EAPF,SAAA,CASE,EAAC,EAAD,CACE,OACE,EAAC,EAAD,CACE,QAAQ,UACR,MAAM,OACN,UAAW,EACT,4HACA,8DACA,GAAY,YACd,EACU,WARZ,SAAA,CAUE,EAAC,OAAD,CAAM,UAAU,UACd,SAAA,EAAC,EAAD,CAAgB,CAAA,CACZ,CAAA,EACN,EAAC,cAAD,CAAe,QAAS,EAAiB,YAAa,CAAkB,CAAA,CAClE,CAEX,CAAA,CAAA,CAAA,EACD,EAAC,EAAD,CAAiB,UAAW,EAAG,gDAAiD,CAAc,EAA9F,SAAA,CACE,EAAC,EAAD,CACE,YAAY,qBACZ,MAAO,EACP,SAAW,GAAM,EAAe,EAAE,OAAO,KAAK,EAC9C,YAAa,GACb,UAAU,+JACX,CAAA,EACD,EAAC,EAAD,CAAoB,CAAA,EACpB,EAAC,EAAD,CAAe,UAAU,sBAAsB,SAAA,yBAAsC,CAAA,EACrF,EAAC,EAAD,CAAA,SACE,EAAC,MAAD,CAAK,UAAU,2BACb,SAAA,EAAC,MAAD,CAAK,UAAU,6GACb,SAAA,EAAC,EAAD,CAAY,UAAU,+JACnB,SAAA,EAAkB,IAAK,GACtB,EAAK,MACH,EAAC,EAAD,CAA+B,MAAO,EAAK,MAAO,UAAU,0BAA5D,SAAA,CACE,EAAC,cAAD,CAAe,QAAS,EAAK,MAAO,YAAa,EAAK,KAAQ,CAAA,EAC9D,EAAC,OAAD,CAAM,UAAU,iBAAkB,SAAA,EAAK,KAAY,CAAA,EACnD,EAAC,OAAD,CAAM,UAAU,6BACb,SAAA,IAAI,EAAe,sBAAsB,EAAK,KAAK,GAChD,CAAA,CACM,CANK,EAAA,EAAK,KAMV,EACZ,IACN,CACU,CAAA,CACT,CAAA,CACF,CAAA,CACO,CAAA,CACC,CACT,CAAA,CAAA,GAEd,CAEA,SAAS,cAAc,CAAE,UAAS,eAAyC,CACzE,IAAM,EAAO,EAAM,GAEnB,OACE,EAAC,OAAD,CAAM,UAAU,gIACb,SAAA,EAAO,EAAC,EAAD,CAAM,MAAO,CAAc,CAAA,EAAI,EAAC,EAAD,CAAW,UAAU,mBAAqB,CAAA,CAC7E,CAAA,CAEV"}
@@ -0,0 +1,71 @@
1
+ import { n as __name } from "../rolldown-runtime-Bdj-bS2b.js";
2
+ import { HTMLAttributes } from "react";
3
+ //#region src/components/stepper.d.ts
4
+ type StepperOrientation = 'horizontal' | 'vertical';
5
+ type StepState = 'active' | 'completed' | 'inactive' | 'loading';
6
+ type StepIndicators = {
7
+ active?: React.ReactNode;
8
+ completed?: React.ReactNode;
9
+ inactive?: React.ReactNode;
10
+ loading?: React.ReactNode;
11
+ };
12
+ interface StepperContextValue {
13
+ activeStep: number;
14
+ setActiveStep: (step: number) => void;
15
+ stepsCount: number;
16
+ orientation: StepperOrientation;
17
+ registerTrigger: (node: HTMLButtonElement | null) => void;
18
+ triggerNodes: HTMLButtonElement[];
19
+ focusNext: (currentIdx: number) => void;
20
+ focusPrev: (currentIdx: number) => void;
21
+ focusFirst: () => void;
22
+ focusLast: () => void;
23
+ indicators: StepIndicators;
24
+ }
25
+ interface StepItemContextValue {
26
+ step: number;
27
+ state: StepState;
28
+ isDisabled: boolean;
29
+ isLoading: boolean;
30
+ }
31
+ declare function useStepper(): StepperContextValue;
32
+ declare function useStepItem(): StepItemContextValue;
33
+ interface StepperProps extends HTMLAttributes<HTMLDivElement> {
34
+ defaultValue?: number;
35
+ value?: number;
36
+ onValueChange?: (value: number) => void;
37
+ orientation?: StepperOrientation;
38
+ indicators?: StepIndicators;
39
+ }
40
+ declare function Stepper({ defaultValue, value, onValueChange, orientation, className, children, indicators, ...props }: StepperProps): import("react").JSX.Element;
41
+ interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {
42
+ step: number;
43
+ completed?: boolean;
44
+ disabled?: boolean;
45
+ loading?: boolean;
46
+ }
47
+ declare function StepperItem({ step, completed, disabled, loading, className, children, ...props }: StepperItemProps): import("react").JSX.Element;
48
+ interface StepperTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
49
+ asChild?: boolean;
50
+ }
51
+ declare function StepperTrigger({ asChild, className, children, tabIndex, ...props }: StepperTriggerProps): import("react").JSX.Element;
52
+ type StepperIndicatorProps = React.ComponentProps<'div'>;
53
+ declare function StepperIndicator({ children, className }: StepperIndicatorProps): import("react").JSX.Element;
54
+ type StepperSeparatorProps = React.ComponentProps<'div'>;
55
+ declare function StepperSeparator({ className }: StepperSeparatorProps): import("react").JSX.Element;
56
+ type StepperTitleProps = React.ComponentProps<'h3'>;
57
+ declare function StepperTitle({ children, className }: StepperTitleProps): import("react").JSX.Element;
58
+ type StepperDescriptionProps = React.ComponentProps<'div'>;
59
+ declare function StepperDescription({ children, className }: StepperDescriptionProps): import("react").JSX.Element;
60
+ type StepperNavProps = React.ComponentProps<'nav'>;
61
+ declare function StepperNav({ children, className }: StepperNavProps): import("react").JSX.Element;
62
+ type StepperPanelProps = React.ComponentProps<'div'>;
63
+ declare function StepperPanel({ children, className }: StepperPanelProps): import("react").JSX.Element;
64
+ interface StepperContentProps extends React.ComponentProps<'div'> {
65
+ value: number;
66
+ forceMount?: boolean;
67
+ }
68
+ declare function StepperContent({ value, forceMount, children, className }: StepperContentProps): import("react").JSX.Element | null;
69
+ //#endregion
70
+ export { Stepper, StepperContent, type StepperContentProps, StepperDescription, StepperDescriptionProps, StepperIndicator, StepperIndicatorProps, StepperItem, type StepperItemProps, StepperNav, StepperNavProps, StepperPanel, StepperPanelProps, type StepperProps, StepperSeparator, StepperSeparatorProps, StepperTitle, StepperTitleProps, StepperTrigger, type StepperTriggerProps, useStepItem, useStepper };
71
+ //# sourceMappingURL=stepper.d.ts.map
@@ -0,0 +1,2 @@
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{cn as e}from"../lib/utils.js";import{jsx as t}from"react/jsx-runtime";import{Children as n,createContext as r,isValidElement as i,useCallback as a,useContext as o,useEffect as s,useMemo as c,useRef as l,useState as u}from"react";const d=r(void 0),f=r(void 0);function useStepper(){let e=o(d);if(!e)throw Error(`useStepper must be used within a Stepper`);return e}function useStepItem(){let e=o(f);if(!e)throw Error(`useStepItem must be used within a StepperItem`);return e}function Stepper({defaultValue:r=1,value:o,onValueChange:s,orientation:l=`horizontal`,className:f,children:p,indicators:m={},...h}){let[g,_]=u(r),[v,y]=u([]),b=a(e=>{y(t=>e&&!t.includes(e)?[...t,e]:!e&&t.includes(e)?t.filter(t=>t!==e):t)},[]),x=a(e=>{o===void 0&&_(e),s?.(e)},[o,s]),S=o??g,C=a(e=>{v[e]&&v[e].focus()},[v]),w=a(e=>C((e+1)%v.length),[C,v]),T=a(e=>C((e-1+v.length)%v.length),[C,v]),E=a(()=>C(0),[C]),D=a(()=>C(v.length-1),[C,v]),O=c(()=>({activeStep:S,setActiveStep:x,stepsCount:n.toArray(p).filter(e=>i(e)&&e.type.displayName===`StepperItem`).length,orientation:l,registerTrigger:b,focusNext:w,focusPrev:T,focusFirst:E,focusLast:D,triggerNodes:v,indicators:m}),[S,x,p,l,b,v,E,D,w,T,m]);return t(d.Provider,{value:O,children:t(`div`,{role:`tablist`,"aria-orientation":l,"data-slot":`stepper`,className:e(`w-full`,f),"data-orientation":l,...h,children:p})})}function StepperItem({step:n,completed:r=!1,disabled:i=!1,loading:a=!1,className:o,children:s,...c}){let{activeStep:l}=useStepper(),u=r||n<l?`completed`:l===n?`active`:`inactive`,d=a&&n===l;return t(f.Provider,{value:{step:n,state:u,isDisabled:i,isLoading:d},children:t(`div`,{"data-slot":`stepper-item`,className:e(`group/step flex items-center justify-center not-last:flex-1 group-data-[orientation=horizontal]/stepper-nav:flex-row group-data-[orientation=vertical]/stepper-nav:flex-col`,o),"data-state":u,...d?{"data-loading":!0}:{},...c,children:s})})}function StepperTrigger({asChild:n=!1,className:r,children:i,tabIndex:a,...o}){let{state:u,isLoading:d}=useStepItem(),{setActiveStep:f,activeStep:p,registerTrigger:m,triggerNodes:h,focusNext:g,focusPrev:_,focusFirst:v,focusLast:y}=useStepper(),{step:b,isDisabled:x}=useStepItem(),S=p===b,C=`stepper-tab-${b}`,w=`stepper-panel-${b}`,T=l(null);s(()=>{T.current&&m(T.current)},[m]);let E=c(()=>h.findIndex(e=>e===T.current),[h]),handleKeyDown=e=>{switch(e.key){case`ArrowRight`:case`ArrowDown`:e.preventDefault(),E!==-1&&g&&g(E);break;case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),E!==-1&&_&&_(E);break;case`Home`:e.preventDefault(),v&&v();break;case`End`:e.preventDefault(),y&&y();break;case`Enter`:case` `:e.preventDefault(),f(b);break}};return n?t(`span`,{"data-slot":`stepper-trigger`,"data-state":u,className:r,children:i}):t(`button`,{ref:T,role:`tab`,id:C,"aria-selected":S,"aria-controls":w,tabIndex:typeof a==`number`?a:S?0:-1,"data-slot":`stepper-trigger`,"data-state":u,"data-loading":d,className:e(`focus-visible:border-ring focus-visible:ring-ring/50 inline-flex cursor-pointer items-center outline-none focus-visible:z-10 focus-visible:ring-3 disabled:pointer-events-none disabled:opacity-60`,`gap-2.5 rounded-full`,r),onClick:()=>f(b),onKeyDown:handleKeyDown,disabled:x,...o,children:i})}function StepperIndicator({children:n,className:r}){let{state:i,isLoading:a}=useStepItem(),{indicators:o}=useStepper();return t(`div`,{"data-slot":`stepper-indicator`,"data-state":i,className:e(`border-background bg-accent text-accent-foreground data-[state=completed]:bg-primary data-[state=completed]:text-primary-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground relative flex size-6 shrink-0 items-center justify-center overflow-hidden`,`rounded-full text-xs`,r),children:t(`div`,{className:`absolute`,children:o&&(a&&o.loading||i===`completed`&&o.completed||i===`active`&&o.active||i===`inactive`&&o.inactive)?a&&o.loading||i===`completed`&&o.completed||i===`active`&&o.active||i===`inactive`&&o.inactive:n})})}function StepperSeparator({className:n}){let{state:r}=useStepItem();return t(`div`,{"data-slot":`stepper-separator`,"data-state":r,className:e(`bg-muted rounded-sm group-data-[orientation=horizontal]/stepper-nav:h-0.5 group-data-[orientation=vertical]/stepper-nav:h-12 group-data-[orientation=vertical]/stepper-nav:w-0.5 m-0.5 group-data-[orientation=horizontal]/stepper-nav:flex-1`,n)})}function StepperTitle({children:n,className:r}){let{state:i}=useStepItem();return t(`h3`,{"data-slot":`stepper-title`,"data-state":i,className:e(`text-sm leading-none font-medium`,r),children:n})}function StepperDescription({children:n,className:r}){let{state:i}=useStepItem();return t(`div`,{"data-slot":`stepper-description`,"data-state":i,className:e(`text-muted-foreground text-sm`,r),children:n})}function StepperNav({children:n,className:r}){let{activeStep:i,orientation:a}=useStepper();return t(`nav`,{"data-slot":`stepper-nav`,"data-state":i,"data-orientation":a,className:e(`group/stepper-nav inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col`,r),children:n})}function StepperPanel({children:n,className:r}){let{activeStep:i}=useStepper();return t(`div`,{"data-slot":`stepper-panel`,"data-state":i,className:e(`w-full`,r),children:n})}function StepperContent({value:n,forceMount:r,children:i,className:a}){let{activeStep:o}=useStepper(),s=n===o;return!r&&!s?null:t(`div`,{"data-slot":`stepper-content`,"data-state":o,className:e(`w-full`,a,!s&&r&&`hidden`),hidden:!s&&r,children:i})}export{Stepper,StepperContent,StepperDescription,StepperIndicator,StepperItem,StepperNav,StepperPanel,StepperSeparator,StepperTitle,StepperTrigger,useStepItem,useStepper};
2
+ //# sourceMappingURL=stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.js","names":[],"sources":["../../src/components/stepper.tsx"],"sourcesContent":["import {\n Children,\n createContext,\n type HTMLAttributes,\n isValidElement,\n type ReactElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react'\n\nimport { cn } from '../lib/utils'\n\n// Types\ntype StepperOrientation = 'horizontal' | 'vertical'\ntype StepState = 'active' | 'completed' | 'inactive' | 'loading'\ntype StepIndicators = {\n active?: React.ReactNode\n completed?: React.ReactNode\n inactive?: React.ReactNode\n loading?: React.ReactNode\n}\n\ninterface StepperContextValue {\n activeStep: number\n setActiveStep: (step: number) => void\n stepsCount: number\n orientation: StepperOrientation\n registerTrigger: (node: HTMLButtonElement | null) => void\n triggerNodes: HTMLButtonElement[]\n focusNext: (currentIdx: number) => void\n focusPrev: (currentIdx: number) => void\n focusFirst: () => void\n focusLast: () => void\n indicators: StepIndicators\n}\n\ninterface StepItemContextValue {\n step: number\n state: StepState\n isDisabled: boolean\n isLoading: boolean\n}\n\nconst StepperContext = createContext<StepperContextValue | undefined>(undefined)\nconst StepItemContext = createContext<StepItemContextValue | undefined>(undefined)\n\nfunction useStepper() {\n const ctx = useContext(StepperContext)\n if (!ctx) throw new Error('useStepper must be used within a Stepper')\n return ctx\n}\n\nfunction useStepItem() {\n const ctx = useContext(StepItemContext)\n if (!ctx) throw new Error('useStepItem must be used within a StepperItem')\n return ctx\n}\n\ninterface StepperProps extends HTMLAttributes<HTMLDivElement> {\n defaultValue?: number\n value?: number\n onValueChange?: (value: number) => void\n orientation?: StepperOrientation\n indicators?: StepIndicators\n}\n\nfunction Stepper({\n defaultValue = 1,\n value,\n onValueChange,\n orientation = 'horizontal',\n className,\n children,\n indicators = {},\n ...props\n}: StepperProps) {\n const [activeStep, setActiveStep] = useState(defaultValue)\n const [triggerNodes, setTriggerNodes] = useState<HTMLButtonElement[]>([])\n\n // Register/unregister triggers\n const registerTrigger = useCallback((node: HTMLButtonElement | null) => {\n setTriggerNodes((prev) => {\n if (node && !prev.includes(node)) {\n return [...prev, node]\n } else if (!node && prev.includes(node!)) {\n return prev.filter((n) => n !== node)\n } else {\n return prev\n }\n })\n }, [])\n\n const handleSetActiveStep = useCallback(\n (step: number) => {\n if (value === undefined) {\n setActiveStep(step)\n }\n onValueChange?.(step)\n },\n [value, onValueChange]\n )\n\n const currentStep = value ?? activeStep\n\n // Keyboard navigation logic\n const focusTrigger = useCallback(\n (idx: number) => {\n if (triggerNodes[idx]) triggerNodes[idx].focus()\n },\n [triggerNodes]\n )\n const focusNext = useCallback(\n (currentIdx: number) => focusTrigger((currentIdx + 1) % triggerNodes.length),\n [focusTrigger, triggerNodes]\n )\n const focusPrev = useCallback(\n (currentIdx: number) => focusTrigger((currentIdx - 1 + triggerNodes.length) % triggerNodes.length),\n [focusTrigger, triggerNodes]\n )\n const focusFirst = useCallback(() => focusTrigger(0), [focusTrigger])\n const focusLast = useCallback(() => focusTrigger(triggerNodes.length - 1), [focusTrigger, triggerNodes])\n\n // Context value\n const contextValue = useMemo<StepperContextValue>(\n () => ({\n activeStep: currentStep,\n setActiveStep: handleSetActiveStep,\n stepsCount: Children.toArray(children).filter(\n (child): child is ReactElement =>\n isValidElement(child) && (child.type as { displayName?: string }).displayName === 'StepperItem'\n ).length,\n orientation,\n registerTrigger,\n focusNext,\n focusPrev,\n focusFirst,\n focusLast,\n triggerNodes,\n indicators\n }),\n [\n currentStep,\n handleSetActiveStep,\n children,\n orientation,\n registerTrigger,\n triggerNodes,\n focusFirst,\n focusLast,\n focusNext,\n focusPrev,\n indicators\n ]\n )\n\n return (\n <StepperContext.Provider value={contextValue}>\n <div\n role=\"tablist\"\n aria-orientation={orientation}\n data-slot=\"stepper\"\n className={cn('w-full', className)}\n data-orientation={orientation}\n {...props}\n >\n {children}\n </div>\n </StepperContext.Provider>\n )\n}\n\ninterface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n step: number\n completed?: boolean\n disabled?: boolean\n loading?: boolean\n}\n\nfunction StepperItem({\n step,\n completed = false,\n disabled = false,\n loading = false,\n className,\n children,\n ...props\n}: StepperItemProps) {\n const { activeStep } = useStepper()\n\n const state: StepState = completed || step < activeStep ? 'completed' : activeStep === step ? 'active' : 'inactive'\n\n const isLoading = loading && step === activeStep\n\n return (\n <StepItemContext.Provider value={{ step, state, isDisabled: disabled, isLoading }}>\n <div\n data-slot=\"stepper-item\"\n className={cn(\n 'group/step flex items-center justify-center not-last:flex-1 group-data-[orientation=horizontal]/stepper-nav:flex-row group-data-[orientation=vertical]/stepper-nav:flex-col',\n className\n )}\n data-state={state}\n {...(isLoading ? { 'data-loading': true } : {})}\n {...props}\n >\n {children}\n </div>\n </StepItemContext.Provider>\n )\n}\n\ninterface StepperTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n}\n\nfunction StepperTrigger({ asChild = false, className, children, tabIndex, ...props }: StepperTriggerProps) {\n const { state, isLoading } = useStepItem()\n const stepperCtx = useStepper()\n const { setActiveStep, activeStep, registerTrigger, triggerNodes, focusNext, focusPrev, focusFirst, focusLast } =\n stepperCtx\n const { step, isDisabled } = useStepItem()\n const isSelected = activeStep === step\n const id = `stepper-tab-${step}`\n const panelId = `stepper-panel-${step}`\n\n // Register this trigger for keyboard navigation\n const btnRef = useRef<HTMLButtonElement>(null)\n useEffect(() => {\n if (btnRef.current) {\n registerTrigger(btnRef.current)\n }\n }, [registerTrigger])\n\n // Find our index among triggers for navigation\n const myIdx = useMemo(() => triggerNodes.findIndex((n: HTMLButtonElement) => n === btnRef.current), [triggerNodes])\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n e.preventDefault()\n if (myIdx !== -1 && focusNext) focusNext(myIdx)\n break\n case 'ArrowLeft':\n case 'ArrowUp':\n e.preventDefault()\n if (myIdx !== -1 && focusPrev) focusPrev(myIdx)\n break\n case 'Home':\n e.preventDefault()\n if (focusFirst) focusFirst()\n break\n case 'End':\n e.preventDefault()\n if (focusLast) focusLast()\n break\n case 'Enter':\n case ' ':\n e.preventDefault()\n setActiveStep(step)\n break\n }\n }\n\n if (asChild) {\n return (\n <span data-slot=\"stepper-trigger\" data-state={state} className={className}>\n {children}\n </span>\n )\n }\n\n return (\n <button\n ref={btnRef}\n role=\"tab\"\n id={id}\n aria-selected={isSelected}\n aria-controls={panelId}\n tabIndex={typeof tabIndex === 'number' ? tabIndex : isSelected ? 0 : -1}\n data-slot=\"stepper-trigger\"\n data-state={state}\n data-loading={isLoading}\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 inline-flex cursor-pointer items-center outline-none focus-visible:z-10 focus-visible:ring-3 disabled:pointer-events-none disabled:opacity-60',\n 'gap-2.5 rounded-full',\n className\n )}\n onClick={() => setActiveStep(step)}\n onKeyDown={handleKeyDown}\n disabled={isDisabled}\n {...props}\n >\n {children}\n </button>\n )\n}\n\nexport type StepperIndicatorProps = React.ComponentProps<'div'>\n\nfunction StepperIndicator({ children, className }: StepperIndicatorProps) {\n const { state, isLoading } = useStepItem()\n const { indicators } = useStepper()\n\n return (\n <div\n data-slot=\"stepper-indicator\"\n data-state={state}\n className={cn(\n 'border-background bg-accent text-accent-foreground data-[state=completed]:bg-primary data-[state=completed]:text-primary-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground relative flex size-6 shrink-0 items-center justify-center overflow-hidden',\n 'rounded-full text-xs',\n className\n )}\n >\n <div className=\"absolute\">\n {indicators &&\n ((isLoading && indicators.loading) ||\n (state === 'completed' && indicators.completed) ||\n (state === 'active' && indicators.active) ||\n (state === 'inactive' && indicators.inactive))\n ? (isLoading && indicators.loading) ||\n (state === 'completed' && indicators.completed) ||\n (state === 'active' && indicators.active) ||\n (state === 'inactive' && indicators.inactive)\n : children}\n </div>\n </div>\n )\n}\n\nexport type StepperSeparatorProps = React.ComponentProps<'div'>\n\nfunction StepperSeparator({ className }: StepperSeparatorProps) {\n const { state } = useStepItem()\n\n return (\n <div\n data-slot=\"stepper-separator\"\n data-state={state}\n className={cn(\n 'bg-muted rounded-sm group-data-[orientation=horizontal]/stepper-nav:h-0.5 group-data-[orientation=vertical]/stepper-nav:h-12 group-data-[orientation=vertical]/stepper-nav:w-0.5 m-0.5 group-data-[orientation=horizontal]/stepper-nav:flex-1',\n className\n )}\n />\n )\n}\n\nexport type StepperTitleProps = React.ComponentProps<'h3'>\n\nfunction StepperTitle({ children, className }: StepperTitleProps) {\n const { state } = useStepItem()\n\n return (\n <h3 data-slot=\"stepper-title\" data-state={state} className={cn('text-sm leading-none font-medium', className)}>\n {children}\n </h3>\n )\n}\n\nexport type StepperDescriptionProps = React.ComponentProps<'div'>\n\nfunction StepperDescription({ children, className }: StepperDescriptionProps) {\n const { state } = useStepItem()\n\n return (\n <div data-slot=\"stepper-description\" data-state={state} className={cn('text-muted-foreground text-sm', className)}>\n {children}\n </div>\n )\n}\n\nexport type StepperNavProps = React.ComponentProps<'nav'>\n\nfunction StepperNav({ children, className }: StepperNavProps) {\n const { activeStep, orientation } = useStepper()\n\n return (\n <nav\n data-slot=\"stepper-nav\"\n data-state={activeStep}\n data-orientation={orientation}\n className={cn(\n 'group/stepper-nav inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col',\n className\n )}\n >\n {children}\n </nav>\n )\n}\n\nexport type StepperPanelProps = React.ComponentProps<'div'>\n\nfunction StepperPanel({ children, className }: StepperPanelProps) {\n const { activeStep } = useStepper()\n\n return (\n <div data-slot=\"stepper-panel\" data-state={activeStep} className={cn('w-full', className)}>\n {children}\n </div>\n )\n}\n\ninterface StepperContentProps extends React.ComponentProps<'div'> {\n value: number\n forceMount?: boolean\n}\n\nfunction StepperContent({ value, forceMount, children, className }: StepperContentProps) {\n const { activeStep } = useStepper()\n const isActive = value === activeStep\n\n if (!forceMount && !isActive) {\n return null\n }\n\n return (\n <div\n data-slot=\"stepper-content\"\n data-state={activeStep}\n className={cn('w-full', className, !isActive && forceMount && 'hidden')}\n hidden={!isActive && forceMount}\n >\n {children}\n </div>\n )\n}\n\nexport {\n Stepper,\n StepperContent,\n type StepperContentProps,\n StepperDescription,\n StepperIndicator,\n StepperItem,\n type StepperItemProps,\n StepperNav,\n StepperPanel,\n type StepperProps,\n StepperSeparator,\n StepperTitle,\n StepperTrigger,\n type StepperTriggerProps,\n useStepItem,\n useStepper\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import"../rolldown-runtime-Bdj-bS2b.js";import{useMask as e}from"@react-input/mask";const t={9:/\d/,a:/[A-Za-z]/,"*":/./};function useMask(n={}){let{replacement:r,...i}=n;return e({...i,replacement:r??t})}export{useMask};
1
+ import"../rolldown-runtime-Bdj-bS2b.js";import{useMask as e}from"@react-input/mask";const t={_:/\d/,"#":/[A-Za-z]/,"*":/./};function useMask(n={}){let{replacement:r,mask:i,...a}=n;return e({mask:!r&&i?i.replace(/[9a]/g,e=>e===`9`?`_`:`#`):i,...a,replacement:r??t})}export{useMask};
2
2
  //# sourceMappingURL=use-mask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mask.js","names":["useReactInputMask"],"sources":["../../src/hooks/use-mask.ts"],"sourcesContent":["import type { MaskOptions, Replacement } from '@react-input/mask'\nimport { useMask as useReactInputMask } from '@react-input/mask'\n\nexport type { MaskOptions, ModifiedData, Modify, Replacement, Track, TrackingData } from '@react-input/mask'\n\nconst DEFAULT_REPLACEMENT: Replacement = {\n 9: /\\d/,\n a: /[A-Za-z]/,\n '*': /./\n}\n\nexport type UseMaskOptions = MaskOptions\n\nexport function useMask(options: UseMaskOptions = {}) {\n const { replacement, ...rest } = options\n return useReactInputMask({\n ...rest,\n replacement: replacement ?? DEFAULT_REPLACEMENT\n })\n}\n"],"mappings":"oFAKA,MAAM,EAAmC,CACvC,EAAG,KACH,EAAG,WACH,IAAK,GACP,EAIA,SAAgB,QAAQ,EAA0B,CAAC,EAAG,CACpD,GAAM,CAAE,cAAa,GAAG,GAAS,EACjC,OAAOA,EAAkB,CACvB,GAAG,EACH,YAAa,GAAe,CAC9B,CAAC,CACH"}
1
+ {"version":3,"file":"use-mask.js","names":["useReactInputMask"],"sources":["../../src/hooks/use-mask.ts"],"sourcesContent":["import type { MaskOptions, Replacement } from '@react-input/mask'\nimport { useMask as useReactInputMask } from '@react-input/mask'\n\nexport type { MaskOptions, ModifiedData, Modify, Replacement, Track, TrackingData } from '@react-input/mask'\n\nconst DEFAULT_REPLACEMENT: Replacement = {\n _: /\\d/,\n '#': /[A-Za-z]/,\n '*': /./\n}\n\nexport type UseMaskOptions = MaskOptions\n\nexport function useMask(options: UseMaskOptions = {}) {\n const { replacement, mask, ...rest } = options\n\n // Legacy default tokens (9/a) collided with typed digits/letters; rewrite them to the safe tokens (_/#) when the default replacement is in effect.\n const safeMask = !replacement && mask ? mask.replace(/[9a]/g, (token) => (token === '9' ? '_' : '#')) : mask\n\n return useReactInputMask({\n mask: safeMask,\n ...rest,\n replacement: replacement ?? DEFAULT_REPLACEMENT\n })\n}\n"],"mappings":"oFAKA,MAAM,EAAmC,CACvC,EAAG,KACH,IAAK,WACL,IAAK,GACP,EAIA,SAAgB,QAAQ,EAA0B,CAAC,EAAG,CACpD,GAAM,CAAE,cAAa,OAAM,GAAG,GAAS,EAKvC,OAAOA,EAAkB,CACvB,KAHe,CAAC,GAAe,EAAO,EAAK,QAAQ,QAAU,GAAW,IAAU,IAAM,IAAM,GAAI,EAAI,EAItG,GAAG,EACH,YAAa,GAAe,CAC9B,CAAC,CACH"}
package/dist/index.d.ts CHANGED
@@ -50,7 +50,9 @@ import { MaskOptions, ModifiedData, Modify, Replacement, Track, TrackingData, Us
50
50
  import { MaskInput, MaskInputProps } from "./components/mask-input.js";
51
51
  import { NativeSelect, NativeSelectOptGroup, NativeSelectOptGroupProps, NativeSelectOption, NativeSelectOptionProps, NativeSelectProps } from "./components/native-select.js";
52
52
  import { NavigationMenu, NavigationMenuContent, NavigationMenuContentProps, NavigationMenuIndicator, NavigationMenuIndicatorProps, NavigationMenuItem, NavigationMenuItemProps, NavigationMenuLink, NavigationMenuLinkProps, NavigationMenuList, NavigationMenuListProps, NavigationMenuProps, NavigationMenuTrigger, NavigationMenuTriggerProps, NavigationMenuViewport, NavigationMenuViewportProps, navigationMenuTriggerStyle } from "./components/navigation-menu.js";
53
+ import { NumberField, NumberFieldDecrement, NumberFieldDecrementProps, NumberFieldGroup, NumberFieldGroupProps, NumberFieldIncrement, NumberFieldIncrementProps, NumberFieldInput, NumberFieldInputProps, NumberFieldProps, NumberFieldScrubArea, NumberFieldScrubAreaProps } from "./components/number-field.js";
53
54
  import { Pagination, PaginationContent, PaginationContentProps, PaginationEllipsis, PaginationEllipsisProps, PaginationItem, PaginationItemProps, PaginationLink, PaginationLinkProps, PaginationNext, PaginationNextProps, PaginationPrevious, PaginationPreviousProps, PaginationProps } from "./components/pagination.js";
55
+ import { PhoneInput, PhoneInputProps } from "./components/phone-input.js";
54
56
  import { Progress, ProgressProps, progressVariants } from "./components/progress.js";
55
57
  import { RadioGroup, RadioGroupItem, RadioGroupItemProps, RadioGroupProps } from "./components/radio-group.js";
56
58
  import { ResizableHandle, ResizableHandleProps, ResizablePanel, ResizablePanelGroup, ResizablePanelGroupProps, ResizablePanelProps } from "./components/resizable.js";
@@ -65,6 +67,7 @@ import { Slider, SliderProps } from "./components/slider.js";
65
67
  import { Toaster, ToasterProps, toast } from "./components/sonner.js";
66
68
  import { Spinner, SpinnerProps, spinnerVariants } from "./components/spinner.js";
67
69
  import { Stack, StackProps, stackVariants } from "./components/stack.js";
70
+ import { Stepper, StepperContent, StepperContentProps, StepperDescription, StepperDescriptionProps, StepperIndicator, StepperIndicatorProps, StepperItem, StepperItemProps, StepperNav, StepperNavProps, StepperPanel, StepperPanelProps, StepperProps, StepperSeparator, StepperSeparatorProps, StepperTitle, StepperTitleProps, StepperTrigger, StepperTriggerProps, useStepItem, useStepper } from "./components/stepper.js";
68
71
  import { Switch, SwitchProps } from "./components/switch.js";
69
72
  import { Tabs, TabsContent, TabsContentProps, TabsList, TabsListProps, TabsProps, TabsTrigger, TabsTriggerProps, tabsListVariants } from "./components/tabs.js";
70
73
  import { Text, TextProps, textVariants } from "./components/text.js";
@@ -89,4 +92,4 @@ import { ButtonColor, buttonColorVariants } from "./lib/button.js";
89
92
  import { composeRefs, setRef } from "./lib/compose-refs.js";
90
93
  import { ProgressColor, progressColorVariants } from "./lib/progress.js";
91
94
  import { cn, randomId } from "./lib/utils.js";
92
- 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, BarChartDatum, 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, CHART_COLOR_KEYS, 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, ChartColorKey, 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, DEFAULT_CHART_PALETTE, 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, DialogBody, DialogBodyProps, 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, HotkeyItem, type HotkeyItemOptions, 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, Marker, MarkerContent, MarkerContentProps, MarkerIcon, MarkerIconProps, MarkerProps, 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, ProgressColor, 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, RingProgress, RingProgressProps, RingProgressThickness, 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, composeRefs, containerVariants, createDataTableSelectColumn, defaultDataTableLabels, flexVariants, getHotkeyHandler, groupVariants, headingVariants, listVariants, locale, markerVariants, navigationMenuTriggerStyle, progressColorVariants, progressVariants, randomId, resolveChartColor, ringProgressVariants, selectionControlColorVariants, setRef, spinnerVariants, stackVariants, tableVariants, tabsListVariants, textVariants, timelineVariants, toast, toggleVariants, uiColors, useBreakpoint, useBreakpointValue, useCarousel, useComboboxAnchor, useDataTable, useDataTableContext, useDisclosure, useDocumentVisibility, useDropzone, useFieldControlId, useHotkeys, useIdle, useInterval, useIsMobile, useLocalStorage, useMask, useSidebar, useTheme };
95
+ 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, BarChartDatum, 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, CHART_COLOR_KEYS, 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, ChartColorKey, 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, DEFAULT_CHART_PALETTE, 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, DialogBody, DialogBodyProps, 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, HotkeyItem, type HotkeyItemOptions, 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, Marker, MarkerContent, MarkerContentProps, MarkerIcon, MarkerIconProps, MarkerProps, 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, NumberField, NumberFieldDecrement, NumberFieldDecrementProps, NumberFieldGroup, NumberFieldGroupProps, NumberFieldIncrement, NumberFieldIncrementProps, NumberFieldInput, NumberFieldInputProps, NumberFieldProps, NumberFieldScrubArea, NumberFieldScrubAreaProps, Pagination, PaginationContent, PaginationContentProps, PaginationEllipsis, PaginationEllipsisProps, PaginationItem, PaginationItemProps, PaginationLink, PaginationLinkProps, PaginationNext, PaginationNextProps, PaginationPrevious, PaginationPreviousProps, PaginationProps, PhoneInput, PhoneInputProps, PieChart, PieChartBase, PieChartBaseProps, PieChartDatum, PieChartProps, Popover, PopoverAnchor, PopoverAnchorProps, PopoverContent, PopoverContentProps, PopoverDescription, PopoverDescriptionProps, PopoverHeader, PopoverHeaderProps, PopoverProps, PopoverTitle, PopoverTitleProps, PopoverTrigger, PopoverTriggerProps, Progress, ProgressColor, 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, RingProgress, RingProgressProps, RingProgressThickness, 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, Stepper, StepperContent, type StepperContentProps, StepperDescription, StepperDescriptionProps, StepperIndicator, StepperIndicatorProps, StepperItem, type StepperItemProps, StepperNav, StepperNavProps, StepperPanel, StepperPanelProps, type StepperProps, StepperSeparator, StepperSeparatorProps, StepperTitle, StepperTitleProps, StepperTrigger, type StepperTriggerProps, 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, composeRefs, containerVariants, createDataTableSelectColumn, defaultDataTableLabels, flexVariants, getHotkeyHandler, groupVariants, headingVariants, listVariants, locale, markerVariants, navigationMenuTriggerStyle, progressColorVariants, progressVariants, randomId, resolveChartColor, ringProgressVariants, selectionControlColorVariants, setRef, spinnerVariants, stackVariants, tableVariants, tabsListVariants, textVariants, timelineVariants, toast, toggleVariants, uiColors, useBreakpoint, useBreakpointValue, useCarousel, useComboboxAnchor, useDataTable, useDataTableContext, useDisclosure, useDocumentVisibility, useDropzone, useFieldControlId, useHotkeys, useIdle, useInterval, useIsMobile, useLocalStorage, useMask, useSidebar, useStepItem, useStepper, 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{CHART_COLOR_KEYS as k,ChartContainer as A,ChartLegend as j,ChartLegendContent as M,ChartStyle as N,ChartTooltip as P,ChartTooltipContent as F,DEFAULT_CHART_PALETTE as I,resolveChartColor as L}from"./components/chart.js";import{AreaChart as R}from"./components/area-chart.js";import{Avatar as z,AvatarBadge as B,AvatarFallback as V,AvatarGroup as H,AvatarGroupCount as U,AvatarImage as W}from"./components/avatar.js";import{badgeColorVariants as G}from"./lib/badge.js";import{Badge as K,badgeVariants as q}from"./components/badge.js";import{BarChart as J}from"./components/bar-chart.js";import{Breadcrumb as Y,BreadcrumbEllipsis as X,BreadcrumbItem as Z,BreadcrumbLink as Q,BreadcrumbList as $,BreadcrumbPage as ee,BreadcrumbSeparator as te}from"./components/breadcrumb.js";import{Separator as ne}from"./components/separator.js";import{ButtonGroup as re,ButtonGroupSeparator as ie,ButtonGroupText as ae,buttonGroupVariants as oe}from"./components/button-group.js";import{Calendar as se,CalendarDayButton as ce,locale as le}from"./components/calendar.js";import{Card as ue,CardAction as de,CardContent as fe,CardDescription as pe,CardFooter as me,CardHeader as he,CardTitle as ge}from"./components/card.js";import{Carousel as _e,CarouselContent as ve,CarouselIndicators as ye,CarouselItem as be,CarouselNext as xe,CarouselPrevious as Se,useCarousel as Ce}from"./components/carousel.js";import{Center as we,centerVariants as Te}from"./components/center.js";import{selectionControlColorVariants as Ee,uiColors as De}from"./lib/color.js";import{Label as Oe}from"./components/label.js";import{Field as ke,FieldContent as Ae,FieldDescription as je,FieldError as Me,FieldGroup as Ne,FieldLabel as Pe,FieldLegend as Fe,FieldSeparator as Ie,FieldSet as Le,FieldTitle as Re,useFieldControlId as ze}from"./components/field.js";import{Checkbox as Be}from"./components/checkbox.js";import{Code as Ve}from"./components/code.js";import{Collapsible as He,CollapsibleContent as Ue,CollapsibleTrigger as We}from"./components/collapsible.js";import{Input as Ge}from"./components/input.js";import{Textarea as Ke}from"./components/textarea.js";import{InputGroup as qe,InputGroupAddon as Je,InputGroupButton as Ye,InputGroupInput as Xe,InputGroupText as Ze,InputGroupTextarea as Qe}from"./components/input-group.js";import{Combobox as $e,ComboboxChip as et,ComboboxChips as tt,ComboboxChipsInput as nt,ComboboxClear as rt,ComboboxCollection as it,ComboboxContent as at,ComboboxEmpty as ot,ComboboxGroup as st,ComboboxInput as ct,ComboboxItem as lt,ComboboxLabel as ut,ComboboxList as dt,ComboboxSeparator as ft,ComboboxTrigger as pt,ComboboxValue as mt,useComboboxAnchor as ht}from"./components/combobox.js";import{Dialog as gt,DialogBody as _t,DialogClose as vt,DialogContent as yt,DialogDescription as bt,DialogFooter as xt,DialogHeader as St,DialogOverlay as Ct,DialogPortal as wt,DialogTitle as Tt,DialogTrigger as Et}from"./components/dialog.js";import{Command as Dt,CommandDialog as Ot,CommandEmpty as kt,CommandGroup as At,CommandInput as jt,CommandItem as Mt,CommandList as Nt,CommandSeparator as Pt,CommandShortcut as Ft}from"./components/command.js";import{Container as It,containerVariants as Lt}from"./components/container.js";import{DropdownMenu as Rt,DropdownMenuCheckboxItem as zt,DropdownMenuContent as Bt,DropdownMenuGroup as Vt,DropdownMenuItem as Ht,DropdownMenuLabel as Ut,DropdownMenuPortal as Wt,DropdownMenuRadioGroup as Gt,DropdownMenuRadioItem as Kt,DropdownMenuSeparator as qt,DropdownMenuShortcut as Jt,DropdownMenuSub as Yt,DropdownMenuSubContent as Xt,DropdownMenuSubTrigger as Zt,DropdownMenuTrigger as Qt}from"./components/dropdown-menu.js";import{Select as $t,SelectContent as en,SelectGroup as tn,SelectItem as nn,SelectLabel as rn,SelectScrollDownButton as an,SelectScrollUpButton as on,SelectSeparator as sn,SelectTrigger as cn,SelectValue as ln}from"./components/select.js";import{Table as un,TableBody as dn,TableCaption as fn,TableCell as pn,TableContainer as mn,TableFooter as hn,TableHead as gn,TableHeader as _n,TableRow as vn,tableVariants as yn}from"./components/table.js";import{DataTable as bn,DataTableBody as xn,DataTableColumnHeader as Sn,DataTableHeader as Cn,DataTablePagination as wn,DataTableRoot as Tn,DataTableToolbar as En,DataTableViewOptions as Dn,createDataTableSelectColumn as On,defaultDataTableLabels as kn,useDataTable as An,useDataTableContext as jn}from"./components/data-table.js";import{Popover as Mn,PopoverAnchor as Nn,PopoverContent as Pn,PopoverDescription as Fn,PopoverHeader as In,PopoverTitle as Ln,PopoverTrigger as Rn}from"./components/popover.js";import{DateRangePicker as zn,DateRangePickerActions as Bn,DateRangePickerApply as Vn,DateRangePickerCalendar as Hn,DateRangePickerContent as Un,DateRangePickerDateFields as Wn,DateRangePickerPreset as Gn,DateRangePickerPresets as Kn,DateRangePickerReset as qn,DateRangePickerTrigger as Jn,DateRangePickerValue as Yn}from"./components/date-range-picker.js";import{PieChart as Xn,PieChartBase as Zn,buildPieConfig as Qn}from"./components/pie-chart.js";import{DonutChart as $n}from"./components/donut-chart.js";import{Drawer as er,DrawerBody as tr,DrawerClose as nr,DrawerContent as rr,DrawerDescription as ir,DrawerFooter as ar,DrawerHeader as or,DrawerOverlay as sr,DrawerPortal as cr,DrawerTitle as lr,DrawerTrigger as ur}from"./components/drawer.js";import{composeRefs as dr,setRef as fr}from"./lib/compose-refs.js";import{Dropzone as pr,DropzoneArea as mr,DropzoneDescription as hr,DropzoneFileList as gr,DropzoneFileListItem as _r,DropzoneFileMessage as vr,DropzoneMessage as yr,DropzoneRemoveFile as br,DropzoneRetryFile as xr,DropzoneTrigger as Sr,ErrorCode as Cr,InfiniteProgress as wr,useDropzone as Tr}from"./components/dropzone.js";import{Empty as Er,EmptyContent as Dr,EmptyDescription as Or,EmptyHeader as kr,EmptyMedia as Ar,EmptyTitle as jr}from"./components/empty.js";import{Flex as Mr,flexVariants as Nr}from"./components/flex.js";import{Grid as Pr,GridItem as Fr}from"./components/grid.js";import{Group as Ir,groupVariants as Lr}from"./components/group.js";import{Heading as Rr,headingVariants as zr}from"./components/heading.js";import{HoverCard as Br,HoverCardContent as Vr,HoverCardTrigger as Hr}from"./components/hover-card.js";import{InputOTP as Ur,InputOTPGroup as Wr,InputOTPSeparator as Gr,InputOTPSlot as Kr,REGEXP_ONLY_CHARS as qr,REGEXP_ONLY_DIGITS as Jr,REGEXP_ONLY_DIGITS_AND_CHARS as Yr}from"./components/input-otp.js";import{Kbd as Xr,KbdGroup as Zr}from"./components/kbd.js";import{List as Qr,ListIcon as $r,ListItem as ei,listVariants as ti}from"./components/list.js";import{Marker as ni,MarkerContent as ri,MarkerIcon as ii,markerVariants as ai}from"./components/marker.js";import{useMask as oi}from"./hooks/use-mask.js";import{MaskInput as si}from"./components/mask-input.js";import{NativeSelect as ci,NativeSelectOptGroup as li,NativeSelectOption as ui}from"./components/native-select.js";import{NavigationMenu as di,NavigationMenuContent as fi,NavigationMenuIndicator as pi,NavigationMenuItem as mi,NavigationMenuLink as hi,NavigationMenuList as gi,NavigationMenuTrigger as _i,NavigationMenuViewport as vi,navigationMenuTriggerStyle as yi}from"./components/navigation-menu.js";import{Pagination as bi,PaginationContent as xi,PaginationEllipsis as Si,PaginationItem as Ci,PaginationLink as wi,PaginationNext as Ti,PaginationPrevious as Ei}from"./components/pagination.js";import{progressColorVariants as Di}from"./lib/progress.js";import{Progress as Oi,progressVariants as ki}from"./components/progress.js";import{RadioGroup as Ai,RadioGroupItem as ji}from"./components/radio-group.js";import{ResizableHandle as Mi,ResizablePanel as Ni,ResizablePanelGroup as Pi}from"./components/resizable.js";import{RingProgress as Fi,ringProgressVariants as Ii}from"./components/ring-progress.js";import{ScrollArea as Li,ScrollBar as Ri}from"./components/scroll-area.js";import{useIsMobile as zi}from"./hooks/use-mobile.js";import{Skeleton as Bi}from"./components/skeleton.js";import{Tooltip as Vi,TooltipContent as Hi,TooltipProvider as Ui,TooltipRoot as Wi,TooltipTrigger as Gi}from"./components/tooltip.js";import{Sidebar as Ki,SidebarContent as qi,SidebarFooter as Ji,SidebarGroup as Yi,SidebarGroupAction as Xi,SidebarGroupContent as Zi,SidebarGroupLabel as Qi,SidebarHeader as $i,SidebarInput as ea,SidebarInset as ta,SidebarMenu as na,SidebarMenuAction as ra,SidebarMenuBadge as ia,SidebarMenuButton as aa,SidebarMenuItem as oa,SidebarMenuSkeleton as sa,SidebarMenuSub as ca,SidebarMenuSubButton as la,SidebarMenuSubItem as ua,SidebarProvider as da,SidebarRail as fa,SidebarSeparator as pa,SidebarTrigger as ma,useSidebar as ha}from"./components/sidebar.js";import{SimpleGrid as ga}from"./components/simple-grid.js";import{Slider as _a}from"./components/slider.js";import{Toaster as va,toast as ya}from"./components/sonner.js";import{Stack as ba,stackVariants as xa}from"./components/stack.js";import{Switch as Sa}from"./components/switch.js";import{Tabs as Ca,TabsContent as wa,TabsList as Ta,TabsTrigger as Ea,tabsListVariants as Da}from"./components/tabs.js";import{Text as Oa,textVariants as ka}from"./components/text.js";import{ModeToggle as Aa,ThemeProvider as ja,useTheme as Ma}from"./components/theme.js";import{Timeline as Na,TimelineConnector as Pa,TimelineContent as Fa,TimelineDescription as Ia,TimelineEmpty as La,TimelineHeader as Ra,TimelineIcon as za,TimelineItem as Ba,TimelineTime as Va,TimelineTitle as Ha,timelineVariants as Ua}from"./components/timeline.js";import{Toggle as Wa,toggleVariants as Ga}from"./components/toggle.js";import{ToggleGroup as Ka,ToggleGroupItem as qa}from"./components/toggle-group.js";import{UnstyledButton as Ja}from"./components/unstyled-button.js";import{breakpointValues as Ya,useBreakpoint as Xa}from"./hooks/use-breakpoint.js";import{HiddenFrom as Za,VisibleFrom as Qa}from"./components/visibility.js";import{useBreakpointValue as $a}from"./hooks/use-breakpoint-value.js";import{useDisclosure as eo}from"./hooks/use-disclosure.js";import{useDocumentVisibility as to}from"./hooks/use-document-visibility.js";import{n as no,t as ro}from"./use-hotkeys-C0d5t4yo.js";import{useIdle as io}from"./hooks/use-idle.js";import{useInterval as ao}from"./hooks/use-interval.js";import{useLocalStorage as oo}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,R as AreaChart,z as Avatar,B as AvatarBadge,V as AvatarFallback,H as AvatarGroup,U as AvatarGroupCount,W as AvatarImage,K as Badge,J as BarChart,Y as Breadcrumb,X as BreadcrumbEllipsis,Z as BreadcrumbItem,Q as BreadcrumbLink,$ as BreadcrumbList,ee as BreadcrumbPage,te as BreadcrumbSeparator,p as Button,re as ButtonGroup,ie as ButtonGroupSeparator,ae as ButtonGroupText,k as CHART_COLOR_KEYS,se as Calendar,ce as CalendarDayButton,ue as Card,de as CardAction,fe as CardContent,pe as CardDescription,me as CardFooter,he as CardHeader,ge as CardTitle,_e as Carousel,ve as CarouselContent,ye as CarouselIndicators,be as CarouselItem,xe as CarouselNext,Se as CarouselPrevious,we as Center,A as ChartContainer,j as ChartLegend,M as ChartLegendContent,N as ChartStyle,P as ChartTooltip,F as ChartTooltipContent,Be as Checkbox,Ve as Code,He as Collapsible,Ue as CollapsibleContent,We as CollapsibleTrigger,$e as Combobox,et as ComboboxChip,tt as ComboboxChips,nt as ComboboxChipsInput,rt as ComboboxClear,it as ComboboxCollection,at as ComboboxContent,ot as ComboboxEmpty,st as ComboboxGroup,ct as ComboboxInput,lt as ComboboxItem,ut as ComboboxLabel,dt as ComboboxList,ft as ComboboxSeparator,pt as ComboboxTrigger,mt as ComboboxValue,Dt as Command,Ot as CommandDialog,kt as CommandEmpty,At as CommandGroup,jt as CommandInput,Mt as CommandItem,Nt as CommandList,Pt as CommandSeparator,Ft as CommandShortcut,It as Container,I as DEFAULT_CHART_PALETTE,bn as DataTable,xn as DataTableBody,Sn as DataTableColumnHeader,Cn as DataTableHeader,wn as DataTablePagination,Tn as DataTableRoot,En as DataTableToolbar,Dn as DataTableViewOptions,zn as DateRangePicker,Bn as DateRangePickerActions,Vn as DateRangePickerApply,Hn as DateRangePickerCalendar,Un as DateRangePickerContent,Wn as DateRangePickerDateFields,Gn as DateRangePickerPreset,Kn as DateRangePickerPresets,qn as DateRangePickerReset,Jn as DateRangePickerTrigger,Yn as DateRangePickerValue,gt as Dialog,_t as DialogBody,vt as DialogClose,yt as DialogContent,bt as DialogDescription,xt as DialogFooter,St as DialogHeader,Ct as DialogOverlay,wt as DialogPortal,Tt as DialogTitle,Et as DialogTrigger,$n as DonutChart,er as Drawer,tr as DrawerBody,nr as DrawerClose,rr as DrawerContent,ir as DrawerDescription,ar as DrawerFooter,or as DrawerHeader,sr as DrawerOverlay,cr as DrawerPortal,lr as DrawerTitle,ur as DrawerTrigger,Rt as DropdownMenu,zt as DropdownMenuCheckboxItem,Bt as DropdownMenuContent,Vt as DropdownMenuGroup,Ht as DropdownMenuItem,Ut as DropdownMenuLabel,Wt as DropdownMenuPortal,Gt as DropdownMenuRadioGroup,Kt as DropdownMenuRadioItem,qt as DropdownMenuSeparator,Jt as DropdownMenuShortcut,Yt as DropdownMenuSub,Xt as DropdownMenuSubContent,Zt as DropdownMenuSubTrigger,Qt as DropdownMenuTrigger,pr as Dropzone,mr as DropzoneArea,hr as DropzoneDescription,gr as DropzoneFileList,_r as DropzoneFileListItem,vr as DropzoneFileMessage,yr as DropzoneMessage,br as DropzoneRemoveFile,xr as DropzoneRetryFile,Sr as DropzoneTrigger,Er as Empty,Dr as EmptyContent,Or as EmptyDescription,kr as EmptyHeader,Ar as EmptyMedia,jr as EmptyTitle,Cr as ErrorCode,ke as Field,Ae as FieldContent,je as FieldDescription,Me as FieldError,Ne as FieldGroup,Pe as FieldLabel,Fe as FieldLegend,Ie as FieldSeparator,Le as FieldSet,Re as FieldTitle,Mr as Flex,Pr as Grid,Fr as GridItem,Ir as Group,Rr as Heading,Za as HiddenFrom,Br as HoverCard,Vr as HoverCardContent,Hr as HoverCardTrigger,wr as InfiniteProgress,Ge as Input,qe as InputGroup,Je as InputGroupAddon,Ye as InputGroupButton,Xe as InputGroupInput,Ze as InputGroupText,Qe as InputGroupTextarea,Ur as InputOTP,Wr as InputOTPGroup,Gr as InputOTPSeparator,Kr as InputOTPSlot,Xr as Kbd,Zr as KbdGroup,Oe as Label,Qr as List,$r as ListIcon,ei as ListItem,ni as Marker,ri as MarkerContent,ii as MarkerIcon,si as MaskInput,Aa as ModeToggle,ci as NativeSelect,li as NativeSelectOptGroup,ui as NativeSelectOption,di as NavigationMenu,fi as NavigationMenuContent,pi as NavigationMenuIndicator,mi as NavigationMenuItem,hi as NavigationMenuLink,gi as NavigationMenuList,_i as NavigationMenuTrigger,vi as NavigationMenuViewport,bi as Pagination,xi as PaginationContent,Si as PaginationEllipsis,Ci as PaginationItem,wi as PaginationLink,Ti as PaginationNext,Ei as PaginationPrevious,Xn as PieChart,Zn as PieChartBase,Mn as Popover,Nn as PopoverAnchor,Pn as PopoverContent,Fn as PopoverDescription,In as PopoverHeader,Ln as PopoverTitle,Rn as PopoverTrigger,Oi as Progress,qr as REGEXP_ONLY_CHARS,Jr as REGEXP_ONLY_DIGITS,Yr as REGEXP_ONLY_DIGITS_AND_CHARS,Ai as RadioGroup,ji as RadioGroupItem,Mi as ResizableHandle,Ni as ResizablePanel,Pi as ResizablePanelGroup,Fi as RingProgress,Li as ScrollArea,Ri as ScrollBar,$t as Select,en as SelectContent,tn as SelectGroup,nn as SelectItem,rn as SelectLabel,an as SelectScrollDownButton,on as SelectScrollUpButton,sn as SelectSeparator,cn as SelectTrigger,ln as SelectValue,ne as Separator,Ki as Sidebar,qi as SidebarContent,Ji as SidebarFooter,Yi as SidebarGroup,Xi as SidebarGroupAction,Zi as SidebarGroupContent,Qi as SidebarGroupLabel,$i as SidebarHeader,ea as SidebarInput,ta as SidebarInset,na as SidebarMenu,ra as SidebarMenuAction,ia as SidebarMenuBadge,aa as SidebarMenuButton,oa as SidebarMenuItem,sa as SidebarMenuSkeleton,ca as SidebarMenuSub,la as SidebarMenuSubButton,ua as SidebarMenuSubItem,da as SidebarProvider,fa as SidebarRail,pa as SidebarSeparator,ma as SidebarTrigger,ga as SimpleGrid,Bi as Skeleton,_a as Slider,d as Spinner,ba as Stack,Sa as Switch,un as Table,dn as TableBody,fn as TableCaption,pn as TableCell,mn as TableContainer,hn as TableFooter,gn as TableHead,_n as TableHeader,vn as TableRow,Ca as Tabs,wa as TabsContent,Ta as TabsList,Ea as TabsTrigger,Oa as Text,Ke as Textarea,ja as ThemeProvider,Na as Timeline,Pa as TimelineConnector,Fa as TimelineContent,Ia as TimelineDescription,La as TimelineEmpty,Ra as TimelineHeader,za as TimelineIcon,Ba as TimelineItem,Va as TimelineTime,Ha as TimelineTitle,va as Toaster,Wa as Toggle,Ka as ToggleGroup,qa as ToggleGroupItem,Vi as Tooltip,Hi as TooltipContent,Ui as TooltipProvider,Wi as TooltipRoot,Gi as TooltipTrigger,Ja as UnstyledButton,Qa as VisibleFrom,O as anchorVariants,G as badgeColorVariants,q as badgeVariants,Ya as breakpointValues,Qn as buildPieConfig,u as buttonColorVariants,oe as buttonGroupVariants,m as buttonVariants,Te as centerVariants,e as cn,dr as composeRefs,Lt as containerVariants,On as createDataTableSelectColumn,kn as defaultDataTableLabels,Nr as flexVariants,no as getHotkeyHandler,Lr as groupVariants,zr as headingVariants,ti as listVariants,le as locale,ai as markerVariants,yi as navigationMenuTriggerStyle,Di as progressColorVariants,ki as progressVariants,t as randomId,L as resolveChartColor,Ii as ringProgressVariants,Ee as selectionControlColorVariants,fr as setRef,f as spinnerVariants,xa as stackVariants,yn as tableVariants,Da as tabsListVariants,ka as textVariants,Ua as timelineVariants,ya as toast,Ga as toggleVariants,De as uiColors,Xa as useBreakpoint,$a as useBreakpointValue,Ce as useCarousel,ht as useComboboxAnchor,An as useDataTable,jn as useDataTableContext,eo as useDisclosure,to as useDocumentVisibility,Tr as useDropzone,ze as useFieldControlId,ro as useHotkeys,io as useIdle,ao as useInterval,zi as useIsMobile,oo as useLocalStorage,oi as useMask,ha as useSidebar,Ma 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{CHART_COLOR_KEYS as k,ChartContainer as A,ChartLegend as j,ChartLegendContent as M,ChartStyle as N,ChartTooltip as P,ChartTooltipContent as F,DEFAULT_CHART_PALETTE as I,resolveChartColor as L}from"./components/chart.js";import{AreaChart as R}from"./components/area-chart.js";import{Avatar as z,AvatarBadge as B,AvatarFallback as V,AvatarGroup as H,AvatarGroupCount as U,AvatarImage as W}from"./components/avatar.js";import{badgeColorVariants as G}from"./lib/badge.js";import{Badge as K,badgeVariants as q}from"./components/badge.js";import{BarChart as J}from"./components/bar-chart.js";import{Breadcrumb as Y,BreadcrumbEllipsis as X,BreadcrumbItem as Z,BreadcrumbLink as Q,BreadcrumbList as $,BreadcrumbPage as ee,BreadcrumbSeparator as te}from"./components/breadcrumb.js";import{Separator as ne}from"./components/separator.js";import{ButtonGroup as re,ButtonGroupSeparator as ie,ButtonGroupText as ae,buttonGroupVariants as oe}from"./components/button-group.js";import{Calendar as se,CalendarDayButton as ce,locale as le}from"./components/calendar.js";import{Card as ue,CardAction as de,CardContent as fe,CardDescription as pe,CardFooter as me,CardHeader as he,CardTitle as ge}from"./components/card.js";import{Carousel as _e,CarouselContent as ve,CarouselIndicators as ye,CarouselItem as be,CarouselNext as xe,CarouselPrevious as Se,useCarousel as Ce}from"./components/carousel.js";import{Center as we,centerVariants as Te}from"./components/center.js";import{selectionControlColorVariants as Ee,uiColors as De}from"./lib/color.js";import{Label as Oe}from"./components/label.js";import{Field as ke,FieldContent as Ae,FieldDescription as je,FieldError as Me,FieldGroup as Ne,FieldLabel as Pe,FieldLegend as Fe,FieldSeparator as Ie,FieldSet as Le,FieldTitle as Re,useFieldControlId as ze}from"./components/field.js";import{Checkbox as Be}from"./components/checkbox.js";import{Code as Ve}from"./components/code.js";import{Collapsible as He,CollapsibleContent as Ue,CollapsibleTrigger as We}from"./components/collapsible.js";import{Input as Ge}from"./components/input.js";import{Textarea as Ke}from"./components/textarea.js";import{InputGroup as qe,InputGroupAddon as Je,InputGroupButton as Ye,InputGroupInput as Xe,InputGroupText as Ze,InputGroupTextarea as Qe}from"./components/input-group.js";import{Combobox as $e,ComboboxChip as et,ComboboxChips as tt,ComboboxChipsInput as nt,ComboboxClear as rt,ComboboxCollection as it,ComboboxContent as at,ComboboxEmpty as ot,ComboboxGroup as st,ComboboxInput as ct,ComboboxItem as lt,ComboboxLabel as ut,ComboboxList as dt,ComboboxSeparator as ft,ComboboxTrigger as pt,ComboboxValue as mt,useComboboxAnchor as ht}from"./components/combobox.js";import{Dialog as gt,DialogBody as _t,DialogClose as vt,DialogContent as yt,DialogDescription as bt,DialogFooter as xt,DialogHeader as St,DialogOverlay as Ct,DialogPortal as wt,DialogTitle as Tt,DialogTrigger as Et}from"./components/dialog.js";import{Command as Dt,CommandDialog as Ot,CommandEmpty as kt,CommandGroup as At,CommandInput as jt,CommandItem as Mt,CommandList as Nt,CommandSeparator as Pt,CommandShortcut as Ft}from"./components/command.js";import{Container as It,containerVariants as Lt}from"./components/container.js";import{DropdownMenu as Rt,DropdownMenuCheckboxItem as zt,DropdownMenuContent as Bt,DropdownMenuGroup as Vt,DropdownMenuItem as Ht,DropdownMenuLabel as Ut,DropdownMenuPortal as Wt,DropdownMenuRadioGroup as Gt,DropdownMenuRadioItem as Kt,DropdownMenuSeparator as qt,DropdownMenuShortcut as Jt,DropdownMenuSub as Yt,DropdownMenuSubContent as Xt,DropdownMenuSubTrigger as Zt,DropdownMenuTrigger as Qt}from"./components/dropdown-menu.js";import{Select as $t,SelectContent as en,SelectGroup as tn,SelectItem as nn,SelectLabel as rn,SelectScrollDownButton as an,SelectScrollUpButton as on,SelectSeparator as sn,SelectTrigger as cn,SelectValue as ln}from"./components/select.js";import{Table as un,TableBody as dn,TableCaption as fn,TableCell as pn,TableContainer as mn,TableFooter as hn,TableHead as gn,TableHeader as _n,TableRow as vn,tableVariants as yn}from"./components/table.js";import{DataTable as bn,DataTableBody as xn,DataTableColumnHeader as Sn,DataTableHeader as Cn,DataTablePagination as wn,DataTableRoot as Tn,DataTableToolbar as En,DataTableViewOptions as Dn,createDataTableSelectColumn as On,defaultDataTableLabels as kn,useDataTable as An,useDataTableContext as jn}from"./components/data-table.js";import{Popover as Mn,PopoverAnchor as Nn,PopoverContent as Pn,PopoverDescription as Fn,PopoverHeader as In,PopoverTitle as Ln,PopoverTrigger as Rn}from"./components/popover.js";import{DateRangePicker as zn,DateRangePickerActions as Bn,DateRangePickerApply as Vn,DateRangePickerCalendar as Hn,DateRangePickerContent as Un,DateRangePickerDateFields as Wn,DateRangePickerPreset as Gn,DateRangePickerPresets as Kn,DateRangePickerReset as qn,DateRangePickerTrigger as Jn,DateRangePickerValue as Yn}from"./components/date-range-picker.js";import{PieChart as Xn,PieChartBase as Zn,buildPieConfig as Qn}from"./components/pie-chart.js";import{DonutChart as $n}from"./components/donut-chart.js";import{Drawer as er,DrawerBody as tr,DrawerClose as nr,DrawerContent as rr,DrawerDescription as ir,DrawerFooter as ar,DrawerHeader as or,DrawerOverlay as sr,DrawerPortal as cr,DrawerTitle as lr,DrawerTrigger as ur}from"./components/drawer.js";import{composeRefs as dr,setRef as fr}from"./lib/compose-refs.js";import{Dropzone as pr,DropzoneArea as mr,DropzoneDescription as hr,DropzoneFileList as gr,DropzoneFileListItem as _r,DropzoneFileMessage as vr,DropzoneMessage as yr,DropzoneRemoveFile as br,DropzoneRetryFile as xr,DropzoneTrigger as Sr,ErrorCode as Cr,InfiniteProgress as wr,useDropzone as Tr}from"./components/dropzone.js";import{Empty as Er,EmptyContent as Dr,EmptyDescription as Or,EmptyHeader as kr,EmptyMedia as Ar,EmptyTitle as jr}from"./components/empty.js";import{Flex as Mr,flexVariants as Nr}from"./components/flex.js";import{Grid as Pr,GridItem as Fr}from"./components/grid.js";import{Group as Ir,groupVariants as Lr}from"./components/group.js";import{Heading as Rr,headingVariants as zr}from"./components/heading.js";import{HoverCard as Br,HoverCardContent as Vr,HoverCardTrigger as Hr}from"./components/hover-card.js";import{InputOTP as Ur,InputOTPGroup as Wr,InputOTPSeparator as Gr,InputOTPSlot as Kr,REGEXP_ONLY_CHARS as qr,REGEXP_ONLY_DIGITS as Jr,REGEXP_ONLY_DIGITS_AND_CHARS as Yr}from"./components/input-otp.js";import{Kbd as Xr,KbdGroup as Zr}from"./components/kbd.js";import{List as Qr,ListIcon as $r,ListItem as ei,listVariants as ti}from"./components/list.js";import{Marker as ni,MarkerContent as ri,MarkerIcon as ii,markerVariants as ai}from"./components/marker.js";import{useMask as oi}from"./hooks/use-mask.js";import{MaskInput as si}from"./components/mask-input.js";import{NativeSelect as ci,NativeSelectOptGroup as li,NativeSelectOption as ui}from"./components/native-select.js";import{NavigationMenu as di,NavigationMenuContent as fi,NavigationMenuIndicator as pi,NavigationMenuItem as mi,NavigationMenuLink as hi,NavigationMenuList as gi,NavigationMenuTrigger as _i,NavigationMenuViewport as vi,navigationMenuTriggerStyle as yi}from"./components/navigation-menu.js";import{NumberField as bi,NumberFieldDecrement as xi,NumberFieldGroup as Si,NumberFieldIncrement as Ci,NumberFieldInput as wi,NumberFieldScrubArea as Ti}from"./components/number-field.js";import{Pagination as Ei,PaginationContent as Di,PaginationEllipsis as Oi,PaginationItem as ki,PaginationLink as Ai,PaginationNext as ji,PaginationPrevious as Mi}from"./components/pagination.js";import{ScrollArea as Ni,ScrollBar as Pi}from"./components/scroll-area.js";import{PhoneInput as Fi}from"./components/phone-input.js";import{progressColorVariants as Ii}from"./lib/progress.js";import{Progress as Li,progressVariants as Ri}from"./components/progress.js";import{RadioGroup as zi,RadioGroupItem as Bi}from"./components/radio-group.js";import{ResizableHandle as Vi,ResizablePanel as Hi,ResizablePanelGroup as Ui}from"./components/resizable.js";import{RingProgress as Wi,ringProgressVariants as Gi}from"./components/ring-progress.js";import{useIsMobile as Ki}from"./hooks/use-mobile.js";import{Skeleton as qi}from"./components/skeleton.js";import{Tooltip as Ji,TooltipContent as Yi,TooltipProvider as Xi,TooltipRoot as Zi,TooltipTrigger as Qi}from"./components/tooltip.js";import{Sidebar as $i,SidebarContent as ea,SidebarFooter as ta,SidebarGroup as na,SidebarGroupAction as ra,SidebarGroupContent as ia,SidebarGroupLabel as aa,SidebarHeader as oa,SidebarInput as sa,SidebarInset as ca,SidebarMenu as la,SidebarMenuAction as ua,SidebarMenuBadge as da,SidebarMenuButton as fa,SidebarMenuItem as pa,SidebarMenuSkeleton as ma,SidebarMenuSub as ha,SidebarMenuSubButton as ga,SidebarMenuSubItem as _a,SidebarProvider as va,SidebarRail as ya,SidebarSeparator as ba,SidebarTrigger as xa,useSidebar as Sa}from"./components/sidebar.js";import{SimpleGrid as Ca}from"./components/simple-grid.js";import{Slider as wa}from"./components/slider.js";import{Toaster as Ta,toast as Ea}from"./components/sonner.js";import{Stack as Da,stackVariants as Oa}from"./components/stack.js";import{Stepper as ka,StepperContent as Aa,StepperDescription as ja,StepperIndicator as Ma,StepperItem as Na,StepperNav as Pa,StepperPanel as Fa,StepperSeparator as Ia,StepperTitle as La,StepperTrigger as Ra,useStepItem as za,useStepper as Ba}from"./components/stepper.js";import{Switch as Va}from"./components/switch.js";import{Tabs as Ha,TabsContent as Ua,TabsList as Wa,TabsTrigger as Ga,tabsListVariants as Ka}from"./components/tabs.js";import{Text as qa,textVariants as Ja}from"./components/text.js";import{ModeToggle as Ya,ThemeProvider as Xa,useTheme as Za}from"./components/theme.js";import{Timeline as Qa,TimelineConnector as $a,TimelineContent as eo,TimelineDescription as to,TimelineEmpty as no,TimelineHeader as ro,TimelineIcon as io,TimelineItem as ao,TimelineTime as oo,TimelineTitle as so,timelineVariants as co}from"./components/timeline.js";import{Toggle as lo,toggleVariants as uo}from"./components/toggle.js";import{ToggleGroup as fo,ToggleGroupItem as po}from"./components/toggle-group.js";import{UnstyledButton as mo}from"./components/unstyled-button.js";import{breakpointValues as ho,useBreakpoint as go}from"./hooks/use-breakpoint.js";import{HiddenFrom as _o,VisibleFrom as vo}from"./components/visibility.js";import{useBreakpointValue as yo}from"./hooks/use-breakpoint-value.js";import{useDisclosure as bo}from"./hooks/use-disclosure.js";import{useDocumentVisibility as xo}from"./hooks/use-document-visibility.js";import{n as So,t as Co}from"./use-hotkeys-C0d5t4yo.js";import{useIdle as wo}from"./hooks/use-idle.js";import{useInterval as To}from"./hooks/use-interval.js";import{useLocalStorage as Eo}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,R as AreaChart,z as Avatar,B as AvatarBadge,V as AvatarFallback,H as AvatarGroup,U as AvatarGroupCount,W as AvatarImage,K as Badge,J as BarChart,Y as Breadcrumb,X as BreadcrumbEllipsis,Z as BreadcrumbItem,Q as BreadcrumbLink,$ as BreadcrumbList,ee as BreadcrumbPage,te as BreadcrumbSeparator,p as Button,re as ButtonGroup,ie as ButtonGroupSeparator,ae as ButtonGroupText,k as CHART_COLOR_KEYS,se as Calendar,ce as CalendarDayButton,ue as Card,de as CardAction,fe as CardContent,pe as CardDescription,me as CardFooter,he as CardHeader,ge as CardTitle,_e as Carousel,ve as CarouselContent,ye as CarouselIndicators,be as CarouselItem,xe as CarouselNext,Se as CarouselPrevious,we as Center,A as ChartContainer,j as ChartLegend,M as ChartLegendContent,N as ChartStyle,P as ChartTooltip,F as ChartTooltipContent,Be as Checkbox,Ve as Code,He as Collapsible,Ue as CollapsibleContent,We as CollapsibleTrigger,$e as Combobox,et as ComboboxChip,tt as ComboboxChips,nt as ComboboxChipsInput,rt as ComboboxClear,it as ComboboxCollection,at as ComboboxContent,ot as ComboboxEmpty,st as ComboboxGroup,ct as ComboboxInput,lt as ComboboxItem,ut as ComboboxLabel,dt as ComboboxList,ft as ComboboxSeparator,pt as ComboboxTrigger,mt as ComboboxValue,Dt as Command,Ot as CommandDialog,kt as CommandEmpty,At as CommandGroup,jt as CommandInput,Mt as CommandItem,Nt as CommandList,Pt as CommandSeparator,Ft as CommandShortcut,It as Container,I as DEFAULT_CHART_PALETTE,bn as DataTable,xn as DataTableBody,Sn as DataTableColumnHeader,Cn as DataTableHeader,wn as DataTablePagination,Tn as DataTableRoot,En as DataTableToolbar,Dn as DataTableViewOptions,zn as DateRangePicker,Bn as DateRangePickerActions,Vn as DateRangePickerApply,Hn as DateRangePickerCalendar,Un as DateRangePickerContent,Wn as DateRangePickerDateFields,Gn as DateRangePickerPreset,Kn as DateRangePickerPresets,qn as DateRangePickerReset,Jn as DateRangePickerTrigger,Yn as DateRangePickerValue,gt as Dialog,_t as DialogBody,vt as DialogClose,yt as DialogContent,bt as DialogDescription,xt as DialogFooter,St as DialogHeader,Ct as DialogOverlay,wt as DialogPortal,Tt as DialogTitle,Et as DialogTrigger,$n as DonutChart,er as Drawer,tr as DrawerBody,nr as DrawerClose,rr as DrawerContent,ir as DrawerDescription,ar as DrawerFooter,or as DrawerHeader,sr as DrawerOverlay,cr as DrawerPortal,lr as DrawerTitle,ur as DrawerTrigger,Rt as DropdownMenu,zt as DropdownMenuCheckboxItem,Bt as DropdownMenuContent,Vt as DropdownMenuGroup,Ht as DropdownMenuItem,Ut as DropdownMenuLabel,Wt as DropdownMenuPortal,Gt as DropdownMenuRadioGroup,Kt as DropdownMenuRadioItem,qt as DropdownMenuSeparator,Jt as DropdownMenuShortcut,Yt as DropdownMenuSub,Xt as DropdownMenuSubContent,Zt as DropdownMenuSubTrigger,Qt as DropdownMenuTrigger,pr as Dropzone,mr as DropzoneArea,hr as DropzoneDescription,gr as DropzoneFileList,_r as DropzoneFileListItem,vr as DropzoneFileMessage,yr as DropzoneMessage,br as DropzoneRemoveFile,xr as DropzoneRetryFile,Sr as DropzoneTrigger,Er as Empty,Dr as EmptyContent,Or as EmptyDescription,kr as EmptyHeader,Ar as EmptyMedia,jr as EmptyTitle,Cr as ErrorCode,ke as Field,Ae as FieldContent,je as FieldDescription,Me as FieldError,Ne as FieldGroup,Pe as FieldLabel,Fe as FieldLegend,Ie as FieldSeparator,Le as FieldSet,Re as FieldTitle,Mr as Flex,Pr as Grid,Fr as GridItem,Ir as Group,Rr as Heading,_o as HiddenFrom,Br as HoverCard,Vr as HoverCardContent,Hr as HoverCardTrigger,wr as InfiniteProgress,Ge as Input,qe as InputGroup,Je as InputGroupAddon,Ye as InputGroupButton,Xe as InputGroupInput,Ze as InputGroupText,Qe as InputGroupTextarea,Ur as InputOTP,Wr as InputOTPGroup,Gr as InputOTPSeparator,Kr as InputOTPSlot,Xr as Kbd,Zr as KbdGroup,Oe as Label,Qr as List,$r as ListIcon,ei as ListItem,ni as Marker,ri as MarkerContent,ii as MarkerIcon,si as MaskInput,Ya as ModeToggle,ci as NativeSelect,li as NativeSelectOptGroup,ui as NativeSelectOption,di as NavigationMenu,fi as NavigationMenuContent,pi as NavigationMenuIndicator,mi as NavigationMenuItem,hi as NavigationMenuLink,gi as NavigationMenuList,_i as NavigationMenuTrigger,vi as NavigationMenuViewport,bi as NumberField,xi as NumberFieldDecrement,Si as NumberFieldGroup,Ci as NumberFieldIncrement,wi as NumberFieldInput,Ti as NumberFieldScrubArea,Ei as Pagination,Di as PaginationContent,Oi as PaginationEllipsis,ki as PaginationItem,Ai as PaginationLink,ji as PaginationNext,Mi as PaginationPrevious,Fi as PhoneInput,Xn as PieChart,Zn as PieChartBase,Mn as Popover,Nn as PopoverAnchor,Pn as PopoverContent,Fn as PopoverDescription,In as PopoverHeader,Ln as PopoverTitle,Rn as PopoverTrigger,Li as Progress,qr as REGEXP_ONLY_CHARS,Jr as REGEXP_ONLY_DIGITS,Yr as REGEXP_ONLY_DIGITS_AND_CHARS,zi as RadioGroup,Bi as RadioGroupItem,Vi as ResizableHandle,Hi as ResizablePanel,Ui as ResizablePanelGroup,Wi as RingProgress,Ni as ScrollArea,Pi as ScrollBar,$t as Select,en as SelectContent,tn as SelectGroup,nn as SelectItem,rn as SelectLabel,an as SelectScrollDownButton,on as SelectScrollUpButton,sn as SelectSeparator,cn as SelectTrigger,ln as SelectValue,ne as Separator,$i as Sidebar,ea as SidebarContent,ta as SidebarFooter,na as SidebarGroup,ra as SidebarGroupAction,ia as SidebarGroupContent,aa as SidebarGroupLabel,oa as SidebarHeader,sa as SidebarInput,ca as SidebarInset,la as SidebarMenu,ua as SidebarMenuAction,da as SidebarMenuBadge,fa as SidebarMenuButton,pa as SidebarMenuItem,ma as SidebarMenuSkeleton,ha as SidebarMenuSub,ga as SidebarMenuSubButton,_a as SidebarMenuSubItem,va as SidebarProvider,ya as SidebarRail,ba as SidebarSeparator,xa as SidebarTrigger,Ca as SimpleGrid,qi as Skeleton,wa as Slider,d as Spinner,Da as Stack,ka as Stepper,Aa as StepperContent,ja as StepperDescription,Ma as StepperIndicator,Na as StepperItem,Pa as StepperNav,Fa as StepperPanel,Ia as StepperSeparator,La as StepperTitle,Ra as StepperTrigger,Va as Switch,un as Table,dn as TableBody,fn as TableCaption,pn as TableCell,mn as TableContainer,hn as TableFooter,gn as TableHead,_n as TableHeader,vn as TableRow,Ha as Tabs,Ua as TabsContent,Wa as TabsList,Ga as TabsTrigger,qa as Text,Ke as Textarea,Xa as ThemeProvider,Qa as Timeline,$a as TimelineConnector,eo as TimelineContent,to as TimelineDescription,no as TimelineEmpty,ro as TimelineHeader,io as TimelineIcon,ao as TimelineItem,oo as TimelineTime,so as TimelineTitle,Ta as Toaster,lo as Toggle,fo as ToggleGroup,po as ToggleGroupItem,Ji as Tooltip,Yi as TooltipContent,Xi as TooltipProvider,Zi as TooltipRoot,Qi as TooltipTrigger,mo as UnstyledButton,vo as VisibleFrom,O as anchorVariants,G as badgeColorVariants,q as badgeVariants,ho as breakpointValues,Qn as buildPieConfig,u as buttonColorVariants,oe as buttonGroupVariants,m as buttonVariants,Te as centerVariants,e as cn,dr as composeRefs,Lt as containerVariants,On as createDataTableSelectColumn,kn as defaultDataTableLabels,Nr as flexVariants,So as getHotkeyHandler,Lr as groupVariants,zr as headingVariants,ti as listVariants,le as locale,ai as markerVariants,yi as navigationMenuTriggerStyle,Ii as progressColorVariants,Ri as progressVariants,t as randomId,L as resolveChartColor,Gi as ringProgressVariants,Ee as selectionControlColorVariants,fr as setRef,f as spinnerVariants,Oa as stackVariants,yn as tableVariants,Ka as tabsListVariants,Ja as textVariants,co as timelineVariants,Ea as toast,uo as toggleVariants,De as uiColors,go as useBreakpoint,yo as useBreakpointValue,Ce as useCarousel,ht as useComboboxAnchor,An as useDataTable,jn as useDataTableContext,bo as useDisclosure,xo as useDocumentVisibility,Tr as useDropzone,ze as useFieldControlId,Co as useHotkeys,wo as useIdle,To as useInterval,Ki as useIsMobile,Eo as useLocalStorage,oi as useMask,Sa as useSidebar,za as useStepItem,Ba as useStepper,Za as useTheme};
@@ -154,7 +154,13 @@ Unless noted otherwise, each module also exports its public `*Props` types from
154
154
  - Exports: `InputOTP`, `InputOTPGroup`, `InputOTPSeparator`, `InputOTPSlot`, `REGEXP_ONLY_CHARS`, `REGEXP_ONLY_DIGITS`, `REGEXP_ONLY_DIGITS_AND_CHARS`
155
155
  - `mask-input`
156
156
  - Exports: `MaskInput`
157
- - Notes: formatted input backed by `@react-input/mask`. Required prop `mask`; optional `replacement` (string or `Record<string, RegExp>`), `showMask`, `separate`, `track`, `modify`. Default replacement tokens are `9` (digit), `a` (letter), `*` (any). Renders the standard `Input`, so `Field`/`FieldLabel` and all native `<input>` props work as usual. Forwards a `ref` prop to the underlying `<input>`, composed with the internal mask ref via `composeRefs`.
157
+ - Notes: formatted input backed by `@react-input/mask`. Required prop `mask`; optional `replacement` (string or `Record<string, RegExp>`), `showMask`, `separate`, `track`, `modify`. Default replacement tokens are `_` (digit), `#` (letter), `*` (any) — picked so the token is never a character the user actually types. When no custom `replacement` is passed, `mask` strings using the older `9`/`a` tokens are transparently translated to `_`/`#`, so existing masks keep working. Renders the standard `Input`, so `Field`/`FieldLabel` and all native `<input>` props work as usual. Forwards a `ref` prop to the underlying `<input>`, composed with the internal mask ref via `composeRefs`.
158
+ - `number-field`
159
+ - Exports: `NumberField`, `NumberFieldGroup`, `NumberFieldDecrement`, `NumberFieldIncrement`, `NumberFieldInput`, `NumberFieldScrubArea`
160
+ - Notes: Base UI-backed numeric stepper input. `NumberField.size: 'sm' | 'md' | 'lg'` (default `md`); supports `min`, `max`, `step`, and other Base UI `NumberField.Root` props. `NumberFieldScrubArea` requires a `label` and renders a draggable handle that scrubs the value on pointer drag.
161
+ - `phone-input`
162
+ - Exports: `PhoneInput`
163
+ - Notes: international phone input built on `react-phone-number-input`, composed from the existing `Input` and `Combobox` (country select, with flags); matches `Input`'s styling and single size (no `variant`/size prop). `value` / `onChange` use the E.164 `Value` string from `react-phone-number-input`; `defaultCountry` defaults to `BR`.
158
164
  - `checkbox`
159
165
  - Exports: `Checkbox`
160
166
  - Notes: supports `size: 'sm' | 'md' | 'lg'`, `color: UIColor` (default `primary`), `label?: React.ReactNode`, `labelProps`, and automatic `id`/`htmlFor` wiring when a label is provided without an explicit `id`; composed label text follows checkbox size (`sm` 12px, `md` 14px, `lg` 20px)
@@ -217,6 +223,9 @@ Unless noted otherwise, each module also exports its public `*Props` types from
217
223
  - Exports: `Pagination`, `PaginationContent`, `PaginationEllipsis`, `PaginationItem`, `PaginationLink`, `PaginationNext`, `PaginationPrevious`
218
224
  - `sidebar`
219
225
  - Exports: `Sidebar`, `SidebarContent`, `SidebarFooter`, `SidebarGroup`, `SidebarGroupAction`, `SidebarGroupContent`, `SidebarGroupLabel`, `SidebarHeader`, `SidebarInput`, `SidebarInset`, `SidebarMenu`, `SidebarMenuAction`, `SidebarMenuBadge`, `SidebarMenuButton`, `SidebarMenuItem`, `SidebarMenuSkeleton`, `SidebarMenuSub`, `SidebarMenuSubButton`, `SidebarMenuSubItem`, `SidebarProvider`, `SidebarRail`, `SidebarSeparator`, `SidebarTrigger`, `useSidebar`
226
+ - `stepper`
227
+ - Exports: `Stepper`, `StepperNav`, `StepperItem`, `StepperTrigger`, `StepperIndicator`, `StepperSeparator`, `StepperTitle`, `StepperDescription`, `StepperPanel`, `StepperContent`, `useStepper`, `useStepItem`
228
+ - Notes: multi-step progress navigation. `Stepper.orientation: 'horizontal' | 'vertical'` (default `horizontal`); supports controlled (`value` / `onValueChange`) and uncontrolled (`defaultValue`) active step, plus custom per-state `indicators` (`active`, `completed`, `inactive`, `loading`). `StepperItem` accepts `completed`, `disabled`, and `loading`. Arrow-key and Home/End keyboard navigation between triggers is built in.
220
229
  - `tabs`
221
230
  - Exports: `Tabs`, `TabsContent`, `TabsList`, `tabsListVariants`, `TabsTrigger`
222
231
  - Notes: `TabsList.variant` supports `line` and `enclosed`, defaults to `line`, accepts `grow?: boolean` for equal-width horizontal tabs, and uses the `primary` color for the active line indicator
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uselets/ui",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "React component library for the LET'S design system.",
@@ -74,6 +74,7 @@
74
74
  "radix-ui": "1.6.2",
75
75
  "react-day-picker": "10.0.1",
76
76
  "react-dropzone": "17.0.0",
77
+ "react-phone-number-input": "3.4.17",
77
78
  "react-resizable-panels": "4.12.2",
78
79
  "recharts": "3.9.2",
79
80
  "shadcn": "4.13.1",
@@ -154,7 +154,13 @@ Unless noted otherwise, each module also exports its public `*Props` types from
154
154
  - Exports: `InputOTP`, `InputOTPGroup`, `InputOTPSeparator`, `InputOTPSlot`, `REGEXP_ONLY_CHARS`, `REGEXP_ONLY_DIGITS`, `REGEXP_ONLY_DIGITS_AND_CHARS`
155
155
  - `mask-input`
156
156
  - Exports: `MaskInput`
157
- - Notes: formatted input backed by `@react-input/mask`. Required prop `mask`; optional `replacement` (string or `Record<string, RegExp>`), `showMask`, `separate`, `track`, `modify`. Default replacement tokens are `9` (digit), `a` (letter), `*` (any). Renders the standard `Input`, so `Field`/`FieldLabel` and all native `<input>` props work as usual. Forwards a `ref` prop to the underlying `<input>`, composed with the internal mask ref via `composeRefs`.
157
+ - Notes: formatted input backed by `@react-input/mask`. Required prop `mask`; optional `replacement` (string or `Record<string, RegExp>`), `showMask`, `separate`, `track`, `modify`. Default replacement tokens are `_` (digit), `#` (letter), `*` (any) — picked so the token is never a character the user actually types. When no custom `replacement` is passed, `mask` strings using the older `9`/`a` tokens are transparently translated to `_`/`#`, so existing masks keep working. Renders the standard `Input`, so `Field`/`FieldLabel` and all native `<input>` props work as usual. Forwards a `ref` prop to the underlying `<input>`, composed with the internal mask ref via `composeRefs`.
158
+ - `number-field`
159
+ - Exports: `NumberField`, `NumberFieldGroup`, `NumberFieldDecrement`, `NumberFieldIncrement`, `NumberFieldInput`, `NumberFieldScrubArea`
160
+ - Notes: Base UI-backed numeric stepper input. `NumberField.size: 'sm' | 'md' | 'lg'` (default `md`); supports `min`, `max`, `step`, and other Base UI `NumberField.Root` props. `NumberFieldScrubArea` requires a `label` and renders a draggable handle that scrubs the value on pointer drag.
161
+ - `phone-input`
162
+ - Exports: `PhoneInput`
163
+ - Notes: international phone input built on `react-phone-number-input`, composed from the existing `Input` and `Combobox` (country select, with flags); matches `Input`'s styling and single size (no `variant`/size prop). `value` / `onChange` use the E.164 `Value` string from `react-phone-number-input`; `defaultCountry` defaults to `BR`.
158
164
  - `checkbox`
159
165
  - Exports: `Checkbox`
160
166
  - Notes: supports `size: 'sm' | 'md' | 'lg'`, `color: UIColor` (default `primary`), `label?: React.ReactNode`, `labelProps`, and automatic `id`/`htmlFor` wiring when a label is provided without an explicit `id`; composed label text follows checkbox size (`sm` 12px, `md` 14px, `lg` 20px)
@@ -217,6 +223,9 @@ Unless noted otherwise, each module also exports its public `*Props` types from
217
223
  - Exports: `Pagination`, `PaginationContent`, `PaginationEllipsis`, `PaginationItem`, `PaginationLink`, `PaginationNext`, `PaginationPrevious`
218
224
  - `sidebar`
219
225
  - Exports: `Sidebar`, `SidebarContent`, `SidebarFooter`, `SidebarGroup`, `SidebarGroupAction`, `SidebarGroupContent`, `SidebarGroupLabel`, `SidebarHeader`, `SidebarInput`, `SidebarInset`, `SidebarMenu`, `SidebarMenuAction`, `SidebarMenuBadge`, `SidebarMenuButton`, `SidebarMenuItem`, `SidebarMenuSkeleton`, `SidebarMenuSub`, `SidebarMenuSubButton`, `SidebarMenuSubItem`, `SidebarProvider`, `SidebarRail`, `SidebarSeparator`, `SidebarTrigger`, `useSidebar`
226
+ - `stepper`
227
+ - Exports: `Stepper`, `StepperNav`, `StepperItem`, `StepperTrigger`, `StepperIndicator`, `StepperSeparator`, `StepperTitle`, `StepperDescription`, `StepperPanel`, `StepperContent`, `useStepper`, `useStepItem`
228
+ - Notes: multi-step progress navigation. `Stepper.orientation: 'horizontal' | 'vertical'` (default `horizontal`); supports controlled (`value` / `onValueChange`) and uncontrolled (`defaultValue`) active step, plus custom per-state `indicators` (`active`, `completed`, `inactive`, `loading`). `StepperItem` accepts `completed`, `disabled`, and `loading`. Arrow-key and Home/End keyboard navigation between triggers is built in.
220
229
  - `tabs`
221
230
  - Exports: `Tabs`, `TabsContent`, `TabsList`, `tabsListVariants`, `TabsTrigger`
222
231
  - Notes: `TabsList.variant` supports `line` and `enclosed`, defaults to `line`, accepts `grow?: boolean` for equal-width horizontal tabs, and uses the `primary` color for the active line indicator