// 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"
_ => ""
}
}