@playbooks/ui
Version:
An interface library for Playbooks.
1,919 lines • 62.4 kB
JavaScript
const accordionProps = (open) => ({
body: {
border: open ? "border-b border-l border-r" : "border",
borderRadius: open ? "rounded-bl rounded-br" : "rounded-md"
},
toggle: {
border: "border",
borderRadius: open ? "rounded-tl rounded-tr" : "rounded-md",
spacing: "p-4"
}
});
const cloudProps = {
bgColor: "bg-gray-200/25 dark:bg-gray-700/25",
color: "text-gray-500 dark:text-gray-400",
fontSize: "text-sm",
fontFamily: "font-secondary",
size: "",
spacing: "px-2 py-1"
};
const gradientBgColor = {
bgColor: "bg-linear-to-br from-secondary to-primary"
};
const gradientSpan = {
color: "text-transparent",
bgClip: "bg-clip-text",
bgColor: "bg-linear-to-r from-secondary to-primary",
leading: "leading-relaxed"
};
const metaProps = {
color: "text-gray-500 dark:text-gray-400",
display: "flex-start",
fontSize: "text-sm",
space: "space-x-3",
tracking: "tracking-wide"
};
const metaCardProps = {
size: "",
bgColor: "",
color: "text-gray-500 dark:text-gray-400 hover:text-gray-500 dark:hover:text-gray-300",
fontSize: "text-sm",
spacing: "mr-4",
textDecoration: "underline"
};
const sectionLinkProps = {
section: { display: "flex-start", spacing: "" },
header: { display: "hidden" },
title: {
size: "sm",
color: "text-gray-500 dark:text-gray-400",
fontFamily: "font-accent",
fontWeight: "font-regular",
tracking: "tracking-widest",
transform: "uppercase"
},
body: { size: "", flex: "grow", width: "w-full" },
list: {
col: { sm: "6", lg: "2" },
card: { spacing: "" },
grid: { cols: "12" },
header: { borderRadius: "", width: "w-10" },
title: { fontSize: "text-base" },
text: { display: "hidden" }
},
footer: { display: "hidden" }
};
const computeAvatarSize = (size) => {
switch (size) {
case "xs":
return "w-6";
case "sm":
return "w-8";
case "md":
return "w-10";
case "lg":
return "w-12";
case "xl":
return "w-14";
default:
return size;
}
};
const computeBadgeSize = (size) => {
switch (size) {
case "xs":
return "px-2 py-0.5";
case "sm":
return "px-2 py-1";
case "md":
return "px-4 py-1.5";
case "lg":
return "px-5 py-2";
case "xl":
return "px-6 py-2.5";
default:
return size;
}
};
const computeBtnSize = (size) => {
switch (size) {
case "icon":
return "w-10 h-10";
case "xxs":
return "px-2 py-1.5";
case "xs":
return "px-3 py-2";
case "sm":
return "px-4 py-2.5 min-w-[75px]";
case "md":
return "px-5 py-3 min-w-[100px]";
case "lg":
return "px-6 py-4 min-w-[150px]";
case "xl":
return "px-8 py-5 min-w-[200px]";
default:
return size;
}
};
const computeHeroSize = (size) => {
switch (size) {
case "xs":
return "min-h-[10vh]";
case "sm":
return "min-h-[20vh]";
case "md":
return "min-h-[30vh]";
case "lg":
return "min-h-[40vh]";
case "xl":
return "min-h-[60vh]";
case "full":
return "min-h-[100vh] -mt-20";
default:
return size;
}
};
const computeThumbnailSize = (size) => {
switch (size) {
case "xs":
return "w-10";
case "sm":
return "w-16";
case "md":
return "w-20";
case "lg":
return "w-20 md:w-24";
case "xl":
return "w-24 md:w-32";
default:
return size;
}
};
const computeInputSize = (size) => {
switch (size) {
case "xxs":
return { fontSize: "text-sm", spacing: "p-2" };
case "xs":
return { fontSize: "text-sm", spacing: "p-2.5" };
case "sm":
return { fontSize: "text-sm", spacing: "p-3" };
case "md":
return { fontSize: "text-sm", spacing: "p-3.5" };
case "lg":
return { fontSize: "text-base", spacing: "p-4" };
case "xl":
return { fontSize: "text-base", spacing: "p-4.5" };
default:
return size;
}
};
const computeModalSize = (size) => {
switch (size) {
case "xs":
return "min-h-[150px]";
case "sm":
return "min-h-[250px]";
case "md":
return "min-h-[400px]";
case "lg":
return "min-h-[600px]";
case "xl":
return "min-h-[800px]";
case "full":
return "min-h-[100vh]";
default:
return size;
}
};
const computeSectionSize = (size) => {
switch (size) {
case "xs":
return "min-h-[150px]";
case "sm":
return "min-h-[250px]";
case "md":
return "min-h-[400px]";
case "lg":
return "min-h-[600px]";
case "xl":
return "min-h-[800px]";
case "full":
return "min-h-[100vh]";
default:
return size;
}
};
const computeSlideAnimation = (direction) => {
switch (direction) {
case "top":
return "translate-y-full";
case "left":
return "-translate-x-full";
case "right":
return "translate-x-full";
case "bottom":
return "-translate-y-full";
}
};
const computeTagSize = (size) => {
switch (size) {
case "xxs":
return "px-1.5 py-0.5";
case "xs":
return "px-2 py-1";
case "sm":
return "px-3 py-1.5";
case "md":
return "px-4 py-2";
case "lg":
return "px-5 py-2.5";
case "xl":
return "px-6 py-3";
default:
return size;
}
};
const computeTagImgSize = (size) => {
switch (size) {
case "xs":
return "w-4 h-4";
case "sm":
return "w-6 h-6";
case "md":
return "w-8 h-8";
case "lg":
return "w-10 h-10";
case "xl":
return "w-12 h-12";
default:
return size;
}
};
const computeToastAnimation = (direction) => {
switch (direction) {
case "top":
return "-translate-y-12";
case "left":
return "-translate-x-12";
case "right":
return "translate-x-12";
case "bottom":
return "translate-y-12";
}
};
const computeTooltipAnimation = (placement) => {
switch (placement) {
case "top":
return "translate-y-2";
case "left":
return "translate-x-2";
case "right":
return "-translate-x-2";
case "bottom":
return "-translate-y-2";
}
};
const computeContainer = (size) => {
switch (size) {
case "xs":
return "w-full max-w-xs";
case "sm":
return "w-full max-w-sm";
case "md":
return "w-full max-w-md";
case "lg":
return "w-full max-w-lg";
case "xl":
return "w-full max-w-xl";
case "xxl":
return "w-full max-w-xxl";
default:
return size;
}
};
const computeGrid = (value) => {
switch (value) {
case "2":
return "grid-cols-2";
case "3":
return "grid-cols-3";
case "4":
return "grid-cols-4";
case "5":
return "grid-cols-5";
case "6":
return "grid-cols-6";
case "7":
return "grid-cols-7";
case "8":
return "grid-cols-8";
case "9":
return "grid-cols-9";
case "10":
return "grid-cols-10";
case "11":
return "grid-cols-11";
case "12":
return "grid-cols-12";
default:
return value;
}
};
const computeCol = (type, size) => {
switch (type) {
case "sm":
return computeColSm(size);
case "md":
return computeColMd(size);
case "lg":
return computeColLg(size);
case "xl":
return computeColXl(size);
case "xxl":
return computeCol2xl(size);
default:
return computeColSpan(size);
}
};
const computeColSpan = (size) => {
switch (size) {
case "1":
return "col-span-1";
case "2":
return "col-span-2";
case "3":
return "col-span-3";
case "4":
return "col-span-4";
case "5":
return "col-span-5";
case "6":
return "col-span-6";
case "7":
return "col-span-7";
case "8":
return "col-span-8";
case "9":
return "col-span-9";
case "10":
return "col-span-10";
case "11":
return "col-span-11";
case "12":
return "col-span-12";
default:
return;
}
};
const computeColSm = (size) => {
switch (size) {
case "1":
return "sm:col-span-1";
case "2":
return "sm:col-span-2";
case "3":
return "sm:col-span-3";
case "4":
return "sm:col-span-4";
case "5":
return "sm:col-span-5";
case "6":
return "sm:col-span-6";
case "7":
return "sm:col-span-7";
case "8":
return "sm:col-span-8";
case "9":
return "sm:col-span-9";
case "10":
return "sm:col-span-10";
case "11":
return "sm:col-span-11";
case "12":
return "sm:col-span-12";
default:
return;
}
};
const computeColMd = (size) => {
switch (size) {
case "1":
return "md:col-span-1";
case "2":
return "md:col-span-2";
case "3":
return "md:col-span-3";
case "4":
return "md:col-span-4";
case "5":
return "md:col-span-5";
case "6":
return "md:col-span-6";
case "7":
return "md:col-span-7";
case "8":
return "md:col-span-8";
case "9":
return "md:col-span-9";
case "10":
return "md:col-span-10";
case "11":
return "md:col-span-11";
case "12":
return "md:col-span-12";
default:
return;
}
};
const computeColLg = (size) => {
switch (size) {
case "1":
return "lg:col-span-1";
case "2":
return "lg:col-span-2";
case "3":
return "lg:col-span-3";
case "4":
return "lg:col-span-4";
case "5":
return "lg:col-span-5";
case "6":
return "lg:col-span-6";
case "7":
return "lg:col-span-7";
case "8":
return "lg:col-span-8";
case "9":
return "lg:col-span-9";
case "10":
return "lg:col-span-10";
case "11":
return "lg:col-span-11";
case "12":
return "lg:col-span-12";
default:
return;
}
};
const computeColXl = (size) => {
switch (size) {
case "1":
return "xl:col-span-1";
case "2":
return "xl:col-span-2";
case "3":
return "xl:col-span-3";
case "4":
return "xl:col-span-4";
case "5":
return "xl:col-span-5";
case "6":
return "xl:col-span-6";
case "7":
return "xl:col-span-7";
case "8":
return "xl:col-span-8";
case "9":
return "xl:col-span-9";
case "10":
return "xl:col-span-10";
case "11":
return "xl:col-span-11";
case "12":
return "xl:col-span-12";
default:
return;
}
};
const computeCol2xl = (size) => {
switch (size) {
case "1":
return "2xl:col-span-1";
case "2":
return "2xl:col-span-2";
case "3":
return "2xl:col-span-3";
case "4":
return "2xl:col-span-4";
case "5":
return "2xl:col-span-5";
case "6":
return "2xl:col-span-6";
case "7":
return "2xl:col-span-7";
case "8":
return "2xl:col-span-8";
case "9":
return "2xl:col-span-9";
case "10":
return "2xl:col-span-10";
case "11":
return "2xl:col-span-11";
case "12":
return "2xl:col-span-12";
default:
return;
}
};
const accordion = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
overflow: "overflow-hidden",
width: "w-full"
});
const accordionToggle = ({ open }) => ({
align: "text-left",
display: "flex-between",
nextIcon: {
animation: "transition-all",
fade: "ease",
icon: "chevron-down",
rotate: open ? "rotate-180" : "rotate-0"
},
spacing: "p-0",
width: "w-full"
});
const accordionTitle = () => ({
color: "text-gray-700 dark:text-gray-100",
fontWeight: "font-semibold",
tracking: "tracking-wide"
});
const accordionBodyWrapper = () => ({
animation: "transition-all",
duration: "duration-200",
fade: "ease",
overflow: "overflow-hidden"
});
const accordionBody = () => ({
border: "border-t",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
spacing: "p-4",
width: "w-full"
});
const accordionText = () => ({
color: "text-gray-600 dark:text-gray-300",
fontFamily: "font-secondary"
});
const alert = ({ type }) => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
border: "border-l-8 border",
borderColor: type === "success" ? "border-green-500/50 dark:border-green-500/50" : type === "warning" ? "border-amber-500/50 dark:border-amber-500/50" : type === "error" ? "border-red-500/50 dark:border-red-500/50" : type === "info" ? "border-blue-300/50 dark:border-cyan-600/50" : "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
display: "flex-start-top",
overflow: "overflow-hidden",
space: "space-x-8",
spacing: "p-4"
});
const alertIcon = () => ({
color: "text-gray-600 dark:text-gray-500",
fontSize: "text-2xl"
});
const alertBody = () => ({
space: "space-y-1",
fontSize: "text-sm"
});
const alertTitle = () => ({
fontWeight: "font-bold"
});
const alertText = () => ({
fontSize: "text-sm"
});
const alertActions = () => ({
display: "flex-start",
flex: "shrink-0",
space: "space-x-4",
spacing: "py-4"
});
const animation = () => ({
animation: "transition-all",
duration: "duration-200",
fade: "ease"
});
const avatar = () => ({
display: "flex-start",
space: "space-x-4",
width: "w-full"
});
const avatarBadge = ({ size }) => ({
bgColor: "bg-primary dark:bg-secondary",
border: "border-2",
borderColor: "border-white dark:border-gray-900",
borderRadius: "rounded-full",
color: "text-white",
fontSize: "text-sm",
spacing: "w-6 h-6",
flex: "flex-middle",
size: computeBadgeSize(size)
});
const avatarImg = ({ size }) => ({
aspect: "aspect-[1/1]",
borderColor: "border-gray-100 dark:border-gray-900",
borderRadius: "rounded-full",
flex: "shrink-0",
size: computeAvatarSize(size)
});
const avatarBody = () => ({});
const avatarTitle = () => ({
color: "text-gray-700 dark:text-gray-200",
fontWeight: "font-bold",
textDecoration: "capitalize"
});
const avatarText = () => ({
fontWeight: "font-normal",
fontSize: "text-sm"
});
const avatarActions = () => ({
display: "flex-end",
flex: "shrink-0",
space: "space-x-2"
});
const badge = ({ size }) => ({
size: computeBadgeSize(size),
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
display: "inline-block",
flex: "shrink-0",
fontFamily: "font-accent",
fontSize: "text-xs",
fontWeight: "font-medium",
space: "space-x-2",
textTransform: "capitalize",
whitespace: "whitespace-nowrap"
});
const draftBadge = () => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
color: "text-gray-600 dark:text-gray-300"
});
const pendingBadge = () => ({
bgColor: "bg-yellow-100 dark:bg-yellow-800",
color: "text-yellow-600 dark:text-yellow-300"
});
const warningBadge = () => ({
bgColor: "bg-orange-100 dark:bg-orange-800",
color: "text-orange-600 dark:text-orange-300"
});
const successBadge = () => ({
bgColor: "bg-green-100 dark:bg-green-800",
color: "text-green-600 dark:text-green-300"
});
const finishedBadge = () => ({
bgColor: "bg-gray-900 dark:bg-gray-100",
color: "text-gray-100 dark:text-gray-900"
});
const errorBadge = () => ({
bgColor: "bg-red-100 dark:bg-red-800",
color: "text-red-600 dark:text-red-300"
});
const outlineBadge = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
bgColor: "bg-transparent",
border: "border",
color: "text-gray-600 dark:text-gray-300"
});
const banner = () => ({
border: "border-b",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
color: "text-white",
display: "flex-between",
space: "space-x-4",
spacing: "py-2 px-4",
width: "w-full"
});
const bannerIcon = () => ({
bgColor: "bg-black/25 dark:bg-black/25",
borderRadius: "rounded-md",
color: "text-primary dark:text-secondary",
spacing: "px-2 py-1"
});
const bannerBody = () => ({
display: "flex-start",
space: "space-x-3",
spacing: "py-1"
});
const bannerTitle = () => ({
color: "text-gray-700 dark:text-white",
fontWeight: "font-semibold"
});
const bannerText = () => ({
color: "text-gray-600 dark:text-gray-200",
fontSize: "text-sm"
});
const bannerActions = () => ({
display: "flex-end",
flex: "shrink-0",
space: "space-x-2"
});
const breadcrumbs = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
display: "flex-start",
fontFamily: "font-secondary",
fontSize: "text-sm",
space: "space-x-2",
spacing: "mb-4 pb-4",
width: "w-full"
});
const breadcrumbItem = () => ({
display: "flex-start",
space: "space-x-2"
});
const breadcrumbBtn = ({ active }) => ({
color: "text-gray-600 dark:text-gray-400",
cursor: "cursor-pointer",
fontFamily: "font-accent",
fontSize: "text-sm",
fontWeight: "font-medium",
textTransform: "uppercase",
tracking: "tracking-widest",
...active && {
cursor: "cursor-default",
...active
}
});
const breadcrumbLink = ({ active }) => ({
color: "text-gray-600 dark:text-gray-400",
cursor: "cursor-pointer",
fontFamily: "font-accent",
fontSize: "text-sm",
fontWeight: "font-medium",
textTransform: "uppercase",
tracking: "tracking-widest",
...active && {
cursor: "cursor-default",
...active
}
});
const btnGroup = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
border: "border",
borderRadius: "rounded-md",
display: "flex-start",
divide: "divide-x",
divideColor: "divide-gray-300/50 dark:divide-gray-600/50",
flex: "shrink-0",
overflow: "overflow-hidden",
space: "space-x-0",
width: "width-inherit"
});
const btn = (active) => ({
align: "text-center",
animation: "transition",
display: "flex-middle-inline",
fade: "ease",
flex: "shrink-0",
fontFamily: "font-secondary",
fontSize: "text-sm",
fontWeight: "font-normal",
focus: "focus:outline-none focus-visible:outline-none",
outline: "outline-none",
position: "relative",
space: "space-x-4",
tracking: "tracking-normal",
whiteSpace: "whitespace-nowrap",
...active
});
const primaryBtn = ({ active, size }) => ({
bgColor: "bg-linear-to-r from-secondary to-primary",
bgPosition: "bg-center",
bgSize: "bg-size-[100%] hover:bg-size-[200%]",
borderRadius: "rounded-md",
color: "text-white",
size: computeBtnSize(size),
stroke: "stroke-white dark:stroke-white",
...btn(active)
});
const accentBtn = ({ active, size }) => ({
bgColor: "bg-transparent dark:bg-transparent",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-600 dark:text-gray-200",
hover: "hover:bg-gray-200 hover:dark:bg-gray-800",
size: computeBtnSize(size),
stroke: "stroke-gray-500 dark:stroke-gray-200",
...btn(
active && {
bgColor: "bg-gray-200 dark:bg-gray-800",
hover: "",
...active
}
)
});
const borderBtn = ({ active, size }) => ({
bgColor: "bg-transparent",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-600 dark:text-gray-200",
hover: "hover:border-gray-300 hover:dark:border-gray-600",
size: computeBtnSize(size),
stroke: "stroke-gray-600 dark:stroke-gray-300",
active: "data-[active=true]:text-gray-500 data-[active=true]:dark:text-gray-300 data-[active=true]:border-gray-300 data-[active=true]:dark:border-gray-600",
...btn(
active && {
borderColor: "border-secondary dark:border-secondary",
color: "text-secondary",
hover: "",
stroke: "stroke-secondary",
...active
}
)
});
const tabBtn = ({ active, size }) => ({
bgColor: "bg-transparent",
border: "border-b-2",
borderColor: "border-b-transparent hover:border-b-gray-300",
borderRadius: "",
color: "text-gray-600 dark:text-gray-200",
hover: "border-b-primary dark:hover:border-b-secondary",
size: computeBtnSize(size),
stroke: "stroke-gray-500 dark:stroke-gray-300",
...btn(
active && {
borderColor: "border-b-primary dark:border-b-secondary",
color: "text-gray-600 dark:text-gray-200",
hover: "",
...active
}
)
});
const textBtn = ({ active, size }) => ({
color: "text-gray-500 dark:text-gray-300",
stroke: "stroke-gray-500 dark:stroke-gray-300",
fontSize: "text-inherit",
hover: "hover:underline hover:text-gray-700 hover:dark:text-gray-100",
size: computeBtnSize(size),
...btn(active)
});
const btnWrapper = ({ disabled }) => ({
cursor: disabled ? "cursor-not-allowed" : "cursor-pointer",
outline: "focus-visible:outline",
outlineColor: "focus-visible:outline-primary dark:focus-visible:outline-secondary",
outlineOffset: "outline-offset-1",
width: "w-inherit"
});
const card = () => ({
animation: "transition-all",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-400",
fade: "ease",
width: "w-full"
});
const cardHeader = () => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md"
});
const cardIcon = () => ({
color: "text-gray-500",
fontSize: "text-xl"
});
const cardImg = () => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
width: "w-full"
});
const cardBody = () => ({
align: "text-left",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
space: "space-y-1",
spacing: "p-4"
});
const cardPretitle = () => ({
color: "text-primary dark:text-secondary",
fontFamily: "font-accent",
fontSize: "text-sm",
fontWeight: "font-book",
textTransform: "capitalize",
tracking: "tracking-wider"
});
const cardTitle = () => ({
fontWeight: "font-semibold"
});
const cardSubtitle = () => ({
color: "text-gray-600 dark:text-gray-300",
fontWeight: "font-light",
fontSize: "text-base",
space: "space-x-4",
tracking: "tracking-normal"
});
const cardText = () => ({
fontSize: "text-sm",
fontWeight: "font-light"
});
const cardFooter = () => ({
border: "border-t",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
color: "text-gray-500",
display: "flex-between",
fontSize: "text-sm",
space: "space-x-4",
spacing: "p-4"
});
const cardActions = () => ({
display: "flex-start",
flex: "shrink-0",
space: "space-x-4"
});
const checkbox = ({ active }) => ({
animation: "transition-all",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
cursor: "cursor-pointer",
fade: "ease",
display: "flex-start-top",
duration: "duration-200",
hover: "hover:border-gray-300 hover:dark:border-gray-600",
space: "space-x-4",
position: "relative",
spacing: "p-4"
});
const checkboxInput = () => ({
animation: "transition-all",
appearance: "appearance-none",
bgColor: "bg-gray-100 dark:bg-gray-800 checked:bg-primary dark:checked:bg-secondary",
border: "border",
borderColor: "border-gray-300 dark:border-gray-600 checked:border-primary checked:dark:border-secondary",
borderRadius: "rounded-sm",
cursor: "cursor-pointer",
fade: "ease",
height: "h-5",
ring: "ring-none",
ringColor: "ring-transparent checked:ring-transparent dark:checked:ring-transparent focus:ring-transparent",
ringOffset: "ring-offset-none checked:ring-offset-4 focus:ring-offset-transparent",
ringOffsetColor: "checked:ring-offset-primary/50 dark:checked:ring-offset-secondary/50",
width: "w-5"
});
const checkboxTitle = () => ({
color: "text-gray-700 dark:text-gray-200",
fontSize: "text-sm",
fontWeight: "font-medium",
leading: "leading-tight"
});
const checkboxText = () => ({
color: "text-gray-600 dark:text-gray-300",
fontSize: "text-sm",
fontWeight: "font-light",
tracking: "tracking-wide"
});
const command = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
flex: "shrink-0",
fontFamily: "font-secondary",
fontSize: "text-xs",
fontWeight: "font-medium",
textTransform: "capitalize",
whitespace: "whitespace-nowrap"
});
const drop = () => ({
position: "relative"
});
const dropToggle = () => ({
display: "flex-between",
space: "space-x-4"
});
const dropMenu = ({ open }) => ({
align: "text-left",
animation: "transition-all",
bgColor: "bg-white dark:bg-gray-900",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
duration: "duration-200",
fade: "ease",
opacity: open ? "opacity-100" : "opacity-0",
overflow: "overflow-hidden overflow-y-scroll",
shadow: "shadow-lg",
shadowColor: "dark:shadow-gray-800/25",
translate: open ? "translate-y-0" : "translate-y-2",
width: "w-auto",
zIndex: "z-10"
});
const dropHeader = () => ({
align: "text-left",
border: "border-b",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
space: "space-y-1",
spacing: "px-6 py-4"
});
const dropTitle = () => ({
color: "text-gray-800 dark:text-white",
whitespace: "whitespace-nowrap",
fontWeight: "font-semibold",
textTransform: "capitalize",
tracking: "tracking-wide"
});
const dropSubtitle = () => ({
color: "text-gray-500 dark:text-gray-300",
whitespace: "whitespace-nowrap",
fontWeight: "font-normal",
fontSize: "text-sm"
});
const dropList = () => ({
border: "",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
space: "space-y-1",
spacing: "p-2"
});
const dropItem = () => ({
display: "block",
width: "w-full"
});
const dropBtn = () => ({
align: "text-left",
display: "flex-start",
space: "space-x-4",
width: "w-full"
});
const dropLink = () => ({
align: "text-left",
display: "flex-start",
space: "space-x-4",
width: "w-full"
});
const feedback = () => ({
align: "text-left",
bgColor: "bg-gray-50 dark:bg-gray-800",
border: "",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
spacing: "p-8"
});
const feedbackHeader = () => ({
spacing: "p-4"
});
const feedbackIcon = () => ({
color: "text-gray-500",
fontSize: "text-2xl"
});
const feedbackBody = () => ({
space: "space-y-2",
spacing: "p-4"
});
const feedbackPretitle = () => ({
color: "text-gray-500",
fontFamily: "font-accent",
fontSize: "text-sm",
fontWeight: "font-medium",
textTransform: "uppercase",
tracking: "tracking-wider"
});
const feedbackTitle = () => ({
color: "text-gray-800 dark:text-white",
fontWeight: "font-semibold",
textTransform: "capitalize",
tracking: "tracking-wide"
});
const feedbackText = () => ({});
const feedbackActions = () => ({
display: "flex-start",
flex: "shrink-0",
space: "space-x-4",
spacing: "p-4"
});
const h1 = () => ({
color: "text-gray-800 dark:text-gray-100",
fontSize: "text-5xl lg:text-6xl",
fontWeight: "font-bold",
fontFamily: "font-primary"
});
const h2 = () => ({
color: "text-gray-800 dark:text-gray-100",
fontSize: "text-4xl lg:text-5xl",
fontWeight: "font-bold",
fontFamily: "font-primary"
});
const h3 = () => ({
color: "text-gray-800 dark:text-gray-100",
fontSize: "text-3xl lg:text-3xl",
fontWeight: "font-bold",
fontFamily: "font-primary"
});
const h4 = () => ({
color: "text-gray-800 dark:text-gray-100",
fontSize: "text-xl lg:text-2xl",
fontWeight: "font-semibold",
fontFamily: "font-primary"
});
const h5 = () => ({
color: "text-gray-800 dark:text-gray-100",
fontSize: "text-lg lg:text-xl",
fontWeight: "font-medium",
fontFamily: "font-primary"
});
const h6 = () => ({
color: "text-gray-800 dark:text-gray-100",
fontSize: "text-base lg:text-lg",
fontWeight: "font-medium",
fontFamily: "font-primary"
});
const p = () => ({
color: "text-gray-600 dark:text-gray-200",
fontSize: "text-base",
fontWeight: "font-light",
fontFamily: "font-secondary",
tracking: "tracking-wide"
});
const small = () => ({
color: "text-gray-500 dark:text-gray-300",
display: "block",
fontSize: "text-sm"
});
const footer = () => ({
bgColor: "bg-white dark:bg-gray-900",
border: "border-t",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
position: "relative",
spacing: "py-6"
});
const footerHeader = () => ({
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
spacing: "py-8"
});
const footerBody = () => ({
spacing: "py-10",
width: "w-full"
});
const footerTitle = () => ({
fontSize: "text-base",
fontWeight: "font-bold",
tracking: "tracking-wider"
});
const footerText = () => ({
fontSize: "text-sm"
});
const footerList = () => ({
display: "flex-column",
space: "space-y-2",
spacing: ""
});
const footerItem = () => ({
display: "block",
spacing: "py-1"
});
const footerBtn = () => ({});
const footerLink = () => ({});
const footerFooter = () => ({
border: "border-t",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
spacing: "pt-6"
});
const form = () => ({});
const formCheckbox = () => ({
animation: "transition-all",
bgColor: "bg-transparent dark:bg-transparent checked:bg-primary dark:checked:bg-secondary",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
cursor: "cursor-pointer",
fade: "ease",
ring: "ring-none",
ringColor: "ring-transparent checked:ring-transparent dark:checked:ring-transparent focus:ring-transparent",
ringOffset: "ring-offset-4 checked:ring-offset-4 focus:ring-offset-none",
ringOffsetColor: "checked:ring-offset-primary/50 dark:checked:ring-offset-secondary/50",
size: "h-6 w-6"
});
const formGroup = () => ({
space: "space-y-2",
spacing: "mb-4",
width: "w-full"
});
const formLabel = () => ({
color: "text-gray-600 dark:text-gray-400",
cursor: "cursor-pointer",
display: "inline-block",
fontFamily: "font-secondary",
fontSize: "text-sm",
fontWeight: "font-medium",
spacing: "p-1",
tracking: "tracking-wide"
});
const formInput = ({ size = "sm", variant = "" }) => ({
align: "text-left",
animation: "transition",
bgColor: "bg-white dark:bg-gray-900",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-600 dark:text-gray-200",
cursor: "cursor-auto",
display: "block",
fade: "ease",
fontFamily: "font-secondary",
fontSize: "text-sm",
outline: "outline-none",
placeholderColor: "placeholder:text-gray-500 dark:placeholder:text-gray-400",
ring: "focus:ring-1",
ringColor: "focus:ring-transparent dark:focus:ring-transparent",
ringOffset: "focus:ring-offset-1 dark:focus:ring-offset-1",
ringOffsetColor: "focus:ring-offset-primary dark:focus:ring-offset-secondary",
tracking: "tracking-wide",
width: "w-full",
...computeInputSize(size),
...variant === "group" && {
bgColor: "bg-transparent",
border: "border-none",
ring: "focus:ring-0",
ringColor: "focus:ring-transparent",
ringOffset: "focus:ring-offset-none",
ringOffsetColor: "focus:ring-offset-transparent"
}
});
const formDivInput = ({ size, variant }) => ({
...formInput({ size, variant }),
color: "text-gray-600 dark:text-gray-200",
display: "flex-center",
overflow: "overflow-x-scroll"
});
const formFileInput = () => ({});
const formOtp = () => ({
display: "flex-between",
space: "space-x-2"
});
const formOtpInput = ({ index, length }) => ({
align: "text-center",
bordrRadius: index === 0 ? "rounded-tl-md rounded-bl-md" : length === index + 1 ? "rounded-tr-md rounded-br-md" : ""
});
const formSelect = ({ size, variant }) => ({
...formInput({ size, variant }),
cursor: "cursor-pointer"
});
const formText = () => ({
color: "text-gray-500 dark:text-gray-400",
fontSize: "text-xs",
spacing: "mx-1",
tracking: "tracking-wider"
});
const container = ({ size }) => ({
margin: "mx-auto",
size: computeContainer(size),
spacing: "px-4"
});
const grid = ({ cols }) => ({
cols: computeGrid(cols),
gap: "gap-4",
grid: `grid ${computeGrid(cols)}`,
width: "w-full"
});
const col = ({ span: span2, sm, md, lg, xl, xxl }) => ({
span: computeCol("span", span2),
sm: computeCol("sm", sm),
md: computeCol("md", md),
lg: computeCol("lg", lg),
xl: computeCol("xl", xl),
xxl: computeCol("xxl", xxl)
});
const header = () => ({
border: "border-b",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
display: "flex-between",
position: "relative",
space: "space-x-4",
spacing: "py-4",
width: "w-full"
});
const headerTitle = () => ({
fontWeight: "font-bold",
tracking: "tracking-wide",
textTransform: "capitalize"
});
const headerSubtitle = () => ({
color: "text-gray-600 dark:text-gray-300",
fontFamily: "font-secondary",
fontWeight: "font-normal",
tracking: "tracking-normal"
});
const headerText = () => ({
color: "text-gray-700 dark:text-gray-100",
fontWeight: "font-light",
fontFamily: "font-secondary",
tracking: "tracking-normal"
});
const headerActions = () => ({
display: "flex-end",
space: "space-x-4"
});
const hero = ({ size }) => ({
bgColor: "bg-white dark:bg-gray-900",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
display: "block",
position: "relative",
size: computeHeroSize(size),
spacing: "py-8",
width: "w-full"
});
const heroBg = () => ({
inset: "inset-0",
position: "absolute"
});
const heroImg = ({ size }) => ({
aspect: "aspect-[1/1]",
bgColor: "bg-gray-100 dark:bg-gray-800",
border: "",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-500",
display: "flex-middle",
flex: "shrink-0",
overflow: "overflow-hidden",
size: computeThumbnailSize(size)
});
const heroIcon = ({ size }) => ({
aspect: "aspect-[1/1]",
bgColor: "bg-gray-100 dark:bg-gray-800",
border: "",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-500",
display: "flex-middle",
flex: "shrink-0",
fontSize: "text-3xl",
overflow: "overflow-hidden",
size: computeThumbnailSize(size)
});
const heroBody = () => ({
align: "text-left",
space: "space-y-1"
});
const heroPretitle = () => ({
color: "text-primary dark:text-secondary",
fontFamily: "font-accent",
fontSize: "text-sm",
fontWeight: "font-medium",
textTransform: "uppercase",
tracking: "tracking-widest"
});
const heroTitle = () => ({
fontWeight: "font-extrabold",
leading: "leading-tight",
tracking: "tracking-wide"
});
const heroSubtitle = () => ({
color: "text-gray-500 dark:text-gray-400",
fontFamily: "font-secondary",
fontWeight: "font-light",
leading: "!leading-relaxed",
tracking: "tracking-normal"
});
const heroText = () => ({
fontFamily: "font-secondary",
fontWeight: "font-light",
tracking: "tracking-wide"
});
const heroActions = () => ({
display: "lg:flex-end",
space: "space-y-4 space-x-0 lg:space-y-0 lg:space-x-4",
width: "w-full"
});
const html = () => ({});
const body = () => ({});
const main = () => ({
position: "relative"
});
const aside = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50"
});
const div = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
position: "relative"
});
const span = () => ({
display: "inline"
});
const ul = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
spacing: "pl-4"
});
const li = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50"
});
const iFrame = () => ({});
const img = () => ({
display: "inline-block"
});
const hr = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
border: "border-t",
borderRadius: "rounded-md"
});
const article = () => ({});
const figure = () => ({});
const caption = () => ({});
const blockquote = () => ({});
const pre = () => ({});
const code = () => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
borderRadius: "rounded-md",
display: "inline-block",
spacing: "px-2 py-0.5"
});
const icon = () => ({
color: "text-inherit",
flex: "shrink-0"
});
const wrappedIcon = () => ({
borderRadius: "rounded-md",
bgColor: "bg-black/5 dark:bg-white/5",
color: "text-primary dark:text-secondary",
display: "flex-middle",
spacing: "h-8 w-8"
});
const inputGroup = () => ({
animation: "transition",
bgColor: "bg-gray-white dark:bg-gray-900",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-600 dark:text-gray-200",
fade: "ease",
focus: "focus-within:border-primary dark:focus-within:border-secondary",
display: "flex no-wrap",
ring: "focus-within:ring-1",
ringColor: "focus-within:ring-transparent dark:focus-within:ring-transparent",
ringOffset: "focus-within:ring-offset-1",
ringOffsetColor: "focus-within:ring-offset-primary focus-within:dark:ring-offset-secondary"
});
const inputAppend = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
display: "flex-middle",
flex: "shrink-0",
spacing: "px-4"
});
const inputPrepend = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
display: "flex-middle",
flex: "shrink-0",
spacing: "px-4"
});
const link = (active) => ({
align: "text-center",
animation: "transition-all",
display: "flex-middle-inline",
fade: "ease",
flex: "shrink-0",
focus: "focus:outline-none focus-visible:outline-none",
fontFamily: "font-secondary",
fontSize: "text-sm",
fontWeight: "font-normal",
outline: "outline-none",
position: "relative",
space: "space-x-4",
tracking: "tracking-normal",
whiteSpace: "whitespace-nowrap",
...active
});
const primaryLink = ({ active, size }) => ({
bgColor: "bg-linear-to-r from-secondary to-primary",
bgPosition: "bg-center",
bgSize: "bg-size-[100%] hover:bg-size-[200%]",
borderRadius: "rounded-md",
color: "text-white",
size: computeBtnSize(size),
stroke: "stroke-white dark:stroke-white",
...link(active)
});
const accentLink = ({ active, size }) => ({
bgColor: "bg-transparent dark:bg-transparent",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-600 dark:text-gray-200",
hover: "hover:bg-gray-200 hover:dark:bg-gray-800",
size: computeBtnSize(size),
stroke: "stroke-gray-500 dark:stroke-gray-300",
...link(
active && {
bgColor: "bg-gray-200 dark:bg-gray-800",
...active
}
)
});
const borderLink = ({ active, size }) => ({
bgColor: "bg-transparent",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
color: "text-gray-600 dark:text-gray-300",
hover: "hover:border-gray-300 hover:dark:border-gray-600",
size: computeBtnSize(size),
stroke: "stroke-gray-600 dark:stroke-gray-300",
...link(
active && {
borderColor: "border-secondary dark:border-secondary",
color: "text-secondary",
stroke: "stroke-secondary",
...active
}
)
});
const tabLink = ({ active, size }) => ({
bgColor: "bg-transparent",
border: "border-b-2",
borderColor: "border-b-transparent hover:border-b-gray-300",
borderRadius: "",
color: "text-gray-600 dark:text-gray-200",
hover: "border-b-primary dark:hover:border-b-secondary",
size: computeBtnSize(size),
stroke: "stroke-gray-500 dark:stroke-gray-300",
...link(
active && {
borderColor: "border-b-primary dark:border-b-secondary",
color: "text-gray-600 dark:text-gray-200",
...active
}
)
});
const textLink = ({ active, size }) => ({
color: "text-gray-500 dark:text-gray-300",
fontSize: "text-inherit",
hover: "hover:text-gray-700 hover:dark:text-gray-100 hover:underline",
size: computeBtnSize(size),
...link(active)
});
const linkWrapper = ({ disabled }) => ({
cursor: disabled ? "cursor-not-allowed" : "cursor-pointer",
outline: "focus-visible:outline",
outlineColor: "focus-visible:outline-primary dark:focus-visible:outline-secondary",
outlineOffset: "outline-offset-1",
width: "w-inherit"
});
const listGroup = () => ({
display: "flex-column",
divide: "divide-y-2",
divideColor: "divide-gray-200",
divideStyle: "divide-dashed",
spacing: ""
});
const listItem = () => ({});
const modalLoader = () => ({
align: "text-center",
spacing: "mx-auto"
});
const pageLoader = () => ({
bgColor: "bg-white dark:bg-gray-900",
color: "text-gray-700 dark:text-gray-300",
display: "flex-middle",
position: "absolute",
inset: "inset-0",
spacing: "h-full w-full",
zIndex: "z-50"
});
const sectionLoader = () => ({
align: "text-center",
display: "flex-middle",
space: "space-x-4",
spacing: "mx-auto",
width: "w-fit"
});
const menu = () => ({});
const menuWrapper = () => ({
zIndex: "z-20"
});
const menuBackdrop = ({ open }) => ({
animation: "transition-all",
bgColor: open ? "bg-black/85 dark:bg-gray-700/85" : "bg-transparent dark:bg-transparent",
delay: open ? "delay-100" : "",
duration: "duration-100",
fade: "ease-in",
height: "h-full",
inset: "left-0 right-0 bottom-0",
position: "fixed",
zIndex: "z-1"
});
const menuMenu = ({ open }) => ({
align: "text-left",
animation: "transition-all",
bgColor: "bg-white dark:bg-gray-900",
border: "border-y",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
duration: "duration-200",
fade: open ? "ease-out" : "ease-in",
height: "max-h-[100vh]",
inset: "right-0 left-0",
opacity: open ? "opacity-100" : "opacity-0",
position: "fixed",
shadow: "shadow-lg",
shadowColor: "dark:shadow-gray-800/25",
translate: open ? "translate-y-0" : "-translate-y-4",
width: "min-w-full w-auto",
overflow: "overflow-hidden overflow-y-scroll",
zIndex: "z-10"
});
const menuBlock = () => ({
spacing: "p-4"
});
const menuTitle = () => ({
fontWeight: "font-bold",
spacing: "px-3 mb-4",
textTransform: "capitalize",
tracking: "tracking-wide"
});
const menuSubtitle = () => ({
color: "text-gray-700 dark:text-gray-300",
fontSize: "text-sm",
fontWeight: "font-normal",
whitespace: "whitespace-nowrap"
});
const menuList = () => ({
display: "flex-column",
space: "space-y-2",
spacing: "py-4"
});
const menuItem = () => ({
display: "flex",
spacing: "",
width: "w-inherit"
});
const menuBtn = () => ({
align: "text-left",
display: "flex-start"
});
const menuLink = () => ({
align: "text-left",
display: "flex-start",
width: "w-full"
});
const modal = ({ open }) => ({
animation: "transition-all",
align: "text-left",
bgColor: "bg-white dark:bg-gray-900",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-lg",
duration: "duration-200",
fade: "ease-in",
opacity: open ? "opacity-100" : "opacity-0",
scale: open ? "scale-100" : "scale-90",
spacing: "mx-auto my-8",
width: "w-sm max-w-full",
zIndex: "z-30"
});
const modalWrapper = () => ({
inset: "inset-0",
overflow: "overflow-y-auto",
position: "fixed",
zIndex: "z-20"
});
const modalBackdrop = ({ open }) => ({
animation: "transition-all",
bgColor: open ? "bg-black/85 dark:bg-gray-700/85" : "bg-transparent dark:bg-transparent",
duration: "duration-200",
fade: "ease-in",
height: "h-full",
inset: "inset-0",
position: "fixed"
});
const modalHeader = () => ({
display: "flex-between",
border: "border-b",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
space: "space-x-4",
spacing: "p-4"
});
const modalTitle = () => ({
fontWeight: "font-bold",
tracking: "tracking-wide"
});
const modalSubtitle = () => ({
color: "text-gray-600 dark:text-gray-400",
fontFamily: "font-secondary",
fontWeight: "font-normal",
space: "space-x-4"
});
const modalBody = ({ size }) => ({
align: "text-left",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
spacing: "p-4",
size: computeSectionSize(size)
});
const modalFooter = () => ({
border: "border-t",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
color: "text-gray-500",
fontSize: "text-sm",
display: "flex-end",
spacing: "p-4",
space: "space-x-4"
});
const navbar = () => ({
bgColor: "bg-white dark:bg-gray-900",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
border: "border-b",
display: "flex-between",
space: "space-x-4",
spacing: "p-4",
width: "w-full"
});
const navbarBrand = () => ({
animation: "transition-all",
display: "inline-block",
fade: "ease",
flex: "shrink-0",
hover: "hover:opacity-75",
width: "w-44"
});
const navbarList = () => ({
display: "flex-end",
space: "space-x-2",
spacing: ""
});
const nav = () => ({
bgColor: "bg-white dark:bg-gray-900",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
display: "block",
position: "relative"
});
const navHeader = () => ({
borderColor: "border-gray-300/50 dark:border-gray-600/50",
spacing: "p-4"
});
const navTitle = () => ({
fontWeight: "font-bold"
});
const navBody = ({ size }) => ({
size: computeSectionSize(size),
spacing: "p-4"
});
const navList = () => ({
align: "text-left",
display: "flex-column",
space: "space-y-1",
spacing: ""
});
const navItem = () => ({
display: "block"
});
const navBtn = () => ({
align: "text-left",
display: "flex-start",
space: "space-x-4",
width: "w-full"
});
const navLink = () => ({
align: "text-left",
display: "flex-start",
space: "space-x-4",
width: "w-full"
});
const otp = () => ({
display: "flex-between",
space: "space-x-2"
});
const otpInput = ({ index, length }) => ({
align: "text-center",
bordrRadius: index === 0 ? "rounded-tl-md rounded-bl-md" : length === index + 1 ? "rounded-tr-md rounded-br-md" : ""
});
const pagination = () => ({
position: "inline-flex",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
overflow: "overflow-hidden"
});
const paginationBtn = (props) => ({
bgColor: "bg-transparent dark:hover:bg-transparent",
border: "-border-x",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "",
color: "text-gray-500 dark:text-gray-300",
fontSize: "text-sm",
fontWeight: "font-medium",
hover: "hover:bg-gray-100 dark:hover:bg-gray-800",
spacing: "px-4 py-2",
...props?.active && {
bgColor: "bg-gray-200 dark:bg-gray-700",
color: "text-gray-600 dark:text-gray-200"
}
});
const prefooter = () => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
spacing: "px-16 py-20"
});
const prefooterBody = () => ({
align: "text-left",
space: "space-y-4"
});
const prefooterPretitle = () => ({});
const prefooterTitle = () => ({
color: "text-gray-700 dark:text-white",
fontWeight: "font-bold"
});
const prefooterSubtitle = () => ({
color: "text-gray-700 dark:text-white",
fontFamily: "font-secondary",
fontSize: "font-base",
fontWeight: "font-light"
});
const prefooterText = () => ({});
const prefooterActions = () => ({
display: "flex-middle",
space: "space-x-4",
flex: "shrink-0",
spacing: "py-4"
});
const progressBar = () => ({
bgColor: "bg-gray-200 dark:bg-gray-700",
borderRadius: "rounded-full",
height: "h-2",
overflow: "overflow-hidden",
width: "w-full"
});
const progress = () => ({
animation: "transition-all",
...gradientBgColor,
borderRadius: "rounded-full",
fade: "ease-out",
height: "h-full"
});
const radialProgressBar = () => ({});
const radio = ({ active }) => ({
animation: "transition-all",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
cursor: "cursor-pointer",
fade: "ease",
display: "flex-start-top",
duration: "duration-200",
hover: "hover:border-gray-300 hover:dark:border-gray-600",
space: "space-x-4",
position: "relative",
spacing: "p-4"
});
const radioInput = () => ({
animation: "transition-all",
appearance: "appearance-none",
bgColor: "bg-white dark:bg-gray-800",
border: "border",
borderColor: "border-gray-300 dark:border-gray-600",
borderRadius: "rounded-full",
checked: "checked:bg-primary checked:border-primary checked:dark:bg-secondary checked:dark:border-secondary",
cursor: "cursor-pointer",
fade: "ease",
focus: "focus:ring-2 focus:ring-primary",
height: "h-4",
ring: "ring-none",
ringColor: "ring-transparent checked:ring-transparent dark:checked:ring-transparent focus:ring-transparent",
ringOffset: "ring-offset-none checked:ring-offset-4 focus:ring-offset-transparent",
ringOffsetColor: "checked:ring-offset-primary/50 dark:checked:ring-offset-secondary/50",
width: "w-4"
});
const radioTitle = () => ({
color: "text-gray-700 dark:text-gray-200",
fontSize: "text-sm",
fontWeight: "font-medium",
leading: "leading-tight"
});
const radioText = () => ({
color: "text-gray-600 dark:text-gray-300",
fontSize: "text-sm",
fontWeight: "font-light",
tracking: "tracking-wide"
});
const rangeSlider = () => ({
display: "block"
});
const rangeSliderTrack = () => ({
bgColor: "bg-gray-100 dark:bg-gray-800",
borderRadius: "rounded-full",
height: "h-inherit",
display: "flex",
width: "w-full"
});
const rangeSliderThumb = ({ isDragged }) => ({
size: "w-6 h-6",
bgColor: isDragged ? "bg-primary dark:bg-secondary" : "bg-gray-300 dark:bg-gray-600",
border: "border-2",
borderColor: isDragged ? "border-primary dark:border-secondary" : "border-gray-300 dark:border-gray-600",
borderRadius: "rounded-full",
display: "flex-middle",
position: "",
shadow: "shadow-sm"
});
const route = () => ({
bgColor: "bg-white dark:bg-gray-900",
display: "block",
width: "w-full"
});
const section = () => ({
bgColor: "bg-white dark:bg-gray-900",
border: "border",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
borderRadius: "rounded-md",
position: "relative",
spacing: "mb-4",
width: "w-full"
});
const sectionHeader = () => ({
spacing: "p-4",
border: "border-b",
borderColor: "border-gray-300/50 dark:border-gray-600/50",
display: "flex-between",
space: "space-x-4",
width: "w-full"
});
const sectionPretitle = () => ({
color: "text-gray-700 dark:text-gray-300",
fontFamily: "font-accent",
fontSize: "text-sm",
fontWeight: "f