PHPackages                             angular-ui/bootstrap - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. angular-ui/bootstrap

ActiveComponent[Utility &amp; Helpers](/categories/utility)

angular-ui/bootstrap
====================

Native AngularJS (Angular) directives for Twitter's Bootstrap

210.4k1JavaScript

Since Aug 22Pushed 11y ago1 watchersCompare

[ Source](https://github.com/grisendo/bootstrap)[ Packagist](https://packagist.org/packages/angular-ui/bootstrap)[ RSS](/packages/angular-ui-bootstrap/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (1)

bootstrap - [AngularJS](http://angularjs.org/) directives specific to [Bootstrap](http://getbootstrap.com)
==========================================================================================================

[](#bootstrap---angularjs-directives-specific-to-bootstrap)

---

[![Build Status](https://camo.githubusercontent.com/34bd0e606d81b593d396a797823b26dd0ea5928d08d5517d1fa25c8e694b87a3/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f616e67756c61722d75692f626f6f7473747261702e706e67)](http://travis-ci.org/angular-ui/bootstrap)[![devDependency Status](https://camo.githubusercontent.com/6ab3f0668311e854c4db7e07a33e225819076fabb5efc122530f2c0c41f703ae/68747470733a2f2f64617669642d646d2e6f72672f616e67756c61722d75692f626f6f7473747261702f6465762d7374617475732e706e673f6272616e63683d6d6173746572)](https://david-dm.org/angular-ui/bootstrap#info=devDependencies)[![Bitdeli Badge](https://camo.githubusercontent.com/2ef8319e7d57d12ce206e7e02e887057abcfc3c20cc36c1203255dab24f0c64c/68747470733a2f2f64327765637a68766c38323376302e636c6f756466726f6e742e6e65742f616e67756c61722d75692f626f6f7473747261702f7472656e642e706e67)](https://bitdeli.com/free "Bitdeli Badge")

Demo
----

[](#demo)

Do you want to see directives in action? Visit !

Installation
------------

[](#installation)

Installation is easy as angular-ui-bootstrap has minimal dependencies - only the AngularJS and Bootstrap's CSS are required. After downloading dependencies (or better yet, referencing them from your favourite CDN) you need to download build version of this project. All the files and their purposes are described here: Don't worry, if you are not sure which file to take, opt for `ui-bootstrap-tpls-[version].min.js`.

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']);
```

Project files are also available through your favourite package manager:

- **Bower**: `bower install angular-bootstrap`
- **NuGet**:

Supported browsers
------------------

[](#supported-browsers)

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

- Chrome (stable and canary channel)
- Firefox
- IE 9 and 10
- Opera
- Safari

Modern mobile browsers should work without problems.

**IE 8 is not officially supported at the moment**. This project is run by volunteers and with the current number of commiters we are not in the position to guarantee IE8 support. If you need support for IE8 we would welcome a contributor who would like to take care about IE8. Alternatively you could sponsor this project to guarantee IE8 support.

We believe that most of the directives would work OK after:

- including relevant shims (for ES5 we recommend )
- taking care of the steps described in

We are simply not regularly testing against IE8.

Project philosophy
------------------

[](#project-philosophy)

### Native, lightweight directives

[](#native-lightweight-directives)

We are aiming at providing a set of AngularJS directives based on Bootstrap's markup and CSS. The goal is to provide **native AngularJS directives** without any dependency on jQuery or Bootstrap's JavaScript. It is often better to rewrite an existing JavaScript code and create a new, pure AngularJS directive. Most of the time the resulting directive is smaller as compared to the original JavaScript code size and better integrated into the AngularJS ecosystem.

### Customizability

[](#customizability)

All the directives in this repository should have their markup externalized as templates (loaded via `templateUrl`). In practice it means that you can **customize directive's markup at will**. One could even imagine providing a non-Bootstrap version of the templates!

### Take what you need and not more

[](#take-what-you-need-and-not-more)

Each directive has its own AngularJS module without any dependencies on other modules or third-party JavaScript code. In practice it means that you can **just grab the code for the directives you need** and you are not obliged to drag the whole repository.

### Quality and stability

[](#quality-and-stability)

Directives should work. All the time and in all browsers. This is why all the directives have a comprehensive suite of unit tests. All the automated tests are executed on each checkin in several browsers: Chrome, ChromeCanary, Firefox, Opera, Safari, IE9. In fact we are fortunate enough to **benefit from the same testing infrastructure as AngularJS**!

Support
-------

[](#support)

If you are having problems making some directives work, there are several ways to get help:

- Live help in the IRC (`#angularjs` channel at the `freenode` network). Use this [webchat](https://webchat.freenode.net/) or your own IRC client.
- Ask a question in [stackoverflow](http://stackoverflow.com/) under the [angular-ui-bootstrap](http://stackoverflow.com/questions/tagged/angular-ui-bootstrap) tag.
- Write your question in our [mailing list](https://groups.google.com/forum/#!categories/angular-ui/bootstrap).

Project's issue on GitHub should be used discuss bugs and features.

Contributing to the project
---------------------------

[](#contributing-to-the-project)

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

### Development

[](#development)

#### Prepare your environment

[](#prepare-your-environment)

- Install [Node.js](http://nodejs.org/) and NPM (should come with)
- Install global dev dependencies: `npm install -g grunt-cli karma`
- Install local dev dependencies: `npm install` while current directory is bootstrap repo

#### Build

[](#build)

- Build the whole project: `grunt` - this will run `lint`, `test`, and `concat` targets
- To build modules, first run `grunt html2js` then `grunt build:module1:module2...:moduleN`

You can generate a custom build, containing only needed modules, from the project's homepage. Alternatively you can run local Grunt build from the command line and list needed modules as shown below:

```
grunt build:modal:tabs:alert:popover:dropdownToggle:buttons:progressbar

```

Check the Grunt build file for other tasks that are defined for this project.

#### TDD

[](#tdd)

- Run test: `grunt watch`

This will start Karma server and will continuously watch files in the project, executing tests upon every change.

#### Test coverage

[](#test-coverage)

Add the `--coverage` option (e.g. `grunt test --coverage`, `grunt watch --coverage`) to see reports on the test coverage. These coverage reports are found in the coverage folder.

### Customize templates

[](#customize-templates)

As mentioned directives from this repository have all the markup externalized in templates. You might want to customize default templates to match your desired look &amp; feel, add new functionality etc.

The easiest way to override an individual template is to use the `` directive:

```

        Close

```

If you want to override more templates it makes sense to store them as individual files and feed the `$templateCache` from those partials. For people using Grunt as the build tool it can be easily done using the `grunt-html2js` plugin. You can also configure your own template url. Let's have a look:

Your own template url is `views/partials/ui-bootstrap-tpls/alert/alert.html`.

Add "html2js" task to your Gruntfile

```
html2js: {
  options: {
    base: '.',
    module: 'ui-templates',
    rename: function (modulePath) {
      var moduleName = modulePath.replace('app/views/partials/ui-bootstrap-tpls/', '').replace('.html', '');
      return 'template' + '/' + moduleName + '.html';
    }
  },
  main: {
    src: ['app/views/partials/ui-bootstrap-tpls/**/*.html'],
    dest: '.tmp/ui-templates.js'
  }
}

```

Make sure to load your template.js file ``

Inject the `ui-templates` module in your `app.js`

```
angular.module('myApp', [
  'ui.bootstrap',
  'ui-templates'
]);

```

Then it will work fine!

For more information visit:

### Release

[](#release)

- Bump up version number in `package.json`
- Commit the version change with the following message: `chore(release): [version number]`
- tag
- push changes and a tag (`git push --tags`)
- switch to the `gh-pages` branch: `git checkout gh-pages`
- copy content of the dist folder to the main folder
- Commit the version change with the following message: `chore(release): [version number]`
- push changes
- switch back to the `main branch` and modify `package.json` to bump up version for the next iteration
- commit (`chore(release): starting [version number]`) and push
- publish Bower and NuGet packages

Well done! (If you don't like repeating yourself open a PR with a grunt task taking care of the above!)

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1665659?v=4)[Francisco José Cruz Romanos](/maintainers/grisendo)[@grisendo](https://github.com/grisendo)

---

Top Contributors

[![pkozlowski-opensource](https://avatars.githubusercontent.com/u/973550?v=4)](https://github.com/pkozlowski-opensource "pkozlowski-opensource (233 commits)")[![bekos](https://avatars.githubusercontent.com/u/551595?v=4)](https://github.com/bekos "bekos (110 commits)")[![ajoslin](https://avatars.githubusercontent.com/u/1265995?v=4)](https://github.com/ajoslin "ajoslin (65 commits)")[![chrisirhc](https://avatars.githubusercontent.com/u/132584?v=4)](https://github.com/chrisirhc "chrisirhc (31 commits)")[![petebacondarwin](https://avatars.githubusercontent.com/u/15655?v=4)](https://github.com/petebacondarwin "petebacondarwin (20 commits)")[![Foxandxss](https://avatars.githubusercontent.com/u/1087957?v=4)](https://github.com/Foxandxss "Foxandxss (18 commits)")[![mvhecke](https://avatars.githubusercontent.com/u/1102345?v=4)](https://github.com/mvhecke "mvhecke (7 commits)")[![SidhNor](https://avatars.githubusercontent.com/u/2222443?v=4)](https://github.com/SidhNor "SidhNor (5 commits)")[![ericzou](https://avatars.githubusercontent.com/u/42028?v=4)](https://github.com/ericzou "ericzou (3 commits)")[![paaloeye](https://avatars.githubusercontent.com/u/554135?v=4)](https://github.com/paaloeye "paaloeye (2 commits)")[![antonellopasella](https://avatars.githubusercontent.com/u/96335?v=4)](https://github.com/antonellopasella "antonellopasella (2 commits)")[![chicoxyzzy](https://avatars.githubusercontent.com/u/1507086?v=4)](https://github.com/chicoxyzzy "chicoxyzzy (2 commits)")[![grisendo](https://avatars.githubusercontent.com/u/1665659?v=4)](https://github.com/grisendo "grisendo (2 commits)")[![just-boris](https://avatars.githubusercontent.com/u/812240?v=4)](https://github.com/just-boris "just-boris (2 commits)")[![lazychino](https://avatars.githubusercontent.com/u/976310?v=4)](https://github.com/lazychino "lazychino (2 commits)")[![matiboy](https://avatars.githubusercontent.com/u/487758?v=4)](https://github.com/matiboy "matiboy (2 commits)")[![scamden](https://avatars.githubusercontent.com/u/1128856?v=4)](https://github.com/scamden "scamden (2 commits)")[![tjgrathwell](https://avatars.githubusercontent.com/u/1041691?v=4)](https://github.com/tjgrathwell "tjgrathwell (2 commits)")[![richardTowers](https://avatars.githubusercontent.com/u/1696784?v=4)](https://github.com/richardTowers "richardTowers (1 commits)")[![trash](https://avatars.githubusercontent.com/u/1890516?v=4)](https://github.com/trash "trash (1 commits)")

### Embed Badge

![Health badge](/badges/angular-ui-bootstrap/health.svg)

```
[![Health](https://phpackages.com/badges/angular-ui-bootstrap/health.svg)](https://phpackages.com/packages/angular-ui-bootstrap)
```

###  Alternatives

[indeev/laravel-schedule-calendar

Laravel Schedule Calendar - a package providing developers with a concise and visual representation of scheduled tasks, enabling easy analysis of load distribution throughout the day or week for optimized task scheduling.

558.8k](/packages/indeev-laravel-schedule-calendar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
