aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/mirum-server/web/components/ui/field.tsx')
-rw-r--r--cmd/mirum-server/web/components/ui/field.tsx74+37 −37
1 files changed, 37 insertions, 37 deletions
diff --git a/cmd/mirum-server/web/components/ui/field.tsx b/cmd/mirum-server/web/components/ui/field.tsx
index ef12592..9517f55 100644
--- a/cmd/mirum-server/web/components/ui/field.tsx
+++ b/cmd/mirum-server/web/components/ui/field.tsx
@@ -1,12 +1,12 @@
-// SPDX-FileCopyrightText: 2023 shadcn
+// Copyright (c) 2023 shadcn
// SPDX-License-Identifier: MIT
-import { useMemo } from "react";
-import { cva, type VariantProps } from "class-variance-authority";
+import { useMemo } from "react"
+import { cva, type VariantProps } from "class-variance-authority"
-import { cn } from "@/lib/utils";
-import { Label } from "@/components/ui/label";
-import { Separator } from "@/components/ui/separator";
+import { cn } from "@/lib/utils"
+import { Label } from "@/components/ui/label"
+import { Separator } from "@/components/ui/separator"
function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">) {
return (
@@ -14,11 +14,11 @@ function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">) {
data-slot="field-set"
className={cn(
"flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
function FieldLegend({
@@ -32,11 +32,11 @@ function FieldLegend({
data-variant={variant}
className={cn(
"mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
function FieldGroup({ className, ...props }: React.ComponentProps<"div">) {
@@ -45,11 +45,11 @@ function FieldGroup({ className, ...props }: React.ComponentProps<"div">) {
data-slot="field-group"
className={cn(
"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
const fieldVariants = cva(
@@ -67,8 +67,8 @@ const fieldVariants = cva(
defaultVariants: {
orientation: "vertical",
},
- },
-);
+ }
+)
function Field({
className,
@@ -83,7 +83,7 @@ function Field({
className={cn(fieldVariants({ orientation }), className)}
{...props}
/>
- );
+ )
}
function FieldContent({ className, ...props }: React.ComponentProps<"div">) {
@@ -92,11 +92,11 @@ function FieldContent({ className, ...props }: React.ComponentProps<"div">) {
data-slot="field-content"
className={cn(
"group/field-content flex flex-1 flex-col gap-1 leading-snug",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
function FieldLabel({
@@ -109,11 +109,11 @@ function FieldLabel({
className={cn(
"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10",
"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
function FieldTitle({ className, ...props }: React.ComponentProps<"div">) {
@@ -122,11 +122,11 @@ function FieldTitle({ className, ...props }: React.ComponentProps<"div">) {
data-slot="field-label"
className={cn(
"flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
function FieldDescription({ className, ...props }: React.ComponentProps<"p">) {
@@ -137,11 +137,11 @@ function FieldDescription({ className, ...props }: React.ComponentProps<"p">) {
"text-start text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5",
"last:mt-0 nth-last-2:-mt-1",
"[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",
- className,
+ className
)}
{...props}
/>
- );
+ )
}
function FieldSeparator({
@@ -149,7 +149,7 @@ function FieldSeparator({
className,
...props
}: React.ComponentProps<"div"> & {
- children?: React.ReactNode;
+ children?: React.ReactNode
}) {
return (
<div
@@ -157,7 +157,7 @@ function FieldSeparator({
data-content={!!children}
className={cn(
"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
- className,
+ className
)}
{...props}
>
@@ -171,7 +171,7 @@ function FieldSeparator({
</span>
)}
</div>
- );
+ )
}
function FieldError({
@@ -180,37 +180,37 @@ function FieldError({
errors,
...props
}: React.ComponentProps<"div"> & {
- errors?: ({ message?: string } | undefined)[];
+ errors?: Array<{ message?: string } | undefined>
}) {
const content = useMemo(() => {
if (children) {
- return children;
+ return children
}
if (!errors?.length) {
- return null;
+ return null
}
const uniqueErrors = [
...new Map(errors.map((error) => [error?.message, error])).values(),
- ];
+ ]
if (uniqueErrors?.length == 1) {
- return uniqueErrors[0]?.message;
+ return uniqueErrors[0]?.message
}
return (
<ul className="ms-4 flex list-disc flex-col gap-1">
{uniqueErrors.map(
(error, index) =>
- error?.message && <li key={index}>{error.message}</li>,
+ error?.message && <li key={index}>{error.message}</li>
)}
</ul>
- );
- }, [children, errors]);
+ )
+ }, [children, errors])
if (!content) {
- return null;
+ return null
}
return (
@@ -222,7 +222,7 @@ function FieldError({
>
{content}
</div>
- );
+ )
}
export {
@@ -236,4 +236,4 @@ export {
FieldSet,
FieldContent,
FieldTitle,
-};
+}