import * as React from "react"; import { Link } from "react-router-dom"; import Code from "./Code"; export default function Home() { return ( <>
kbar {" "} is a fully extensible command+k interface for your site. Try it out – press cmd and k, or click the logo above.
Command+k interfaces are used to create a web experience where any type of action users would be able to do via clicking can be done through a command menu.
With macOS's Spotlight and Linear's command+k experience in mind, kbar aims to be a simple abstraction to add a fast and extensible command+k menu to your site.
Have a fully functioning command menu for your site in minutes. Let's start with a basic example. First, install kbar.
At the root of your site, import and wrap the site with a{" "}
KBarProvider.
)`}
/>
kbar is built on top of actions. Actions define what to
execute when a user selects it. Actions can have children which are just
other actions.
Let's create a few static actions. Static actions are actions with no
external dependencies; they don't rely on a method from some other hook,
for instance. We'll talk about dynamic actions later.
window.location.pathname = "blog"
},
{
id: "contact",
name: "Contact",
shortcut: ["c"],
keywords: "email",
perform: () => window.location.pathname = "contact"
}
]
return (
)`}
/>
kbar exposes a few components which handle animations, keyboard events,
etc. You can compose them together like so:
`}
/>
Hit cmd+k and you should see a primitive
command menu. kbar allows you to have full control over all aspects of
your command menu – refer to the docs to get an
understanding of further capabilities.
>
);
}