Welcome!
Installation#
npm i boundless --save
npm i boundless-button --save
Boundless currently supports IE10+ (needs a Promise polyfill) and all other modern browsers.
Philosophy#
Boundless is a UI toolkit that was conceived to abstract away difficult interface patterns. It follows three main guidelines:
- Performance is mandatory, not a nice-to-have.
- Components should be as customizable as possible.
- Components should be as accessible as possible (falling back to WAI-ARIA attributes when necessary.)
The general idea of this library is to provide ready-to-go solutions for things you really wouldn't want to build yourself, not because they're hard... but because they're hard to design right. We are always open to suggestions and strive to keep Boundless as concise and useful as possible.
Reference styles#
A precompiled base "skin" is available to use as a base when customizing Boundless for your own project. Some of the components do rely on the reference layout in their styles to function properly. It is designed to be very unopinionated.
You can find the compiled CSS at /public/skin.css
. There is a minified version available as well: /public/skin.min.css
.
The Boundless website is based on this skin with branding colors, etc.
Branding Boundless#
Thanks to the modular nature of Stylus, injecting your own customization to things like accent color(s) is extremely simple.
In your own project's .styl
file, define any variable overrides (see variables.styl for what variables can be overridden), then import Boundless's master styl file:
// first, pull in the variables
@require "node_modules/boundless/variables";
// do overrides as desired...
color-accent = red;
// then pull in the rest of the styles
@require "node_modules/boundless/style";
Next time your project's CSS is built, Boundless's CSS will automatically be compiled with the appropriate changes and included in your stylesheet.
Developing Boundless#
git clone git@github.com:enigma-io/boundless.git boundless
cd boundless
npm i
npm start # runs the development server so you can make changes live ✨