#FuelUX
FuelUX extends Bootstrap 3 with additional lightweight JavaScript controls. It is maintained by members of ExactTarget, a salesforce.com company, with the support and involvement of the community.
All functionality is covered by the live documentation and unit tests.
- Quick start
- Documentation
- Bugs and feature requests
- Compiling CSS and JavaScript
- Contributing
- Community
- Versioning
- Authors
- Copyright and license
FuelUX can be obtained one of three ways:
-
Best way: Install with Bower:
bower install fueluxThis ensures you get all the dependencies. You can then use
bower update fueluxto keep it up to date in the future. You're welcome. -
Second best way: Clone the Git repository:
git clone https://github.com/ExactTarget/fuelux/Obtaining this way ensure you can apply future updates to FuelUX easily, but require to you manage the dependencies on your own.
-
Least desirable way in the universe: Download a .zip archive of the latest release.
Grabbing FuelUX in this way may seem easist now, but it will make integrating future updates (bug fixes!) nearly impossible.
Trust us, you do not want to do it this way.
FuelUX is dependent upon Bootstrap 3 and jQuery.
If you install it by cloning the repo or by downloading a .zip archive, you'll also want to grab these things, as, it just won't work without them.
A download of FuelUX provides the following directories and files, which are grouped according to file type:
fuelux/
├── css/
│ ├── fuelux.css
│ ├── fuelux.min.css
├── js/
│ ├── fuelux.js
│ └── fuelux.min.js
└── fonts/
├── fuelux.eot
├── fuelux.svg
├── fuelux.ttf
└── fuelux.woff
For the most common assets, we provide compiled CSS and JS (like fuelux.css), as well as compiled and minified CSS and JS (like fuelux.min.css).
If you end up modifying the .less or .js files, you'll need to re-compile it all. We've made documentation on how to get starting customizing and building FuelUX. Instructions on building are available here.
We also provide an icon font (documentation on using the icons is available here).
If cloning the repo, compiled FuelUX files for production use are located in /dist/.
View live documentation and demos on GitHub pages.
- Checkbox - consistent cross-browser cross-platform look and feel for checkbox elements
- Combobox - combines input and dropdown for flexible data selection
- Datepicker - combines input and dropdown to select a date
- Infinite Scroll - Load content when reaching a set amount of content read or with a call to action
- Intelligent Dropdown - Dropdown that decide whether it should be placed above or below the clicked element as well as force position.
- Loader - fully css-driven loading animation for visual indication of wait times
- Pillbox - manage tags with color-coded text labels
- Radio - consistent cross-browser cross-platform look and feel for radio elements
- Repeater - A scrollable, sortable, searchable interface for data (replaces datagrid)
- Repeater Views - Use the provided views to customize a list of data or write your own
- Scheduler - composite form control to quickly schedule events with support for moment.js
- Search - input for integrated search
- Selectlist - extends button dropdown with the ability to set and retrieve the selected item
- Spinbox - provides convenient numeric input with increment and decrement buttons
- Tree - renders data in a tree, supporting caching and optional multi-selection
- Wizard - displays a multi-step process to be completed in a specific order
In a hurry? Counting characters over bytes? fuelux/all can be loaded to bring in all FuelUX controls via AMD. Though we recommend only loading the controls, you need. If using AMD (such as RequireJS), reference the FuelUX directory in your paths configuration, wherever it is located:
require.config({
paths: {
'fuelux': 'http://www.fuelcdn.com/fuelux/3.0.0/'
//...
}
});Then list any individual fuelux controls needed as dependencies within your application modules:
define(function(require) {
var spinbox = require('fuelux/spinbox');
//...
});On a side note, FuelUX now supports placing components in their own <script> tags. Be sure to put modules in the correct order if loading them in this method.
Have a bug or a feature request? Please first review the open issues, then search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.
View FuelUX documentation on Code@
Documentation for v2.6.x has been made available for the time being at (need link) while folks transition to Bootstrap 3.
Previous releases and their documentation are also available for download. (need link)
FuelUX is lightweight to give you a fast dependable foundation to build upon. It uses Grunt with convenient methods for working with the library. It's how we compile our code, run tests, and more. To use it, install the required dependencies as directed, and then run some Grunt commands.
From the command line:
- Install
grunt-cliglobally withnpm install -g grunt-cli. - Navigate to the root
/bootstrapdirectory, then runnpm install. npm will look at package.json and automatically install the necessary local dependencies listed there.
When completed, you'll be able to run the various Grunt commands provided from the command line.
Unfamiliar with npm? Don't have node installed? That's a-okay. npm stands for node packaged modules and is a way to manage development dependencies through node.js. Download and install node.js before proceeding.
Run grunt to run tests locally and compile the CSS and JavaScript into /dist. Uses Less and UglifyJS.
Runs JSHint and QUnit tests headlessly in PhantomJS (used for CI).
This is a convenience method for watching just Less files and automatically building them whenever you save.
Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun npm install.
The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.
You can visit questions tagged FuelUX in our ExactTarget Developer Community.
You can also visit UserVoice community and post a comment or suggest features. We will maintain of backlog of feature we are considering adding in a backlog.
Before writing code, we suggest you search for issues or create a new one to confirm where your contribution fits into our roadmap.
In lieu of a formal style guide, take care to maintain the existing coding style: tabs, clarity over conciseness, semicolons, etc. Be sure to add unit tests for any new or changed functionality. Lint and test your code using grunt.
Read more about contributing to FuelUX
Please do not edit files in the dist directory as they are generated via grunt. You'll find source code in the respective js, less, and fonts directory.
While grunt can run the included unit tests via PhantomJS, this isn't a substitute for running tests across a variety of browsers and environments. Please be sure to view the test page at http://localhost:8000/test/ in as many of the browsers listed in \sauce_browsers.yml as you can before contributing.
Our aim is to provide a suite of related but independent projects that help web developers integrate, manage, and customize quality libraries and utilities to more efficiently develop, maintain, test, and distribute their projects. Any improvements or fixes we make to the open source projects we use will be contributed upstream if they are useful to the rest of the community.
##Authors
Adam Alexander
Matt Beard
Bryan Kohlmeier
Kevin Parkerson
Stephen James
Christopher McCulloh
David Waltz
Dustin McCormick
Alex Vernacchia
Scott Plumlee
Marvin Pribble
Ryan Moore
Steven Rogers
And thank you to all those that have submitted issues and contributed to this library.
We are grateful to the maintainers, contributors, and sponsors of the following technologies which make FuelUX possible:
-
jQuery (Library for DOM, events, animation, and AJAX)
-
Twitter Bootstrap (UI components and interactions)
-
LESS (Stylesheet definition and management)
-
grunt (Build tool for JavaScript projects)
Copyright © 2014 ExactTarget.
Licensed under the MIT License (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the COPYING file.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
