pattern-library

Deque pattern library

Github stars Tracking Chart

Pattern Library CircleCI

Installation

NPM

$ npm install deque-pattern-library

Bower

$ bower install deque-pattern-library

CDN

Thanks to unpkg, you can link directly to deque pattern library files.

<link rel="stylesheet" href="https://unpkg.com/deque-pattern-library/dist/css/pattern-library.min.css" />
<!-- or -->
<link rel="stylesheet" href="https://unpkg.com/deque-pattern-library/dist/css/pattern-library.css" />
<script src="https://unpkg.com/deque-pattern-library/dist/js/pattern-library.min.js"></script>
<!-- or -->
<script src="https://unpkg.com/deque-pattern-library/dist/js/pattern-library.js"></script>

Fonts

Including font awesome (v4)

The pattern library relies on font awesome meaning including it is required.

CDN

You can include it using a CDN (see font awesome getting started docs)

npm

$ npm install font-awesome --save

Including Roboto

The patterns look best when the roboto font is available.

CDN

You can include it using a CDN, like so:

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700">

npm

install it:

$ npm install typeface-roboto --save

include it (in your entry-point):

import 'typeface-roboto';

Usage

Just drop the css and js into your page:

<html>
  <head>
    ...
    <link rel="stylesheet" href="./node_modules/deque-pattern-library/dist/css/pattern-library.min.css" />
  </head>
  <body>
    ...
    <script src="./node_modules/deque-pattern-library/dist/js/pattern-library.min.js"></script>
  </body>
</html>

What is included?

  • css
    • pattern-library.css
    • pattern-library.min.css
  • js
    • pattern-library.js
    • pattern-library.min.js
  • less
    • variables.less: All of the pattern library's colors and mixins

Getting started

Please refer to the wiki

Adding new components/composites

All additions must be approved by our UX team so before working on anything, please create an Issue including a detailed description on the requested pattern and several use cases for it.

Development

  • npm install
  • npm run build or for development - npm run dev which will rebuild when files are changed

NOTE: if a new component or composite is added, remember to create a quick wiki entry explaining what is absolutely necessary in using this widget.

Testing

Testing is done using mochify along with the 'chai' assertion library (assert.isFalse(!!0)). The test/ directory structure matches the lib/ directory. This means that if you're testing lib/components/foo/index.js, you would create a test in test/components/foo/index.js. See the test/ directory for examples. The tests are browserified and transpiled before running in the phantomjs headless browser so you can require / import stuff and use ES6 syntax in the tests.

$ npm test

or to have a watcher re-run tests every time you add a new test:

$ npm run test:dev

Debugging

The pattern library uses the debug module. To turn all debugging on, execute: localStorage.debug = 'dqpl:*' and refresh the page. The directory structure of lib is used as the debug naming convention. For example, to specifically debug the "selects" component, execute: localStorage.debug = 'dqpl:components:selects'.

Main metrics

Overview
Name With Ownerdequelabs/pattern-library
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 3)
Platform
License:Mozilla Public License 2.0
所有者活动
Created At2017-04-03 13:27:39
Pushed At2020-11-04 03:32:27
Last Commit At2020-11-03 19:32:27
Release Count40
Last Release Namev7.0.0 (Posted on 2019-09-03 10:37:47)
First Release Name1.1.0 (Posted on )
用户参与
Stargazers Count116
Watchers Count14
Fork Count13
Commits Count310
Has Issues Enabled
Issues Count57
Issue Open Count12
Pull Requests Count69
Pull Requests Open Count7
Pull Requests Close Count5
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private