• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

⌨️ A User-friendly, easy-to-use, scalable, and highly customizable component for automating your command+k experience.

ScoutBar

⌨️ Spotlight for your app



npm

NPM

See Demo On Codesandbox

See Documentation

⚡️Overview

It has been observed that users who are familiar with the CMD + K shortcut for searching and performing complex actions within applications like Slack and Workspace by Facebook are able to navigate these apps more efficiently by 21%. This highlights the value of providing users with effective search and navigation tools.

With this in mind, we are excited to introduce Scoutbar - an easy-to-install React component that automates the CMD + K experience. Scoutbar is portable and extensible, making it a convenient solution for improving the search and navigation capabilities of your application. Give your users the ability to quickly find what they are looking for and increase their productivity with Scoutbar.

🔧 Installation

You can easily install this package with yarn or npm:

$ yarn add scoutbar

or

$ npm install scoutbar

Features

  • 🤘 Super easy to install
  • 📦 It's tiny, only 400b gzipped
  • 🙅‍♂️ It's got keyboard nav support
    • And keyboard shortcuts to configure specific actions
  • 🔧 Flexible API
    • A simple data structure and function helper to customize your experience
  • 💪 Fully tested, typed, and reliable
  • 🌍 Works in CommonJS, ESM, and the browser
  • 🤓 Handy helpers included
  • 🧑 Zero dependencies

📖 Usage

One of the best things about it is that it is as simple as integrating one component. you have scoutbar on your app.

import React from 'react';
import { ScoutBar } from 'scoutbar';

export default function App() {
  return (
    <div className="App">
      <ScoutBar
        actions={({ createScoutAction }) => [
          createScoutAction({
            label: 'Get Started',
            description: 'Get started with scoutbar',
            href: '/',
          }),
        ]}
      />
    </div>
  );
}

Seeing is believing! There are clear descriptions of each utility, as well as instructions on how to use them, in the documentation.

🍷 Documentation See All

tutorial

Type -> Boolean

Default -> true

Allows you the ability to disable / hide scoutbar tutorial hints. i'e the section that tells users to navigate with the arrows or tabs. e.g

  <ScoutBar
    tutorial={false}
    ...
  />

noAnimation

Type -> Boolean

Default -> false

Allows you to disable every animation on scoutbar Disables every animations on scoutbar. this is by default true if scoutbar detects that the user has requested that the system minimize the amount of non-essential motion it uses.

  <ScoutBar
    noAnimation={false}
    ...
  />

theme

Type -> 'light' | 'dark' | 'auto'

Default -> 'light'

Allows you to switch the theme of the scoutbar depending on how you want it. auto switches to the theme of the current system.

  <ScoutBar
    theme="light"
    ...
  />

acknowledgement

Type -> Boolean

Default -> true

Show the scoutbar acknowledgement logo on the top right of the input bar.

  <ScoutBar
   acknowledgement={true}
    ...
  />

brandColor

Type -> String

Default -> #000

Allows you to set the official scoutbar brand color. it helps to match the color grade on your application

  <ScoutBar
   brandColor="red"
    ...
  />

placeholder

Type -> String | String[]

Default -> ['What would you like to do today ?','What do you need?', 'Lets help you navigate'],

Allows you to switch between different placeholder texts or just a single one.

  <ScoutBar
    placeholder={[
      'What products do you need ? ',
      'Whats the name of your phone ?'
    ]}

    or

    placeholder="What do you need ?"
    ...
  />

revealScoutbar

Type -> boolean

Default -> false

Reveal the scoutbar with an external action. PS forcefully opens the scoutbar

  <ScoutBar
