Morgul / ui-bootstrap4

Native AngularJS (Angular) directives for Bootstrap 4.
http://morgul.github.io/ui-bootstrap4/
MIT License
115 stars 40 forks source link

UI Bootstrap 4

AngularJS directives specific to Bootstrap

Join the chat at https://gitter.im/ui-bootstrap4/Lobby Build Status devDependency Status

Fork

This is a fork of the original ui-bootstrap4 project. It has been modified to work with Bootstrap 4. The reason this repository exists is because some applications are choosing (or are forced to chose) to stap with Angular 1, but would like to move to Bootstrap 4. (Especially considering the fact that bootstrap 3 is EoL.)

This for makes as few changes as possible to the original source code, so that upstream changes can be merged in with minimal issues. Some work has been used from other attempts to do the same thing, such as the fork from dietergeerts.

🚨 Help Wanted 🚨

As of this Aug. 2019, my company no longer has any maintained Angular 1.x code, so I have lost the last of my incentive to work on this. Still happy to click buttons and make releases, but I'm pretty much done writing any code for this.

I did this for a work project, and, frankly, we've gotten what we needed out of it. I'd love to see this cleaned up and maybe even maintained... but I just don't have the time myself. I'll accept merge requests, and fight with the build system... but that's basically it. If someone would like to step in, just let me know and I'll add you to the project. Just open an issue, and I'll respond.

💵 Incentivising 💵

If you really want your issue fixed and you feel you can't fix it on your own, or your don't want to, I've setup IssueHunt for this project:

Make an item, and then add some funding, and either myself or someone in the community will likely pick it up. No promises, but it seems worth the experiment.

Contributing

Wanting to contribute, but not take over the reigns? The things that are really holding this project back are, as I can see it:

If you can think of more, feel free to make issues.


Quick links

Demo

Do you want to see directives in action? Visit https://morgul.github.io/ui-bootstrap4/!

Installation

Installation is easy as UI Bootstrap has minimal dependencies - only the AngularJS and Twitter Bootstrap's CSS are required. Notes:

Angular Requirements

Bootstrap Requirements

Install with NPM

$ npm install ui-bootstrap4

Install with Yarn

$ yarn add ui-bootstrap4

This will install AngularJS and Bootstrap NPM packages.

Custom build

Head over to https://morgul.github.io/ui-bootstrap4/ and hit the Custom build button to create your own custom UI Bootstrap build, just the way you like it.

Manual download

After downloading dependencies (or better yet, referencing them from your favorite CDN) you need to download build version of this project. All the files and their purposes are described here: https://github.com/morgul/ui-bootstrap4/tree/gh-pages#build-files Don't worry, if you are not sure which file to take, opt for ui-bootstrap-tpls-[version].min.js.

Adding dependency to your project

When you are done downloading all the dependencies and project files the only remaining part is to add dependencies on the ui.bootstrap AngularJS module:

angular.module('myModule', ['ui.bootstrap']);

Webpack / JSPM

To use this project with webpack, follow the NPM instructions. Now, if you want to use only the accordion, you can do:

import accordion from 'ui-bootstrap4/src/accordion';

angular.module('myModule', [accordion]);

You can import all the pieces you need in the same way:

import accordion from 'ui-bootstrap4/src/accordion';
import datepicker from 'ui-bootstrap4/src/datepicker';

angular.module('myModule', [accordion, datepicker]);

This will load all the dependencies (if any) and also the templates (if any).

Be sure to have a loader able to process css files like css-loader.

If you would prefer not to load your css through your JavaScript file loader/bundler, you can choose to import the index-nocss.js file instead, which is available for the modules:

The other modules, such as accordion in the example below, do not have CSS resources to load, so you should continue to import them as normal:

import accordion from 'ui-bootstrap4/src/accordion';
import typeahead from 'ui-bootstrap4/src/typeahead/index-nocss.js';

angular.module('myModule', [accordion, typeahead]);

Versioning

Pre-2.0.0 does not follow a particular versioning system. 2.0.0 and onwards follows semantic versioning. All release changes can be viewed on our changelog.

Support

FAQ

https://github.com/morgul/ui-bootstrap4/wiki/FAQ

Code of Conduct

Take a moment to read our Code of Conduct

Supported browsers

Directives from this repository are automatically tested with the following browsers:

Modern mobile browsers should work without problems.

Need help?

Need help using UI Bootstrap?

For now, please create new issues in this repository to ask questions about using UI Bootstrap 4

Found a bug?

Please take a look at CONTRIBUTING.md and submit your issue here.


Contributing to the project

We are always looking for the quality contributions! Please check the CONTRIBUTING.md for the contribution guidelines.

## Development, meeting minutes, roadmap and more.

Head over to the Wiki for notes on development for UI Bootstrap, meeting minutes from the UI Bootstrap team, roadmap plans, project philosophy and more.


Building a Release

I've currently hacked out a solution, but the whole thing's very messy. For now, to build a release, just do:

$ grunt release:3.0.0

(Obviously, replace 3.0.0 with the version you're releasing.) That should build a correct release, and update the docs, and everything.