const buttonGroup = [
  "horizontal",
  "vertical"
] as const

const size = [
  "xs",
  "sm",
  "md",
  "lg"
] as const

const color = [
  "default",
  "danger",
  "success",
  "warning",
  "primary",
  "secondary",
  "collab",
  "ai"
] as const

const tagColor = [
  "default",
  "danger",
  "success",
  "warning",
  "primary",
  "secondary",
  "collab",
  "ai"
] as const

const type = [
  "file"
] as const

const colorItem = [
  "default",
  "danger",
  "success",
  "warning",
  "primary",
  "secondary",
  "collab",
  "ai"
] as const

export default {
  "slots": {
    "root": "isolate relative inline-flex items-center w-full",
    "base": "px-3 relative inline-flex items-center group py-0 border-0 focus:outline-none cursor-pointer disabled:cursor-not-allowed disabled:bg-base-30/37 disabled:text-base-500 dark:disabled:bg-base-900/37 dark:disabled:text-base-800 appearance-none transition duration-300 ease-linear ring ring-inset ring-base-300 dark:ring-base-800 text-base-master bg-white hover:text-base-900 focus:text-base-900 active:text-base-900 dark:text-base-150 dark:bg-transparent dark:hover:text-base-350 dark:focus:text-base-350 dark:active:text-base-350 font-b24-primary font-regular text-sm leading-tight align-middle text-ellipsis whitespace-nowrap",
    "leading": "absolute inset-y-0 start-0 flex items-center",
    "leadingIcon": "shrink-0 text-base-400",
    "leadingAvatar": "shrink-0",
    "leadingAvatarSize": "",
    "trailing": "absolute inset-y-0 end-0 flex items-center",
    "trailingIcon": "shrink-0 text-base-400",
    "tag": "pointer-events-none select-none absolute z-10 -top-1.5 right-3 h-sm px-1.5 flex flex-col justify-center items-center font-b24-primary font-bold text-6xs leading-none uppercase rounded-full",
    "value": "truncate pointer-events-none",
    "placeholder": "truncate text-base-400 dark:text-base-300",
    "arrow": "fill-base-master/10 dark:fill-base-100/20",
    "content": "w-(--reka-popper-anchor-width) bg-white dark:bg-base-dark shadow-md rounded-2xs ring ring-base-300 dark:ring-base-800 overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
    "scrollUpDownButton": "flex items-center justify-center h-[25px] cursor-default backdrop-blur text-base-800 bg-white dark:text-base-100 dark:bg-base-dark",
    "scrollUpDownButtonIcon": "",
    "viewport": "divide-y divide-base-master/10 dark:divide-base-100/20 scroll-py-1",
    "group": "p-1 isolate",
    "empty": "py-2 text-center text-sm text-base-500 dark:text-base-600",
    "label": "flex items-center font-semibold text-base-900 dark:text-base-200",
    "separator": "-mx-1 my-1 h-px bg-base-master/10 dark:bg-base-100/20",
    "item": "group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-2xs cursor-pointer data-disabled:cursor-not-allowed data-disabled:opacity-75 text-base-master dark:text-base-150 data-highlighted:not-data-disabled:text-base-900 dark:data-highlighted:not-data-disabled:text-base-200 data-highlighted:not-data-disabled:before:bg-base-100/50 dark:data-highlighted:not-data-disabled:before:bg-base-900 data-[state=checked]:text-base-900 dark:data-[state=checked]:text-base-200 data-[state=checked]:before:bg-base-100/50 dark:data-[state=checked]:before:bg-base-900 transition-colors before:transition-colors",
    "itemLeadingIcon": "shrink-0 transition-colors text-base-500 dark:text-base-700 group-data-highlighted:not-data-disabled:text-base-master dark:group-data-highlighted:not-data-disabled:text-base-150 group-data-[state=checked]:text-base-master dark:group-data-[state=checked]:text-base-150",
    "itemLeadingAvatar": "shrink-0",
    "itemLeadingAvatarSize": "",
    "itemLeadingChip": "shrink-0",
    "itemLeadingChipSize": "",
    "itemTrailing": "ms-auto inline-flex gap-1.5 items-center",
    "itemTrailingIcon": "shrink-0",
    "itemLabel": "truncate"
  },
  "variants": {
    "buttonGroup": {
      "horizontal": {
        "root": "group leading-none",
        "base": "focus-visible:outline-none ring ring-inset ring-1 focus-visible:ring-2 group-not-only:group-first:rounded-e-3xl group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none group-not-only:group-first:border-e-0 group-not-only:group-not-first:border-s-0"
      },
      "vertical": {
        "root": "group",
        "base": "focus-visible:outline-none ring ring-inset ring-1 focus-visible:ring-2 group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none"
      }
    },
    "noSplit": {
      "false": "group-not-only:not-first:after:content-[''] group-not-only:not-first:after:absolute group-not-only:not-first:after:top-[7px] group-not-only:not-first:after:bottom-[6px] group-not-only:not-first:after:left-0 group-not-only:not-first:after:w-px group-not-only:not-first:after:bg-current/30"
    },
    "size": {
      "xs": {
        "base": "h-xl2 gap-1",
        "leading": "px-1",
        "trailing": "px-1",
        "leadingIcon": "size-lg2",
        "leadingAvatarSize": "2xs",
        "trailingIcon": "size-lg2",
        "label": "h-9 ps-2 pe-3 text-sm gap-2",
        "item": "h-9 ps-3 pe-3 text-sm gap-2",
        "itemLeadingIcon": "size-5",
        "itemLeadingAvatarSize": "2xs",
        "itemLeadingChip": "size-3 not-group-data-reka-collection-item:ps-2.5",
        "itemLeadingChipSize": "sm",
        "itemTrailingIcon": "size-3",
        "scrollUpDownButtonIcon": "size-4"
      },
      "sm": {
        "base": "h-8 gap-1.5",
        "leading": "px-1.5",
        "trailing": "px-1.5",
        "leadingIcon": "size-lg2",
        "leadingAvatarSize": "xs",
        "trailingIcon": "size-lg2",
        "label": "h-9 ps-2 pe-3 text-sm gap-2",
        "item": "h-9 ps-3 pe-3 text-sm gap-2",
        "itemLeadingIcon": "size-5",
        "itemLeadingAvatarSize": "2xs",
        "itemLeadingChip": "size-3 not-group-data-reka-collection-item:ps-2.5",
        "itemLeadingChipSize": "sm",
        "itemTrailingIcon": "size-3",
        "scrollUpDownButtonIcon": "size-4"
      },
      "md": {
        "base": "h-10 gap-1.5",
        "leading": "px-2",
        "trailing": "px-2",
        "leadingIcon": "size-[24px]",
        "leadingAvatarSize": "sm",
        "trailingIcon": "size-lg2",
        "label": "h-9 ps-2 pe-3 text-sm gap-2",
        "item": "h-9 ps-3 pe-3 text-sm gap-2",
        "itemLeadingIcon": "size-5",
        "itemLeadingAvatarSize": "2xs",
        "itemLeadingChip": "size-3 not-group-data-reka-collection-item:ps-2.5",
        "itemLeadingChipSize": "sm",
        "itemTrailingIcon": "size-3",
        "scrollUpDownButtonIcon": "size-4"
      },
      "lg": {
        "base": "h-12 gap-2",
        "leading": "px-2",
        "trailing": "px-2",
        "leadingIcon": "size-[24px]",
        "leadingAvatarSize": "md",
        "trailingIcon": "size-lg2",
        "label": "h-9 ps-2 pe-3 text-sm gap-2",
        "item": "h-9 ps-3 pe-3 text-sm gap-2",
        "itemLeadingIcon": "size-5",
        "itemLeadingAvatarSize": "2xs",
        "itemLeadingChip": "size-3 not-group-data-reka-collection-item:ps-2.5",
        "itemLeadingChipSize": "sm",
        "itemTrailingIcon": "size-3",
        "scrollUpDownButtonIcon": "size-4"
      }
    },
    "color": {
      "default": "",
      "danger": "",
      "success": "",
      "warning": "",
      "primary": "",
      "secondary": "",
      "collab": "",
      "ai": ""
    },
    "tagColor": {
      "default": {
        "tag": "text-white bg-base-900 dark:text-base-150 dark:bg-base-900"
      },
      "danger": {
        "tag": "text-white bg-red-500 dark:text-red-250 dark:bg-red-600"
      },
      "success": {
        "tag": "text-white bg-green-500 dark:text-green-250 dark:bg-green-600"
      },
      "warning": {
        "tag": "text-white bg-orange-500 dark:text-orange-250 dark:bg-orange-600"
      },
      "primary": {
        "tag": "text-white bg-blue-500 dark:text-blue-250 dark:bg-blue-600"
      },
      "secondary": {
        "tag": "text-white bg-cyan-350 dark:text-base-150 dark:bg-cyan-500"
      },
      "collab": {
        "tag": "text-white bg-collab-500 dark:text-collab-200 dark:bg-collab-800"
      },
      "ai": {
        "tag": "text-white bg-ai-500 dark:text-ai-200 dark:bg-ai-800"
      }
    },
    "rounded": {
      "true": "rounded-3xl",
      "false": "rounded-2xs"
    },
    "noPadding": {
      "true": {
        "base": "px-0"
      }
    },
    "noBorder": {
      "true": "ring-0 focus-visible:ring-0"
    },
    "underline": {
      "true": "ring-0 focus-visible:ring-0 border-b border-b-base-300 rounded-none"
    },
    "leading": {
      "true": ""
    },
    "trailing": {
      "true": ""
    },
    "loading": {
      "true": ""
    },
    "highlight": {
      "true": ""
    },
    "type": {
      "file": "file:me-1.5 file:text-base-500 file:outline-none"
    },
    "colorItem": {
      "default": "",
      "danger": {
        "item": "text-red-900 dark:text-red-150 data-highlighted:text-red-900 dark:data-highlighted:text-red-200 data-highlighted:before:bg-red-100 dark:data-highlighted:before:bg-red-900 data-[state=checked]:text-red-900 dark:data-[state=checked]:text-red-200 data-[state=checked]:before:bg-red-100 dark:data-[state=checked]:before:bg-red-900",
        "itemLeadingIcon": "text-red-600 dark:text-red-700 group-data-highlighted:text-red-900 dark:group-data-highlighted:text-red-150 group-data-[state=checked]:text-red-900 dark:group-data-[state=checked]:text-red-700"
      },
      "success": {
        "item": "text-green-900 dark:text-green-150 data-highlighted:text-green-900 dark:data-highlighted:text-green-200 data-highlighted:before:bg-green-100 dark:data-highlighted:before:bg-green-900 data-[state=checked]:text-green-900 dark:data-[state=checked]:text-green-200 data-[state=checked]:before:bg-green-100 dark:data-[state=checked]:before:bg-green-900",
        "itemLeadingIcon": "text-green-600 dark:text-green-700 group-data-highlighted:text-green-900 dark:group-data-highlighted:text-green-150 group-data-[state=checked]:text-green-900 dark:group-data-[state=checked]:text-green-700"
      },
      "warning": {
        "item": "text-orange-900 dark:text-orange-150 data-highlighted:text-orange-900 dark:data-highlighted:text-orange-200 data-highlighted:before:bg-orange-100 dark:data-highlighted:before:bg-orange-900 data-[state=checked]:text-orange-900 dark:data-[state=checked]:text-orange-200 data-[state=checked]:before:bg-orange-100 dark:data-[state=checked]:before:bg-orange-900",
        "itemLeadingIcon": "text-orange-600 dark:text-orange-700 group-data-highlighted:text-orange-900 dark:group-data-highlighted:text-orange-150 group-data-[state=checked]:text-orange-900 dark:group-data-[state=checked]:text-orange-700"
      },
      "primary": {
        "item": "text-blue-900 dark:text-blue-150 data-highlighted:text-blue-900 dark:data-highlighted:text-blue-200 data-highlighted:before:bg-blue-100 dark:data-highlighted:before:bg-blue-900 data-[state=checked]:text-blue-900 dark:data-[state=checked]:text-blue-200 data-[state=checked]:before:bg-blue-100 dark:data-[state=checked]:before:bg-blue-900",
        "itemLeadingIcon": "text-blue-600 dark:text-blue-700 group-data-highlighted:text-blue-900 dark:group-data-highlighted:text-blue-150 group-data-[state=checked]:text-blue-900 dark:group-data-[state=checked]:text-blue-700"
      },
      "secondary": {
        "item": "text-cyan-900 dark:text-cyan-150 data-highlighted:text-cyan-900 dark:data-highlighted:text-cyan-200 data-highlighted:before:bg-cyan-100 dark:data-highlighted:before:bg-cyan-900 data-[state=checked]:text-cyan-900 dark:data-[state=checked]:text-cyan-200 data-[state=checked]:before:bg-cyan-100 dark:data-[state=checked]:before:bg-cyan-900",
        "itemLeadingIcon": "text-cyan-600 dark:text-cyan-700 group-data-highlighted:text-cyan-900 dark:group-data-highlighted:text-cyan-150 group-data-[state=checked]:text-cyan-900 dark:group-data-[state=checked]:text-cyan-700"
      },
      "collab": {
        "item": "text-collab-900 dark:text-collab-150 data-highlighted:text-collab-900 dark:data-highlighted:text-collab-200 data-highlighted:before:bg-collab-100 dark:data-highlighted:before:bg-collab-900 data-[state=checked]:text-collab-900 dark:data-[state=checked]:text-collab-200 data-[state=checked]:before:bg-collab-100 dark:data-[state=checked]:before:bg-collab-900",
        "itemLeadingIcon": "text-collab-600 dark:text-collab-700 group-data-highlighted:text-collab-900 dark:group-data-highlighted:text-collab-150 group-data-[state=checked]:text-collab-900 dark:group-data-[state=checked]:text-collab-700"
      },
      "ai": {
        "item": "text-ai-900 dark:text-ai-150 data-highlighted:text-ai-900 dark:data-highlighted:text-ai-200 data-highlighted:before:bg-ai-100 dark:data-highlighted:before:bg-ai-900 data-[state=checked]:text-ai-900 dark:data-[state=checked]:text-ai-200 data-[state=checked]:before:bg-ai-100 dark:data-[state=checked]:before:bg-ai-900",
        "itemLeadingIcon": "text-ai-600 dark:text-ai-700 group-data-highlighted:text-ai-900 dark:group-data-highlighted:text-ai-150 group-data-[state=checked]:text-ai-900 dark:group-data-[state=checked]:text-ai-700"
      }
    }
  },
  "compoundVariants": [
    {
      "color": "default" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-base-900 dark:focus-visible:ring-base-350"
    },
    {
      "color": "default" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-base-900 dark:ring-base-350"
    },
    {
      "color": "default" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-base-900 dark:focus-visible:border-b-base-350"
    },
    {
      "color": "default" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-base-900 dark:border-b-base-350"
    },
    {
      "color": "danger" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-red-500 dark:focus-visible:ring-red-600"
    },
    {
      "color": "danger" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-red-500 dark:ring-red-600"
    },
    {
      "color": "danger" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-red-500 dark:focus-visible:border-b-red-600"
    },
    {
      "color": "danger" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-red-500 dark:border-b-red-600"
    },
    {
      "color": "success" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-green-500 dark:focus-visible:ring-green-600"
    },
    {
      "color": "success" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-green-500 dark:ring-green-600"
    },
    {
      "color": "success" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-green-500 dark:focus-visible:border-b-green-600"
    },
    {
      "color": "success" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-green-500 dark:border-b-green-600"
    },
    {
      "color": "warning" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-orange-500 dark:focus-visible:ring-orange-600"
    },
    {
      "color": "warning" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-orange-500 dark:ring-orange-600"
    },
    {
      "color": "warning" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-orange-500 dark:focus-visible:border-b-orange-600"
    },
    {
      "color": "warning" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-orange-500 dark:border-b-orange-600"
    },
    {
      "color": "primary" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-blue-500 dark:focus-visible:ring-blue-600"
    },
    {
      "color": "primary" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-blue-500 dark:ring-blue-600"
    },
    {
      "color": "primary" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-blue-500 dark:focus-visible:border-b-blue-600"
    },
    {
      "color": "primary" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-blue-500 dark:border-b-blue-600"
    },
    {
      "color": "secondary" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-cyan-350 dark:focus-visible:ring-cyan-500"
    },
    {
      "color": "secondary" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-cyan-350 dark:ring-cyan-500"
    },
    {
      "color": "secondary" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-cyan-350 dark:focus-visible:border-b-cyan-500"
    },
    {
      "color": "secondary" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-cyan-350 dark:border-b-cyan-500"
    },
    {
      "color": "collab" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-collab-500 dark:focus-visible:ring-collab-600"
    },
    {
      "color": "collab" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-collab-500 dark:ring-collab-600"
    },
    {
      "color": "collab" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-collab-500 dark:focus-visible:border-b-collab-600"
    },
    {
      "color": "collab" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-collab-500 dark:border-b-collab-600"
    },
    {
      "color": "ai" as typeof color[number],
      "noBorder": false,
      "underline": false,
      "class": "focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ai-500 dark:focus-visible:ring-ai-600"
    },
    {
      "color": "ai" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": false,
      "class": "ring ring-inset ring-ai-500 dark:ring-ai-600"
    },
    {
      "color": "ai" as typeof color[number],
      "noBorder": false,
      "underline": true,
      "class": "focus-visible:border-b-ai-500 dark:focus-visible:border-b-ai-600"
    },
    {
      "color": "ai" as typeof color[number],
      "highlight": true,
      "noBorder": false,
      "underline": true,
      "class": "border-b-ai-500 dark:border-b-ai-600"
    },
    {
      "type": "file" as typeof type[number],
      "size": "xs" as typeof size[number],
      "class": "py-1.5"
    },
    {
      "type": "file" as typeof type[number],
      "size": "sm" as typeof size[number],
      "class": "py-2.5"
    },
    {
      "type": "file" as typeof type[number],
      "size": "md" as typeof size[number],
      "class": "py-3"
    },
    {
      "type": "file" as typeof type[number],
      "size": "lg" as typeof size[number],
      "class": "py-4"
    },
    {
      "leading": true,
      "size": "xs" as typeof size[number],
      "class": "ps-7"
    },
    {
      "leading": true,
      "size": "sm" as typeof size[number],
      "class": "ps-8"
    },
    {
      "leading": true,
      "size": "md" as typeof size[number],
      "class": "ps-[39px]"
    },
    {
      "leading": true,
      "size": "lg" as typeof size[number],
      "class": "ps-[42px]"
    },
    {
      "trailing": true,
      "size": "xs" as typeof size[number],
      "class": "pe-7"
    },
    {
      "trailing": true,
      "size": "sm" as typeof size[number],
      "class": "pe-8"
    },
    {
      "trailing": true,
      "size": "md" as typeof size[number],
      "class": "pe-[39px]"
    },
    {
      "trailing": true,
      "size": "lg" as typeof size[number],
      "class": "pe-[39px]"
    },
    {
      "loading": true,
      "leading": true,
      "class": {
        "leadingIcon": "size-[21px]"
      }
    },
    {
      "loading": true,
      "leading": false,
      "trailing": true,
      "class": {
        "trailingIcon": "size-[21px]"
      }
    }
  ],
  "defaultVariants": {
    "size": "md" as typeof size[number],
    "color": "primary" as typeof color[number],
    "tagColor": "primary" as typeof tagColor[number]
  }
}