revealScoutbar={// your state hook here }
    ...
  />

See All Documentation

🤔Thought Process

Contributing

When contributing to this repository, please first discuss the change you wish to make via an issue. This can be a feature request or a bug report. After a maintainer has triaged your issue, you are welcome to collaborate on a pull request. If your change is small or uncomplicated, you are welcome to open an issue and pull request simultaneously.

Please note we have a code of conduct, please follow it in all your interactions with the project.

Running Scoutbar Locally

A local test environment has been setup for developers that wants to develop and contribute to scoutbar. to start up the dev server do the following

$ yarn install
$ yarn run dev // server running on http://localhost:3008

Linking Scoutbar Locally

Run

$ npm link

This will create a symbolic link in the /usr/local/lib/node_modules/ folder, that contains the global npm packages in the system, the ones installed using npm -g.

npm link scoutbar

Then we run this in the project we want to link scoutbar locally to

See More on contributing

🤝 License

MIT © codewonders.dev  ·  GitHub @adenekan41 / codewonders

More Repositories

1

codewonders

😎 Adenekan Wonderful's Website
TypeScript
61
star
2

piggment

🌈 The best way to browse, create and personalize gradient & palettes.
JavaScript
50
star
3

broadstate

🚀 Easy state manager for state values from one component to the other with useState and React Hooks in < 1KB!
TypeScript
25
star
4

unitcss

🦊 A cli tool to convert units in your css file
JavaScript
19
star
5

urley

📦 An easy cross-platform utility library to work with URLs in Javascript.
TypeScript
17
star
6

aimscroll

🍹 Painless utility libary to handle scroll positions and methods in react
TypeScript
12
star
7

usable-query

☺️ Simplifies the use of React Query by offering a streamlined and centralized approach to managing queries and mutations.
TypeScript
11
star
8

use-responsive-query

🚀 An extremely powerful but easy to use hook for listening to media events in react.
TypeScript
9
star
9

helpers

🛠 A collection of utility functions for Javascript development.
JavaScript
9
star
10

adenekan41

🇳🇬 Frontend developer and Javascript engineer, Working with my hands to make magic happen on the internet
5
star
11

shoprrr

🛍An e-commerce project to explore the use of Redux and Sagas
JavaScript
4
star
12

react-cw-boilerplate

🍀 A small react broiler plate i use for my react projects
CSS
4
star
13

minimal-peace

👽Yet Another Portfolio
CSS
3
star
14

piggment-figma

💥 A Figma plugin for Piggment. generate gradients on the fly
TypeScript
3
star
15

over-stateful

⚡️ A Lightweight state management with less setup and super scalability in your react app.
JavaScript
3
star
16

opus

🌙 A functional weather forecast for farmers and agricultural companies.
JavaScript
3
star
17

compiled-html

⚫️ A small project to make writing HTML faster and better and now components based with js
JavaScript
3
star
18

todolst

🔖A small tasks management system built with react and node
CSS
3
star
19

piggment-chrome

🧩 Chrome extension for piggment
JavaScript
3
star
20

Helix

🌄 A minimal monochrome theme for Vscode ~ 🎑 A light notion like theme for vscode.
2
star
21

book-club

💎A project to show the interesting ability of flex-box
HTML
2
star
22

adenekan41.github.io

A short CNAME redirections for my github
HTML
2
star
23

chalkboard

🤖A small application for pouring raw thoughts
CSS
2
star
24

Artisan

Artisan a project for viewing artisans
HTML
2
star
25

generator-compiled-html

☔️Generator package for compiled-html
JavaScript
2
star
26

bellzaAds

CSS
2
star
27

jetcake

🧪A react project using animations with lottie
CSS
2
star
28

datocms-magic-next-js-demo

JavaScript
1
star
29

vue-news

Vue
1
star
30

feathers-chat

A realtime chat app with vuejs ,feathers js ,socket .io,yoeman and node
HTML
1
star
31

HeritageBank

PHP
1
star
32

vuejs-socketio-chat

JavaScript
1
star
33

redux-enhanced-slice

🌜 A utility function for creating enhanced Redux slices with standardized cases and selectors with a strongly typed interface.
TypeScript
1
star
34

dotfiles

🗄A collection of configurations and files I use regularly during development.
Shell
1
star
35

eslint-plugin-use-css-token

😉 Utilize CSS tokenization for color values instead of static, pre-defined color codes in CSS/SCSS code.
TypeScript
1
star