• This repository has been archived on 31/Jul/2024
  • Stars
    star
    661
  • Rank 68,192 (Top 2 %)
  • Language Vue
  • License
    MIT License
  • Created about 6 years ago
  • Updated 4 months ago

Reviews

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

Repository Details

🍴 A tasty toolset for Vue.js 🛠 - Lightweight, functional components to boost your next project.

Introduction

A "naked" component library for Vue.js focused on being:

  • Accessible
  • Semantic
  • Light weight
  • Extensible

Links:

Naked Components

Vuetensil's components are designed to be starting points for some of the most common UI features. They bring all the functionality you would expect from a UI library, but only the bare minimum styles to avoid adding any extra bloat. You can work on the branding, and you don't have to worry about the accessibility.

Import just the features you need (like a WCAG-friendly dialog that traps focus and prevents scrolling), and apply your custom design. No overhead from unused styles and no wrestling with overly-specific styles.

Getting Started

1. Install the library

npm install vuetensils

2. Register just the things you need

Globally:

// main.js
import { VAlert } from 'vuetensils/src/components';
import { autofocus } from 'vuetensils/src/directives';

// With your previously created app
app.component('VAlert', VAlert);
app.directive('autofocus', autofocus);

Locally:

<script>
// SomeComponent.vue
import { VAlert } from 'vuetensils/src/components';
import { autofocus } from 'vuetensils/src/directives';

export default {
  components: {
    VAlert,
  },
  directives: {
    autofocus,
  },
  // ...
};
</script>

3. Use the components in your template

<template>
  <div class="some-component">
    <VAlert>Hey, I'm an alert!</VAlert>
  </div>
</template>

4. Bring your own styles

/* Some CSS file */
.vts-alert {
  border: 1px solid currentColor;
  border-radius: 4px;
  padding: 0 10px;
  color: #900;
  background: #FDD;
}

Inspiration

I've built a lot of projects in the past and found myself copy/pasting several of the same components over and over, and stripping out styles that I didn't need. Eventually I realized that I could just create components with the base functionality and accessible markup, but no styles at all. That way, I wouldn't have to wrestle with existing styles, or worry about bloating my app with overwritten styles.

More Repositories

1

carbon-grid

A simple, lightweight, and responsive CSS grid built on flexbox
HTML
61
star
2

bedrocss

A classless CSS library that's modern, lightweight, and easy to modify so you can start your projects on a solid foundation. It does a bit more than a reset, but not so much as a framework. bedrocss applies sane defaults to plain HTML elements, so there isn't anything to learn, and it's super easy to modify.
HTML
29
star
3

prtcls

CSS
22
star
4

npm

Repo to accompany the series "Build A Pet Management System With Remix, Prisma, and Postgres" https://www.youtube.com/watch?v=wqyHGQlZcws&list=PLTnRtjQN5ieYu9SdwLvzKYFVtfqySY7FT
JavaScript
8
star
5

utils

A collection of useful code snippets for any project
JavaScript
6
star
6

accessiblitz

Convert an inaccessible web page to an accessible one by following some simple accessible design patterns
HTML
6
star
7

versus

CSS
5
star
8

svgeez

TypeScript
5
star
9

prtcls-archived

CSS
3
star
10

responsive-youtube-embed

HTML Custom Element for responsive YouTube embeds
JavaScript
3
star
11

mmogo

Vue
2
star
12

node-api-auth

An example of user authentication in Node with Express, JSON web tokens, Passport, and MongoDB
JavaScript
2
star
13

edgeworkers-local-server

JavaScript
1
star
14

pe-api

Progressive Enhanced Forms. A front and back end project that uses native browser JavaScript to make HTML forms better and submit things to a Fastify API.
JavaScript
1
star
15

ffforecast

JavaScript
1
star
16

compose-stack

Shell
1
star
17

edgeworkers-examples

JavaScript
1
star
18

vite-example

JavaScript
1
star
19

docker-full-stack

A full stack docker-compose project (Node, Express, MySQL, Knex, NGINX)
JavaScript
1
star
20

totes

JavaScript
1
star
21

primo-test

HTML
1
star
22

atomic-css-in-js-presentation

CSS
1
star
23

griddyup

CSS
1
star
24

battle-bannerz

A Pokemon battle scene builder for generating cool social banners.
CSS
1
star
25

redirect-website

A simple index.html file that will redirect to another URL
Shell
1
star
26

linode-vpc-demo

TypeScript
1
star