• Stars
    star
    4,103
  • Rank 10,581 (Top 0.3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 8 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 lightweight Vue.js UI library with a simple API, inspired by Google's Material Design.

Keen UI

Keen UI is a Vue.js UI library with a simple API, inspired by Google's Material Design.

Keen UI is not a CSS framework. Therefore, it doesn't include styles for a grid system, typography, etc. Instead, the focus is on interactive components that require Javascript. You should be able to use Keen UI with any page layout, structure, or CSS framework.

Documentation and demo

http://josephuspaye.github.io/Keen-UI/

Requirements

Optional

Browser support

Keen UI supports browsers with native ES2015 support (same as Vue 3).

Installation

npm install keen-ui --save

Usage

CSS Reset

Before using Keen UI, ensure that the following CSS resets are applied to your site.

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

You can add the reset to your stylesheet (before other styles). If you are using a CSS framework, check to see if the framework already includes a reset (most CSS frameworks do). The root font size set on <html> can be customized to globally resize the components.

ES6

Use as a Vue plugin (globally registers all components):

import { createApp } from "vue";
import * as KeenUI from "keen-ui";
import "keen-ui/keen-ui.css";

const app = createApp();
app.use(KeenUI);

Use individual components:

import { createApp } from "vue";
import { UiAlert, UiButton } from "keen-ui";
import "keen-ui/keen-ui.css";

const app = createApp({
  components: {
    UiAlert,
    UiButton,
  },
});

Global script tag

First, add a stylesheet link to the Keen UI CSS file in dist/keen-ui.min.css. Then, add a script tag pointing to dist/keen-ui.min.js.

The library is made available globally via window.KeenUI so that you can use it on your app instance.

Example:

<!-- Place this in <head> -->
<link rel="stylesheet" href="path/to/keen-ui.min.css" />

<!-- Place this in <body> -->
<div id="app">
  <ui-button>{{ message }}</ui-button>
</div>

<script src="path/to/vue.global.prod.js"></script>
<script src="path/to/keen-ui.min.js"></script>
<script>
  const app = Vue.createApp({
    data() {
      return {
        message: "Hello world!",
      };
    },
  });
  app.use(KeenUI);
  app.mount("#app");
</script>

Customization

You can customize many aspects of Keen UI, including theme colors, component sizes, default props, and more.

See Customization.

Using standalone components

Each component is built into a standalone file with all its dependencies included. You can use these individual standalone components without importing the rest of the library. The standalone components are located in the lib/ folder.

Note
Standalone component files each contain their own dependencies, and many contain overlapping dependencies. As a result, using multiple standalone files may increase the size of your bundle due to duplicate code.

import { createApp } from "vue";
import "keen-ui/src/bootstrap"; // Required when using standalone components, should be imported only once in your project
import UiButton from "keen-ui/lib/UiButton";
import "keen-ui/css/UiButton.css";

const app = createApp({
  components: {
    UiButton,
  },
});

Licence

Keen UI is open source and released under the MIT Licence.

Copyright (c) 2023 Josephus Paye II.

PS: Made something cool with Keen UI? I would love to know! Tweet to me at @JosephusPaye.

More Repositories

1

drag-to-download

πŸ‘‡πŸΎ Drag a link from the browser unto your desktop to download.
JavaScript
16
star
2

node-graphviz

A JS + WASM module for compiling graphs written in DOT to images, using GraphViz in Node.js.
JavaScript
15
star
3

cadence

πŸ₯ Create and share drum patterns and sequences in the browser!
Vue
14
star
4

vue-storybook-tutorial

Using Storybook with Vue single file components
JavaScript
11
star
5

list-open-windows

List the windows of currently open applications on Windows.
C++
10
star
6

chrome-media-controller

Control media playback in Chrome from the command-line
TypeScript
9
star
7

collel-video-downloader

πŸ“Ί Makeshift online video downloader. Download videos from YouTube, Vimeo and more. Powered by youtube-dl.
JavaScript
9
star
8

chrome-native-bridge

A utility for building Chrome native messaging hosts with Node.js
JavaScript
5
star
9

noodle

🍜 Markdown to spaghettified HTML.
Vue
4
star
10

autocheck

βœ… Automatically run pattern matches against a set of files and executables, and generate a neat report of the results.
Vue
4
star
11

blackboard-downloader

Quickly download content from a UON Blackboard course for offline study or archival.
JavaScript
4
star
12

browser-utilities-extension

A collection of useful browser tools – includes QR code generator, URL shortener & access to a page’s history in the Internet Archive
JavaScript
4
star
13

teleprompt

A fast and simple teleprompter you can control with a presentation remote
PHP
3
star
14

memelord

A Slack bot to automatically tally up reactions to posts in your meme channel and award a winner!
TypeScript
3
star
15

yhee

βŒ› Time tracking browser extension: track how much time you spend on different websites and webpages.
JavaScript
3
star
16

sift

πŸ”Ž Interactive JSON viewer
Vue
3
star
17

pipe-emitter

A bidirectional inter-process event emitter that uses UNIX domain sockets (Linux, macOS) and named pipes (Windows)
JavaScript
3
star
18

hermes

Generate lower thirds that do the limbo
Vue
3
star
19

timer

A small and smooth (60-fps) countdown timer and stopwatch for Vue and vanilla JS
TypeScript
3
star
20

start-apps

Get a list of apps in the Start Menu, with details. Supports classic (desktop) and store (UWP) apps.
TypeScript
3
star
21

vue-resize-detector

πŸ”· Detect and handle element size changes in Vue using ResizeObservers for optimal performance.
JavaScript
3
star
22

make-a-mesh

Generate animated mesh gradients and export as video
JavaScript
2
star
23

emojicon

πŸ”₯ Easily use any emoji as favicon!
Vue
2
star
24

lookup-lyrics-cli

Look up lyrics of songs from online sources on the command line
TypeScript
2
star
25

video-playback-speed-extension

A Chrome extension to easily change the playback speed of HTML5 videos
JavaScript
2
star
26

shell-image-win

Get the shell icon for a given path, as a PNG buffer (on Windows)
C++
1
star
27

bubble

πŸ’­ Experimental text to flowchart language
TypeScript
1
star
28

jat

Jat is a beautifully simple countdown timer and stopwatch.
Vue
1
star
29

gatsby-remark-graphviz

Gatsby plugin to compile DOT code-blocks into SVG images in Markdown processed by Remark
JavaScript
1
star
30

wp-embeddable

πŸ’  Embed any content from your WordPress site into posts, pages, or other sites.
PHP
1
star
31

CSS-Helper-Classes-Generator

Quickly generate CSS layout helper classes
CSS
1
star
32

match-common-formats-demo

Demo app for @josephuspaye/match-common-formats
Vue
1
star
33

lookup-lyrics

Lookup lyrics of songs using online sources
TypeScript
1
star
34

lookup-cli

Look up definitions, synonyms, and related words from online sources on the command line.
TypeScript
1
star
35

canireturn

β™» Quickly check if a container is eligible for the NSW Return and Earn recycling program.
JavaScript
1
star
36

explorer-file-ops-cli

Copy, move, and delete files and folders using the File Explorer GUI from the command line
JavaScript
1
star
37

grammar-explorer

Analyse, search, and interactively explore context free grammars.
Vue
1
star
38

dub

Quickly rename multiple files from the command line, using a glob or regular expression
JavaScript
1
star
39

stash

A simple cache with configurable storage and support for stale-while-revalidate
JavaScript
1
star
40

grepish

A text-search utility like grep, with a focus on ease of use. Useful for working with text on the command line.
JavaScript
1
star
41

powershell

Run PowerShell commands from Node.js and get the results as text, JSON, CSV, or HTML
JavaScript
1
star
42

match-common-formats

Match a piece of text to common formats like URLs, email addresses, colors, and more.
JavaScript
1
star
43

svg-text

Measure and wrap text into lines for SVG in the browser
TypeScript
1
star