├── plugins
├── bootstrap
│ └── 3.3.5
│ │ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ │ └── bootstrap-theme.min.css
├── bootstrap-colorpicker
│ ├── dist
│ │ ├── img
│ │ │ └── bootstrap-colorpicker
│ │ │ │ ├── alpha.png
│ │ │ │ ├── hue.png
│ │ │ │ ├── saturation.png
│ │ │ │ ├── hue-horizontal.png
│ │ │ │ └── alpha-horizontal.png
│ │ ├── css
│ │ │ ├── bootstrap-colorpicker.min.css.map
│ │ │ ├── bootstrap-colorpicker.min.css
│ │ │ ├── bootstrap-colorpicker.css
│ │ │ └── bootstrap-colorpicker.css.map
│ │ └── js
│ │ │ └── bootstrap-colorpicker.min.js
│ ├── docs
│ │ ├── includes
│ │ │ ├── examples
│ │ │ │ ├── 01_basic.hbs
│ │ │ │ ├── 06_horizontal.hbs
│ │ │ │ ├── 05_transparent.hbs
│ │ │ │ ├── 02_component.hbs
│ │ │ │ ├── 04_events.hbs
│ │ │ │ ├── 07_inline.hbs
│ │ │ │ ├── 03_component_options.hbs
│ │ │ │ ├── 08_palette.hbs
│ │ │ │ ├── 11_modal.hbs
│ │ │ │ ├── 10_disabled.hbs
│ │ │ │ └── 09_size.hbs
│ │ │ ├── example.hbs
│ │ │ ├── social.hbs
│ │ │ ├── examples.hbs
│ │ │ └── api.hbs
│ │ ├── helpers
│ │ │ └── code
│ │ │ │ └── index.js
│ │ ├── pages
│ │ │ └── index.hbs
│ │ ├── layout.hbs
│ │ └── assets
│ │ │ └── main.css
│ ├── spec
│ │ ├── support
│ │ │ └── jasmine.json
│ │ └── color
│ │ │ └── hex-color-spec.js
│ ├── .editorconfig
│ ├── .npmignore
│ ├── .jshintrc
│ ├── composer.json
│ ├── .bower.json
│ ├── .travis.yml
│ ├── LICENSE
│ ├── src
│ │ ├── js
│ │ │ ├── colorpicker-plugin-wrapper.js
│ │ │ ├── colorpicker-defaults.js
│ │ │ ├── colorpicker-component.js
│ │ │ └── colorpicker-color.js
│ │ ├── less
│ │ │ └── colorpicker.less
│ │ └── sass
│ │ │ └── _colorpicker.scss
│ ├── serve.js
│ ├── README.md
│ ├── package.json
│ ├── .github
│ │ ├── PULL_REQUEST_TEMPLATE.md
│ │ ├── ISSUE_TEMPLATE.md
│ │ ├── CONTRIBUTING.md
│ │ └── CODE_OF_CONDUCT.md
│ └── Gruntfile.js
└── topology
│ └── layout.css
├── .idea
├── misc.xml
├── vcs.xml
├── modules.xml
└── topolofy-es5.iml
└── README.md
/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/alpha.png
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/hue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/hue.png
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/saturation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/saturation.png
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/hue-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/hue-horizontal.png
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/alpha-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/johnnyhhj/topology-es5/HEAD/plugins/bootstrap-colorpicker/dist/img/bootstrap-colorpicker/alpha-horizontal.png
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/01_basic.hbs:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/spec/support/jasmine.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec_dir": "spec",
3 | "spec_files": [
4 | "**/*[sS]pec.js"
5 | ],
6 | "helpers": [
7 | "helpers/**/*.js"
8 | ],
9 | "stopSpecOnExpectationFailure": false,
10 | "random": false
11 | }
12 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: http://EditorConfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | charset = utf-8
7 | end_of_line = lf
8 | indent_size = 2
9 | indent_style = space
10 | insert_final_newline = true
11 | trim_trailing_whitespace = true
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/06_horizontal.hbs:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/05_transparent.hbs:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 基于Topology的一个实现(es5+jquery+bootstrap)
2 | ## 主要功能有:
3 | ### 1.左侧栏基础节点的增加
4 | ### 2.点击节点和连线的右侧菜单的基础功能修改
5 | ### 3.画布右键菜单基础功能
6 | ### 4.下载png图片的功能
7 |
8 | ##### 直接打开项目下topology_es5.html文件就可以预览,无需部署,推荐使用webstorm来编辑
9 | ##### 感谢大佬开源这么好用的画图工具
10 | ##### topology项目地址:https://github.com/le5le-com/topology
11 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.npmignore:
--------------------------------------------------------------------------------
1 | *~
2 | .DS_Store
3 | .DS_Store*
4 | ehthumbs.db
5 | Thumbs.db
6 | *.log
7 | /node_modules/
8 | /bower_components/
9 | /nbproject/
10 | /gh-pages/
11 | /package-lock.json
12 | Gruntfile.js
13 | /build
14 | /docs
15 | /tests
16 | /spec
17 | .*
18 | /src/docs
19 | *.psd
20 | *.ai
21 | composer.json
22 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/02_component.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/04_events.hbs:
--------------------------------------------------------------------------------
1 | Change background color
2 |
9 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/07_inline.hbs:
--------------------------------------------------------------------------------
1 |
2 |
7 |
16 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "bitwise": false,
3 | "browser": true,
4 | "curly": true,
5 | "eqeqeq": true,
6 | "eqnull": true,
7 | "esnext": true,
8 | "immed": true,
9 | "jquery": true,
10 | "latedef": true,
11 | "newcap": true,
12 | "noarg": true,
13 | "node": true,
14 | "strict": false,
15 | "trailing": true,
16 | "undef": true,
17 | "predef" : ["define"]
18 | }
19 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/spec/color/hex-color-spec.js:
--------------------------------------------------------------------------------
1 | var Color = require("../../src/js/colorpicker-color.js");
2 |
3 | it("should return color in raw format", function(){
4 | var color = new Color('aabbcc');
5 | expect(color.toHex(true)).toEqual("#aabbcc");
6 | });
7 |
8 | it("should return color formatted", function(){
9 | var color = new Color('aabbcc');
10 | expect(color.toHex()).toEqual("aabbcc");
11 | });
12 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/03_component_options.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "itsjavi/bootstrap-colorpicker",
3 | "description": "Fancy and customizable colorpicker plugin for Twitter Bootstrap",
4 | "license": "Apache License Version 2.0",
5 | "authors": [
6 | {
7 | "name": "Javier Aguilar",
8 | "homepage": "https://itsjavi.com"
9 | }
10 | ],
11 | "minimum-stability": "dev",
12 | "require": {
13 | "components/jquery" : ">=1.10"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap-colorpicker",
3 | "homepage": "https://github.com/itsjavi/bootstrap-colorpicker",
4 | "version": "2.5.3",
5 | "_release": "2.5.3",
6 | "_resolution": {
7 | "type": "version",
8 | "tag": "2.5.3",
9 | "commit": "525cd6a0aa26ae95803bbf34d231c4163136a314"
10 | },
11 | "_source": "https://github.com/itsjavi/bootstrap-colorpicker.git",
12 | "_target": "^2.5.1",
13 | "_originalSource": "bootstrap-colorpicker"
14 | }
--------------------------------------------------------------------------------
/.idea/topolofy-es5.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "6"
4 | - "8"
5 | before_script:
6 | - npm install -g grunt-cli
7 | - curl -o- -L https://yarnpkg.com/install.sh | bash
8 |
9 | script:
10 | - yarn install
11 | - grunt --verbose
12 | # Check that files didn't change after running grunt. It should be run before pushing any code change.
13 | - if ! git diff --name-only --quiet -- dist docs src index.html --; then echo \"Files where modified after grunt execution!!...\"; exit 1; fi
14 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/example.hbs:
--------------------------------------------------------------------------------
1 |
2 |
{{title}}
3 | {{#if description}}
{{description}}
{{/if}}
4 |
5 |
6 | {{> (lookup . 'content') }}
7 |
8 |
View source
9 | {{#code}}
10 | {{> (lookup . 'content') }}
11 | {{/code}}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2012 Stefan Petre
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/helpers/code/index.js:
--------------------------------------------------------------------------------
1 | var beautify = require('js-beautify').html;
2 |
3 | var entityMap = {
4 | "&": "&",
5 | "<": "<",
6 | ">": ">",
7 | '"': '"',
8 | "'": ''',
9 | "/": '/'
10 | };
11 | module.exports.register = function (Handlebars, options) {
12 | Handlebars.registerHelper('code', function (hboptions) {
13 | var codeStr = beautify(String(hboptions.fn(this)).trim(), {
14 | "wrap_line_length": 80,
15 | "wrap_attributes": "auto",
16 | "indent_scripts": "normal"
17 | }).replace(/[&<>"'\/]/g, function (s) {
18 | return entityMap[s];
19 | });
20 |
21 | return '' + codeStr + '
';
22 | });
23 | };
24 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/08_palette.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
22 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/11_modal.hbs:
--------------------------------------------------------------------------------
1 |
2 | Show modal
3 |
4 |
16 |
21 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/10_disabled.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Enable
8 | Disable
9 |
10 |
24 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/social.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/src/js/colorpicker-plugin-wrapper.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Colorpicker v2.5.2
3 | * https://itsjavi.com/bootstrap-colorpicker/
4 | *
5 | * Originally written by (c) 2012 Stefan Petre
6 | * Licensed under the Apache License v2.0
7 | * http://www.apache.org/licenses/LICENSE-2.0.txt
8 | *
9 | */
10 |
11 | (function(root, factory) {
12 | if (typeof define === 'function' && define.amd) {
13 | // AMD. Register as an anonymous module unless amdModuleId is set
14 | define(["jquery"], function(jq) {
15 | return (factory(jq));
16 | });
17 | } else if (typeof exports === 'object') {
18 | // Node. Does not work with strict CommonJS, but
19 | // only CommonJS-like environments that support module.exports,
20 | // like Node.
21 | module.exports = factory(require("jquery"));
22 | } else if (jQuery && !jQuery.fn.colorpicker) {
23 | factory(jQuery);
24 | }
25 | }(this, function($) {
26 | 'use strict';
27 | //@colorpicker-color
28 | //@colorpicker-defaults
29 | //@colorpicker-component
30 | }));
31 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples/09_size.hbs:
--------------------------------------------------------------------------------
1 |
2 |
19 |
38 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/serve.js:
--------------------------------------------------------------------------------
1 | /*
2 | Script for serving index.html and other static content with Node.
3 | Run it using `node serve` from your terminal and navigate to http://localhost:5000
4 | in order to test your changes in the browser.
5 | */
6 |
7 | var http = require('http'), fs = require('fs'), mimeTypes = {
8 | 'html': 'text/html',
9 | 'css': 'text/css',
10 | 'js': 'text/javascript',
11 | 'json': 'application/json',
12 | 'png': 'image/png',
13 | 'jpg': 'image/jpg'
14 | };
15 |
16 | http.createServer(function (req, res) {
17 | var file = (req.url === '/') ? 'index.html' : "." + req.url;
18 | var ext = require('path').extname(file),
19 | type = (mimeTypes[ext] ? mimeTypes[ext] : '');
20 |
21 | fs.exists(file, function (exists) {
22 | if (exists) {
23 | res.writeHead(200, {'Content-Type': type});
24 | fs.createReadStream(file).pipe(res);
25 | } else {
26 | console.warn(file, ' does not exit');
27 | }
28 | });
29 | }).listen(5000);
30 |
31 | console.log("Your bootstrap-colorpicker development URL is http://localhost:5000");
32 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/examples.hbs:
--------------------------------------------------------------------------------
1 | Examples
2 |
3 |
4 | {{> example title="Simple input field" content="01_basic" }}
5 | {{> example title="As a component" content="02_component" }}
6 | {{> example title="With custom options" description="Sample overriding the initial color and format" content="03_component_options" }}
7 | {{> example title="Working with events" content="04_events" }}
8 | {{> example title="Transparent color support" content="05_transparent" }}
9 | {{> example title="Horizontal mode" content="06_horizontal" }}
10 | {{> example title="Inline mode" content="07_inline" }}
11 | {{> example title="Aliased color palette" content="08_palette" }}
12 | {{> example title="Customized widget size" description="Also showing the support of HTML color names" content="09_size" }}
13 | {{> example title="Disabled / enabled status" content="10_disabled" }}
14 | {{> example title="Inside a modal" content="11_modal" }}
15 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/pages/index.hbs:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 | {{package.description}}.
10 | Originally written by Stefan Petre and maintained by
12 | Javi Aguilar and the Github community.
13 |
14 |
15 | NOTE That this is an older version of the library documentation, please check
16 | the project README
17 | to find the documentation for the newer and latest versions.
18 |
19 |
20 |
21 | {{> social }}
22 |
23 |
24 | {{> api }}
25 |
26 |
27 | {{> examples }}
28 |
29 |
30 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/layout.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Colorpicker for Twitter Bootstrap
8 |
9 |
10 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | {{> body }}
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/README.md:
--------------------------------------------------------------------------------
1 | # Bootstrap Colorpicker 2
2 |
3 | Simple and customizable colorpicker component for Twitter Bootstrap.
4 |
5 | [](https://travis-ci.org/farbelous/bootstrap-colorpicker)
6 |
7 | ## Installation
8 | For downloading the source code, you have many choices:
9 |
10 | - Downloading the [latest v2.x source code ZIP file](https://github.com/farbelous/bootstrap-colorpicker/archive/v2.x.zip)
11 | - Cloning the source code: `git clone https://github.com/farbelous/bootstrap-colorpicker.git`
12 | - Installing via NPM: `npm install bootstrap-colorpicker`
13 | - Installing via Yarn: `yarn add bootstrap-colorpicker`
14 | - Installing via Composer: `composer require itsjavi/bootstrap-colorpicker`
15 |
16 | ## Getting started
17 | - For using the plugin you will only need the files under the `dist` folder
18 | - [Documentation and demos](https://farbelous.github.io/bootstrap-colorpicker/v2/)
19 |
20 | ## Contributing and reporting issues
21 | 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.
22 |
23 | ## Credits
24 | Originally written by [Stefan Petre](http://www.eyecon.ro/)
25 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/assets/main.css:
--------------------------------------------------------------------------------
1 | .container {
2 | background: #fff;
3 | }
4 |
5 | h4 ~ p {
6 | padding-left: 20px;
7 | }
8 |
9 | .well .markup,
10 | .example-content .example-code {
11 | background: #2B2B2B;
12 | color: #BABABA;
13 | position: relative;
14 | padding: 15px 15px 15px;
15 | margin: 15px 0 0 0;
16 | border-radius: 0 0 4px 4px;
17 | box-shadow: none;
18 | font-size: 12px;
19 | line-height: 1.42857143;
20 | word-break: break-all;
21 | word-wrap: break-word;
22 | border: 1px solid #000;
23 | font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
24 | white-space: pre;
25 | overflow: auto;
26 | }
27 |
28 | .well .markup::after {
29 | content: "Source code";
30 | position: absolute;
31 | top: 15px;
32 | left: 15px;
33 | font-size: 12px;
34 | font-weight: bold;
35 | color: #eee;
36 | text-transform: uppercase;
37 | letter-spacing: 1px;
38 | }
39 |
40 | .share-btn {
41 | vertical-align: middle;
42 | display: inline-block;
43 | font-size: 12px;
44 | line-height: 1.5;
45 | }
46 |
47 |
48 | .example-title{
49 | font-size: 14px;
50 | margin: 10px 0 10px 2px;
51 | font-weight: bold;
52 | }
53 | .example-description{
54 | margin: 10px 0 10px 2px;
55 | }
56 | .example-code{
57 | display:none;
58 | }
59 | .example-content-widget{
60 | margin-bottom: 2px;
61 | }
62 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bootstrap-colorpicker",
3 | "version": "2.5.3",
4 | "description": "Fancy and customizable colorpicker plugin for Twitter Bootstrap",
5 | "main": "./dist/js/bootstrap-colorpicker.js",
6 | "homepage": "https://itsjavi.com/bootstrap-colorpicker/",
7 | "repository": {
8 | "type": "git",
9 | "url": "https://github.com/itsjavi/bootstrap-colorpicker.git"
10 | },
11 | "bugs": {
12 | "url": "https://github.com/itsjavi/bootstrap-colorpicker/issues"
13 | },
14 | "keywords": [
15 | "bootstrap",
16 | "colorpicker"
17 | ],
18 | "author": "Javier Aguilar",
19 | "license": "Apache-2.0",
20 | "licenses": [
21 | {
22 | "type": "Apache-2.0",
23 | "url": "http://opensource.org/licenses/Apache-2.0"
24 | }
25 | ],
26 | "dependencies": {
27 | "jquery": ">=1.10"
28 | },
29 | "scripts": {
30 | "test": "jasmine"
31 | },
32 | "devDependencies": {
33 | "grunt": "~0.4.5",
34 | "grunt-assemble": "~0.4.0",
35 | "grunt-combine": "~0.8.3",
36 | "grunt-contrib-clean": "~1.0.0",
37 | "grunt-contrib-cssmin": "~1.0.1",
38 | "grunt-contrib-jshint": "~1.0.0",
39 | "grunt-contrib-less": "~1.2.0",
40 | "grunt-contrib-uglify": "~1.0.0",
41 | "grunt-contrib-watch": "~1.0.0",
42 | "grunt-jsbeautifier": "~0.2.10",
43 | "grunt-strip-code": "^1.0.6",
44 | "jasmine": "^2.6.0",
45 | "jquery": ">=1.10",
46 | "jsdom": "^10.1.0"
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
8 |
9 | ### Is your PR fixing an issue or introduces a new feature?
10 |
11 | {Please write here}
12 |
13 | ### In case of fix, how this PR fixes the problem?
14 |
15 | {Please write here only in case of fix PR or remove the section}
16 |
17 | {Please also mention the related issue numbers you are trying to close, if applicable}
18 |
19 | ### In case of new feature, what are the benefits and use cases?
20 |
21 | {Please write here only in case of feature PR or remove the section}
22 |
23 | ### Check list
24 | Please mark with `x` inside the `[ ]` for anything that applies to this PR.
25 |
26 | - [ ] All tests passed in travis-ci
27 | - [ ] Regenerated the `dist` files via `grunt`
28 | - [ ] All documentation examples are still working after testing them via `node serve`
29 | - [ ] Added an example in the documentation for the newly introduced feature
30 | - [ ] Provided an example via JsFiddle in the description of this PR
31 | - [ ] Tested at least with latest Chrome, Firefox and Mobile (iOS Safari and/or Chrome for Android)
32 | - [ ] This PR also introduces coding style changes (indentation, etc), in a separated commit
33 | - [ ] The commit history is understandable and grouped into the minimum number of commits possible
34 | - [ ] I've followed all other [`CONTRIBUTING.md`](.github/CONTRIBUTING.md#pull-requests) guidelines for Pull Requests.
35 |
36 | ### Additional Comments (if any)
37 |
38 | {Please write here}
39 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["src/less/colorpicker.less"],"names":[],"mappings":";;;;;;;;AAoBA,wBACE,MAAA,MACA,OAAA,MAXA,iBAAsB,g7KAatB,OAAA,UACA,MAAA,KACA,0BACE,QAAA,MACA,OAAA,IACA,MAAA,IACA,OAAA,IAAA,MAAA,KAfF,sBAAA,IACA,mBAAA,IACA,cAAA,IAeE,SAAA,SACA,IAAA,EACA,KAAA,EACA,OAAA,KAAA,EAAA,EAAA,KACA,4BACE,QAAA,MACA,OAAA,IACA,MAAA,IACA,OAAA,IAAA,MAAA,KAzBJ,sBAAA,IACA,mBAAA,IACA,cAAA,IA8BF,mBADA,iBAEE,MAAA,KACA,OAAA,MACA,MAAA,KACA,OAAA,WACA,YAAA,IACA,cAAA,IAIiB,qBADF,mBAEf,QAAA,MACA,OAAA,IACA,WAAA,KACA,WAAA,IAAA,MAAA,KACA,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,KACA,WAAA,KAGF,iBA1DE,iBAAsB,4rBA8DxB,mBA9DE,iBAAsB,wqBAgEtB,QAAA,KAKF,mBADA,iBADA,wBAGE,gBAAA,QAGF,aACE,QAAA,IACA,UAAA,MACA,WAAA,IAxEA,sBAAA,IACA,mBAAA,IACA,cAAA,IAwEA,QAAA,KAIU,mBADA,oBAEV,QAAA,MACA,QAAA,GACA,YAAA,EAGU,mBACV,MAAA,KAGU,oBACV,QAAA,GACA,QAAA,aACA,YAAA,IAAA,MAAA,YACA,aAAA,IAAA,MAAA,YACA,cAAA,IAAA,MAAA,KACA,oBAAA,eACA,SAAA,SACA,IAAA,KACA,KAAA,IAGU,mBACV,QAAA,GACA,QAAA,aACA,YAAA,IAAA,MAAA,YACA,aAAA,IAAA,MAAA,YACA,cAAA,IAAA,MAAA,KACA,SAAA,SACA,IAAA,KACA,KAAA,IAGW,iBACX,SAAA,SAGU,oCACV,UAAA,MAGkC,uDAClC,QAAA,MAGF,mBACE,OAAA,KACA,WAAA,IACA,MAAA,KAlIA,iBAAsB,wqBAoItB,oBAAA,EAAA,KAGiB,uBACjB,OAAA,KAGF,uBACE,QAAA,KACA,OAAA,KACA,WAAA,IACA,MAAA,KAGqB,yBACrB,OAAA,QACA,MAAA,KACA,OAAA,KACA,MAAA,KAGuB,2BACvB,YAAA,IAI2B,+BADW,0CAEtC,QAAA,aACA,OAAA,QACA,OAAA,KACA,eAAA,SACA,MAAA,KAGU,gCACV,SAAA,SACA,QAAA,aACA,MAAA,KACA,QAAA,KAGU,oCACV,MAAA,MACA,UAAA,MACA,OAAA,KAGkC,4DAClC,cAAA,IAGkC,uDAClC,MAAA,MAIkC,uDADA,qDAElC,MAAA,MACA,OAAA,KACA,MAAA,KACA,OAAA,WACA,YAAA,EACA,cAAA,IAIqD,yDADF,uDAEnD,QAAA,MACA,OAAA,KACA,WAAA,KACA,SAAA,SACA,IAAA,EACA,KAAA,EACA,MAAA,IACA,OAAA,KACA,WAAA,EAGkC,qDAlNlC,iBAAsB,4pBAsNY,uDAtNlC,iBAAsB,owBA0NN,0BAChB,KAAA,KACA,MAAA,IAGgB,yBAChB,KAAA,KACA,MAAA,IAGmB,6BACnB,aAAA,EACA,YAAA,EAGmB,4BACnB,aAAA,EACA,YAAA,EAQC,uCAAA,qCAAA,4CAAA,2CAAA,iCACC,QAAA,MASD,sCAAA,oCAAA,2CAAA,0CAAA,gCACC,QAAA,KAIe,wCACjB,QAAA"}
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
9 |
10 | ### Brief description
11 |
12 | {Please write here a summary of the issue}
13 |
14 |
19 | ### Which software are you using?
20 |
21 | - bootstrap-colorpicker version: {Please write here}
22 | - bootstrap version: {Please write here}
23 | - jQuery version: {Please write here}
24 | - Browser name and version: {Please write here}
25 | - Operative System name an version: {Please write here}
26 |
27 | ### What's the expected or desirable behavior?
28 |
29 | {Please write here in case of code-related issues or remove this section}
30 |
31 | ### What's the actual current behavior?
32 |
33 | {Please write here in case of code-related issues or remove this section}
34 |
35 | ### Are there some other related issues or PRs?
36 |
37 | {Please write here if applicable the issue numbers or remove this section}
38 |
39 | ### Steps to reproduce
40 |
41 | {Please write here in case of code-related issues or remove this section}
42 |
43 |
47 | *Live example*: {Please write here a link to your JsFiddle example}
48 |
49 | ### Additional Comments (if any)
50 |
51 | {Please write here}
52 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/src/js/colorpicker-defaults.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Default plugin options
3 | */
4 | var defaults = {
5 | horizontal: false, // horizontal mode layout ?
6 | inline: false, //forces to show the colorpicker as an inline element
7 | color: false, //forces a color
8 | format: false, //forces a format
9 | input: 'input', // children input selector
10 | container: false, // container selector
11 | component: '.add-on, .input-group-addon', // children component selector
12 | fallbackColor: false, // fallback color value. null = keeps current color.
13 | fallbackFormat: 'hex', // fallback color format
14 | hexNumberSignPrefix: true, // put a '#' (number sign) before hex strings
15 | sliders: {
16 | saturation: {
17 | maxLeft: 100,
18 | maxTop: 100,
19 | callLeft: 'setSaturation',
20 | callTop: 'setBrightness'
21 | },
22 | hue: {
23 | maxLeft: 0,
24 | maxTop: 100,
25 | callLeft: false,
26 | callTop: 'setHue'
27 | },
28 | alpha: {
29 | maxLeft: 0,
30 | maxTop: 100,
31 | callLeft: false,
32 | callTop: 'setAlpha'
33 | }
34 | },
35 | slidersHorz: {
36 | saturation: {
37 | maxLeft: 100,
38 | maxTop: 100,
39 | callLeft: 'setSaturation',
40 | callTop: 'setBrightness'
41 | },
42 | hue: {
43 | maxLeft: 100,
44 | maxTop: 0,
45 | callLeft: 'setHue',
46 | callTop: false
47 | },
48 | alpha: {
49 | maxLeft: 100,
50 | maxTop: 0,
51 | callLeft: 'setAlpha',
52 | callTop: false
53 | }
54 | },
55 | template: '',
62 | align: 'right',
63 | customClass: null, // custom class added to the colorpicker element
64 | colorSelectors: null // custom color aliases
65 | };
66 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | ## Support
4 |
5 | The issue tracker is not the place for support requests. If you get stuck with bootstrap-colorpicker, it's very likely
6 | that the fine folks at [StackOverflow](http://stackoverflow.com/) will be able to help you; simply describe the problem
7 | you're having and provide them a link to the repo (so they know what code you're using).
8 |
9 |
10 | ## Issues
11 | For feature requests, suggestions or ideas, add `[SUGGESTION]` before the title of the issue, for anything else follow
12 | the following guidelines.
13 |
14 | ### Steps to submit an issue
15 | These steps are mandatory. Issues that are not clear or are not clearly reproduceable with a live example will be closed.
16 |
17 | - Reproduce your problem in a separated environment, like in JSFiddle,
18 | [here is a template for it](http://jsfiddle.net/0vopxm13/157/), that you can fork in the same page.
19 | It already includes the required JS and CSS files.
20 | - Before posting your issue, consider adding this information:
21 | * Expected behaviour: what should happen?
22 | * Actual behaviour: what happens instead?
23 | * Your context: Where it happens? In which browser and version (if applicable)?
24 | * Plugin version (and/or commit reference).
25 | * jQuery version you use and list of all other plugins/scripts you are using with this one and may cause some conflict.
26 | * A link to your JSFiddle (or similar tool) demo where you reproduced the problem (if applicable).
27 |
28 | ## Pull Requests
29 |
30 | Patches and new features are welcome!
31 |
32 | - Prerequisites: having `node`, `npm`, `yarn` and `grunt` installed in your machine.
33 | - After a fresh clone for your fork, you need to run `yarn install` inside the project's root folder.
34 | - For checking your changes in the browser you can execute `node serve` and navigate to http://localhost:5000/
35 | - Before any commit run always `grunt` inside the project's root folder, to update the dist files
36 | (never modify them manually).
37 | - Do not change the plugin coding style.
38 | - Check that the index.html demos aren't broken (modify if necessary).
39 | - Test your code at least in Chrome, Firefox and Edge.
40 | - Any new feature should come with updated docs if applicable (a demonstration).
41 | - Generate the `/dist` files executing `grunt` before your Pull Request.
42 | - Push to your fork and submit the pull request.
43 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/.github/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | 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.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | 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.
28 |
29 | 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.
30 |
31 | ## Scope
32 |
33 | 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.
34 |
35 | ## Enforcement
36 |
37 | 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_.
38 | 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.
39 |
40 | 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.
41 |
42 | ## Attribution
43 |
44 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
45 |
46 | [homepage]: http://contributor-covenant.org
47 | [version]: http://contributor-covenant.org/version/1/4/
48 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/Gruntfile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 | module.exports = function (grunt) {
3 |
4 | grunt.initConfig({
5 | pkg: grunt.file.readJSON('package.json'),
6 | less: {
7 | dist: {
8 | options: {
9 | strictMath: true,
10 | sourceMap: true,
11 | outputSourceFiles: true,
12 | sourceMapURL: '<%= pkg.name %>.css.map',
13 | sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
14 | },
15 | src: 'src/less/colorpicker.less',
16 | dest: 'dist/css/<%= pkg.name %>.css'
17 | }
18 | },
19 | cssmin: {
20 | options: {
21 | compatibility: 'ie8',
22 | keepSpecialComments: '*',
23 | sourceMap: true,
24 | advanced: false
25 | },
26 | dist: {
27 | src: 'dist/css/<%= pkg.name %>.css',
28 | dest: 'dist/css/<%= pkg.name %>.min.css'
29 | }
30 | },
31 | jshint: {
32 | options: {
33 | jshintrc: '.jshintrc'
34 | },
35 | files: [
36 | 'Gruntfile.js',
37 | 'docs/docs.js',
38 | 'dist/js/<%= pkg.name %>.js'
39 | ]
40 | },
41 | jsbeautifier: {
42 | options: {
43 | js: {
44 | braceStyle: "collapse",
45 | breakChainedMethods: false,
46 | e4x: false,
47 | evalCode: false,
48 | indentChar: " ",
49 | indentLevel: 0,
50 | indentSize: 2,
51 | indentWithTabs: false,
52 | jslintHappy: false,
53 | keepArrayIndentation: false,
54 | keepFunctionIndentation: false,
55 | maxPreserveNewlines: 2,
56 | preserveNewlines: true,
57 | spaceBeforeConditional: true,
58 | spaceInParen: false,
59 | unescapeStrings: false,
60 | wrapLineLength: 0,
61 | endWithNewline: true
62 | }
63 | },
64 | src: ['src/js/*.js', 'docs/docs.js'],
65 | dist: ['dist/js/<%= pkg.name %>.js']
66 | },
67 | combine: {
68 | js: {
69 | input: 'src/js/colorpicker-plugin-wrapper.js',
70 | output: 'dist/js/<%= pkg.name %>.js',
71 | tokens: [{
72 | token: "//@version",
73 | string: '<%= pkg.version %>'
74 | }, {
75 | token: "//@colorpicker-color",
76 | file: 'src/js/colorpicker-color.js'
77 | }, {
78 | token: "//@colorpicker-defaults",
79 | file: 'src/js/colorpicker-defaults.js'
80 | }, {
81 | token: "//@colorpicker-component",
82 | file: 'src/js/colorpicker-component.js'
83 | }]
84 | },
85 | less: {
86 | input: 'src/less/colorpicker.less',
87 | output: 'src/less/colorpicker.less',
88 | tokens: [{
89 | token: "//@version",
90 | string: '<%= pkg.version %>'
91 | }]
92 | }
93 | },
94 | strip_code: {
95 | src: {
96 | src: 'dist/js/*.js'
97 | }
98 | },
99 | uglify: {
100 | options: {
101 | banner: '/*!\n * Bootstrap Colorpicker v<%= pkg.version %>\n' +
102 | ' * https://itsjavi.com/bootstrap-colorpicker/\n */\n'
103 | },
104 | dist: {
105 | files: {
106 | 'dist/js/<%= pkg.name %>.min.js': [
107 | 'dist/js/<%= pkg.name %>.js'
108 | ]
109 | }
110 | }
111 | },
112 | watch: {
113 | less: {
114 | files: [
115 | 'src/less/*.less'
116 | ],
117 | tasks: ['combine:less', 'less', 'cssmin']
118 | },
119 | js: {
120 | files: [
121 | 'src/js/*.js',
122 | 'docs/docs.js'
123 | ],
124 | tasks: ['jsbeautifier:src', 'combine:js', 'jsbeautifier:dist', 'uglify', 'jshint']
125 | },
126 | handlebars: {
127 | files: [
128 | 'docs/*.hbs',
129 | 'docs/**/*.hbs',
130 | 'docs/helpers/**/*.js'
131 | ],
132 | tasks: ['assemble']
133 | }
134 | },
135 | assemble: {
136 | options: {
137 | assets: 'docs/assets',
138 | helpers: ['docs/helpers/code'],
139 | partials: ['docs/includes/**/*.hbs'],
140 | layout: ['docs/layout.hbs'],
141 | data: ['package.json'],
142 | flatten: true
143 | },
144 | site: {
145 | src: ['docs/pages/*.hbs'],
146 | dest: './'
147 | }
148 | },
149 | clean: {
150 | dist: [
151 | 'dist/css/*',
152 | 'dist/js/*',
153 | 'index_new.html'
154 | ]
155 | }
156 | });
157 |
158 | // Load tasks
159 | grunt.loadNpmTasks('grunt-contrib-clean');
160 | grunt.loadNpmTasks('grunt-contrib-less');
161 | grunt.loadNpmTasks('grunt-contrib-cssmin');
162 | grunt.loadNpmTasks('grunt-jsbeautifier');
163 | grunt.loadNpmTasks('grunt-combine');
164 | grunt.loadNpmTasks('grunt-contrib-uglify');
165 | grunt.loadNpmTasks('grunt-contrib-watch');
166 | grunt.loadNpmTasks('grunt-contrib-jshint');
167 | grunt.loadNpmTasks('grunt-assemble');
168 | grunt.loadNpmTasks('grunt-strip-code');
169 |
170 | // Register tasks
171 | grunt.registerTask('default', [
172 | 'clean',
173 | 'combine:less',
174 | 'less',
175 | 'cssmin',
176 | 'jsbeautifier:src',
177 | 'combine:js',
178 | 'jsbeautifier:dist',
179 | 'strip_code',
180 | 'uglify',
181 | 'assemble',
182 | 'jshint'
183 | ]);
184 | grunt.registerTask('dev', [
185 | 'watch'
186 | ]);
187 |
188 | };
189 |
--------------------------------------------------------------------------------
/plugins/topology/layout.css:
--------------------------------------------------------------------------------
1 | body {
2 | width: 100%;
3 | height: 100%;
4 | }
5 |
6 | #menu_canvas li a:hover{
7 | color: #0b93d5;
8 | }
9 | #main_canvas{
10 | width: 100%;
11 | margin: 0 auto;
12 | }
13 | /*左侧工具栏样式*/
14 | #flex_tools {
15 | width: 160px;
16 | height: 79vh;
17 | border: #DDDDDD solid 1px;
18 | float: left;
19 | /*min-height: 50rem;*/
20 | z-index: 999999999;
21 | overflow: auto;
22 | }
23 |
24 | /*左侧工具栏图标样式*/
25 | .iconfont{
26 | margin-left: 4px;
27 | font-size: 2.5rem;
28 | }
29 | /*左侧工具栏动态样式*/
30 | .iconfont:hover{
31 | color: #0b93d5;
32 | cursor: pointer;
33 | }
34 | /*右侧属性样式*/
35 | #flex_props{
36 | /*float: right;*/
37 | border: #DDDDDD solid 1px;
38 | width: 300px;
39 | height: 79vh;
40 | position: absolute;
41 | top:86px;
42 | right: 30px;
43 | overflow: auto;
44 | }
45 | /*中间画布样式 */
46 | #flex_canvas {
47 | /*float: left;*/
48 | margin-left: 150px;
49 | margin-right: 300px;
50 | /*width: 500px;*/
51 | height: 79vh;
52 | border: #DDDDDD solid 1px;
53 | /*-webkit-box-flex: 1;*/
54 | /*-ms-flex: 1;*/
55 | /*flex: 1;*/
56 | /*width: initial;*/
57 | /*position: relative;*/
58 | overflow: auto;
59 | }
60 | #topo_canvas{
61 | width: 100%;
62 | height: 79vh;
63 | }
64 | .tools .title{
65 | font-weight:bold;
66 | font-size: 1rem;
67 | margin-top: 20px;
68 | border-bottom: #CCCCCC solid 1px;
69 | padding-bottom: 5px;
70 | padding-left: 10px;
71 | }
72 | .buttons a {
73 | display: inline-block;
74 | color: #6f787e;
75 | /*line-height: 1;*/
76 | margin-top: 10px;
77 | width: 3rem;
78 | height: 3rem;
79 | text-align: center;
80 | text-decoration: none !important;
81 | }
82 | /*#flex_props .title{*/
83 | /* margin-left: 20px;*/
84 | /* font-size: 1.5rem;*/
85 | /* font-weight: bold;*/
86 | /*}*/
87 | #flex_props li{
88 | font-size: 1rem;
89 | margin-top: 10px;
90 | }
91 |
92 |
93 | /*右键菜单样式*/
94 | .context-menus {
95 | position: fixed;
96 | z-index: 100;
97 | color: #000;
98 | background-color: #fff;
99 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
100 | min-width: 16rem;
101 | text-align: left;
102 | font-size: 0.2rem;
103 | padding: 0.08rem 0;
104 | }
105 |
106 | .context-menus .line {
107 | background-color: transparent !important;
108 | padding: 0;
109 | margin: 0.05rem 0;
110 | border-top: 1px solid #eee;
111 | }
112 | .menu-a {
113 | color: #333333;
114 | display: block;
115 | padding: 0.5rem;
116 | margin-bottom: 5px;
117 | text-decoration: none;
118 | }
119 | .menu-a:hover {
120 | color: #85bdda;
121 | display: block;
122 | padding: 0.5rem;
123 | text-decoration: none;
124 | cursor: pointer;
125 | }
126 | .menu-a-disabled {
127 | color: #adadad;
128 | display: block;
129 | padding: 0.5rem;
130 | margin-bottom: 5px;
131 | text-decoration: none;
132 | }
133 | .menu-a-disabled:hover {
134 | color: #adadad;
135 | display: block;
136 | padding: 0.5rem;
137 | text-decoration: none;
138 | }
139 | .context-menus div{
140 | line-height: 1.5rem;
141 | margin-left: 10px;
142 | margin-right: 10px;
143 | }
144 | .ml50{
145 | float: right;
146 | }
147 | div{
148 | float: none;
149 | }
150 | /*右边属性定义界面*/
151 | .group .title{
152 | float: none;
153 | font-size: 12px;
154 | margin-left: 15px;
155 | margin-bottom: 10px;
156 | margin-top: 10px;
157 | font-weight: bold;
158 | }
159 | .sub-title{
160 | font-size: 10px;
161 | margin-top: 5px;
162 | margin-bottom: 5px;
163 | }
164 | .hint{
165 | font-size: 10px;
166 | padding-top: 10px;
167 | margin-bottom: 5px;
168 | color: #cccccc;
169 | }
170 | /*下拉框div定义*/
171 | .select-box{
172 | /*background-color: rgb(255, 255, 255);*/
173 | /*padding: 10px;*/
174 | /*line-height: 20px;*/
175 | /*position: absolute;*/
176 | /*top: 119px;*/
177 | /*z-index: 19920829;*/
178 | /*border-radius: 3px;*/
179 | /*text-overflow: ellipsis;*/
180 | /*word-break: keep-all;*/
181 | /*overflow: hidden;*/
182 | /*white-space: nowrap;*/
183 | /*border: 0;*/
184 | /*width: 100%;*/
185 | /*color: #989898;*/
186 | /*appearance:none;*/
187 | /*-moz-appearance:none;*/
188 | /*-webkit-appearance:none;*/
189 | /*display: none;*/
190 | /*padding: 2rem 1rem 1rem 1rem;*/
191 | /*border-bottom: 1px solid #ccc;*/
192 | /*width: 100%;*/
193 | }
194 | .select-box .rel{
195 | /*width: 100%;*/
196 | margin-top: 10px;
197 | margin-bottom: 10px;
198 | }
199 | .select-box .input{
200 | min-height: 32px;
201 | width: 100%;
202 | border: 1px solid #d9d9d9;
203 | z-index: 999999999;
204 | }
205 | .select-box .input:hover{
206 | border: 1px solid #4A8FB9;
207 | }
208 | .select-box .icon-item svg{
209 | width: 100%;
210 | padding-top: 5px;
211 | padding-left: 10px;
212 | height: 2rem;
213 | }
214 | .select-box .dropdown{
215 | position: absolute;
216 | float: left;
217 | z-index: 99999;
218 | color: #000;
219 | background-color: #fff;
220 | border:1px solid #ccc;
221 | width: 82%;
222 | /*box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);*/
223 | /*min-width: 16rem;*/
224 | text-align: left;
225 | /*font-size: 0.2rem;*/
226 | padding: 1rem 0;
227 | }
228 | .dropdown .icon-item:hover{
229 | background: #0a8cbd;
230 | }
231 | .hidden {
232 | display: none;
233 | }
234 |
235 | .status-circle{
236 | position: relative;
237 | display: inline-block;
238 | /*width: 8px;*/
239 | height: 8px;
240 | background-color: #30cc80;
241 | border-radius: 50%;
242 | margin-right: 7px;
243 | }
244 |
245 | .status_circle_hide{
246 | background-color: orange;
247 | }
248 |
249 | /*滚动条样式*/
250 | ::-webkit-scrollbar {
251 | /*滚动条整体样式*/
252 | width: 10px; /*高宽分别对应横竖滚动条的尺寸*/
253 | height: 10px;
254 | color: #AAAAAA;
255 | }
256 | ::-webkit-scrollbar-thumb {
257 | /*滚动条里面小方块*/
258 | border-radius: 5px;
259 | -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
260 | background: rgba(0, 0, 0, 0.2);
261 | }
262 | ::-webkit-scrollbar-track {
263 | /*滚动条里面轨道*/
264 | -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
265 | border-radius: 0;
266 | background: rgba(0, 0, 0, 0.1);
267 | }
268 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/docs/includes/api.hbs:
--------------------------------------------------------------------------------
1 | Documentation
2 |
3 |
4 |
5 | Call the colopicker via javascript:
6 | $('.sample-selector').colorpicker({ /*options...*/ });
7 | Options
8 |
9 |
10 | You can set colorpicker options either as a plugin parameter or data-* attributes
11 |
12 |
13 |
14 |
15 | Name
16 | Type
17 | Default
18 | Description
19 |
20 |
21 |
22 |
23 | format
24 | string
25 | false
26 | If not false, forces the color format to be hex, rgb or rgba, otherwise the format is
27 | automatically detected.
28 |
29 |
30 |
31 | color
32 | string
33 | false
34 | If not false, sets the color to this value.
35 |
36 |
37 | container
38 | string or jQuery Element
39 | false
40 | If not false, the picker will be contained inside this element, otherwise it will be
41 | appended to the document body.
42 |
43 |
44 |
45 | component
46 | string or jQuery Element
47 | '.add-on, .input-group-addon'
48 | Children selector for the component or element that trigger the colorpicker and which
49 | background color will change (needs an inner <i> element).
50 |
51 |
52 |
53 | input
54 | string or jQuery Element
55 | 'input'
56 | Children selector for the input that will store the picker selected value.
57 |
58 |
59 | hexNumberSignPrefix
60 | boolean
61 | true
62 | If true, put a '#' (number sign) before hex strings.
63 |
64 |
65 |
66 | horizontal
67 | boolean
68 | false
69 | If true, the hue and alpha channel bars will be rendered horizontally, above the saturation
70 | selector.
71 |
72 |
73 |
74 | inline
75 | boolean
76 | false
77 | If true, forces to show the colorpicker as an inline element.
78 |
79 |
80 | sliders
81 | object
82 | [...]
83 | Vertical sliders configuration (read source code if you really need to tweak this).
84 |
85 |
86 | slidersHorz
87 | object
88 | [...]
89 | Horizontal sliders configuration (read source code if you really need to tweak this).
90 |
91 |
92 | template
93 | string
94 | [...]
95 | Customizes the default colorpicker HTML template.
96 |
97 |
98 | align
99 | string
100 | 'right'
101 | By default, the colorpicker is aligned to the right of the input. If you need to switch it
102 | to the left, set align to 'left'.
103 |
104 |
105 |
106 | customClass
107 | string
108 | null
109 | Adds this class to the colorpicker widget.
110 |
111 |
112 | colorSelectors
113 | object
114 | null
115 | List of pre selected colors (hex format). If you choose one of these colors, the alias is returned instead of the hex
116 | code.
117 |
118 |
119 |
120 | fallbackColor
121 | string
122 | null
123 |
124 | Fallback color string that will be applied when the color failed to be parsed.
125 | If null , it will keep the current color if any.
126 |
127 |
128 |
129 | fallbackFormat
130 | string
131 | hex
132 |
133 | Fallback color format (e.g. when not specified or for alias mode, when selecting non aliased colors)
134 |
135 |
136 |
137 |
138 |
139 | jQuery API Methods
140 |
141 | General usage methods
142 | .colorpicker(options)
143 |
144 | Initializes an colorpicker.
145 |
146 | .colorpicker('getValue', defaultValue)
147 |
148 | Gets the value from the input or the data attribute (if has no input), otherwise returns the default
149 | value, which defaults to #000000 if not specified.
150 |
151 | .colorpicker('setValue', value)
152 |
153 | Set a new value for the color picker (also updates everything). Triggers 'changeColor' event.
154 |
155 | .colorpicker('show')
156 |
157 | Show the color picker
158 |
159 | .colorpicker('hide')
160 |
161 | Hide the color picker
162 |
163 | .colorpicker('reposition')
164 |
165 | Updates the color picker's position relative to the element
166 |
167 | .colorpicker('update')
168 |
169 | Refreshes the widget colors (this is done automatically)
170 |
171 | .colorpicker('enable')
172 |
173 | Enable the color picker.
174 |
175 | .colorpicker('disable')
176 |
177 | Disable the color picker.
178 |
179 | .colorpicker('destroy')
180 |
181 | Destroys the colorpicker widget and unbind all .colorpicker events from the element and component
182 |
183 | .data('colorpicker')
184 |
185 | Access to the colorpicker API directly
186 |
187 | .data('colorpicker').color
188 |
189 | Access to the colorpicker Color object information
190 |
191 |
192 |
193 | Color object methods
194 |
195 | Each triggered events have a color object (avaliable through event.color, see the example at the
196 | bottom) used internally by the picker. This object has several useful methods. These are the more
197 | commonly used:
198 |
199 | .setColor(value)
200 |
201 | Set a new color. The value is parsed and tries to do a quess on the format.
202 |
203 | .setHue(value)
204 |
205 | Set the HUE with a value between 0 and 1.
206 |
207 | .setSaturation(value)
208 |
209 | Set the saturation with a value between 0 and 1.
210 |
211 | .setBrightness(value)
212 |
213 | Set the brightness with a value between 0 and 1.
214 |
215 | .setAlpha(value)
216 |
217 | Set the transparency with a value between 0 and 1.
218 |
219 | .toRGB()
220 |
221 | Returns a hash with red, green, blue and alpha.
222 |
223 | .toHex()
224 |
225 | Returns a string with HEX format for the current color.
226 |
227 | .toHSL()
228 |
229 | Returns a hash with HSLA values.
230 |
231 |
232 |
233 | Events
234 |
235 | The colorpicker plugin exposes some events
236 |
237 |
238 |
239 |
240 | Event
241 | Description
242 |
243 |
244 |
245 |
246 | create
247 | This event fires immediately when the color picker is created.
248 |
249 |
250 | showPicker
251 | This event fires immediately when the color picker is displayed.
252 |
253 |
254 | hidePicker
255 | This event is fired immediately when the color picker is hidden.
256 |
257 |
258 | changeColor
259 | This event is fired when the color is changed.
260 |
261 |
262 | disable
263 | This event is fired immediately when the color picker is disabled, except if it was
264 | initialized as disabled.
265 |
266 |
267 |
268 | enable
269 | This event is fired immediately when the color picker is enabled, except upon
270 | initialization.
271 |
272 |
273 |
274 | destroy
275 | This event fires immediately when the color picker is destroyed.
276 |
277 |
278 |
279 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Colorpicker v2.5.2
3 | * https://itsjavi.com/bootstrap-colorpicker/
4 | *
5 | * Originally written by (c) 2012 Stefan Petre
6 | * Licensed under the Apache License v2.0
7 | * http://www.apache.org/licenses/LICENSE-2.0.txt
8 | *
9 | */.colorpicker-saturation{width:100px;height:100px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAQAAADa613fAAAP9klEQVR4XnRWC47rNgwcKjlA0bv2VL1Qi/YELRav7203iS1ppqZoiXCAhuBHVLI74xFtG3/Hz2joIOjRGuR5eMYuRn9YA1fds859KX8ZvczLr9/pImiR3Rqky9/wlajRIdVE/1Rufeu/0No3/ASgBZAJUkwgi0iCaEatekJJoEqiTQncd67/gyOfRCZshTed0Nl8LbLj8D6qxtoq9/7kJz/aH/3Xfu8VwI5+AUH8DxE7gUyiIpZ5LwiGzUqE3CScJsCDQHAsvBnxWpkbC0QMHmBp6latWS0bnvrCN/x1+xPfce+Ij0GAyeAGGz15sOiax2UylPhKrFaMPnVWClwepKh07hdhkVDsK2uoyEIySergjdbY2VBtV8VLr8Mf9mF/4wMb7kR8FOhzFWZZe7HIZD9JRIbee28eJKBweTB6TwjYkAgWaUmtDveGw1Wx3zZ76YlPPfQd/+gTTUFkiGiJ+NQAszU1EPT/QJEgufolAMPkNU4CVOyUIBLg4xglEZHGQnTFOFV0VaulYddBhA986ge/7N/yQi/3flFgwfQq2ibLnTDBRl9TmUHyJASPV/eoN0UISIr+ICQKIFV4EpljSjV1uFVUq9hRtet5e9gXvuyHPW0zMhQxWaoBBa9Tg8vsCEhww23Smd0CKjIkmPIoxWrUBDgJqFCyESF43ctQxLUoHN7Q1KyVhqrNNm3cy2vMyQNPVKjc29Rh5SSU+giWdRJHkLnQG71FQEuNyNGBTDdBQQAKCuGiEUS/jcyGbkMPq931OIzb/dUPGuVlG7f+slqkO5NAAlzTMdcq0NkzmsEBmAQkbI+pSHbiqnuWIA6lijhvqwIxMyWxMGZiPU669XJE1tADDTs2HWpwKxuqdnTpOiOR42xlzLtm3pXGel3xd8/oTs8Xy0MV8GM1RlsC2Y3Wy3wut3M+2mEVux0Gt9fhzTWyLvGiiJYaqY5DWRFIwAiQ5r6gB9GpQihJw4I9j5Mkscj3BnzGjBhv8xna5P1Jo428o6IOPY5KFZtVOkEKqUjqQY9Gi+jrIOFwJUDzRtA9xyoIrGGmkNRmxVAnZoK+TkUIeUYni5wEzgOG5iZX5HCr2JyQNqdk++G0rgb1ochSIGutTj4P7F0PuRUAolmh5sCzAHn1BYyaADh6bgFeoBx6vst091CEvcSLWBBpqGq384jZ5llVHSwEShLx+D4d0mU3D5eEAJQ9KEhOZUYnDENV2qKgmIlQhWfdvcoXYaegPp/n1oKIOgYFqxrzQSciqNhv/5FqPpy6b0UcX2vf13DfWySRSEgkEYlEJJGQSyKJSEQSCYlEEpHexIVO3XOevffze2a+PfPv9x1rne1c3b3Mmlmz9mE++zuzngfnw/E+Dlc4LL4NwHdFy7u3KGPVmZ6/4eeMoDyre3i/KHADIHYO04w9zO0mAotuKnrc7XaPjvu66bNe5cDT7RlPepEnfS2X8dF1/utDvD+OwGDBxEgQywLCvIMYWBY+DShwAAORAdv9PswhDAqOUCi5+71AbFcDMR4xBDNfhySKXPXZ1+Vub+Q1Ltf5z7eC0AjVldHI26rIFdKIAyYBJCFVUhVDwttAnM52B3Ect1TFQXzJ0z33lOuib/QO8g+CuO0gKBRU80A8hkeJ0b1KRQWmFQVSh8mf3lpUpNaRulzN5NArrmKKGMijXgzk7w5ijdFVgT8f1IdFNjVWjDWicUYWEEMmSFDtILdzHW5XueHp7p+yuS54ep5/c5BE2Gw/gWPNYU4/PZaak2VGEsFjSbOf8irea6KQgojGCk0KxZY31tWWgzwayF8N5KYyo3VADVicWWrhwzr3ZqIOa5xW5zbqMPPMiyDURHDIHQTeWq7KFXcQPOqzPOL5Ov/iIDEDy7DHEwx0PTgjO8SS0fOEHcZNMt+XKEFMj8Q4QUSvPu6HPuvd4N9/x12RPwcIVRCAakSOUzHgsUSMFWYzDQ+PiOJqAOuYc9jh5TecnA+xHfFyOYhebeTH89P80wrCJzUjlsx7euIV0g4zQFUSiBPioIWBACFC7GgDj8P91ZSJOQmQP74MAnQo8H5RIe8kZ0kBcQCMAlEpRDiKROBxbR0ksdhWFq0gR9q9uQzkDzuIFQSPqAgRCAsCaVNF2ZAAhxvtzcqcnDk6tpXxSsayqXLIgSOb6zqeH+fvO0i9XEu5EVV+OZehRZJ6BGTeaRhCkTzVIZeAzaWGAFfErIPogQI5CuR3HQQx7DzBB16R3s7e0MBUPedjWutgG/JUTPqMeAQNEiytJRnJearWUgdwFNxN7rtBoECuj/O3BMHaTIxQ0a4GctireElTJHJvLTaalih5kvBCGMvkdESUMAdCFaI4yG8SpDfRWAptqkAJUwCG6B7lOREFSZBqKs57MEHqVJEBwHa2lp0OiKtiQ18gx9P89QrSXyc0vObBM4vPmBADqJZLAo/yzK7qPSZstCy+fDSZlhrm+Zkyjsf5q2otdC14zkLjHLf0me9wjNqQo0B1a6wBJRaIEgC2Qw9oby/cRHA+xHCQy/xlB1HVSV3Y/5yVhsc7dBi2UoIWCMcbELZWgxNCGUZ5y4ceBaLlE8dAfrEosrYT+z8ya3sxXndFBxuQivNGEHFCbLGBlBLKGYHZoeoQpcjtMn/uICPefcxecpuDOEemg9S/44cflZPIlWolyHkLrEpgbS9IQRlAgZgi0WDjsEiPh+PN/Fkogq4GdzPtarlRGW2tJwEK1RMTEvdVdmhAKHO1pdUuGQsVcX+rSfGzDbwGyE8NRPQc83HCaOkTZwPqABZBdFq8zAN1gue0FPO8wYUFBE1WkMwVzM1iQ4BItFh+H36Qy/yJg0DRQICmBl+tbKUC5cCj3yXI+SUFBS78ZAcBtHt+e9lBuiqpTNh9zTvIjzuIWxVYGQJpAZY+VWS3QKh84iSZbwuIdiDpc4KztQa/sjhMaDJEJDSZ8mZ+kCBdC0JpKVNQzZdKu+EsOeFCosrngVAkDS/uy6iGnW7UxmMpkB8FyFKo6iQW8z1HuBdMu1pdkZdB8jWTjlFtNaiJRYniIDcD+eECMqFLS9ED6DgxzCMKnRD3HYYA2uMCJUh70OK8G0EUnJV8lqe8nj84QdqLhdoJskNlEw1ivajM8LtPBhIeN99LESXI9xcQIHFQudHngZjUhXOQeGlUYmAddh5pxMhzV0M1vMAtMFIVmfp6fq+DgEWefjQVenstaqUy3bJQAiVlEihDghCDINFQg8oUhoQPkO8SBEM7SFQ72VYBwPuE7k8uYF5LNwg/TEd2zkuKjIIhTiJRlYrDfNS1QL7DYUcbcCyKJNwOwucVCVSwBBj/DwghXA2hQtACgCBBPprfXkAIFIYRXhONQARFU00Tsh6LEmmQUbkTImMi9me5qaHDIeBgHeRbdxAIqAJBCDSoCNVQglrciqX/ZCD9RRP6rgpBvhmKAFhg2ForBLXBYPtUjj7vCHPe8SXbYAY47gHB9mKeqjjIg/53fmMD0fR9Bug7SFcHI6EA1OC/E8QTL4NgBSGiCiyTChnI1zcQxmyfRZGM6w701KRybDvsIK3LWDx6mxGkcglEZQLkawnCdppZ6sgCh8trWWBUQaUWCEOlOs7HAenFE45QSu9RQQDAqchXNxDq4orQR44qRIFUQvM+mRJuB6GDEixgCbSBQGXghEEbdn1P/zO/QhAWCsWsmRhLa2VFkSZIgSVKmgEQhvk6K8YKMRZl7Dwg4amOUYvFBfLlE4RasOCB5S9PXKq0AqGDMiYIReXF0mYctITWBmqR5F38X5Y7yJfeCtKBzNbWYm5XpsMpf3dRZD3jPDesvdVCOs6KYQXIFw1E4fcE8dHWOepZBXpLJcACWUZVMRZbfvgXR4Ak8A7VVSKSVuu9p6/mFxyE7cOWavtLp952O8huK83+gmHzHaAsVXLgAvl8gPCvHzAFsM8GNXGKPH5cmN02sXTLa8QdKRXMzHv67/k5A9k1UIx36UH/VlWWtuKssNiRapB6BaLXl6MA+ayDcNS3v/sYXgCL620F1kk8QhKAEOvKu4DvajDO5zkHc4fBg76anyEIIcamBPex5EK8AoVHhMW7QAqWrYD1204CJB1hCfOAV/PTBPH0zBmJmsZZKCEaAmdqm4zMcYxYLN0JuHThIAjirAnp3px7TRgD+ZSD/K92M1CNIgbC8Ex7FkSEIlQEEUQEQQQBRBABEUQQEQTx3X0Evap9AhP39jL5OvuzAWuvbDaTTDIzX2aypUCJ0i7nAigoQAk9gUIUSxXEoCFyyVIuL9ZQcMZoArnwr4D0OLS8jGNGTgGnsZQWMYrcOARoIReAALBeWhf+RUCAIEsECFQHLkwR5zj4JW3t5WOUU5djvgQIawD53EDsctmYz8xGaZGPBUR3qNkiGwqDICUYIFpqBgRaayCfFiAWR2wWvoobmzxdF8N5kyxXmvap/sgGcLF/aoBosbG+lE395R8zCA4BqUYgOgYq+HtvBrT0LK15X8lZwx5f9klCX0rdgXzIIGbdhXMqZtHzJhuptEjmsFc4KzmN5IFPtfM7gWw2kPczSIqQSPUDYKYBMamsBCpKphW0iA5H8AbMDPJOQYjLZg1Vk4G49GlCYNYAkdOd0kwRQ8FCyAHydgLZ6Z2AqrVtjDUQ7hCEmrkEooDAsB2YnBCvkBpZ6yBvJpCd7Mn5zJ6C4QF2BUQPgHEIGUrGnHzQ8rlMekBeTyAzwDJksxwM4+w3BY02B8mIl0CmFRm+ZscxAuSnvwqQsECTIGSV6FEoJFTygVuzB5xAsKqBvAQE3+nkVoJDI1BJIaPBWik7ZSu5NIp5A3mRQaTFvLgkO9fVgEgMqqeVfb+p55tijWH+Kea71ubq4v8Sl8089sZKbKEZNq+VUfISJJF7j79WrbYgS994ZEf+nIz0pNFRWqapSmK6P45i3OQuItIiPDyg6RnxZ4D0g+CFPxAzluoRsWsaA6I6JOqVWCisDvJ0BgHTzMSRgMi0vmi8R+sR6tg/XUh7kCc7kMRqSNkTBDx0OkAUegFcMazciBXNpm798R6klXap/WZz49TQwBHqEcj4oCToUPjUuP9lfxcbyKMAwT6bTf1qqIIQDl3i5oCERNmVm0wgW4A8BGRxMX3hWh8bEV5Rvfp4DS5F3djWH2ztDNWKW7OBjgjIwsDWaKRknJjqMsh9QCa1p608lLovFkBE969DYtYelSzwSRcg535vAsFeNU9SzRCYZb4LDmxmFQKkwYGM+5y/G7b1uxMIylLdyE5yxIyYsoXWhQIpzQhYPi3JkJoKkB9+BxD0OMuyOEBe36DgyPSrxscmATldgKj8PxrkA/kA5PYMgkrocwIQ6GSRGmF0VaNqBKQZ5FYDEZSDzFTzq9mBQjAayE1A+ryDTzcQZe0Ibbxj7EwpAmTrJwEimZR9CCPtODhzxuNtY19Zd2Lf/fjCTnEiDAOg62j1utb/dv9mZ/aHCj4AyOHbsW3/As0BTzIgeJU7AAAAAElFTkSuQmCC);cursor:crosshair;float:left}.colorpicker-saturation i{display:block;height:5px;width:5px;border:1px solid #000;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;position:absolute;top:0;left:0;margin:-4px 0 0 -4px}.colorpicker-saturation i b{display:block;height:5px;width:5px;border:1px solid #fff;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.colorpicker-alpha,.colorpicker-hue{width:15px;height:100px;float:left;cursor:row-resize;margin-left:4px;margin-bottom:4px}.colorpicker-alpha i,.colorpicker-hue i{display:block;height:1px;background:#000;border-top:1px solid #fff;position:absolute;top:0;left:0;width:100%;margin-top:-1px}.colorpicker-hue{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC)}.colorpicker-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=);display:none}.colorpicker-alpha,.colorpicker-hue,.colorpicker-saturation{background-size:contain}.colorpicker{padding:4px;min-width:130px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;z-index:2500}.colorpicker:after,.colorpicker:before{display:table;content:"";line-height:0}.colorpicker:after{clear:both}.colorpicker:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:6px}.colorpicker:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:7px}.colorpicker div{position:relative}.colorpicker.colorpicker-with-alpha{min-width:140px}.colorpicker.colorpicker-with-alpha .colorpicker-alpha{display:block}.colorpicker-color{height:10px;margin-top:5px;clear:both;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=);background-position:0 100%}.colorpicker-color div{height:10px}.colorpicker-selectors{display:none;height:10px;margin-top:5px;clear:both}.colorpicker-selectors i{cursor:pointer;float:left;height:10px;width:10px}.colorpicker-selectors i+i{margin-left:3px}.colorpicker-element .add-on i,.colorpicker-element .input-group-addon i{display:inline-block;cursor:pointer;height:16px;vertical-align:text-top;width:16px}.colorpicker.colorpicker-inline{position:relative;display:inline-block;float:none;z-index:auto}.colorpicker.colorpicker-horizontal{width:110px;min-width:110px;height:auto}.colorpicker.colorpicker-horizontal .colorpicker-saturation{margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-color{width:100px}.colorpicker.colorpicker-horizontal .colorpicker-alpha,.colorpicker.colorpicker-horizontal .colorpicker-hue{width:100px;height:15px;float:left;cursor:col-resize;margin-left:0;margin-bottom:4px}.colorpicker.colorpicker-horizontal .colorpicker-alpha i,.colorpicker.colorpicker-horizontal .colorpicker-hue i{display:block;height:15px;background:#fff;position:absolute;top:0;left:0;width:1px;border:none;margin-top:0}.colorpicker.colorpicker-horizontal .colorpicker-hue{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==)}.colorpicker.colorpicker-horizontal .colorpicker-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=)}.colorpicker-right:before{left:auto;right:6px}.colorpicker-right:after{left:auto;right:7px}.colorpicker-no-arrow:before{border-right:0;border-left:0}.colorpicker-no-arrow:after{border-right:0;border-left:0}.colorpicker-alpha.colorpicker-visible,.colorpicker-hue.colorpicker-visible,.colorpicker-saturation.colorpicker-visible,.colorpicker-selectors.colorpicker-visible,.colorpicker.colorpicker-visible{display:block}.colorpicker-alpha.colorpicker-hidden,.colorpicker-hue.colorpicker-hidden,.colorpicker-saturation.colorpicker-hidden,.colorpicker-selectors.colorpicker-hidden,.colorpicker.colorpicker-hidden{display:none}.colorpicker-inline.colorpicker-visible{display:inline-block}
10 | /*# sourceMappingURL=bootstrap-colorpicker.min.css.map */
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Colorpicker v2.5.2
3 | * https://itsjavi.com/bootstrap-colorpicker/
4 | *
5 | * Originally written by (c) 2012 Stefan Petre
6 | * Licensed under the Apache License v2.0
7 | * http://www.apache.org/licenses/LICENSE-2.0.txt
8 | *
9 | */
10 | .colorpicker-saturation {
11 | width: 100px;
12 | height: 100px;
13 | background-image: url("data:image/png;base64,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");
14 | cursor: crosshair;
15 | float: left;
16 | }
17 | .colorpicker-saturation i {
18 | display: block;
19 | height: 5px;
20 | width: 5px;
21 | border: 1px solid #000;
22 | -webkit-border-radius: 5px;
23 | -moz-border-radius: 5px;
24 | border-radius: 5px;
25 | position: absolute;
26 | top: 0;
27 | left: 0;
28 | margin: -4px 0 0 -4px;
29 | }
30 | .colorpicker-saturation i b {
31 | display: block;
32 | height: 5px;
33 | width: 5px;
34 | border: 1px solid #fff;
35 | -webkit-border-radius: 5px;
36 | -moz-border-radius: 5px;
37 | border-radius: 5px;
38 | }
39 | .colorpicker-hue,
40 | .colorpicker-alpha {
41 | width: 15px;
42 | height: 100px;
43 | float: left;
44 | cursor: row-resize;
45 | margin-left: 4px;
46 | margin-bottom: 4px;
47 | }
48 | .colorpicker-hue i,
49 | .colorpicker-alpha i {
50 | display: block;
51 | height: 1px;
52 | background: #000;
53 | border-top: 1px solid #fff;
54 | position: absolute;
55 | top: 0;
56 | left: 0;
57 | width: 100%;
58 | margin-top: -1px;
59 | }
60 | .colorpicker-hue {
61 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC");
62 | }
63 | .colorpicker-alpha {
64 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");
65 | display: none;
66 | }
67 | .colorpicker-saturation,
68 | .colorpicker-hue,
69 | .colorpicker-alpha {
70 | background-size: contain;
71 | }
72 | .colorpicker {
73 | padding: 4px;
74 | min-width: 130px;
75 | margin-top: 1px;
76 | -webkit-border-radius: 4px;
77 | -moz-border-radius: 4px;
78 | border-radius: 4px;
79 | z-index: 2500;
80 | }
81 | .colorpicker:before,
82 | .colorpicker:after {
83 | display: table;
84 | content: "";
85 | line-height: 0;
86 | }
87 | .colorpicker:after {
88 | clear: both;
89 | }
90 | .colorpicker:before {
91 | content: '';
92 | display: inline-block;
93 | border-left: 7px solid transparent;
94 | border-right: 7px solid transparent;
95 | border-bottom: 7px solid #ccc;
96 | border-bottom-color: rgba(0, 0, 0, 0.2);
97 | position: absolute;
98 | top: -7px;
99 | left: 6px;
100 | }
101 | .colorpicker:after {
102 | content: '';
103 | display: inline-block;
104 | border-left: 6px solid transparent;
105 | border-right: 6px solid transparent;
106 | border-bottom: 6px solid #ffffff;
107 | position: absolute;
108 | top: -6px;
109 | left: 7px;
110 | }
111 | .colorpicker div {
112 | position: relative;
113 | }
114 | .colorpicker.colorpicker-with-alpha {
115 | min-width: 140px;
116 | }
117 | .colorpicker.colorpicker-with-alpha .colorpicker-alpha {
118 | display: block;
119 | }
120 | .colorpicker-color {
121 | height: 10px;
122 | margin-top: 5px;
123 | clear: both;
124 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");
125 | background-position: 0 100%;
126 | }
127 | .colorpicker-color div {
128 | height: 10px;
129 | }
130 | .colorpicker-selectors {
131 | display: none;
132 | height: 10px;
133 | margin-top: 5px;
134 | clear: both;
135 | }
136 | .colorpicker-selectors i {
137 | cursor: pointer;
138 | float: left;
139 | height: 10px;
140 | width: 10px;
141 | }
142 | .colorpicker-selectors i + i {
143 | margin-left: 3px;
144 | }
145 | .colorpicker-element .input-group-addon i,
146 | .colorpicker-element .add-on i {
147 | display: inline-block;
148 | cursor: pointer;
149 | height: 16px;
150 | vertical-align: text-top;
151 | width: 16px;
152 | }
153 | .colorpicker.colorpicker-inline {
154 | position: relative;
155 | display: inline-block;
156 | float: none;
157 | z-index: auto;
158 | }
159 | .colorpicker.colorpicker-horizontal {
160 | width: 110px;
161 | min-width: 110px;
162 | height: auto;
163 | }
164 | .colorpicker.colorpicker-horizontal .colorpicker-saturation {
165 | margin-bottom: 4px;
166 | }
167 | .colorpicker.colorpicker-horizontal .colorpicker-color {
168 | width: 100px;
169 | }
170 | .colorpicker.colorpicker-horizontal .colorpicker-hue,
171 | .colorpicker.colorpicker-horizontal .colorpicker-alpha {
172 | width: 100px;
173 | height: 15px;
174 | float: left;
175 | cursor: col-resize;
176 | margin-left: 0px;
177 | margin-bottom: 4px;
178 | }
179 | .colorpicker.colorpicker-horizontal .colorpicker-hue i,
180 | .colorpicker.colorpicker-horizontal .colorpicker-alpha i {
181 | display: block;
182 | height: 15px;
183 | background: #ffffff;
184 | position: absolute;
185 | top: 0;
186 | left: 0;
187 | width: 1px;
188 | border: none;
189 | margin-top: 0px;
190 | }
191 | .colorpicker.colorpicker-horizontal .colorpicker-hue {
192 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==");
193 | }
194 | .colorpicker.colorpicker-horizontal .colorpicker-alpha {
195 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=");
196 | }
197 | .colorpicker-right:before {
198 | left: auto;
199 | right: 6px;
200 | }
201 | .colorpicker-right:after {
202 | left: auto;
203 | right: 7px;
204 | }
205 | .colorpicker-no-arrow:before {
206 | border-right: 0;
207 | border-left: 0;
208 | }
209 | .colorpicker-no-arrow:after {
210 | border-right: 0;
211 | border-left: 0;
212 | }
213 | .colorpicker.colorpicker-visible,
214 | .colorpicker-alpha.colorpicker-visible,
215 | .colorpicker-saturation.colorpicker-visible,
216 | .colorpicker-hue.colorpicker-visible,
217 | .colorpicker-selectors.colorpicker-visible {
218 | display: block;
219 | }
220 | .colorpicker.colorpicker-hidden,
221 | .colorpicker-alpha.colorpicker-hidden,
222 | .colorpicker-saturation.colorpicker-hidden,
223 | .colorpicker-hue.colorpicker-hidden,
224 | .colorpicker-selectors.colorpicker-hidden {
225 | display: none;
226 | }
227 | .colorpicker-inline.colorpicker-visible {
228 | display: inline-block;
229 | }
230 | /*# sourceMappingURL=bootstrap-colorpicker.css.map */
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/src/less/colorpicker.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Colorpicker v2.5.2
3 | * https://itsjavi.com/bootstrap-colorpicker/
4 | *
5 | * Originally written by (c) 2012 Stefan Petre
6 | * Licensed under the Apache License v2.0
7 | * http://www.apache.org/licenses/LICENSE-2.0.txt
8 | *
9 | */
10 |
11 | .bgImg(@imgBase64) {
12 | background-image: url("@{imgBase64}");
13 | }
14 |
15 | .borderRadius(@size) {
16 | -webkit-border-radius: @size;
17 | -moz-border-radius: @size;
18 | border-radius: @size;
19 | }
20 |
21 | .colorpicker-saturation {
22 | width: 100px;
23 | height: 100px;
24 | .bgImg('data:image/png;base64,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');
25 | cursor: crosshair;
26 | float: left;
27 | i {
28 | display: block;
29 | height: 5px;
30 | width: 5px;
31 | border: 1px solid #000;
32 | .borderRadius(5px);
33 | position: absolute;
34 | top: 0;
35 | left: 0;
36 | margin: -4px 0 0 -4px;
37 | b {
38 | display: block;
39 | height: 5px;
40 | width: 5px;
41 | border: 1px solid #fff;
42 | .borderRadius(5px);
43 | }
44 | }
45 | }
46 |
47 | .colorpicker-hue,
48 | .colorpicker-alpha {
49 | width: 15px;
50 | height: 100px;
51 | float: left;
52 | cursor: row-resize;
53 | margin-left: 4px;
54 | margin-bottom: 4px;
55 | }
56 |
57 | .colorpicker-hue i,
58 | .colorpicker-alpha i {
59 | display: block;
60 | height: 1px;
61 | background: #000;
62 | border-top: 1px solid #fff;
63 | position: absolute;
64 | top: 0;
65 | left: 0;
66 | width: 100%;
67 | margin-top: -1px;
68 | }
69 |
70 | .colorpicker-hue {
71 | .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC');
72 | }
73 |
74 | .colorpicker-alpha {
75 | .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');
76 | display: none;
77 | }
78 |
79 | .colorpicker-saturation,
80 | .colorpicker-hue,
81 | .colorpicker-alpha {
82 | background-size: contain;
83 | }
84 |
85 | .colorpicker {
86 | padding: 4px;
87 | min-width: 130px;
88 | margin-top: 1px;
89 | .borderRadius(4px);
90 | z-index: 2500;
91 | }
92 |
93 | .colorpicker:before,
94 | .colorpicker:after {
95 | display: table;
96 | content: "";
97 | line-height: 0;
98 | }
99 |
100 | .colorpicker:after {
101 | clear: both;
102 | }
103 |
104 | .colorpicker:before {
105 | content: '';
106 | display: inline-block;
107 | border-left: 7px solid transparent;
108 | border-right: 7px solid transparent;
109 | border-bottom: 7px solid #ccc;
110 | border-bottom-color: rgba(0, 0, 0, 0.2);
111 | position: absolute;
112 | top: -7px;
113 | left: 6px;
114 | }
115 |
116 | .colorpicker:after {
117 | content: '';
118 | display: inline-block;
119 | border-left: 6px solid transparent;
120 | border-right: 6px solid transparent;
121 | border-bottom: 6px solid #ffffff;
122 | position: absolute;
123 | top: -6px;
124 | left: 7px;
125 | }
126 |
127 | .colorpicker div {
128 | position: relative;
129 | }
130 |
131 | .colorpicker.colorpicker-with-alpha {
132 | min-width: 140px;
133 | }
134 |
135 | .colorpicker.colorpicker-with-alpha .colorpicker-alpha {
136 | display: block;
137 | }
138 |
139 | .colorpicker-color {
140 | height: 10px;
141 | margin-top: 5px;
142 | clear: both;
143 | .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');
144 | background-position: 0 100%;
145 | }
146 |
147 | .colorpicker-color div {
148 | height: 10px;
149 | }
150 |
151 | .colorpicker-selectors {
152 | display: none;
153 | height: 10px;
154 | margin-top: 5px;
155 | clear: both;
156 | }
157 |
158 | .colorpicker-selectors i {
159 | cursor: pointer;
160 | float: left;
161 | height: 10px;
162 | width: 10px;
163 | }
164 |
165 | .colorpicker-selectors i + i {
166 | margin-left: 3px;
167 | }
168 |
169 | .colorpicker-element .input-group-addon i,
170 | .colorpicker-element .add-on i {
171 | display: inline-block;
172 | cursor: pointer;
173 | height: 16px;
174 | vertical-align: text-top;
175 | width: 16px;
176 | }
177 |
178 | .colorpicker.colorpicker-inline {
179 | position: relative;
180 | display: inline-block;
181 | float: none;
182 | z-index: auto;
183 | }
184 |
185 | .colorpicker.colorpicker-horizontal {
186 | width: 110px;
187 | min-width: 110px;
188 | height: auto;
189 | }
190 |
191 | .colorpicker.colorpicker-horizontal .colorpicker-saturation {
192 | margin-bottom: 4px;
193 | }
194 |
195 | .colorpicker.colorpicker-horizontal .colorpicker-color {
196 | width: 100px;
197 | }
198 |
199 | .colorpicker.colorpicker-horizontal .colorpicker-hue,
200 | .colorpicker.colorpicker-horizontal .colorpicker-alpha {
201 | width: 100px;
202 | height: 15px;
203 | float: left;
204 | cursor: col-resize;
205 | margin-left: 0px;
206 | margin-bottom: 4px;
207 | }
208 |
209 | .colorpicker.colorpicker-horizontal .colorpicker-hue i,
210 | .colorpicker.colorpicker-horizontal .colorpicker-alpha i {
211 | display: block;
212 | height: 15px;
213 | background: #ffffff;
214 | position: absolute;
215 | top: 0;
216 | left: 0;
217 | width: 1px;
218 | border: none;
219 | margin-top: 0px;
220 | }
221 |
222 | .colorpicker.colorpicker-horizontal .colorpicker-hue {
223 | .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==');
224 | }
225 |
226 | .colorpicker.colorpicker-horizontal .colorpicker-alpha {
227 | .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=');
228 | }
229 |
230 | .colorpicker-right:before {
231 | left: auto;
232 | right: 6px;
233 | }
234 |
235 | .colorpicker-right:after {
236 | left: auto;
237 | right: 7px;
238 | }
239 |
240 | .colorpicker-no-arrow:before {
241 | border-right: 0;
242 | border-left: 0;
243 | }
244 |
245 | .colorpicker-no-arrow:after {
246 | border-right: 0;
247 | border-left: 0;
248 | }
249 |
250 | .colorpicker,
251 | .colorpicker-alpha,
252 | .colorpicker-saturation,
253 | .colorpicker-hue,
254 | .colorpicker-selectors {
255 | &.colorpicker-visible {
256 | display: block;
257 | }
258 | }
259 |
260 | .colorpicker,
261 | .colorpicker-alpha,
262 | .colorpicker-saturation,
263 | .colorpicker-hue,
264 | .colorpicker-selectors {
265 | &.colorpicker-hidden {
266 | display: none;
267 | }
268 | }
269 |
270 | .colorpicker-inline.colorpicker-visible {
271 | display: inline-block;
272 | }
273 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/src/sass/_colorpicker.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Colorpicker v2.5.2
3 | * https://itsjavi.com/bootstrap-colorpicker/
4 | *
5 | * Originally written by (c) 2012 Stefan Petre
6 | * Licensed under the Apache License v2.0
7 | * http://www.apache.org/licenses/LICENSE-2.0.txt
8 | *
9 | */
10 |
11 | @mixin bgImg($imgBase64) {
12 | background-image: url("#{$imgBase64}");
13 | }
14 |
15 | @mixin borderRadius($size) {
16 | -webkit-border-radius: $size;
17 | -moz-border-radius: $size;
18 | border-radius: $size;
19 | }
20 |
21 | .colorpicker-saturation {
22 | width: 100px;
23 | height: 100px;
24 | @include bgImg('data:image/png;base64,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');
25 | cursor: crosshair;
26 | float: left;
27 | i {
28 | display: block;
29 | height: 5px;
30 | width: 5px;
31 | border: 1px solid #000;
32 | @include borderRadius(5px);
33 | position: absolute;
34 | top: 0;
35 | left: 0;
36 | margin: -4px 0 0 -4px;
37 | b {
38 | display: block;
39 | height: 5px;
40 | width: 5px;
41 | border: 1px solid #fff;
42 | @include borderRadius(5px);
43 | }
44 | }
45 | }
46 |
47 | .colorpicker-hue,
48 | .colorpicker-alpha {
49 | width: 15px;
50 | height: 100px;
51 | float: left;
52 | cursor: row-resize;
53 | margin-left: 4px;
54 | margin-bottom: 4px;
55 | }
56 |
57 | .colorpicker-hue i,
58 | .colorpicker-alpha i {
59 | display: block;
60 | height: 1px;
61 | background: #000;
62 | border-top: 1px solid #fff;
63 | position: absolute;
64 | top: 0;
65 | left: 0;
66 | width: 100%;
67 | margin-top: -1px;
68 | }
69 |
70 | .colorpicker-hue {
71 | @include bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC');
72 | }
73 |
74 | .colorpicker-alpha {
75 | @include bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');
76 | display: none;
77 | }
78 |
79 | .colorpicker-saturation,
80 | .colorpicker-hue,
81 | .colorpicker-alpha {
82 | background-size: contain;
83 | }
84 |
85 | .colorpicker {
86 | padding: 4px;
87 | min-width: 130px;
88 | margin-top: 1px;
89 | @include borderRadius(4px);
90 | z-index: 2500;
91 | }
92 |
93 | .colorpicker:before,
94 | .colorpicker:after {
95 | display: table;
96 | content: "";
97 | line-height: 0;
98 | }
99 |
100 | .colorpicker:after {
101 | clear: both;
102 | }
103 |
104 | .colorpicker:before {
105 | content: '';
106 | display: inline-block;
107 | border-left: 7px solid transparent;
108 | border-right: 7px solid transparent;
109 | border-bottom: 7px solid #ccc;
110 | border-bottom-color: rgba(0, 0, 0, 0.2);
111 | position: absolute;
112 | top: -7px;
113 | left: 6px;
114 | }
115 |
116 | .colorpicker:after {
117 | content: '';
118 | display: inline-block;
119 | border-left: 6px solid transparent;
120 | border-right: 6px solid transparent;
121 | border-bottom: 6px solid #ffffff;
122 | position: absolute;
123 | top: -6px;
124 | left: 7px;
125 | }
126 |
127 | .colorpicker div {
128 | position: relative;
129 | }
130 |
131 | .colorpicker.colorpicker-with-alpha {
132 | min-width: 140px;
133 | }
134 |
135 | .colorpicker.colorpicker-with-alpha .colorpicker-alpha {
136 | display: block;
137 | }
138 |
139 | .colorpicker-color {
140 | height: 10px;
141 | margin-top: 5px;
142 | clear: both;
143 | @include bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');
144 | background-position: 0 100%;
145 | }
146 |
147 | .colorpicker-color div {
148 | height: 10px;
149 | }
150 |
151 | .colorpicker-selectors {
152 | display: none;
153 | height: 10px;
154 | margin-top: 5px;
155 | clear: both;
156 | }
157 |
158 | .colorpicker-selectors i {
159 | cursor: pointer;
160 | float: left;
161 | height: 10px;
162 | width: 10px;
163 | }
164 |
165 | .colorpicker-selectors i + i {
166 | margin-left: 3px;
167 | }
168 |
169 | .colorpicker-element .input-group-addon i,
170 | .colorpicker-element .add-on i {
171 | display: inline-block;
172 | cursor: pointer;
173 | height: 16px;
174 | vertical-align: text-top;
175 | width: 16px;
176 | }
177 |
178 | .colorpicker.colorpicker-inline {
179 | position: relative;
180 | display: inline-block;
181 | float: none;
182 | z-index: auto;
183 | }
184 |
185 | .colorpicker.colorpicker-horizontal {
186 | width: 110px;
187 | min-width: 110px;
188 | height: auto;
189 | }
190 |
191 | .colorpicker.colorpicker-horizontal .colorpicker-saturation {
192 | margin-bottom: 4px;
193 | }
194 |
195 | .colorpicker.colorpicker-horizontal .colorpicker-color {
196 | width: 100px;
197 | }
198 |
199 | .colorpicker.colorpicker-horizontal .colorpicker-hue,
200 | .colorpicker.colorpicker-horizontal .colorpicker-alpha {
201 | width: 100px;
202 | height: 15px;
203 | float: left;
204 | cursor: col-resize;
205 | margin-left: 0px;
206 | margin-bottom: 4px;
207 | }
208 |
209 | .colorpicker.colorpicker-horizontal .colorpicker-hue i,
210 | .colorpicker.colorpicker-horizontal .colorpicker-alpha i {
211 | display: block;
212 | height: 15px;
213 | background: #ffffff;
214 | position: absolute;
215 | top: 0;
216 | left: 0;
217 | width: 1px;
218 | border: none;
219 | margin-top: 0px;
220 | }
221 |
222 | .colorpicker.colorpicker-horizontal .colorpicker-hue {
223 | @include bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==');
224 | }
225 |
226 | .colorpicker.colorpicker-horizontal .colorpicker-alpha {
227 | @include bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=');
228 | }
229 |
230 | .colorpicker-right:before {
231 | left: auto;
232 | right: 6px;
233 | }
234 |
235 | .colorpicker-right:after {
236 | left: auto;
237 | right: 7px;
238 | }
239 |
240 | .colorpicker-no-arrow:before {
241 | border-right: 0;
242 | border-left: 0;
243 | }
244 |
245 | .colorpicker-no-arrow:after {
246 | border-right: 0;
247 | border-left: 0;
248 | }
249 |
250 | .colorpicker,
251 | .colorpicker-alpha,
252 | .colorpicker-saturation,
253 | .colorpicker-hue,
254 | .colorpicker-selectors {
255 | &.colorpicker-visible {
256 | display: block;
257 | }
258 | }
259 |
260 | .colorpicker,
261 | .colorpicker-alpha,
262 | .colorpicker-saturation,
263 | .colorpicker-hue,
264 | .colorpicker-selectors {
265 | &.colorpicker-hidden {
266 | display: none;
267 | }
268 | }
269 |
270 | .colorpicker-inline.colorpicker-visible {
271 | display: inline-block;
272 | }
273 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["src/less/colorpicker.less"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Colorpicker v2.5.2\n * https://itsjavi.com/bootstrap-colorpicker/\n *\n * Originally written by (c) 2012 Stefan Petre\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0.txt\n *\n */\n\n.bgImg(@imgBase64) {\n background-image: url(\"@{imgBase64}\");\n}\n\n.borderRadius(@size) {\n -webkit-border-radius: @size;\n -moz-border-radius: @size;\n border-radius: @size;\n}\n\n.colorpicker-saturation {\n width: 100px;\n height: 100px;\n .bgImg('data:image/png;base64,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');\n cursor: crosshair;\n float: left;\n i {\n display: block;\n height: 5px;\n width: 5px;\n border: 1px solid #000;\n .borderRadius(5px);\n position: absolute;\n top: 0;\n left: 0;\n margin: -4px 0 0 -4px;\n b {\n display: block;\n height: 5px;\n width: 5px;\n border: 1px solid #fff;\n .borderRadius(5px);\n }\n }\n}\n\n.colorpicker-hue,\n.colorpicker-alpha {\n width: 15px;\n height: 100px;\n float: left;\n cursor: row-resize;\n margin-left: 4px;\n margin-bottom: 4px;\n}\n\n.colorpicker-hue i,\n.colorpicker-alpha i {\n display: block;\n height: 1px;\n background: #000;\n border-top: 1px solid #fff;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n margin-top: -1px;\n}\n\n.colorpicker-hue {\n .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC');\n}\n\n.colorpicker-alpha {\n .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');\n display: none;\n}\n\n.colorpicker-saturation,\n.colorpicker-hue,\n.colorpicker-alpha {\n background-size: contain;\n}\n\n.colorpicker {\n padding: 4px;\n min-width: 130px;\n margin-top: 1px;\n .borderRadius(4px);\n z-index: 2500;\n}\n\n.colorpicker:before,\n.colorpicker:after {\n display: table;\n content: \"\";\n line-height: 0;\n}\n\n.colorpicker:after {\n clear: both;\n}\n\n.colorpicker:before {\n content: '';\n display: inline-block;\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom: 7px solid #ccc;\n border-bottom-color: rgba(0, 0, 0, 0.2);\n position: absolute;\n top: -7px;\n left: 6px;\n}\n\n.colorpicker:after {\n content: '';\n display: inline-block;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid #ffffff;\n position: absolute;\n top: -6px;\n left: 7px;\n}\n\n.colorpicker div {\n position: relative;\n}\n\n.colorpicker.colorpicker-with-alpha {\n min-width: 140px;\n}\n\n.colorpicker.colorpicker-with-alpha .colorpicker-alpha {\n display: block;\n}\n\n.colorpicker-color {\n height: 10px;\n margin-top: 5px;\n clear: both;\n .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=');\n background-position: 0 100%;\n}\n\n.colorpicker-color div {\n height: 10px;\n}\n\n.colorpicker-selectors {\n display: none;\n height: 10px;\n margin-top: 5px;\n clear: both;\n}\n\n.colorpicker-selectors i {\n cursor: pointer;\n float: left;\n height: 10px;\n width: 10px;\n}\n\n.colorpicker-selectors i + i {\n margin-left: 3px;\n}\n\n.colorpicker-element .input-group-addon i,\n.colorpicker-element .add-on i {\n display: inline-block;\n cursor: pointer;\n height: 16px;\n vertical-align: text-top;\n width: 16px;\n}\n\n.colorpicker.colorpicker-inline {\n position: relative;\n display: inline-block;\n float: none;\n z-index: auto;\n}\n\n.colorpicker.colorpicker-horizontal {\n width: 110px;\n min-width: 110px;\n height: auto;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-saturation {\n margin-bottom: 4px;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-color {\n width: 100px;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n width: 100px;\n height: 15px;\n float: left;\n cursor: col-resize;\n margin-left: 0px;\n margin-bottom: 4px;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue i,\n.colorpicker.colorpicker-horizontal .colorpicker-alpha i {\n display: block;\n height: 15px;\n background: #ffffff;\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n border: none;\n margin-top: 0px;\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-hue {\n .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==');\n}\n\n.colorpicker.colorpicker-horizontal .colorpicker-alpha {\n .bgImg('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=');\n}\n\n.colorpicker-right:before {\n left: auto;\n right: 6px;\n}\n\n.colorpicker-right:after {\n left: auto;\n right: 7px;\n}\n\n.colorpicker-no-arrow:before {\n border-right: 0;\n border-left: 0;\n}\n\n.colorpicker-no-arrow:after {\n border-right: 0;\n border-left: 0;\n}\n\n.colorpicker,\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue,\n.colorpicker-selectors {\n &.colorpicker-visible {\n display: block;\n }\n}\n\n.colorpicker,\n.colorpicker-alpha,\n.colorpicker-saturation,\n.colorpicker-hue,\n.colorpicker-selectors {\n &.colorpicker-hidden {\n display: none;\n }\n}\n\n.colorpicker-inline.colorpicker-visible {\n display: inline-block;\n}\n"]}
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/src/js/colorpicker-component.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Colorpicker component class
3 | *
4 | * @param {Object|String} element
5 | * @param {Object} options
6 | * @constructor
7 | */
8 | var Colorpicker = function(element, options) {
9 | this.element = $(element).addClass('colorpicker-element');
10 | this.options = $.extend(true, {}, defaults, this.element.data(), options);
11 | this.component = this.options.component;
12 | this.component = (this.component !== false) ? this.element.find(this.component) : false;
13 | if (this.component && (this.component.length === 0)) {
14 | this.component = false;
15 | }
16 | this.container = (this.options.container === true) ? this.element : this.options.container;
17 | this.container = (this.container !== false) ? $(this.container) : false;
18 |
19 | // Is the element an input? Should we search inside for any input?
20 | this.input = this.element.is('input') ? this.element : (this.options.input ?
21 | this.element.find(this.options.input) : false);
22 | if (this.input && (this.input.length === 0)) {
23 | this.input = false;
24 | }
25 | // Set HSB color
26 | this.color = this.createColor(this.options.color !== false ? this.options.color : this.getValue());
27 |
28 | this.format = this.options.format !== false ? this.options.format : this.color.origFormat;
29 |
30 | if (this.options.color !== false) {
31 | this.updateInput(this.color);
32 | this.updateData(this.color);
33 | }
34 |
35 | this.disabled = false;
36 |
37 | // Setup picker
38 | var $picker = this.picker = $(this.options.template);
39 | if (this.options.customClass) {
40 | $picker.addClass(this.options.customClass);
41 | }
42 | if (this.options.inline) {
43 | $picker.addClass('colorpicker-inline colorpicker-visible');
44 | } else {
45 | $picker.addClass('colorpicker-hidden');
46 | }
47 | if (this.options.horizontal) {
48 | $picker.addClass('colorpicker-horizontal');
49 | }
50 | if (
51 | (['rgba', 'hsla', 'alias'].indexOf(this.format) !== -1) ||
52 | this.options.format === false ||
53 | this.getValue() === 'transparent'
54 | ) {
55 | $picker.addClass('colorpicker-with-alpha');
56 | }
57 | if (this.options.align === 'right') {
58 | $picker.addClass('colorpicker-right');
59 | }
60 | if (this.options.inline === true) {
61 | $picker.addClass('colorpicker-no-arrow');
62 | }
63 | if (this.options.colorSelectors) {
64 | var colorpicker = this,
65 | selectorsContainer = colorpicker.picker.find('.colorpicker-selectors');
66 |
67 | if (selectorsContainer.length > 0) {
68 | $.each(this.options.colorSelectors, function(name, color) {
69 | var $btn = $(' ')
70 | .addClass('colorpicker-selectors-color')
71 | .css('background-color', color)
72 | .data('class', name).data('alias', name);
73 |
74 | $btn.on('mousedown.colorpicker touchstart.colorpicker', function(event) {
75 | event.preventDefault();
76 | colorpicker.setValue(
77 | colorpicker.format === 'alias' ? $(this).data('alias') : $(this).css('background-color')
78 | );
79 | });
80 | selectorsContainer.append($btn);
81 | });
82 | selectorsContainer.show().addClass('colorpicker-visible');
83 | }
84 | }
85 |
86 | // Prevent closing the colorpicker when clicking on itself
87 | $picker.on('mousedown.colorpicker touchstart.colorpicker', $.proxy(function(e) {
88 | if (e.target === e.currentTarget) {
89 | e.preventDefault();
90 | }
91 | }, this));
92 |
93 | // Bind click/tap events on the sliders
94 | $picker.find('.colorpicker-saturation, .colorpicker-hue, .colorpicker-alpha')
95 | .on('mousedown.colorpicker touchstart.colorpicker', $.proxy(this.mousedown, this));
96 |
97 | $picker.appendTo(this.container ? this.container : $('body'));
98 |
99 | // Bind other events
100 | if (this.input !== false) {
101 | this.input.on({
102 | 'keyup.colorpicker': $.proxy(this.keyup, this)
103 | });
104 | this.input.on({
105 | 'input.colorpicker': $.proxy(this.change, this)
106 | });
107 | if (this.component === false) {
108 | this.element.on({
109 | 'focus.colorpicker': $.proxy(this.show, this)
110 | });
111 | }
112 | if (this.options.inline === false) {
113 | this.element.on({
114 | 'focusout.colorpicker': $.proxy(this.hide, this)
115 | });
116 | }
117 | }
118 |
119 | if (this.component !== false) {
120 | this.component.on({
121 | 'click.colorpicker': $.proxy(this.show, this)
122 | });
123 | }
124 |
125 | if ((this.input === false) && (this.component === false)) {
126 | this.element.on({
127 | 'click.colorpicker': $.proxy(this.show, this)
128 | });
129 | }
130 |
131 | // for HTML5 input[type='color']
132 | if ((this.input !== false) && (this.component !== false) && (this.input.attr('type') === 'color')) {
133 |
134 | this.input.on({
135 | 'click.colorpicker': $.proxy(this.show, this),
136 | 'focus.colorpicker': $.proxy(this.show, this)
137 | });
138 | }
139 | this.update();
140 |
141 | $($.proxy(function() {
142 | this.element.trigger('create');
143 | }, this));
144 | };
145 |
146 | Colorpicker.Color = Color;
147 |
148 | Colorpicker.prototype = {
149 | constructor: Colorpicker,
150 | destroy: function() {
151 | this.picker.remove();
152 | this.element.removeData('colorpicker', 'color').off('.colorpicker');
153 | if (this.input !== false) {
154 | this.input.off('.colorpicker');
155 | }
156 | if (this.component !== false) {
157 | this.component.off('.colorpicker');
158 | }
159 | this.element.removeClass('colorpicker-element');
160 | this.element.trigger({
161 | type: 'destroy'
162 | });
163 | },
164 | reposition: function() {
165 | if (this.options.inline !== false || this.options.container) {
166 | return false;
167 | }
168 | var type = this.container && this.container[0] !== window.document.body ? 'position' : 'offset';
169 | var element = this.component || this.element;
170 | var offset = element[type]();
171 | if (this.options.align === 'right') {
172 | offset.left -= this.picker.outerWidth() - element.outerWidth();
173 | }
174 | this.picker.css({
175 | top: offset.top + element.outerHeight(),
176 | left: offset.left
177 | });
178 | },
179 | show: function(e) {
180 | if (this.isDisabled()) {
181 | // Don't show the widget if it's disabled (the input)
182 | return;
183 | }
184 | this.picker.addClass('colorpicker-visible').removeClass('colorpicker-hidden');
185 | this.reposition();
186 | $(window).on('resize.colorpicker', $.proxy(this.reposition, this));
187 | if (e && (!this.hasInput() || this.input.attr('type') === 'color')) {
188 | if (e.stopPropagation && e.preventDefault) {
189 | e.stopPropagation();
190 | e.preventDefault();
191 | }
192 | }
193 | if ((this.component || !this.input) && (this.options.inline === false)) {
194 | $(window.document).on({
195 | 'mousedown.colorpicker': $.proxy(this.hide, this)
196 | });
197 | }
198 | this.element.trigger({
199 | type: 'showPicker',
200 | color: this.color
201 | });
202 | },
203 | hide: function(e) {
204 | if ((typeof e !== 'undefined') && e.target) {
205 | // Prevent hide if triggered by an event and an element inside the colorpicker has been clicked/touched
206 | if (
207 | $(e.currentTarget).parents('.colorpicker').length > 0 ||
208 | $(e.target).parents('.colorpicker').length > 0
209 | ) {
210 | return false;
211 | }
212 | }
213 | this.picker.addClass('colorpicker-hidden').removeClass('colorpicker-visible');
214 | $(window).off('resize.colorpicker', this.reposition);
215 | $(window.document).off({
216 | 'mousedown.colorpicker': this.hide
217 | });
218 | this.update();
219 | this.element.trigger({
220 | type: 'hidePicker',
221 | color: this.color
222 | });
223 | },
224 | updateData: function(val) {
225 | val = val || this.color.toString(false, this.format);
226 | this.element.data('color', val);
227 | return val;
228 | },
229 | updateInput: function(val) {
230 | val = val || this.color.toString(false, this.format);
231 | if (this.input !== false) {
232 | this.input.prop('value', val);
233 | this.input.trigger('change');
234 | }
235 | return val;
236 | },
237 | updatePicker: function(val) {
238 | if (typeof val !== 'undefined') {
239 | this.color = this.createColor(val);
240 | }
241 | var sl = (this.options.horizontal === false) ? this.options.sliders : this.options.slidersHorz;
242 | var icns = this.picker.find('i');
243 | if (icns.length === 0) {
244 | return;
245 | }
246 | if (this.options.horizontal === false) {
247 | sl = this.options.sliders;
248 | icns.eq(1).css('top', sl.hue.maxTop * (1 - this.color.value.h)).end()
249 | .eq(2).css('top', sl.alpha.maxTop * (1 - this.color.value.a));
250 | } else {
251 | sl = this.options.slidersHorz;
252 | icns.eq(1).css('left', sl.hue.maxLeft * (1 - this.color.value.h)).end()
253 | .eq(2).css('left', sl.alpha.maxLeft * (1 - this.color.value.a));
254 | }
255 | icns.eq(0).css({
256 | 'top': sl.saturation.maxTop - this.color.value.b * sl.saturation.maxTop,
257 | 'left': this.color.value.s * sl.saturation.maxLeft
258 | });
259 |
260 | this.picker.find('.colorpicker-saturation')
261 | .css('backgroundColor', this.color.toHex(true, this.color.value.h, 1, 1, 1));
262 |
263 | this.picker.find('.colorpicker-alpha')
264 | .css('backgroundColor', this.color.toHex(true));
265 |
266 | this.picker.find('.colorpicker-color, .colorpicker-color div')
267 | .css('backgroundColor', this.color.toString(true, this.format));
268 |
269 | return val;
270 | },
271 | updateComponent: function(val) {
272 | var color;
273 |
274 | if (typeof val !== 'undefined') {
275 | color = this.createColor(val);
276 | } else {
277 | color = this.color;
278 | }
279 |
280 | if (this.component !== false) {
281 | var icn = this.component.find('i').eq(0);
282 | if (icn.length > 0) {
283 | icn.css({
284 | 'backgroundColor': color.toString(true, this.format)
285 | });
286 | } else {
287 | this.component.css({
288 | 'backgroundColor': color.toString(true, this.format)
289 | });
290 | }
291 | }
292 |
293 | return color.toString(false, this.format);
294 | },
295 | update: function(force) {
296 | var val;
297 | if ((this.getValue(false) !== false) || (force === true)) {
298 | // Update input/data only if the current value is not empty
299 | val = this.updateComponent();
300 | this.updateInput(val);
301 | this.updateData(val);
302 | this.updatePicker(); // only update picker if value is not empty
303 | }
304 | return val;
305 |
306 | },
307 | setValue: function(val) { // set color manually
308 | this.color = this.createColor(val);
309 | this.update(true);
310 | this.element.trigger({
311 | type: 'changeColor',
312 | color: this.color,
313 | value: val
314 | });
315 | },
316 | /**
317 | * Creates a new color using the instance options
318 | * @protected
319 | * @param {String} val
320 | * @returns {Color}
321 | */
322 | createColor: function(val) {
323 | return new Color(
324 | val ? val : null,
325 | this.options.colorSelectors,
326 | this.options.fallbackColor ? this.options.fallbackColor : this.color,
327 | this.options.fallbackFormat,
328 | this.options.hexNumberSignPrefix
329 | );
330 | },
331 | getValue: function(defaultValue) {
332 | defaultValue = (typeof defaultValue === 'undefined') ? this.options.fallbackColor : defaultValue;
333 | var val;
334 | if (this.hasInput()) {
335 | val = this.input.val();
336 | } else {
337 | val = this.element.data('color');
338 | }
339 | if ((val === undefined) || (val === '') || (val === null)) {
340 | // if not defined or empty, return default
341 | val = defaultValue;
342 | }
343 | return val;
344 | },
345 | hasInput: function() {
346 | return (this.input !== false);
347 | },
348 | isDisabled: function() {
349 | return this.disabled;
350 | },
351 | disable: function() {
352 | if (this.hasInput()) {
353 | this.input.prop('disabled', true);
354 | }
355 | this.disabled = true;
356 | this.element.trigger({
357 | type: 'disable',
358 | color: this.color,
359 | value: this.getValue()
360 | });
361 | return true;
362 | },
363 | enable: function() {
364 | if (this.hasInput()) {
365 | this.input.prop('disabled', false);
366 | }
367 | this.disabled = false;
368 | this.element.trigger({
369 | type: 'enable',
370 | color: this.color,
371 | value: this.getValue()
372 | });
373 | return true;
374 | },
375 | currentSlider: null,
376 | mousePointer: {
377 | left: 0,
378 | top: 0
379 | },
380 | mousedown: function(e) {
381 | if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {
382 | e.pageX = e.originalEvent.touches[0].pageX;
383 | e.pageY = e.originalEvent.touches[0].pageY;
384 | }
385 | e.stopPropagation();
386 | e.preventDefault();
387 |
388 | var target = $(e.target);
389 |
390 | //detect the slider and set the limits and callbacks
391 | var zone = target.closest('div');
392 | var sl = this.options.horizontal ? this.options.slidersHorz : this.options.sliders;
393 | if (!zone.is('.colorpicker')) {
394 | if (zone.is('.colorpicker-saturation')) {
395 | this.currentSlider = $.extend({}, sl.saturation);
396 | } else if (zone.is('.colorpicker-hue')) {
397 | this.currentSlider = $.extend({}, sl.hue);
398 | } else if (zone.is('.colorpicker-alpha')) {
399 | this.currentSlider = $.extend({}, sl.alpha);
400 | } else {
401 | return false;
402 | }
403 | var offset = zone.offset();
404 | //reference to guide's style
405 | this.currentSlider.guide = zone.find('i')[0].style;
406 | this.currentSlider.left = e.pageX - offset.left;
407 | this.currentSlider.top = e.pageY - offset.top;
408 | this.mousePointer = {
409 | left: e.pageX,
410 | top: e.pageY
411 | };
412 | //trigger mousemove to move the guide to the current position
413 | $(window.document).on({
414 | 'mousemove.colorpicker': $.proxy(this.mousemove, this),
415 | 'touchmove.colorpicker': $.proxy(this.mousemove, this),
416 | 'mouseup.colorpicker': $.proxy(this.mouseup, this),
417 | 'touchend.colorpicker': $.proxy(this.mouseup, this)
418 | }).trigger('mousemove');
419 | }
420 | return false;
421 | },
422 | mousemove: function(e) {
423 | if (!e.pageX && !e.pageY && e.originalEvent && e.originalEvent.touches) {
424 | e.pageX = e.originalEvent.touches[0].pageX;
425 | e.pageY = e.originalEvent.touches[0].pageY;
426 | }
427 | e.stopPropagation();
428 | e.preventDefault();
429 | var left = Math.max(
430 | 0,
431 | Math.min(
432 | this.currentSlider.maxLeft,
433 | this.currentSlider.left + ((e.pageX || this.mousePointer.left) - this.mousePointer.left)
434 | )
435 | );
436 | var top = Math.max(
437 | 0,
438 | Math.min(
439 | this.currentSlider.maxTop,
440 | this.currentSlider.top + ((e.pageY || this.mousePointer.top) - this.mousePointer.top)
441 | )
442 | );
443 | this.currentSlider.guide.left = left + 'px';
444 | this.currentSlider.guide.top = top + 'px';
445 | if (this.currentSlider.callLeft) {
446 | this.color[this.currentSlider.callLeft].call(this.color, left / this.currentSlider.maxLeft);
447 | }
448 | if (this.currentSlider.callTop) {
449 | this.color[this.currentSlider.callTop].call(this.color, top / this.currentSlider.maxTop);
450 | }
451 | // Change format dynamically
452 | // Only occurs if user choose the dynamic format by
453 | // setting option format to false
454 | if (
455 | this.options.format === false &&
456 | (this.currentSlider.callTop === 'setAlpha' ||
457 | this.currentSlider.callLeft === 'setAlpha')
458 | ) {
459 |
460 | // Converting from hex / rgb to rgba
461 | if (this.color.value.a !== 1) {
462 | this.format = 'rgba';
463 | this.color.origFormat = 'rgba';
464 | }
465 |
466 | // Converting from rgba to hex
467 | else {
468 | this.format = 'hex';
469 | this.color.origFormat = 'hex';
470 | }
471 | }
472 | this.update(true);
473 |
474 | this.element.trigger({
475 | type: 'changeColor',
476 | color: this.color
477 | });
478 | return false;
479 | },
480 | mouseup: function(e) {
481 | e.stopPropagation();
482 | e.preventDefault();
483 | $(window.document).off({
484 | 'mousemove.colorpicker': this.mousemove,
485 | 'touchmove.colorpicker': this.mousemove,
486 | 'mouseup.colorpicker': this.mouseup,
487 | 'touchend.colorpicker': this.mouseup
488 | });
489 | return false;
490 | },
491 | change: function(e) {
492 | this.color = this.createColor(this.input.val());
493 | // Change format dynamically
494 | // Only occurs if user choose the dynamic format by
495 | // setting option format to false
496 | if (this.color.origFormat && this.options.format === false) {
497 | this.format = this.color.origFormat;
498 | }
499 | if (this.getValue(false) !== false) {
500 | this.updateData();
501 | this.updateComponent();
502 | this.updatePicker();
503 | }
504 |
505 | this.element.trigger({
506 | type: 'changeColor',
507 | color: this.color,
508 | value: this.input.val()
509 | });
510 | },
511 | keyup: function(e) {
512 | if ((e.keyCode === 38)) {
513 | if (this.color.value.a < 1) {
514 | this.color.value.a = Math.round((this.color.value.a + 0.01) * 100) / 100;
515 | }
516 | this.update(true);
517 | } else if ((e.keyCode === 40)) {
518 | if (this.color.value.a > 0) {
519 | this.color.value.a = Math.round((this.color.value.a - 0.01) * 100) / 100;
520 | }
521 | this.update(true);
522 | }
523 |
524 | this.element.trigger({
525 | type: 'changeColor',
526 | color: this.color,
527 | value: this.input.val()
528 | });
529 | }
530 | };
531 |
532 | $.colorpicker = Colorpicker;
533 |
534 | $.fn.colorpicker = function(option) {
535 | var apiArgs = Array.prototype.slice.call(arguments, 1),
536 | isSingleElement = (this.length === 1),
537 | returnValue = null;
538 |
539 | var $jq = this.each(function() {
540 | var $this = $(this),
541 | inst = $this.data('colorpicker'),
542 | options = ((typeof option === 'object') ? option : {});
543 |
544 | if (!inst) {
545 | inst = new Colorpicker(this, options);
546 | $this.data('colorpicker', inst);
547 | }
548 |
549 | if (typeof option === 'string') {
550 | if ($.isFunction(inst[option])) {
551 | returnValue = inst[option].apply(inst, apiArgs);
552 | } else { // its a property ?
553 | if (apiArgs.length) {
554 | // set property
555 | inst[option] = apiArgs[0];
556 | }
557 | returnValue = inst[option];
558 | }
559 | } else {
560 | returnValue = $this;
561 | }
562 | });
563 | return isSingleElement ? returnValue : $jq;
564 | };
565 |
566 | $.fn.colorpicker.constructor = Colorpicker;
567 |
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Colorpicker v2.5.2
3 | * https://itsjavi.com/bootstrap-colorpicker/
4 | */
5 | !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):jQuery&&!jQuery.fn.colorpicker&&b(jQuery)}(this,function(a){"use strict";var b=function(c,d,e,f,g){this.fallbackValue=e?"string"==typeof e?this.parse(e):e:null,this.fallbackFormat=f?f:"rgba",this.hexNumberSignPrefix=g===!0,this.value=this.fallbackValue,this.origFormat=null,this.predefinedColors=d?d:{},this.colors=a.extend({},b.webColors,this.predefinedColors),c&&("undefined"!=typeof c.h?this.value=c:this.setColor(String(c))),this.value||(this.value={h:0,s:0,b:0,a:1})};b.webColors={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32",transparent:"transparent"},b.prototype={constructor:b,colors:{},predefinedColors:{},getValue:function(){return this.value},setValue:function(a){this.value=a},_sanitizeNumber:function(a){return"number"==typeof a?a:isNaN(a)||null===a||""===a||void 0===a?1:""===a?0:"undefined"!=typeof a.toLowerCase?(a.match(/^\./)&&(a="0"+a),Math.ceil(100*parseFloat(a))/100):1},isTransparent:function(a){return!(!a||!("string"==typeof a||a instanceof String))&&(a=a.toLowerCase().trim(),"transparent"===a||a.match(/#?00000000/)||a.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/))},rgbaIsTransparent:function(a){return 0===a.r&&0===a.g&&0===a.b&&0===a.a},setColor:function(a){if(a=a.toLowerCase().trim()){if(this.isTransparent(a))return this.value={h:0,s:0,b:0,a:0},!0;var b=this.parse(a);b?(this.value=this.value={h:b.h,s:b.s,b:b.b,a:b.a},this.origFormat||(this.origFormat=b.format)):this.fallbackValue&&(this.value=this.fallbackValue)}return!1},setHue:function(a){this.value.h=1-a},setSaturation:function(a){this.value.s=a},setBrightness:function(a){this.value.b=1-a},setAlpha:function(a){this.value.a=Math.round(parseInt(100*(1-a),10)/100*100)/100},toRGB:function(a,b,c,d){0===arguments.length&&(a=this.value.h,b=this.value.s,c=this.value.b,d=this.value.a),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-Math.abs(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],{r:Math.round(255*e),g:Math.round(255*f),b:Math.round(255*g),a:d}},toHex:function(a,b,c,d,e){arguments.length<=1&&(b=this.value.h,c=this.value.s,d=this.value.b,e=this.value.a);var f="#",g=this.toRGB(b,c,d,e);if(this.rgbaIsTransparent(g))return"transparent";a||(f=this.hexNumberSignPrefix?"#":"");var h=f+((1<<24)+(parseInt(g.r)<<16)+(parseInt(g.g)<<8)+parseInt(g.b)).toString(16).slice(1);return h},toHSL:function(a,b,c,d){0===arguments.length&&(a=this.value.h,b=this.value.s,c=this.value.b,d=this.value.a);var e=a,f=(2-b)*c,g=b*c;return g/=f>0&&f<=1?f:2-f,f/=2,g>1&&(g=1),{h:isNaN(e)?0:e,s:isNaN(g)?0:g,l:isNaN(f)?0:f,a:isNaN(d)?0:d}},toAlias:function(a,b,c,d){var e,f=0===arguments.length?this.toHex(!0):this.toHex(!0,a,b,c,d),g="alias"===this.origFormat?f:this.toString(!1,this.origFormat);for(var h in this.colors)if(e=this.colors[h].toLowerCase().trim(),e===f||e===g)return h;return!1},RGBtoHSB:function(a,b,c,d){a/=255,b/=255,c/=255;var e,f,g,h;return g=Math.max(a,b,c),h=g-Math.min(a,b,c),e=0===h?null:g===a?(b-c)/h:g===b?(c-a)/h+2:(a-b)/h+4,e=(e+360)%6*60/360,f=0===h?0:h/g,{h:this._sanitizeNumber(e),s:f,b:g,a:this._sanitizeNumber(d)}},HueToRGB:function(a,b,c){return c<0?c+=1:c>1&&(c-=1),6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a},HSLtoRGB:function(a,b,c,d){b<0&&(b=0);var e;e=c<=.5?c*(1+b):c+b-c*b;var f=2*c-e,g=a+1/3,h=a,i=a-1/3,j=Math.round(255*this.HueToRGB(f,e,g)),k=Math.round(255*this.HueToRGB(f,e,h)),l=Math.round(255*this.HueToRGB(f,e,i));return[j,k,l,this._sanitizeNumber(d)]},parse:function(b){if("string"!=typeof b)return this.fallbackValue;if(0===arguments.length)return!1;var c,d,e=this,f=!1,g="undefined"!=typeof this.colors[b];return g&&(b=this.colors[b].toLowerCase().trim()),a.each(this.stringParsers,function(a,h){var i=h.re.exec(b);return c=i&&h.parse.apply(e,[i]),!c||(f={},d=g?"alias":h.format?h.format:e.getValidFallbackFormat(),f=d.match(/hsla?/)?e.RGBtoHSB.apply(e,e.HSLtoRGB.apply(e,c)):e.RGBtoHSB.apply(e,c),f instanceof Object&&(f.format=d),!1)}),f},getValidFallbackFormat:function(){var a=["rgba","rgb","hex","hsla","hsl"];return this.origFormat&&a.indexOf(this.origFormat)!==-1?this.origFormat:this.fallbackFormat&&a.indexOf(this.fallbackFormat)!==-1?this.fallbackFormat:"rgba"},toString:function(a,c,d){c=c||this.origFormat||this.fallbackFormat,d=d||!1;var e=!1;switch(c){case"rgb":return e=this.toRGB(),this.rgbaIsTransparent(e)?"transparent":"rgb("+e.r+","+e.g+","+e.b+")";case"rgba":return e=this.toRGB(),"rgba("+e.r+","+e.g+","+e.b+","+e.a+")";case"hsl":return e=this.toHSL(),"hsl("+Math.round(360*e.h)+","+Math.round(100*e.s)+"%,"+Math.round(100*e.l)+"%)";case"hsla":return e=this.toHSL(),"hsla("+Math.round(360*e.h)+","+Math.round(100*e.s)+"%,"+Math.round(100*e.l)+"%,"+e.a+")";case"hex":return this.toHex(a);case"alias":return e=this.toAlias(),e===!1?this.toString(a,this.getValidFallbackFormat()):d&&!(e in b.webColors)&&e in this.predefinedColors?this.predefinedColors[e]:e;default:return e}},stringParsers:[{re:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,format:"rgb",parse:function(a){return[a[1],a[2],a[3],1]}},{re:/rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"rgb",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],1]}},{re:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"rgba",parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,format:"hsl",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,format:"hsla",parse:function(a){return[a[1]/360,a[2]/100,a[3]/100,a[4]]}},{re:/#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,format:"hex",parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16),1]}},{re:/#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,format:"hex",parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16),1]}}],colorNameToHex:function(a){return"undefined"!=typeof this.colors[a.toLowerCase()]&&this.colors[a.toLowerCase()]}};var c={horizontal:!1,inline:!1,color:!1,format:!1,input:"input",container:!1,component:".add-on, .input-group-addon",fallbackColor:!1,fallbackFormat:"hex",hexNumberSignPrefix:!0,sliders:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setHue"},alpha:{maxLeft:0,maxTop:100,callLeft:!1,callTop:"setAlpha"}},slidersHorz:{saturation:{maxLeft:100,maxTop:100,callLeft:"setSaturation",callTop:"setBrightness"},hue:{maxLeft:100,maxTop:0,callLeft:"setHue",callTop:!1},alpha:{maxLeft:100,maxTop:0,callLeft:"setAlpha",callTop:!1}},template:'',align:"right",customClass:null,colorSelectors:null},d=function(b,d){this.element=a(b).addClass("colorpicker-element"),this.options=a.extend(!0,{},c,this.element.data(),d),this.component=this.options.component,this.component=this.component!==!1&&this.element.find(this.component),this.component&&0===this.component.length&&(this.component=!1),this.container=this.options.container===!0?this.element:this.options.container,this.container=this.container!==!1&&a(this.container),this.input=this.element.is("input")?this.element:!!this.options.input&&this.element.find(this.options.input),this.input&&0===this.input.length&&(this.input=!1),this.color=this.createColor(this.options.color!==!1?this.options.color:this.getValue()),this.format=this.options.format!==!1?this.options.format:this.color.origFormat,this.options.color!==!1&&(this.updateInput(this.color),this.updateData(this.color)),this.disabled=!1;var e=this.picker=a(this.options.template);if(this.options.customClass&&e.addClass(this.options.customClass),this.options.inline?e.addClass("colorpicker-inline colorpicker-visible"):e.addClass("colorpicker-hidden"),this.options.horizontal&&e.addClass("colorpicker-horizontal"),["rgba","hsla","alias"].indexOf(this.format)===-1&&this.options.format!==!1&&"transparent"!==this.getValue()||e.addClass("colorpicker-with-alpha"),"right"===this.options.align&&e.addClass("colorpicker-right"),this.options.inline===!0&&e.addClass("colorpicker-no-arrow"),this.options.colorSelectors){var f=this,g=f.picker.find(".colorpicker-selectors");g.length>0&&(a.each(this.options.colorSelectors,function(b,c){var d=a(" ").addClass("colorpicker-selectors-color").css("background-color",c).data("class",b).data("alias",b);d.on("mousedown.colorpicker touchstart.colorpicker",function(b){b.preventDefault(),f.setValue("alias"===f.format?a(this).data("alias"):a(this).css("background-color"))}),g.append(d)}),g.show().addClass("colorpicker-visible"))}e.on("mousedown.colorpicker touchstart.colorpicker",a.proxy(function(a){a.target===a.currentTarget&&a.preventDefault()},this)),e.find(".colorpicker-saturation, .colorpicker-hue, .colorpicker-alpha").on("mousedown.colorpicker touchstart.colorpicker",a.proxy(this.mousedown,this)),e.appendTo(this.container?this.container:a("body")),this.input!==!1&&(this.input.on({"keyup.colorpicker":a.proxy(this.keyup,this)}),this.input.on({"input.colorpicker":a.proxy(this.change,this)}),this.component===!1&&this.element.on({"focus.colorpicker":a.proxy(this.show,this)}),this.options.inline===!1&&this.element.on({"focusout.colorpicker":a.proxy(this.hide,this)})),this.component!==!1&&this.component.on({"click.colorpicker":a.proxy(this.show,this)}),this.input===!1&&this.component===!1&&this.element.on({"click.colorpicker":a.proxy(this.show,this)}),this.input!==!1&&this.component!==!1&&"color"===this.input.attr("type")&&this.input.on({"click.colorpicker":a.proxy(this.show,this),"focus.colorpicker":a.proxy(this.show,this)}),this.update(),a(a.proxy(function(){this.element.trigger("create")},this))};d.Color=b,d.prototype={constructor:d,destroy:function(){this.picker.remove(),this.element.removeData("colorpicker","color").off(".colorpicker"),this.input!==!1&&this.input.off(".colorpicker"),this.component!==!1&&this.component.off(".colorpicker"),this.element.removeClass("colorpicker-element"),this.element.trigger({type:"destroy"})},reposition:function(){if(this.options.inline!==!1||this.options.container)return!1;var a=this.container&&this.container[0]!==window.document.body?"position":"offset",b=this.component||this.element,c=b[a]();"right"===this.options.align&&(c.left-=this.picker.outerWidth()-b.outerWidth()),this.picker.css({top:c.top+b.outerHeight(),left:c.left})},show:function(b){this.isDisabled()||(this.picker.addClass("colorpicker-visible").removeClass("colorpicker-hidden"),this.reposition(),a(window).on("resize.colorpicker",a.proxy(this.reposition,this)),!b||this.hasInput()&&"color"!==this.input.attr("type")||b.stopPropagation&&b.preventDefault&&(b.stopPropagation(),b.preventDefault()),!this.component&&this.input||this.options.inline!==!1||a(window.document).on({"mousedown.colorpicker":a.proxy(this.hide,this)}),this.element.trigger({type:"showPicker",color:this.color}))},hide:function(b){return("undefined"==typeof b||!b.target||!(a(b.currentTarget).parents(".colorpicker").length>0||a(b.target).parents(".colorpicker").length>0))&&(this.picker.addClass("colorpicker-hidden").removeClass("colorpicker-visible"),a(window).off("resize.colorpicker",this.reposition),a(window.document).off({"mousedown.colorpicker":this.hide}),this.update(),void this.element.trigger({type:"hidePicker",color:this.color}))},updateData:function(a){return a=a||this.color.toString(!1,this.format),this.element.data("color",a),a},updateInput:function(a){return a=a||this.color.toString(!1,this.format),this.input!==!1&&(this.input.prop("value",a),this.input.trigger("change")),a},updatePicker:function(a){"undefined"!=typeof a&&(this.color=this.createColor(a));var b=this.options.horizontal===!1?this.options.sliders:this.options.slidersHorz,c=this.picker.find("i");if(0!==c.length)return this.options.horizontal===!1?(b=this.options.sliders,c.eq(1).css("top",b.hue.maxTop*(1-this.color.value.h)).end().eq(2).css("top",b.alpha.maxTop*(1-this.color.value.a))):(b=this.options.slidersHorz,c.eq(1).css("left",b.hue.maxLeft*(1-this.color.value.h)).end().eq(2).css("left",b.alpha.maxLeft*(1-this.color.value.a))),c.eq(0).css({top:b.saturation.maxTop-this.color.value.b*b.saturation.maxTop,left:this.color.value.s*b.saturation.maxLeft}),this.picker.find(".colorpicker-saturation").css("backgroundColor",this.color.toHex(!0,this.color.value.h,1,1,1)),this.picker.find(".colorpicker-alpha").css("backgroundColor",this.color.toHex(!0)),this.picker.find(".colorpicker-color, .colorpicker-color div").css("backgroundColor",this.color.toString(!0,this.format)),a},updateComponent:function(a){var b;if(b="undefined"!=typeof a?this.createColor(a):this.color,this.component!==!1){var c=this.component.find("i").eq(0);c.length>0?c.css({backgroundColor:b.toString(!0,this.format)}):this.component.css({backgroundColor:b.toString(!0,this.format)})}return b.toString(!1,this.format)},update:function(a){var b;return this.getValue(!1)===!1&&a!==!0||(b=this.updateComponent(),this.updateInput(b),this.updateData(b),this.updatePicker()),b},setValue:function(a){this.color=this.createColor(a),this.update(!0),this.element.trigger({type:"changeColor",color:this.color,value:a})},createColor:function(a){return new b(a?a:null,this.options.colorSelectors,this.options.fallbackColor?this.options.fallbackColor:this.color,this.options.fallbackFormat,this.options.hexNumberSignPrefix)},getValue:function(a){a="undefined"==typeof a?this.options.fallbackColor:a;var b;return b=this.hasInput()?this.input.val():this.element.data("color"),void 0!==b&&""!==b&&null!==b||(b=a),b},hasInput:function(){return this.input!==!1},isDisabled:function(){return this.disabled},disable:function(){return this.hasInput()&&this.input.prop("disabled",!0),this.disabled=!0,this.element.trigger({type:"disable",color:this.color,value:this.getValue()}),!0},enable:function(){return this.hasInput()&&this.input.prop("disabled",!1),this.disabled=!1,this.element.trigger({type:"enable",color:this.color,value:this.getValue()}),!0},currentSlider:null,mousePointer:{left:0,top:0},mousedown:function(b){!b.pageX&&!b.pageY&&b.originalEvent&&b.originalEvent.touches&&(b.pageX=b.originalEvent.touches[0].pageX,b.pageY=b.originalEvent.touches[0].pageY),b.stopPropagation(),b.preventDefault();var c=a(b.target),d=c.closest("div"),e=this.options.horizontal?this.options.slidersHorz:this.options.sliders;if(!d.is(".colorpicker")){if(d.is(".colorpicker-saturation"))this.currentSlider=a.extend({},e.saturation);else if(d.is(".colorpicker-hue"))this.currentSlider=a.extend({},e.hue);else{if(!d.is(".colorpicker-alpha"))return!1;this.currentSlider=a.extend({},e.alpha)}var f=d.offset();this.currentSlider.guide=d.find("i")[0].style,this.currentSlider.left=b.pageX-f.left,this.currentSlider.top=b.pageY-f.top,this.mousePointer={left:b.pageX,top:b.pageY},a(window.document).on({"mousemove.colorpicker":a.proxy(this.mousemove,this),"touchmove.colorpicker":a.proxy(this.mousemove,this),"mouseup.colorpicker":a.proxy(this.mouseup,this),"touchend.colorpicker":a.proxy(this.mouseup,this)}).trigger("mousemove")}return!1},mousemove:function(a){!a.pageX&&!a.pageY&&a.originalEvent&&a.originalEvent.touches&&(a.pageX=a.originalEvent.touches[0].pageX,a.pageY=a.originalEvent.touches[0].pageY),a.stopPropagation(),a.preventDefault();var b=Math.max(0,Math.min(this.currentSlider.maxLeft,this.currentSlider.left+((a.pageX||this.mousePointer.left)-this.mousePointer.left))),c=Math.max(0,Math.min(this.currentSlider.maxTop,this.currentSlider.top+((a.pageY||this.mousePointer.top)-this.mousePointer.top)));return this.currentSlider.guide.left=b+"px",this.currentSlider.guide.top=c+"px",this.currentSlider.callLeft&&this.color[this.currentSlider.callLeft].call(this.color,b/this.currentSlider.maxLeft),this.currentSlider.callTop&&this.color[this.currentSlider.callTop].call(this.color,c/this.currentSlider.maxTop),this.options.format!==!1||"setAlpha"!==this.currentSlider.callTop&&"setAlpha"!==this.currentSlider.callLeft||(1!==this.color.value.a?(this.format="rgba",this.color.origFormat="rgba"):(this.format="hex",this.color.origFormat="hex")),this.update(!0),this.element.trigger({type:"changeColor",color:this.color}),!1},mouseup:function(b){return b.stopPropagation(),b.preventDefault(),a(window.document).off({"mousemove.colorpicker":this.mousemove,"touchmove.colorpicker":this.mousemove,"mouseup.colorpicker":this.mouseup,"touchend.colorpicker":this.mouseup}),!1},change:function(a){this.color=this.createColor(this.input.val()),this.color.origFormat&&this.options.format===!1&&(this.format=this.color.origFormat),this.getValue(!1)!==!1&&(this.updateData(),this.updateComponent(),this.updatePicker()),this.element.trigger({type:"changeColor",color:this.color,value:this.input.val()})},keyup:function(a){38===a.keyCode?(this.color.value.a<1&&(this.color.value.a=Math.round(100*(this.color.value.a+.01))/100),this.update(!0)):40===a.keyCode&&(this.color.value.a>0&&(this.color.value.a=Math.round(100*(this.color.value.a-.01))/100),this.update(!0)),this.element.trigger({type:"changeColor",color:this.color,value:this.input.val()})}},a.colorpicker=d,a.fn.colorpicker=function(b){var c=Array.prototype.slice.call(arguments,1),e=1===this.length,f=null,g=this.each(function(){var e=a(this),g=e.data("colorpicker"),h="object"==typeof b?b:{};g||(g=new d(this,h),e.data("colorpicker",g)),"string"==typeof b?a.isFunction(g[b])?f=g[b].apply(g,c):(c.length&&(g[b]=c[0]),f=g[b]):f=e});return e?f:g},a.fn.colorpicker.constructor=d});
--------------------------------------------------------------------------------
/plugins/bootstrap-colorpicker/src/js/colorpicker-color.js:
--------------------------------------------------------------------------------
1 | /* test-code */
2 | if (typeof module === "object" && typeof module.exports === "object") {
3 | var jsdom = require("jsdom");
4 | var JSDOM = jsdom.JSDOM;
5 | var $ = require('jquery')((new JSDOM('Hello world
')).window);
6 | }
7 | /* end-test-code */
8 | /**
9 | * Color manipulation helper class
10 | *
11 | * @param {Object|String} [val]
12 | * @param {Object} [predefinedColors]
13 | * @param {String|null} [fallbackColor]
14 | * @param {String|null} [fallbackFormat]
15 | * @param {Boolean} [hexNumberSignPrefix]
16 | * @constructor
17 | */
18 | var Color = function(
19 | val, predefinedColors, fallbackColor, fallbackFormat, hexNumberSignPrefix) {
20 | this.fallbackValue = fallbackColor ?
21 | (
22 | (typeof fallbackColor === 'string') ?
23 | this.parse(fallbackColor) :
24 | fallbackColor
25 | ) :
26 | null;
27 |
28 | this.fallbackFormat = fallbackFormat ? fallbackFormat : 'rgba';
29 |
30 | this.hexNumberSignPrefix = hexNumberSignPrefix === true;
31 |
32 | this.value = this.fallbackValue;
33 |
34 | this.origFormat = null; // original string format
35 |
36 | this.predefinedColors = predefinedColors ? predefinedColors : {};
37 |
38 | // We don't want to share aliases across instances so we extend new object
39 | this.colors = $.extend({}, Color.webColors, this.predefinedColors);
40 |
41 | if (val) {
42 | if (typeof val.h !== 'undefined') {
43 | this.value = val;
44 | } else {
45 | this.setColor(String(val));
46 | }
47 | }
48 |
49 | if (!this.value) {
50 | // Initial value is always black if no arguments are passed or val is empty
51 | this.value = {
52 | h: 0,
53 | s: 0,
54 | b: 0,
55 | a: 1
56 | };
57 | }
58 | };
59 |
60 | Color.webColors = { // 140 predefined colors from the HTML Colors spec
61 | "aliceblue": "f0f8ff",
62 | "antiquewhite": "faebd7",
63 | "aqua": "00ffff",
64 | "aquamarine": "7fffd4",
65 | "azure": "f0ffff",
66 | "beige": "f5f5dc",
67 | "bisque": "ffe4c4",
68 | "black": "000000",
69 | "blanchedalmond": "ffebcd",
70 | "blue": "0000ff",
71 | "blueviolet": "8a2be2",
72 | "brown": "a52a2a",
73 | "burlywood": "deb887",
74 | "cadetblue": "5f9ea0",
75 | "chartreuse": "7fff00",
76 | "chocolate": "d2691e",
77 | "coral": "ff7f50",
78 | "cornflowerblue": "6495ed",
79 | "cornsilk": "fff8dc",
80 | "crimson": "dc143c",
81 | "cyan": "00ffff",
82 | "darkblue": "00008b",
83 | "darkcyan": "008b8b",
84 | "darkgoldenrod": "b8860b",
85 | "darkgray": "a9a9a9",
86 | "darkgreen": "006400",
87 | "darkkhaki": "bdb76b",
88 | "darkmagenta": "8b008b",
89 | "darkolivegreen": "556b2f",
90 | "darkorange": "ff8c00",
91 | "darkorchid": "9932cc",
92 | "darkred": "8b0000",
93 | "darksalmon": "e9967a",
94 | "darkseagreen": "8fbc8f",
95 | "darkslateblue": "483d8b",
96 | "darkslategray": "2f4f4f",
97 | "darkturquoise": "00ced1",
98 | "darkviolet": "9400d3",
99 | "deeppink": "ff1493",
100 | "deepskyblue": "00bfff",
101 | "dimgray": "696969",
102 | "dodgerblue": "1e90ff",
103 | "firebrick": "b22222",
104 | "floralwhite": "fffaf0",
105 | "forestgreen": "228b22",
106 | "fuchsia": "ff00ff",
107 | "gainsboro": "dcdcdc",
108 | "ghostwhite": "f8f8ff",
109 | "gold": "ffd700",
110 | "goldenrod": "daa520",
111 | "gray": "808080",
112 | "green": "008000",
113 | "greenyellow": "adff2f",
114 | "honeydew": "f0fff0",
115 | "hotpink": "ff69b4",
116 | "indianred": "cd5c5c",
117 | "indigo": "4b0082",
118 | "ivory": "fffff0",
119 | "khaki": "f0e68c",
120 | "lavender": "e6e6fa",
121 | "lavenderblush": "fff0f5",
122 | "lawngreen": "7cfc00",
123 | "lemonchiffon": "fffacd",
124 | "lightblue": "add8e6",
125 | "lightcoral": "f08080",
126 | "lightcyan": "e0ffff",
127 | "lightgoldenrodyellow": "fafad2",
128 | "lightgrey": "d3d3d3",
129 | "lightgreen": "90ee90",
130 | "lightpink": "ffb6c1",
131 | "lightsalmon": "ffa07a",
132 | "lightseagreen": "20b2aa",
133 | "lightskyblue": "87cefa",
134 | "lightslategray": "778899",
135 | "lightsteelblue": "b0c4de",
136 | "lightyellow": "ffffe0",
137 | "lime": "00ff00",
138 | "limegreen": "32cd32",
139 | "linen": "faf0e6",
140 | "magenta": "ff00ff",
141 | "maroon": "800000",
142 | "mediumaquamarine": "66cdaa",
143 | "mediumblue": "0000cd",
144 | "mediumorchid": "ba55d3",
145 | "mediumpurple": "9370d8",
146 | "mediumseagreen": "3cb371",
147 | "mediumslateblue": "7b68ee",
148 | "mediumspringgreen": "00fa9a",
149 | "mediumturquoise": "48d1cc",
150 | "mediumvioletred": "c71585",
151 | "midnightblue": "191970",
152 | "mintcream": "f5fffa",
153 | "mistyrose": "ffe4e1",
154 | "moccasin": "ffe4b5",
155 | "navajowhite": "ffdead",
156 | "navy": "000080",
157 | "oldlace": "fdf5e6",
158 | "olive": "808000",
159 | "olivedrab": "6b8e23",
160 | "orange": "ffa500",
161 | "orangered": "ff4500",
162 | "orchid": "da70d6",
163 | "palegoldenrod": "eee8aa",
164 | "palegreen": "98fb98",
165 | "paleturquoise": "afeeee",
166 | "palevioletred": "d87093",
167 | "papayawhip": "ffefd5",
168 | "peachpuff": "ffdab9",
169 | "peru": "cd853f",
170 | "pink": "ffc0cb",
171 | "plum": "dda0dd",
172 | "powderblue": "b0e0e6",
173 | "purple": "800080",
174 | "red": "ff0000",
175 | "rosybrown": "bc8f8f",
176 | "royalblue": "4169e1",
177 | "saddlebrown": "8b4513",
178 | "salmon": "fa8072",
179 | "sandybrown": "f4a460",
180 | "seagreen": "2e8b57",
181 | "seashell": "fff5ee",
182 | "sienna": "a0522d",
183 | "silver": "c0c0c0",
184 | "skyblue": "87ceeb",
185 | "slateblue": "6a5acd",
186 | "slategray": "708090",
187 | "snow": "fffafa",
188 | "springgreen": "00ff7f",
189 | "steelblue": "4682b4",
190 | "tan": "d2b48c",
191 | "teal": "008080",
192 | "thistle": "d8bfd8",
193 | "tomato": "ff6347",
194 | "turquoise": "40e0d0",
195 | "violet": "ee82ee",
196 | "wheat": "f5deb3",
197 | "white": "ffffff",
198 | "whitesmoke": "f5f5f5",
199 | "yellow": "ffff00",
200 | "yellowgreen": "9acd32",
201 | "transparent": "transparent"
202 | };
203 |
204 | Color.prototype = {
205 | constructor: Color,
206 | colors: {}, // merged web and predefined colors
207 | predefinedColors: {},
208 | /**
209 | * @return {Object}
210 | */
211 | getValue: function() {
212 | return this.value;
213 | },
214 | /**
215 | * @param {Object} val
216 | */
217 | setValue: function(val) {
218 | this.value = val;
219 | },
220 | _sanitizeNumber: function(val) {
221 | if (typeof val === 'number') {
222 | return val;
223 | }
224 | if (isNaN(val) || (val === null) || (val === '') || (val === undefined)) {
225 | return 1;
226 | }
227 | if (val === '') {
228 | return 0;
229 | }
230 | if (typeof val.toLowerCase !== 'undefined') {
231 | if (val.match(/^\./)) {
232 | val = "0" + val;
233 | }
234 | return Math.ceil(parseFloat(val) * 100) / 100;
235 | }
236 | return 1;
237 | },
238 | isTransparent: function(strVal) {
239 | if (!strVal || !(typeof strVal === 'string' || strVal instanceof String)) {
240 | return false;
241 | }
242 | strVal = strVal.toLowerCase().trim();
243 | return (strVal === 'transparent') || (strVal.match(/#?00000000/)) || (strVal.match(/(rgba|hsla)\(0,0,0,0?\.?0\)/));
244 | },
245 | rgbaIsTransparent: function(rgba) {
246 | return ((rgba.r === 0) && (rgba.g === 0) && (rgba.b === 0) && (rgba.a === 0));
247 | },
248 | // parse a string to HSB
249 | /**
250 | * @protected
251 | * @param {String} strVal
252 | * @returns {boolean} Returns true if it could be parsed, false otherwise
253 | */
254 | setColor: function(strVal) {
255 | strVal = strVal.toLowerCase().trim();
256 | if (strVal) {
257 | if (this.isTransparent(strVal)) {
258 | this.value = {
259 | h: 0,
260 | s: 0,
261 | b: 0,
262 | a: 0
263 | };
264 | return true;
265 | } else {
266 | var parsedColor = this.parse(strVal);
267 | if (parsedColor) {
268 | this.value = this.value = {
269 | h: parsedColor.h,
270 | s: parsedColor.s,
271 | b: parsedColor.b,
272 | a: parsedColor.a
273 | };
274 | if (!this.origFormat) {
275 | this.origFormat = parsedColor.format;
276 | }
277 | } else if (this.fallbackValue) {
278 | // if parser fails, defaults to fallbackValue if defined, otherwise the value won't be changed
279 | this.value = this.fallbackValue;
280 | }
281 | }
282 | }
283 | return false;
284 | },
285 | setHue: function(h) {
286 | this.value.h = 1 - h;
287 | },
288 | setSaturation: function(s) {
289 | this.value.s = s;
290 | },
291 | setBrightness: function(b) {
292 | this.value.b = 1 - b;
293 | },
294 | setAlpha: function(a) {
295 | this.value.a = Math.round((parseInt((1 - a) * 100, 10) / 100) * 100) / 100;
296 | },
297 | toRGB: function(h, s, b, a) {
298 | if (arguments.length === 0) {
299 | h = this.value.h;
300 | s = this.value.s;
301 | b = this.value.b;
302 | a = this.value.a;
303 | }
304 |
305 | h *= 360;
306 | var R, G, B, X, C;
307 | h = (h % 360) / 60;
308 | C = b * s;
309 | X = C * (1 - Math.abs(h % 2 - 1));
310 | R = G = B = b - C;
311 |
312 | h = ~~h;
313 | R += [C, X, 0, 0, X, C][h];
314 | G += [X, C, C, X, 0, 0][h];
315 | B += [0, 0, X, C, C, X][h];
316 |
317 | return {
318 | r: Math.round(R * 255),
319 | g: Math.round(G * 255),
320 | b: Math.round(B * 255),
321 | a: a
322 | };
323 | },
324 | toHex: function(ignoreFormat, h, s, b, a) {
325 | if (arguments.length <= 1) {
326 | h = this.value.h;
327 | s = this.value.s;
328 | b = this.value.b;
329 | a = this.value.a;
330 | }
331 |
332 | var prefix = '#';
333 | var rgb = this.toRGB(h, s, b, a);
334 |
335 | if (this.rgbaIsTransparent(rgb)) {
336 | return 'transparent';
337 | }
338 |
339 | if (!ignoreFormat) {
340 | prefix = (this.hexNumberSignPrefix ? '#' : '');
341 | }
342 |
343 | var hexStr = prefix + (
344 | (1 << 24) +
345 | (parseInt(rgb.r) << 16) +
346 | (parseInt(rgb.g) << 8) +
347 | parseInt(rgb.b))
348 | .toString(16)
349 | .slice(1);
350 |
351 | return hexStr;
352 | },
353 | toHSL: function(h, s, b, a) {
354 | if (arguments.length === 0) {
355 | h = this.value.h;
356 | s = this.value.s;
357 | b = this.value.b;
358 | a = this.value.a;
359 | }
360 |
361 | var H = h,
362 | L = (2 - s) * b,
363 | S = s * b;
364 | if (L > 0 && L <= 1) {
365 | S /= L;
366 | } else {
367 | S /= 2 - L;
368 | }
369 | L /= 2;
370 | if (S > 1) {
371 | S = 1;
372 | }
373 | return {
374 | h: isNaN(H) ? 0 : H,
375 | s: isNaN(S) ? 0 : S,
376 | l: isNaN(L) ? 0 : L,
377 | a: isNaN(a) ? 0 : a
378 | };
379 | },
380 | toAlias: function(r, g, b, a) {
381 | var c, rgb = (arguments.length === 0) ? this.toHex(true) : this.toHex(true, r, g, b, a);
382 |
383 | // support predef. colors in non-hex format too, as defined in the alias itself
384 | var original = this.origFormat === 'alias' ? rgb : this.toString(false, this.origFormat);
385 |
386 | for (var alias in this.colors) {
387 | c = this.colors[alias].toLowerCase().trim();
388 | if ((c === rgb) || (c === original)) {
389 | return alias;
390 | }
391 | }
392 | return false;
393 | },
394 | RGBtoHSB: function(r, g, b, a) {
395 | r /= 255;
396 | g /= 255;
397 | b /= 255;
398 |
399 | var H, S, V, C;
400 | V = Math.max(r, g, b);
401 | C = V - Math.min(r, g, b);
402 | H = (C === 0 ? null :
403 | V === r ? (g - b) / C :
404 | V === g ? (b - r) / C + 2 :
405 | (r - g) / C + 4
406 | );
407 | H = ((H + 360) % 6) * 60 / 360;
408 | S = C === 0 ? 0 : C / V;
409 | return {
410 | h: this._sanitizeNumber(H),
411 | s: S,
412 | b: V,
413 | a: this._sanitizeNumber(a)
414 | };
415 | },
416 | HueToRGB: function(p, q, h) {
417 | if (h < 0) {
418 | h += 1;
419 | } else if (h > 1) {
420 | h -= 1;
421 | }
422 | if ((h * 6) < 1) {
423 | return p + (q - p) * h * 6;
424 | } else if ((h * 2) < 1) {
425 | return q;
426 | } else if ((h * 3) < 2) {
427 | return p + (q - p) * ((2 / 3) - h) * 6;
428 | } else {
429 | return p;
430 | }
431 | },
432 | HSLtoRGB: function(h, s, l, a) {
433 | if (s < 0) {
434 | s = 0;
435 | }
436 | var q;
437 | if (l <= 0.5) {
438 | q = l * (1 + s);
439 | } else {
440 | q = l + s - (l * s);
441 | }
442 |
443 | var p = 2 * l - q;
444 |
445 | var tr = h + (1 / 3);
446 | var tg = h;
447 | var tb = h - (1 / 3);
448 |
449 | var r = Math.round(this.HueToRGB(p, q, tr) * 255);
450 | var g = Math.round(this.HueToRGB(p, q, tg) * 255);
451 | var b = Math.round(this.HueToRGB(p, q, tb) * 255);
452 | return [r, g, b, this._sanitizeNumber(a)];
453 | },
454 | /**
455 | * @param {String} strVal
456 | * @returns {Object} Object containing h,s,b,a,format properties or FALSE if failed to parse
457 | */
458 | parse: function(strVal) {
459 | if (typeof strVal !== 'string') {
460 | return this.fallbackValue;
461 | }
462 | if (arguments.length === 0) {
463 | return false;
464 | }
465 |
466 | var that = this,
467 | result = false,
468 | isAlias = (typeof this.colors[strVal] !== 'undefined'),
469 | values, format;
470 |
471 | if (isAlias) {
472 | strVal = this.colors[strVal].toLowerCase().trim();
473 | }
474 |
475 | $.each(this.stringParsers, function(i, parser) {
476 | var match = parser.re.exec(strVal);
477 | values = match && parser.parse.apply(that, [match]);
478 | if (values) {
479 | result = {};
480 | format = (isAlias ? 'alias' : (parser.format ? parser.format : that.getValidFallbackFormat()));
481 | if (format.match(/hsla?/)) {
482 | result = that.RGBtoHSB.apply(that, that.HSLtoRGB.apply(that, values));
483 | } else {
484 | result = that.RGBtoHSB.apply(that, values);
485 | }
486 | if (result instanceof Object) {
487 | result.format = format;
488 | }
489 | return false; // stop iterating
490 | }
491 | return true;
492 | });
493 | return result;
494 | },
495 | getValidFallbackFormat: function() {
496 | var formats = [
497 | 'rgba', 'rgb', 'hex', 'hsla', 'hsl'
498 | ];
499 | if (this.origFormat && (formats.indexOf(this.origFormat) !== -1)) {
500 | return this.origFormat;
501 | }
502 | if (this.fallbackFormat && (formats.indexOf(this.fallbackFormat) !== -1)) {
503 | return this.fallbackFormat;
504 | }
505 |
506 | return 'rgba'; // By default, return a format that will not lose the alpha info
507 | },
508 | /**
509 | *
510 | * @param {string} [format] (default: rgba)
511 | * @param {boolean} [translateAlias] Return real color for pre-defined (non-standard) aliases (default: false)
512 | * @param {boolean} [forceRawValue] Forces hashtag prefix when getting hex color (default: false)
513 | * @returns {String}
514 | */
515 | toString: function(forceRawValue, format, translateAlias) {
516 | format = format || this.origFormat || this.fallbackFormat;
517 | translateAlias = translateAlias || false;
518 |
519 | var c = false;
520 |
521 | switch (format) {
522 | case 'rgb':
523 | {
524 | c = this.toRGB();
525 | if (this.rgbaIsTransparent(c)) {
526 | return 'transparent';
527 | }
528 | return 'rgb(' + c.r + ',' + c.g + ',' + c.b + ')';
529 | }
530 | break;
531 | case 'rgba':
532 | {
533 | c = this.toRGB();
534 | return 'rgba(' + c.r + ',' + c.g + ',' + c.b + ',' + c.a + ')';
535 | }
536 | break;
537 | case 'hsl':
538 | {
539 | c = this.toHSL();
540 | return 'hsl(' + Math.round(c.h * 360) + ',' + Math.round(c.s * 100) + '%,' + Math.round(c.l * 100) + '%)';
541 | }
542 | break;
543 | case 'hsla':
544 | {
545 | c = this.toHSL();
546 | return 'hsla(' + Math.round(c.h * 360) + ',' + Math.round(c.s * 100) + '%,' + Math.round(c.l * 100) + '%,' + c.a + ')';
547 | }
548 | break;
549 | case 'hex':
550 | {
551 | return this.toHex(forceRawValue);
552 | }
553 | break;
554 | case 'alias':
555 | {
556 | c = this.toAlias();
557 |
558 | if (c === false) {
559 | return this.toString(forceRawValue, this.getValidFallbackFormat());
560 | }
561 |
562 | if (translateAlias && !(c in Color.webColors) && (c in this.predefinedColors)) {
563 | return this.predefinedColors[c];
564 | }
565 |
566 | return c;
567 | }
568 | default:
569 | {
570 | return c;
571 | }
572 | break;
573 | }
574 | },
575 | // a set of RE's that can match strings and generate color tuples.
576 | // from John Resig color plugin
577 | // https://github.com/jquery/jquery-color/
578 | stringParsers: [{
579 | re: /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*?\)/,
580 | format: 'rgb',
581 | parse: function(execResult) {
582 | return [
583 | execResult[1],
584 | execResult[2],
585 | execResult[3],
586 | 1
587 | ];
588 | }
589 | }, {
590 | re: /rgb\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,
591 | format: 'rgb',
592 | parse: function(execResult) {
593 | return [
594 | 2.55 * execResult[1],
595 | 2.55 * execResult[2],
596 | 2.55 * execResult[3],
597 | 1
598 | ];
599 | }
600 | }, {
601 | re: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,
602 | format: 'rgba',
603 | parse: function(execResult) {
604 | return [
605 | execResult[1],
606 | execResult[2],
607 | execResult[3],
608 | execResult[4]
609 | ];
610 | }
611 | }, {
612 | re: /rgba\(\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,
613 | format: 'rgba',
614 | parse: function(execResult) {
615 | return [
616 | 2.55 * execResult[1],
617 | 2.55 * execResult[2],
618 | 2.55 * execResult[3],
619 | execResult[4]
620 | ];
621 | }
622 | }, {
623 | re: /hsl\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*?\)/,
624 | format: 'hsl',
625 | parse: function(execResult) {
626 | return [
627 | execResult[1] / 360,
628 | execResult[2] / 100,
629 | execResult[3] / 100,
630 | execResult[4]
631 | ];
632 | }
633 | }, {
634 | re: /hsla\(\s*(\d*(?:\.\d+)?)\s*,\s*(\d*(?:\.\d+)?)\%\s*,\s*(\d*(?:\.\d+)?)\%\s*(?:,\s*(\d*(?:\.\d+)?)\s*)?\)/,
635 | format: 'hsla',
636 | parse: function(execResult) {
637 | return [
638 | execResult[1] / 360,
639 | execResult[2] / 100,
640 | execResult[3] / 100,
641 | execResult[4]
642 | ];
643 | }
644 | }, {
645 | re: /#?([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,
646 | format: 'hex',
647 | parse: function(execResult) {
648 | return [
649 | parseInt(execResult[1], 16),
650 | parseInt(execResult[2], 16),
651 | parseInt(execResult[3], 16),
652 | 1
653 | ];
654 | }
655 | }, {
656 | re: /#?([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/,
657 | format: 'hex',
658 | parse: function(execResult) {
659 | return [
660 | parseInt(execResult[1] + execResult[1], 16),
661 | parseInt(execResult[2] + execResult[2], 16),
662 | parseInt(execResult[3] + execResult[3], 16),
663 | 1
664 | ];
665 | }
666 | }],
667 | colorNameToHex: function(name) {
668 | if (typeof this.colors[name.toLowerCase()] !== 'undefined') {
669 | return this.colors[name.toLowerCase()];
670 | }
671 | return false;
672 | }
673 | };
674 | /* test-code */
675 | module.exports = Color;
676 | /* end-test-code */
677 |
--------------------------------------------------------------------------------
/plugins/bootstrap/3.3.5/bootstrap-theme.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.5 (http://getbootstrap.com)
3 | * Copyright 2011-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{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)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{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:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));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;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-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%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-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%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-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%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-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%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-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%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{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:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));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}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{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:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));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}.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%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;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)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-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%);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)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.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:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));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;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-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%);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)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-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%);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)}.alert-success{background-image:-webkit-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%);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:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));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:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));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:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));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:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));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:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));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:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));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:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));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:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));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:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));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)}.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)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{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:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));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}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{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)}.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:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));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:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));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:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));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:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));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:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));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:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));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:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));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)}
--------------------------------------------------------------------------------