Code Monkey home page Code Monkey logo

litmus-ui's Introduction

Litmus UI

React component library for faster and easier web development. Build your own design system, or start with Litmus UI.

Table of Contents

  1. Project Structure
  2. Available Scripts
  3. Tech Stack
  4. Contribution Guidelines
  5. Adding a Component
  6. Branch
  7. Publishing your Library on NPM


1. Project Structure

├── .storybook
|   ├── main.js
├── coverage
├── dist
├── mocks
|   ├── styleMock.js
├── node_modules
├── scripts
|   ├── postBuild.js
├── src
│   ├── core
|   |   ├── <Stable Components>
|   |   |   ├── __tests__
|   |   |   ├── <components>.stories.tsx
|   |   |   ├── index.ts
|   |   |   ├── <components>.tsx
|   |   |   ├── styles.tsx
|   |   ├── index.ts
│   ├── labs
|   |   ├── <UnStable Components>
|   |   |   ├── __tests__
|   |   |   ├── <components>.stories.tsx
|   |   |   ├── index.ts
|   |   |   ├── <components>.tsx
|   |   |   ├── styles.tsx
|   |   ├── index.ts
|   ├── index.ts
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .prettierrc.js
├── jest.config.js
├── LICENSE
├── package.json
├── package.lock.json
├── README.md
├── CONTRIBUTION.md
├── rollup.config.js
├── stylelint.config.js
├── tsconfig.json
├── yarn.lock

2. Available Scripts

Script Description
dev Start the development storybook server with hot module reloading.
format Format your code with Prettier
format:check Formats only the changed code with Prettier.
clean Safely remove files and folders on all platforms directories.
test Run your Jest tests once.
test:watch Run your Jest tests in watch mode.
test:coverage Run your Jest tests and check for code coverage.
lint Lint both your code and style with ESLint.
lint:script Lint only your code with ESLint.
lint:watch Lint your code with ESLint in watch mode.
lint:style Lint your css with ESLint.
storybook Start the storybook server.
build Compile your application and make it ready for deployment

3. Tech Stack

Litmus UI is built using the following:

  • Typescript
  • Rollup
  • Prettier
  • ESLint
  • StyleLint
  • Storybook
  • Husky
  • Material UI
  • Jest
  • React Testing Library

4. Contribution Guidelines

Check our official contribution guidelines

5. Adding a new component

  • add the new component directory in the src/labs directory following this folder structure
├── MyComponent
|   ├── index.ts
|   ├── styles.ts
|   ├── MyComponent.tsx
|   ├── MyComponent.stories.tsx
|   ├── __tests__
|   |   ├── MyComponent.test.tsx

Once you have created your new component make sure you have exported it in the src/labs/index.ts file. Doing so allows the component to be compiled into the final bundle using rollup.

// src/labs/index.ts
export * from './MyComponent';
export * from './SomeOtherComponent';

You can develope your new component using storybook as your playground. Once you have added the .stories.tsx file for you new component, you can run yarn storybook to start the service.

6. Branch

dev - This branch is for incomplete unstable components, accepting and reviewing PRs for the same.

next - This branch is for components which are complete but don't have all the required specification (tests, stories, etc) shifted from dev

master - This branch is for stable components shifted from next

7. Publishing your Library on NPM

Once you have created an account on NPM you will be able to publish your library using these commands

$ yarn build
$ cd dist
$ npm pack
$ npm publish

Note: You will have to manually bump your versions in the package.json file.

Note: You will need to update the package.json name property with the name your library will be using on npm.

litmus-ui's People

Contributors

ajeshbaby avatar amityt avatar arkajyotimukherjee avatar armen5 avatar avrahul avatar hasmik8 avatar jonsy13 avatar mallick370 avatar s-ayanide avatar saswatamcode avatar saten16 avatar vanshbhatia-a4k9 avatar whitetiger1399 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

litmus-ui's Issues

Consistent tabs in all pages

The tabs must be lowercase, not fully uppercase
image

The tab border needs to be consistent in some places it's green and in some other place it's white.
Green tabs found in workflow
image

Lint issue with the stylelint.config.js file

The module.exports is throwing a linting error. Although this issue doesn't have immediate repercussions in the production however, it must be addressed.
module.exports = { processors: ["stylelint-processor-styled-components"], extends: "stylelint-config-standard", rules: { "value-no-vendor-prefix": true, "property-no-vendor-prefix": true, "no-empty-source": null, "no-missing-end-of-source-newline": null, "declaration-colon-newline-after": null, "value-keyword-case": null, }, };

Close button on modal overlaps with content

When modal is used with no margin or padding and with a close button, the button overlaps with the content, because 100% of the height and width are required along with the close button, the styling breaks and the button position is somewhere between the content.

[MAJOR] Changing typeface to Inter

The current typeface, Ubuntu is running up against limitations of having a readable issue in small sizes. It is decide to change the font to Inter.

Reducing font sizes of page titles

Currently the font size of page titles is 41px. It's requested to reduce to 32px so that even if someone zooms the screen it doesn't feel too big.

Error with PNG image in story book

When adding a .png image in a folder and then adding the path of that image in any of the storybook components, the image is not displaying. This issue was first witnessed while building the QuickActionCard.
Screenshot from 2021-02-19 18-54-03

Changes needed in some buttons

I guess due to the increase in font size the text got wrapped. We need to fix this issue found in some places like in settings page

image

CTAs are missing

CTAs like to deploy agent, view all projects needs to be there

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.