Git Product home page Git Product logo

patternfly-elements's Introduction

PatternFly Elements Netlify status build status commit latest version contributors

Table of Contents

  1. Getting started
  2. Element catalog
  3. Creating components
  4. Theming components

PatternFly Elements is a work-in-progress collection of flexible and lightweight Web Components based on the Unified Design Kit. The repo also includes a generator to build new components. PatternFly Elements are:

  • Lightweight: small file size, minimal boilerplate, no "framework-like" features.
  • Universal: write once, use everywhere. PatternFly Elements work in React, Vue, Angular, vanilla JS, anywhere HTML elements are used.
  • Themable: Make overrides as needed via attributes or CSS variables

The result of these principles is that you can plug one set of components into a wide variety of applications; bringing UX consistency and developer familiarity to any web project.

A Yeoman generator is included for creating web components that meet these goals.

Quick start

git clone [email protected]:patternfly/patternfly-elements.git
cd patternfly-elements
npm install # this will take a while due to lerna bootstrap
npm run dev -- --storybook --docs # This will build and spin up a local server with storybook preview and documentation

Additional dependencies

If you will be doing any release work, it is recommended that you install Hub.

To install on a MacOS: brew install hub.

For other systems, please see documentation: - Hub

Note: You will need to use Node v12 or higher.

Command Line Helper Scripts

Many commands have an optional argument of space-separated component name(s), if left off it will assume it should run on all components. These should run from the project root.

Compile

# Build all components
npm run build

# Build one or more components
npm run build [component-name(s)]

The build command can accept a few flags; for more details, use npm run build -- --help.

Preview

# Runs server process to preview files (does not build)
npm start

# Builds, sets up the watch, and runs server process to preview files
npm run dev [component-name(s)]

Testing

# Build and run tests on all components
npm run test

# Build and run tests on one component
npm run test [component-name(s)]

# Run tests on one component without rebuilding
npm run test [component-name(s)] -- --nobuild

The test command can accept a flags; for more details, use npm run test -- --help.

Open a new pull request

# Open a new pull request
npm run pr

Documentation site

View the documentation locally

npm run start:docs

Build the documentation site

npm run build:docs

Support

Though we have tested and verified general usability within these frameworks, PatternFly Elements makes no guarantees about compatibility within specific sites and applications. Please test accordingly.

Stay informed

Sign up for the for the active project participation email list and/or the informed email list.

You can also participate in discussions on patternfly.slack.com in the #patternfly-elements channel.


home | start | develop | theming | storybook | web components

code style: prettier Dependabot

patternfly-elements's People

Contributors

alazzara avatar alexmarple avatar alistairmc avatar bdone avatar castastrophe avatar chrisdo1 avatar dcaryll avatar deborapozzebon avatar dependabot-preview[bot] avatar diwanshi avatar djfaucette avatar eyevana avatar github-actions[bot] avatar grantsydney avatar heymp avatar homa avatar kamiquasi avatar kelss avatar krystalmoore16 avatar kylebuch8 avatar lyndseyr avatar markcaron avatar mwcz avatar siliconvalet avatar starryeyez024 avatar tylermartin5 avatar wesruv avatar zhawkins avatar

Watchers

 avatar

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.