"use client";
import { cn } from "./index3.js";
import { FieldTooltip } from "./index19.js";
import { Field, FieldBottom, FieldDescription, FieldError, FieldLabel } from "./index22.js";
import { useThemeOptional } from "./index35.js";
import { Check, Moon, Sun, X } from "lucide-react";
import * as React from "react";
import { useEffect, useState } from "react";
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
import { Switch } from "@base-ui/react/switch";
//#region src/components/atoms/forms/Switch/Switch.tsx
var iconSizeClasses = {
	sm: "size-2",
	md: "size-2.5",
	lg: "size-3"
};
var sizeClasses = {
	sm: "h-[18px] w-[32px]",
	md: "h-[22px] w-[40px]",
	lg: "h-[26px] w-[48px]"
};
var thumbSizeClasses = {
	sm: "size-[14px]",
	md: "size-[18px]",
	lg: "size-[22px]"
};
var thumbTranslateClasses = {
	sm: "data-checked:ltr:translate-x-[14px] data-checked:rtl:-translate-x-[14px]",
	md: "data-checked:ltr:translate-x-[18px] data-checked:rtl:-translate-x-[18px]",
	lg: "data-checked:ltr:translate-x-[22px] data-checked:rtl:-translate-x-[22px]"
};
var sizeWithLabelClasses = {
	sm: "h-[18px] w-[40px]",
	md: "h-[22px] w-[48px]",
	lg: "h-[26px] w-[56px]"
};
var thumbTranslateWithLabelClasses = {
	sm: "data-checked:ltr:translate-x-[22px] data-checked:rtl:-translate-x-[22px]",
	md: "data-checked:ltr:translate-x-[26px] data-checked:rtl:-translate-x-[26px]",
	lg: "data-checked:ltr:translate-x-[30px] data-checked:rtl:-translate-x-[30px]"
};
var labelFontSizes = {
	sm: "text-[8px]",
	md: "text-[10px]",
	lg: "text-xs"
};
var solidVariantClasses = {
	primary: "data-checked:bg-primary",
	secondary: "data-checked:bg-secondary",
	warning: "data-checked:bg-warning",
	info: "data-checked:bg-info",
	success: "data-checked:bg-success",
	destructive: "data-checked:bg-destructive"
};
var outlineVariantClasses = {
	primary: "data-checked:border-primary",
	secondary: "data-checked:border-secondary",
	warning: "data-checked:border-warning",
	info: "data-checked:border-info",
	success: "data-checked:border-success",
	destructive: "data-checked:border-destructive"
};
var outlineThumbVariantClasses = {
	primary: "group-data-checked/switch:bg-primary",
	secondary: "group-data-checked/switch:bg-secondary",
	warning: "group-data-checked/switch:bg-warning",
	info: "group-data-checked/switch:bg-info",
	success: "group-data-checked/switch:bg-success",
	destructive: "group-data-checked/switch:bg-destructive"
};
var themeSizeConfig = {
	sm: {
		gradient: {
			width: "w-[64px]",
			height: "h-6",
			indicator: "size-5",
			icon: "size-3",
			text: "text-xs",
			padding: "p-0.5",
			skeletonWidth: "w-[64px]",
			skeletonHeight: "h-6"
		},
		switch: {
			track: "w-[30px] h-4",
			indicator: "size-3.5",
			icon: "size-3.5",
			gap: "gap-1.5",
			skeletonWidth: "w-[50px]",
			skeletonHeight: "h-4"
		},
		pill: {
			width: "w-[42px]",
			height: "h-6",
			indicator: "size-5",
			icon: "size-3",
			padding: "p-0.5",
			skeletonWidth: "w-[42px]",
			skeletonHeight: "h-6"
		},
		segmented: {
			height: "h-6",
			icon: "size-3",
			text: "text-xs",
			padding: "p-1",
			gap: "gap-0.5",
			skeletonWidth: "w-[100px]",
			skeletonHeight: "h-6"
		}
	},
	md: {
		gradient: {
			width: "w-[76px]",
			height: "h-7",
			indicator: "size-6",
			icon: "size-3.5",
			text: "text-sm",
			padding: "p-0.5",
			skeletonWidth: "w-[76px]",
			skeletonHeight: "h-7"
		},
		switch: {
			track: "w-9 h-[18px]",
			indicator: "size-4",
			icon: "size-4",
			gap: "gap-2",
			skeletonWidth: "w-[58px]",
			skeletonHeight: "h-[18px]"
		},
		pill: {
			width: "w-[50px]",
			height: "h-7",
			indicator: "size-6",
			icon: "size-3.5",
			padding: "p-0.5",
			skeletonWidth: "w-[50px]",
			skeletonHeight: "h-7"
		},
		segmented: {
			height: "h-7",
			icon: "size-3.5",
			text: "text-sm",
			padding: "p-1",
			gap: "gap-1",
			skeletonWidth: "w-[120px]",
			skeletonHeight: "h-7"
		}
	},
	lg: {
		gradient: {
			width: "w-[88px]",
			height: "h-8",
			indicator: "size-7",
			icon: "size-4",
			text: "text-sm",
			padding: "p-0.5",
			skeletonWidth: "w-[88px]",
			skeletonHeight: "h-8"
		},
		switch: {
			track: "w-[42px] h-5",
			indicator: "size-[18px]",
			icon: "size-[18px]",
			gap: "gap-2.5",
			skeletonWidth: "w-[66px]",
			skeletonHeight: "h-5"
		},
		pill: {
			width: "w-[58px]",
			height: "h-8",
			indicator: "size-7",
			icon: "size-4",
			padding: "p-0.5",
			skeletonWidth: "w-[58px]",
			skeletonHeight: "h-8"
		},
		segmented: {
			height: "h-8",
			icon: "size-4",
			text: "text-sm",
			padding: "p-1",
			gap: "gap-1",
			skeletonWidth: "w-[140px]",
			skeletonHeight: "h-8"
		}
	}
};
var GRADIENT_LIGHT = "linear-gradient(247deg, var(--theme-toggle-gradient-light-end) 10%, var(--theme-toggle-gradient-light-mid) 50%, var(--theme-toggle-gradient-light-start) 90%)";
var GRADIENT_DARK = "linear-gradient(264deg, var(--theme-toggle-gradient-dark-start) 3%, var(--theme-toggle-gradient-dark-mid) 60%, var(--theme-toggle-gradient-dark-end) 98%)";
var themeFocusRingClasses = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2";
var themeTransitionClasses = "duration-[var(--theme-toggle-transition-duration)] ease-[var(--theme-toggle-transition-easing)]";
function GradientToggle({ isLight, onThemeChange, sizes }) {
	return /* @__PURE__ */ jsxs("div", {
		"data-slot": "switch",
		className: cn("relative flex items-center rounded-full transition-all overflow-hidden", sizes.width, sizes.height, sizes.padding, themeTransitionClasses),
		style: { background: isLight ? GRADIENT_LIGHT : GRADIENT_DARK },
		role: "radiogroup",
		"aria-label": "Theme selector",
		children: [
			/* @__PURE__ */ jsx("div", {
				className: cn("absolute flex items-center justify-center rounded-full bg-[var(--theme-toggle-indicator-surface)] shadow-md hover:shadow-lg active:scale-95 transition-all z-10", sizes.indicator, themeTransitionClasses, isLight ? "left-0.5" : "right-0.5"),
				children: isLight ? /* @__PURE__ */ jsx(Sun, { className: cn(sizes.icon, "text-[var(--theme-toggle-icon-sun)]") }) : /* @__PURE__ */ jsx(Moon, { className: cn(sizes.icon, "text-[var(--theme-toggle-icon-moon)]") })
			}),
			/* @__PURE__ */ jsx("button", {
				type: "button",
				role: "radio",
				"aria-checked": isLight,
				"aria-label": "Light theme",
				onClick: () => onThemeChange("light"),
				className: cn("flex-1 h-full rounded-full z-20", themeFocusRingClasses)
			}),
			/* @__PURE__ */ jsx("button", {
				type: "button",
				role: "radio",
				"aria-checked": !isLight,
				"aria-label": "Dark theme",
				onClick: () => onThemeChange("dark"),
				className: cn("flex-1 h-full rounded-full z-20", themeFocusRingClasses)
			}),
			/* @__PURE__ */ jsx("span", {
				className: cn("absolute pointer-events-none font-medium text-white transition-opacity", sizes.text, themeTransitionClasses, isLight ? "right-2 opacity-100" : "right-2 opacity-0"),
				children: "Light"
			}),
			/* @__PURE__ */ jsx("span", {
				className: cn("absolute pointer-events-none font-medium text-white transition-opacity", sizes.text, themeTransitionClasses, !isLight ? "left-2 opacity-100" : "left-2 opacity-0"),
				children: "Dark"
			})
		]
	});
}
function ThemeSwitchToggle({ isLight, onThemeChange, sizes }) {
	return /* @__PURE__ */ jsxs("div", {
		className: cn("flex items-center", sizes.gap),
		role: "radiogroup",
		"aria-label": "Theme selector",
		"data-slot": "switch",
		children: [/* @__PURE__ */ jsx("button", {
			type: "button",
			role: "radio",
			"aria-checked": isLight,
			"aria-label": `Switch to ${isLight ? "dark" : "light"} theme`,
			onClick: () => onThemeChange(isLight ? "dark" : "light"),
			className: cn("relative rounded-full transition-[colors,box-shadow] hover:shadow-[0_0_0_3px_var(--ring)/0.1] active:scale-[0.97]", sizes.track, themeTransitionClasses, themeFocusRingClasses, isLight ? "bg-[var(--theme-toggle-track-bg)]" : "bg-[var(--primary)]"),
			children: /* @__PURE__ */ jsx("div", { className: cn("absolute top-1/2 -translate-y-1/2 rounded-full bg-[var(--theme-toggle-indicator-surface)] shadow-md group-active:shadow-sm transition-all", sizes.indicator, themeTransitionClasses, isLight ? "left-0.5" : "right-0.5") })
		}), /* @__PURE__ */ jsx("div", {
			className: cn(sizes.icon, "text-[var(--muted-foreground)]"),
			children: isLight ? /* @__PURE__ */ jsx(Moon, { className: "size-full" }) : /* @__PURE__ */ jsx(Sun, { className: "size-full" })
		})]
	});
}
function PillToggle({ isLight, onThemeChange, sizes }) {
	return /* @__PURE__ */ jsxs("div", {
		className: cn("relative flex items-center justify-between rounded-full bg-[var(--theme-toggle-track-bg)]", sizes.width, sizes.height, sizes.padding),
		role: "radiogroup",
		"aria-label": "Theme selector",
		"data-slot": "switch",
		children: [
			/* @__PURE__ */ jsx("button", {
				type: "button",
				role: "radio",
				"aria-checked": !isLight,
				"aria-label": "Dark theme",
				tabIndex: !isLight ? -1 : 0,
				"aria-hidden": !isLight ? true : void 0,
				onClick: () => onThemeChange("dark"),
				className: cn("z-10 flex items-center justify-center rounded-full transition-opacity", sizes.indicator, themeTransitionClasses, themeFocusRingClasses, isLight ? "opacity-50" : "opacity-0"),
				children: /* @__PURE__ */ jsx(Moon, { className: cn(sizes.icon, "text-[var(--foreground)]") })
			}),
			/* @__PURE__ */ jsx("button", {
				type: "button",
				role: "radio",
				"aria-checked": isLight,
				"aria-label": "Light theme",
				tabIndex: isLight ? -1 : 0,
				"aria-hidden": isLight ? true : void 0,
				onClick: () => onThemeChange("light"),
				className: cn("z-10 flex items-center justify-center rounded-full transition-opacity", sizes.indicator, themeTransitionClasses, themeFocusRingClasses, !isLight ? "opacity-50" : "opacity-0"),
				children: /* @__PURE__ */ jsx(Sun, { className: cn(sizes.icon, "text-[var(--foreground)]") })
			}),
			/* @__PURE__ */ jsx("div", {
				className: cn("absolute top-1/2 -translate-y-1/2 flex items-center justify-center rounded-full bg-[var(--theme-toggle-indicator-surface)] shadow-md hover:shadow-lg active:scale-95 transition-all", sizes.indicator, themeTransitionClasses, isLight ? "right-0.5" : "left-0.5"),
				children: isLight ? /* @__PURE__ */ jsx(Sun, { className: cn(sizes.icon, "text-[var(--theme-toggle-icon-sun)]") }) : /* @__PURE__ */ jsx(Moon, { className: cn(sizes.icon, "text-[var(--theme-toggle-icon-moon)]") })
			})
		]
	});
}
function SegmentedToggle({ isLight, onThemeChange, sizes }) {
	return /* @__PURE__ */ jsxs("div", {
		className: cn("inline-flex items-center rounded bg-[var(--theme-toggle-track-bg)]", sizes.height, sizes.padding, sizes.gap),
		role: "radiogroup",
		"aria-label": "Theme selector",
		"data-slot": "switch",
		children: [/* @__PURE__ */ jsxs("button", {
			type: "button",
			role: "radio",
			"aria-checked": isLight,
			"aria-label": "Light theme",
			onClick: () => onThemeChange("light"),
			className: cn("flex items-center justify-center gap-1 rounded px-2 whitespace-nowrap transition-all", sizes.height, sizes.text, themeTransitionClasses, themeFocusRingClasses, isLight ? "bg-[var(--theme-toggle-indicator-bg)] text-[var(--foreground)] shadow-sm" : "text-[var(--foreground)] opacity-50 hover:opacity-70 active:scale-[0.97]"),
			children: [/* @__PURE__ */ jsx(Sun, { className: sizes.icon }), /* @__PURE__ */ jsx("span", { children: "Light" })]
		}), /* @__PURE__ */ jsxs("button", {
			type: "button",
			role: "radio",
			"aria-checked": !isLight,
			"aria-label": "Dark theme",
			onClick: () => onThemeChange("dark"),
			className: cn("flex items-center justify-center gap-1 rounded px-2 whitespace-nowrap transition-all", sizes.height, sizes.text, themeTransitionClasses, themeFocusRingClasses, !isLight ? "bg-[var(--primary)] text-[var(--primary-foreground)] shadow-sm" : "text-[var(--foreground)] opacity-50 hover:opacity-70 active:scale-[0.97]"),
			children: [/* @__PURE__ */ jsx(Moon, { className: sizes.icon }), /* @__PURE__ */ jsx("span", { children: "Dark" })]
		})]
	});
}
var themeVariantKeyMap = {
	"theme-gradient": "gradient",
	"theme-switch": "switch",
	"theme-pill": "pill",
	"theme-segmented": "segmented"
};
var ThemeVariantRenderer = React.forwardRef(({ variant, size = "md", label, orientation = "vertical", checked: controlledChecked, onCheckedChange, className: classNameProp, description: _description, labelPosition: _labelPosition, switchStyle: _switchStyle, withIcon: _withIcon, thumbIconOn: _thumbIconOn, thumbIconOff: _thumbIconOff, showOnOff: _showOnOff, onLabel: _onLabel, offLabel: _offLabel, defaultChecked: _defaultChecked, ...restProps }, ref) => {
	const className = typeof classNameProp === "function" ? void 0 : classNameProp;
	const [mounted, setMounted] = useState(false);
	useEffect(() => {
		setMounted(true);
	}, []);
	const themeContext = useThemeOptional();
	const contextTheme = themeContext?.theme;
	const contextSetTheme = themeContext?.setTheme;
	const isControlled = controlledChecked !== void 0;
	const activeTheme = isControlled ? controlledChecked ? "dark" : "light" : contextTheme ?? "light";
	const handleThemeChange = React.useCallback((newTheme) => {
		const newChecked = newTheme === "dark";
		if (isControlled) onCheckedChange?.(newChecked);
		else if (contextSetTheme) contextSetTheme(newTheme);
	}, [
		isControlled,
		onCheckedChange,
		contextSetTheme
	]);
	const key = themeVariantKeyMap[variant];
	const sizes = themeSizeConfig[size][key];
	if (!mounted && !isControlled) return /* @__PURE__ */ jsx("div", {
		className: cn("inline-flex", className),
		children: /* @__PURE__ */ jsx("div", {
			className: cn("rounded-full bg-[var(--surface-1)] animate-pulse", sizes.skeletonWidth, sizes.skeletonHeight),
			role: "radiogroup",
			"aria-label": typeof label === "string" ? label : "Theme selector"
		})
	});
	const isLight = activeTheme === "light";
	let toggle;
	switch (key) {
		case "gradient":
			toggle = /* @__PURE__ */ jsx(GradientToggle, {
				isLight,
				onThemeChange: handleThemeChange,
				sizes
			});
			break;
		case "switch":
			toggle = /* @__PURE__ */ jsx(ThemeSwitchToggle, {
				isLight,
				onThemeChange: handleThemeChange,
				sizes
			});
			break;
		case "pill":
			toggle = /* @__PURE__ */ jsx(PillToggle, {
				isLight,
				onThemeChange: handleThemeChange,
				sizes
			});
			break;
		case "segmented":
			toggle = /* @__PURE__ */ jsx(SegmentedToggle, {
				isLight,
				onThemeChange: handleThemeChange,
				sizes
			});
			break;
	}
	const divProps = restProps;
	if (!label) return /* @__PURE__ */ jsx("div", {
		ref,
		className,
		...divProps,
		children: toggle
	});
	return /* @__PURE__ */ jsxs("div", {
		ref,
		className: cn("inline-flex", orientation === "vertical" ? "flex-col items-start gap-2" : "flex-row items-center gap-3", className),
		...divProps,
		children: [/* @__PURE__ */ jsx("span", {
			className: "text-xs font-semibold text-[var(--muted-foreground)]",
			children: label
		}), toggle]
	});
});
ThemeVariantRenderer.displayName = "ThemeVariantRenderer";
/** Type guard: is the variant a color variant? */
function isColorVariant(v) {
	return !v.startsWith("theme-");
}
var SwitchControl = React.forwardRef(({ label, description, labelPosition = "right", orientation, className, id, size = "md", variant = "primary", switchStyle = "solid", withIcon, thumbIconOn, thumbIconOff, showOnOff, onLabel, offLabel, checked: controlledChecked, defaultChecked = false, onCheckedChange, ...props }, ref) => {
	if (!isColorVariant(variant)) return /* @__PURE__ */ jsx(ThemeVariantRenderer, {
		ref,
		variant,
		size,
		label,
		orientation,
		checked: controlledChecked,
		onCheckedChange,
		className,
		...props
	});
	const colorVariant = variant;
	const generatedId = React.useId();
	const switchId = id || generatedId;
	const [internalChecked, setInternalChecked] = React.useState(defaultChecked);
	const isControlled = controlledChecked !== void 0;
	const checked = isControlled ? controlledChecked : internalChecked;
	const handleCheckedChange = React.useCallback((newChecked) => {
		if (!isControlled) setInternalChecked(newChecked);
		onCheckedChange?.(newChecked);
	}, [isControlled, onCheckedChange]);
	const hasLabels = showOnOff || !!onLabel || !!offLabel;
	const activeSizeClasses = hasLabels ? sizeWithLabelClasses : sizeClasses;
	const activeThumbTranslate = hasLabels ? thumbTranslateWithLabelClasses : thumbTranslateClasses;
	const trackClasses = switchStyle === "solid" ? cn("data-unchecked:bg-input dark:data-unchecked:bg-input/80 border-transparent", solidVariantClasses[colorVariant]) : cn("data-unchecked:bg-transparent data-checked:bg-transparent border-input", outlineVariantClasses[colorVariant]);
	const thumbClasses = switchStyle === "solid" ? "bg-background dark:data-unchecked:bg-foreground dark:data-checked:bg-primary-foreground" : cn("bg-input dark:bg-foreground", outlineThumbVariantClasses[colorVariant]);
	const showThumbIcon = withIcon || thumbIconOn || thumbIconOff;
	const checkedIcon = showThumbIcon ? thumbIconOn || /* @__PURE__ */ jsx(Check, { className: iconSizeClasses[size] }) : null;
	const uncheckedIcon = showThumbIcon ? thumbIconOff || /* @__PURE__ */ jsx(X, { className: iconSizeClasses[size] }) : null;
	const switchElement = /* @__PURE__ */ jsxs(Switch.Root, {
		ref,
		id: switchId,
		"data-slot": "switch",
		"data-size": size,
		"data-variant": colorVariant,
		"data-style": switchStyle,
		className: cn("peer group/switch relative inline-flex items-center shrink-0 rounded-full border shadow-xs", "transition-[colors,box-shadow,border-color] duration-200 ease-smooth motion-reduce:transition-none outline-none", "after:absolute after:-inset-x-3 after:-inset-y-[13px]", "data-disabled:cursor-not-allowed data-disabled:opacity-50", "not-data-disabled:hover:shadow-[0_0_0_3px_var(--ring)/0.08] not-data-disabled:active:scale-[0.97]", "motion-reduce:active:scale-100", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 aria-invalid:ring-[3px]", activeSizeClasses[size], trackClasses, className),
		checked,
		onCheckedChange: handleCheckedChange,
		...props,
		children: [hasLabels && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
			"aria-hidden": "true",
			className: cn("absolute font-semibold transition-opacity duration-200 ease-smooth motion-reduce:transition-none", labelFontSizes[size], "start-1.5", checked ? "opacity-100" : "opacity-0", switchStyle === "solid" ? "text-primary-foreground" : "text-current"),
			children: onLabel || "ON"
		}), /* @__PURE__ */ jsx("span", {
			"aria-hidden": "true",
			className: cn("absolute font-semibold transition-opacity duration-200 ease-smooth motion-reduce:transition-none", labelFontSizes[size], "end-1.5", checked ? "opacity-0" : "opacity-100", switchStyle === "solid" ? "text-muted-foreground" : "text-current"),
			children: offLabel || "OFF"
		})] }), /* @__PURE__ */ jsx(Switch.Thumb, {
			"data-slot": "switch-thumb",
			className: cn("pointer-events-none block rounded-full ring-0", "shadow-sm group-hover/switch:shadow-md group-active/switch:shadow-sm", "transition-[transform,box-shadow,background-color] duration-200 motion-reduce:transition-none", "ease-[cubic-bezier(0.34,1.56,0.64,1)]", "group-hover/switch:scale-110 group-active/switch:scale-95", "data-unchecked:translate-x-0", thumbSizeClasses[size], activeThumbTranslate[size], thumbClasses, showThumbIcon && "flex items-center justify-center"),
			children: showThumbIcon && /* @__PURE__ */ jsx("span", {
				"aria-hidden": "true",
				className: cn("flex items-center justify-center transition-colors duration-200 ease-smooth motion-reduce:transition-none", switchStyle === "solid" ? "text-muted-foreground group-data-checked/switch:text-primary" : "text-background group-data-checked/switch:text-primary-foreground"),
				children: checked ? checkedIcon : uncheckedIcon
			})
		})]
	});
	if (!label) return switchElement;
	return /* @__PURE__ */ jsxs("div", {
		className: cn("flex items-center gap-3", labelPosition === "left" && "flex-row-reverse justify-end"),
		children: [switchElement, /* @__PURE__ */ jsxs("div", {
			className: "flex flex-col gap-0.5",
			children: [/* @__PURE__ */ jsx("label", {
				htmlFor: switchId,
				className: "text-sm font-medium leading-none cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
				children: label
			}), description && /* @__PURE__ */ jsx("p", {
				className: "text-sm text-muted-foreground",
				children: description
			})]
		})]
	});
});
SwitchControl.displayName = "SwitchControl";
var Switch$1 = React.forwardRef((props, ref) => {
	const { label, description, error, tooltip, required, labelIcon, fieldClassName, ...controlProps } = props;
	if (!!!(error || tooltip || required || labelIcon)) return /* @__PURE__ */ jsx(SwitchControl, {
		ref,
		label,
		description,
		...controlProps
	});
	return /* @__PURE__ */ jsxs(Field, {
		layout: "inline",
		state: error ? "destructive" : void 0,
		disabled: controlProps.disabled,
		className: fieldClassName,
		children: [
			/* @__PURE__ */ jsx(SwitchControl, {
				ref,
				...controlProps
			}),
			label && /* @__PURE__ */ jsxs(FieldLabel, {
				required,
				labelIcon,
				children: [label, tooltip && /* @__PURE__ */ jsx(FieldTooltip, { content: tooltip })]
			}),
			(error || description) && /* @__PURE__ */ jsxs(FieldBottom, { children: [error && /* @__PURE__ */ jsx(FieldError, { children: error }), !error && description && /* @__PURE__ */ jsx(FieldDescription, { children: description })] })
		]
	});
});
Switch$1.displayName = "Switch";
//#endregion
export { Switch$1 as Switch };

//# sourceMappingURL=index37.js.map