// Generated from the pinned @cloudflare/kumo package. Do not edit by hand.
// Kumo version: 2.14.0
///|
fn generated_button_classes(key : String) -> String {
  match key {
    "primary|xs|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "primary|xs|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary|xs|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary|xs|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "ghost|xs|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit"
    "ghost|xs|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit cursor-not-allowed opacity-50"
    "destructive|xs|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "destructive|xs|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary-destructive|xs|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary-destructive|xs|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "outline|xs|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25"
    "outline|xs|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-5 gap-1 rounded-sm px-1.5 text-xs bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25 cursor-not-allowed opacity-50"
    "primary|sm|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "primary|sm|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary|sm|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary|sm|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "ghost|sm|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit"
    "ghost|sm|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit cursor-not-allowed opacity-50"
    "destructive|sm|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "destructive|sm|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary-destructive|sm|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary-destructive|sm|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "outline|sm|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25"
    "outline|sm|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-6.5 gap-1 rounded-md px-2 text-xs bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25 cursor-not-allowed opacity-50"
    "primary|base|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "primary|base|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary|base|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary|base|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "ghost|base|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit"
    "ghost|base|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit cursor-not-allowed opacity-50"
    "destructive|base|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "destructive|base|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary-destructive|base|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary-destructive|base|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "outline|base|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25"
    "outline|base|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-9 gap-1.5 rounded-lg px-3 text-base bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25 cursor-not-allowed opacity-50"
    "primary|lg|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "primary|lg|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary|lg|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary|lg|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base bg-kumo-base !text-kumo-default ring not-disabled:hover:bg-kumo-tint disabled:bg-kumo-base/50 disabled:!text-kumo-default/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "ghost|lg|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit"
    "ghost|lg|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base text-kumo-default hover:bg-kumo-tint shadow-none bg-inherit cursor-not-allowed opacity-50"
    "destructive|lg|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50"
    "destructive|lg|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base relative overflow-hidden bg-(--kumo-button-emphasis-bg) !text-white ring ring-(--kumo-button-emphasis-ring) focus:ring-(--kumo-button-emphasis-ring) focus-visible:ring-(--kumo-button-emphasis-ring) active:ring-(--kumo-button-emphasis-ring) disabled:opacity-50 cursor-not-allowed opacity-50"
    "secondary-destructive|lg|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base"
    "secondary-destructive|lg|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base bg-kumo-base !text-kumo-danger ring not-disabled:hover:!text-kumo-danger not-disabled:hover:ring-kumo-danger/30 disabled:bg-kumo-base/50 disabled:!text-kumo-danger/70 ring-kumo-line data-[state=open]:bg-kumo-base cursor-not-allowed opacity-50"
    "outline|lg|false" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand cursor-pointer disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25"
    "outline|lg|true" => "group flex w-max shrink-0 items-center font-medium select-none border-0 shadow-xs focus:ring-kumo-focus/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-kumo-brand disabled:cursor-not-allowed disabled:text-kumo-subtle h-10 gap-2 rounded-lg px-4 text-base bg-transparent text-kumo-default ring ring-kumo-line transition-colors not-disabled:hover:text-kumo-strong not-disabled:hover:ring-kumo-focus/25 cursor-not-allowed opacity-50"
    _ => ""
  }
}

