Coder Social home page Coder Social logo

mrksbnc / bamboo Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 14.38 MB

Vue 3 UI library built with Vite, Tailwindcss and Storybook

Home Page: https://mrksbnc.github.io/bamboo/

License: MIT License

JavaScript 1.64% Vue 13.02% TypeScript 64.68% CSS 0.05% SCSS 0.38% MDX 20.22%
component-library design-system eslint prettier typescript vitest vue3 vite storybook vue tailwindcss component-lib

bamboo's Introduction

Bamboo

npm version Storybook to GitHub Pages Test

Lightweight and flexible (hence the name) UI Library built with Vite and Vue 3. The documentation is created with Storybook.

Project setup

You need to have node and npm installed on your machine as a prerequisite. You can download and install them from here.

Install dependencies

To install the dependencies, run the following command:

npm install

Run documentation

To start the development server, run the following command:

npm run storybook

This will start the Storybook server and open the browser at http://localhost:6006. Here you can see the documentation for the components and play around with them.

Build for production

To build the components for production, run the following command:

npm run build

This will build the components and generate the static files in the dist folder.

Build storybook for production

To build the Storybook documentation for production, run the following command:

npm run build-storybook

This will build the Storybook documentation and generate the static files in the static folder. GitHub Pages uses the directory to host the documentation.

Run your unit tests

The project uses Vitest for unit and snapshot testing. To run the tests, run the following command:

npm run test

Lints and fixes files

The project uses ESLint and Prettier for linting and formatting. To run the linter, run the following command:

npm run lint

License

MIT

bamboo's People

Contributors

mrksbnc avatar dependabot[bot] avatar

Stargazers

 avatar Daniel Dobai avatar Csongor Szegleti avatar Chris Alex Bauer avatar Zsombor Foldesi avatar

Watchers

 avatar Daniel Dobai avatar

bamboo's Issues

feat: bo-badge component

  • Implement a generic badge UI component with custom size, label, type, variant

  • Variants are the same with the BoButtonVariant

  • Types are default, outline, pill

  • Sizing should follow BoSize

  • Storybook story

  • Tests

bo-avatar component

  • Create a new avatar component named bo-avatar
  • Support BoSize
  • Support img and initial
  • Support random bg-color if no image was provided for the component
  • Support default bg-img
  • Support dark mode

bo-modal-container component

  • Create a bo-modal-container component
  • Read the modal data from the layout provided by the useLayout composable
  • Display components based on the state
  • Storybook
  • Tests

bo-textarea component

  • Create a bo-textarea component
  • It should support BoSize
  • It should support BoInputVariants
  • Should support the input states and enable custom placeholder text
  • Support dark mode
  • Resize support

bo-input component

  • New bo-input component
  • It should support multiple input types
  • In the case of type="number the input should filter any letter
  • It should support multiple variants and sizes
  • It should support prefix and suffix icons
  • Support dark mode
  • Storybook updates
  • Tests

bo-toast component

  • Create a bo-toast component
  • The toast should support multiple variants
  • It should enable a custom title and description
  • The close action icon should be optional
  • Toast position inside the container
  • auto-hide
  • Make it compatible with the useLayout composable
  • Storybook
  • Tests

bo-loading-spinner and other loader components

  • Create bo-loading-spinner component
  • It should support BoSize and BoVariant
  • Add loader support for the existing components in the library
  • Create other loader components like loading dots or shapes
  • The loaders should have an optional label property
  • Create a bo-loader-view component. The page should support any other loader component from the lib or custom slots.
  • Support dark mode

bo-toast-container component

  • Create a bo-toast-container component
  • Read the toast data from the layout provided by the useLayout composable
  • Display components based on the state without disrupting the behaviour of the underlying UI
  • Tests
  • Storybook

bo-dropdown component

  • Create a bo-dropdown component
  • Support custom dropdown content with slot
  • Support custom button content with slot
  • Support BoSize
  • Support multiple variants
  • Support dark mode
  • Storybook
  • Tests

useLayout composable

  • Create a composable to handle modals and toasts
  • It should keep state
  • Should provide all necessary functions to modify the state
  • Type support
  • Tests
  • Documentation

bo-file-input component

  • Create bo-file-input component
  • It should support multiple variants
  • It should support BoSize
  • It should support prefix and suffix icons
  • Support dark mode
  • Storybook
  • Tests

bo-dropzone component

  • Create a bo-dropzone component
  • It should support BoSize
  • It should support any icon from the Icon enum
  • It should support any text inside the component
  • Storybook
  • Tests

bo-modal component

  • Create a bo-modal component
  • The modal should have a backdrop
  • It should support the clickOutside directive
  • It should enable a custom title and description
  • The close action icon should be optional
  • Make it compatible with the useLayout composable
  • Storybook
  • Tests

bo-card component

  • Create a bo-card component
  • The card should support multiple image position
  • The card should support dark mode
  • It should support custom content with slot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.