Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0416228a4 | ||
|
|
7b6e000dc6 | ||
|
|
d3a213afda | ||
|
|
3e4b0cdcb7 | ||
|
|
a3b070f1f9 | ||
|
|
d38b8fe970 | ||
|
|
785cd511fd | ||
|
|
239be16dac | ||
|
|
643d3e56f0 | ||
|
|
76251ebd5e | ||
|
|
054c1f6936 | ||
|
|
94aeea7ea7 | ||
|
|
72d14332eb | ||
|
|
78d0c11374 | ||
|
|
7a2364e507 | ||
|
|
c3dc529221 | ||
|
|
d61cbbd627 | ||
|
|
6c711a05ef | ||
|
|
6a5fa5a9d9 | ||
|
|
fd7ef956a0 | ||
|
|
74315469c4 | ||
|
|
e7f1f77dce | ||
|
|
737f1c4ae5 | ||
|
|
c9ae045e25 | ||
|
|
97348104dd | ||
|
|
b9efcc0f98 | ||
|
|
33ecce7207 | ||
|
|
b90ae59dc1 | ||
|
|
639fa9e923 | ||
|
|
070193e486 | ||
|
|
9b29fa6cf0 | ||
|
|
a1734eabda | ||
|
|
f6a5d05c90 | ||
|
|
b1edd9eaf8 | ||
|
|
7309e2e5d5 | ||
|
|
af70f05345 | ||
|
|
90b65eac6d | ||
|
|
340bbbaf93 | ||
|
|
67044517c3 | ||
|
|
445a9c3e83 | ||
|
|
7dda778f61 | ||
|
|
b2e020413d | ||
|
|
2226c0e7cf | ||
|
|
3254b3b60f | ||
|
|
6f953ee8da | ||
|
|
b4fa509976 | ||
|
|
c6720a8790 | ||
|
|
c7509cfe70 | ||
|
|
054c89ea53 | ||
|
|
19113c3cbc | ||
|
|
17f46f4eca | ||
|
|
1d943023e3 | ||
|
|
4b9b563f42 | ||
|
|
bf86dc34e2 | ||
|
|
100a35f3ce | ||
|
|
998a1ff4be | ||
|
|
4672183ea0 | ||
|
|
4325d22a47 | ||
|
|
f8fe281c43 | ||
|
|
68834fc648 | ||
|
|
f0edf90f88 | ||
|
|
661398920d | ||
|
|
da1ec8ee33 | ||
|
|
e691c465e3 | ||
|
|
5c3bc4e6a6 | ||
|
|
659d1eb18a | ||
|
|
cbda6b5c3b | ||
|
|
113a3b4c8e | ||
|
|
d9e6830184 |
5
.gitattributes
vendored
Normal file
5
.gitattributes
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
* text=auto
|
||||
|
||||
/.github export-ignore
|
||||
.gitattributes export-ignore
|
||||
.gitignore export-ignore
|
||||
24
.travis.yml
Normal file
24
.travis.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
language: node_js
|
||||
|
||||
node_js:
|
||||
- 8
|
||||
- 9
|
||||
- 10
|
||||
- 11
|
||||
- 12
|
||||
|
||||
env:
|
||||
- INSTALL=bower
|
||||
- INSTALL=yarn
|
||||
- INSTALL=npm
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
install:
|
||||
- if [ "bower" == $INSTALL ]; then yarn global add bower && bower install; fi
|
||||
- if [ "yarn" == $INSTALL ]; then yarn install; fi
|
||||
- if [ "npm" == $INSTALL ]; then npm install; fi
|
||||
|
||||
script:
|
||||
- echo 'Tests must be configured'
|
||||
15
Gruntfile.js
15
Gruntfile.js
@@ -112,8 +112,10 @@ module.exports = function (grunt) { // jshint ignore:line
|
||||
// Uglify task info. Compress the js files.
|
||||
uglify: {
|
||||
options : {
|
||||
mangle : true,
|
||||
preserveComments: 'some'
|
||||
mangle : true,
|
||||
output: {
|
||||
comments: 'some'
|
||||
},
|
||||
},
|
||||
production: {
|
||||
files: {
|
||||
@@ -132,9 +134,8 @@ module.exports = function (grunt) { // jshint ignore:line
|
||||
+ '* should be included in all pages. It controls some layout\n'
|
||||
+ '* options and implements exclusive AdminLTE plugins.\n'
|
||||
+ '*\n'
|
||||
+ '* @Author Almsaeed Studio\n'
|
||||
+ '* @Support <https://www.almsaeedstudio.com>\n'
|
||||
+ '* @Email <abdullah@almsaeedstudio.com>\n'
|
||||
+ '* @author Colorlib\n'
|
||||
+ '* @support <https://github.com/ColorlibHQ/AdminLTE/issues>\n'
|
||||
+ '* @version <%= pkg.version %>\n'
|
||||
+ '* @repository <%= pkg.repository.url %>\n'
|
||||
+ '* @license MIT <http://opensource.org/licenses/MIT>\n'
|
||||
@@ -150,10 +151,10 @@ module.exports = function (grunt) { // jshint ignore:line
|
||||
'build/js/BoxWidget.js',
|
||||
'build/js/ControlSidebar.js',
|
||||
'build/js/DirectChat.js',
|
||||
'build/js/Layout.js',
|
||||
'build/js/PushMenu.js',
|
||||
'build/js/TodoList.js',
|
||||
'build/js/Tree.js'
|
||||
'build/js/Tree.js',
|
||||
'build/js/Layout.js',
|
||||
],
|
||||
dest: 'dist/js/adminlte.js'
|
||||
}
|
||||
|
||||
10
README.md
10
README.md
@@ -1,6 +1,7 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
[](https://travis-ci.org/ColorlibHQ/AdminLTE)
|
||||

|
||||
[](https://www.npmjs.com/package/admin-lte)
|
||||
[](https://packagist.org/packages/almasaeed2010/adminlte)
|
||||
@@ -39,10 +40,10 @@ AdminLTE is an open source project by [AdminLTE.IO](https://adminlte.io) that is
|
||||
reserves the right to change the license of future releases. Wondering what you can or can't do? View the [license guide](https://adminlte.io/docs/license).
|
||||
|
||||
### Legacy Releases
|
||||
AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.io/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/almasaeed2010/AdminLTE/releases) section above.
|
||||
AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.io/themes/AdminLTE/documentation/index.html#upgrade), but if you intend to keep using AdminLTE 1.x, you can download the latest release from the [releases](https://github.com/ColorlibHQ/AdminLTE/releases) section above.
|
||||
|
||||
### Change log
|
||||
**For the most recent change log, visit the [releases page](https://github.com/almasaeed2010/AdminLTE/releases) or the [changelog file](https://github.com/almasaeed2010/AdminLTE/blob/master/changelog.md).** We will add detailed release notes to each new release.
|
||||
**For the most recent change log, visit the [releases page](https://github.com/ColorlibHQ/AdminLTE/releases).** We will add detailed release notes to each new release.
|
||||
|
||||
### Image Credits
|
||||
- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
|
||||
@@ -50,8 +51,3 @@ AdminLTE 1.x can be easily upgraded to 2.x using [this guide](https://adminlte.i
|
||||
- [Pickaface](http://pickaface.net/)
|
||||
- [Unsplash](https://unsplash.com/)
|
||||
- [Uifaces](http://uifaces.com/)
|
||||
|
||||
### Donations
|
||||
Donations are **greatly appreciated!**
|
||||
|
||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=629XCUSXBHCBC "Donate")
|
||||
|
||||
22
bower.json
22
bower.json
@@ -31,33 +31,33 @@
|
||||
"documentation"
|
||||
],
|
||||
"dependencies": {
|
||||
"bootstrap-slider": "*",
|
||||
"chart.js": "1.0.*",
|
||||
"ckeditor": "^4.7.0",
|
||||
"chart.js": "^1.0",
|
||||
"ckeditor": "^4.7",
|
||||
"bootstrap-colorpicker": "^2.5.1",
|
||||
"bootstrap": "^3.3.7",
|
||||
"jquery": "^3.2.1",
|
||||
"bootstrap": "^3.4",
|
||||
"jquery": "^3.4.1",
|
||||
"datatables.net": "^1.10.15",
|
||||
"datatables.net-bs": "^2.1.1",
|
||||
"bootstrap-datepicker": "^1.7.0",
|
||||
"bootstrap-datepicker": "^1.7",
|
||||
"bootstrap-daterangepicker": "^2.1.25",
|
||||
"moment": "^2.18.1",
|
||||
"fastclick": "^1.0.6",
|
||||
"Flot": "flot#^0.8.3",
|
||||
"fullcalendar": "^3.4.0",
|
||||
"fullcalendar": "^3.4",
|
||||
"inputmask": "jquery.inputmask#^3.3.7",
|
||||
"ion.rangeSlider": "ionrangeslider#^2.2.0",
|
||||
"ion.rangeSlider": "ionrangeslider#^2.2",
|
||||
"jvectormap": "^1.2.2",
|
||||
"jquery-knob": "^1.2.13",
|
||||
"morris.js": "^0.5.1",
|
||||
"PACE": "pace#^1.0.2",
|
||||
"select2": "^4.0.3",
|
||||
"select2": "^4.0.7",
|
||||
"jquery-slimscroll": "slimscroll#^1.3.8",
|
||||
"bootstrap-timepicker": "^0.5.2",
|
||||
"jquery-sparkline": "^2.1.3",
|
||||
"font-awesome": "^4.7.0",
|
||||
"font-awesome": "^4.7",
|
||||
"Ionicons": "ionicons#^2.0.1",
|
||||
"jquery-ui": "1.11.4"
|
||||
"jquery-ui": "1.11.4",
|
||||
"seiyria-bootstrap-slider": "^10.6.2"
|
||||
},
|
||||
"resolutions": {
|
||||
"jquery": "^3.2.1"
|
||||
|
||||
@@ -1,29 +1,12 @@
|
||||
{
|
||||
"name": "bootstrap-colorpicker",
|
||||
"main": [
|
||||
"dist/css/bootstrap-colorpicker.css",
|
||||
"dist/js/bootstrap-colorpicker.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.10"
|
||||
},
|
||||
"ignore": [
|
||||
"\\.*",
|
||||
"/index.html",
|
||||
"/package.json",
|
||||
"/composer.json",
|
||||
"/Gruntfile.js",
|
||||
"/.travis.yml",
|
||||
"/travis.sh",
|
||||
"/server.js"
|
||||
],
|
||||
"homepage": "https://github.com/itsjavi/bootstrap-colorpicker",
|
||||
"version": "2.5.2",
|
||||
"_release": "2.5.2",
|
||||
"version": "2.5.3",
|
||||
"_release": "2.5.3",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "2.5.2",
|
||||
"commit": "d56d0d3d5bee59904d48bce3c47a0029741e10e6"
|
||||
"tag": "2.5.3",
|
||||
"commit": "525cd6a0aa26ae95803bbf34d231c4163136a314"
|
||||
},
|
||||
"_source": "https://github.com/itsjavi/bootstrap-colorpicker.git",
|
||||
"_target": "^2.5.1",
|
||||
|
||||
11
bower_components/bootstrap-colorpicker/.editorconfig
vendored
Normal file
11
bower_components/bootstrap-colorpicker/.editorconfig
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# EditorConfig is awesome: http://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
47
bower_components/bootstrap-colorpicker/.github/CODE_OF_CONDUCT.md
vendored
Normal file
47
bower_components/bootstrap-colorpicker/.github/CODE_OF_CONDUCT.md
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team members through their social media sites or at _git @ itsjavi.com_.
|
||||
The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
42
bower_components/bootstrap-colorpicker/.github/CONTRIBUTING.md
vendored
Normal file
42
bower_components/bootstrap-colorpicker/.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
# Contributing
|
||||
|
||||
## Support
|
||||
|
||||
The issue tracker is not the place for support requests. If you get stuck with bootstrap-colorpicker, it's very likely
|
||||
that the fine folks at [StackOverflow](http://stackoverflow.com/) will be able to help you; simply describe the problem
|
||||
you're having and provide them a link to the repo (so they know what code you're using).
|
||||
|
||||
|
||||
## Issues
|
||||
For feature requests, suggestions or ideas, add `[SUGGESTION]` before the title of the issue, for anything else follow
|
||||
the following guidelines.
|
||||
|
||||
### Steps to submit an issue
|
||||
These steps are mandatory. Issues that are not clear or are not clearly reproduceable with a live example will be closed.
|
||||
|
||||
- Reproduce your problem in a separated environment, like in JSFiddle,
|
||||
[here is a template for it](http://jsfiddle.net/0vopxm13/157/), that you can fork in the same page.
|
||||
It already includes the required JS and CSS files.
|
||||
- Before posting your issue, consider adding this information:
|
||||
* Expected behaviour: what should happen?
|
||||
* Actual behaviour: what happens instead?
|
||||
* Your context: Where it happens? In which browser and version (if applicable)?
|
||||
* Plugin version (and/or commit reference).
|
||||
* jQuery version you use and list of all other plugins/scripts you are using with this one and may cause some conflict.
|
||||
* A link to your JSFiddle (or similar tool) demo where you reproduced the problem (if applicable).
|
||||
|
||||
## Pull Requests
|
||||
|
||||
Patches and new features are welcome!
|
||||
|
||||
- Prerequisites: having `node`, `npm`, `yarn` and `grunt` installed in your machine.
|
||||
- After a fresh clone for your fork, you need to run `yarn install` inside the project's root folder.
|
||||
- For checking your changes in the browser you can execute `node serve` and navigate to http://localhost:5000/
|
||||
- Before any commit run always `grunt` inside the project's root folder, to update the dist files
|
||||
(never modify them manually).
|
||||
- Do not change the plugin coding style.
|
||||
- Check that the index.html demos aren't broken (modify if necessary).
|
||||
- Test your code at least in Chrome, Firefox and Edge.
|
||||
- Any new feature should come with updated docs if applicable (a demonstration).
|
||||
- Generate the `/dist` files executing `grunt` before your Pull Request.
|
||||
- Push to your fork and submit the pull request.
|
||||
51
bower_components/bootstrap-colorpicker/.github/ISSUE_TEMPLATE.md
vendored
Normal file
51
bower_components/bootstrap-colorpicker/.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
<!--
|
||||
|
||||
THIS TEMPLATE IS MANDATORY!!
|
||||
|
||||
Thank you for your contribution to bootstrap-colorpicker! Please replace {Please write here *} with your description.
|
||||
Please note that issues not following this template may be potentially discarded if they are not easily reproduceable
|
||||
with live examples (in case of code issues) and/or the description is not clear enough.
|
||||
-->
|
||||
|
||||
### Brief description
|
||||
|
||||
{Please write here a summary of the issue}
|
||||
|
||||
<!--
|
||||
The following sections are only mandatory for bug reports.
|
||||
For feature requests and other kind of tickets, you only need to fill the first section,
|
||||
optionally with additional comments and examples.
|
||||
-->
|
||||
### Which software are you using?
|
||||
|
||||
- bootstrap-colorpicker version: {Please write here}
|
||||
- bootstrap version: {Please write here}
|
||||
- jQuery version: {Please write here}
|
||||
- Browser name and version: {Please write here}
|
||||
- Operative System name an version: {Please write here}
|
||||
|
||||
### What's the expected or desirable behavior?
|
||||
|
||||
{Please write here in case of code-related issues or remove this section}
|
||||
|
||||
### What's the actual current behavior?
|
||||
|
||||
{Please write here in case of code-related issues or remove this section}
|
||||
|
||||
### Are there some other related issues or PRs?
|
||||
|
||||
{Please write here if applicable the issue numbers or remove this section}
|
||||
|
||||
### Steps to reproduce
|
||||
|
||||
{Please write here in case of code-related issues or remove this section}
|
||||
|
||||
<!--
|
||||
Live examples are MANDATORY for code-related issues
|
||||
You have a JsFiddle template here: http://jsfiddle.net/0vopxm13/157/ which is using the latest master version of the library.
|
||||
-->
|
||||
*Live example*: {Please write here a link to your JsFiddle example}
|
||||
|
||||
### Additional Comments (if any)
|
||||
|
||||
{Please write here}
|
||||
38
bower_components/bootstrap-colorpicker/.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
38
bower_components/bootstrap-colorpicker/.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
<!--
|
||||
|
||||
THIS TEMPLATE IS MANDATORY!!
|
||||
|
||||
Thank you for your contribution to bootstrap-colorpicker! Please replace {Please write here} with your description.
|
||||
Please note that PRs not following this template may be potentially discarded if they are not clear enough.
|
||||
-->
|
||||
|
||||
### Is your PR fixing an issue or introduces a new feature?
|
||||
|
||||
{Please write here}
|
||||
|
||||
### In case of fix, how this PR fixes the problem?
|
||||
|
||||
{Please write here only in case of fix PR or remove the section}
|
||||
|
||||
{Please also mention the related issue numbers you are trying to close, if applicable}
|
||||
|
||||
### In case of new feature, what are the benefits and use cases?
|
||||
|
||||
{Please write here only in case of feature PR or remove the section}
|
||||
|
||||
### Check list
|
||||
Please mark with `x` inside the `[ ]` for anything that applies to this PR.
|
||||
|
||||
- [ ] All tests passed in travis-ci
|
||||
- [ ] Regenerated the `dist` files via `grunt`
|
||||
- [ ] All documentation examples are still working after testing them via `node serve`
|
||||
- [ ] Added an example in the documentation for the newly introduced feature
|
||||
- [ ] Provided an example via JsFiddle in the description of this PR
|
||||
- [ ] Tested at least with latest Chrome, Firefox and Mobile (iOS Safari and/or Chrome for Android)
|
||||
- [ ] This PR also introduces coding style changes (indentation, etc), in a separated commit
|
||||
- [ ] The commit history is understandable and grouped into the minimum number of commits possible
|
||||
- [ ] I've followed all other [`CONTRIBUTING.md`](.github/CONTRIBUTING.md#pull-requests) guidelines for Pull Requests.
|
||||
|
||||
### Additional Comments (if any)
|
||||
|
||||
{Please write here}
|
||||
13
bower_components/bootstrap-colorpicker/.gitignore
vendored
Normal file
13
bower_components/bootstrap-colorpicker/.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
*~
|
||||
.DS_Store
|
||||
.DS_Store*
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
*.log
|
||||
/node_modules/
|
||||
/bower_components/
|
||||
/nbproject/
|
||||
static_server.js
|
||||
*.php
|
||||
.idea
|
||||
package-lock.json
|
||||
18
bower_components/bootstrap-colorpicker/.jshintrc
vendored
Normal file
18
bower_components/bootstrap-colorpicker/.jshintrc
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"bitwise": false,
|
||||
"browser": true,
|
||||
"curly": true,
|
||||
"eqeqeq": true,
|
||||
"eqnull": true,
|
||||
"esnext": true,
|
||||
"immed": true,
|
||||
"jquery": true,
|
||||
"latedef": true,
|
||||
"newcap": true,
|
||||
"noarg": true,
|
||||
"node": true,
|
||||
"strict": false,
|
||||
"trailing": true,
|
||||
"undef": true,
|
||||
"predef" : ["define"]
|
||||
}
|
||||
21
bower_components/bootstrap-colorpicker/.npmignore
vendored
Normal file
21
bower_components/bootstrap-colorpicker/.npmignore
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
*~
|
||||
.DS_Store
|
||||
.DS_Store*
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
*.log
|
||||
/node_modules/
|
||||
/bower_components/
|
||||
/nbproject/
|
||||
/gh-pages/
|
||||
/package-lock.json
|
||||
Gruntfile.js
|
||||
/build
|
||||
/docs
|
||||
/tests
|
||||
/spec
|
||||
.*
|
||||
/src/docs
|
||||
*.psd
|
||||
*.ai
|
||||
composer.json
|
||||
13
bower_components/bootstrap-colorpicker/.travis.yml
vendored
Normal file
13
bower_components/bootstrap-colorpicker/.travis.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
language: node_js
|
||||
node_js:
|
||||
- "6"
|
||||
- "8"
|
||||
before_script:
|
||||
- npm install -g grunt-cli
|
||||
- curl -o- -L https://yarnpkg.com/install.sh | bash
|
||||
|
||||
script:
|
||||
- yarn install
|
||||
- grunt --verbose
|
||||
# Check that files didn't change after running grunt. It should be run before pushing any code change.
|
||||
- if ! git diff --name-only --quiet -- dist docs src index.html --; then echo \"Files where modified after grunt execution!!...\"; exit 1; fi
|
||||
188
bower_components/bootstrap-colorpicker/Gruntfile.js
vendored
Normal file
188
bower_components/bootstrap-colorpicker/Gruntfile.js
vendored
Normal file
@@ -0,0 +1,188 @@
|
||||
'use strict';
|
||||
module.exports = function (grunt) {
|
||||
|
||||
grunt.initConfig({
|
||||
pkg: grunt.file.readJSON('package.json'),
|
||||
less: {
|
||||
dist: {
|
||||
options: {
|
||||
strictMath: true,
|
||||
sourceMap: true,
|
||||
outputSourceFiles: true,
|
||||
sourceMapURL: '<%= pkg.name %>.css.map',
|
||||
sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
|
||||
},
|
||||
src: 'src/less/colorpicker.less',
|
||||
dest: 'dist/css/<%= pkg.name %>.css'
|
||||
}
|
||||
},
|
||||
cssmin: {
|
||||
options: {
|
||||
compatibility: 'ie8',
|
||||
keepSpecialComments: '*',
|
||||
sourceMap: true,
|
||||
advanced: false
|
||||
},
|
||||
dist: {
|
||||
src: 'dist/css/<%= pkg.name %>.css',
|
||||
dest: 'dist/css/<%= pkg.name %>.min.css'
|
||||
}
|
||||
},
|
||||
jshint: {
|
||||
options: {
|
||||
jshintrc: '.jshintrc'
|
||||
},
|
||||
files: [
|
||||
'Gruntfile.js',
|
||||
'docs/docs.js',
|
||||
'dist/js/<%= pkg.name %>.js'
|
||||
]
|
||||
},
|
||||
jsbeautifier: {
|
||||
options: {
|
||||
js: {
|
||||
braceStyle: "collapse",
|
||||
breakChainedMethods: false,
|
||||
e4x: false,
|
||||
evalCode: false,
|
||||
indentChar: " ",
|
||||
indentLevel: 0,
|
||||
indentSize: 2,
|
||||
indentWithTabs: false,
|
||||
jslintHappy: false,
|
||||
keepArrayIndentation: false,
|
||||
keepFunctionIndentation: false,
|
||||
maxPreserveNewlines: 2,
|
||||
preserveNewlines: true,
|
||||
spaceBeforeConditional: true,
|
||||
spaceInParen: false,
|
||||
unescapeStrings: false,
|
||||
wrapLineLength: 0,
|
||||
endWithNewline: true
|
||||
}
|
||||
},
|
||||
src: ['src/js/*.js', 'docs/docs.js'],
|
||||
dist: ['dist/js/<%= pkg.name %>.js']
|
||||
},
|
||||
combine: {
|
||||
js: {
|
||||
input: 'src/js/colorpicker-plugin-wrapper.js',
|
||||
output: 'dist/js/<%= pkg.name %>.js',
|
||||
tokens: [{
|
||||
token: "//@version",
|
||||
string: '<%= pkg.version %>'
|
||||
}, {
|
||||
token: "//@colorpicker-color",
|
||||
file: 'src/js/colorpicker-color.js'
|
||||
}, {
|
||||
token: "//@colorpicker-defaults",
|
||||
file: 'src/js/colorpicker-defaults.js'
|
||||
}, {
|
||||
token: "//@colorpicker-component",
|
||||
file: 'src/js/colorpicker-component.js'
|
||||
}]
|
||||
},
|
||||
less: {
|
||||
input: 'src/less/colorpicker.less',
|
||||
output: 'src/less/colorpicker.less',
|
||||
tokens: [{
|
||||
token: "//@version",
|
||||
string: '<%= pkg.version %>'
|
||||
}]
|
||||
}
|
||||
},
|
||||
strip_code: {
|
||||
src: {
|
||||
src: 'dist/js/*.js'
|
||||
}
|
||||
},
|
||||
uglify: {
|
||||
options: {
|
||||
banner: '/*!\n * Bootstrap Colorpicker v<%= pkg.version %>\n' +
|
||||
' * https://itsjavi.com/bootstrap-colorpicker/\n */\n'
|
||||
},
|
||||
dist: {
|
||||
files: {
|
||||
'dist/js/<%= pkg.name %>.min.js': [
|
||||
'dist/js/<%= pkg.name %>.js'
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
less: {
|
||||
files: [
|
||||
'src/less/*.less'
|
||||
],
|
||||
tasks: ['combine:less', 'less', 'cssmin']
|
||||
},
|
||||
js: {
|
||||
files: [
|
||||
'src/js/*.js',
|
||||
'docs/docs.js'
|
||||
],
|
||||
tasks: ['jsbeautifier:src', 'combine:js', 'jsbeautifier:dist', 'uglify', 'jshint']
|
||||
},
|
||||
handlebars: {
|
||||
files: [
|
||||
'docs/*.hbs',
|
||||
'docs/**/*.hbs',
|
||||
'docs/helpers/**/*.js'
|
||||
],
|
||||
tasks: ['assemble']
|
||||
}
|
||||
},
|
||||
assemble: {
|
||||
options: {
|
||||
assets: 'docs/assets',
|
||||
helpers: ['docs/helpers/code'],
|
||||
partials: ['docs/includes/**/*.hbs'],
|
||||
layout: ['docs/layout.hbs'],
|
||||
data: ['package.json'],
|
||||
flatten: true
|
||||
},
|
||||
site: {
|
||||
src: ['docs/pages/*.hbs'],
|
||||
dest: './'
|
||||
}
|
||||
},
|
||||
clean: {
|
||||
dist: [
|
||||
'dist/css/*',
|
||||
'dist/js/*',
|
||||
'index_new.html'
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
// Load tasks
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-less');
|
||||
grunt.loadNpmTasks('grunt-contrib-cssmin');
|
||||
grunt.loadNpmTasks('grunt-jsbeautifier');
|
||||
grunt.loadNpmTasks('grunt-combine');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||
grunt.loadNpmTasks('grunt-contrib-jshint');
|
||||
grunt.loadNpmTasks('grunt-assemble');
|
||||
grunt.loadNpmTasks('grunt-strip-code');
|
||||
|
||||
// Register tasks
|
||||
grunt.registerTask('default', [
|
||||
'clean',
|
||||
'combine:less',
|
||||
'less',
|
||||
'cssmin',
|
||||
'jsbeautifier:src',
|
||||
'combine:js',
|
||||
'jsbeautifier:dist',
|
||||
'strip_code',
|
||||
'uglify',
|
||||
'assemble',
|
||||
'jshint'
|
||||
]);
|
||||
grunt.registerTask('dev', [
|
||||
'watch'
|
||||
]);
|
||||
|
||||
};
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
Simple and customizable colorpicker component for Twitter Bootstrap.
|
||||
|
||||
[](https://travis-ci.org/farbelous/bootstrap-colorpicker)
|
||||
[](https://travis-ci.org/farbelous/bootstrap-colorpicker)
|
||||
|
||||
## Installation
|
||||
For downloading the source code, you have many choices:
|
||||
|
||||
- Downloading the [latest v2 source code ZIP file](https://github.com/farbelous/bootstrap-colorpicker/archive/v2.zip)
|
||||
- Downloading the [latest v2.x source code ZIP file](https://github.com/farbelous/bootstrap-colorpicker/archive/v2.x.zip)
|
||||
- Cloning the source code: `git clone https://github.com/farbelous/bootstrap-colorpicker.git`
|
||||
- Installing via NPM: `npm install bootstrap-colorpicker`
|
||||
- Installing via Yarn: `yarn add bootstrap-colorpicker`
|
||||
@@ -18,7 +18,7 @@ For downloading the source code, you have many choices:
|
||||
- [Documentation and demos](https://farbelous.github.io/bootstrap-colorpicker/v2/)
|
||||
|
||||
## Contributing and reporting issues
|
||||
If you want to contribute to the source code or report issues and suggestions, please read the [CONTRIBUTING.md](CONTRIBUTING.md) guidelines first. Some steps are mandatory in order to accept a Pull Request.
|
||||
If you want to contribute to the source code or report issues and suggestions, please read the [CONTRIBUTING.md](.github/CONTRIBUTING.md) guidelines first. Some steps are mandatory in order to accept a Pull Request.
|
||||
|
||||
## Credits
|
||||
Originally written by [Stefan Petre](http://www.eyecon.ro/)
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"name": "bootstrap-colorpicker",
|
||||
"main": [
|
||||
"dist/css/bootstrap-colorpicker.css",
|
||||
"dist/js/bootstrap-colorpicker.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.10"
|
||||
},
|
||||
"ignore": [
|
||||
"\\.*",
|
||||
"/index.html",
|
||||
"/package.json",
|
||||
"/composer.json",
|
||||
"/Gruntfile.js",
|
||||
"/.travis.yml",
|
||||
"/travis.sh",
|
||||
"/server.js"
|
||||
]
|
||||
}
|
||||
15
bower_components/bootstrap-colorpicker/composer.json
vendored
Normal file
15
bower_components/bootstrap-colorpicker/composer.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "itsjavi/bootstrap-colorpicker",
|
||||
"description": "Fancy and customizable colorpicker plugin for Twitter Bootstrap",
|
||||
"license": "Apache License Version 2.0",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Javier Aguilar",
|
||||
"homepage": "https://itsjavi.com"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "dev",
|
||||
"require": {
|
||||
"components/jquery" : ">=1.10"
|
||||
}
|
||||
}
|
||||
@@ -861,7 +861,7 @@
|
||||
'keyup.colorpicker': $.proxy(this.keyup, this)
|
||||
});
|
||||
this.input.on({
|
||||
'change.colorpicker': $.proxy(this.change, this)
|
||||
'input.colorpicker': $.proxy(this.change, this)
|
||||
});
|
||||
if (this.component === false) {
|
||||
this.element.on({
|
||||
@@ -1248,7 +1248,24 @@
|
||||
return false;
|
||||
},
|
||||
change: function(e) {
|
||||
this.keyup(e);
|
||||
this.color = this.createColor(this.input.val());
|
||||
// Change format dynamically
|
||||
// Only occurs if user choose the dynamic format by
|
||||
// setting option format to false
|
||||
if (this.color.origFormat && this.options.format === false) {
|
||||
this.format = this.color.origFormat;
|
||||
}
|
||||
if (this.getValue(false) !== false) {
|
||||
this.updateData();
|
||||
this.updateComponent();
|
||||
this.updatePicker();
|
||||
}
|
||||
|
||||
this.element.trigger({
|
||||
type: 'changeColor',
|
||||
color: this.color,
|
||||
value: this.input.val()
|
||||
});
|
||||
},
|
||||
keyup: function(e) {
|
||||
if ((e.keyCode === 38)) {
|
||||
@@ -1261,20 +1278,8 @@
|
||||
this.color.value.a = Math.round((this.color.value.a - 0.01) * 100) / 100;
|
||||
}
|
||||
this.update(true);
|
||||
} else {
|
||||
this.color = this.createColor(this.input.val());
|
||||
// Change format dynamically
|
||||
// Only occurs if user choose the dynamic format by
|
||||
// setting option format to false
|
||||
if (this.color.origFormat && this.options.format === false) {
|
||||
this.format = this.color.origFormat;
|
||||
}
|
||||
if (this.getValue(false) !== false) {
|
||||
this.updateData();
|
||||
this.updateComponent();
|
||||
this.updatePicker();
|
||||
}
|
||||
}
|
||||
|
||||
this.element.trigger({
|
||||
type: 'changeColor',
|
||||
color: this.color,
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -18,7 +18,7 @@
|
||||
<link href="dist/css/bootstrap-colorpicker.min.css" rel="stylesheet">
|
||||
<link href="docs/assets/main.css" rel="stylesheet">
|
||||
|
||||
<script src="//code.jquery.com/jquery-3.1.1.min.js"></script>
|
||||
<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="dist/js/bootstrap-colorpicker.js"></script>
|
||||
</head>
|
||||
|
||||
794
bower_components/bootstrap-colorpicker/index.html
vendored
Normal file
794
bower_components/bootstrap-colorpicker/index.html
vendored
Normal file
@@ -0,0 +1,794 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Colorpicker for Twitter Bootstrap</title>
|
||||
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-85082661-5"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date()); gtag('config', 'UA-85082661-5');
|
||||
</script>
|
||||
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="//cdnjs.cloudflare.com/ajax/libs/octicons/3.5.0/octicons.min.css" rel="stylesheet">
|
||||
<link href="dist/css/bootstrap-colorpicker.min.css" rel="stylesheet">
|
||||
<link href="docs/assets/main.css" rel="stylesheet">
|
||||
|
||||
<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||
<script src="dist/js/bootstrap-colorpicker.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1><i class="glyphicon glyphicon-tint"></i> Bootstrap Colorpicker 2.5.2
|
||||
<small>for Twitter Bootstrap</small>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<article class="col-md-12">
|
||||
<p>
|
||||
Fancy and customizable colorpicker plugin for Twitter Bootstrap.
|
||||
Originally written by <a
|
||||
href="https://twitter.com/stefanpetre/" target="_blank">Stefan Petre</a> and maintained by
|
||||
<a href="https://itsjavi.com/" target="_blank">Javi Aguilar</a> and the Github community.
|
||||
</p>
|
||||
<p class="alert alert-warning">
|
||||
<b>NOTE</b> That this is an older version of the library documentation, please check
|
||||
the project <a href="https://github.com/farbelous/bootstrap-colorpicker/blob/master/README.md">README</a>
|
||||
to find the documentation for the newer and latest versions.
|
||||
</p>
|
||||
</article>
|
||||
</div>
|
||||
<div class="row">
|
||||
<article class="col-md-12">
|
||||
<hr>
|
||||
<div class="social">
|
||||
<a href="https://github.com/farbelous/bootstrap-colorpicker/" target="_blank"
|
||||
class="btn btn-default btn-sm"><span class="octicon octicon-mark-github"></span>
|
||||
Source code
|
||||
</a>
|
||||
<a href="https://github.com/farbelous/bootstrap-colorpicker/releases" target="_blank"
|
||||
class="btn btn-default btn-sm">
|
||||
Latest Releases
|
||||
</a>
|
||||
<a href="https://github.com/farbelous/bootstrap-colorpicker/archive/2.5.2.zip" target="_blank"
|
||||
class="btn btn-success btn-sm"><i class="glyphicon glyphicon-download-alt"></i>
|
||||
Download v2.5.2
|
||||
</a>
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
<h2>Documentation</h2>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Call the colopicker via javascript:</p>
|
||||
<pre class="well">$('.sample-selector').colorpicker({ /*options...*/ });</pre>
|
||||
<h3>Options</h3>
|
||||
|
||||
<p>
|
||||
You can set colorpicker options either as a plugin parameter or data-* attributes
|
||||
</p>
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 100px;">Name</th>
|
||||
<th style="width: 50px;">Type</th>
|
||||
<th style="width: 100px;">Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>format</td>
|
||||
<td>string</td>
|
||||
<td>false</td>
|
||||
<td>If not false, forces the color format to be hex, rgb or rgba, otherwise the format is
|
||||
automatically detected.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>color</td>
|
||||
<td>string</td>
|
||||
<td>false</td>
|
||||
<td>If not false, sets the color to this value.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>container</td>
|
||||
<td>string or jQuery Element</td>
|
||||
<td>false</td>
|
||||
<td>If not false, the picker will be contained inside this element, otherwise it will be
|
||||
appended to the document body.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>component</td>
|
||||
<td>string or jQuery Element</td>
|
||||
<td>'.add-on, .input-group-addon'</td>
|
||||
<td>Children selector for the component or element that trigger the colorpicker and which
|
||||
background color will change (needs an inner <i> element).
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>input</td>
|
||||
<td>string or jQuery Element</td>
|
||||
<td>'input'</td>
|
||||
<td>Children selector for the input that will store the picker selected value.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hexNumberSignPrefix</td>
|
||||
<td>boolean</td>
|
||||
<td>true</td>
|
||||
<td>If true, put a '#' (number sign) before hex strings.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>horizontal</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
<td>If true, the hue and alpha channel bars will be rendered horizontally, above the saturation
|
||||
selector.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>inline</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
<td>If true, forces to show the colorpicker as an inline element.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sliders</td>
|
||||
<td>object</td>
|
||||
<td><abbr title='please, read the source code to see this value'>[...]</abbr></td>
|
||||
<td>Vertical sliders configuration (read source code if you really need to tweak this).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>slidersHorz</td>
|
||||
<td>object</td>
|
||||
<td><abbr title='please, read the source code to see this value'>[...]</abbr></td>
|
||||
<td>Horizontal sliders configuration (read source code if you really need to tweak this).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>template</td>
|
||||
<td>string</td>
|
||||
<td><abbr title='please, read the source code to see this value'>[...]</abbr></td>
|
||||
<td>Customizes the default colorpicker HTML template.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>align</td>
|
||||
<td>string</td>
|
||||
<td>'right'</td>
|
||||
<td>By default, the colorpicker is aligned to the right of the input. If you need to switch it
|
||||
to the left, set align to 'left'.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>customClass</td>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
<td>Adds this class to the colorpicker widget.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>colorSelectors</td>
|
||||
<td>object</td>
|
||||
<td>null</td>
|
||||
<td>List of pre selected colors (hex format). If you choose one of these colors, the alias is returned instead of the hex
|
||||
code.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fallbackColor</td>
|
||||
<td>string</td>
|
||||
<td>null</td>
|
||||
<td>
|
||||
Fallback color string that will be applied when the color failed to be parsed.
|
||||
If <var>null</var>, it will keep the current color if any.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>fallbackFormat</td>
|
||||
<td>string</td>
|
||||
<td>hex</td>
|
||||
<td>
|
||||
Fallback color format (e.g. when not specified or for alias mode, when selecting non aliased colors)
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>jQuery API Methods</h3>
|
||||
|
||||
<p>General usage methods</p>
|
||||
<h4>.colorpicker(options)</h4>
|
||||
|
||||
<p>Initializes an colorpicker.</p>
|
||||
|
||||
<h4>.colorpicker('getValue', defaultValue)</h4>
|
||||
|
||||
<p>Gets the value from the input or the data attribute (if has no input), otherwise returns the default
|
||||
value, which defaults to #000000 if not specified.</p>
|
||||
|
||||
<h4>.colorpicker('setValue', value)</h4>
|
||||
|
||||
<p>Set a new value for the color picker (also updates everything). Triggers 'changeColor' event.</p>
|
||||
|
||||
<h4>.colorpicker('show')</h4>
|
||||
|
||||
<p>Show the color picker</p>
|
||||
|
||||
<h4>.colorpicker('hide')</h4>
|
||||
|
||||
<p>Hide the color picker</p>
|
||||
|
||||
<h4>.colorpicker('reposition')</h4>
|
||||
|
||||
<p>Updates the color picker's position relative to the element</p>
|
||||
|
||||
<h4>.colorpicker('update')</h4>
|
||||
|
||||
<p>Refreshes the widget colors (this is done automatically)</p>
|
||||
|
||||
<h4>.colorpicker('enable')</h4>
|
||||
|
||||
<p>Enable the color picker.</p>
|
||||
|
||||
<h4>.colorpicker('disable')</h4>
|
||||
|
||||
<p>Disable the color picker.</p>
|
||||
|
||||
<h4>.colorpicker('destroy')</h4>
|
||||
|
||||
<p>Destroys the colorpicker widget and unbind all .colorpicker events from the element and component</p>
|
||||
|
||||
<h4>.data('colorpicker')</h4>
|
||||
|
||||
<p>Access to the colorpicker API directly</p>
|
||||
|
||||
<h4>.data('colorpicker').color</h4>
|
||||
|
||||
<p>Access to the colorpicker Color object information</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Color object methods</h3>
|
||||
|
||||
<p>Each triggered events have a color object (avaliable through event.color, see the example at the
|
||||
bottom) used internally by the picker. This object has several useful methods. These are the more
|
||||
commonly used:</p>
|
||||
|
||||
<h4>.setColor(value)</h4>
|
||||
|
||||
<p>Set a new color. The value is parsed and tries to do a quess on the format.</p>
|
||||
|
||||
<h4>.setHue(value)</h4>
|
||||
|
||||
<p>Set the HUE with a value between 0 and 1.</p>
|
||||
|
||||
<h4>.setSaturation(value)</h4>
|
||||
|
||||
<p>Set the saturation with a value between 0 and 1.</p>
|
||||
|
||||
<h4>.setBrightness(value)</h4>
|
||||
|
||||
<p>Set the brightness with a value between 0 and 1.</p>
|
||||
|
||||
<h4>.setAlpha(value)</h4>
|
||||
|
||||
<p>Set the transparency with a value between 0 and 1.</p>
|
||||
|
||||
<h4>.toRGB()</h4>
|
||||
|
||||
<p>Returns a hash with red, green, blue and alpha.</p>
|
||||
|
||||
<h4>.toHex()</h4>
|
||||
|
||||
<p>Returns a string with HEX format for the current color.</p>
|
||||
|
||||
<h4>.toHSL()</h4>
|
||||
|
||||
<p>Returns a hash with HSLA values.</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Events</h3>
|
||||
|
||||
<p>The colorpicker plugin exposes some events</p>
|
||||
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 150px;">Event</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>create</td>
|
||||
<td>This event fires immediately when the color picker is created.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>showPicker</td>
|
||||
<td>This event fires immediately when the color picker is displayed.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hidePicker</td>
|
||||
<td>This event is fired immediately when the color picker is hidden.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>changeColor</td>
|
||||
<td>This event is fired when the color is changed.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>disable</td>
|
||||
<td>This event is fired immediately when the color picker is disabled, except if it was
|
||||
initialized as disabled.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>enable</td>
|
||||
<td>This event is fired immediately when the color picker is enabled, except upon
|
||||
initialization.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>destroy</td>
|
||||
<td>This event fires immediately when the color picker is destroyed.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<h2>Examples</h2>
|
||||
<hr>
|
||||
|
||||
<div class="example">
|
||||
<div class="example-title">Simple input field</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<input id="cp1" type="text" class="form-control" value="#5367ce"/>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp1').colorpicker();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><input id="cp1" type="text" class="form-control" value="#5367ce" />
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp1').colorpicker();
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">As a component</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<div id="cp2" class="input-group colorpicker-component">
|
||||
<input type="text" value="#00AABB" class="form-control"/>
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp2').colorpicker();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><div id="cp2" class="input-group colorpicker-component">
|
||||
<input type="text" value="#00AABB" class="form-control" />
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp2').colorpicker();
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">With custom options</div>
|
||||
<div class="example-description">Sample overriding the initial color and format</div>
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<div id="cp3" class="input-group colorpicker-component">
|
||||
<input type="text" value="#00AABB" class="form-control"/>
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp3').colorpicker({
|
||||
color: '#AA3399',
|
||||
format: 'rgb'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><div id="cp3" class="input-group colorpicker-component">
|
||||
<input type="text" value="#00AABB" class="form-control" />
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp3').colorpicker({
|
||||
color: '#AA3399',
|
||||
format: 'rgb'
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Working with events</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<a href="#" class="btn btn-default" id="cp4">Change background color</a>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp4').colorpicker().on('changeColor', function (e) {
|
||||
$('body')[0].style.backgroundColor = e.color.toString('rgba');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><a href="#" class="btn btn-default" id="cp4">Change background color</a>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp4').colorpicker().on('changeColor', function(e) {
|
||||
$('body')[0].style.backgroundColor = e.color.toString(
|
||||
'rgba');
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Transparent color support</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<input type="text" class="form-control" id="cp5"/>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp5').colorpicker({
|
||||
color: "transparent",
|
||||
format: "hex"
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><input type="text" class="form-control" id="cp5" />
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp5').colorpicker({
|
||||
color: "transparent",
|
||||
format: "hex"
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Horizontal mode</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<input type="text" class="form-control" id="cp6" />
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp6').colorpicker({
|
||||
color: "#88cc33",
|
||||
horizontal: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><input type="text" class="form-control" id="cp6" />
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp6').colorpicker({
|
||||
color: "#88cc33",
|
||||
horizontal: true
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Inline mode</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<div id="cp7" class="inl-bl"></div>
|
||||
<style>
|
||||
.inl-bl {
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp7').colorpicker({
|
||||
color:'#ffaa00',
|
||||
container: true,
|
||||
inline:true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><div id="cp7" class="inl-bl"></div>
|
||||
<style>
|
||||
.inl-bl {
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp7').colorpicker({
|
||||
color: '#ffaa00',
|
||||
container: true,
|
||||
inline: true
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Aliased color palette</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<div id="cp8" data-format="alias" class="input-group colorpicker-component">
|
||||
<input type="text" value="primary" class="form-control"/>
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp8').colorpicker({
|
||||
colorSelectors: {
|
||||
'black': '#000000',
|
||||
'white': '#ffffff',
|
||||
'red': '#FF0000',
|
||||
'default': '#777777',
|
||||
'primary': '#337ab7',
|
||||
'success': '#5cb85c',
|
||||
'info': '#5bc0de',
|
||||
'warning': '#f0ad4e',
|
||||
'danger': '#d9534f'
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><div id="cp8" data-format="alias" class="input-group colorpicker-component">
|
||||
<input type="text" value="primary" class="form-control" />
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp8').colorpicker({
|
||||
colorSelectors: {
|
||||
'black': '#000000',
|
||||
'white': '#ffffff',
|
||||
'red': '#FF0000',
|
||||
'default': '#777777',
|
||||
'primary': '#337ab7',
|
||||
'success': '#5cb85c',
|
||||
'info': '#5bc0de',
|
||||
'warning': '#f0ad4e',
|
||||
'danger': '#d9534f'
|
||||
}
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Customized widget size</div>
|
||||
<div class="example-description">Also showing the support of HTML color names</div>
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<input id="cp9" type="text" class="form-control" value="pink"/>
|
||||
<style>
|
||||
.colorpicker-2x .colorpicker-saturation {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.colorpicker-2x .colorpicker-hue,
|
||||
.colorpicker-2x .colorpicker-alpha {
|
||||
width: 30px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.colorpicker-2x .colorpicker-color,
|
||||
.colorpicker-2x .colorpicker-color div {
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp9').colorpicker({
|
||||
customClass: 'colorpicker-2x',
|
||||
sliders: {
|
||||
saturation: {
|
||||
maxLeft: 200,
|
||||
maxTop: 200
|
||||
},
|
||||
hue: {
|
||||
maxTop: 200
|
||||
},
|
||||
alpha: {
|
||||
maxTop: 200
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><input id="cp9" type="text" class="form-control" value="pink" />
|
||||
<style>
|
||||
.colorpicker-2x .colorpicker-saturation {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.colorpicker-2x .colorpicker-hue,
|
||||
.colorpicker-2x .colorpicker-alpha {
|
||||
width: 30px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.colorpicker-2x .colorpicker-color,
|
||||
.colorpicker-2x .colorpicker-color div {
|
||||
height: 30px;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp9').colorpicker({
|
||||
customClass: 'colorpicker-2x',
|
||||
sliders: {
|
||||
saturation: {
|
||||
maxLeft: 200,
|
||||
maxTop: 200
|
||||
},
|
||||
hue: {
|
||||
maxTop: 200
|
||||
},
|
||||
alpha: {
|
||||
maxTop: 200
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Disabled / enabled status</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<div id="cp10" class="input-group colorpicker-component">
|
||||
<input disabled type="text" value="" class="form-control"/>
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<br>
|
||||
<p>
|
||||
<a class="btn btn-sm btn-default enable-button" href="#">Enable</a>
|
||||
<a class="btn btn-sm btn-default disable-button" href="#">Disable</a>
|
||||
</p>
|
||||
<script>
|
||||
$(function () {
|
||||
$(".disable-button").click(function(e) {
|
||||
e.preventDefault();
|
||||
$("#cp10").colorpicker('disable');
|
||||
});
|
||||
|
||||
$(".enable-button").click(function(e) {
|
||||
e.preventDefault();
|
||||
$("#cp10").colorpicker('enable');
|
||||
});
|
||||
$('#cp10').colorpicker();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><div id="cp10" class="input-group colorpicker-component">
|
||||
<input disabled type="text" value="" class="form-control" />
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
<br>
|
||||
<p>
|
||||
<a class="btn btn-sm btn-default enable-button" href="#">Enable</a>
|
||||
<a class="btn btn-sm btn-default disable-button" href="#">Disable</a>
|
||||
</p>
|
||||
<script>
|
||||
$(function() {
|
||||
$(".disable-button").click(function(e) {
|
||||
e.preventDefault();
|
||||
$("#cp10").colorpicker('disable');
|
||||
});
|
||||
|
||||
$(".enable-button").click(function(e) {
|
||||
e.preventDefault();
|
||||
$("#cp10").colorpicker('enable');
|
||||
});
|
||||
$('#cp10').colorpicker();
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
<div class="example">
|
||||
<div class="example-title">Inside a modal</div>
|
||||
|
||||
<div class="example-content well">
|
||||
<div class="example-content-widget">
|
||||
<button class="btn btn-primary btn-md" data-toggle="modal" data-target="#myModal">
|
||||
Show modal
|
||||
</button>
|
||||
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div id="cp11" class="input-group colorpicker-component">
|
||||
<input type="text" value="" class="form-control"/>
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
$('#cp11').colorpicker();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<button type="button" class="btn btn-link btn-xs example-code-toggle" data-toggle="button">View source</button>
|
||||
<div class="example-code"><button class="btn btn-primary btn-md" data-toggle="modal" data-target="#myModal">
|
||||
Show modal
|
||||
</button>
|
||||
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div id="cp11" class="input-group colorpicker-component">
|
||||
<input type="text" value="" class="form-control" />
|
||||
<span class="input-group-addon"><i></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(function() {
|
||||
$('#cp11').colorpicker();
|
||||
});
|
||||
</script></div> </div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('.example-code-toggle').on('click', function () {
|
||||
$(this).parent().find('.example-code').toggle();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
3593
bower_components/bootstrap-colorpicker/package-lock.json
generated
vendored
3593
bower_components/bootstrap-colorpicker/package-lock.json
generated
vendored
File diff suppressed because it is too large
Load Diff
48
bower_components/bootstrap-colorpicker/package.json
vendored
Normal file
48
bower_components/bootstrap-colorpicker/package.json
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "bootstrap-colorpicker",
|
||||
"version": "2.5.3",
|
||||
"description": "Fancy and customizable colorpicker plugin for Twitter Bootstrap",
|
||||
"main": "./dist/js/bootstrap-colorpicker.js",
|
||||
"homepage": "https://itsjavi.com/bootstrap-colorpicker/",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/itsjavi/bootstrap-colorpicker.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/itsjavi/bootstrap-colorpicker/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"bootstrap",
|
||||
"colorpicker"
|
||||
],
|
||||
"author": "Javier Aguilar",
|
||||
"license": "Apache-2.0",
|
||||
"licenses": [
|
||||
{
|
||||
"type": "Apache-2.0",
|
||||
"url": "http://opensource.org/licenses/Apache-2.0"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">=1.10"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jasmine"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.5",
|
||||
"grunt-assemble": "~0.4.0",
|
||||
"grunt-combine": "~0.8.3",
|
||||
"grunt-contrib-clean": "~1.0.0",
|
||||
"grunt-contrib-cssmin": "~1.0.1",
|
||||
"grunt-contrib-jshint": "~1.0.0",
|
||||
"grunt-contrib-less": "~1.2.0",
|
||||
"grunt-contrib-uglify": "~1.0.0",
|
||||
"grunt-contrib-watch": "~1.0.0",
|
||||
"grunt-jsbeautifier": "~0.2.10",
|
||||
"grunt-strip-code": "^1.0.6",
|
||||
"jasmine": "^2.6.0",
|
||||
"jquery": ">=1.10",
|
||||
"jsdom": "^10.1.0"
|
||||
}
|
||||
}
|
||||
@@ -102,7 +102,7 @@ var Colorpicker = function(element, options) {
|
||||
'keyup.colorpicker': $.proxy(this.keyup, this)
|
||||
});
|
||||
this.input.on({
|
||||
'change.colorpicker': $.proxy(this.change, this)
|
||||
'input.colorpicker': $.proxy(this.change, this)
|
||||
});
|
||||
if (this.component === false) {
|
||||
this.element.on({
|
||||
@@ -489,7 +489,24 @@ Colorpicker.prototype = {
|
||||
return false;
|
||||
},
|
||||
change: function(e) {
|
||||
this.keyup(e);
|
||||
this.color = this.createColor(this.input.val());
|
||||
// Change format dynamically
|
||||
// Only occurs if user choose the dynamic format by
|
||||
// setting option format to false
|
||||
if (this.color.origFormat && this.options.format === false) {
|
||||
this.format = this.color.origFormat;
|
||||
}
|
||||
if (this.getValue(false) !== false) {
|
||||
this.updateData();
|
||||
this.updateComponent();
|
||||
this.updatePicker();
|
||||
}
|
||||
|
||||
this.element.trigger({
|
||||
type: 'changeColor',
|
||||
color: this.color,
|
||||
value: this.input.val()
|
||||
});
|
||||
},
|
||||
keyup: function(e) {
|
||||
if ((e.keyCode === 38)) {
|
||||
@@ -502,20 +519,8 @@ Colorpicker.prototype = {
|
||||
this.color.value.a = Math.round((this.color.value.a - 0.01) * 100) / 100;
|
||||
}
|
||||
this.update(true);
|
||||
} else {
|
||||
this.color = this.createColor(this.input.val());
|
||||
// Change format dynamically
|
||||
// Only occurs if user choose the dynamic format by
|
||||
// setting option format to false
|
||||
if (this.color.origFormat && this.options.format === false) {
|
||||
this.format = this.color.origFormat;
|
||||
}
|
||||
if (this.getValue(false) !== false) {
|
||||
this.updateData();
|
||||
this.updateComponent();
|
||||
this.updatePicker();
|
||||
}
|
||||
}
|
||||
|
||||
this.element.trigger({
|
||||
type: 'changeColor',
|
||||
color: this.color,
|
||||
|
||||
2362
bower_components/bootstrap-colorpicker/yarn.lock
vendored
Normal file
2362
bower_components/bootstrap-colorpicker/yarn.lock
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,14 +10,14 @@
|
||||
},
|
||||
"ignore": [],
|
||||
"homepage": "https://github.com/eternicode/bootstrap-datepicker",
|
||||
"version": "1.8.0",
|
||||
"_release": "1.8.0",
|
||||
"version": "1.9.0",
|
||||
"_release": "1.9.0",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v1.8.0",
|
||||
"commit": "0d32bc5d91da11d9a3587537c3c36ce7ee815c94"
|
||||
"tag": "v1.9.0",
|
||||
"commit": "fb8776d65825068b9f914ab37d6fd847c951f488"
|
||||
},
|
||||
"_source": "https://github.com/eternicode/bootstrap-datepicker.git",
|
||||
"_target": "^1.7.0",
|
||||
"_target": "^1.7",
|
||||
"_originalSource": "bootstrap-datepicker"
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
# EditorConfig is awesome: http://EditorConfig.org
|
||||
# EditorConfig is awesome: https://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
sudo: false
|
||||
|
||||
language: node_js
|
||||
|
||||
node_js:
|
||||
- "6"
|
||||
- "12"
|
||||
|
||||
before_script:
|
||||
- npm install -g grunt-cli
|
||||
|
||||
@@ -1,6 +1,24 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
1.9.0
|
||||
-----
|
||||
|
||||
## Features
|
||||
* Added clearDates for clears range (#2114)
|
||||
|
||||
## Bugfix
|
||||
* Hide today button when before start or after end date (#2474)
|
||||
* Fix navigation buttons states (#2277)
|
||||
* Fix updateNavArrows bug (#2230)
|
||||
|
||||
## Locales
|
||||
### Bugfix
|
||||
* Added monthsTitle to Latvian locale (#2255)
|
||||
* Rename en-CA locale file to match the rest of the files (#2217)
|
||||
* Fix cs locale date format (#2275)
|
||||
* Added translation for months (fixing the default 'en' locale) (#2271)
|
||||
|
||||
1.7.1
|
||||
-----
|
||||
|
||||
@@ -49,7 +67,7 @@ Changelog
|
||||
* en-IE (#1800)
|
||||
* ar-tn (#1863)
|
||||
* Added Sinhala (si) locale (#2025)
|
||||
* Occitan locale (#2024 + #2026)
|
||||
* Occitan locale (#2024 + #2026)
|
||||
* [l10n]Add breton translation (#2028)
|
||||
* Added Tajik language (#2117)
|
||||
* Add Uzbek latin and cyrill locales (#2152)
|
||||
@@ -112,19 +130,19 @@ Features
|
||||
* Replace arrow entities for glyphicon + template + libs snippets (Fixes: #610 #833 #1007)
|
||||
* added class .disabled to dow header
|
||||
* Rename "remove" to "destroy" and create alias
|
||||
|
||||
|
||||
Bugfix
|
||||
|
||||
* Month/year view keyboard navigation
|
||||
* fix changeMonth, changeYear not triggered when selecting day from prev/next month
|
||||
* Fix default arrows for BS2 and screenshots (for docs)
|
||||
* Extend beforeShowMonth event functionality to work like beforeShowDay and beforeShowYear
|
||||
|
||||
|
||||
Locale changes
|
||||
|
||||
* Correct date format for ko locale
|
||||
* Add en-AU (Australian English) locale
|
||||
|
||||
|
||||
Repository
|
||||
|
||||
* Add CSS sourcemap
|
||||
@@ -143,17 +161,17 @@ Bugfixes
|
||||
* Use document scrollTop instead of body scrollTop when using the body container
|
||||
* Fix focus for disabled week days (Fixes: #1365, #1187, #1648)
|
||||
* Fixes enableOnReadOnly bug when datepicker is of type component
|
||||
|
||||
|
||||
Translations
|
||||
* Added missing translations for slovak translation. (Fixes: #1521)
|
||||
* Added missing date format for norwegian (nb) locale (Fixes #1690)
|
||||
* Armenian translation short names
|
||||
* adding Today translation, default date format for the lithuanian translation
|
||||
|
||||
|
||||
Docs
|
||||
* Document data-api on container
|
||||
* Added docs for the different stylesheet files. (Fixes #1459)
|
||||
|
||||
|
||||
Repository
|
||||
* Enable travis container builds for faster builds
|
||||
|
||||
@@ -181,7 +199,7 @@ Features
|
||||
Bugfixes:
|
||||
* Scrolling on mobile device closes datepicker
|
||||
* Use $.on() instead $.bind()
|
||||
* Fixed right-click and edit-menu paste
|
||||
* Fixed right-click and edit-menu paste
|
||||
* Ported prototype fix for Prototype Compability
|
||||
* Fixed issue with startview year
|
||||
* Fixed padding inconsistency with twitter bootstrap 3
|
||||
@@ -190,10 +208,10 @@ Bugfixes:
|
||||
* Fixes the issue with a date change firing mulitple change events
|
||||
* removed hard dependency on bootstrap (because of twbs-sass package)
|
||||
* Clearing the date should reset to defaultViewDate
|
||||
* Datepicker orientation mix up - top = bottom and bottom = top
|
||||
* Datepicker orientation mix up - top = bottom and bottom = top
|
||||
* Fix cursor thead styles
|
||||
* Fix date-reset issue when navigating to next with invalid date
|
||||
* Using orientation:auto but date picker still appears above, cut off, when there plenty of space below.
|
||||
* Using orientation:auto but date picker still appears above, cut off, when there plenty of space below.
|
||||
* lots of orientation fixes
|
||||
|
||||
Locale changes:
|
||||
@@ -275,16 +293,16 @@ Repo changes:
|
||||
* Add package name and version to npm package.json
|
||||
|
||||
Bugfixes:
|
||||
* Remove font-family declaration for datepicker
|
||||
* Remove font-family declaration for datepicker
|
||||
* Don't deselect date unless datepicker is multidate
|
||||
* Removed comment from compiled CSS.
|
||||
* Don't clear input after typing date and hitting Enter when keyboard nav is disabled
|
||||
* Fixing the ui displaying 'undefined nan' when typing dates in Firefox & IE
|
||||
* Reset tooltip to a default empty value
|
||||
* Fix colspan if calendarWeeks & clearBtn are true
|
||||
* Fixing the ui displaying 'undefined nan' when typing dates in Firefox & IE
|
||||
* Reset tooltip to a default empty value
|
||||
* Fix colspan if calendarWeeks & clearBtn are true
|
||||
* Removed fixed width and height in large and small group addon
|
||||
* z-index calculation should not stop at first element
|
||||
* Fix IE8 bug with Array#splice with one argument
|
||||
* Fix IE8 bug with Array#splice with one argument
|
||||
|
||||
Documentation:
|
||||
* ghpages: jQuery js not being loaded when using HTTPS
|
||||
@@ -306,7 +324,7 @@ Updated languages:
|
||||
* Fixed Albanian translation typo's
|
||||
* Add missing clear and format localization value for Russian translation
|
||||
* Updated Serbian translation
|
||||
* Fixed Ukrainian iso code to uk instead of ua
|
||||
* Fixed Ukrainian iso code to uk instead of ua
|
||||
* Updated greek translation
|
||||
* Update Catalan and Spanish localizations
|
||||
* Added missing armenian translations
|
||||
@@ -351,7 +369,7 @@ Locale changes:
|
||||
* De-duplicated Ukrainian files from `uk` and `ua` to just `ua`
|
||||
|
||||
Repository changes:
|
||||
* Documentation has been moved from the base `README.md` file to the `docs/` folder, and been re-written to use sphinx docs. The docs are now viewable online at http://bootstrap-datepicker.readthedocs.org/. The [gh-pages](http://eternicode.github.io/bootstrap-datepicker/) branch has been reduced to the sandbox demo.
|
||||
* Documentation has been moved from the base `README.md` file to the `docs/` folder, and been re-written to use sphinx docs. The docs are now viewable online at https://bootstrap-datepicker.readthedocs.org/. The [gh-pages](https://uxsolutions.github.io/bootstrap-datepicker/) branch has been reduced to the sandbox demo.
|
||||
* Changed the js file header to point at repo/demo/docs urls instead of eyecon.ro
|
||||
* The css files are now the output of the standalone build scripts instead of `build/build.less` etc.
|
||||
* `composer.json` now supports component-installer
|
||||
@@ -399,11 +417,11 @@ Locale changes:
|
||||
|
||||
1.1.3
|
||||
----------
|
||||
|
||||
|
||||
Clicking the clear button now triggers the input's `change` and datepicker's `changeDate` events.
|
||||
Fixed a bug that broke the event-attached `format` function.
|
||||
|
||||
|
||||
|
||||
|
||||
1.1.2
|
||||
----------
|
||||
|
||||
@@ -465,7 +483,7 @@ Small optimizations release
|
||||
v1.0.1
|
||||
------
|
||||
|
||||
* Support for [Bower](http://twitter.github.com/bower/)
|
||||
* Support for [Bower](https://bower.io/)
|
||||
* Component pickers are now aligned under the input, not the add-on element.
|
||||
* Japanese locale now has "today" and "format".
|
||||
* "remove" method removes `.data().date` if the datepicker is on a non-input.
|
||||
|
||||
@@ -67,8 +67,5 @@ members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](https://contributor-covenant.org), version 1.4,
|
||||
available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
## Support requests
|
||||
|
||||
The issue tracker is not the place for support requests. If you get stuck with bootstrap-datepicker, it's very likely that the fine folks at [StackOverflow](http://stackoverflow.com/) will be able to help you; simply describe the problem you're having and provide them a link to the repo (so they know what code you're using). Another option is to post to the [bootstrap-datepicker google group](https://groups.google.com/group/bootstrap-datepicker).
|
||||
The issue tracker is not the place for support requests. If you get stuck with bootstrap-datepicker, it's very likely that the fine folks at [StackOverflow](https://stackoverflow.com/) will be able to help you; simply describe the problem you're having and provide them a link to the repo (so they know what code you're using). Another option is to post to the [bootstrap-datepicker google group](https://groups.google.com/group/bootstrap-datepicker).
|
||||
|
||||
## Issues
|
||||
|
||||
If you've found a bug in bootstrap-datepicker, we want to know about it! However, please keep the following in mind:
|
||||
|
||||
* This is not the bootstrap-datepicker from [eyecon.ro](http://www.eyecon.ro/bootstrap-datepicker/). Stefan provided the initial code for bootstrap-datepicker, but this repo is divergent from his codebase. Please make sure you're using either the latest tagged version or the latest master from https://github.com/uxsolutions/bootstrap-datepicker/.
|
||||
* A working example of the bug you've found is *much* easier to work with than a description alone. If possible, please provide a link to a demonstration of the bug, perhaps using http://jsfiddle.net/ .
|
||||
* This is not the bootstrap-datepicker from [eyecon.ro](https://www.eyecon.ro/bootstrap-datepicker/). Stefan provided the initial code for bootstrap-datepicker, but this repo is divergent from his codebase. Please make sure you're using either the latest tagged version or the latest master from https://github.com/uxsolutions/bootstrap-datepicker/.
|
||||
* A working example of the bug you've found is *much* easier to work with than a description alone. If possible, please provide a link to a demonstration of the bug, perhaps using https://jsfiddle.net/ .
|
||||
* CDN-backed assets can be found at http://bsdp-assets.blackcherry.us/ . These should be used *only* for building test cases, as they may be removed or changed at any time.
|
||||
* Finally, it's possible someone else has already reported the same bug you have. Please search the issue tracker for similar issues before posting your own. Thanks!
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* Datepicker for Bootstrap v1.8.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
* Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
|
||||
*
|
||||
* Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
*/
|
||||
@@ -89,6 +89,10 @@
|
||||
|
||||
var Datepicker = function(element, options){
|
||||
$.data(element, 'datepicker', this);
|
||||
|
||||
this._events = [];
|
||||
this._secondaryEvents = [];
|
||||
|
||||
this._process_options(options);
|
||||
|
||||
this.dates = new DateArray();
|
||||
@@ -98,7 +102,7 @@
|
||||
this.element = $(element);
|
||||
this.isInput = this.element.is('input');
|
||||
this.inputField = this.isInput ? this.element : this.element.find('input');
|
||||
this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false;
|
||||
this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false;
|
||||
if (this.component && this.component.length === 0)
|
||||
this.component = false;
|
||||
this.isInline = !this.component && this.element.is('div');
|
||||
@@ -308,8 +312,6 @@
|
||||
o.defaultViewDate = UTCToday();
|
||||
}
|
||||
},
|
||||
_events: [],
|
||||
_secondaryEvents: [],
|
||||
_applyEvents: function(evs){
|
||||
for (var i=0, el, ch, ev; i < evs.length; i++){
|
||||
el = evs[i][0];
|
||||
@@ -465,7 +467,7 @@
|
||||
},
|
||||
|
||||
show: function(){
|
||||
if (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))
|
||||
if (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))
|
||||
return;
|
||||
if (!this.isInline)
|
||||
this.picker.appendTo(this.o.container);
|
||||
@@ -962,7 +964,9 @@
|
||||
endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,
|
||||
todaytxt = dates[this.o.language].today || dates['en'].today || '',
|
||||
cleartxt = dates[this.o.language].clear || dates['en'].clear || '',
|
||||
titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,
|
||||
titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,
|
||||
todayDate = UTCToday(),
|
||||
titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate),
|
||||
tooltip,
|
||||
before;
|
||||
if (isNaN(year) || isNaN(month))
|
||||
@@ -971,7 +975,7 @@
|
||||
.text(DPGlobal.formatDate(d, titleFormat, this.o.language));
|
||||
this.picker.find('tfoot .today')
|
||||
.text(todaytxt)
|
||||
.css('display', this.o.todayBtn === true || this.o.todayBtn === 'linked' ? 'table-cell' : 'none');
|
||||
.css('display', titleBtnVisible ? 'table-cell' : 'none');
|
||||
this.picker.find('tfoot .clear')
|
||||
.text(cleartxt)
|
||||
.css('display', this.o.clearBtn === true ? 'table-cell' : 'none');
|
||||
@@ -1151,12 +1155,12 @@
|
||||
factor *= 10;
|
||||
/* falls through */
|
||||
case 1:
|
||||
prevIsDisabled = Math.floor(year / factor) * factor < startYear;
|
||||
prevIsDisabled = Math.floor(year / factor) * factor <= startYear;
|
||||
nextIsDisabled = Math.floor(year / factor) * factor + factor > endYear;
|
||||
break;
|
||||
case 0:
|
||||
prevIsDisabled = year <= startYear && month < startMonth;
|
||||
nextIsDisabled = year >= endYear && month > endMonth;
|
||||
prevIsDisabled = year <= startYear && month <= startMonth;
|
||||
nextIsDisabled = year >= endYear && month >= endMonth;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2003,7 +2007,7 @@
|
||||
|
||||
/* DATEPICKER VERSION
|
||||
* =================== */
|
||||
$.fn.datepicker.version = '1.8.0';
|
||||
$.fn.datepicker.version = '1.9.0';
|
||||
|
||||
$.fn.datepicker.deprecated = function(msg){
|
||||
var console = window.console;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1}}(jQuery);
|
||||
!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery);
|
||||
1
bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bm.min.js
vendored
Normal file
1
bower_components/bootstrap-datepicker/dist/locales/bootstrap-datepicker.bm.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery);
|
||||
@@ -1 +1 @@
|
||||
!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","vovember","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery);
|
||||
!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery);
|
||||
@@ -1 +1 @@
|
||||
!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],today:"Sot"}}(jQuery);
|
||||
!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery);
|
||||
@@ -1 +1 @@
|
||||
!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",clear:"清除",format:"yyyy年mm月dd日",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery);
|
||||
!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery);
|
||||
@@ -17,4 +17,4 @@ $ make html
|
||||
|
||||
The docs will be generated, the output files will be placed in the `_build/html/` directory, and can be browsed (locally) with any browser.
|
||||
|
||||
The docs can also be found online at <http://bootstrap-datepicker.readthedocs.org/>.
|
||||
The docs can also be found online at <https://bootstrap-datepicker.readthedocs.org/>.
|
||||
|
||||
22
bower_components/bootstrap-datepicker/docs/_screenshots/option_showweekdays.html
vendored
Normal file
22
bower_components/bootstrap-datepicker/docs/_screenshots/option_showweekdays.html
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="script/common.css">
|
||||
<script src="script/common.js"></script>
|
||||
<script>
|
||||
function setup(){
|
||||
$('input').datepicker({
|
||||
format: 'mm-dd-yyyy',
|
||||
showWeekDays: false
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body data-capture="input, .datepicker">
|
||||
<div class="row">
|
||||
<div class="col-sm-offset-4 col-sm-3">
|
||||
<input type="text" class="form-control" value="03-03-2013">
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
bower_components/bootstrap-datepicker/docs/_static/screenshots/option_showweekdays.png
vendored
Normal file
BIN
bower_components/bootstrap-datepicker/docs/_static/screenshots/option_showweekdays.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -6,9 +6,9 @@ Bootstrap-datepicker provides a flexible datepicker widget in the Bootstrap styl
|
||||
.. figure:: _static/screenshots/demo_head.png
|
||||
:align: center
|
||||
|
||||
Versions are incremented according to `semver <http://semver.org/>`_.
|
||||
Versions are incremented according to `semver <https://semver.org/>`_.
|
||||
|
||||
`Online Demo <https://eternicode.github.io/bootstrap-datepicker/>`_
|
||||
`Online Demo <https://uxsolutions.github.io/bootstrap-datepicker>`_
|
||||
|
||||
|
||||
Requirements
|
||||
|
||||
@@ -449,6 +449,9 @@ Boolean. Default: true
|
||||
|
||||
If false, the datepicker will not append the names of the weekdays to its view. Default behavior is appending the weekdays.
|
||||
|
||||
.. figure:: _static/screenshots/option_showweekdays.png
|
||||
:align: center
|
||||
|
||||
|
||||
title
|
||||
-----
|
||||
|
||||
@@ -102,6 +102,10 @@
|
||||
|
||||
var Datepicker = function(element, options){
|
||||
$.data(element, 'datepicker', this);
|
||||
|
||||
this._events = [];
|
||||
this._secondaryEvents = [];
|
||||
|
||||
this._process_options(options);
|
||||
|
||||
this.dates = new DateArray();
|
||||
@@ -111,7 +115,7 @@
|
||||
this.element = $(element);
|
||||
this.isInput = this.element.is('input');
|
||||
this.inputField = this.isInput ? this.element : this.element.find('input');
|
||||
this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false;
|
||||
this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false;
|
||||
if (this.component && this.component.length === 0)
|
||||
this.component = false;
|
||||
this.isInline = !this.component && this.element.is('div');
|
||||
@@ -321,8 +325,6 @@
|
||||
o.defaultViewDate = UTCToday();
|
||||
}
|
||||
},
|
||||
_events: [],
|
||||
_secondaryEvents: [],
|
||||
_applyEvents: function(evs){
|
||||
for (var i=0, el, ch, ev; i < evs.length; i++){
|
||||
el = evs[i][0];
|
||||
@@ -478,7 +480,7 @@
|
||||
},
|
||||
|
||||
show: function(){
|
||||
if (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))
|
||||
if (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))
|
||||
return;
|
||||
if (!this.isInline)
|
||||
this.picker.appendTo(this.o.container);
|
||||
@@ -975,7 +977,9 @@
|
||||
endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,
|
||||
todaytxt = dates[this.o.language].today || dates['en'].today || '',
|
||||
cleartxt = dates[this.o.language].clear || dates['en'].clear || '',
|
||||
titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,
|
||||
titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,
|
||||
todayDate = UTCToday(),
|
||||
titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate),
|
||||
tooltip,
|
||||
before;
|
||||
if (isNaN(year) || isNaN(month))
|
||||
@@ -984,7 +988,7 @@
|
||||
.text(DPGlobal.formatDate(d, titleFormat, this.o.language));
|
||||
this.picker.find('tfoot .today')
|
||||
.text(todaytxt)
|
||||
.css('display', this.o.todayBtn === true || this.o.todayBtn === 'linked' ? 'table-cell' : 'none');
|
||||
.css('display', titleBtnVisible ? 'table-cell' : 'none');
|
||||
this.picker.find('tfoot .clear')
|
||||
.text(cleartxt)
|
||||
.css('display', this.o.clearBtn === true ? 'table-cell' : 'none');
|
||||
@@ -1164,12 +1168,12 @@
|
||||
factor *= 10;
|
||||
/* falls through */
|
||||
case 1:
|
||||
prevIsDisabled = Math.floor(year / factor) * factor < startYear;
|
||||
prevIsDisabled = Math.floor(year / factor) * factor <= startYear;
|
||||
nextIsDisabled = Math.floor(year / factor) * factor + factor > endYear;
|
||||
break;
|
||||
case 0:
|
||||
prevIsDisabled = year <= startYear && month < startMonth;
|
||||
nextIsDisabled = year >= endYear && month > endMonth;
|
||||
prevIsDisabled = year <= startYear && month <= startMonth;
|
||||
nextIsDisabled = year >= endYear && month >= endMonth;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2016,7 +2020,7 @@
|
||||
|
||||
/* DATEPICKER VERSION
|
||||
* =================== */
|
||||
$.fn.datepicker.version = '1.8.0';
|
||||
$.fn.datepicker.version = '1.9.0';
|
||||
|
||||
$.fn.datepicker.deprecated = function(msg){
|
||||
var console = window.console;
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"],
|
||||
monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"],
|
||||
today: "Bu gün",
|
||||
weekStart: 1
|
||||
weekStart: 1,
|
||||
clear: "Təmizlə",
|
||||
monthsTitle: 'Aylar'
|
||||
};
|
||||
}(jQuery));
|
||||
|
||||
18
bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.bm.js
vendored
Normal file
18
bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.bm.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Bamanankan (bm) translation for bootstrap-datepicker
|
||||
* Fatou Fall <fatou@medicmobile.org>
|
||||
*/
|
||||
;(function($){
|
||||
$.fn.datepicker.dates['bm'] = {
|
||||
days: ["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],
|
||||
daysShort: ["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],
|
||||
daysMin: ["Ka","Nt","Ta","Ar","Al","Ju","Si"],
|
||||
months: ["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],
|
||||
monthsShort: ["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],
|
||||
today: "Bi",
|
||||
monthsTitle: "Kalo",
|
||||
clear: "Ka jɔsi",
|
||||
weekStart: 1,
|
||||
format: "dd/mm/yyyy"
|
||||
};
|
||||
}(jQuery));
|
||||
@@ -7,7 +7,7 @@
|
||||
days: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'],
|
||||
daysShort: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],
|
||||
daysMin: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],
|
||||
months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'vovember', 'desember'],
|
||||
months: ['januar', 'februar', 'mars', 'april', 'mai', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'desember'],
|
||||
monthsShort: ['jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'des'],
|
||||
today: 'i dag',
|
||||
monthsTitle: 'Måneder',
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht"],
|
||||
months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"],
|
||||
monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"],
|
||||
today: "Sot"
|
||||
monthsTitle: "Muaj",
|
||||
today: "Sot",
|
||||
weekStart: 1,
|
||||
format: "dd/mm/yyyy",
|
||||
clear: "Pastro"
|
||||
};
|
||||
}(jQuery));
|
||||
|
||||
|
||||
@@ -6,12 +6,13 @@
|
||||
$.fn.datepicker.dates['zh-CN'] = {
|
||||
days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
||||
daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
||||
daysMin: ["日", "一", "二", "三", "四", "五", "六"],
|
||||
daysMin: ["日", "一", "二", "三", "四", "五", "六"],
|
||||
months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
|
||||
today: "今日",
|
||||
today: "今天",
|
||||
monthsTitle: "选择月份",
|
||||
clear: "清除",
|
||||
format: "yyyy年mm月dd日",
|
||||
format: "yyyy-mm-dd",
|
||||
titleFormat: "yyyy年mm月",
|
||||
weekStart: 1
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "bootstrap-datepicker",
|
||||
"description": "A datepicker for Bootstrap",
|
||||
"version": "1.8.0",
|
||||
"version": "1.9.0",
|
||||
"license": "Apache-2.0",
|
||||
"keywords": [
|
||||
"datepicker",
|
||||
@@ -28,10 +28,10 @@
|
||||
"jquery": ">=1.7.1 <4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"grunt": "^1.0.1",
|
||||
"grunt": "^1.0.4",
|
||||
"grunt-banner": "~0.6.0",
|
||||
"grunt-contrib-clean": "^1.0.0",
|
||||
"grunt-contrib-compress": "^1.4.1",
|
||||
"grunt-contrib-compress": "^1.5.0",
|
||||
"grunt-contrib-concat": "^1.0.1",
|
||||
"grunt-contrib-csslint": "^2.0.0",
|
||||
"grunt-contrib-cssmin": "^1.0.2",
|
||||
@@ -42,7 +42,7 @@
|
||||
"grunt-jscs": "^3.0.1",
|
||||
"grunt-string-replace": "^1.3.1",
|
||||
"load-grunt-tasks": "^3.5.2",
|
||||
"phantomjs-prebuilt": "~2.1.8",
|
||||
"phantomjs-prebuilt": "~2.1.16",
|
||||
"time-grunt": "^1.4.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
module('Component', {
|
||||
setup: function(){
|
||||
this.component = $('<div class="input-append date" id="datepicker">'+
|
||||
'<input size="16" type="text" value="12-02-2012" readonly>'+
|
||||
'<span class="add-on"><i class="icon-th"></i></span>'+
|
||||
'</div>')
|
||||
.appendTo('#qunit-fixture')
|
||||
.datepicker({format: "dd-mm-yyyy"});
|
||||
this.fieldset = $('<fieldset>' +
|
||||
'<div class="input-append date" id="datepicker">'+
|
||||
'<input size="16" type="text" value="12-02-2012" readonly>'+
|
||||
'<span class="add-on"><i class="icon-th"></i></span>'+
|
||||
'</div>' +
|
||||
'<fieldset>')
|
||||
.appendTo('#qunit-fixture');
|
||||
|
||||
this.component = this.fieldset.find('.input-append')
|
||||
.datepicker({format: "dd-mm-yyyy"});
|
||||
this.input = this.component.find('input');
|
||||
this.addon = this.component.find('.add-on');
|
||||
this.dp = this.component.data('datepicker');
|
||||
@@ -34,6 +38,9 @@ test('Dont activation (by disabled) by component', function(){
|
||||
this.addon.click();
|
||||
ok(!this.picker.is(':visible'));
|
||||
this.input.prop('disabled', false);
|
||||
this.fieldset.prop('disabled', true);
|
||||
this.addon.click();
|
||||
ok(!this.picker.is(':visible'));
|
||||
});
|
||||
|
||||
test('simple keyboard nav test', function(){
|
||||
|
||||
@@ -281,6 +281,309 @@ test('Today Button: today visibility when enabled', function(){
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
|
||||
});
|
||||
|
||||
test('Today Button: today invisible when enabled and startDate is after today', function () {
|
||||
var startDate = new Date();
|
||||
startDate.setDate(startDate.getDate() + 1);
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
startDate: startDate,
|
||||
todayBtn: true
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
});
|
||||
|
||||
test('Today Button: today invisible when enabled and endDate is before today', function () {
|
||||
var endDate = new Date();
|
||||
endDate.setDate(endDate.getDate() - 1);
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
endDate: endDate,
|
||||
todayBtn: true
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
});
|
||||
|
||||
test('Today Button: today visible when enabled and today is between startDate and enDate', function () {
|
||||
var startDate = new Date();
|
||||
startDate.setDate(startDate.getDate() - 1);
|
||||
var endDate = new Date();
|
||||
endDate.setDate(endDate.getDate() + 1);
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
startDate: startDate,
|
||||
endDate: endDate,
|
||||
todayBtn: true
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
|
||||
});
|
||||
|
||||
test('Today Button: today visible when enabled and daysOfWeekDisabled does not include current day', function () {
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
daysOfWeekDisabled: [(new Date().getDay() + 1) % 7],
|
||||
todayBtn: true
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
|
||||
});
|
||||
|
||||
test('Today Button: today invisible when enabled and daysOfWeekDisabled includes current day', function () {
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
daysOfWeekDisabled: [new Date().getDay()],
|
||||
todayBtn: true
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
});
|
||||
|
||||
test('Today Button: today visibility when linked', function () {
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
todayBtn: 'linked'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
|
||||
});
|
||||
|
||||
test('Today Button: today invisible when linked and startDate is after today', function () {
|
||||
var startDate = new Date();
|
||||
startDate.setDate(startDate.getDate() + 1);
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
startDate: startDate,
|
||||
todayBtn: 'linked'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
});
|
||||
|
||||
test('Today Button: today invisible when linked and endDate is before today', function () {
|
||||
var endDate = new Date();
|
||||
endDate.setDate(endDate.getDate() - 1);
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
endDate: endDate,
|
||||
todayBtn: 'linked'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
});
|
||||
|
||||
test('Today Button: today visible when linked and today is between startDate and enDate', function () {
|
||||
var startDate = new Date();
|
||||
startDate.setDate(startDate.getDate() - 1);
|
||||
var endDate = new Date();
|
||||
endDate.setDate(endDate.getDate() + 1);
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
startDate: startDate,
|
||||
endDate: endDate,
|
||||
todayBtn: 'linked'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
|
||||
});
|
||||
|
||||
test('Today Button: today visible when linked and daysOfWeekDisabled does not include current day', function () {
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
daysOfWeekDisabled: [(new Date().getDay + 1) % 7],
|
||||
todayBtn: 'linked'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible');
|
||||
});
|
||||
|
||||
test('Today Button: today invisible when linked and daysOfWeekDisabled includes current day', function () {
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('2012-03-05')
|
||||
.datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
daysOfWeekDisabled: [new Date().getDay()],
|
||||
todayBtn: 'linked'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible');
|
||||
ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible');
|
||||
ok(picker.find('.datepicker-months tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible');
|
||||
ok(picker.find('.datepicker-years tfoot .today').is(':not(:visible)'), 'Today button not visible');
|
||||
});
|
||||
|
||||
test('Today Button: data-api', function(){
|
||||
var input = $('<input data-date-today-btn="true" />')
|
||||
.appendTo('#qunit-fixture')
|
||||
@@ -1647,25 +1950,97 @@ test('Visibility of the prev and next arrows for year/decade/century/millenium v
|
||||
target = picker.find('.datepicker-months thead th.next');
|
||||
ok(!target.hasClass('disabled'), 'Next switcher is not hidden');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').click();
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-years thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is hidden');
|
||||
target = picker.find('.datepicker-years thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is hidden');
|
||||
|
||||
picker.find('.datepicker-years thead th.datepicker-switch').click();
|
||||
picker.find('.datepicker-years thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-decades thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is hidden');
|
||||
target = picker.find('.datepicker-decades thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is hidden');
|
||||
|
||||
picker.find('.datepicker-decades thead th.datepicker-switch').click();
|
||||
picker.find('.datepicker-decades thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-centuries thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is hidden');
|
||||
target = picker.find('.datepicker-centuries thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is hidden');
|
||||
});
|
||||
|
||||
test('Visibility of the prev arrow for month/year/decade/century/millenium views with startDate eq value', function(){
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('01/01/2014')
|
||||
.datepicker({
|
||||
format: 'dd/mm/yyyy',
|
||||
startView: 0,
|
||||
startDate: '01/01/2014'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
|
||||
target = picker.find('.datepicker-days thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is not hidden');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').trigger('click');
|
||||
|
||||
target = picker.find('.datepicker-months thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is not hidden');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-years thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is hidden');
|
||||
|
||||
picker.find('.datepicker-years thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-decades thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is hidden');
|
||||
|
||||
picker.find('.datepicker-decades thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-centuries thead th.prev');
|
||||
ok(target.hasClass('disabled'), 'Prev switcher is hidden');
|
||||
});
|
||||
|
||||
test('Visibility of the next arrow for month/year/decade/century/millenium views with endDate eq value', function(){
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
.val('31/12/1999')
|
||||
.datepicker({
|
||||
format: 'dd/mm/yyyy',
|
||||
startView: 0,
|
||||
endDate: '31/12/1999'
|
||||
}),
|
||||
dp = input.data('datepicker'),
|
||||
picker = dp.picker,
|
||||
target;
|
||||
|
||||
input.focus();
|
||||
|
||||
target = picker.find('.datepicker-days thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is not hidden');
|
||||
|
||||
picker.find('.datepicker-days thead th.datepicker-switch').trigger('click');
|
||||
|
||||
target = picker.find('.datepicker-months thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is not hidden');
|
||||
|
||||
picker.find('.datepicker-months thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-years thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is hidden');
|
||||
|
||||
picker.find('.datepicker-years thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-decades thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is hidden');
|
||||
|
||||
picker.find('.datepicker-decades thead th.datepicker-switch').trigger('click');
|
||||
target = picker.find('.datepicker-centuries thead th.next');
|
||||
ok(target.hasClass('disabled'), 'Next switcher is hidden');
|
||||
});
|
||||
|
||||
test('date cells (outdated)', function(){
|
||||
var input = $('<input />')
|
||||
.appendTo('#qunit-fixture')
|
||||
|
||||
1854
bower_components/bootstrap-datepicker/yarn.lock
vendored
1854
bower_components/bootstrap-datepicker/yarn.lock
vendored
File diff suppressed because it is too large
Load Diff
33
bower_components/bootstrap-slider/.bower.json
vendored
33
bower_components/bootstrap-slider/.bower.json
vendored
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"name": "bootstrap-slider",
|
||||
"main": [
|
||||
"bootstrap-slider.js",
|
||||
"slider.css"
|
||||
],
|
||||
"homepage": "https://github.com/pammacdotnet/bootstrap-slider",
|
||||
"authors": [
|
||||
"pammacdotnet"
|
||||
],
|
||||
"description": "Eyecon Slider for Bootstrap",
|
||||
"keywords": [
|
||||
"slider",
|
||||
"bootstrap"
|
||||
],
|
||||
"license": "Apache",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
],
|
||||
"_release": "879a98dcd0",
|
||||
"_resolution": {
|
||||
"type": "branch",
|
||||
"branch": "master",
|
||||
"commit": "879a98dcd0923107363861e56423f3cc1c2472e7"
|
||||
},
|
||||
"_source": "https://github.com/pammacdotnet/bootstrap-slider.git",
|
||||
"_target": "*",
|
||||
"_originalSource": "bootstrap-slider"
|
||||
}
|
||||
26
bower_components/bootstrap-slider/README.md
vendored
26
bower_components/bootstrap-slider/README.md
vendored
@@ -1,26 +0,0 @@
|
||||
Bootstrap Slider
|
||||
=============
|
||||
|
||||
Fork of eyecon's [bootstrap-slider](http://www.eyecon.ro/bootstrap-slider/).
|
||||
|
||||
Specially remastered for iLIME Project @ UNIR Research. More info:
|
||||
[http://blogs.unir.net/elearning/telsock-research-group/](http://)
|
||||
|
||||

|
||||
|
||||
Changes
|
||||
----------
|
||||
Current changes include:
|
||||
|
||||
+ Better responsive support
|
||||
+ Updated look and feel
|
||||
+ Minor layout tweaks
|
||||
+ Removed built-in handle types
|
||||
+ Bower install
|
||||
+ Limits and locks
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,427 +0,0 @@
|
||||
/* =========================================================
|
||||
* bootstrap-slider.js v2.0.0
|
||||
* http://www.eyecon.ro/bootstrap-slider
|
||||
* =========================================================
|
||||
* Copyright 2012 Stefan Petre
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* 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.
|
||||
* ========================================================= */
|
||||
|
||||
!function( $ ) {
|
||||
|
||||
var Slider = function(element, options) {
|
||||
this.dragLocked = false;
|
||||
this.limit = 100000;
|
||||
this.element = $(element).hide();
|
||||
this.picker = $('<div class="slider">'+
|
||||
'<div class="slider-track">'+
|
||||
'<div class="slider-selection"></div>'+
|
||||
'<div class="slider-handle"></div>'+
|
||||
'<div class="slider-handle"></div>'+
|
||||
'</div>'+
|
||||
'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'+
|
||||
'</div>')
|
||||
.insertBefore(this.element)
|
||||
.append(this.element);
|
||||
this.id = this.element.data('slider-id')||options.id;
|
||||
if (this.id) {
|
||||
this.picker[0].id = this.id;
|
||||
}
|
||||
|
||||
if (typeof Modernizr !== 'undefined' && Modernizr.touch) {
|
||||
this.touchCapable = true;
|
||||
}
|
||||
|
||||
var tooltip = this.element.data('slider-tooltip')||options.tooltip;
|
||||
|
||||
this.tooltip = this.picker.find('.tooltip');
|
||||
this.tooltipInner = this.tooltip.find('div.tooltip-inner');
|
||||
|
||||
this.orientation = this.element.data('slider-orientation')||options.orientation;
|
||||
switch(this.orientation) {
|
||||
case 'vertical':
|
||||
this.picker.addClass('slider-vertical');
|
||||
this.stylePos = 'top';
|
||||
this.mousePos = 'pageY';
|
||||
this.sizePos = 'offsetHeight';
|
||||
this.tooltip.addClass('right')[0].style.left = '100%';
|
||||
break;
|
||||
default:
|
||||
this.picker
|
||||
.addClass('slider-horizontal')
|
||||
.css('width', this.element.outerWidth());
|
||||
this.orientation = 'horizontal';
|
||||
this.stylePos = 'left';
|
||||
this.mousePos = 'pageX';
|
||||
this.sizePos = 'offsetWidth';
|
||||
this.tooltip.addClass('top')[0].style.top = -this.tooltip.outerHeight() - 14 + 'px';
|
||||
break;
|
||||
}
|
||||
|
||||
this.min = this.element.data('slider-min')||options.min;
|
||||
this.max = this.element.data('slider-max')||options.max;
|
||||
this.step = this.element.data('slider-step')||options.step;
|
||||
this.value = this.element.data('slider-value')||options.value;
|
||||
if (this.value[1]) {
|
||||
this.range = true;
|
||||
}
|
||||
|
||||
this.selection = this.element.data('slider-selection')||options.selection;
|
||||
this.selectionEl = this.picker.find('.slider-selection');
|
||||
if (this.selection === 'none') {
|
||||
this.selectionEl.addClass('hide');
|
||||
}
|
||||
this.selectionElStyle = this.selectionEl[0].style;
|
||||
|
||||
|
||||
this.handle1 = this.picker.find('.slider-handle:first');
|
||||
this.handle1Stype = this.handle1[0].style;
|
||||
this.handle2 = this.picker.find('.slider-handle:last');
|
||||
this.handle2Stype = this.handle2[0].style;
|
||||
|
||||
var handle = this.element.data('slider-handle')||options.handle;
|
||||
switch(handle) {
|
||||
case 'round':
|
||||
this.handle1.addClass('round');
|
||||
this.handle2.addClass('round');
|
||||
break
|
||||
case 'triangle':
|
||||
this.handle1.addClass('triangle');
|
||||
this.handle2.addClass('triangle');
|
||||
break
|
||||
}
|
||||
|
||||
if (this.range) {
|
||||
this.value[0] = Math.max(this.min, Math.min(this.max, this.value[0]));
|
||||
this.value[1] = Math.max(this.min, Math.min(this.max, this.value[1]));
|
||||
} else {
|
||||
this.value = [ Math.max(this.min, Math.min(this.max, this.value))];
|
||||
this.handle2.addClass('hide');
|
||||
if (this.selection == 'after') {
|
||||
this.value[1] = this.max;
|
||||
} else {
|
||||
this.value[1] = this.min;
|
||||
}
|
||||
}
|
||||
this.diff = this.max - this.min;
|
||||
this.percentage = [
|
||||
(this.value[0]-this.min)*100/this.diff,
|
||||
(this.value[1]-this.min)*100/this.diff,
|
||||
this.step*100/this.diff
|
||||
];
|
||||
|
||||
this.offset = this.picker.offset();
|
||||
this.size = this.picker[0][this.sizePos];
|
||||
|
||||
this.formater = options.formater;
|
||||
this.reversed = this.element.data('slider-reversed')||options.reversed;
|
||||
|
||||
this.layout();
|
||||
|
||||
if (this.touchCapable) {
|
||||
// Touch: Bind touch events:
|
||||
this.picker.on({
|
||||
touchstart: $.proxy(this.mousedown, this)
|
||||
});
|
||||
} else {
|
||||
this.picker.on({
|
||||
mousedown: $.proxy(this.mousedown, this)
|
||||
});
|
||||
}
|
||||
|
||||
if (tooltip === 'show') {
|
||||
this.picker.on({
|
||||
mouseenter: $.proxy(this.showTooltip, this),
|
||||
mouseleave: $.proxy(this.hideTooltip, this)
|
||||
});
|
||||
} else {
|
||||
this.tooltip.addClass('hide');
|
||||
}
|
||||
};
|
||||
|
||||
Slider.prototype = {
|
||||
constructor: Slider,
|
||||
|
||||
over: false,
|
||||
inDrag: false,
|
||||
|
||||
showTooltip: function(){
|
||||
this.tooltip.addClass('in');
|
||||
//var left = Math.round(this.percent*this.width);
|
||||
//this.tooltip.css('left', left - this.tooltip.outerWidth()/2);
|
||||
this.over = true;
|
||||
},
|
||||
|
||||
hideTooltip: function(){
|
||||
if (this.inDrag === false) {
|
||||
this.tooltip.removeClass('in');
|
||||
}
|
||||
this.over = false;
|
||||
},
|
||||
|
||||
layout: function(){
|
||||
var positionPercentages;
|
||||
|
||||
if(this.reversed) {
|
||||
positionPercentages = [ this.percentage[1] - this.percentage[0], this.percentage[1] ];
|
||||
} else {
|
||||
positionPercentages = [ this.percentage[0], this.percentage[1] ];
|
||||
}
|
||||
|
||||
this.handle1Stype[this.stylePos] = positionPercentages[0]+'%';
|
||||
this.handle2Stype[this.stylePos] = positionPercentages[1]+'%';
|
||||
if (this.orientation == 'vertical') {
|
||||
this.selectionElStyle.top = Math.min(positionPercentages[0], positionPercentages[1]) +'%';
|
||||
this.selectionElStyle.height = Math.abs(positionPercentages[0] - positionPercentages[1]) +'%';
|
||||
} else {
|
||||
this.selectionElStyle.left = Math.min(positionPercentages[0], positionPercentages[1]) +'%';
|
||||
this.selectionElStyle.width = Math.abs(positionPercentages[0] - positionPercentages[1]) +'%';
|
||||
}
|
||||
|
||||
if (this.range) {
|
||||
this.tooltipInner.text(
|
||||
this.formater(this.value[0]) +
|
||||
' : ' +
|
||||
this.formater(this.value[1])
|
||||
);
|
||||
this.tooltip[0].style[this.stylePos] = this.size * (positionPercentages[0] + (positionPercentages[1] - positionPercentages[0])/2)/100 - (this.orientation === 'vertical' ? this.tooltip.outerHeight()/2 : this.tooltip.outerWidth()/2) +'px';
|
||||
} else {
|
||||
this.tooltipInner.text(
|
||||
this.formater(this.value[0])
|
||||
);
|
||||
this.tooltip[0].style[this.stylePos] = this.size * positionPercentages[0]/100 - (this.orientation === 'vertical' ? this.tooltip.outerHeight()/2 : this.tooltip.outerWidth()/2) +'px';
|
||||
}
|
||||
},
|
||||
|
||||
mousedown: function(ev) {
|
||||
|
||||
if (!this.dragLocked){
|
||||
// Touch: Get the original event:
|
||||
if (this.touchCapable && ev.type === 'touchstart') {
|
||||
ev = ev.originalEvent;
|
||||
}
|
||||
|
||||
this.offset = this.picker.offset();
|
||||
this.size = this.picker[0][this.sizePos];
|
||||
|
||||
var percentage = this.getPercentage(ev);
|
||||
|
||||
if (this.range) {
|
||||
var diff1 = Math.abs(this.percentage[0] - percentage);
|
||||
var diff2 = Math.abs(this.percentage[1] - percentage);
|
||||
this.dragged = (diff1 < diff2) ? 0 : 1;
|
||||
} else {
|
||||
this.dragged = 0;
|
||||
}
|
||||
|
||||
this.percentage[this.dragged] = this.reversed ? this.percentage[1] - percentage : percentage;
|
||||
this.layout();
|
||||
|
||||
if (this.touchCapable) {
|
||||
// Touch: Bind touch events:
|
||||
$(document).on({
|
||||
touchmove: $.proxy(this.mousemove, this),
|
||||
touchend: $.proxy(this.mouseup, this)
|
||||
});
|
||||
} else {
|
||||
$(document).on({
|
||||
mousemove: $.proxy(this.mousemove, this),
|
||||
mouseup: $.proxy(this.mouseup, this)
|
||||
});
|
||||
}
|
||||
|
||||
this.inDrag = true;
|
||||
var val = this.calculateValue();
|
||||
|
||||
this.setValue(val);
|
||||
this.element.trigger({
|
||||
type: 'slideStart',
|
||||
value: val
|
||||
}).trigger({
|
||||
type: 'slide',
|
||||
value: val
|
||||
});
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
mousemove: function(ev) {
|
||||
// Touch: Get the original event:
|
||||
if (!this.dragLocked){
|
||||
if (this.touchCapable && ev.type === 'touchmove') {
|
||||
ev = ev.originalEvent;
|
||||
}
|
||||
|
||||
var percentage = this.getPercentage(ev);
|
||||
if (this.range) {
|
||||
if (this.dragged === 0 && this.percentage[1] < percentage) {
|
||||
this.percentage[0] = this.percentage[1];
|
||||
this.dragged = 1;
|
||||
} else if (this.dragged === 1 && this.percentage[0] > percentage) {
|
||||
this.percentage[1] = this.percentage[0];
|
||||
this.dragged = 0;
|
||||
}
|
||||
}
|
||||
x = this.reversed ? this.percentage[1] - percentage : percentage;
|
||||
if (x > this.limit) {
|
||||
return ;
|
||||
}
|
||||
this.percentage[this.dragged] = x;
|
||||
this.layout();
|
||||
var val = this.calculateValue();
|
||||
this.setValue(val);
|
||||
|
||||
this.element
|
||||
.trigger({
|
||||
type: 'slide',
|
||||
value: val
|
||||
})
|
||||
.data('value', val)
|
||||
.prop('value', val);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
mouseup: function(ev) {
|
||||
if (this.touchCapable) {
|
||||
// Touch: Bind touch events:
|
||||
$(document).off({
|
||||
touchmove: this.mousemove,
|
||||
touchend: this.mouseup
|
||||
});
|
||||
} else {
|
||||
$(document).off({
|
||||
mousemove: this.mousemove,
|
||||
mouseup: this.mouseup
|
||||
});
|
||||
}
|
||||
|
||||
this.inDrag = false;
|
||||
if (this.over == false) {
|
||||
this.hideTooltip();
|
||||
}
|
||||
this.element;
|
||||
var val = this.calculateValue();
|
||||
this.layout();
|
||||
this.element
|
||||
.trigger({
|
||||
type: 'slideStop',
|
||||
value: val
|
||||
})
|
||||
.data('value', val)
|
||||
.prop('value', val);
|
||||
return false;
|
||||
},
|
||||
|
||||
calculateValue: function() {
|
||||
var val;
|
||||
if (this.range) {
|
||||
val = [
|
||||
(this.min + Math.round((this.diff * this.percentage[0]/100)/this.step)*this.step),
|
||||
(this.min + Math.round((this.diff * this.percentage[1]/100)/this.step)*this.step)
|
||||
];
|
||||
this.value = val;
|
||||
} else {
|
||||
val = (this.min + Math.round((this.diff * this.percentage[0]/100)/this.step)*this.step);
|
||||
this.value = [val, this.value[1]];
|
||||
}
|
||||
return val;
|
||||
},
|
||||
|
||||
getPercentage: function(ev) {
|
||||
if (this.touchCapable) {
|
||||
ev = ev.touches[0];
|
||||
}
|
||||
var percentage = (ev[this.mousePos] - this.offset[this.stylePos])*100/this.size;
|
||||
percentage = Math.round(percentage/this.percentage[2])*this.percentage[2];
|
||||
return Math.max(0, Math.min(100, percentage));
|
||||
},
|
||||
|
||||
getValue: function() {
|
||||
if (this.range) {
|
||||
return this.value;
|
||||
}
|
||||
return this.value[0];
|
||||
},
|
||||
setLimit: function(val) {
|
||||
this.limit = val;
|
||||
},
|
||||
setDragLocked: function(val) {
|
||||
this.dragLocked = val;
|
||||
},
|
||||
getDragLocked: function(val) {
|
||||
return this.dragLocked;
|
||||
},
|
||||
setValue: function(val) {
|
||||
this.value = val;
|
||||
|
||||
if (this.range) {
|
||||
this.value[0] = Math.max(this.min, Math.min(this.max, this.value[0]));
|
||||
this.value[1] = Math.max(this.min, Math.min(this.max, this.value[1]));
|
||||
} else {
|
||||
this.value = [ Math.max(this.min, Math.min(this.max, this.value))];
|
||||
this.handle2.addClass('hide');
|
||||
if (this.selection == 'after') {
|
||||
this.value[1] = this.max;
|
||||
} else {
|
||||
this.value[1] = this.min;
|
||||
}
|
||||
}
|
||||
this.diff = this.max - this.min;
|
||||
this.percentage = [
|
||||
(this.value[0]-this.min)*100/this.diff,
|
||||
(this.value[1]-this.min)*100/this.diff,
|
||||
this.step*100/this.diff
|
||||
];
|
||||
this.layout();
|
||||
},
|
||||
destroy: function(){
|
||||
this.element.show().insertBefore(this.picker);
|
||||
this.picker.remove();
|
||||
},
|
||||
};
|
||||
|
||||
$.fn.slider = function ( option, val ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this),
|
||||
data = $this.data('slider'),
|
||||
options = typeof option === 'object' && option;
|
||||
if (!data) {
|
||||
$this.data('slider', (data = new Slider(this, $.extend({}, $.fn.slider.defaults,options))));
|
||||
}
|
||||
if (typeof option == 'string') {
|
||||
data[option](val);
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
$.fn.slider.defaults = {
|
||||
min: 0,
|
||||
max: 10,
|
||||
step: 1,
|
||||
orientation: 'horizontal',
|
||||
value: 5,
|
||||
selection: 'before',
|
||||
tooltip: 'show',
|
||||
handle: 'round',
|
||||
reversed : false,
|
||||
limit: 100000,
|
||||
dragLocked: false,
|
||||
formater: function(value) {
|
||||
return value;
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.slider.Constructor = Slider;
|
||||
|
||||
}( window.jQuery );
|
||||
22
bower_components/bootstrap-slider/bower.json
vendored
22
bower_components/bootstrap-slider/bower.json
vendored
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"name": "bootstrap-slider",
|
||||
"main": ["bootstrap-slider.js", "slider.css"],
|
||||
"version": "2.0.0",
|
||||
"homepage": "https://github.com/pammacdotnet/bootstrap-slider",
|
||||
"authors": [
|
||||
"pammacdotnet"
|
||||
],
|
||||
"description": "Eyecon Slider for Bootstrap",
|
||||
"keywords": [
|
||||
"slider",
|
||||
"bootstrap"
|
||||
],
|
||||
"license": "Apache",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
]
|
||||
}
|
||||
BIN
bower_components/bootstrap-slider/locks.png
vendored
BIN
bower_components/bootstrap-slider/locks.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 8.4 KiB |
178
bower_components/bootstrap-slider/slider.css
vendored
178
bower_components/bootstrap-slider/slider.css
vendored
@@ -1,178 +0,0 @@
|
||||
/*!
|
||||
* Slider for Bootstrap
|
||||
*
|
||||
* Copyright 2012 Stefan Petre
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
*/
|
||||
.slider {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
margin-bottom: 10px
|
||||
}
|
||||
|
||||
.slider[class*="span"] {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.slider-horizontal {
|
||||
width: 210px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.slider-horizontal .slider-handle-container,
|
||||
.slider-horizontal .slider-track {
|
||||
height: 10px;
|
||||
margin-top: -5px;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.slider-horizontal .slider-track {
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.slider-horizontal .slider-handle-container {
|
||||
left: 10px;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
.slider-horizontal .slider-selection {
|
||||
height: 100%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.slider-horizontal .slider-handle {
|
||||
margin-left: -10px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
|
||||
.slider-vertical {
|
||||
height: 210px;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.slider-vertical .slider-handle-container,
|
||||
.slider-vertical .slider-track {
|
||||
width: 10px;
|
||||
margin-left: -5px;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.slider-vertical .slider-track {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.slider-vertical .slider-handle-container {
|
||||
top: 10px;
|
||||
bottom: 10px;
|
||||
}
|
||||
.slider-vertical .slider-selection {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.slider-vertical .slider-handle {
|
||||
margin-left: -5px;
|
||||
margin-top: -10px;
|
||||
}
|
||||
|
||||
.slider input,
|
||||
.slider input[class*="span"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.slider .tooltip-inner {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.slider-handle-container {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.slider-track {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
background-color: #f7f7f7;
|
||||
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
|
||||
background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.slider-selection {
|
||||
position: absolute;
|
||||
background-color: #e6e6e6;
|
||||
background-image: -moz-linear-gradient(top, #f0f0f0, #e0e0e0);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f0f0f0), to(#e0e0e0));
|
||||
background-image: -webkit-linear-gradient(top, #f0f0f0, #e0e0e0);
|
||||
background-image: -o-linear-gradient(top, #f0f0f0, #e0e0e0);
|
||||
background-image: linear-gradient(to bottom, #f0f0f0, #e0e0e0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-border-radius: 20px;
|
||||
-moz-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.slider-handle {
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.slider-knob {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #f5f5f5;
|
||||
background-image: -moz-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e6e6e6), to(#ffffff));
|
||||
background-image: -webkit-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: -o-linear-gradient(top, #e6e6e6, #ffffff);
|
||||
background-image: linear-gradient(to bottom, #e6e6e6, #ffffff);
|
||||
background-repeat: repeat-x;
|
||||
border: 1px solid #bbbbbb;
|
||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
border-bottom-color: #a2a2a2;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
-webkit-border-radius: 20px;
|
||||
-moz-border-radius: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.slider-handle:active .slider-knob,
|
||||
.slider-handle:hover .slider-knob {
|
||||
background-color: #e6e6e6;
|
||||
background-position: 0 5px;
|
||||
-webkit-transition: background-position 0.1s linear;
|
||||
-moz-transition: background-position 0.1s linear;
|
||||
-o-transition: background-position 0.1s linear;
|
||||
transition: background-position 0.1s linear;
|
||||
}
|
||||
12
bower_components/bootstrap/.bower.json
vendored
12
bower_components/bootstrap/.bower.json
vendored
@@ -11,7 +11,7 @@
|
||||
"framework",
|
||||
"web"
|
||||
],
|
||||
"homepage": "http://getbootstrap.com",
|
||||
"homepage": "https://getbootstrap.com/",
|
||||
"license": "MIT",
|
||||
"moduleType": "globals",
|
||||
"main": [
|
||||
@@ -31,14 +31,14 @@
|
||||
"dependencies": {
|
||||
"jquery": "1.9.1 - 3"
|
||||
},
|
||||
"version": "3.3.7",
|
||||
"_release": "3.3.7",
|
||||
"version": "3.4.1",
|
||||
"_release": "3.4.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "v3.3.7",
|
||||
"commit": "0b9c4a4007c44201dce9a6cc1a38407005c26c86"
|
||||
"tag": "v3.4.1",
|
||||
"commit": "68b0d231a13201eb14acd3dc84e51543d16e5f7e"
|
||||
},
|
||||
"_source": "https://github.com/twbs/bootstrap.git",
|
||||
"_target": "^3.3.7",
|
||||
"_target": "^3.4",
|
||||
"_originalSource": "bootstrap"
|
||||
}
|
||||
4
bower_components/bootstrap/CHANGELOG.md
vendored
4
bower_components/bootstrap/CHANGELOG.md
vendored
@@ -1,5 +1,5 @@
|
||||
Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs.
|
||||
Bootstrap uses [GitHub's Releases feature](https://blog.github.com/2013-07-02-release-your-software/) for its changelogs.
|
||||
|
||||
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
|
||||
|
||||
Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
|
||||
Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release.
|
||||
|
||||
6
bower_components/bootstrap/Gemfile
vendored
6
bower_components/bootstrap/Gemfile
vendored
@@ -1,6 +1,8 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
group :development, :test do
|
||||
gem 'jekyll', '~> 3.1.2'
|
||||
gem 'jekyll-sitemap', '~> 0.11.0'
|
||||
gem 'jekyll', '~> 3.8.5'
|
||||
gem 'jekyll-redirect-from', '~> 0.14.0'
|
||||
gem 'jekyll-sitemap', '~> 1.2.0'
|
||||
gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform?
|
||||
end
|
||||
|
||||
81
bower_components/bootstrap/Gemfile.lock
vendored
81
bower_components/bootstrap/Gemfile.lock
vendored
@@ -1,43 +1,74 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.4.0)
|
||||
colorator (0.1)
|
||||
ffi (1.9.14-x64-mingw32)
|
||||
jekyll (3.1.6)
|
||||
colorator (~> 0.1)
|
||||
addressable (2.6.0)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.1.4)
|
||||
em-websocket (0.5.1)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
eventmachine (1.2.7)
|
||||
eventmachine (1.2.7-x64-mingw32)
|
||||
ffi (1.10.0)
|
||||
ffi (1.10.0-x64-mingw32)
|
||||
forwardable-extended (2.6.0)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (3.8.5)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 1.1)
|
||||
kramdown (~> 1.3)
|
||||
liquid (~> 3.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 1.14)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3.3)
|
||||
rouge (~> 1.7)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 1.7, < 4)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-sass-converter (1.4.0)
|
||||
jekyll-redirect-from (0.14.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-sass-converter (1.5.2)
|
||||
sass (~> 3.4)
|
||||
jekyll-sitemap (0.11.0)
|
||||
addressable (~> 2.4.0)
|
||||
jekyll-watch (1.4.0)
|
||||
listen (~> 3.0, < 3.1)
|
||||
kramdown (1.11.1)
|
||||
liquid (3.0.6)
|
||||
listen (3.0.8)
|
||||
jekyll-sitemap (1.2.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-watch (2.1.2)
|
||||
listen (~> 3.0)
|
||||
kramdown (1.17.0)
|
||||
liquid (4.0.1)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
ruby_dep (~> 1.2)
|
||||
mercenary (0.3.6)
|
||||
rb-fsevent (0.9.7)
|
||||
rb-inotify (0.9.7)
|
||||
ffi (>= 0.5.0)
|
||||
rouge (1.11.1)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (3.0.3)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.10.0)
|
||||
ffi (~> 1.0)
|
||||
rouge (3.3.0)
|
||||
ruby_dep (1.5.0)
|
||||
safe_yaml (1.0.4)
|
||||
sass (3.4.22)
|
||||
sass (3.7.3)
|
||||
sass-listen (~> 4.0.0)
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
wdm (0.1.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
x64-mingw32
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (~> 3.1.2)
|
||||
jekyll-sitemap (~> 0.11.0)
|
||||
jekyll (~> 3.8.5)
|
||||
jekyll-redirect-from (~> 0.14.0)
|
||||
jekyll-sitemap (~> 1.2.0)
|
||||
wdm (~> 0.1.1)
|
||||
|
||||
BUNDLED WITH
|
||||
1.12.5
|
||||
1.17.3
|
||||
|
||||
275
bower_components/bootstrap/Gruntfile.js
vendored
275
bower_components/bootstrap/Gruntfile.js
vendored
@@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap's Gruntfile
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2013-2016 Twitter, Inc.
|
||||
* https://getbootstrap.com/
|
||||
* Copyright 2013-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
@@ -104,7 +104,7 @@ module.exports = function (grunt) {
|
||||
banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>',
|
||||
stripBanners: false
|
||||
},
|
||||
bootstrap: {
|
||||
core: {
|
||||
src: [
|
||||
'js/transition.js',
|
||||
'js/alert.js',
|
||||
@@ -125,78 +125,90 @@ module.exports = function (grunt) {
|
||||
|
||||
uglify: {
|
||||
options: {
|
||||
compress: {
|
||||
warnings: false
|
||||
},
|
||||
compress: true,
|
||||
mangle: true,
|
||||
preserveComments: /^!|@preserve|@license|@cc_on/i
|
||||
ie8: true,
|
||||
output: {
|
||||
comments: /^!|@preserve|@license|@cc_on/i
|
||||
}
|
||||
},
|
||||
core: {
|
||||
src: '<%= concat.bootstrap.dest %>',
|
||||
src: '<%= concat.core.dest %>',
|
||||
dest: 'dist/js/<%= pkg.name %>.min.js'
|
||||
},
|
||||
customize: {
|
||||
src: configBridge.paths.customizerJs,
|
||||
dest: 'docs/assets/js/customize.min.js'
|
||||
},
|
||||
docsJs: {
|
||||
docs: {
|
||||
src: configBridge.paths.docsJs,
|
||||
dest: 'docs/assets/js/docs.min.js'
|
||||
}
|
||||
},
|
||||
|
||||
qunit: {
|
||||
options: {
|
||||
inject: 'js/tests/unit/phantom.js'
|
||||
},
|
||||
files: 'js/tests/index.html'
|
||||
},
|
||||
|
||||
less: {
|
||||
compileCore: {
|
||||
options: {
|
||||
ieCompat: true,
|
||||
strictMath: true,
|
||||
sourceMap: true,
|
||||
outputSourceFiles: true
|
||||
},
|
||||
core: {
|
||||
options: {
|
||||
strictMath: true,
|
||||
sourceMap: true,
|
||||
outputSourceFiles: true,
|
||||
sourceMapURL: '<%= pkg.name %>.css.map',
|
||||
sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
|
||||
},
|
||||
src: 'less/bootstrap.less',
|
||||
dest: 'dist/css/<%= pkg.name %>.css'
|
||||
},
|
||||
compileTheme: {
|
||||
theme: {
|
||||
options: {
|
||||
strictMath: true,
|
||||
sourceMap: true,
|
||||
outputSourceFiles: true,
|
||||
sourceMapURL: '<%= pkg.name %>-theme.css.map',
|
||||
sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map'
|
||||
},
|
||||
src: 'less/theme.less',
|
||||
dest: 'dist/css/<%= pkg.name %>-theme.css'
|
||||
},
|
||||
docs: {
|
||||
options: {
|
||||
sourceMapURL: 'docs.css.map',
|
||||
sourceMapFilename: 'docs/assets/css/docs.css.map'
|
||||
},
|
||||
src: 'docs/assets/less/docs.less',
|
||||
dest: 'docs/assets/css/docs.css'
|
||||
},
|
||||
docsIe: {
|
||||
options: {
|
||||
sourceMap: false
|
||||
},
|
||||
src: 'docs/assets/less/ie10-viewport-bug-workaround.less',
|
||||
dest: 'docs/assets/css/ie10-viewport-bug-workaround.css'
|
||||
}
|
||||
},
|
||||
|
||||
autoprefixer: {
|
||||
postcss: {
|
||||
options: {
|
||||
browsers: configBridge.config.autoprefixerBrowsers
|
||||
map: {
|
||||
inline: false,
|
||||
sourcesContent: true
|
||||
},
|
||||
processors: [
|
||||
require('autoprefixer')(configBridge.config.autoprefixer)
|
||||
]
|
||||
},
|
||||
core: {
|
||||
options: {
|
||||
map: true
|
||||
},
|
||||
src: 'dist/css/<%= pkg.name %>.css'
|
||||
},
|
||||
theme: {
|
||||
options: {
|
||||
map: true
|
||||
},
|
||||
src: 'dist/css/<%= pkg.name %>-theme.css'
|
||||
},
|
||||
docs: {
|
||||
src: ['docs/assets/css/src/docs.css']
|
||||
src: 'docs/assets/css/docs.css'
|
||||
},
|
||||
examples: {
|
||||
options: {
|
||||
map: false
|
||||
},
|
||||
expand: true,
|
||||
cwd: 'docs/examples/',
|
||||
src: ['**/*.css'],
|
||||
@@ -204,76 +216,47 @@ module.exports = function (grunt) {
|
||||
}
|
||||
},
|
||||
|
||||
csslint: {
|
||||
stylelint: {
|
||||
options: {
|
||||
csslintrc: 'less/.csslintrc'
|
||||
configFile: 'grunt/.stylelintrc',
|
||||
reportNeedlessDisables: false
|
||||
},
|
||||
dist: [
|
||||
'dist/css/bootstrap.css',
|
||||
'dist/css/bootstrap-theme.css'
|
||||
'less/**/*.less'
|
||||
],
|
||||
docs: [
|
||||
'docs/assets/less/**/*.less'
|
||||
],
|
||||
examples: [
|
||||
'docs/examples/**/*.css'
|
||||
],
|
||||
docs: {
|
||||
options: {
|
||||
ids: false,
|
||||
'overqualified-elements': false
|
||||
},
|
||||
src: 'docs/assets/css/src/docs.css'
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
cssmin: {
|
||||
options: {
|
||||
// TODO: disable `zeroUnits` optimization once clean-css 3.2 is released
|
||||
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
|
||||
compatibility: 'ie8',
|
||||
keepSpecialComments: '*',
|
||||
sourceMap: true,
|
||||
sourceMapInlineSources: true,
|
||||
advanced: false
|
||||
level: {
|
||||
1: {
|
||||
specialComments: 'all'
|
||||
}
|
||||
}
|
||||
},
|
||||
minifyCore: {
|
||||
core: {
|
||||
src: 'dist/css/<%= pkg.name %>.css',
|
||||
dest: 'dist/css/<%= pkg.name %>.min.css'
|
||||
},
|
||||
minifyTheme: {
|
||||
theme: {
|
||||
src: 'dist/css/<%= pkg.name %>-theme.css',
|
||||
dest: 'dist/css/<%= pkg.name %>-theme.min.css'
|
||||
},
|
||||
docs: {
|
||||
src: [
|
||||
'docs/assets/css/ie10-viewport-bug-workaround.css',
|
||||
'docs/assets/css/src/pygments-manni.css',
|
||||
'docs/assets/css/src/docs.css'
|
||||
],
|
||||
src: 'docs/assets/css/docs.css',
|
||||
dest: 'docs/assets/css/docs.min.css'
|
||||
}
|
||||
},
|
||||
|
||||
csscomb: {
|
||||
options: {
|
||||
config: 'less/.csscomb.json'
|
||||
},
|
||||
dist: {
|
||||
expand: true,
|
||||
cwd: 'dist/css/',
|
||||
src: ['*.css', '!*.min.css'],
|
||||
dest: 'dist/css/'
|
||||
},
|
||||
examples: {
|
||||
expand: true,
|
||||
cwd: 'docs/examples/',
|
||||
src: '**/*.css',
|
||||
dest: 'docs/examples/'
|
||||
},
|
||||
docs: {
|
||||
src: 'docs/assets/css/src/docs.css',
|
||||
dest: 'docs/assets/css/src/docs.css'
|
||||
}
|
||||
},
|
||||
|
||||
copy: {
|
||||
fonts: {
|
||||
expand: true,
|
||||
@@ -313,41 +296,6 @@ module.exports = function (grunt) {
|
||||
}
|
||||
},
|
||||
|
||||
htmlmin: {
|
||||
dist: {
|
||||
options: {
|
||||
collapseBooleanAttributes: true,
|
||||
collapseWhitespace: true,
|
||||
conservativeCollapse: true,
|
||||
decodeEntities: false,
|
||||
minifyCSS: {
|
||||
compatibility: 'ie8',
|
||||
keepSpecialComments: 0
|
||||
},
|
||||
minifyJS: true,
|
||||
minifyURLs: false,
|
||||
processConditionalComments: true,
|
||||
removeAttributeQuotes: true,
|
||||
removeComments: true,
|
||||
removeOptionalAttributes: true,
|
||||
removeOptionalTags: true,
|
||||
removeRedundantAttributes: true,
|
||||
removeScriptTypeAttributes: true,
|
||||
removeStyleLinkTypeAttributes: true,
|
||||
removeTagWhitespace: false,
|
||||
sortAttributes: true,
|
||||
sortClassName: true
|
||||
},
|
||||
expand: true,
|
||||
cwd: '_gh_pages',
|
||||
dest: '_gh_pages',
|
||||
src: [
|
||||
'**/*.html',
|
||||
'!examples/**/*.html'
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
pug: {
|
||||
options: {
|
||||
pretty: true,
|
||||
@@ -366,67 +314,40 @@ module.exports = function (grunt) {
|
||||
htmllint: {
|
||||
options: {
|
||||
ignore: [
|
||||
'Attribute "autocomplete" not allowed on element "button" at this point.',
|
||||
'Attribute "autocomplete" is only allowed when the input type is "color", "date", "datetime", "datetime-local", "email", "hidden", "month", "number", "password", "range", "search", "tel", "text", "time", "url", or "week".',
|
||||
'Element "img" is missing required attribute "src".'
|
||||
]
|
||||
],
|
||||
noLangDetect: true
|
||||
},
|
||||
src: '_gh_pages/**/*.html'
|
||||
src: ['_gh_pages/**/*.html', 'js/tests/**/*.html']
|
||||
},
|
||||
|
||||
watch: {
|
||||
src: {
|
||||
files: '<%= jshint.core.src %>',
|
||||
tasks: ['jshint:core', 'qunit', 'concat']
|
||||
tasks: ['jshint:core', 'exec:karma', 'concat']
|
||||
},
|
||||
test: {
|
||||
files: '<%= jshint.test.src %>',
|
||||
tasks: ['jshint:test', 'qunit']
|
||||
tasks: ['jshint:test', 'exec:karma']
|
||||
},
|
||||
less: {
|
||||
files: 'less/**/*.less',
|
||||
tasks: 'less'
|
||||
}
|
||||
},
|
||||
|
||||
'saucelabs-qunit': {
|
||||
all: {
|
||||
options: {
|
||||
build: process.env.TRAVIS_JOB_ID,
|
||||
throttled: 10,
|
||||
maxRetries: 3,
|
||||
maxPollRetries: 4,
|
||||
urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'],
|
||||
browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
|
||||
}
|
||||
tasks: ['less', 'copy']
|
||||
},
|
||||
docs: {
|
||||
files: 'docs/assets/less/**/*.less',
|
||||
tasks: ['less']
|
||||
}
|
||||
},
|
||||
|
||||
exec: {
|
||||
npmUpdate: {
|
||||
command: 'npm update'
|
||||
}
|
||||
},
|
||||
|
||||
compress: {
|
||||
main: {
|
||||
options: {
|
||||
archive: 'bootstrap-<%= pkg.version %>-dist.zip',
|
||||
mode: 'zip',
|
||||
level: 9,
|
||||
pretty: true
|
||||
},
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: 'dist/',
|
||||
src: ['**'],
|
||||
dest: 'bootstrap-<%= pkg.version %>-dist'
|
||||
}
|
||||
]
|
||||
browserstack: {
|
||||
command: 'cross-env BROWSER=true karma start grunt/karma.conf.js'
|
||||
},
|
||||
karma: {
|
||||
command: 'karma start grunt/karma.conf.js'
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -441,16 +362,14 @@ module.exports = function (grunt) {
|
||||
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
|
||||
};
|
||||
var isUndefOrNonZero = function (val) {
|
||||
return val === undefined || val !== '0';
|
||||
return typeof val === 'undefined' || val !== '0';
|
||||
};
|
||||
|
||||
// Test task.
|
||||
var testSubtasks = [];
|
||||
// Skip core tests if running a different subset of the test suite
|
||||
if (runSubset('core') &&
|
||||
// Skip core tests if this is a Savage build
|
||||
process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') {
|
||||
testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']);
|
||||
if (runSubset('core')) {
|
||||
testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'stylelint:dist', 'test-js', 'docs']);
|
||||
}
|
||||
// Skip HTML validation if running a different subset of the test suite
|
||||
if (runSubset('validate-html') &&
|
||||
@@ -458,24 +377,23 @@ module.exports = function (grunt) {
|
||||
isUndefOrNonZero(process.env.TWBS_DO_VALIDATOR)) {
|
||||
testSubtasks.push('validate-html');
|
||||
}
|
||||
// Only run Sauce Labs tests if there's a Sauce access key
|
||||
if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' &&
|
||||
// Skip Sauce if running a different subset of the test suite
|
||||
runSubset('sauce-js-unit') &&
|
||||
// Skip Sauce on Travis when [skip sauce] is in the commit message
|
||||
isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) {
|
||||
testSubtasks.push('connect');
|
||||
testSubtasks.push('saucelabs-qunit');
|
||||
// Only run BrowserStack tests if there's a BrowserStack access key
|
||||
if (typeof process.env.BROWSER_STACK_USERNAME !== 'undefined' &&
|
||||
// Skip BrowserStack if running a different subset of the test suite
|
||||
runSubset('browserstack') &&
|
||||
// Skip BrowserStack on Travis when [skip browserstack] is in the commit message
|
||||
isUndefOrNonZero(process.env.TWBS_DO_BROWSERSTACK)) {
|
||||
testSubtasks.push('exec:browserstack');
|
||||
}
|
||||
|
||||
grunt.registerTask('test', testSubtasks);
|
||||
grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
|
||||
grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'exec:karma']);
|
||||
|
||||
// JS distribution task.
|
||||
grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']);
|
||||
|
||||
// CSS distribution task.
|
||||
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
|
||||
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']);
|
||||
grunt.registerTask('dist-css', ['less:core', 'less:theme', 'postcss:core', 'postcss:theme', 'cssmin:core', 'cssmin:theme']);
|
||||
|
||||
// Full distribution task.
|
||||
grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']);
|
||||
@@ -483,7 +401,9 @@ module.exports = function (grunt) {
|
||||
// Default task.
|
||||
grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']);
|
||||
|
||||
grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); });
|
||||
grunt.registerTask('build-glyphicons-data', function () {
|
||||
generateGlyphiconsData.call(this, grunt);
|
||||
});
|
||||
|
||||
// task for building customizer
|
||||
grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']);
|
||||
@@ -494,18 +414,17 @@ module.exports = function (grunt) {
|
||||
});
|
||||
|
||||
grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () {
|
||||
var srcFiles = grunt.config.get('concat.bootstrap.src');
|
||||
var srcFiles = grunt.config.get('concat.core.src');
|
||||
var destFilepath = 'dist/js/npm.js';
|
||||
generateCommonJSModule(grunt, srcFiles, destFilepath);
|
||||
});
|
||||
|
||||
// Docs task.
|
||||
grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
|
||||
grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']);
|
||||
grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']);
|
||||
grunt.registerTask('docs-css', ['less:docs', 'less:docsIe', 'postcss:docs', 'postcss:examples', 'cssmin:docs']);
|
||||
grunt.registerTask('lint-docs-css', ['stylelint:docs', 'stylelint:examples']);
|
||||
grunt.registerTask('docs-js', ['uglify:docs', 'uglify:customize']);
|
||||
grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']);
|
||||
grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']);
|
||||
grunt.registerTask('docs-github', ['jekyll:github', 'htmlmin']);
|
||||
|
||||
grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']);
|
||||
grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github']);
|
||||
};
|
||||
|
||||
4
bower_components/bootstrap/ISSUE_TEMPLATE.md
vendored
4
bower_components/bootstrap/ISSUE_TEMPLATE.md
vendored
@@ -1,7 +1,7 @@
|
||||
Before opening an issue:
|
||||
|
||||
- [Search for duplicate or closed issues](https://github.com/twbs/bootstrap/issues?utf8=%E2%9C%93&q=is%3Aissue)
|
||||
- [Validate](http://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
|
||||
- [Validate](https://validator.w3.org/nu/) and [lint](https://github.com/twbs/bootlint#in-the-browser) any HTML to avoid common problems
|
||||
- Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs
|
||||
- Read the [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md)
|
||||
|
||||
@@ -14,7 +14,7 @@ When reporting a bug, include:
|
||||
|
||||
- Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile)
|
||||
- Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera 15+, Android Browser)
|
||||
- Reduced test cases and potential fixes using [JS Bin](https://jsbin.com)
|
||||
- Reduced test cases and potential fixes using [JS Bin](https://jsbin.com/)
|
||||
|
||||
When suggesting a feature, include:
|
||||
|
||||
|
||||
2
bower_components/bootstrap/LICENSE
vendored
2
bower_components/bootstrap/LICENSE
vendored
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2011-2016 Twitter, Inc.
|
||||
Copyright (c) 2011-2019 Twitter, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
53
bower_components/bootstrap/README.md
vendored
53
bower_components/bootstrap/README.md
vendored
@@ -1,16 +1,15 @@
|
||||
# [Bootstrap](http://getbootstrap.com)
|
||||
# [Bootstrap](https://getbootstrap.com/)
|
||||
|
||||
[](https://bootstrap-slack.herokuapp.com)
|
||||
[](https://bootstrap-slack.herokuapp.com/)
|
||||

|
||||
[](https://www.npmjs.com/package/bootstrap)
|
||||
[](https://travis-ci.org/twbs/bootstrap)
|
||||
[](https://david-dm.org/twbs/bootstrap#info=devDependencies)
|
||||
[](https://www.nuget.org/packages/Bootstrap)
|
||||
[](https://saucelabs.com/u/bootstrap)
|
||||
|
||||
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community.
|
||||
|
||||
To get started, check out <http://getbootstrap.com>!
|
||||
To get started, check out <https://getbootstrap.com/>!
|
||||
|
||||
|
||||
## Table of contents
|
||||
@@ -22,6 +21,7 @@ To get started, check out <http://getbootstrap.com>!
|
||||
* [Community](#community)
|
||||
* [Versioning](#versioning)
|
||||
* [Creators](#creators)
|
||||
* [Thanks](#thanks)
|
||||
* [Copyright and license](#copyright-and-license)
|
||||
|
||||
|
||||
@@ -29,14 +29,14 @@ To get started, check out <http://getbootstrap.com>!
|
||||
|
||||
Several quick start options are available:
|
||||
|
||||
* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.7.zip).
|
||||
* [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.4.1.zip).
|
||||
* Clone the repo: `git clone https://github.com/twbs/bootstrap.git`.
|
||||
* Install with [Bower](http://bower.io): `bower install bootstrap`.
|
||||
* Install with [npm](https://www.npmjs.com): `npm install bootstrap@3`.
|
||||
* Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`.
|
||||
* Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`.
|
||||
* Install with [Bower](https://bower.io/): `bower install bootstrap`.
|
||||
* Install with [npm](https://www.npmjs.com/): `npm install bootstrap@3`.
|
||||
* Install with [Meteor](https://www.meteor.com/): `meteor add twbs:bootstrap`.
|
||||
* Install with [Composer](https://getcomposer.org/): `composer require twbs/bootstrap`.
|
||||
|
||||
Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
|
||||
Read the [Getting started page](https://getbootstrap.com/docs/3.4/getting-started/) for information on the framework contents, templates and examples, and more.
|
||||
|
||||
### What's included
|
||||
|
||||
@@ -64,7 +64,7 @@ bootstrap/
|
||||
└── glyphicons-halflings-regular.woff2
|
||||
```
|
||||
|
||||
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.
|
||||
We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme.
|
||||
|
||||
|
||||
## Bugs and feature requests
|
||||
@@ -76,20 +76,20 @@ Note that **feature requests must target [Bootstrap v4](https://github.com/twbs/
|
||||
|
||||
## Documentation
|
||||
|
||||
Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at <http://getbootstrap.com>. The docs may also be run locally.
|
||||
Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](https://jekyllrb.com/) and publicly hosted on GitHub Pages at <https://getbootstrap.com/>. The docs may also be run locally.
|
||||
|
||||
### Running documentation locally
|
||||
|
||||
1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) and other Ruby dependencies with `bundle install`.
|
||||
**Note for Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems.
|
||||
1. If necessary, [install Jekyll](https://jekyllrb.com/docs/installation/) and other Ruby dependencies with `bundle install`.
|
||||
**Note for Windows users:** Read [this guide](https://jekyllrb.com/docs/installation/windows/) to get Jekyll up and running without problems.
|
||||
2. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
|
||||
4. Open `http://localhost:9001` in your browser, and voilà.
|
||||
|
||||
Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/).
|
||||
Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/).
|
||||
|
||||
### Documentation for previous releases
|
||||
|
||||
Documentation for v2.3.2 has been made available for the time being at <http://getbootstrap.com/2.3.2/> while folks transition to Bootstrap 3.
|
||||
Documentation for v2.3.2 has been made available for the time being at <https://getbootstrap.com/2.3.2/> while folks transition to Bootstrap 3.
|
||||
|
||||
[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download.
|
||||
|
||||
@@ -102,7 +102,7 @@ Moreover, if your pull request contains JavaScript patches or features, you must
|
||||
|
||||
**Bootstrap v3 is now closed off to new features.** It has gone into maintenance mode so that we can focus our efforts on [Bootstrap v4](https://github.com/twbs/bootstrap/tree/v4-dev), the future of the framework. Pull requests which add new features (rather than fix bugs) should target [Bootstrap v4 (the `v4-dev` git branch)](https://github.com/twbs/bootstrap/tree/v4-dev) instead.
|
||||
|
||||
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <http://editorconfig.org>.
|
||||
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at <https://editorconfig.org/>.
|
||||
|
||||
|
||||
## Community
|
||||
@@ -110,18 +110,25 @@ Editor preferences are available in the [editor config](https://github.com/twbs/
|
||||
Get updates on Bootstrap's development and chat with the project maintainers and community members.
|
||||
|
||||
* Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
|
||||
* Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com).
|
||||
* Join [the official Slack room](https://bootstrap-slack.herokuapp.com).
|
||||
* Read and subscribe to [The Official Bootstrap Blog](https://blog.getbootstrap.com/).
|
||||
* Join [the official Slack room](https://bootstrap-slack.herokuapp.com/).
|
||||
* Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
|
||||
* Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](https://stackoverflow.com/questions/tagged/twitter-bootstrap-3)).
|
||||
* Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
|
||||
* Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/search?q=keywords:bootstrap) or similar delivery mechanisms for maximum discoverability.
|
||||
|
||||
|
||||
## Versioning
|
||||
|
||||
For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible.
|
||||
For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](https://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible.
|
||||
|
||||
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
|
||||
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap. Release announcement posts on [the official Bootstrap blog](https://blog.getbootstrap.com/) contain summaries of the most noteworthy changes made in each release.
|
||||
|
||||
|
||||
## Thanks
|
||||
|
||||
<img src="https://live.browserstack.com/images/opensource/browserstack-logo.svg" alt="BrowserStack Logo" width="490" height="106">
|
||||
|
||||
Thanks to [BrowserStack](https://www.browserstack.com/) for providing the infrastructure that allows us to test in real browsers!
|
||||
|
||||
|
||||
## Creators
|
||||
@@ -139,4 +146,4 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr
|
||||
|
||||
## Copyright and license
|
||||
|
||||
Code and documentation copyright 2011-2016 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
|
||||
Code and documentation copyright 2011-2019 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
|
||||
|
||||
2
bower_components/bootstrap/bower.json
vendored
2
bower_components/bootstrap/bower.json
vendored
@@ -11,7 +11,7 @@
|
||||
"framework",
|
||||
"web"
|
||||
],
|
||||
"homepage": "http://getbootstrap.com",
|
||||
"homepage": "https://getbootstrap.com/",
|
||||
"license": "MIT",
|
||||
"moduleType": "globals",
|
||||
"main": [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Bootstrap v3.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
.btn-default,
|
||||
@@ -9,9 +9,9 @@
|
||||
.btn-info,
|
||||
.btn-warning,
|
||||
.btn-danger {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.btn-default:active,
|
||||
.btn-primary:active,
|
||||
@@ -25,8 +25,8 @@
|
||||
.btn-info.active,
|
||||
.btn-warning.active,
|
||||
.btn-danger.active {
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-primary.disabled,
|
||||
@@ -47,7 +47,7 @@ fieldset[disabled] .btn-info,
|
||||
fieldset[disabled] .btn-warning,
|
||||
fieldset[disabled] .btn-danger {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-default .badge,
|
||||
.btn-primary .badge,
|
||||
@@ -62,15 +62,15 @@ fieldset[disabled] .btn-danger {
|
||||
background-image: none;
|
||||
}
|
||||
.btn-default {
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dbdbdb;
|
||||
text-shadow: 0 1px 0 #fff;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.btn-default:hover,
|
||||
@@ -106,9 +106,9 @@ fieldset[disabled] .btn-default.active {
|
||||
}
|
||||
.btn-primary {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
@@ -147,9 +147,9 @@ fieldset[disabled] .btn-primary.active {
|
||||
}
|
||||
.btn-success {
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
@@ -188,9 +188,9 @@ fieldset[disabled] .btn-success.active {
|
||||
}
|
||||
.btn-info {
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
@@ -229,9 +229,9 @@ fieldset[disabled] .btn-info.active {
|
||||
}
|
||||
.btn-warning {
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
@@ -270,9 +270,9 @@ fieldset[disabled] .btn-warning.active {
|
||||
}
|
||||
.btn-danger {
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
@@ -311,81 +311,81 @@ fieldset[disabled] .btn-danger.active {
|
||||
}
|
||||
.thumbnail,
|
||||
.img-thumbnail {
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus {
|
||||
background-color: #e8e8e8;
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
background-color: #e8e8e8;
|
||||
}
|
||||
.dropdown-menu > .active > a,
|
||||
.dropdown-menu > .active > a:hover,
|
||||
.dropdown-menu > .active > a:focus {
|
||||
background-color: #2e6da4;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
background-color: #2e6da4;
|
||||
}
|
||||
.navbar-default {
|
||||
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
||||
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
||||
background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f8f8f8));
|
||||
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.navbar-default .navbar-nav > .open > a,
|
||||
.navbar-default .navbar-nav > .active > a {
|
||||
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
|
||||
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
||||
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.navbar-brand,
|
||||
.navbar-nav > li > a {
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
|
||||
}
|
||||
.navbar-inverse {
|
||||
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
|
||||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
||||
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .open > a,
|
||||
.navbar-inverse .navbar-nav > .active > a {
|
||||
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
|
||||
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
||||
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
||||
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
||||
box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.navbar-inverse .navbar-brand,
|
||||
.navbar-inverse .navbar-nav > li > a {
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.navbar-static-top,
|
||||
.navbar-fixed-top,
|
||||
@@ -398,120 +398,120 @@ fieldset[disabled] .btn-danger.active {
|
||||
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
|
||||
color: #fff;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
}
|
||||
.alert {
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.alert-success {
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #b2dba1;
|
||||
}
|
||||
.alert-info {
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #9acfea;
|
||||
}
|
||||
.alert-warning {
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #f5e79e;
|
||||
}
|
||||
.alert-danger {
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dca7a7;
|
||||
}
|
||||
.progress {
|
||||
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
||||
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-success {
|
||||
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
||||
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-info {
|
||||
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
||||
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-warning {
|
||||
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
||||
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-danger {
|
||||
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
||||
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.progress-bar-striped {
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
||||
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
|
||||
}
|
||||
.list-group {
|
||||
border-radius: 4px;
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
.list-group-item.active,
|
||||
.list-group-item.active:hover,
|
||||
.list-group-item.active:focus {
|
||||
text-shadow: 0 -1px 0 #286090;
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #2b669a;
|
||||
@@ -522,66 +522,66 @@ fieldset[disabled] .btn-danger.active {
|
||||
text-shadow: none;
|
||||
}
|
||||
.panel {
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.panel-default > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-primary > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-success > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
||||
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-info > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
||||
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-warning > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
||||
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.panel-danger > .panel-heading {
|
||||
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
||||
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.well {
|
||||
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
||||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
||||
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
||||
background-repeat: repeat-x;
|
||||
border-color: #dcdcdc;
|
||||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
||||
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-theme.css.map */
|
||||
/*# sourceMappingURL=bootstrap-theme.css.map */
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
985
bower_components/bootstrap/dist/css/bootstrap.css
vendored
985
bower_components/bootstrap/dist/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
397
bower_components/bootstrap/dist/js/bootstrap.js
vendored
397
bower_components/bootstrap/dist/js/bootstrap.js
vendored
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Bootstrap v3.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under the MIT license
|
||||
*/
|
||||
|
||||
@@ -17,10 +17,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: transition.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#transitions
|
||||
* Bootstrap: transition.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#transitions
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -28,7 +28,7 @@ if (typeof jQuery === 'undefined') {
|
||||
+function ($) {
|
||||
'use strict';
|
||||
|
||||
// CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
|
||||
// CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/)
|
||||
// ============================================================
|
||||
|
||||
function transitionEnd() {
|
||||
@@ -50,7 +50,7 @@ if (typeof jQuery === 'undefined') {
|
||||
return false // explicit for ie8 ( ._.)
|
||||
}
|
||||
|
||||
// http://blog.alexmaccaw.com/css-transitions
|
||||
// https://blog.alexmaccaw.com/css-transitions
|
||||
$.fn.emulateTransitionEnd = function (duration) {
|
||||
var called = false
|
||||
var $el = this
|
||||
@@ -77,10 +77,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: alert.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#alerts
|
||||
* Bootstrap: alert.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#alerts
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -96,7 +96,7 @@ if (typeof jQuery === 'undefined') {
|
||||
$(el).on('click', dismiss, this.close)
|
||||
}
|
||||
|
||||
Alert.VERSION = '3.3.7'
|
||||
Alert.VERSION = '3.4.1'
|
||||
|
||||
Alert.TRANSITION_DURATION = 150
|
||||
|
||||
@@ -109,7 +109,8 @@ if (typeof jQuery === 'undefined') {
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
||||
}
|
||||
|
||||
var $parent = $(selector === '#' ? [] : selector)
|
||||
selector = selector === '#' ? [] : selector
|
||||
var $parent = $(document).find(selector)
|
||||
|
||||
if (e) e.preventDefault()
|
||||
|
||||
@@ -172,10 +173,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: button.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#buttons
|
||||
* Bootstrap: button.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#buttons
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -192,7 +193,7 @@ if (typeof jQuery === 'undefined') {
|
||||
this.isLoading = false
|
||||
}
|
||||
|
||||
Button.VERSION = '3.3.7'
|
||||
Button.VERSION = '3.4.1'
|
||||
|
||||
Button.DEFAULTS = {
|
||||
loadingText: 'loading...'
|
||||
@@ -298,10 +299,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: carousel.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#carousel
|
||||
* Bootstrap: carousel.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#carousel
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -329,7 +330,7 @@ if (typeof jQuery === 'undefined') {
|
||||
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
||||
}
|
||||
|
||||
Carousel.VERSION = '3.3.7'
|
||||
Carousel.VERSION = '3.4.1'
|
||||
|
||||
Carousel.TRANSITION_DURATION = 600
|
||||
|
||||
@@ -443,7 +444,9 @@ if (typeof jQuery === 'undefined') {
|
||||
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
|
||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||
$next.addClass(type)
|
||||
$next[0].offsetWidth // force reflow
|
||||
if (typeof $next === 'object' && $next.length) {
|
||||
$next[0].offsetWidth // force reflow
|
||||
}
|
||||
$active.addClass(direction)
|
||||
$next.addClass(direction)
|
||||
$active
|
||||
@@ -505,10 +508,17 @@ if (typeof jQuery === 'undefined') {
|
||||
// =================
|
||||
|
||||
var clickHandler = function (e) {
|
||||
var href
|
||||
var $this = $(this)
|
||||
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
|
||||
var href = $this.attr('href')
|
||||
if (href) {
|
||||
href = href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
||||
}
|
||||
|
||||
var target = $this.attr('data-target') || href
|
||||
var $target = $(document).find(target)
|
||||
|
||||
if (!$target.hasClass('carousel')) return
|
||||
|
||||
var options = $.extend({}, $target.data(), $this.data())
|
||||
var slideIndex = $this.attr('data-slide-to')
|
||||
if (slideIndex) options.interval = false
|
||||
@@ -536,10 +546,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: collapse.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#collapse
|
||||
* Bootstrap: collapse.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#collapse
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -567,7 +577,7 @@ if (typeof jQuery === 'undefined') {
|
||||
if (this.options.toggle) this.toggle()
|
||||
}
|
||||
|
||||
Collapse.VERSION = '3.3.7'
|
||||
Collapse.VERSION = '3.4.1'
|
||||
|
||||
Collapse.TRANSITION_DURATION = 350
|
||||
|
||||
@@ -674,7 +684,7 @@ if (typeof jQuery === 'undefined') {
|
||||
}
|
||||
|
||||
Collapse.prototype.getParent = function () {
|
||||
return $(this.options.parent)
|
||||
return $(document).find(this.options.parent)
|
||||
.find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
|
||||
.each($.proxy(function (i, element) {
|
||||
var $element = $(element)
|
||||
@@ -697,7 +707,7 @@ if (typeof jQuery === 'undefined') {
|
||||
var target = $trigger.attr('data-target')
|
||||
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
||||
|
||||
return $(target)
|
||||
return $(document).find(target)
|
||||
}
|
||||
|
||||
|
||||
@@ -749,10 +759,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: dropdown.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#dropdowns
|
||||
* Bootstrap: dropdown.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#dropdowns
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -769,7 +779,7 @@ if (typeof jQuery === 'undefined') {
|
||||
$(element).on('click.bs.dropdown', this.toggle)
|
||||
}
|
||||
|
||||
Dropdown.VERSION = '3.3.7'
|
||||
Dropdown.VERSION = '3.4.1'
|
||||
|
||||
function getParent($this) {
|
||||
var selector = $this.attr('data-target')
|
||||
@@ -779,7 +789,7 @@ if (typeof jQuery === 'undefined') {
|
||||
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
||||
}
|
||||
|
||||
var $parent = selector && $(selector)
|
||||
var $parent = selector !== '#' ? $(document).find(selector) : null
|
||||
|
||||
return $parent && $parent.length ? $parent : $this.parent()
|
||||
}
|
||||
@@ -915,10 +925,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: modal.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#modals
|
||||
* Bootstrap: modal.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#modals
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -930,15 +940,16 @@ if (typeof jQuery === 'undefined') {
|
||||
// ======================
|
||||
|
||||
var Modal = function (element, options) {
|
||||
this.options = options
|
||||
this.$body = $(document.body)
|
||||
this.$element = $(element)
|
||||
this.$dialog = this.$element.find('.modal-dialog')
|
||||
this.$backdrop = null
|
||||
this.isShown = null
|
||||
this.originalBodyPad = null
|
||||
this.scrollbarWidth = 0
|
||||
this.options = options
|
||||
this.$body = $(document.body)
|
||||
this.$element = $(element)
|
||||
this.$dialog = this.$element.find('.modal-dialog')
|
||||
this.$backdrop = null
|
||||
this.isShown = null
|
||||
this.originalBodyPad = null
|
||||
this.scrollbarWidth = 0
|
||||
this.ignoreBackdropClick = false
|
||||
this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom'
|
||||
|
||||
if (this.options.remote) {
|
||||
this.$element
|
||||
@@ -949,7 +960,7 @@ if (typeof jQuery === 'undefined') {
|
||||
}
|
||||
}
|
||||
|
||||
Modal.VERSION = '3.3.7'
|
||||
Modal.VERSION = '3.4.1'
|
||||
|
||||
Modal.TRANSITION_DURATION = 300
|
||||
Modal.BACKDROP_TRANSITION_DURATION = 150
|
||||
@@ -966,7 +977,7 @@ if (typeof jQuery === 'undefined') {
|
||||
|
||||
Modal.prototype.show = function (_relatedTarget) {
|
||||
var that = this
|
||||
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
|
||||
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
|
||||
|
||||
this.$element.trigger(e)
|
||||
|
||||
@@ -1057,8 +1068,8 @@ if (typeof jQuery === 'undefined') {
|
||||
.off('focusin.bs.modal') // guard against infinite focus loop
|
||||
.on('focusin.bs.modal', $.proxy(function (e) {
|
||||
if (document !== e.target &&
|
||||
this.$element[0] !== e.target &&
|
||||
!this.$element.has(e.target).length) {
|
||||
this.$element[0] !== e.target &&
|
||||
!this.$element.has(e.target).length) {
|
||||
this.$element.trigger('focus')
|
||||
}
|
||||
}, this))
|
||||
@@ -1160,7 +1171,7 @@ if (typeof jQuery === 'undefined') {
|
||||
var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
|
||||
|
||||
this.$element.css({
|
||||
paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
|
||||
paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
|
||||
paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
|
||||
})
|
||||
}
|
||||
@@ -1185,11 +1196,26 @@ if (typeof jQuery === 'undefined') {
|
||||
Modal.prototype.setScrollbar = function () {
|
||||
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
||||
this.originalBodyPad = document.body.style.paddingRight || ''
|
||||
if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
||||
var scrollbarWidth = this.scrollbarWidth
|
||||
if (this.bodyIsOverflowing) {
|
||||
this.$body.css('padding-right', bodyPad + scrollbarWidth)
|
||||
$(this.fixedContent).each(function (index, element) {
|
||||
var actualPadding = element.style.paddingRight
|
||||
var calculatedPadding = $(element).css('padding-right')
|
||||
$(element)
|
||||
.data('padding-right', actualPadding)
|
||||
.css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px')
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Modal.prototype.resetScrollbar = function () {
|
||||
this.$body.css('padding-right', this.originalBodyPad)
|
||||
$(this.fixedContent).each(function (index, element) {
|
||||
var padding = $(element).data('padding-right')
|
||||
$(element).removeData('padding-right')
|
||||
element.style.paddingRight = padding ? padding : ''
|
||||
})
|
||||
}
|
||||
|
||||
Modal.prototype.measureScrollbar = function () { // thx walsh
|
||||
@@ -1207,8 +1233,8 @@ if (typeof jQuery === 'undefined') {
|
||||
|
||||
function Plugin(option, _relatedTarget) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
var data = $this.data('bs.modal')
|
||||
var $this = $(this)
|
||||
var data = $this.data('bs.modal')
|
||||
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
||||
|
||||
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
||||
@@ -1219,7 +1245,7 @@ if (typeof jQuery === 'undefined') {
|
||||
|
||||
var old = $.fn.modal
|
||||
|
||||
$.fn.modal = Plugin
|
||||
$.fn.modal = Plugin
|
||||
$.fn.modal.Constructor = Modal
|
||||
|
||||
|
||||
@@ -1236,10 +1262,13 @@ if (typeof jQuery === 'undefined') {
|
||||
// ==============
|
||||
|
||||
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
|
||||
var $this = $(this)
|
||||
var href = $this.attr('href')
|
||||
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
|
||||
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
||||
var $this = $(this)
|
||||
var href = $this.attr('href')
|
||||
var target = $this.attr('data-target') ||
|
||||
(href && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
|
||||
|
||||
var $target = $(document).find(target)
|
||||
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
||||
|
||||
if ($this.is('a')) e.preventDefault()
|
||||
|
||||
@@ -1255,18 +1284,148 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: tooltip.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#tooltip
|
||||
* Bootstrap: tooltip.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#tooltip
|
||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
|
||||
+function ($) {
|
||||
'use strict';
|
||||
|
||||
var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']
|
||||
|
||||
var uriAttrs = [
|
||||
'background',
|
||||
'cite',
|
||||
'href',
|
||||
'itemtype',
|
||||
'longdesc',
|
||||
'poster',
|
||||
'src',
|
||||
'xlink:href'
|
||||
]
|
||||
|
||||
var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
|
||||
|
||||
var DefaultWhitelist = {
|
||||
// Global attributes allowed on any supplied element below.
|
||||
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
|
||||
a: ['target', 'href', 'title', 'rel'],
|
||||
area: [],
|
||||
b: [],
|
||||
br: [],
|
||||
col: [],
|
||||
code: [],
|
||||
div: [],
|
||||
em: [],
|
||||
hr: [],
|
||||
h1: [],
|
||||
h2: [],
|
||||
h3: [],
|
||||
h4: [],
|
||||
h5: [],
|
||||
h6: [],
|
||||
i: [],
|
||||
img: ['src', 'alt', 'title', 'width', 'height'],
|
||||
li: [],
|
||||
ol: [],
|
||||
p: [],
|
||||
pre: [],
|
||||
s: [],
|
||||
small: [],
|
||||
span: [],
|
||||
sub: [],
|
||||
sup: [],
|
||||
strong: [],
|
||||
u: [],
|
||||
ul: []
|
||||
}
|
||||
|
||||
/**
|
||||
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
||||
*
|
||||
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
|
||||
|
||||
/**
|
||||
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
||||
*
|
||||
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
|
||||
*/
|
||||
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
|
||||
|
||||
function allowedAttribute(attr, allowedAttributeList) {
|
||||
var attrName = attr.nodeName.toLowerCase()
|
||||
|
||||
if ($.inArray(attrName, allowedAttributeList) !== -1) {
|
||||
if ($.inArray(attrName, uriAttrs) !== -1) {
|
||||
return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
var regExp = $(allowedAttributeList).filter(function (index, value) {
|
||||
return value instanceof RegExp
|
||||
})
|
||||
|
||||
// Check if a regular expression validates the attribute.
|
||||
for (var i = 0, l = regExp.length; i < l; i++) {
|
||||
if (attrName.match(regExp[i])) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
|
||||
if (unsafeHtml.length === 0) {
|
||||
return unsafeHtml
|
||||
}
|
||||
|
||||
if (sanitizeFn && typeof sanitizeFn === 'function') {
|
||||
return sanitizeFn(unsafeHtml)
|
||||
}
|
||||
|
||||
// IE 8 and below don't support createHTMLDocument
|
||||
if (!document.implementation || !document.implementation.createHTMLDocument) {
|
||||
return unsafeHtml
|
||||
}
|
||||
|
||||
var createdDocument = document.implementation.createHTMLDocument('sanitization')
|
||||
createdDocument.body.innerHTML = unsafeHtml
|
||||
|
||||
var whitelistKeys = $.map(whiteList, function (el, i) { return i })
|
||||
var elements = $(createdDocument.body).find('*')
|
||||
|
||||
for (var i = 0, len = elements.length; i < len; i++) {
|
||||
var el = elements[i]
|
||||
var elName = el.nodeName.toLowerCase()
|
||||
|
||||
if ($.inArray(elName, whitelistKeys) === -1) {
|
||||
el.parentNode.removeChild(el)
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
var attributeList = $.map(el.attributes, function (el) { return el })
|
||||
var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])
|
||||
|
||||
for (var j = 0, len2 = attributeList.length; j < len2; j++) {
|
||||
if (!allowedAttribute(attributeList[j], whitelistedAttributes)) {
|
||||
el.removeAttribute(attributeList[j].nodeName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return createdDocument.body.innerHTML
|
||||
}
|
||||
|
||||
// TOOLTIP PUBLIC CLASS DEFINITION
|
||||
// ===============================
|
||||
|
||||
@@ -1282,7 +1441,7 @@ if (typeof jQuery === 'undefined') {
|
||||
this.init('tooltip', element, options)
|
||||
}
|
||||
|
||||
Tooltip.VERSION = '3.3.7'
|
||||
Tooltip.VERSION = '3.4.1'
|
||||
|
||||
Tooltip.TRANSITION_DURATION = 150
|
||||
|
||||
@@ -1299,7 +1458,10 @@ if (typeof jQuery === 'undefined') {
|
||||
viewport: {
|
||||
selector: 'body',
|
||||
padding: 0
|
||||
}
|
||||
},
|
||||
sanitize : true,
|
||||
sanitizeFn : null,
|
||||
whiteList : DefaultWhitelist
|
||||
}
|
||||
|
||||
Tooltip.prototype.init = function (type, element, options) {
|
||||
@@ -1307,7 +1469,7 @@ if (typeof jQuery === 'undefined') {
|
||||
this.type = type
|
||||
this.$element = $(element)
|
||||
this.options = this.getOptions(options)
|
||||
this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
||||
this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
|
||||
this.inState = { click: false, hover: false, focus: false }
|
||||
|
||||
if (this.$element[0] instanceof document.constructor && !this.options.selector) {
|
||||
@@ -1340,7 +1502,15 @@ if (typeof jQuery === 'undefined') {
|
||||
}
|
||||
|
||||
Tooltip.prototype.getOptions = function (options) {
|
||||
options = $.extend({}, this.getDefaults(), this.$element.data(), options)
|
||||
var dataAttributes = this.$element.data()
|
||||
|
||||
for (var dataAttr in dataAttributes) {
|
||||
if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {
|
||||
delete dataAttributes[dataAttr]
|
||||
}
|
||||
}
|
||||
|
||||
options = $.extend({}, this.getDefaults(), dataAttributes, options)
|
||||
|
||||
if (options.delay && typeof options.delay == 'number') {
|
||||
options.delay = {
|
||||
@@ -1349,6 +1519,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}
|
||||
}
|
||||
|
||||
if (options.sanitize) {
|
||||
options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn)
|
||||
}
|
||||
|
||||
return options
|
||||
}
|
||||
|
||||
@@ -1460,7 +1634,7 @@ if (typeof jQuery === 'undefined') {
|
||||
.addClass(placement)
|
||||
.data('bs.' + this.type, this)
|
||||
|
||||
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||
this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element)
|
||||
this.$element.trigger('inserted.bs.' + this.type)
|
||||
|
||||
var pos = this.getPosition()
|
||||
@@ -1562,7 +1736,16 @@ if (typeof jQuery === 'undefined') {
|
||||
var $tip = this.tip()
|
||||
var title = this.getTitle()
|
||||
|
||||
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
||||
if (this.options.html) {
|
||||
if (this.options.sanitize) {
|
||||
title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn)
|
||||
}
|
||||
|
||||
$tip.find('.tooltip-inner').html(title)
|
||||
} else {
|
||||
$tip.find('.tooltip-inner').text(title)
|
||||
}
|
||||
|
||||
$tip.removeClass('fade in top bottom left right')
|
||||
}
|
||||
|
||||
@@ -1743,6 +1926,9 @@ if (typeof jQuery === 'undefined') {
|
||||
})
|
||||
}
|
||||
|
||||
Tooltip.prototype.sanitizeHtml = function (unsafeHtml) {
|
||||
return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn)
|
||||
}
|
||||
|
||||
// TOOLTIP PLUGIN DEFINITION
|
||||
// =========================
|
||||
@@ -1776,10 +1962,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: popover.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#popovers
|
||||
* Bootstrap: popover.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#popovers
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -1796,7 +1982,7 @@ if (typeof jQuery === 'undefined') {
|
||||
|
||||
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
||||
|
||||
Popover.VERSION = '3.3.7'
|
||||
Popover.VERSION = '3.4.1'
|
||||
|
||||
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
||||
placement: 'right',
|
||||
@@ -1822,10 +2008,25 @@ if (typeof jQuery === 'undefined') {
|
||||
var title = this.getTitle()
|
||||
var content = this.getContent()
|
||||
|
||||
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
||||
$tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
|
||||
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
|
||||
](content)
|
||||
if (this.options.html) {
|
||||
var typeContent = typeof content
|
||||
|
||||
if (this.options.sanitize) {
|
||||
title = this.sanitizeHtml(title)
|
||||
|
||||
if (typeContent === 'string') {
|
||||
content = this.sanitizeHtml(content)
|
||||
}
|
||||
}
|
||||
|
||||
$tip.find('.popover-title').html(title)
|
||||
$tip.find('.popover-content').children().detach().end()[
|
||||
typeContent === 'string' ? 'html' : 'append'
|
||||
](content)
|
||||
} else {
|
||||
$tip.find('.popover-title').text(title)
|
||||
$tip.find('.popover-content').children().detach().end().text(content)
|
||||
}
|
||||
|
||||
$tip.removeClass('fade top bottom left right in')
|
||||
|
||||
@@ -1844,8 +2045,8 @@ if (typeof jQuery === 'undefined') {
|
||||
|
||||
return $e.attr('data-content')
|
||||
|| (typeof o.content == 'function' ?
|
||||
o.content.call($e[0]) :
|
||||
o.content)
|
||||
o.content.call($e[0]) :
|
||||
o.content)
|
||||
}
|
||||
|
||||
Popover.prototype.arrow = function () {
|
||||
@@ -1885,10 +2086,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: scrollspy.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#scrollspy
|
||||
* Bootstrap: scrollspy.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#scrollspy
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -1914,7 +2115,7 @@ if (typeof jQuery === 'undefined') {
|
||||
this.process()
|
||||
}
|
||||
|
||||
ScrollSpy.VERSION = '3.3.7'
|
||||
ScrollSpy.VERSION = '3.4.1'
|
||||
|
||||
ScrollSpy.DEFAULTS = {
|
||||
offset: 10
|
||||
@@ -2058,10 +2259,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: tab.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#tabs
|
||||
* Bootstrap: tab.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#tabs
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -2078,7 +2279,7 @@ if (typeof jQuery === 'undefined') {
|
||||
// jscs:enable requireDollarBeforejQueryAssignment
|
||||
}
|
||||
|
||||
Tab.VERSION = '3.3.7'
|
||||
Tab.VERSION = '3.4.1'
|
||||
|
||||
Tab.TRANSITION_DURATION = 150
|
||||
|
||||
@@ -2107,7 +2308,7 @@ if (typeof jQuery === 'undefined') {
|
||||
|
||||
if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
|
||||
|
||||
var $target = $(selector)
|
||||
var $target = $(document).find(selector)
|
||||
|
||||
this.activate($this.closest('li'), $ul)
|
||||
this.activate($target, $target.parent(), function () {
|
||||
@@ -2132,15 +2333,15 @@ if (typeof jQuery === 'undefined') {
|
||||
$active
|
||||
.removeClass('active')
|
||||
.find('> .dropdown-menu > .active')
|
||||
.removeClass('active')
|
||||
.removeClass('active')
|
||||
.end()
|
||||
.find('[data-toggle="tab"]')
|
||||
.attr('aria-expanded', false)
|
||||
.attr('aria-expanded', false)
|
||||
|
||||
element
|
||||
.addClass('active')
|
||||
.find('[data-toggle="tab"]')
|
||||
.attr('aria-expanded', true)
|
||||
.attr('aria-expanded', true)
|
||||
|
||||
if (transition) {
|
||||
element[0].offsetWidth // reflow for transition
|
||||
@@ -2152,10 +2353,10 @@ if (typeof jQuery === 'undefined') {
|
||||
if (element.parent('.dropdown-menu').length) {
|
||||
element
|
||||
.closest('li.dropdown')
|
||||
.addClass('active')
|
||||
.addClass('active')
|
||||
.end()
|
||||
.find('[data-toggle="tab"]')
|
||||
.attr('aria-expanded', true)
|
||||
.attr('aria-expanded', true)
|
||||
}
|
||||
|
||||
callback && callback()
|
||||
@@ -2214,10 +2415,10 @@ if (typeof jQuery === 'undefined') {
|
||||
}(jQuery);
|
||||
|
||||
/* ========================================================================
|
||||
* Bootstrap: affix.js v3.3.7
|
||||
* http://getbootstrap.com/javascript/#affix
|
||||
* Bootstrap: affix.js v3.4.1
|
||||
* https://getbootstrap.com/docs/3.4/javascript/#affix
|
||||
* ========================================================================
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* ======================================================================== */
|
||||
|
||||
@@ -2231,7 +2432,9 @@ if (typeof jQuery === 'undefined') {
|
||||
var Affix = function (element, options) {
|
||||
this.options = $.extend({}, Affix.DEFAULTS, options)
|
||||
|
||||
this.$target = $(this.options.target)
|
||||
var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target)
|
||||
|
||||
this.$target = target
|
||||
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
||||
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
||||
|
||||
@@ -2243,7 +2446,7 @@ if (typeof jQuery === 'undefined') {
|
||||
this.checkPosition()
|
||||
}
|
||||
|
||||
Affix.VERSION = '3.3.7'
|
||||
Affix.VERSION = '3.4.1'
|
||||
|
||||
Affix.RESET = 'affix affix-top affix-bottom'
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
289
bower_components/bootstrap/grunt/.stylelintrc
vendored
Normal file
289
bower_components/bootstrap/grunt/.stylelintrc
vendored
Normal file
@@ -0,0 +1,289 @@
|
||||
{
|
||||
"extends": [
|
||||
"stylelint-config-standard"
|
||||
],
|
||||
"plugins": [
|
||||
"stylelint-order"
|
||||
],
|
||||
"rules": {
|
||||
"at-rule-empty-line-before": null,
|
||||
"at-rule-name-space-after": "always",
|
||||
"at-rule-no-vendor-prefix": true,
|
||||
"at-rule-semicolon-space-before": "never",
|
||||
"block-closing-brace-empty-line-before": null,
|
||||
"block-closing-brace-newline-after": null,
|
||||
"block-opening-brace-space-before": null,
|
||||
"color-named": "never",
|
||||
"declaration-block-semicolon-newline-after": "always-multi-line",
|
||||
"declaration-block-semicolon-newline-before": "never-multi-line",
|
||||
"declaration-block-semicolon-space-after": "always-single-line",
|
||||
"declaration-empty-line-before": null,
|
||||
"declaration-no-important": true,
|
||||
"font-family-name-quotes": "always-where-recommended",
|
||||
"font-weight-notation": [
|
||||
"numeric",
|
||||
{
|
||||
"ignore": [
|
||||
"relative"
|
||||
]
|
||||
}
|
||||
],
|
||||
"function-url-no-scheme-relative": true,
|
||||
"function-url-quotes": "always",
|
||||
"length-zero-no-unit": true,
|
||||
"max-empty-lines": 2,
|
||||
"max-line-length": null,
|
||||
"media-feature-name-no-unknown": [
|
||||
true,
|
||||
{
|
||||
"ignoreMediaFeatureNames": [
|
||||
"prefers-reduced-motion"
|
||||
]
|
||||
}
|
||||
],
|
||||
"media-feature-name-no-vendor-prefix": true,
|
||||
"media-feature-parentheses-space-inside": "never",
|
||||
"media-feature-range-operator-space-after": "always",
|
||||
"media-feature-range-operator-space-before": "never",
|
||||
"no-descending-specificity": null,
|
||||
"no-duplicate-selectors": true,
|
||||
"number-leading-zero": "never",
|
||||
"order/properties-order": [
|
||||
"position",
|
||||
"top",
|
||||
"right",
|
||||
"bottom",
|
||||
"left",
|
||||
"z-index",
|
||||
"box-sizing",
|
||||
"display",
|
||||
"flex",
|
||||
"flex-align",
|
||||
"flex-basis",
|
||||
"flex-direction",
|
||||
"flex-wrap",
|
||||
"flex-flow",
|
||||
"flex-shrink",
|
||||
"flex-grow",
|
||||
"flex-order",
|
||||
"flex-pack",
|
||||
"align-content",
|
||||
"align-items",
|
||||
"align-self",
|
||||
"justify-content",
|
||||
"order",
|
||||
"float",
|
||||
"width",
|
||||
"min-width",
|
||||
"max-width",
|
||||
"height",
|
||||
"min-height",
|
||||
"max-height",
|
||||
"padding",
|
||||
"padding-top",
|
||||
"padding-right",
|
||||
"padding-bottom",
|
||||
"padding-left",
|
||||
"margin",
|
||||
"margin-top",
|
||||
"margin-right",
|
||||
"margin-bottom",
|
||||
"margin-left",
|
||||
"overflow",
|
||||
"overflow-x",
|
||||
"overflow-y",
|
||||
"-webkit-overflow-scrolling",
|
||||
"-ms-overflow-x",
|
||||
"-ms-overflow-y",
|
||||
"-ms-overflow-style",
|
||||
"columns",
|
||||
"column-count",
|
||||
"column-fill",
|
||||
"column-gap",
|
||||
"column-rule",
|
||||
"column-rule-width",
|
||||
"column-rule-style",
|
||||
"column-rule-color",
|
||||
"column-span",
|
||||
"column-width",
|
||||
"orphans",
|
||||
"widows",
|
||||
"clip",
|
||||
"clear",
|
||||
"font",
|
||||
"font-family",
|
||||
"font-size",
|
||||
"font-style",
|
||||
"font-weight",
|
||||
"font-variant",
|
||||
"font-size-adjust",
|
||||
"font-stretch",
|
||||
"font-effect",
|
||||
"font-emphasize",
|
||||
"font-emphasize-position",
|
||||
"font-emphasize-style",
|
||||
"font-smooth",
|
||||
"src",
|
||||
"hyphens",
|
||||
"line-height",
|
||||
"color",
|
||||
"text-align",
|
||||
"text-align-last",
|
||||
"text-emphasis",
|
||||
"text-emphasis-color",
|
||||
"text-emphasis-style",
|
||||
"text-emphasis-position",
|
||||
"text-decoration",
|
||||
"text-indent",
|
||||
"text-justify",
|
||||
"text-outline",
|
||||
"-ms-text-overflow",
|
||||
"text-overflow",
|
||||
"text-overflow-ellipsis",
|
||||
"text-overflow-mode",
|
||||
"text-shadow",
|
||||
"text-transform",
|
||||
"text-wrap",
|
||||
"-webkit-text-size-adjust",
|
||||
"-ms-text-size-adjust",
|
||||
"letter-spacing",
|
||||
"-ms-word-break",
|
||||
"word-break",
|
||||
"word-spacing",
|
||||
"-ms-word-wrap",
|
||||
"word-wrap",
|
||||
"overflow-wrap",
|
||||
"tab-size",
|
||||
"white-space",
|
||||
"vertical-align",
|
||||
"direction",
|
||||
"unicode-bidi",
|
||||
"list-style",
|
||||
"list-style-position",
|
||||
"list-style-type",
|
||||
"list-style-image",
|
||||
"pointer-events",
|
||||
"-ms-touch-action",
|
||||
"touch-action",
|
||||
"cursor",
|
||||
"visibility",
|
||||
"zoom",
|
||||
"table-layout",
|
||||
"empty-cells",
|
||||
"caption-side",
|
||||
"border-spacing",
|
||||
"border-collapse",
|
||||
"content",
|
||||
"quotes",
|
||||
"counter-reset",
|
||||
"counter-increment",
|
||||
"resize",
|
||||
"user-select",
|
||||
"nav-index",
|
||||
"nav-up",
|
||||
"nav-right",
|
||||
"nav-down",
|
||||
"nav-left",
|
||||
"background",
|
||||
"background-color",
|
||||
"background-image",
|
||||
"filter",
|
||||
"background-repeat",
|
||||
"background-attachment",
|
||||
"background-position",
|
||||
"background-position-x",
|
||||
"background-position-y",
|
||||
"background-clip",
|
||||
"background-origin",
|
||||
"background-size",
|
||||
"border",
|
||||
"border-color",
|
||||
"border-style",
|
||||
"border-width",
|
||||
"border-top",
|
||||
"border-top-color",
|
||||
"border-top-style",
|
||||
"border-top-width",
|
||||
"border-right",
|
||||
"border-right-color",
|
||||
"border-right-style",
|
||||
"border-right-width",
|
||||
"border-bottom",
|
||||
"border-bottom-color",
|
||||
"border-bottom-style",
|
||||
"border-bottom-width",
|
||||
"border-left",
|
||||
"border-left-color",
|
||||
"border-left-style",
|
||||
"border-left-width",
|
||||
"border-radius",
|
||||
"border-top-left-radius",
|
||||
"border-top-right-radius",
|
||||
"border-bottom-right-radius",
|
||||
"border-bottom-left-radius",
|
||||
"border-image",
|
||||
"border-image-source",
|
||||
"border-image-slice",
|
||||
"border-image-width",
|
||||
"border-image-outset",
|
||||
"border-image-repeat",
|
||||
"outline",
|
||||
"outline-width",
|
||||
"outline-style",
|
||||
"outline-color",
|
||||
"outline-offset",
|
||||
"box-shadow",
|
||||
"opacity",
|
||||
"-ms-interpolation-mode",
|
||||
"page-break-after",
|
||||
"page-break-before",
|
||||
"page-break-inside",
|
||||
"transition",
|
||||
"transition-delay",
|
||||
"transition-timing-function",
|
||||
"transition-duration",
|
||||
"transition-property",
|
||||
"transform",
|
||||
"transform-origin",
|
||||
"perspective",
|
||||
"appearance",
|
||||
"animation",
|
||||
"animation-name",
|
||||
"animation-duration",
|
||||
"animation-play-state",
|
||||
"animation-timing-function",
|
||||
"animation-delay",
|
||||
"animation-iteration-count",
|
||||
"animation-direction",
|
||||
"animation-fill-mode",
|
||||
"fill",
|
||||
"stroke"
|
||||
],
|
||||
"property-no-vendor-prefix": true,
|
||||
"rule-empty-line-before": null,
|
||||
"selector-attribute-quotes": "always",
|
||||
"selector-pseudo-element-colon-notation": "single",
|
||||
"selector-list-comma-newline-after": "always",
|
||||
"selector-list-comma-newline-before": "never-multi-line",
|
||||
"selector-list-comma-space-after": "always-single-line",
|
||||
"selector-list-comma-space-before": "never-single-line",
|
||||
"selector-max-attribute": 2,
|
||||
"selector-max-class": 4,
|
||||
"selector-max-combinators": 4,
|
||||
"selector-max-compound-selectors": 4,
|
||||
"selector-max-empty-lines": 1,
|
||||
"selector-max-id": 0,
|
||||
"selector-max-specificity": null,
|
||||
"selector-max-type": 2,
|
||||
"selector-max-universal": 1,
|
||||
"selector-no-qualifying-type": true,
|
||||
"selector-no-vendor-prefix": true,
|
||||
"shorthand-property-no-redundant-values": true,
|
||||
"string-quotes": "double",
|
||||
"value-keyword-case": "lower",
|
||||
"value-list-comma-newline-after": "never-multi-line",
|
||||
"value-list-comma-newline-before": "never-multi-line",
|
||||
"value-list-comma-space-after": "always",
|
||||
"value-no-vendor-prefix": true
|
||||
}
|
||||
}
|
||||
86
bower_components/bootstrap/grunt/browsers.js
vendored
Normal file
86
bower_components/bootstrap/grunt/browsers.js
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
|
||||
|
||||
var browsers = {
|
||||
safariMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Yosemite',
|
||||
browser: 'Safari',
|
||||
browser_version: '8.0'
|
||||
},
|
||||
chromeMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Yosemite',
|
||||
browser : 'Chrome',
|
||||
browser_version : 'latest'
|
||||
},
|
||||
firefoxMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Yosemite',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
'ie11Win8.1': {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8.1',
|
||||
browser: 'IE',
|
||||
browser_version: '11.0'
|
||||
},
|
||||
ie10Win8: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8',
|
||||
browser: 'IE',
|
||||
browser_version: '10.0'
|
||||
},
|
||||
ie9Win7: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '7',
|
||||
browser: 'IE',
|
||||
browser_version: '9.0'
|
||||
},
|
||||
ie8Win7: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '7',
|
||||
browser: 'IE',
|
||||
browser_version: '8.0'
|
||||
},
|
||||
'chromeWin8.1': {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8.1',
|
||||
browser: 'Chrome',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
'firefoxWin8.1': {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8.1',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
iphone6: {
|
||||
base: 'BrowserStack',
|
||||
os: 'ios',
|
||||
os_version: '11.2',
|
||||
device: 'iPhone 6',
|
||||
real_mobile: true
|
||||
},
|
||||
nexus5: {
|
||||
base: 'BrowserStack',
|
||||
os: 'android',
|
||||
os_version: '4.4',
|
||||
device: 'Google Nexus 5',
|
||||
real_mobile: true
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
list: browsers,
|
||||
keys: Object.keys(browsers)
|
||||
};
|
||||
@@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap Grunt task for the CommonJS module generation
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2014-2015 Twitter, Inc.
|
||||
* https://getbootstrap.com/
|
||||
* Copyright 2014-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
@@ -16,7 +16,7 @@ module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath)
|
||||
var destDir = path.dirname(destFilepath);
|
||||
|
||||
function srcPathToDestRequire(srcFilepath) {
|
||||
var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/');
|
||||
var requirePath = path.posix.relative(destDir, srcFilepath);
|
||||
return 'require(\'' + requirePath + '\')';
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap Grunt task for Glyphicons data generation
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2014-2015 Twitter, Inc.
|
||||
* https://getbootstrap.com/
|
||||
* Copyright 2014-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap Grunt task for parsing Less docstrings
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2014-2015 Twitter, Inc.
|
||||
* https://getbootstrap.com/
|
||||
* Copyright 2014-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2014-2015 Twitter, Inc.
|
||||
* https://getbootstrap.com/
|
||||
* Copyright 2014-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/* globals Set */
|
||||
/*!
|
||||
* Script to update version number references in the project.
|
||||
* Copyright 2015 Twitter, Inc.
|
||||
* Copyright 2015-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
var fs = require('fs');
|
||||
|
||||
@@ -11,23 +11,31 @@
|
||||
"../assets/js/src/customizer.js"
|
||||
],
|
||||
"docsJs": [
|
||||
"../assets/js/vendor/requestAnimationFrame-polyfill.js",
|
||||
"../assets/js/vendor/base64.js",
|
||||
"../assets/js/vendor/holder.min.js",
|
||||
"../assets/js/vendor/ZeroClipboard.min.js",
|
||||
"../assets/js/vendor/clipboard.min.js",
|
||||
"../assets/js/vendor/anchor.min.js",
|
||||
"../assets/js/src/application.js"
|
||||
"../assets/js/src/application.js",
|
||||
"../assets/js/src/search.js",
|
||||
"../assets/js/ie10-viewport-bug-workaround.js",
|
||||
"../assets/js/ie-emulation-modes-warning.js"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"autoprefixerBrowsers": [
|
||||
"Android 2.3",
|
||||
"Android >= 4",
|
||||
"Chrome >= 20",
|
||||
"Firefox >= 24",
|
||||
"Explorer >= 8",
|
||||
"iOS >= 6",
|
||||
"Opera >= 12",
|
||||
"Safari >= 6"
|
||||
],
|
||||
"autoprefixer": {
|
||||
"browsers": [
|
||||
"Android 2.3",
|
||||
"Android >= 4",
|
||||
"Chrome >= 20",
|
||||
"Firefox >= 24",
|
||||
"Explorer >= 8",
|
||||
"iOS >= 6",
|
||||
"Opera >= 12",
|
||||
"Safari >= 6"
|
||||
],
|
||||
"cascade": false
|
||||
},
|
||||
"jqueryCheck": [
|
||||
"if (typeof jQuery === 'undefined') {",
|
||||
" throw new Error('Bootstrap\\'s JavaScript requires jQuery')",
|
||||
|
||||
62
bower_components/bootstrap/grunt/generate-sri.js
vendored
Normal file
62
bower_components/bootstrap/grunt/generate-sri.js
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
'use strict';
|
||||
|
||||
/*!
|
||||
* Script to generate SRI hashes for use in our docs.
|
||||
* Remember to use the same vendor files as the CDN ones,
|
||||
* otherwise the hashes won't match!
|
||||
*
|
||||
* Copyright 2017-2019 The Bootstrap Authors
|
||||
* Copyright 2017-2019 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
var crypto = require('crypto');
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var replace = require('replace-in-file');
|
||||
|
||||
var configFile = path.join(__dirname, '../_config.yml');
|
||||
|
||||
// Array of objects which holds the files to generate SRI hashes for.
|
||||
// `file` is the path from the root folder
|
||||
// `configPropertyName` is the _config.yml variable's name of the file
|
||||
var files = [
|
||||
{
|
||||
file: 'dist/css/bootstrap.min.css',
|
||||
configPropertyName: 'css_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/css/bootstrap-theme.min.css',
|
||||
configPropertyName: 'css_theme_hash'
|
||||
},
|
||||
{
|
||||
file: 'dist/js/bootstrap.min.js',
|
||||
configPropertyName: 'js_hash'
|
||||
}
|
||||
];
|
||||
|
||||
files.forEach(function (file) {
|
||||
fs.readFile(file.file, 'utf8', function (err, data) {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
var algo = 'sha384';
|
||||
var hash = crypto.createHash(algo).update(data, 'utf8').digest('base64');
|
||||
var integrity = algo + '-' + hash;
|
||||
|
||||
console.log(file.configPropertyName + ': ' + integrity);
|
||||
|
||||
try {
|
||||
replace.sync({
|
||||
files: configFile,
|
||||
from: new RegExp('(\\s' + file.configPropertyName + ':\\s+"|\')(\\S+)("|\')'),
|
||||
to: '$1' + integrity + '$3'
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error occurred:', error);
|
||||
}
|
||||
});
|
||||
});
|
||||
79
bower_components/bootstrap/grunt/karma.conf.js
vendored
Normal file
79
bower_components/bootstrap/grunt/karma.conf.js
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
'use strict';
|
||||
|
||||
var ip = require('ip');
|
||||
var browserConfig = require('./browsers');
|
||||
var browserStack = process.env.BROWSER === 'true';
|
||||
|
||||
module.exports = function (config) {
|
||||
var conf = {
|
||||
basePath: '../',
|
||||
frameworks: ['qunit'],
|
||||
plugins: ['karma-qunit'],
|
||||
// list of files / patterns to load in the browser
|
||||
files: [
|
||||
'js/tests/vendor/jquery.min.js',
|
||||
'js/tooltip.js',
|
||||
'js/!(tooltip).js',
|
||||
'js/tests/unit/*.js'
|
||||
],
|
||||
reporters: ['dots'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
|
||||
logLevel: config.LOG_ERROR || config.LOG_WARN,
|
||||
autoWatch: false,
|
||||
singleRun: true,
|
||||
concurrency: Infinity,
|
||||
client: {
|
||||
qunit: {
|
||||
showUI: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (browserStack) {
|
||||
conf.hostname = ip.address();
|
||||
conf.browserStack = {
|
||||
username: process.env.BROWSER_STACK_USERNAME,
|
||||
accessKey: process.env.BROWSER_STACK_ACCESS_KEY,
|
||||
build: 'bootstrap-v3-' + new Date().toISOString(),
|
||||
project: 'Bootstrap v3',
|
||||
retryLimit: 1
|
||||
};
|
||||
conf.plugins.push('karma-browserstack-launcher');
|
||||
conf.customLaunchers = browserConfig.list;
|
||||
conf.browsers = browserConfig.keys;
|
||||
conf.reporters.push('BrowserStack');
|
||||
} else {
|
||||
conf.frameworks.push('detectBrowsers');
|
||||
conf.plugins.push(
|
||||
'karma-chrome-launcher',
|
||||
'karma-firefox-launcher',
|
||||
'karma-detect-browsers'
|
||||
);
|
||||
|
||||
conf.detectBrowsers = {
|
||||
usePhantomJS: false,
|
||||
postDetection: function (availableBrowser) {
|
||||
if (typeof process.env.TRAVIS_JOB_ID !== 'undefined' || availableBrowser.includes('Chrome')) {
|
||||
return ['ChromeHeadless'];
|
||||
}
|
||||
|
||||
if (availableBrowser.includes('Firefox')) {
|
||||
return ['FirefoxHeadless'];
|
||||
}
|
||||
|
||||
throw new Error('Please install Firefox or Chrome');
|
||||
}
|
||||
};
|
||||
|
||||
conf.customLaunchers = {
|
||||
FirefoxHeadless: {
|
||||
base: 'Firefox',
|
||||
flags: ['-headless']
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
config.set(conf);
|
||||
};
|
||||
2679
bower_components/bootstrap/grunt/npm-shrinkwrap.json
generated
vendored
2679
bower_components/bootstrap/grunt/npm-shrinkwrap.json
generated
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,82 +0,0 @@
|
||||
[
|
||||
# Docs: https://saucelabs.com/docs/platforms/webdriver
|
||||
|
||||
{
|
||||
browserName: "safari",
|
||||
platform: "OS X 10.10"
|
||||
},
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "OS X 10.10"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "OS X 10.10"
|
||||
},
|
||||
|
||||
# Mac Opera not currently supported by Sauce Labs
|
||||
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "11",
|
||||
platform: "Windows 8.1"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "10",
|
||||
platform: "Windows 8"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "9",
|
||||
platform: "Windows 7"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "8",
|
||||
platform: "Windows 7"
|
||||
},
|
||||
|
||||
# { # Unofficial
|
||||
# browserName: "internet explorer",
|
||||
# version: "7",
|
||||
# platform: "Windows XP"
|
||||
# },
|
||||
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "Windows 8.1"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "Windows 8.1"
|
||||
},
|
||||
|
||||
# Win Opera 15+ not currently supported by Sauce Labs
|
||||
|
||||
{
|
||||
browserName: "iphone",
|
||||
platform: "OS X 10.10",
|
||||
version: "9.2"
|
||||
},
|
||||
|
||||
# iOS Chrome not currently supported by Sauce Labs
|
||||
|
||||
# Linux (unofficial)
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "Linux"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "Linux"
|
||||
}
|
||||
|
||||
# Android Chrome not currently supported by Sauce Labs
|
||||
|
||||
# { # Android Browser (super-unofficial)
|
||||
# browserName: "android",
|
||||
# version: "4.0",
|
||||
# platform: "Linux"
|
||||
# }
|
||||
]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user