///|
fn generated_input_classes(key : String) -> String {
  match key {
    "default|xs" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-5 gap-1 rounded-sm px-1.5 text-xs focus:ring-[1.5px] focus:ring-kumo-focus/50"
    "error|xs" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-5 gap-1 rounded-sm px-1.5 text-xs !ring-kumo-danger focus:ring-[1.5px] focus:ring-kumo-danger/50"
    "default|sm" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-6.5 gap-1 rounded-md px-2 text-xs focus:ring-[1.5px] focus:ring-kumo-focus/50"
    "error|sm" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-6.5 gap-1 rounded-md px-2 text-xs !ring-kumo-danger focus:ring-[1.5px] focus:ring-kumo-danger/50"
    "default|base" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-9 gap-1.5 rounded-lg px-3 text-base focus:ring-[1.5px] focus:ring-kumo-focus/50"
    "error|base" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-9 gap-1.5 rounded-lg px-3 text-base !ring-kumo-danger focus:ring-[1.5px] focus:ring-kumo-danger/50"
    "default|lg" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-10 gap-2 rounded-lg px-4 text-base focus:ring-[1.5px] focus:ring-kumo-focus/50"
    "error|lg" => "border-0 bg-kumo-control text-kumo-default ring ring-kumo-line outline-none focus:outline-none kumo-input-placeholder disabled:text-kumo-disabled h-10 gap-2 rounded-lg px-4 text-base !ring-kumo-danger focus:ring-[1.5px] focus:ring-kumo-danger/50"
    _ => ""
  }
}

///|
fn generated_text_classes(key : String) -> String {
  match key {
    "heading|xs" => "text-kumo-default text-lg font-semibold"
    "body|xs" => "text-kumo-default text-xs/[inherit]"
    "secondary|xs" => "text-kumo-subtle text-xs/[inherit]"
    "success|xs" => "text-kumo-link text-xs/[inherit]"
    "error|xs" => "text-kumo-danger text-xs/[inherit]"
    "mono|xs" => "text-kumo-default font-mono text-sm/[inherit]"
    "mono-secondary|xs" => "font-mono text-kumo-subtle text-sm/[inherit]"
    "heading|sm" => "text-kumo-default text-lg font-semibold"
    "body|sm" => "text-kumo-default text-sm/[inherit]"
    "secondary|sm" => "text-kumo-subtle text-sm/[inherit]"
    "success|sm" => "text-kumo-link text-sm/[inherit]"
    "error|sm" => "text-kumo-danger text-sm/[inherit]"
    "mono|sm" => "text-kumo-default font-mono text-sm/[inherit]"
    "mono-secondary|sm" => "font-mono text-kumo-subtle text-sm/[inherit]"
    "heading|base" => "text-kumo-default text-lg font-semibold"
    "body|base" => "text-kumo-default text-base/[inherit]"
    "secondary|base" => "text-kumo-subtle text-base/[inherit]"
    "success|base" => "text-kumo-link text-base/[inherit]"
    "error|base" => "text-kumo-danger text-base/[inherit]"
    "mono|base" => "text-kumo-default font-mono text-sm/[inherit]"
    "mono-secondary|base" => "font-mono text-kumo-subtle text-sm/[inherit]"
    "heading|lg" => "text-kumo-default font-semibold text-xl"
    "body|lg" => "text-kumo-default text-lg/[inherit]"
    "secondary|lg" => "text-kumo-subtle text-lg/[inherit]"
    "success|lg" => "text-kumo-link text-lg/[inherit]"
    "error|lg" => "text-kumo-danger text-lg/[inherit]"
    "mono|lg" => "text-kumo-default font-mono text-base/[inherit]"
    "mono-secondary|lg" => "font-mono text-kumo-subtle text-base/[inherit]"
    _ => ""
  }
}

///|
fn generated_layer_card_class(key : String) -> String {
  match key {
    "simple" => "overflow-hidden rounded-lg bg-kumo-base shadow-xs ring ring-kumo-line"
    "layered" => "flex w-full flex-col overflow-hidden rounded-lg bg-kumo-elevated text-base ring ring-kumo-hairline"
    "primary" => "relative flex flex-col gap-2 overflow-hidden rounded-lg bg-kumo-base p-4 pr-3 text-inherit no-underline ring ring-kumo-fill"
    "secondary" => "-my-2 flex items-center gap-2 bg-kumo-elevated p-4 text-base font-medium text-kumo-subtle"
    _ => ""
  }
}