@cntyclub/ui-react 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2HQPCV2L.js +895 -0
- package/dist/chunk-2HQPCV2L.js.map +1 -0
- package/dist/form.js +10 -4861
- package/dist/form.js.map +1 -1
- package/dist/index.js +8428 -80599
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-HDGMSYQS.js +0 -26461
- package/dist/chunk-HDGMSYQS.js.map +0 -1
- package/dist/chunk-PR4QN5HX.js +0 -39
- package/dist/chunk-PR4QN5HX.js.map +0 -1
- package/dist/qr-code-styling-3Y6LZH6V.js +0 -1123
- package/dist/qr-code-styling-3Y6LZH6V.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils/css.ts","../src/components/ui/checkbox.tsx","../src/components/ui/checkbox-group.tsx","../src/components/ui/field.tsx","../src/components/ui/button.tsx","../src/components/ui/calendar.tsx","../src/components/ui/popover.tsx","../src/components/ui/label.tsx","../src/components/ui/number-field.tsx","../src/components/ui/select.tsx","../src/components/ui/spinner-on-demand.tsx","../src/components/ui/input.tsx","../src/components/ui/textarea.tsx","../src/components/ui/input-group.tsx"],"names":["CheckboxPrimitive","props","jsx","CheckboxGroupPrimitive","FieldPrimitive","className","PopoverPrimitive","useRender","mergeProps","NumberFieldPrimitive","SelectPrimitive","jsxs","ChevronsUpDownIcon","InputPrimitive","cva"],"mappings":"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","file":"chunk-2HQPCV2L.js","sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nconst checkboxSizes = {\n sm: { box: \"size-4.5 sm:size-4\", icon: \"size-3.5 sm:size-3\" },\n md: { box: \"size-5\", icon: \"size-4\" },\n} as const;\n\ninterface CheckboxProps extends CheckboxPrimitive.Root.Props {\n /** Visual size of the checkbox. Defaults to \"sm\". */\n size?: keyof typeof checkboxSizes;\n}\n\nfunction Checkbox({ className, size = \"sm\", ...props }: CheckboxProps) {\n const sizes = checkboxSizes[size];\n return (\n <CheckboxPrimitive.Root\n className={cn(\n \"relative inline-flex shrink-0 items-center justify-center rounded-[4px] border border-input bg-background not-dark:bg-clip-padding shadow-xs/5 outline-none ring-ring transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[3px] not-data-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/6%)] focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-offset-background aria-invalid:border-destructive/36 focus-visible:aria-invalid:border-destructive/64 focus-visible:aria-invalid:ring-destructive/48 data-disabled:opacity-64 dark:not-data-checked:bg-input/32 dark:aria-invalid:ring-destructive/24 dark:not-data-disabled:not-data-checked:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)] [[data-disabled],[data-checked],[aria-invalid]]:shadow-none\",\n sizes.box,\n className,\n )}\n data-slot=\"checkbox\"\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className=\"-inset-px absolute flex items-center justify-center rounded-[4px] text-primary-foreground transition-opacity duration-150 ease-out data-checked:bg-primary data-checked:opacity-100 data-indeterminate:text-foreground data-indeterminate:opacity-100 data-unchecked:opacity-0\"\n data-slot=\"checkbox-indicator\"\n keepMounted\n render={(props, state) => (\n <span {...props}>\n {state.indeterminate ? (\n // biome-ignore lint/a11y/noSvgWithoutTitle: Imported from library\n <svg\n className={sizes.icon}\n fill=\"none\"\n height=\"24\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"3\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M5.252 12h13.496\" />\n </svg>\n ) : (\n // biome-ignore lint/a11y/noSvgWithoutTitle: Imported from library\n <svg\n className={sizes.icon}\n fill=\"none\"\n height=\"24\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"3\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {/* The checkmark draws itself in: pathLength normalises the\n stroke to 1 unit, and the dashoffset animates to 0 once the\n box is checked (a beat after the fill fades in). */}\n <path\n className=\"[stroke-dasharray:1] [stroke-dashoffset:1] [transition:stroke-dashoffset_250ms_cubic-bezier(0.65,0,0.35,1)_110ms] in-[[data-checked]]:[stroke-dashoffset:0]\"\n d=\"M5.252 12.7 10.2 18.63 18.748 5.37\"\n pathLength={1}\n />\n </svg>\n )}\n </span>\n )}\n />\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","\"use client\";\n\nimport { CheckboxGroup as CheckboxGroupPrimitive } from \"@base-ui/react/checkbox-group\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nfunction CheckboxGroup({ className, ...props }: CheckboxGroupPrimitive.Props) {\n return (\n <CheckboxGroupPrimitive\n className={cn(\"flex flex-col items-start gap-3\", className)}\n {...props}\n />\n );\n}\n\nexport { CheckboxGroup };\n","\"use client\";\n\nimport { Field as FieldPrimitive } from \"@base-ui/react/field\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nfunction Field({ className, ...props }: FieldPrimitive.Root.Props) {\n return (\n <FieldPrimitive.Root\n className={cn(\"flex flex-col items-start gap-2\", className)}\n data-slot=\"field\"\n {...props}\n />\n );\n}\n\nfunction FieldLabel({ className, ...props }: FieldPrimitive.Label.Props) {\n return (\n <FieldPrimitive.Label\n className={cn(\n \"inline-flex items-center gap-2 font-medium text-base/4.5 text-foreground sm:text-sm/4\",\n className,\n )}\n data-slot=\"field-label\"\n {...props}\n />\n );\n}\n\nfunction FieldItem({ className, ...props }: FieldPrimitive.Item.Props) {\n return (\n <FieldPrimitive.Item\n className={cn(\"flex\", className)}\n data-slot=\"field-item\"\n {...props}\n />\n );\n}\n\nfunction FieldDescription({\n className,\n ...props\n}: FieldPrimitive.Description.Props) {\n return (\n <FieldPrimitive.Description\n className={cn(\"text-muted-foreground text-xs\", className)}\n data-slot=\"field-description\"\n {...props}\n />\n );\n}\n\nfunction FieldError({ className, ...props }: FieldPrimitive.Error.Props) {\n return (\n <FieldPrimitive.Error\n className={cn(\"text-destructive-foreground text-xs\", className)}\n data-slot=\"field-error\"\n {...props}\n />\n );\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4 group/field-group @container/field-group flex w-full flex-col\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst FieldControl = FieldPrimitive.Control;\nconst FieldValidity = FieldPrimitive.Validity;\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldControl,\n FieldItem,\n FieldValidity,\n FieldGroup,\n};\n","\"use client\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nconst buttonVariants = cva(\n \"[&_svg]:-mx-0.5 [&_img]:-mx-0.5 [&_picture]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none transition-[box-shadow,filter] duration-100 [:active:not(:disabled)]:brightness-95 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_img:not([class*='opacity-'])]:opacity-80 [&_picture:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 [&_img:not([class*='size-'])]:size-4.5 [&_picture:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 sm:[&_img:not([class*='size-'])]:size-4 sm:[&_picture:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_img]:pointer-events-none [&_picture]:pointer-events-none [&_svg]:shrink-0 [&_img]:shrink-0 [&_picture]:shrink-0\",\n {\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n },\n variants: {\n size: {\n default: \"h-9 px-[calc(--spacing(3)-1px)] sm:h-8\",\n icon: \"size-9 sm:size-8\",\n \"icon-lg\": \"size-10 sm:size-9\",\n \"icon-sm\": \"size-8 sm:size-7\",\n \"icon-xl\":\n \"size-11 sm:size-10 [&_svg:not([class*='size-'])]:size-5 [&_img:not([class*='size-'])]:size-5 [&_picture:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5 sm:[&_img:not([class*='size-'])]:size-4.5 sm:[&_picture:not([class*='size-'])]:size-4.5\",\n \"icon-xs\":\n \"size-7 rounded-md before:rounded-[calc(var(--radius-md)-1px)] sm:size-6 not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-4 not-in-data-[slot=input-group]:[&_img:not([class*='size-'])]:size-4 not-in-data-[slot=input-group]:[&_picture:not([class*='size-'])]:size-4 sm:not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-3.5 sm:not-in-data-[slot=input-group]:[&_img:not([class*='size-'])]:size-3.5 sm:not-in-data-[slot=input-group]:[&_picture:not([class*='size-'])]:size-3.5\",\n lg: \"h-10 px-[calc(--spacing(3.5)-1px)] sm:h-9\",\n sm: \"h-8 gap-1.5 px-[calc(--spacing(2.5)-1px)] sm:h-7\",\n xl: \"h-11 px-[calc(--spacing(4)-1px)] text-lg sm:h-10 sm:text-base [&_svg:not([class*='size-'])]:size-5 [&_img:not([class*='size-'])]:size-5 [&_picture:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5 sm:[&_img:not([class*='size-'])]:size-4.5 sm:[&_picture:not([class*='size-'])]:size-4.5\",\n xs: \"h-7 gap-1 rounded-md px-[calc(--spacing(2)-1px)] text-sm before:rounded-[calc(var(--radius-md)-1px)] sm:h-6 sm:text-xs [&_svg:not([class*='size-'])]:size-4 [&_img:not([class*='size-'])]:size-4 [&_picture:not([class*='size-'])]:size-4 sm:[&_svg:not([class*='size-'])]:size-3.5 sm:[&_img:not([class*='size-'])]:size-3.5 sm:[&_picture:not([class*='size-'])]:size-3.5\",\n },\n variant: {\n default:\n \"not-disabled:inset-shadow-[0_1px_--theme(--color-white/16%)] border-primary bg-primary text-primary-foreground shadow-primary/24 shadow-xs [:active,[data-pressed]]:inset-shadow-[0_1px_--theme(--color-black/8%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-primary/90\",\n destructive:\n \"not-disabled:inset-shadow-[0_1px_--theme(--color-white/16%)] border-destructive bg-destructive text-white shadow-destructive/24 shadow-xs [:active,[data-pressed]]:inset-shadow-[0_1px_--theme(--color-black/8%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-destructive/90\",\n \"destructive-outline\":\n \"border-input bg-popover not-dark:bg-clip-padding text-destructive-foreground shadow-xs/5 not-disabled:not-active:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-input/32 dark:not-disabled:before:shadow-[0_-1px_--theme(--color-white/2%)] dark:not-disabled:not-active:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:border-destructive/32 [:hover,[data-pressed]]:bg-destructive/4\",\n \"destructive-ghost\":\n \"border-transparent text-destructive-foreground data-pressed:bg-destructive/8 [:hover,[data-pressed]]:bg-destructive/8\",\n ghost:\n \"border-transparent text-foreground data-pressed:bg-accent [:hover,[data-pressed]]:bg-accent\",\n link: \"border-transparent pointer-coarse:underline pointer-coarse:underline-offset-4 pointer-fine:after:absolute pointer-fine:after:inset-x-3 pointer-fine:after:bottom-1.5 pointer-fine:after:h-px pointer-fine:after:origin-right pointer-fine:after:scale-x-0 pointer-fine:after:bg-current pointer-fine:after:transition-transform pointer-fine:after:duration-300 pointer-fine:after:ease-out pointer-fine:hover:after:origin-left pointer-fine:hover:after:scale-x-100 pointer-fine:data-pressed:after:origin-left pointer-fine:data-pressed:after:scale-x-100\",\n \"link-muted\":\n \"border-transparent text-muted-foreground transition-[box-shadow,filter,color] [:hover,[data-pressed]]:text-foreground pointer-coarse:underline pointer-coarse:underline-offset-4 pointer-fine:after:absolute pointer-fine:after:inset-x-3 pointer-fine:after:bottom-1.5 pointer-fine:after:h-px pointer-fine:after:origin-right pointer-fine:after:scale-x-0 pointer-fine:after:bg-current pointer-fine:after:transition-transform pointer-fine:after:duration-300 pointer-fine:after:ease-out pointer-fine:hover:after:origin-left pointer-fine:hover:after:scale-x-100 pointer-fine:data-pressed:after:origin-left pointer-fine:data-pressed:after:scale-x-100\",\n outline:\n \"border-input bg-popover not-dark:bg-clip-padding text-foreground shadow-xs/5 not-disabled:not-active:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-input/32 dark:not-disabled:before:shadow-[0_-1px_--theme(--color-white/2%)] dark:not-disabled:not-active:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-accent/50 dark:[:hover,[data-pressed]]:bg-input/64\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [:active,[data-pressed]]:bg-secondary/80 [:hover,[data-pressed]]:bg-secondary/90\",\n },\n },\n },\n);\n\nexport interface ButtonProps extends useRender.ComponentProps<\"button\"> {\n variant?: VariantProps<typeof buttonVariants>[\"variant\"];\n size?: VariantProps<typeof buttonVariants>[\"size\"];\n}\n\nfunction Button({ className, variant, size, render, ...props }: ButtonProps) {\n const typeValue: React.ButtonHTMLAttributes<HTMLButtonElement>[\"type\"] =\n render ? undefined : \"button\";\n\n const defaultProps = {\n className: cn(buttonVariants({ className, size, variant })),\n \"data-slot\": \"button\",\n type: typeValue,\n };\n\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(defaultProps, props),\n render,\n });\n}\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronsUpDownIcon,\n} from \"lucide-react\";\nimport type * as React from \"react\";\nimport { DayPicker } from \"react-day-picker\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nconst buttonClassNames =\n \"relative flex size-(--cell-size) text-base sm:text-sm items-center justify-center rounded-lg text-foreground not-in-data-selected:hover:bg-accent disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\";\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n components: userComponents,\n ...props\n}: React.ComponentProps<typeof DayPicker>) {\n const defaultClassNames = {\n button_next: buttonClassNames,\n button_previous: buttonClassNames,\n caption_label:\n \"text-base sm:text-sm font-medium flex items-center gap-2 h-full\",\n day: \"size-(--cell-size) text-sm py-px\",\n day_button: cn(\n buttonClassNames,\n \"in-[[data-selected]:not(.range-middle)]:transition-[color,background-color,border-radius,box-shadow] in-data-disabled:pointer-events-none focus-visible:z-1 in-data-selected:bg-primary in-data-selected:text-primary-foreground in-data-disabled:text-muted-foreground/70 in-data-disabled:line-through in-data-outside:text-muted-foreground/70 in-data-selected:in-data-outside:text-primary-foreground outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px] in-[.range-start:not(.range-end)]:rounded-e-none in-[.range-end:not(.range-start)]:rounded-s-none in-[.range-middle]:rounded-none in-[.range-middle]:in-data-selected:bg-accent in-[.range-middle]:in-data-selected:text-foreground\",\n ),\n dropdown: \"absolute bg-popover inset-0 opacity-0\",\n dropdown_root:\n \"relative has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px] border border-input shadow-xs/5 rounded-lg px-[calc(--spacing(3)-1px)] h-9 sm:h-8 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-me-1\",\n dropdowns:\n \"w-full flex items-center text-base sm:text-sm justify-center h-(--cell-size) gap-1.5 *:[span]:font-medium\",\n hidden: \"invisible\",\n month: \"w-full\",\n month_caption:\n \"relative mx-(--cell-size) px-1 mb-1 flex h-(--cell-size) items-center justify-center z-2\",\n months: \"relative flex flex-col sm:flex-row gap-2\",\n nav: \"absolute top-0 flex w-full justify-between z-1\",\n outside:\n \"text-muted-foreground data-selected:bg-accent/50 data-selected:text-muted-foreground\",\n range_end: \"range-end\",\n range_middle: \"range-middle\",\n range_start: \"range-start\",\n today:\n \"*:after:pointer-events-none *:after:absolute *:after:bottom-1 *:after:start-1/2 *:after:z-1 *:after:size-[3px] *:after:-translate-x-1/2 *:after:rounded-full *:after:bg-primary [&[data-selected]:not(.range-middle)>*]:after:bg-background [&[data-disabled]>*]:after:bg-foreground/30 *:after:transition-colors\",\n week_number:\n \"size-(--cell-size) p-0 text-xs font-medium text-muted-foreground/70\",\n weekday:\n \"size-(--cell-size) p-0 text-xs font-medium text-muted-foreground/70\",\n };\n const mergedClassNames: typeof defaultClassNames = Object.keys(\n defaultClassNames,\n ).reduce(\n (acc, key) => {\n const userClass = classNames?.[key as keyof typeof classNames];\n const baseClass =\n defaultClassNames[key as keyof typeof defaultClassNames];\n\n acc[key as keyof typeof defaultClassNames] = userClass\n ? cn(baseClass, userClass)\n : baseClass;\n\n return acc;\n },\n { ...defaultClassNames } as typeof defaultClassNames,\n );\n\n const defaultComponents = {\n Chevron: ({\n className,\n orientation,\n ...props\n }: {\n className?: string;\n orientation?: \"left\" | \"right\" | \"up\" | \"down\";\n }) => {\n if (orientation === \"left\") {\n return (\n <ChevronLeftIcon\n className={cn(className, \"rtl:rotate-180\")}\n {...props}\n aria-hidden=\"true\"\n />\n );\n }\n\n if (orientation === \"right\") {\n return (\n <ChevronRightIcon\n className={cn(className, \"rtl:rotate-180\")}\n {...props}\n aria-hidden=\"true\"\n />\n );\n }\n\n return (\n <ChevronsUpDownIcon\n className={className}\n {...props}\n aria-hidden=\"true\"\n />\n );\n },\n };\n\n const mergedComponents = {\n ...defaultComponents,\n ...userComponents,\n };\n\n return (\n <DayPicker\n className={cn(\n \"w-fit [--cell-size:--spacing(10)] sm:[--cell-size:--spacing(9)]\",\n className,\n )}\n classNames={mergedClassNames}\n components={mergedComponents}\n data-slot=\"calendar\"\n formatters={{\n formatMonthDropdown: (date) =>\n date.toLocaleString(\"default\", { month: \"short\" }),\n }}\n mode=\"single\"\n showOutsideDays={showOutsideDays}\n {...props}\n />\n );\n}\n\nexport { Calendar };\n","\"use client\";\n\nimport { Popover as PopoverPrimitive } from \"@base-ui/react/popover\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nconst PopoverCreateHandle = PopoverPrimitive.createHandle;\n\nconst Popover = PopoverPrimitive.Root;\n\nfunction PopoverTrigger({\n className,\n children,\n ...props\n}: PopoverPrimitive.Trigger.Props) {\n return (\n <PopoverPrimitive.Trigger\n className={className}\n data-slot=\"popover-trigger\"\n {...props}\n >\n {children}\n </PopoverPrimitive.Trigger>\n );\n}\n\nfunction PopoverPopup({\n children,\n className,\n side = \"bottom\",\n align = \"center\",\n sideOffset = 4,\n alignOffset = 0,\n tooltipStyle = false,\n anchor,\n ...props\n}: PopoverPrimitive.Popup.Props & {\n side?: PopoverPrimitive.Positioner.Props[\"side\"];\n align?: PopoverPrimitive.Positioner.Props[\"align\"];\n sideOffset?: PopoverPrimitive.Positioner.Props[\"sideOffset\"];\n alignOffset?: PopoverPrimitive.Positioner.Props[\"alignOffset\"];\n tooltipStyle?: boolean;\n anchor?: PopoverPrimitive.Positioner.Props[\"anchor\"];\n}) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom,transform] data-instant:transition-none\"\n data-slot=\"popover-positioner\"\n side={side}\n sideOffset={sideOffset}\n >\n <PopoverPrimitive.Popup\n className={cn(\n \"relative flex h-(--popup-height,auto) w-(--popup-width,auto) origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding text-popover-foreground shadow-lg/5 outline-none transition-[width,height,scale,opacity] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] has-data-[slot=calendar]:rounded-xl has-data-[slot=calendar]:before:rounded-[calc(var(--radius-xl)-1px)] data-ending-style:scale-98 data-ending-style:opacity-0 data-starting-style:scale-98 data-starting-style:opacity-0 dark:before:shadow-[0_-1px_--theme(--color-white/6%)]\",\n tooltipStyle &&\n \"w-fit text-balance rounded-md text-xs shadow-md/5 before:rounded-[calc(var(--radius-md)-1px)]\",\n className,\n )}\n data-slot=\"popover-popup\"\n {...props}\n >\n <PopoverPrimitive.Viewport\n className={cn(\n \"relative size-full max-h-(--available-height) overflow-clip px-(--viewport-inline-padding) py-4 [--viewport-inline-padding:--spacing(4)] has-data-[slot=calendar]:p-2 data-instant:transition-none **:data-current:data-ending-style:opacity-0 **:data-current:data-starting-style:opacity-0 **:data-previous:data-ending-style:opacity-0 **:data-previous:data-starting-style:opacity-0 **:data-current:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-previous:w-[calc(var(--popup-width)-2*var(--viewport-inline-padding)-2px)] **:data-current:opacity-100 **:data-previous:opacity-100 **:data-current:transition-opacity **:data-previous:transition-opacity\",\n tooltipStyle\n ? \"py-1 [--viewport-inline-padding:--spacing(2)]\"\n : \"not-data-transitioning:overflow-y-auto\",\n )}\n data-slot=\"popover-viewport\"\n >\n {children}\n </PopoverPrimitive.Viewport>\n </PopoverPrimitive.Popup>\n </PopoverPrimitive.Positioner>\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverClose({ ...props }: PopoverPrimitive.Close.Props) {\n return <PopoverPrimitive.Close data-slot=\"popover-close\" {...props} />;\n}\n\nfunction PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props) {\n return (\n <PopoverPrimitive.Title\n className={cn(\"font-semibold text-lg leading-none\", className)}\n data-slot=\"popover-title\"\n {...props}\n />\n );\n}\n\nfunction PopoverDescription({\n className,\n ...props\n}: PopoverPrimitive.Description.Props) {\n return (\n <PopoverPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n data-slot=\"popover-description\"\n {...props}\n />\n );\n}\n\nexport {\n PopoverCreateHandle,\n Popover,\n PopoverTrigger,\n PopoverPopup,\n PopoverPopup as PopoverContent,\n PopoverTitle,\n PopoverDescription,\n PopoverClose,\n};\n","\"use client\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nfunction Label({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"label\">) {\n const defaultProps = {\n className: cn(\n \"inline-flex items-center gap-2 text-base/4.5 sm:text-sm/4 font-medium text-foreground\",\n className,\n ),\n \"data-slot\": \"label\",\n };\n\n return useRender({\n defaultTagName: \"label\",\n props: mergeProps<\"label\">(defaultProps, props),\n render,\n });\n}\n\nexport { Label };\n","\"use client\";\n\nimport { NumberField as NumberFieldPrimitive } from \"@base-ui/react/number-field\";\nimport { MinusIcon, PlusIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Label } from \"./label\";\nimport { cn } from \"../../lib/utils/css\";\n\nconst NumberFieldContext = React.createContext<{\n fieldId: string;\n} | null>(null);\n\nfunction NumberField({\n id,\n className,\n size = \"default\",\n ...props\n}: NumberFieldPrimitive.Root.Props & {\n size?: \"sm\" | \"default\" | \"lg\";\n}) {\n const generatedId = React.useId();\n const fieldId = id ?? generatedId;\n\n return (\n <NumberFieldContext.Provider value={{ fieldId }}>\n <NumberFieldPrimitive.Root\n className={cn(\"flex w-full flex-col items-start gap-2\", className)}\n data-size={size}\n data-slot=\"number-field\"\n id={fieldId}\n {...props}\n />\n </NumberFieldContext.Provider>\n );\n}\n\nfunction NumberFieldGroup({\n className,\n ...props\n}: NumberFieldPrimitive.Group.Props) {\n return (\n <NumberFieldPrimitive.Group\n className={cn(\n \"relative flex w-full justify-between rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-data-disabled:not-focus-within:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/6%)] focus-within:border-ring focus-within:ring-[3px] has-aria-invalid:border-destructive/36 focus-within:has-aria-invalid:border-destructive/64 focus-within:has-aria-invalid:ring-destructive/48 data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm dark:bg-input/32 dark:has-aria-invalid:ring-destructive/24 dark:not-data-disabled:not-focus-within:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)] [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [[data-disabled],:focus-within,[aria-invalid]]:shadow-none\",\n className,\n )}\n data-slot=\"number-field-group\"\n {...props}\n />\n );\n}\n\nfunction NumberFieldDecrement({\n className,\n ...props\n}: NumberFieldPrimitive.Decrement.Props) {\n return (\n <NumberFieldPrimitive.Decrement\n className={cn(\n \"relative flex shrink-0 cursor-pointer items-center justify-center rounded-s-[calc(var(--radius-lg)-1px)] in-data-[size=sm]:px-[calc(--spacing(2.5)-1px)] px-[calc(--spacing(3)-1px)] 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 className,\n )}\n data-slot=\"number-field-decrement\"\n {...props}\n >\n <MinusIcon />\n </NumberFieldPrimitive.Decrement>\n );\n}\n\nfunction NumberFieldIncrement({\n className,\n ...props\n}: NumberFieldPrimitive.Increment.Props) {\n return (\n <NumberFieldPrimitive.Increment\n className={cn(\n \"relative flex shrink-0 cursor-pointer items-center justify-center rounded-e-[calc(var(--radius-lg)-1px)] in-data-[size=sm]:px-[calc(--spacing(2.5)-1px)] px-[calc(--spacing(3)-1px)] 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 className,\n )}\n data-slot=\"number-field-increment\"\n {...props}\n >\n <PlusIcon />\n </NumberFieldPrimitive.Increment>\n );\n}\n\nfunction NumberFieldInput({\n className,\n ...props\n}: NumberFieldPrimitive.Input.Props) {\n return (\n <NumberFieldPrimitive.Input\n className={cn(\n \"h-8.5 in-data-[size=lg]:h-9.5 in-data-[size=sm]:h-7.5 w-full min-w-0 grow bg-transparent in-data-[size=sm]:px-[calc(--spacing(2.5)-1px)] px-[calc(--spacing(3)-1px)] text-center tabular-nums in-data-[size=lg]:leading-9.5 in-data-[size=sm]:leading-7.5 leading-8.5 outline-none sm:h-7.5 sm:in-data-[size=lg]:h-8.5 sm:in-data-[size=sm]:h-6.5 sm:in-data-[size=lg]:leading-8.5 sm:in-data-[size=sm]:leading-8.5 sm:leading-7.5\",\n className,\n )}\n data-slot=\"number-field-input\"\n {...props}\n />\n );\n}\n\nfunction NumberFieldScrubArea({\n className,\n label,\n ...props\n}: NumberFieldPrimitive.ScrubArea.Props & {\n label: string;\n}) {\n const context = React.useContext(NumberFieldContext);\n\n if (!context) {\n throw new Error(\n \"NumberFieldScrubArea must be used within a NumberField component for accessibility.\",\n );\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 // biome-ignore lint/a11y/noSvgWithoutTitle: Imported from library\n <svg\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 NumberFieldScrubArea,\n NumberFieldDecrement,\n NumberFieldIncrement,\n NumberFieldGroup,\n NumberFieldInput,\n};\n","\"use client\";\n\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\";\nimport {\n ChevronDownIcon,\n ChevronsUpDownIcon,\n ChevronUpIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils/css\";\n\nconst Select = SelectPrimitive.Root;\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: SelectPrimitive.Trigger.Props & {\n size?: \"sm\" | \"default\" | \"lg\";\n}) {\n return (\n <SelectPrimitive.Trigger\n className={cn(\n \"relative inline-flex min-h-9 w-full min-w-36 select-none items-center justify-center gap-2 rounded-lg border border-input bg-background not-dark:bg-clip-padding px-[calc(--spacing(3)-1px)] text-left text-base text-foreground shadow-xs/5 outline-none ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-data-disabled:not-focus-visible:not-aria-invalid:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 focus-visible:border-ring focus-visible:ring-[3px] aria-invalid:border-destructive/36 focus-visible:aria-invalid:border-destructive/64 focus-visible:aria-invalid:ring-destructive/16 data-disabled:pointer-events-none data-disabled:opacity-64 sm:min-h-8 sm:text-sm dark:aria-invalid:ring-destructive/24 dark:not-data-disabled:not-focus-visible:not-aria-invalid:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [[data-disabled],:focus-visible,[aria-invalid],[data-pressed]]:shadow-none\",\n size === \"sm\" &&\n \"min-h-8 gap-1.5 px-[calc(--spacing(2.5)-1px)] sm:min-h-7\",\n size === \"lg\" && \"min-h-10 sm:min-h-9\",\n className,\n )}\n data-slot=\"select-trigger\"\n {...props}\n >\n {children}\n <SelectPrimitive.Icon data-slot=\"select-icon\">\n <ChevronsUpDownIcon className=\"-me-1 size-4.5 opacity-80 sm:size-4\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectValue({ className, ...props }: SelectPrimitive.Value.Props) {\n return (\n <SelectPrimitive.Value\n className={cn(\n \"flex-1 truncate data-placeholder:text-muted-foreground\",\n className,\n )}\n data-slot=\"select-value\"\n {...props}\n />\n );\n}\n\nfunction SelectPopup({\n className,\n children,\n sideOffset = 4,\n alignItemWithTrigger = true,\n ...props\n}: SelectPrimitive.Popup.Props & {\n sideOffset?: SelectPrimitive.Positioner.Props[\"sideOffset\"];\n alignItemWithTrigger?: SelectPrimitive.Positioner.Props[\"alignItemWithTrigger\"];\n}) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n alignItemWithTrigger={alignItemWithTrigger}\n className=\"z-50 select-none\"\n data-slot=\"select-positioner\"\n sideOffset={sideOffset}\n >\n <SelectPrimitive.Popup\n className=\"origin-(--transform-origin) text-foreground transition-[transform,scale,opacity] duration-150 ease-out data-ending-style:scale-95 data-ending-style:opacity-0 data-starting-style:scale-95 data-starting-style:opacity-0\"\n data-slot=\"select-popup\"\n {...props}\n >\n <SelectPrimitive.ScrollUpArrow\n className=\"top-0 z-50 flex h-6 w-full cursor-default items-center justify-center before:pointer-events-none before:absolute before:inset-x-px before:top-px before:h-[200%] before:rounded-t-[calc(var(--radius-lg)-1px)] before:bg-linear-to-b before:from-50% before:from-popover\"\n data-slot=\"select-scroll-up-arrow\"\n >\n <ChevronUpIcon className=\"relative size-4.5 sm:size-4\" />\n </SelectPrimitive.ScrollUpArrow>\n <div className=\"relative h-full rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]\">\n <SelectPrimitive.List\n className={cn(\n \"max-h-(--available-height) min-w-(--anchor-width) overflow-y-auto p-1\",\n className,\n )}\n data-slot=\"select-list\"\n >\n {children}\n </SelectPrimitive.List>\n </div>\n <SelectPrimitive.ScrollDownArrow\n className=\"bottom-0 z-50 flex h-6 w-full cursor-default items-center justify-center before:pointer-events-none before:absolute before:inset-x-px before:bottom-px before:h-[200%] before:rounded-b-[calc(var(--radius-lg)-1px)] before:bg-linear-to-t before:from-50% before:from-popover\"\n data-slot=\"select-scroll-down-arrow\"\n >\n <ChevronDownIcon className=\"relative size-4.5 sm:size-4\" />\n </SelectPrimitive.ScrollDownArrow>\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: SelectPrimitive.Item.Props) {\n return (\n <SelectPrimitive.Item\n className={cn(\n \"grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default grid-cols-[1rem_1fr] items-center gap-2 rounded-sm py-1 ps-2 pe-4 text-base outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n data-slot=\"select-item\"\n {...props}\n >\n <SelectPrimitive.ItemIndicator className=\"col-start-1\">\n {/** biome-ignore lint/a11y/noSvgWithoutTitle: Imported from library */}\n <svg\n fill=\"none\"\n height=\"24\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/1500/svg\"\n >\n <path d=\"M5.252 12.7 10.2 18.63 18.748 5.37\" />\n </svg>\n </SelectPrimitive.ItemIndicator>\n <SelectPrimitive.ItemText className=\"col-start-2 min-w-0\">\n {children}\n </SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: SelectPrimitive.Separator.Props) {\n return (\n <SelectPrimitive.Separator\n className={cn(\"mx-2 my-1 h-px bg-border\", className)}\n data-slot=\"select-separator\"\n {...props}\n />\n );\n}\n\nfunction SelectGroup(props: SelectPrimitive.Group.Props) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectGroupLabel(props: SelectPrimitive.GroupLabel.Props) {\n return (\n <SelectPrimitive.GroupLabel\n className=\"px-2 py-1.5 font-medium text-muted-foreground text-xs\"\n data-slot=\"select-group-label\"\n {...props}\n />\n );\n}\n\nexport {\n Select,\n SelectTrigger,\n SelectValue,\n SelectPopup,\n SelectPopup as SelectContent,\n SelectItem,\n SelectSeparator,\n SelectGroup,\n SelectGroupLabel,\n};\n","\"use client\";\n\nimport { Loader2Icon } from \"lucide-react\";\nimport { useSpinDelay } from \"spin-delay\";\nimport { cn } from \"../../lib/utils/css\";\n\nfunction SpinnerOnDemand({\n className,\n options,\n isLoading,\n icon,\n ...props\n}: React.ComponentProps<typeof Loader2Icon> & {\n isLoading: boolean;\n options?: Parameters<typeof useSpinDelay>[1];\n icon?: React.ReactNode;\n}) {\n const shouldShow = useSpinDelay(isLoading, options);\n\n if (!shouldShow) return icon || null;\n\n return (\n <Loader2Icon\n aria-label=\"Loading\"\n className={cn(\"animate-spin\", className)}\n role=\"status\"\n {...props}\n />\n );\n}\n\nexport { SpinnerOnDemand };\n","\"use client\";\n\nimport { Input as InputPrimitive } from \"@base-ui/react/input\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils/css\";\n\ntype InputProps = Omit<\n InputPrimitive.Props & React.RefAttributes<HTMLInputElement>,\n \"size\"\n> & {\n size?: \"sm\" | \"default\" | \"lg\" | number;\n unstyled?: boolean;\n nativeInput?: boolean;\n};\n\nfunction Input({\n className,\n size = \"default\",\n unstyled = false,\n nativeInput = false,\n ...props\n}: InputProps) {\n const inputClassName = cn(\n \"h-8.5 w-full min-w-0 rounded-[inherit] px-[calc(--spacing(3)-1px)] leading-8.5 outline-none placeholder:text-muted-foreground/72 sm:h-7.5 sm:leading-7.5\",\n size === \"sm\" &&\n \"h-7.5 px-[calc(--spacing(2.5)-1px)] leading-7.5 sm:h-6.5 sm:leading-6.5\",\n size === \"lg\" && \"h-9.5 leading-9.5 sm:h-8.5 sm:leading-8.5\",\n props.type === \"search\" &&\n \"[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none [&::-webkit-search-results-button]:appearance-none [&::-webkit-search-results-decoration]:appearance-none\",\n props.type === \"file\" &&\n \"text-muted-foreground file:me-3 file:bg-transparent file:font-medium file:text-foreground file:text-sm\",\n );\n\n return (\n <span\n className={\n cn(\n !unstyled &&\n \"relative inline-flex w-full rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-has-disabled:not-has-focus-visible:not-has-aria-invalid:before:shadow-[0_1px_--theme(--color-black/6%)] has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-disabled:opacity-64 has-[:disabled,:focus-visible,[aria-invalid]]:shadow-none has-focus-visible:ring-[3px] sm:text-sm dark:bg-input/32 dark:has-aria-invalid:ring-destructive/24 dark:not-has-disabled:not-has-focus-visible:not-has-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)]\",\n className,\n ) || undefined\n }\n data-size={size}\n data-slot=\"input-control\"\n >\n {nativeInput ? (\n <input\n className={inputClassName}\n data-slot=\"input\"\n size={typeof size === \"number\" ? size : undefined}\n {...props}\n />\n ) : (\n <InputPrimitive\n className={inputClassName}\n data-slot=\"input\"\n size={typeof size === \"number\" ? size : undefined}\n {...props}\n />\n )}\n </span>\n );\n}\n\nexport { Input, type InputProps };\n","\"use client\";\n\nimport { Field as FieldPrimitive } from \"@base-ui/react/field\";\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils/css\";\n\ntype TextareaProps = React.ComponentProps<\"textarea\"> & {\n size?: \"sm\" | \"default\" | \"lg\" | number;\n unstyled?: boolean;\n};\n\nfunction Textarea({\n className,\n size = \"default\",\n unstyled = false,\n ...props\n}: TextareaProps) {\n return (\n <span\n className={\n cn(\n !unstyled &&\n \"relative inline-flex w-full rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] has-focus-visible:has-aria-invalid:border-destructive/64 has-focus-visible:has-aria-invalid:ring-destructive/16 has-aria-invalid:border-destructive/36 has-focus-visible:border-ring has-disabled:opacity-64 has-[:disabled,:focus-visible,[aria-invalid]]:shadow-none has-focus-visible:ring-[3px] not-has-disabled:has-not-focus-visible:not-has-aria-invalid:before:shadow-[0_1px_--theme(--color-black/6%)] sm:text-sm dark:bg-input/32 dark:has-aria-invalid:ring-destructive/24 dark:not-has-disabled:has-not-focus-visible:not-has-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)]\",\n className,\n ) || undefined\n }\n data-size={size}\n data-slot=\"textarea-control\"\n >\n <FieldPrimitive.Control\n render={(defaultProps) => (\n <textarea\n className={cn(\n \"field-sizing-content min-h-17.5 w-full rounded-[inherit] px-[calc(--spacing(3)-1px)] py-[calc(--spacing(1.5)-1px)] outline-none max-sm:min-h-20.5\",\n size === \"sm\" &&\n \"min-h-16.5 px-[calc(--spacing(2.5)-1px)] py-[calc(--spacing(1)-1px)] max-sm:min-h-19.5\",\n size === \"lg\" &&\n \"min-h-18.5 py-[calc(--spacing(2)-1px)] max-sm:min-h-21.5\",\n )}\n data-slot=\"textarea\"\n {...mergeProps(defaultProps, props)}\n />\n )}\n />\n </span>\n );\n}\n\nexport { Textarea, type TextareaProps };\n","\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { Input, type InputProps } from \"./input\";\nimport { Textarea, type TextareaProps } from \"./textarea\";\nimport { cn } from \"../../lib/utils/css\";\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n // biome-ignore lint/a11y/useSemanticElements: Imported from library\n <div\n className={cn(\n \"relative inline-flex w-full min-w-0 items-center rounded-lg border border-input bg-background not-dark:bg-clip-padding text-base text-foreground shadow-xs/5 ring-ring/24 transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-has-[input:disabled,textarea:disabled]:not-has-[input:focus-visible,textarea:focus-visible]:not-has-[input[aria-invalid],textarea[aria-invalid]]:before:shadow-[0_1px_--theme(--color-black/6%)] has-[input:focus-visible,textarea:focus-visible]:has-[input[aria-invalid],textarea[aria-invalid]]:border-destructive/64 has-[input:focus-visible,textarea:focus-visible]:has-[input[aria-invalid],textarea[aria-invalid]]:ring-destructive/16 has-[textarea]:h-auto has-data-[align=block-end]:h-auto has-data-[align=block-start]:h-auto has-data-[align=block-end]:flex-col has-data-[align=block-start]:flex-col has-[input:focus-visible,textarea:focus-visible]:border-ring has-[input[aria-invalid],textarea[aria-invalid]]:border-destructive/36 has-[input:disabled,textarea:disabled]:opacity-64 has-[input:disabled,textarea:disabled,input:focus-visible,textarea:focus-visible,input[aria-invalid],textarea[aria-invalid]]:shadow-none has-[input:focus-visible,textarea:focus-visible]:ring-[3px] sm:text-sm dark:bg-input/32 dark:has-[input[aria-invalid],textarea[aria-invalid]]:ring-destructive/24 dark:not-has-[input:disabled,textarea:disabled]:not-has-[input:focus-visible,textarea:focus-visible]:not-has-[input[aria-invalid],textarea[aria-invalid]]:before:shadow-[0_-1px_--theme(--color-white/6%)] has-data-[align=inline-start]:**:[[data-size=sm]_input]:ps-1.5 has-data-[align=inline-end]:**:[[data-size=sm]_input]:pe-1.5 *:[[data-slot=input-control],[data-slot=textarea-control]]:contents *:[[data-slot=input-control],[data-slot=textarea-control]]:before:hidden has-[[data-align=block-start],[data-align=block-end]]:**:[input]:h-auto has-data-[align=inline-start]:**:[input]:ps-2 has-data-[align=inline-end]:**:[input]:pe-2 has-data-[align=block-end]:**:[input]:pt-1.5 has-data-[align=block-start]:**:[input]:pb-1.5 **:[textarea]:min-h-20.5 **:[textarea]:resize-none **:[textarea]:py-[calc(--spacing(3)-1px)] **:[textarea]:max-sm:min-h-23.5 **:[textarea_button]:rounded-[calc(var(--radius-md)-1px)]\",\n className,\n )}\n data-slot=\"input-group\"\n role=\"group\"\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"[&_svg]:-mx-0.5 flex h-auto cursor-text select-none items-center justify-center gap-2 leading-none [&>kbd]:rounded-[calc(var(--radius)-5px)] in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4.5 sm:in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4 not-has-[button]:**:[svg:not([class*='opacity-'])]:opacity-80\",\n {\n defaultVariants: {\n align: \"inline-start\",\n },\n variants: {\n align: {\n \"block-end\":\n \"order-last w-full justify-start px-[calc(--spacing(3)-1px)] pb-[calc(--spacing(3)-1px)] [.border-t]:pt-[calc(--spacing(3)-1px)] [[data-size=sm]+&]:px-[calc(--spacing(2.5)-1px)]\",\n \"block-start\":\n \"order-first w-full justify-start px-[calc(--spacing(3)-1px)] pt-[calc(--spacing(3)-1px)] [.border-b]:pb-[calc(--spacing(3)-1px)] [[data-size=sm]+&]:px-[calc(--spacing(2.5)-1px)]\",\n \"inline-end\":\n \"has-[>:last-child[data-slot=badge]]:-me-1.5 has-[>button]:-me-2 order-last pe-[calc(--spacing(3)-1px)] has-[>kbd:last-child]:me-[-0.35rem] [[data-size=sm]+&]:pe-[calc(--spacing(2.5)-1px)]\",\n \"inline-start\":\n \"has-[>:last-child[data-slot=badge]]:-ms-1.5 has-[>button]:-ms-2 order-first ps-[calc(--spacing(3)-1px)] has-[>kbd:last-child]:ms-[-0.35rem] [[data-size=sm]+&]:ps-[calc(--spacing(2.5)-1px)]\",\n },\n },\n },\n);\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n // biome-ignore lint/a11y/noStaticElementInteractions: Imported from library\n <div\n className={cn(inputGroupAddonVariants({ align }), className)}\n data-align={align}\n data-slot=\"input-group-addon\"\n onMouseDown={(e) => {\n const target = e.target as HTMLElement;\n const isInteractive = target.closest(\n \"button, a, input, select, textarea, [role='button'], [role='combobox'], [role='listbox'], [data-slot='select-trigger']\",\n );\n if (isInteractive) return;\n e.preventDefault();\n const parent = e.currentTarget.parentElement;\n const input = parent?.querySelector<\n HTMLInputElement | HTMLTextAreaElement\n >(\"input, textarea\");\n if (input && !parent?.querySelector(\"input:focus, textarea:focus\")) {\n input.focus();\n }\n }}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"[&_svg]:-mx-0.5 line-clamp-1 flex items-center gap-2 text-muted-foreground leading-none in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4.5 sm:in-[[data-slot=input-group]:has([data-slot=input-control],[data-slot=textarea-control])]:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({ className, ...props }: InputProps) {\n return <Input className={className} unstyled {...props} />;\n}\n\nfunction InputGroupTextarea({ className, ...props }: TextareaProps) {\n return <Textarea className={className} unstyled {...props} />;\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"]}
|