Coder Social home page Coder Social logo

trendyol / quarkify Goto Github PK

View Code? Open in Web Editor NEW
82.0 13.0 9.0 16.91 MB

An awesome lightweight React UI Component library

Home Page: https://trendyol.github.io/quarkify/

License: MIT License

HTML 1.17% CSS 0.12% TypeScript 80.00% JavaScript 0.19% SCSS 18.52%
ui-components react-components react typescript ui

quarkify's Introduction


Logo

Quarkify

An awesome lightweight React UI Component library
Explore the docs »

View Demo · Report Bug · Request Feature

Build Status codecov contributions welcome MIT License

Table of Contents

About The Project

There are many great UI libraries for react available but almost all of them are highly customizable and full of boilerplate code, so we decided to create our own lightweight React Component library and you should give it a try.

Here's why:

  • Your time will be spent doing actual work instead of creating simple components.
  • You will not worry about consistency across your components.
  • Each component is implemented with accessibility in mind. 😄

You may also suggest changes by forking this repo and creating a pull request or opening an issue with the tag.

Built With

Getting Started

To get a local copy up and running follow these simple example steps.

Installation

  • To add quarkify library to your project
  1. Simply run one of the commands below in your project directory.
npm install quarkify@latest --save

or

yarn add quarkify 
  • To install storybook locally
  1. Clone the repo
git clone https://github.com/Trendyol/quarkify.git
  1. Install NPM packages
npm install

Or alternatively Yarn

yarn install
  1. Run tests
npm run test
yarn run test
  1. Run storybook
npm start
yarn start

Usage

To preview the live demo and see usages of the components please refer to our demo

Examples

We have several examples on our document. Here is the first one to get you started:

import Button from "quarkify/components/button"

function App() {
  return (
    <div className="App">
      <Button variant={"primary"} >Hello World</Button>
    </div>
  );
}

This will render Button component with primary variant:

Button Component

As you can see, to import components into your project, you need to specify the path as

"quarkify/components/{component-name}"

Furthermore, to use Modal component:

import Button from "quarkify/components/button"
import Modal from "quarkify/components/modal";

let show = false;

function handleChange() {
  show = !show
}

function closeModal() {
  show = false
}

function App() {
  return (
    <div className="App">
      <Button onClick={handleChange}>Toggle Me</Button>
      <Modal show={show} animation={"slideInUp"}>
        <Modal.Header
          onClose={closeModal}
          leftIcon={"back-button"}
          leftIconOnClick={closeModal}
        >
          Some Title
        </Modal.Header>
        <Modal.Content>
          <p>Some content</p>
        </Modal.Content>
        <Modal.Actions>
          <Button onClick={closeModal} fluid>
            Ok
          </Button>
        </Modal.Actions>
      </Modal>
    </div>
  );
}

When button is toggled, it will render the modal as it is seen below:

Modal Component

For more examples, please refer to the documentation

Contributing

Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please don't forget to check our commit message styles as we want to have consistency across our commit logs.

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

quarkify's People

Contributors

acanguven avatar antkaynak avatar armagandalkiran avatar barisesen avatar baspinarenes avatar cagataycali avatar cihadhoruzoglu avatar ddenizakpinar avatar emredoganm avatar erdoganoksuz avatar firtanaelif avatar fishuke avatar gmzsenturk avatar inanberkin avatar irfnkprc avatar kaanersoy avatar mbirinci avatar mckocas avatar mehmetsefabalik avatar yavuzkoca avatar yavuzty avatar yenereren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quarkify's Issues

Gray button

Gray variant button text color should be #666

ReactTestingLibrary

Enzyme good for unit testing React components. But we must change our testing perspective.
UI element unit testing should focus on user behaviors. ReactTestingLibrary good for this issue.

ReactTestingLibrary

Loader Error

Loader loop has no key identifier so consoles errors.

Loading in Buttons

Previous update to Loading component messed up the one in Button.
An update is needed.

image

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.