From 3a76dcce1ae1438496d12130e86e4616b0089616 Mon Sep 17 00:00:00 2001 From: Brian Reavis Date: Sat, 17 Aug 2013 22:11:54 -0700 Subject: [PATCH] Converted plugins to *.less + added to build. --- Gruntfile.js | 80 ++++++---- dist/css/selectize.bootstrap2.css | 135 +++++++++++++++- dist/css/selectize.bootstrap2.min.css | 2 +- dist/css/selectize.bootstrap3.css | 135 ++++++++++++++-- dist/css/selectize.bootstrap3.min.css | 2 +- dist/css/selectize.css | 118 +++++++++++++- dist/css/selectize.default.css | 123 ++++++++++++++- dist/css/selectize.default.min.css | 2 +- dist/css/selectize.min.css | 2 +- dist/js/selectize.js | 5 +- dist/js/selectize.min.js | 2 +- dist/js/standalone/selectize.js | 5 +- dist/js/standalone/selectize.min.js | 2 +- dist/less/plugins/drag_drop.less | 16 ++ dist/less/plugins/dropdown_header.less | 20 +++ dist/less/plugins/optgroup_columns.less | 13 ++ dist/less/plugins/remove_button.less | 30 ++++ dist/less/selectize.bootstrap2.less | 33 ++-- dist/less/selectize.bootstrap3.less | 25 +-- dist/less/selectize.default.less | 10 +- dist/less/selectize.less | 43 ++++- examples/plugins.html | 193 ----------------------- src/css/selectize.bootstrap2.less | 33 ++-- src/css/selectize.bootstrap3.less | 25 +-- src/css/selectize.default.less | 10 +- src/css/selectize.less | 38 ++++- src/plugins/drag_drop/plugin.css | 18 --- src/plugins/drag_drop/plugin.less | 16 ++ src/plugins/dropdown_header/plugin.css | 14 -- src/plugins/dropdown_header/plugin.less | 20 +++ src/plugins/optgroup_columns/plugin.css | 13 -- src/plugins/optgroup_columns/plugin.less | 13 ++ src/plugins/remove_button/plugin.css | 30 ---- src/plugins/remove_button/plugin.less | 30 ++++ src/selectize.js | 5 +- 35 files changed, 872 insertions(+), 389 deletions(-) create mode 100644 dist/less/plugins/drag_drop.less create mode 100644 dist/less/plugins/dropdown_header.less create mode 100644 dist/less/plugins/optgroup_columns.less create mode 100644 dist/less/plugins/remove_button.less delete mode 100644 src/plugins/drag_drop/plugin.css create mode 100644 src/plugins/drag_drop/plugin.less delete mode 100644 src/plugins/dropdown_header/plugin.css create mode 100644 src/plugins/dropdown_header/plugin.less delete mode 100644 src/plugins/optgroup_columns/plugin.css create mode 100644 src/plugins/optgroup_columns/plugin.less delete mode 100644 src/plugins/remove_button/plugin.css create mode 100644 src/plugins/remove_button/plugin.less diff --git a/Gruntfile.js b/Gruntfile.js index 05a955bee..181d38023 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -9,14 +9,16 @@ module.exports = function(grunt) { grunt.registerTask('default', [ 'clean:pre', 'bower:install', + 'copy:less', + 'copy:less_plugins', + 'concat:less_theme_dependencies', + 'concat:less_plugins', 'concat:js', - 'concat:css_theme_dependencies', 'recess', 'replace', 'concat:js_standalone', 'uglify', 'clean:post', - 'copy:less' ]); var files_js = [ @@ -32,18 +34,29 @@ module.exports = function(grunt) { 'bower_components/sifter/sifter.js' ]; - var files_css = [ - 'src/*.css' - ]; + var less_imports = []; + var less_plugin_files = []; + + // enumerate plugins + (function() { + var selector_plugins = grunt.option('plugins'); + if (!selector_plugins) return; + + if (selector_plugins.indexOf(',') !== -1) { + selector_plugins = '{' + plugins.split(/\s*,\s*/).join(',') + '}'; + } + + // javascript + files_js.push('src/plugins/' + selector_plugins + '/*.js'); - var plugins = grunt.option('plugins'); - if (plugins) { - if (plugins.indexOf(',') !== -1) { - plugins = '{' + plugins.split(/\s*,\s*/).join(',') + '}'; + // less (css) + var matched_files = grunt.file.expand(['src/plugins/' + selector_plugins + '/plugin.less']); + for (var i = 0, n = matched_files.length; i < n; i++) { + var plugin_name = matched_files[i].match(/src\/plugins\/(.+?)\//)[1]; + less_imports.push('@import "plugins/' + plugin_name + '";'); + less_plugin_files.push({src: matched_files[i], dest: 'dist/less/plugins/' + plugin_name + '.less'}); } - files_js.push('src/plugins/' + plugins + '/*.js'); - files_css.push('src/plugins/' + plugins + '/*.css'); - } + })(); grunt.initConfig({ pkg: grunt.file.readJSON('bower.json'), @@ -57,11 +70,14 @@ module.exports = function(grunt) { }, clean: { pre: ['dist'], - post: ['src/css/*.tmp*'] + post: ['**/*.tmp*'] }, copy: { less: { files: [{expand: true, flatten: true, src: ['src/css/*.less'], dest: 'dist/less'}] + }, + less_plugins: { + files: less_plugin_files } }, replace: { @@ -86,7 +102,9 @@ module.exports = function(grunt) { }, }, files: [ - {expand: true, flatten: false, src: ['dist/css/*.css'], dest: ''} + {expand: true, flatten: false, src: ['dist/css/*.css'], dest: ''}, + {expand: true, flatten: false, src: ['dist/less/*.less'], dest: ''}, + {expand: true, flatten: false, src: ['dist/less/plugins/*.less'], dest: ''}, ] } }, @@ -96,10 +114,10 @@ module.exports = function(grunt) { }, uncompressed: { files: { - 'dist/css/selectize.css': ['src/css/selectize.less'], - 'dist/css/selectize.default.css': ['src/css/selectize.default.less'], - 'dist/css/selectize.bootstrap2.css': ['src/css/selectize.bootstrap2.tmp.less'], - 'dist/css/selectize.bootstrap3.css': ['src/css/selectize.bootstrap3.tmp.less'] + 'dist/css/selectize.css': ['dist/less/selectize.less'], + 'dist/css/selectize.default.css': ['dist/less/selectize.default.less'], + 'dist/css/selectize.bootstrap2.css': ['dist/less/selectize.bootstrap2.tmp.less'], + 'dist/css/selectize.bootstrap3.css': ['dist/less/selectize.bootstrap3.tmp.less'] } }, compressed: { @@ -107,10 +125,10 @@ module.exports = function(grunt) { compress: true }, files: { - 'dist/css/selectize.min.css': ['src/css/selectize.less'], - 'dist/css/selectize.default.min.css': ['src/css/selectize.default.less'], - 'dist/css/selectize.bootstrap2.min.css': ['src/css/selectize.bootstrap2.tmp.less'], - 'dist/css/selectize.bootstrap3.min.css': ['src/css/selectize.bootstrap3.tmp.less'] + 'dist/css/selectize.min.css': ['dist/less/selectize.less'], + 'dist/css/selectize.default.min.css': ['dist/less/selectize.default.less'], + 'dist/css/selectize.bootstrap2.min.css': ['dist/less/selectize.bootstrap2.tmp.less'], + 'dist/css/selectize.bootstrap3.min.css': ['dist/less/selectize.bootstrap3.tmp.less'] } } }, @@ -124,18 +142,26 @@ module.exports = function(grunt) { 'dist/js/selectize.js': files_js, } }, - css_theme_dependencies: { + less_plugins: { + options: { + banner: less_imports.join('\n') + grunt.util.linefeed + grunt.util.linefeed + }, + files: { + 'dist/less/selectize.less': ['dist/less/selectize.less'] + } + }, + less_theme_dependencies: { options: {stripBanners: false}, files: { - 'src/css/selectize.bootstrap2.tmp.less': [ + 'dist/less/selectize.bootstrap2.tmp.less': [ 'bower_components/bootstrap2/less/variables.less', 'bower_components/bootstrap2/less/mixins.less', - 'src/css/selectize.bootstrap2.less' + 'dist/less/selectize.bootstrap2.less' ], - 'src/css/selectize.bootstrap3.tmp.less': [ + 'dist/less/selectize.bootstrap3.tmp.less': [ 'bower_components/bootstrap3/less/variables.less', 'bower_components/bootstrap3/less/mixins.less', - 'src/css/selectize.bootstrap3.less' + 'dist/less/selectize.bootstrap3.less' ] } }, diff --git a/dist/css/selectize.bootstrap2.css b/dist/css/selectize.bootstrap2.css index b6cb94d3c..249b2c6ab 100644 --- a/dist/css/selectize.bootstrap2.css +++ b/dist/css/selectize.bootstrap2.css @@ -31,7 +31,7 @@ } /** - * selectize.css (v0.6.14) - Bootstrap 2 Theme + * selectize.bootstrap2.css (v0.6.14) - Bootstrap 2 Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -46,6 +46,102 @@ * @author Brian Reavis */ +.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + visibility: visible !important; + -webkit-box-shadow: inset 0 0 12px 4px #ffffff; + box-shadow: inset 0 0 12px 4px #ffffff; +} + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; +} + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.selectize-dropdown-header { + position: relative; + padding: 3px 10px; + background: #f8f8f8; + border-bottom: 1px solid #d0d0d0; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.selectize-dropdown-header-close { + position: absolute; + top: 50%; + right: 10px; + margin-top: -12px; + font-size: 20px !important; + line-height: 20px; + color: #333333; + opacity: 0.4; +} + +.selectize-dropdown-header-close:hover { + color: #000000; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + float: left; + border-right: 1px solid #f2f2f2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.selectize-control.plugin-remove_button .item { + position: relative; + padding-right: 24px !important; +} + +.selectize-control.plugin-remove_button .item .remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + display: inline-block; + width: 17px; + padding: 7px 0 0 0; + font-size: 12px; + font-weight: bold; + line-height: 8px; + color: inherit; + text-align: center; + vertical-align: middle; + border-left: 1px solid #cccccc; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-control.plugin-remove_button .item .remove:hover { + background: rgba(0, 0, 0, 0.05); +} + +.selectize-control.plugin-remove_button .item.active .remove { + border-left-color: #0077b3; +} + .selectize-control { position: relative; } @@ -74,7 +170,7 @@ width: 100%; padding: 7px 10px; overflow: hidden; - border: 1px solid #cccccc; + border: 1px solid #d0d0d0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; @@ -94,7 +190,7 @@ } .selectize-input.disabled, -.selectize-input.disabled input { +.selectize-input.disabled * { cursor: default !important; } @@ -120,7 +216,23 @@ .selectize-control.multi .selectize-input > div { padding: 1px 3px; margin: 0 3px 3px 0; + color: #333333; cursor: pointer; + background: #e6e6e6; + border: 1px solid #cccccc; +} + +.selectize-control.multi .selectize-input > div.active { + color: #ffffff; + background: #0088cc; + border: 1px solid #0077b3; +} + +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #474747; + background: #fafafa; + border: 1px solid #e0e0e0; } .selectize-input > input { @@ -164,7 +276,7 @@ z-index: 2; margin-top: -1px; background: #ffffff; - border: 1px solid #cccccc; + border: 1px solid #d0d0d0; border-top: 0 none; -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; @@ -200,7 +312,7 @@ .selectize-dropdown .optgroup-header { color: #999999; cursor: default; - background: inherit; + background: #f8f8f8; } .selectize-dropdown .active { @@ -213,7 +325,7 @@ } .selectize-dropdown .create { - color: inherit; + color: #a0a0a0; } .selectize-dropdown-content { @@ -259,7 +371,6 @@ .selectize-dropdown { z-index: 1000; - padding: 5px 0; margin: 2px 0 0 0; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 4px; @@ -304,6 +415,14 @@ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); } +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: 6px 10px; +} + .selectize-input { -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; -moz-transition: border linear 0.2s, box-shadow linear 0.2s; @@ -400,7 +519,7 @@ color: #333333; text-shadow: none; background-color: #f5f5f5; - *background-color: #ffffff; + *background-color: #e6e6e6; background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); diff --git a/dist/css/selectize.bootstrap2.min.css b/dist/css/selectize.bootstrap2.min.css index 8c44e1d2f..3ea3d1ba6 100644 --- a/dist/css/selectize.bootstrap2.min.css +++ b/dist/css/selectize.bootstrap2.min.css @@ -1 +1 @@ -.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#333}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:7px 10px;overflow:hidden;border:1px solid #ccc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:5px 10px 2px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled input{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 3px;margin:0 3px 3px 0;cursor:pointer}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#e5e5e5;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #ccc;border-top:0 none;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:3px 10px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#999;cursor:default;background:inherit}.selectize-dropdown .active{color:#fff;background-color:#08c}.selectize-dropdown .active.create{color:#fff}.selectize-dropdown .create{color:inherit}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:15px;display:block;width:0;height:0;margin-top:-3px;border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #000 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fff;opacity:.5}.selectize-dropdown{z-index:1000;padding:5px 0;margin:2px 0 0 0;border:1px solid rgba(0,0,0,0.2);border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.selectize-dropdown .optgroup-header{font-size:11px;font-weight:bold;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{display:block;*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;margin-right:-10px;margin-left:-10px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff;content:' '}.selectize-dropdown [data-selectable].active{background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.selectize-input{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.selectize-input.dropdown-active{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus,.selectize-input.focus:hover{background:#fff!important;border-color:rgba(82,168,236,0.8)!important;outline:0!important;outline:thin dotted \9!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)!important;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)!important}.selectize-control.single .selectize-input{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.selectize-control.single .selectize-input:hover,.selectize-control.single .selectize-input:focus,.selectize-control.single .selectize-input:active,.selectize-control.single .selectize-input.active,.selectize-control.single .selectize-input.disabled,.selectize-control.single .selectize-input[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.selectize-control.single .selectize-input:active,.selectize-control.single .selectize-input.active{background-color:#ccc \9}.selectize-control.single .selectize-input:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.selectize-control.single .selectize-input.disabled{background:#e6e6e6!important;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.selectize-control.multi .selectize-input{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.selectize-control.multi .selectize-input.has-items{padding-right:7px;padding-left:7px}.selectize-control.multi .selectize-input>div{color:#333;text-shadow:none;background-color:#f5f5f5;*background-color:#fff;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.selectize-control.multi .selectize-input>div.active{color:#fff;text-shadow:none;background-color:#0081c2;*background-color:#08c;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;border:1px solid #08c;border-color:#0077b3 #0077b3 #046;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)} \ No newline at end of file +.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;visibility:visible!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:3px 10px;background:#f8f8f8;border-bottom:1px solid #d0d0d0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-dropdown-header-close{position:absolute;top:50%;right:10px;margin-top:-12px;font-size:20px!important;line-height:20px;color:#333;opacity:.4}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{float:left;border-right:1px solid #f2f2f2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button .item .remove{position:absolute;top:0;right:0;bottom:0;display:inline-block;width:17px;padding:7px 0 0 0;font-size:12px;font-weight:bold;line-height:8px;color:inherit;text-align:center;vertical-align:middle;border-left:1px solid #ccc;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#0077b3}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#333}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:7px 10px;overflow:hidden;border:1px solid #d0d0d0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:5px 10px 2px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 3px;margin:0 3px 3px 0;color:#333;cursor:pointer;background:#e6e6e6;border:1px solid #ccc}.selectize-control.multi .selectize-input>div.active{color:#fff;background:#08c;border:1px solid #0077b3}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#474747;background:#fafafa;border:1px solid #e0e0e0}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#e5e5e5;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #d0d0d0;border-top:0 none;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:3px 10px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#999;cursor:default;background:#f8f8f8}.selectize-dropdown .active{color:#fff;background-color:#08c}.selectize-dropdown .active.create{color:#fff}.selectize-dropdown .create{color:#a0a0a0}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:15px;display:block;width:0;height:0;margin-top:-3px;border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #000 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fff;opacity:.5}.selectize-dropdown{z-index:1000;margin:2px 0 0 0;border:1px solid rgba(0,0,0,0.2);border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.selectize-dropdown .optgroup-header{font-size:11px;font-weight:bold;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{display:block;*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;margin-right:-10px;margin-left:-10px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff;content:' '}.selectize-dropdown [data-selectable].active{background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.selectize-dropdown-content{padding:5px 0}.selectize-dropdown-header{padding:6px 10px}.selectize-input{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.selectize-input.dropdown-active{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus,.selectize-input.focus:hover{background:#fff!important;border-color:rgba(82,168,236,0.8)!important;outline:0!important;outline:thin dotted \9!important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)!important;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)!important;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)!important}.selectize-control.single .selectize-input{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.selectize-control.single .selectize-input:hover,.selectize-control.single .selectize-input:focus,.selectize-control.single .selectize-input:active,.selectize-control.single .selectize-input.active,.selectize-control.single .selectize-input.disabled,.selectize-control.single .selectize-input[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.selectize-control.single .selectize-input:active,.selectize-control.single .selectize-input.active{background-color:#ccc \9}.selectize-control.single .selectize-input:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.selectize-control.single .selectize-input.disabled{background:#e6e6e6!important;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.selectize-control.multi .selectize-input{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.selectize-control.multi .selectize-input.has-items{padding-right:7px;padding-left:7px}.selectize-control.multi .selectize-input>div{color:#333;text-shadow:none;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.selectize-control.multi .selectize-input>div.active{color:#fff;text-shadow:none;background-color:#0081c2;*background-color:#08c;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;border:1px solid #08c;border-color:#0077b3 #0077b3 #046;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)} \ No newline at end of file diff --git a/dist/css/selectize.bootstrap3.css b/dist/css/selectize.bootstrap3.css index 176aaf07a..3fcfbdc93 100644 --- a/dist/css/selectize.bootstrap3.css +++ b/dist/css/selectize.bootstrap3.css @@ -1,5 +1,5 @@ /** - * selectize.css (v0.6.14) - Bootstrap 3 Theme + * selectize.bootstrap3.css (v0.6.14) - Bootstrap 3 Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -14,6 +14,102 @@ * @author Brian Reavis */ +.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + visibility: visible !important; + -webkit-box-shadow: inset 0 0 12px 4px #ffffff; + box-shadow: inset 0 0 12px 4px #ffffff; +} + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; +} + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.selectize-dropdown-header { + position: relative; + padding: 3px 12px; + background: #f8f8f8; + border-bottom: 1px solid #d0d0d0; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.selectize-dropdown-header-close { + position: absolute; + top: 50%; + right: 12px; + margin-top: -12px; + font-size: 20px !important; + line-height: 20px; + color: #333333; + opacity: 0.4; +} + +.selectize-dropdown-header-close:hover { + color: #000000; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + float: left; + border-right: 1px solid #f2f2f2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.selectize-control.plugin-remove_button .item { + position: relative; + padding-right: 24px !important; +} + +.selectize-control.plugin-remove_button .item .remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + display: inline-block; + width: 17px; + padding: 7px 0 0 0; + font-size: 12px; + font-weight: bold; + line-height: 8px; + color: inherit; + text-align: center; + vertical-align: middle; + border-left: 1px solid rgba(0, 0, 0, 0); + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-control.plugin-remove_button .item .remove:hover { + background: rgba(0, 0, 0, 0.05); +} + +.selectize-control.plugin-remove_button .item.active .remove { + border-left-color: rgba(0, 0, 0, 0); +} + .selectize-control { position: relative; } @@ -62,7 +158,7 @@ } .selectize-input.disabled, -.selectize-input.disabled input { +.selectize-input.disabled * { cursor: default !important; } @@ -88,7 +184,23 @@ .selectize-control.multi .selectize-input > div { padding: 1px 3px; margin: 0 3px 3px 0; + color: #333333; cursor: pointer; + background: #efefef; + border: 0 solid rgba(0, 0, 0, 0); +} + +.selectize-control.multi .selectize-input > div.active { + color: #ffffff; + background: #428bca; + border: 0 solid rgba(0, 0, 0, 0); +} + +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #808080; + background: #ffffff; + border: 0 solid rgba(77, 77, 77, 0); } .selectize-input > input { @@ -168,7 +280,7 @@ .selectize-dropdown .optgroup-header { color: #999999; cursor: default; - background: inherit; + background: #f8f8f8; } .selectize-dropdown .active { @@ -181,7 +293,7 @@ } .selectize-dropdown .create { - color: inherit; + color: #a0a0a0; } .selectize-dropdown-content { @@ -227,7 +339,6 @@ .selectize-dropdown { z-index: 1000; - padding: 5px 0; margin: 2px 0 0 0; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); @@ -256,6 +367,14 @@ content: ' '; } +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: 6px 12px; +} + .selectize-input { min-height: 34px; } @@ -283,13 +402,7 @@ } .selectize-control.multi .selectize-input > div { - background: #efefef; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -} - -.selectize-control.multi .selectize-input > div.active { - color: #fff; - background: #428bca; } \ No newline at end of file diff --git a/dist/css/selectize.bootstrap3.min.css b/dist/css/selectize.bootstrap3.min.css index 3ce10e9cf..916185fe7 100644 --- a/dist/css/selectize.bootstrap3.min.css +++ b/dist/css/selectize.bootstrap3.min.css @@ -1 +1 @@ -.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#333}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:6px 12px;overflow:hidden;border:1px solid #ccc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:5px 12px 2px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled input{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 3px;margin:0 3px 3px 0;cursor:pointer}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#fff;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #ccc;border-top:0 none;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:3px 12px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#999;cursor:default;background:inherit}.selectize-dropdown .active{color:#fff;background-color:#428bca}.selectize-dropdown .active.create{color:#fff}.selectize-dropdown .create{color:inherit}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:17px;display:block;width:0;height:0;margin-top:-3px;border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #000 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fff;opacity:.5}.selectize-dropdown{z-index:1000;padding:5px 0;margin:2px 0 0 0;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.selectize-dropdown .optgroup-header{font-size:12px;line-height:1.428571429}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{display:block;height:1px;margin:9px 0;margin-right:-12px;margin-left:-12px;overflow:hidden;background-color:#e5e5e5;content:' '}.selectize-input{min-height:34px}.selectize-input.dropdown-active{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.selectize-control.multi .selectize-input.has-items{padding-right:9px;padding-left:9px}.selectize-control.multi .selectize-input>div{background:#efefef;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.selectize-control.multi .selectize-input>div.active{color:#fff;background:#428bca} \ No newline at end of file +.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;visibility:visible!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:3px 12px;background:#f8f8f8;border-bottom:1px solid #d0d0d0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-dropdown-header-close{position:absolute;top:50%;right:12px;margin-top:-12px;font-size:20px!important;line-height:20px;color:#333;opacity:.4}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{float:left;border-right:1px solid #f2f2f2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button .item .remove{position:absolute;top:0;right:0;bottom:0;display:inline-block;width:17px;padding:7px 0 0 0;font-size:12px;font-weight:bold;line-height:8px;color:inherit;text-align:center;vertical-align:middle;border-left:1px solid rgba(0,0,0,0);-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#333}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:6px 12px;overflow:hidden;border:1px solid #ccc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:5px 12px 2px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 3px;margin:0 3px 3px 0;color:#333;cursor:pointer;background:#efefef;border:0 solid rgba(0,0,0,0)}.selectize-control.multi .selectize-input>div.active{color:#fff;background:#428bca;border:0 solid rgba(0,0,0,0)}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#808080;background:#fff;border:0 solid rgba(77,77,77,0)}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#fff;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #ccc;border-top:0 none;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:3px 12px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#999;cursor:default;background:#f8f8f8}.selectize-dropdown .active{color:#fff;background-color:#428bca}.selectize-dropdown .active.create{color:#fff}.selectize-dropdown .create{color:#a0a0a0}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:17px;display:block;width:0;height:0;margin-top:-3px;border-color:#000 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #000 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fff;opacity:.5}.selectize-dropdown{z-index:1000;margin:2px 0 0 0;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175)}.selectize-dropdown .optgroup-header{font-size:12px;line-height:1.428571429}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{display:block;height:1px;margin:9px 0;margin-right:-12px;margin-left:-12px;overflow:hidden;background-color:#e5e5e5;content:' '}.selectize-dropdown-content{padding:5px 0}.selectize-dropdown-header{padding:6px 12px}.selectize-input{min-height:34px}.selectize-input.dropdown-active{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.selectize-control.multi .selectize-input.has-items{padding-right:9px;padding-left:9px}.selectize-control.multi .selectize-input>div{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px} \ No newline at end of file diff --git a/dist/css/selectize.css b/dist/css/selectize.css index 10276f9eb..228badb86 100644 --- a/dist/css/selectize.css +++ b/dist/css/selectize.css @@ -14,6 +14,102 @@ * @author Brian Reavis */ +.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + visibility: visible !important; + -webkit-box-shadow: inset 0 0 12px 4px #ffffff; + box-shadow: inset 0 0 12px 4px #ffffff; +} + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; +} + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.selectize-dropdown-header { + position: relative; + padding: 7px 10px; + background: #f8f8f8; + border-bottom: 1px solid #d0d0d0; + -webkit-border-radius: 3px 3px 0 0; + -moz-border-radius: 3px 3px 0 0; + border-radius: 3px 3px 0 0; +} + +.selectize-dropdown-header-close { + position: absolute; + top: 50%; + right: 10px; + margin-top: -12px; + font-size: 20px !important; + line-height: 20px; + color: #303030; + opacity: 0.4; +} + +.selectize-dropdown-header-close:hover { + color: #000000; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + float: left; + border-right: 1px solid #f2f2f2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.selectize-control.plugin-remove_button .item { + position: relative; + padding-right: 24px !important; +} + +.selectize-control.plugin-remove_button .item .remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + display: inline-block; + width: 17px; + padding: 7px 0 0 0; + font-size: 12px; + font-weight: bold; + line-height: 8px; + color: inherit; + text-align: center; + vertical-align: middle; + border-left: 1px solid #d0d0d0; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-control.plugin-remove_button .item .remove:hover { + background: rgba(0, 0, 0, 0.05); +} + +.selectize-control.plugin-remove_button .item.active .remove { + border-left-color: #cacaca; +} + .selectize-control { position: relative; } @@ -62,7 +158,7 @@ } .selectize-input.disabled, -.selectize-input.disabled input { +.selectize-input.disabled * { cursor: default !important; } @@ -88,7 +184,23 @@ .selectize-control.multi .selectize-input > div { padding: 1px 5px; margin: 0 5px 5px 0; + color: #303030; cursor: pointer; + background: #f2f2f2; + border: 0 solid #d0d0d0; +} + +.selectize-control.multi .selectize-input > div.active { + color: #303030; + background: #e8e8e8; + border: 0 solid #cacaca; +} + +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #7d7d7d; + background: #ffffff; + border: 0 solid #ffffff; } .selectize-input > input { @@ -166,13 +278,13 @@ } .selectize-dropdown .optgroup-header { - color: inherit; + color: #303030; cursor: default; background: #f8f8f8; } .selectize-dropdown .active { - color: inherit; + color: #303030; background-color: #fffceb; } diff --git a/dist/css/selectize.default.css b/dist/css/selectize.default.css index 0f75a83f8..d6f04c500 100644 --- a/dist/css/selectize.default.css +++ b/dist/css/selectize.default.css @@ -1,5 +1,5 @@ /** - * selectize.css (v0.6.14) - Default Theme + * selectize.default.css (v0.6.14) - Default Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -14,6 +14,102 @@ * @author Brian Reavis */ +.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + visibility: visible !important; + -webkit-box-shadow: inset 0 0 12px 4px #ffffff; + box-shadow: inset 0 0 12px 4px #ffffff; +} + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; +} + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.selectize-dropdown-header { + position: relative; + padding: 7px 10px; + background: #f8f8f8; + border-bottom: 1px solid #d0d0d0; + -webkit-border-radius: 3px 3px 0 0; + -moz-border-radius: 3px 3px 0 0; + border-radius: 3px 3px 0 0; +} + +.selectize-dropdown-header-close { + position: absolute; + top: 50%; + right: 10px; + margin-top: -12px; + font-size: 20px !important; + line-height: 20px; + color: #303030; + opacity: 0.4; +} + +.selectize-dropdown-header-close:hover { + color: #000000; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + float: left; + border-right: 1px solid #f2f2f2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.selectize-control.plugin-remove_button .item { + position: relative; + padding-right: 24px !important; +} + +.selectize-control.plugin-remove_button .item .remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + display: inline-block; + width: 17px; + padding: 7px 0 0 0; + font-size: 12px; + font-weight: bold; + line-height: 8px; + color: inherit; + text-align: center; + vertical-align: middle; + border-left: 1px solid #74b21e; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-control.plugin-remove_button .item .remove:hover { + background: rgba(0, 0, 0, 0.05); +} + +.selectize-control.plugin-remove_button .item.active .remove { + border-left-color: #6f9839; +} + .selectize-control { position: relative; } @@ -62,7 +158,7 @@ } .selectize-input.disabled, -.selectize-input.disabled input { +.selectize-input.disabled * { cursor: default !important; } @@ -88,7 +184,23 @@ .selectize-control.multi .selectize-input > div { padding: 1px 5px; margin: 0 5px 5px 0; + color: #3d5d18; cursor: pointer; + background: #b8e76f; + border: 1px solid #74b21e; +} + +.selectize-control.multi .selectize-input > div.active { + color: #303030; + background: #92c836; + border: 1px solid #6f9839; +} + +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #878787; + background: #f8f8f8; + border: 1px solid #b4b4b4; } .selectize-input > input { @@ -166,13 +278,13 @@ } .selectize-dropdown .optgroup-header { - color: inherit; + color: #303030; cursor: default; background: #f8f8f8; } .selectize-dropdown .active { - color: inherit; + color: #303030; background-color: #fffceb; } @@ -226,7 +338,6 @@ } .selectize-control.multi .selectize-input > div { - color: #3d5d18; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.1); background-color: #b2e567; background-image: -moz-linear-gradient(top, #b8e76f, #a9e25c); @@ -235,7 +346,6 @@ background-image: -o-linear-gradient(top, #b8e76f, #a9e25c); background-image: linear-gradient(to bottom, #b8e76f, #a9e25c); background-repeat: repeat-x; - border: 1px solid #74b21e; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -252,7 +362,6 @@ background-image: -o-linear-gradient(top, #92c836, #7abc2c); background-image: linear-gradient(to bottom, #92c836, #7abc2c); background-repeat: repeat-x; - border-color: #6f9839; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff92c836', endColorstr='#ff7abc2c', GradientType=0); } diff --git a/dist/css/selectize.default.min.css b/dist/css/selectize.default.min.css index 35be116cf..ba07fbe1c 100644 --- a/dist/css/selectize.default.min.css +++ b/dist/css/selectize.default.min.css @@ -1 +1 @@ -.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:inherit;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#303030}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:10px 10px;overflow:hidden;border:1px solid #d0d0d0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:8px 10px 3px}.selectize-input.full{background-color:#f2f2f2}.selectize-input.disabled,.selectize-input.disabled input{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 5px;margin:0 5px 5px 0;cursor:pointer}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0 2px 0 0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#f0f0f0;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #d0d0d0;border-top:0 none;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:7px 10px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:inherit;cursor:default;background:#f8f8f8}.selectize-dropdown .active{color:inherit;background-color:#fffceb}.selectize-dropdown .active.create{color:#a0a0a0}.selectize-dropdown .create{color:#a0a0a0}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:15px;display:block;width:0;height:0;margin-top:-3px;border-color:#808080 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #808080 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fafafa;opacity:.5}.selectize-control.multi .selectize-input>div{color:#3d5d18;text-shadow:0 1px 0 rgba(255,255,255,0.1);background-color:#b2e567;background-image:-moz-linear-gradient(top,#b8e76f,#a9e25c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b8e76f),to(#a9e25c));background-image:-webkit-linear-gradient(top,#b8e76f,#a9e25c);background-image:-o-linear-gradient(top,#b8e76f,#a9e25c);background-image:linear-gradient(to bottom,#b8e76f,#a9e25c);background-repeat:repeat-x;border:1px solid #74b21e;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb8e76f',endColorstr='#ffa9e25c',GradientType=0);-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.selectize-control.multi .selectize-input>div.active{background-color:#88c332;background-image:-moz-linear-gradient(top,#92c836,#7abc2c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#92c836),to(#7abc2c));background-image:-webkit-linear-gradient(top,#92c836,#7abc2c);background-image:-o-linear-gradient(top,#92c836,#7abc2c);background-image:linear-gradient(to bottom,#92c836,#7abc2c);background-repeat:repeat-x;border-color:#6f9839;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff92c836',endColorstr='#ff7abc2c',GradientType=0)}.selectize-control.single .selectize-input{background-color:#f3f3f3;background-image:-moz-linear-gradient(top,#f5f5f5,#efefef);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#efefef));background-image:-webkit-linear-gradient(top,#f5f5f5,#efefef);background-image:-o-linear-gradient(top,#f5f5f5,#efefef);background-image:linear-gradient(to bottom,#f5f5f5,#efefef);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffefefef',GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.8),0 2px 0 #e0e0e0,0 3px 0 #c8c8c8,0 4px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.8),0 2px 0 #e0e0e0,0 3px 0 #c8c8c8,0 4px 1px rgba(0,0,0,0.1)}.selectize-control.single .selectize-input,.selectize-dropdown.single{border-color:#b8b8b8}.selectize-dropdown .optgroup-header{font-size:.8em;font-weight:bold;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0} \ No newline at end of file +.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;visibility:visible!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:7px 10px;background:#f8f8f8;border-bottom:1px solid #d0d0d0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;top:50%;right:10px;margin-top:-12px;font-size:20px!important;line-height:20px;color:#303030;opacity:.4}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{float:left;border-right:1px solid #f2f2f2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button .item .remove{position:absolute;top:0;right:0;bottom:0;display:inline-block;width:17px;padding:7px 0 0 0;font-size:12px;font-weight:bold;line-height:8px;color:inherit;text-align:center;vertical-align:middle;border-left:1px solid #74b21e;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#6f9839}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:inherit;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#303030}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:10px 10px;overflow:hidden;border:1px solid #d0d0d0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:8px 10px 3px}.selectize-input.full{background-color:#f2f2f2}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 5px;margin:0 5px 5px 0;color:#3d5d18;cursor:pointer;background:#b8e76f;border:1px solid #74b21e}.selectize-control.multi .selectize-input>div.active{color:#303030;background:#92c836;border:1px solid #6f9839}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#878787;background:#f8f8f8;border:1px solid #b4b4b4}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0 2px 0 0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#f0f0f0;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #d0d0d0;border-top:0 none;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:7px 10px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;cursor:default;background:#f8f8f8}.selectize-dropdown .active{color:#303030;background-color:#fffceb}.selectize-dropdown .active.create{color:#a0a0a0}.selectize-dropdown .create{color:#a0a0a0}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:15px;display:block;width:0;height:0;margin-top:-3px;border-color:#808080 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #808080 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fafafa;opacity:.5}.selectize-control.multi .selectize-input>div{text-shadow:0 1px 0 rgba(255,255,255,0.1);background-color:#b2e567;background-image:-moz-linear-gradient(top,#b8e76f,#a9e25c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b8e76f),to(#a9e25c));background-image:-webkit-linear-gradient(top,#b8e76f,#a9e25c);background-image:-o-linear-gradient(top,#b8e76f,#a9e25c);background-image:linear-gradient(to bottom,#b8e76f,#a9e25c);background-repeat:repeat-x;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb8e76f',endColorstr='#ffa9e25c',GradientType=0);-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1)}.selectize-control.multi .selectize-input>div.active{background-color:#88c332;background-image:-moz-linear-gradient(top,#92c836,#7abc2c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#92c836),to(#7abc2c));background-image:-webkit-linear-gradient(top,#92c836,#7abc2c);background-image:-o-linear-gradient(top,#92c836,#7abc2c);background-image:linear-gradient(to bottom,#92c836,#7abc2c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff92c836',endColorstr='#ff7abc2c',GradientType=0)}.selectize-control.single .selectize-input{background-color:#f3f3f3;background-image:-moz-linear-gradient(top,#f5f5f5,#efefef);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#efefef));background-image:-webkit-linear-gradient(top,#f5f5f5,#efefef);background-image:-o-linear-gradient(top,#f5f5f5,#efefef);background-image:linear-gradient(to bottom,#f5f5f5,#efefef);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#ffefefef',GradientType=0);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.8),0 2px 0 #e0e0e0,0 3px 0 #c8c8c8,0 4px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.8),0 2px 0 #e0e0e0,0 3px 0 #c8c8c8,0 4px 1px rgba(0,0,0,0.1)}.selectize-control.single .selectize-input,.selectize-dropdown.single{border-color:#b8b8b8}.selectize-dropdown .optgroup-header{font-size:.8em;font-weight:bold;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0} \ No newline at end of file diff --git a/dist/css/selectize.min.css b/dist/css/selectize.min.css index 5d050d3c9..eaa3ea784 100644 --- a/dist/css/selectize.min.css +++ b/dist/css/selectize.min.css @@ -1 +1 @@ -.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:inherit;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#303030}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:10px 10px;overflow:hidden;border:1px solid #d0d0d0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:9px 10px 4px}.selectize-input.full{background-color:#f2f2f2}.selectize-input.disabled,.selectize-input.disabled input{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 5px;margin:0 5px 5px 0;cursor:pointer}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0 2px 0 0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#f0f0f0;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #d0d0d0;border-top:0 none;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:7px 10px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:inherit;cursor:default;background:#f8f8f8}.selectize-dropdown .active{color:inherit;background-color:#fffceb}.selectize-dropdown .active.create{color:#a0a0a0}.selectize-dropdown .create{color:#a0a0a0}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:15px;display:block;width:0;height:0;margin-top:-3px;border-color:#808080 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #808080 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fafafa;opacity:.5} \ No newline at end of file +.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{background:#f2f2f2!important;background:rgba(0,0,0,0.06)!important;border:0 none!important;visibility:visible!important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:7px 10px;background:#f8f8f8;border-bottom:1px solid #d0d0d0;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-dropdown-header-close{position:absolute;top:50%;right:10px;margin-top:-12px;font-size:20px!important;line-height:20px;color:#303030;opacity:.4}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{float:left;border-right:1px solid #f2f2f2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{position:relative;padding-right:24px!important}.selectize-control.plugin-remove_button .item .remove{position:absolute;top:0;right:0;bottom:0;display:inline-block;width:17px;padding:7px 0 0 0;font-size:12px;font-weight:bold;line-height:8px;color:inherit;text-align:center;vertical-align:middle;border-left:1px solid #d0d0d0;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#cacaca}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{font-family:inherit;font-size:14px;-webkit-font-smoothing:inherit;line-height:20px;color:#303030}.selectize-input,.selectize-control.single .selectize-input.focus{display:inline-block;cursor:text;background:#fff}.selectize-input{position:relative;z-index:1;display:inline-block;width:100%;padding:10px 10px;overflow:hidden;border:1px solid #d0d0d0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.multi .selectize-input.has-items{padding:9px 10px 4px}.selectize-input.full{background-color:#f2f2f2}.selectize-input.disabled,.selectize-input.disabled *{cursor:default!important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.selectize-input>*{display:-moz-inline-stack;display:inline-block;*display:inline;vertical-align:baseline;zoom:1}.selectize-control.multi .selectize-input>div{padding:1px 5px;margin:0 5px 5px 0;color:#303030;cursor:pointer;background:#f2f2f2;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input>div.active{color:#303030;background:#e8e8e8;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:#fff;border:0 solid #fff}.selectize-input>input{max-width:100%!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0 2px 0 0!important;line-height:inherit!important;text-indent:0!important;background:none!important;border:0 none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-user-select:auto!important}.selectize-input>input:focus{outline:none!important}.selectize-input::after{display:block;clear:left;content:' '}.selectize-input.dropdown-active::before{position:absolute;right:0;bottom:0;left:0;display:block;height:1px;background:#f0f0f0;content:' '}.selectize-dropdown{position:absolute;z-index:2;margin-top:-1px;background:#fff;border:1px solid #d0d0d0;border-top:0 none;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown [data-selectable]{overflow:hidden;cursor:pointer}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown [data-selectable],.selectize-dropdown .optgroup-header{padding:7px 10px}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;cursor:default;background:#f8f8f8}.selectize-dropdown .active{color:#303030;background-color:#fffceb}.selectize-dropdown .active.create{color:#a0a0a0}.selectize-dropdown .create{color:#a0a0a0}.selectize-dropdown-content{max-height:200px;overflow-x:hidden;overflow-y:auto}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.focus,.selectize-control.single .selectize-input.focus input{cursor:text}.selectize-control.single .selectize-input:after{position:absolute;top:50%;right:15px;display:block;width:0;height:0;margin-top:-3px;border-color:#808080 transparent transparent transparent;border-style:solid;border-width:5px 5px 0 5px;content:' '}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-color:transparent transparent #808080 transparent;border-width:0 5px 5px 5px}.selectize-control .selectize-input.disabled{background-color:#fafafa;opacity:.5} \ No newline at end of file diff --git a/dist/js/selectize.js b/dist/js/selectize.js index d0c6fc447..6fe993438 100644 --- a/dist/js/selectize.js +++ b/dist/js/selectize.js @@ -621,6 +621,7 @@ var timeout_focus; var tab_index; var classes; + var classes_plugins; inputMode = self.settings.mode; tab_index = self.$input.attr('tabindex') || ''; @@ -639,7 +640,9 @@ }); if (self.plugins.length) { - $wrapper.addClass('plugin-' + self.plugins.join(' plugin-')); + classes_plugins = 'plugin-' + self.plugins.join(' plugin-'); + $wrapper.addClass(classes_plugins); + $dropdown.addClass(classes_plugins); } if ((settings.maxItems === null || settings.maxItems > 1) && self.tagType === TAG_SELECT) { diff --git a/dist/js/selectize.min.js b/dist/js/selectize.min.js index 5f3632f21..39d2b9639 100644 --- a/dist/js/selectize.min.js +++ b/dist/js/selectize.min.js @@ -1,2 +1,2 @@ /*! selectize.js - v0.6.14 | https://github.com/brianreavis/selectize.js | Apache License (v2) */ -!function(a,b){"function"==typeof define&&define.amd?define(["sifter"],b):a.Selectize=b(a.Sifter)}(this,function(a){"use strict";var b=function(a,b){if("string"!=typeof b||b.length){var c="string"==typeof b?new RegExp(b,"i"):b,d=function(a){var b=0;if(3===a.nodeType){var e=a.data.search(c);if(e>=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e);h.splitText(f[0].length);var i=h.cloneNode(!0);g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName))for(var j=0;jb;b++)this.loadPlugin(a[b]);else if(a){this.pluginSettings=$.extend({},a);for(d in a)a.hasOwnProperty(d)&&this.loadPlugin(d)}},a.prototype.loadPlugin=function(c){var d,e,f;if(-1===this.plugins.indexOf(c)){if(!a.plugins.hasOwnProperty(c))throw new Error(b+' unable to find "'+c+'" plugin');for(d=a.plugins[c],this.plugins.push(c),e=0,f=d.dependencies.length;f>e;e++)this.loadPlugin(d.dependencies[e]);d.fn.apply(this,[this.pluginSettings[c]||{}])}},a.registerPlugin=function(b){var c=arguments;a.plugins[b]={name:b,fn:c[c.length-1],dependencies:3===c.length?c[1]:[]}}};var u=function(a){return"undefined"!=typeof a},v=function(a){return"undefined"==typeof a||null===a?"":"boolean"==typeof a?a?"1":"0":a+""},w=function(a){return(a+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},x=function(a){return a.replace(/(['"])/g,"\\$1")},y={};y.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},y.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var z=function(a,b){if(!$.isArray(b))return b;var c,d,e={};for(c=0,d=b.length;d>c;c++)b[c].hasOwnProperty(a)&&(e[b[c][a]]=b[c]);return e},A=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},B=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},C=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];return-1===b.indexOf(c)?e.apply(a,arguments):(f[c]=arguments,void 0)},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},D=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},E=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},F=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;e>d;d++)f[c[d]]=a.css(c[d]);else f=a.css();b.css(f)},G=function(a,b){var c=$("").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"nowrap"}).text(a).appendTo("body");F(b,c,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]);var d=c.width();return c.remove(),d},H=function(a){var b=function(b){var c,d,e,f,g,h,i,j;b=b||window.event||{},b.metaKey||b.altKey||a.data("grow")!==!1&&(c=a.val(),b.type&&"keydown"===b.type.toLowerCase()&&(d=b.keyCode,e=d>=97&&122>=d||d>=65&&90>=d||d>=48&&57>=d||32===d,d===m||d===l?(j=E(a[0]),j.length?c=c.substring(0,j.start)+c.substring(j.start+j.length):d===l&&j.start?c=c.substring(0,j.start-1)+c.substring(j.start+1):d===m&&"undefined"!=typeof j.start&&(c=c.substring(0,j.start)+c.substring(j.start+1))):e&&(h=b.shiftKey,i=String.fromCharCode(b.keyCode),i=h?i.toUpperCase():i.toLowerCase(),c+=i)),f=a.attr("placeholder")||"",!c.length&&f.length&&(c=f),g=G(c,a)+4,g!==a.width()&&(a.width(g),a.triggerHandler("resize")))};a.on("keydown keyup update blur",b),b()},I=function(b,c){var d=this;b[0].selectize=d,$.extend(d,{settings:c,$input:b,tagType:"select"===b[0].tagName.toLowerCase()?r:s,eventNS:".selectize"+ ++I.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isLocked:!1,isFocused:!1,isInputFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:B(d.onSearchChange,c.loadThrottle)}),d.sifter=new a(this.options,{diacritics:c.diacritics}),$.extend(d.options,z(c.valueField,c.options)),delete d.settings.options,$.extend(d.optgroups,z(c.optgroupValueField,c.optgroups)),delete d.settings.optgroups,d.settings.mode=d.settings.mode||(1===d.settings.maxItems?"single":"multi"),"boolean"!=typeof d.settings.hideSelected&&(d.settings.hideSelected="multi"===d.settings.mode),d.loadPlugins(d.settings.plugins),d.setupCallbacks(),d.setup()};return c.mixin(I),t.mixin(I,"Selectize"),$.extend(I.prototype,{setup:function(){var a,b,c,e,f,g,h,i,j,k=this,l=k.settings,m=k.eventNS,q=$(window),s=$(document);h=k.settings.mode,i=k.$input.attr("tabindex")||"",j=k.$input.attr("class")||"",a=$("
").addClass(l.wrapperClass).addClass(j).addClass(h),b=$("
").addClass(l.inputClass).addClass("items").appendTo(a),c=$('').appendTo(b).attr("tabindex",i),g=$(l.dropdownParent||a),e=$("
").addClass(l.dropdownClass).addClass(j).addClass(h).hide().appendTo(g),f=$("
").addClass(l.dropdownContentClass).appendTo(e),a.css({width:k.$input[0].style.width,display:k.$input.css("display")}),k.plugins.length&&a.addClass("plugin-"+k.plugins.join(" plugin-")),(null===l.maxItems||l.maxItems>1)&&k.tagType===r&&k.$input.attr("multiple","multiple"),k.settings.placeholder&&c.attr("placeholder",l.placeholder),k.$wrapper=a,k.$control=b,k.$control_input=c,k.$dropdown=e,k.$dropdown_content=f,b.on("mousedown",function(a){a.isDefaultPrevented()||window.setTimeout(function(){k.focus(!0)},0)}),b.on("click",function(){k.isInputFocused||k.focus(!0)}),e.on("mouseenter","[data-selectable]",function(){return k.onOptionHover.apply(k,arguments)}),e.on("mousedown","[data-selectable]",function(){return k.onOptionSelect.apply(k,arguments)}),D(b,"mousedown","*:not(input)",function(){return k.onItemSelect.apply(k,arguments)}),H(c),c.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return k.onKeyDown.apply(k,arguments)},keyup:function(){return k.onKeyUp.apply(k,arguments)},keypress:function(){return k.onKeyPress.apply(k,arguments)},resize:function(){k.positionDropdown.apply(k,[])},blur:function(){return k.onBlur.apply(k,arguments)},focus:function(){return k.onFocus.apply(k,arguments)}}),s.on("keydown"+m,function(a){k.isCmdDown=a[d?"metaKey":"ctrlKey"],k.isCtrlDown=a[d?"altKey":"ctrlKey"],k.isShiftDown=a.shiftKey}),s.on("keyup"+m,function(a){a.keyCode===p&&(k.isCtrlDown=!1),a.keyCode===n&&(k.isShiftDown=!1),a.keyCode===o&&(k.isCmdDown=!1)}),s.on("mousedown"+m,function(a){if(k.isFocused){if(a.target===k.$dropdown[0]||a.target.parentNode===k.$dropdown[0]){var b=k.ignoreFocus;return k.ignoreFocus=!0,window.setTimeout(function(){k.ignoreFocus=b,k.focus(!1)},0),void 0}k.$control.has(a.target).length||a.target===k.$control[0]||k.blur()}}),q.on(["scroll"+m,"resize"+m].join(" "),function(){k.isOpen&&k.positionDropdown.apply(k,arguments)}),q.on("mousemove"+m,function(){k.ignoreHover=!1}),k.$input.attr("tabindex",-1).hide().after(k.$wrapper),$.isArray(l.items)&&(k.setValue(l.items),delete l.items),k.updateOriginalInput(),k.refreshItems(),k.refreshClasses(),k.updatePlaceholder(),k.isSetup=!0,k.$input.is(":disabled")&&k.disable(),k.trigger("initialize"),l.preload&&k.onSearchChange("")},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]],b&&this.on(a,b))},triggerCallback:function(a){var b;"function"==typeof this.settings[a]&&(b=Array.prototype.slice.apply(arguments,[1]),this.settings[a].apply(this,b))},onKeyPress:function(a){if(this.isLocked)return a&&a.preventDefault();var b=String.fromCharCode(a.keyCode||a.which);return this.settings.create&&b===this.settings.delimiter?(this.createItem(),a.preventDefault(),!1):void 0},onKeyDown:function(a){a.target===this.$control_input[0];var b=this;if(b.isLocked)return a.keyCode!==q&&a.preventDefault(),void 0;switch(a.keyCode){case e:if(b.isCmdDown)return b.selectAll(),void 0;break;case g:return b.blur(),void 0;case k:if(!b.isOpen&&b.hasOptions)b.open();else if(b.$activeOption){b.ignoreHover=!0;var c=b.getAdjacentOption(b.$activeOption,1);c.length&&b.setActiveOption(c,!0,!0)}return a.preventDefault(),void 0;case i:if(b.$activeOption){b.ignoreHover=!0;var d=b.getAdjacentOption(b.$activeOption,-1);d.length&&b.setActiveOption(d,!0,!0)}return a.preventDefault(),void 0;case f:return b.$activeOption&&b.onOptionSelect({currentTarget:b.$activeOption}),a.preventDefault(),void 0;case h:return b.advanceSelection(-1,a),void 0;case j:return b.advanceSelection(1,a),void 0;case q:return b.settings.create&&$.trim(b.$control_input.val()).length&&(b.createItem(),a.preventDefault()),void 0;case l:case m:return b.deleteSelection(a),void 0}return b.isFull()||b.isInputHidden?(a.preventDefault(),void 0):void 0},onKeyUp:function(a){var b=this;if(b.isLocked)return a&&a.preventDefault();var c=b.$control_input.val()||"";b.lastValue!==c&&(b.lastValue=c,b.onSearchChange(c),b.refreshOptions(),b.trigger("type",c))},onSearchChange:function(a){var b=this,c=b.settings.load;c&&(b.loadedSearches.hasOwnProperty(a)||(b.loadedSearches[a]=!0,b.load(function(d){c.apply(b,[a,d])})))},onFocus:function(a){var b=this;return b.isInputFocused=!0,b.isFocused=!0,b.isDisabled?(b.blur(),a.preventDefault(),!1):(b.ignoreFocus||("focus"===b.settings.preload&&b.onSearchChange(""),b.showInput(),b.setActiveItem(null),b.refreshOptions(!!b.settings.openOnFocus),b.refreshClasses()),void 0)},onBlur:function(){var a=this;a.isInputFocused=!1,a.ignoreFocus||(a.close(),a.setTextboxValue(""),a.setActiveItem(null),a.setActiveOption(null),a.setCaret(a.items.length),a.isFocused=!1,a.refreshClasses())},onOptionHover:function(a){this.ignoreHover||this.setActiveOption(a.currentTarget,!1)},onOptionSelect:function(a){var b,c,d=this;a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),d.focus(!1),c=$(a.currentTarget),c.hasClass("create")?d.createItem():(b=c.attr("data-value"),b&&(d.setTextboxValue(""),d.addItem(b),!d.settings.hideSelected&&a.type&&/mouse/.test(a.type)&&d.setActiveOption(d.getOption(b))))},onItemSelect:function(a){var b=this;"multi"===b.settings.mode&&(a.preventDefault(),b.setActiveItem(a.currentTarget,a),b.focus(!1),b.hideInput())},load:function(a){var b=this,c=b.$wrapper.addClass("loading");b.loading++,a.apply(b,[function(a){b.loading=Math.max(b.loading-1,0),a&&a.length&&(b.addOption(a),b.refreshOptions(!1),b.isInputFocused&&b.open()),b.loading||c.removeClass("loading"),b.trigger("load",a)}])},setTextboxValue:function(a){this.$control_input.val(a).triggerHandler("update"),this.lastValue=a},getValue:function(){return this.tagType===r&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(a){C(this,["change"],function(){this.clear();for(var b=$.isArray(a)?a:[a],c=0,d=b.length;d>c;c++)this.addItem(b[c])})},setActiveItem:function(a,b){var c,d,e,f,g,h,i,j,k=this;if(a=$(a),!a.length)return $(k.$activeItems).removeClass("active"),k.$activeItems=[],k.isFocused=k.isInputFocused,void 0;if(c=b&&b.type.toLowerCase(),"mousedown"===c&&k.isShiftDown&&k.$activeItems.length){for(j=k.$control.children(".active:last"),f=Array.prototype.indexOf.apply(k.$control[0].childNodes,[j[0]]),g=Array.prototype.indexOf.apply(k.$control[0].childNodes,[a[0]]),f>g&&(i=f,f=g,g=i),d=f;g>=d;d++)h=k.$control[0].childNodes[d],-1===k.$activeItems.indexOf(h)&&($(h).addClass("active"),k.$activeItems.push(h));b.preventDefault()}else"mousedown"===c&&k.isCtrlDown||"keydown"===c&&this.isShiftDown?a.hasClass("active")?(e=k.$activeItems.indexOf(a[0]),k.$activeItems.splice(e,1),a.removeClass("active")):k.$activeItems.push(a.addClass("active")[0]):($(k.$activeItems).removeClass("active"),k.$activeItems=[a.addClass("active")[0]]);k.isFocused=!!k.$activeItems.length||k.isInputFocused},setActiveOption:function(a,b,c){var d,e,f,g,h,i=this;i.$activeOption&&i.$activeOption.removeClass("active"),i.$activeOption=null,a=$(a),a.length&&(i.$activeOption=a.addClass("active"),(b||!u(b))&&(d=i.$dropdown_content.height(),e=i.$activeOption.outerHeight(!0),b=i.$dropdown_content.scrollTop()||0,f=i.$activeOption.offset().top-i.$dropdown_content.offset().top+b,g=f,h=f-d+e,f+e>d-b?i.$dropdown_content.stop().animate({scrollTop:h},c?i.settings.scrollDuration:0):b>f&&i.$dropdown_content.stop().animate({scrollTop:g},c?i.settings.scrollDuration:0)))},selectAll:function(){this.$activeItems=Array.prototype.slice.apply(this.$control.children(":not(input)").addClass("active")),this.isFocused=!0,this.$activeItems.length&&this.hideInput()},hideInput:function(){var a=this;a.close(),a.setTextboxValue(""),a.$control_input.css({opacity:0,position:"absolute",left:-1e4}),a.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(a){var b=this;b.isDisabled||(b.ignoreFocus=!0,b.$control_input[0].focus(),b.isInputFocused=!0,window.setTimeout(function(){b.ignoreFocus=!1,a&&b.onFocus()},0))},blur:function(){this.$control_input.trigger("blur")},search:function(a){var b,c,d,e=this,f=e.settings;if(f.score&&(d=e.settings.score.apply(this,[a]),"function"!=typeof d))throw new Error('Selectize "score" setting must be a function that returns a function');if(a!==e.lastQuery?(e.lastQuery=a,c=e.sifter.search(a,{score:d,fields:f.searchField,sort:f.sortField,direction:f.sortDirection}),e.currentResults=c):c=$.extend(!0,{},e.currentResults),f.hideSelected)for(b=c.items.length-1;b>=0;b--)-1!==e.items.indexOf(v(c.items[b].id))&&c.items.splice(b,1);return c},refreshOptions:function(a){"undefined"==typeof a&&(a=!0);var c,d,e,f,g,h,i,j,k,l,m,n=this,o=n.$control_input.val(),p=n.search(o),q=n.$dropdown_content;if(d=p.items.length,"number"==typeof n.settings.maxOptions&&(d=Math.min(d,n.settings.maxOptions)),e={},n.settings.optgroupOrder)for(f=n.settings.optgroupOrder,c=0;cc;c++)g=n.options[p.items[c].id],h=g[n.settings.optgroupField]||"",n.optgroups.hasOwnProperty(h)||(h=""),e.hasOwnProperty(h)||(e[h]=[],f.push(h)),e[h].push(n.render("option",g));for(i=[],c=0,d=f.length;d>c;c++)h=f[c],n.optgroups.hasOwnProperty(h)&&e[h].length?(j=n.render("optgroup_header",n.optgroups[h])||"",j+=e[h].join(""),i.push(n.render("optgroup",$.extend({},n.optgroups[h],{html:j})))):i.push(e[h].join(""));if(q.html(i.join("")),n.settings.highlight&&p.query.length&&p.tokens.length)for(c=0,d=p.tokens.length;d>c;c++)b(q,p.tokens[c].regex);if(!n.settings.hideSelected)for(c=0,d=n.items.length;d>c;c++)n.getOption(n.items[c]).addClass("selected");k=n.settings.create&&p.query.length,k&&(q.prepend(n.render("option_create",{input:o})),m=$(q[0].childNodes[0])),n.hasOptions=p.items.length>0||k,n.hasOptions?(l=p.items.length>0?m?n.getAdjacentOption(m,1):q.find("[data-selectable]").first():m,n.setActiveOption(l),a&&!n.isOpen&&n.open()):(n.setActiveOption(null),a&&n.isOpen&&n.close())},addOption:function(a,b){var c,d,e=this;if($.isArray(a))for(c=0,d=a.length;d>c;c++)e.addOption(a[c][e.settings.valueField],a[c]);else a=v(a),e.options.hasOwnProperty(a)||(e.userOptions[a]=!0,e.options[a]=b,e.lastQuery=null,e.trigger("option_add",a,b))},addOptionGroup:function(a,b){this.optgroups[a]=b,this.trigger("optgroup_add",value,b)},updateOption:function(a,b){var c,d,e,f,g,h,i=this;if(a=v(a),e=v(b[i.settings.valueField]),i.options.hasOwnProperty(a)){if(!e)throw new Error("Value must be set in option data");e!==a&&(delete i.options[a],f=i.items.indexOf(a),-1!==f&&i.items.splice(f,1,e)),i.options[e]=b,g=i.renderCache.item,h=i.renderCache.option,u(g)&&(delete g[a],delete g[e]),u(h)&&(delete h[a],delete h[e]),-1!==i.items.indexOf(e)&&(c=i.getItem(a),d=$(i.render("item",b)),c.hasClass("active")&&d.addClass("active"),c.replaceWith(d)),i.isOpen&&i.refreshOptions(!1)}},removeOption:function(a){var b=this;a=v(a),delete b.userOptions[a],delete b.options[a],b.lastQuery=null,b.trigger("option_remove",a),b.removeItem(a)},clearOptions:function(){var a=this;a.loadedSearches={},a.userOptions={},a.options={},a.lastQuery=null,a.trigger("option_clear"),a.clear()},getOption:function(a){return a=v(a),a?this.$dropdown_content.find("[data-selectable]").filter('[data-value="'+x(a)+'"]:first'):$()},getAdjacentOption:function(a,b){var c=this.$dropdown.find("[data-selectable]"),d=c.index(a)+b;return d>=0&&d=f.settings.maxItems?f.close():f.positionDropdown(),f.isFocused&&window.setTimeout(function(){"single"===g?(f.blur(),f.focus(!1),f.hideInput()):f.focus(!1)},0),f.updatePlaceholder(),f.trigger("item_add",a,b),f.updateOriginalInput()))})},removeItem:function(a){var b,c,d,e=this;b="object"==typeof a?a:e.getItem(a),a=v(b.attr("data-value")),c=e.items.indexOf(a),-1!==c&&(b.remove(),b.hasClass("active")&&(d=e.$activeItems.indexOf(b[0]),e.$activeItems.splice(d,1)),e.items.splice(c,1),e.lastQuery=null,!e.settings.persist&&e.userOptions.hasOwnProperty(a)&&e.removeOption(a),c0),this.$control_input.data("grow",!b&&!c)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(){var a,b,c,d=this;if("select"===d.$input[0].tagName.toLowerCase()){for(c=[],a=0,b=d.items.length;b>a;a++)c.push('');c.length||this.$input.attr("multiple")||c.push(''),d.$input.html(c.join(""))}else d.$input.val(d.getValue());d.$input.trigger("change"),d.isSetup&&d.trigger("change",d.$input.val())},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update")}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(!0),a.isOpen=!0,a.refreshClasses(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",this.$dropdown))},close:function(){var a=this;a.isOpen&&(a.$dropdown.hide(),a.setActiveOption(null),a.isOpen=!1,a.refreshClasses(),a.trigger("dropdown_close",a.$dropdown))},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a.outerWidth(),top:b.top,left:b.left})},clear:function(){var a=this;a.items.length&&(a.$control.children(":not(input)").remove(),a.items=[],a.setCaret(0),a.updatePlaceholder(),a.updateOriginalInput(),a.refreshClasses(),a.showInput(),a.trigger("clear"))},insertAtCaret:function(a){var b=Math.min(this.caretPos,this.items.length);0===b?this.$control.prepend(a):$(this.$control[0].childNodes[b]).before(a),this.setCaret(b+1)},deleteSelection:function(a){var b,c,d,e,f,g,h,i,j,k=this;if(d=a&&a.keyCode===l?-1:1,e=E(k.$control_input[0]),k.$activeOption&&!k.settings.hideSelected&&(h=k.getAdjacentOption(k.$activeOption,-1).attr("data-value")),f=[],k.$activeItems.length){for(j=k.$control.children(".active:"+(d>0?"last":"first")),g=k.$control.children(":not(input)").index(j),d>0&&g++,b=0,c=k.$activeItems.length;c>b;b++)f.push($(k.$activeItems[b]).attr("data-value"));a&&(a.preventDefault(),a.stopPropagation())}else(k.isFocused||"single"===k.settings.mode)&&k.items.length&&(0>d&&0===e.start&&0===e.length?f.push(k.items[k.caretPos-1]):d>0&&e.start===k.$control_input.val().length&&f.push(k.items[k.caretPos]));if(!f.length||"function"==typeof k.settings.onDelete&&k.settings.onDelete(f)===!1)return!1;for("undefined"!=typeof g&&k.setCaret(g);f.length;)k.removeItem(f.pop());return k.showInput(),k.refreshOptions(!0),h&&(i=k.getOption(h),i.length&&k.setActiveOption(i)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h,i=this;0!==a&&(c=a>0?"last":"first",d=E(i.$control_input[0]),i.isInputFocused&&!i.isInputHidden?(f=i.$control_input.val().length,g=0>a?0===d.start&&0===d.length:d.start===f,g&&!f&&i.advanceCaret(a,b)):(h=i.$control.children(".active:"+c),h.length&&(e=i.$control.children(":not(input)").index(h),i.setActiveItem(null),i.setCaret(a>0?e+1:e),i.showInput())))},advanceCaret:function(a,b){if(0!==a){var c=this,d=a>0?"next":"prev";if(c.isShiftDown){var e=c.$control_input[d]();e.length&&(c.hideInput(),c.setActiveItem(e),b&&b.preventDefault())}else c.setCaret(c.caretPos+a)}},setCaret:function(a){var b=this;a="single"===b.settings.mode?b.items.length:Math.max(0,Math.min(b.items.length,a));var c,d,e,f;for(e=b.$control.children(":not(input)"),c=0,d=e.length;d>c;c++)f=$(e[c]).detach(),a>c?b.$control_input.before(f):b.$control.append(f);b.caretPos=a},lock:function(){this.close(),this.isLocked=!0,this.refreshClasses()},unlock:function(){this.isLocked=!1,this.refreshClasses()},disable:function(){var a=this;a.$input.prop("disabled",!0),a.isDisabled=!0,a.lock()},enable:function(){var a=this;a.$input.prop("disabled",!1),a.isDisabled=!1,a.unlock()},destroy:function(){var a=this,b=a.eventNS;a.off(),a.$wrapper.remove(),a.$dropdown.remove(),a.$input.show(),$(window).off(b),$(document).off(b),$(document.body).off(b),delete a.$input[0].selectize},render:function(a,b){var c,d,e,f="",g=!1,h=this,i=/^[\t ]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;if(("option"===a||"item"===a)&&(c=v(b[h.settings.valueField]),g=!!c),g&&(u(h.renderCache[a])||(h.renderCache[a]={}),h.renderCache[a].hasOwnProperty(c)))return h.renderCache[a][c];if(h.settings.render&&"function"==typeof h.settings.render[a])f=h.settings.render[a].apply(this,[b,w]);else switch(e=b[h.settings.labelField],a){case"optgroup":f='
'+b.html+"
";break;case"optgroup_header":e=b[h.settings.optgroupLabelField],f='
'+w(e)+"
";break;case"option":f='
'+w(e)+"
";break;case"item":f='
'+w(e)+"
";break;case"option_create":f='
Add '+w(b.input)+"
"}return("option"===a||"option_create"===a)&&(f=f.replace(i,"<$1 data-selectable")),"optgroup"===a&&(d=b[h.settings.optgroupValueField]||"",f=f.replace(i,'<$1 data-group="'+w(d)+'"')),("option"===a||"item"===a)&&(f=f.replace(i,'<$1 data-value="'+w(c||"")+'"')),g&&(h.renderCache[a][c]=f),f}}),I.count=0,I.defaults={plugins:[],delimiter:",",persist:!0,diacritics:!0,create:!1,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,preload:!1,scrollDuration:60,loadThrottle:300,dataAttr:"data-data",optgroupField:"optgroup",sortField:null,sortDirection:"asc",valueField:"value",labelField:"text",optgroupLabelField:"label",optgroupValueField:"value",optgroupOrder:null,searchField:["text"],mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,render:{}},$.fn.selectize=function(a){a=a||{};var b=$.fn.selectize.defaults,c=a.dataAttr||b.dataAttr,d=function(c,d){var e,f,g,h=$.trim(c.val()||"");if(h.length){for(g=h.split(a.delimiter||b.delimiter),e=0,f=g.length;f>e;e++)d.options[g[e]]={text:g[e],value:g[e]};d.items=g}},e=function(a,b){var d,e,f,g;b.maxItems=a.attr("multiple")?null:1;var h=function(a){var b=c&&a.attr(c);return"string"==typeof b&&b.length?JSON.parse(b):null},i=function(a,c){a=$(a);var d=a.attr("value")||"";d.length&&(b.options[d]=h(a)||{text:a.text(),value:d,optgroup:c},a.is(":selected")&&b.items.push(d))},j=function(a){var c,d,e=$("option",a);a=$(a);var f=a.attr("label");for(f&&f.length&&(b.optgroups[f]=h(a)||{label:f}),c=0,d=e.length;d>c;c++)i(e[c],f)};for(g=a.children(),d=0,e=g.length;e>d;d++)f=g[d].tagName.toLowerCase(),"optgroup"===f?j(g[d]):"option"===f&&i(g[d])};return this.each(function(){var c,f=$(this),g=f[0].tagName.toLowerCase(),h={placeholder:f.children('option[value=""]').text()||f.attr("placeholder"),options:{},optgroups:{},items:[]};"select"===g?e(f,h):d(f,h),c=new I(f,$.extend(!0,{},b,h,a)),f.data("selectize",c),f.addClass("selectized")})},$.fn.selectize.defaults=I.defaults,I.registerPlugin("drag_drop",function(){if(!$.fn.sortable)throw new Error('The "drag_drop" Selectize plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var a=this;this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments);var c=this.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,start:function(a,b){b.placeholder.css("width",b.helper.css("width")),c.css({overflow:"visible"})},stop:function(){c.css({overflow:"hidden"});var b=this.$activeItems?this.$activeItems.slice():null,d=[];c.children("[data-value]").each(function(){d.push($(this).attr("data-value"))}),a.setValue(d),a.setActiveItem(b)}})}}()}}),I.registerPlugin("dropdown_header",function(a){var b=this;a=$.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(a){return'
'+'
'+''+a.title+""+'×'+"
"+"
"}},a),b.setup=function(){var c=b.setup;return function(){c.apply(b,arguments),b.$dropdown_header=$(a.html(a)),b.$dropdown.prepend(b.$dropdown_header)}}()}),I.registerPlugin("optgroup_columns",function(a){var b=this;a=$.extend({equalizeWidth:!0,equalizeHeight:!0},a),this.getAdjacentOption=function(a,b){var c=a.closest("[data-group]").find("[data-selectable]"),d=c.index(a)+b;return d>=0&&dc;c++)e=Math.max(e,i.eq(c).height());i.css({height:e})}a.equalizeWidth&&(h=b.$dropdown_content.innerWidth(),f=Math.round(h/d),i.css({width:f}),d>1&&(g=h-f*(d-1),i.eq(d-1).css({width:g})))}};(a.equalizeHeight||a.equalizeWidth)&&(y.after(this,"positionDropdown",c),y.after(this,"refreshOptions",c))}),I.registerPlugin("remove_button",function(){var a=this;this.settings.render.item=function(b){var c=b[a.settings.labelField];return'
'+c+' ×
'},this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments),this.$control.on("click",".remove",function(b){b.preventDefault();var c=$(b.target).parent();a.setActiveItem(c),a.deleteSelection()&&a.setCaret(a.items.length)})}}()}),I.registerPlugin("restore_on_backspace",function(a){var b=this;a.text=a.text||function(a){return a[this.settings.labelField]},this.onKeyDown=function(){var c=b.onKeyDown;return function(b){var d,e;return b.keyCode===l&&""===this.$control_input.val()&&!this.$activeItems.length&&(d=this.caretPos-1,d>=0&&d=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e);h.splitText(f[0].length);var i=h.cloneNode(!0);g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName))for(var j=0;jb;b++)this.loadPlugin(a[b]);else if(a){this.pluginSettings=$.extend({},a);for(d in a)a.hasOwnProperty(d)&&this.loadPlugin(d)}},a.prototype.loadPlugin=function(c){var d,e,f;if(-1===this.plugins.indexOf(c)){if(!a.plugins.hasOwnProperty(c))throw new Error(b+' unable to find "'+c+'" plugin');for(d=a.plugins[c],this.plugins.push(c),e=0,f=d.dependencies.length;f>e;e++)this.loadPlugin(d.dependencies[e]);d.fn.apply(this,[this.pluginSettings[c]||{}])}},a.registerPlugin=function(b){var c=arguments;a.plugins[b]={name:b,fn:c[c.length-1],dependencies:3===c.length?c[1]:[]}}};var u=function(a){return"undefined"!=typeof a},v=function(a){return"undefined"==typeof a||null===a?"":"boolean"==typeof a?a?"1":"0":a+""},w=function(a){return(a+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},x=function(a){return a.replace(/(['"])/g,"\\$1")},y={};y.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},y.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var z=function(a,b){if(!$.isArray(b))return b;var c,d,e={};for(c=0,d=b.length;d>c;c++)b[c].hasOwnProperty(a)&&(e[b[c][a]]=b[c]);return e},A=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},B=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},C=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];return-1===b.indexOf(c)?e.apply(a,arguments):(f[c]=arguments,void 0)},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},D=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},E=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},F=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;e>d;d++)f[c[d]]=a.css(c[d]);else f=a.css();b.css(f)},G=function(a,b){var c=$("").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"nowrap"}).text(a).appendTo("body");F(b,c,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]);var d=c.width();return c.remove(),d},H=function(a){var b=function(b){var c,d,e,f,g,h,i,j;b=b||window.event||{},b.metaKey||b.altKey||a.data("grow")!==!1&&(c=a.val(),b.type&&"keydown"===b.type.toLowerCase()&&(d=b.keyCode,e=d>=97&&122>=d||d>=65&&90>=d||d>=48&&57>=d||32===d,d===m||d===l?(j=E(a[0]),j.length?c=c.substring(0,j.start)+c.substring(j.start+j.length):d===l&&j.start?c=c.substring(0,j.start-1)+c.substring(j.start+1):d===m&&"undefined"!=typeof j.start&&(c=c.substring(0,j.start)+c.substring(j.start+1))):e&&(h=b.shiftKey,i=String.fromCharCode(b.keyCode),i=h?i.toUpperCase():i.toLowerCase(),c+=i)),f=a.attr("placeholder")||"",!c.length&&f.length&&(c=f),g=G(c,a)+4,g!==a.width()&&(a.width(g),a.triggerHandler("resize")))};a.on("keydown keyup update blur",b),b()},I=function(b,c){var d=this;b[0].selectize=d,$.extend(d,{settings:c,$input:b,tagType:"select"===b[0].tagName.toLowerCase()?r:s,eventNS:".selectize"+ ++I.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isLocked:!1,isFocused:!1,isInputFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:B(d.onSearchChange,c.loadThrottle)}),d.sifter=new a(this.options,{diacritics:c.diacritics}),$.extend(d.options,z(c.valueField,c.options)),delete d.settings.options,$.extend(d.optgroups,z(c.optgroupValueField,c.optgroups)),delete d.settings.optgroups,d.settings.mode=d.settings.mode||(1===d.settings.maxItems?"single":"multi"),"boolean"!=typeof d.settings.hideSelected&&(d.settings.hideSelected="multi"===d.settings.mode),d.loadPlugins(d.settings.plugins),d.setupCallbacks(),d.setup()};return c.mixin(I),t.mixin(I,"Selectize"),$.extend(I.prototype,{setup:function(){var a,b,c,e,f,g,h,i,j,k,l=this,m=l.settings,q=l.eventNS,s=$(window),t=$(document);h=l.settings.mode,i=l.$input.attr("tabindex")||"",j=l.$input.attr("class")||"",a=$("
").addClass(m.wrapperClass).addClass(j).addClass(h),b=$("
").addClass(m.inputClass).addClass("items").appendTo(a),c=$('').appendTo(b).attr("tabindex",i),g=$(m.dropdownParent||a),e=$("
").addClass(m.dropdownClass).addClass(j).addClass(h).hide().appendTo(g),f=$("
").addClass(m.dropdownContentClass).appendTo(e),a.css({width:l.$input[0].style.width,display:l.$input.css("display")}),l.plugins.length&&(k="plugin-"+l.plugins.join(" plugin-"),a.addClass(k),e.addClass(k)),(null===m.maxItems||m.maxItems>1)&&l.tagType===r&&l.$input.attr("multiple","multiple"),l.settings.placeholder&&c.attr("placeholder",m.placeholder),l.$wrapper=a,l.$control=b,l.$control_input=c,l.$dropdown=e,l.$dropdown_content=f,b.on("mousedown",function(a){a.isDefaultPrevented()||window.setTimeout(function(){l.focus(!0)},0)}),b.on("click",function(){l.isInputFocused||l.focus(!0)}),e.on("mouseenter","[data-selectable]",function(){return l.onOptionHover.apply(l,arguments)}),e.on("mousedown","[data-selectable]",function(){return l.onOptionSelect.apply(l,arguments)}),D(b,"mousedown","*:not(input)",function(){return l.onItemSelect.apply(l,arguments)}),H(c),c.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return l.onKeyDown.apply(l,arguments)},keyup:function(){return l.onKeyUp.apply(l,arguments)},keypress:function(){return l.onKeyPress.apply(l,arguments)},resize:function(){l.positionDropdown.apply(l,[])},blur:function(){return l.onBlur.apply(l,arguments)},focus:function(){return l.onFocus.apply(l,arguments)}}),t.on("keydown"+q,function(a){l.isCmdDown=a[d?"metaKey":"ctrlKey"],l.isCtrlDown=a[d?"altKey":"ctrlKey"],l.isShiftDown=a.shiftKey}),t.on("keyup"+q,function(a){a.keyCode===p&&(l.isCtrlDown=!1),a.keyCode===n&&(l.isShiftDown=!1),a.keyCode===o&&(l.isCmdDown=!1)}),t.on("mousedown"+q,function(a){if(l.isFocused){if(a.target===l.$dropdown[0]||a.target.parentNode===l.$dropdown[0]){var b=l.ignoreFocus;return l.ignoreFocus=!0,window.setTimeout(function(){l.ignoreFocus=b,l.focus(!1)},0),void 0}l.$control.has(a.target).length||a.target===l.$control[0]||l.blur()}}),s.on(["scroll"+q,"resize"+q].join(" "),function(){l.isOpen&&l.positionDropdown.apply(l,arguments)}),s.on("mousemove"+q,function(){l.ignoreHover=!1}),l.$input.attr("tabindex",-1).hide().after(l.$wrapper),$.isArray(m.items)&&(l.setValue(m.items),delete m.items),l.updateOriginalInput(),l.refreshItems(),l.refreshClasses(),l.updatePlaceholder(),l.isSetup=!0,l.$input.is(":disabled")&&l.disable(),l.trigger("initialize"),m.preload&&l.onSearchChange("")},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]],b&&this.on(a,b))},triggerCallback:function(a){var b;"function"==typeof this.settings[a]&&(b=Array.prototype.slice.apply(arguments,[1]),this.settings[a].apply(this,b))},onKeyPress:function(a){if(this.isLocked)return a&&a.preventDefault();var b=String.fromCharCode(a.keyCode||a.which);return this.settings.create&&b===this.settings.delimiter?(this.createItem(),a.preventDefault(),!1):void 0},onKeyDown:function(a){a.target===this.$control_input[0];var b=this;if(b.isLocked)return a.keyCode!==q&&a.preventDefault(),void 0;switch(a.keyCode){case e:if(b.isCmdDown)return b.selectAll(),void 0;break;case g:return b.blur(),void 0;case k:if(!b.isOpen&&b.hasOptions)b.open();else if(b.$activeOption){b.ignoreHover=!0;var c=b.getAdjacentOption(b.$activeOption,1);c.length&&b.setActiveOption(c,!0,!0)}return a.preventDefault(),void 0;case i:if(b.$activeOption){b.ignoreHover=!0;var d=b.getAdjacentOption(b.$activeOption,-1);d.length&&b.setActiveOption(d,!0,!0)}return a.preventDefault(),void 0;case f:return b.$activeOption&&b.onOptionSelect({currentTarget:b.$activeOption}),a.preventDefault(),void 0;case h:return b.advanceSelection(-1,a),void 0;case j:return b.advanceSelection(1,a),void 0;case q:return b.settings.create&&$.trim(b.$control_input.val()).length&&(b.createItem(),a.preventDefault()),void 0;case l:case m:return b.deleteSelection(a),void 0}return b.isFull()||b.isInputHidden?(a.preventDefault(),void 0):void 0},onKeyUp:function(a){var b=this;if(b.isLocked)return a&&a.preventDefault();var c=b.$control_input.val()||"";b.lastValue!==c&&(b.lastValue=c,b.onSearchChange(c),b.refreshOptions(),b.trigger("type",c))},onSearchChange:function(a){var b=this,c=b.settings.load;c&&(b.loadedSearches.hasOwnProperty(a)||(b.loadedSearches[a]=!0,b.load(function(d){c.apply(b,[a,d])})))},onFocus:function(a){var b=this;return b.isInputFocused=!0,b.isFocused=!0,b.isDisabled?(b.blur(),a.preventDefault(),!1):(b.ignoreFocus||("focus"===b.settings.preload&&b.onSearchChange(""),b.showInput(),b.setActiveItem(null),b.refreshOptions(!!b.settings.openOnFocus),b.refreshClasses()),void 0)},onBlur:function(){var a=this;a.isInputFocused=!1,a.ignoreFocus||(a.close(),a.setTextboxValue(""),a.setActiveItem(null),a.setActiveOption(null),a.setCaret(a.items.length),a.isFocused=!1,a.refreshClasses())},onOptionHover:function(a){this.ignoreHover||this.setActiveOption(a.currentTarget,!1)},onOptionSelect:function(a){var b,c,d=this;a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),d.focus(!1),c=$(a.currentTarget),c.hasClass("create")?d.createItem():(b=c.attr("data-value"),b&&(d.setTextboxValue(""),d.addItem(b),!d.settings.hideSelected&&a.type&&/mouse/.test(a.type)&&d.setActiveOption(d.getOption(b))))},onItemSelect:function(a){var b=this;"multi"===b.settings.mode&&(a.preventDefault(),b.setActiveItem(a.currentTarget,a),b.focus(!1),b.hideInput())},load:function(a){var b=this,c=b.$wrapper.addClass("loading");b.loading++,a.apply(b,[function(a){b.loading=Math.max(b.loading-1,0),a&&a.length&&(b.addOption(a),b.refreshOptions(!1),b.isInputFocused&&b.open()),b.loading||c.removeClass("loading"),b.trigger("load",a)}])},setTextboxValue:function(a){this.$control_input.val(a).triggerHandler("update"),this.lastValue=a},getValue:function(){return this.tagType===r&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(a){C(this,["change"],function(){this.clear();for(var b=$.isArray(a)?a:[a],c=0,d=b.length;d>c;c++)this.addItem(b[c])})},setActiveItem:function(a,b){var c,d,e,f,g,h,i,j,k=this;if(a=$(a),!a.length)return $(k.$activeItems).removeClass("active"),k.$activeItems=[],k.isFocused=k.isInputFocused,void 0;if(c=b&&b.type.toLowerCase(),"mousedown"===c&&k.isShiftDown&&k.$activeItems.length){for(j=k.$control.children(".active:last"),f=Array.prototype.indexOf.apply(k.$control[0].childNodes,[j[0]]),g=Array.prototype.indexOf.apply(k.$control[0].childNodes,[a[0]]),f>g&&(i=f,f=g,g=i),d=f;g>=d;d++)h=k.$control[0].childNodes[d],-1===k.$activeItems.indexOf(h)&&($(h).addClass("active"),k.$activeItems.push(h));b.preventDefault()}else"mousedown"===c&&k.isCtrlDown||"keydown"===c&&this.isShiftDown?a.hasClass("active")?(e=k.$activeItems.indexOf(a[0]),k.$activeItems.splice(e,1),a.removeClass("active")):k.$activeItems.push(a.addClass("active")[0]):($(k.$activeItems).removeClass("active"),k.$activeItems=[a.addClass("active")[0]]);k.isFocused=!!k.$activeItems.length||k.isInputFocused},setActiveOption:function(a,b,c){var d,e,f,g,h,i=this;i.$activeOption&&i.$activeOption.removeClass("active"),i.$activeOption=null,a=$(a),a.length&&(i.$activeOption=a.addClass("active"),(b||!u(b))&&(d=i.$dropdown_content.height(),e=i.$activeOption.outerHeight(!0),b=i.$dropdown_content.scrollTop()||0,f=i.$activeOption.offset().top-i.$dropdown_content.offset().top+b,g=f,h=f-d+e,f+e>d-b?i.$dropdown_content.stop().animate({scrollTop:h},c?i.settings.scrollDuration:0):b>f&&i.$dropdown_content.stop().animate({scrollTop:g},c?i.settings.scrollDuration:0)))},selectAll:function(){this.$activeItems=Array.prototype.slice.apply(this.$control.children(":not(input)").addClass("active")),this.isFocused=!0,this.$activeItems.length&&this.hideInput()},hideInput:function(){var a=this;a.close(),a.setTextboxValue(""),a.$control_input.css({opacity:0,position:"absolute",left:-1e4}),a.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(a){var b=this;b.isDisabled||(b.ignoreFocus=!0,b.$control_input[0].focus(),b.isInputFocused=!0,window.setTimeout(function(){b.ignoreFocus=!1,a&&b.onFocus()},0))},blur:function(){this.$control_input.trigger("blur")},search:function(a){var b,c,d,e=this,f=e.settings;if(f.score&&(d=e.settings.score.apply(this,[a]),"function"!=typeof d))throw new Error('Selectize "score" setting must be a function that returns a function');if(a!==e.lastQuery?(e.lastQuery=a,c=e.sifter.search(a,{score:d,fields:f.searchField,sort:f.sortField,direction:f.sortDirection}),e.currentResults=c):c=$.extend(!0,{},e.currentResults),f.hideSelected)for(b=c.items.length-1;b>=0;b--)-1!==e.items.indexOf(v(c.items[b].id))&&c.items.splice(b,1);return c},refreshOptions:function(a){"undefined"==typeof a&&(a=!0);var c,d,e,f,g,h,i,j,k,l,m,n=this,o=n.$control_input.val(),p=n.search(o),q=n.$dropdown_content;if(d=p.items.length,"number"==typeof n.settings.maxOptions&&(d=Math.min(d,n.settings.maxOptions)),e={},n.settings.optgroupOrder)for(f=n.settings.optgroupOrder,c=0;cc;c++)g=n.options[p.items[c].id],h=g[n.settings.optgroupField]||"",n.optgroups.hasOwnProperty(h)||(h=""),e.hasOwnProperty(h)||(e[h]=[],f.push(h)),e[h].push(n.render("option",g));for(i=[],c=0,d=f.length;d>c;c++)h=f[c],n.optgroups.hasOwnProperty(h)&&e[h].length?(j=n.render("optgroup_header",n.optgroups[h])||"",j+=e[h].join(""),i.push(n.render("optgroup",$.extend({},n.optgroups[h],{html:j})))):i.push(e[h].join(""));if(q.html(i.join("")),n.settings.highlight&&p.query.length&&p.tokens.length)for(c=0,d=p.tokens.length;d>c;c++)b(q,p.tokens[c].regex);if(!n.settings.hideSelected)for(c=0,d=n.items.length;d>c;c++)n.getOption(n.items[c]).addClass("selected");k=n.settings.create&&p.query.length,k&&(q.prepend(n.render("option_create",{input:o})),m=$(q[0].childNodes[0])),n.hasOptions=p.items.length>0||k,n.hasOptions?(l=p.items.length>0?m?n.getAdjacentOption(m,1):q.find("[data-selectable]").first():m,n.setActiveOption(l),a&&!n.isOpen&&n.open()):(n.setActiveOption(null),a&&n.isOpen&&n.close())},addOption:function(a,b){var c,d,e=this;if($.isArray(a))for(c=0,d=a.length;d>c;c++)e.addOption(a[c][e.settings.valueField],a[c]);else a=v(a),e.options.hasOwnProperty(a)||(e.userOptions[a]=!0,e.options[a]=b,e.lastQuery=null,e.trigger("option_add",a,b))},addOptionGroup:function(a,b){this.optgroups[a]=b,this.trigger("optgroup_add",value,b)},updateOption:function(a,b){var c,d,e,f,g,h,i=this;if(a=v(a),e=v(b[i.settings.valueField]),i.options.hasOwnProperty(a)){if(!e)throw new Error("Value must be set in option data");e!==a&&(delete i.options[a],f=i.items.indexOf(a),-1!==f&&i.items.splice(f,1,e)),i.options[e]=b,g=i.renderCache.item,h=i.renderCache.option,u(g)&&(delete g[a],delete g[e]),u(h)&&(delete h[a],delete h[e]),-1!==i.items.indexOf(e)&&(c=i.getItem(a),d=$(i.render("item",b)),c.hasClass("active")&&d.addClass("active"),c.replaceWith(d)),i.isOpen&&i.refreshOptions(!1)}},removeOption:function(a){var b=this;a=v(a),delete b.userOptions[a],delete b.options[a],b.lastQuery=null,b.trigger("option_remove",a),b.removeItem(a)},clearOptions:function(){var a=this;a.loadedSearches={},a.userOptions={},a.options={},a.lastQuery=null,a.trigger("option_clear"),a.clear()},getOption:function(a){return a=v(a),a?this.$dropdown_content.find("[data-selectable]").filter('[data-value="'+x(a)+'"]:first'):$()},getAdjacentOption:function(a,b){var c=this.$dropdown.find("[data-selectable]"),d=c.index(a)+b;return d>=0&&d=f.settings.maxItems?f.close():f.positionDropdown(),f.isFocused&&window.setTimeout(function(){"single"===g?(f.blur(),f.focus(!1),f.hideInput()):f.focus(!1)},0),f.updatePlaceholder(),f.trigger("item_add",a,b),f.updateOriginalInput()))})},removeItem:function(a){var b,c,d,e=this;b="object"==typeof a?a:e.getItem(a),a=v(b.attr("data-value")),c=e.items.indexOf(a),-1!==c&&(b.remove(),b.hasClass("active")&&(d=e.$activeItems.indexOf(b[0]),e.$activeItems.splice(d,1)),e.items.splice(c,1),e.lastQuery=null,!e.settings.persist&&e.userOptions.hasOwnProperty(a)&&e.removeOption(a),c0),this.$control_input.data("grow",!b&&!c)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(){var a,b,c,d=this;if("select"===d.$input[0].tagName.toLowerCase()){for(c=[],a=0,b=d.items.length;b>a;a++)c.push('');c.length||this.$input.attr("multiple")||c.push(''),d.$input.html(c.join(""))}else d.$input.val(d.getValue());d.$input.trigger("change"),d.isSetup&&d.trigger("change",d.$input.val())},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update")}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(!0),a.isOpen=!0,a.refreshClasses(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",this.$dropdown))},close:function(){var a=this;a.isOpen&&(a.$dropdown.hide(),a.setActiveOption(null),a.isOpen=!1,a.refreshClasses(),a.trigger("dropdown_close",a.$dropdown))},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a.outerWidth(),top:b.top,left:b.left})},clear:function(){var a=this;a.items.length&&(a.$control.children(":not(input)").remove(),a.items=[],a.setCaret(0),a.updatePlaceholder(),a.updateOriginalInput(),a.refreshClasses(),a.showInput(),a.trigger("clear"))},insertAtCaret:function(a){var b=Math.min(this.caretPos,this.items.length);0===b?this.$control.prepend(a):$(this.$control[0].childNodes[b]).before(a),this.setCaret(b+1)},deleteSelection:function(a){var b,c,d,e,f,g,h,i,j,k=this;if(d=a&&a.keyCode===l?-1:1,e=E(k.$control_input[0]),k.$activeOption&&!k.settings.hideSelected&&(h=k.getAdjacentOption(k.$activeOption,-1).attr("data-value")),f=[],k.$activeItems.length){for(j=k.$control.children(".active:"+(d>0?"last":"first")),g=k.$control.children(":not(input)").index(j),d>0&&g++,b=0,c=k.$activeItems.length;c>b;b++)f.push($(k.$activeItems[b]).attr("data-value"));a&&(a.preventDefault(),a.stopPropagation())}else(k.isFocused||"single"===k.settings.mode)&&k.items.length&&(0>d&&0===e.start&&0===e.length?f.push(k.items[k.caretPos-1]):d>0&&e.start===k.$control_input.val().length&&f.push(k.items[k.caretPos]));if(!f.length||"function"==typeof k.settings.onDelete&&k.settings.onDelete(f)===!1)return!1;for("undefined"!=typeof g&&k.setCaret(g);f.length;)k.removeItem(f.pop());return k.showInput(),k.refreshOptions(!0),h&&(i=k.getOption(h),i.length&&k.setActiveOption(i)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h,i=this;0!==a&&(c=a>0?"last":"first",d=E(i.$control_input[0]),i.isInputFocused&&!i.isInputHidden?(f=i.$control_input.val().length,g=0>a?0===d.start&&0===d.length:d.start===f,g&&!f&&i.advanceCaret(a,b)):(h=i.$control.children(".active:"+c),h.length&&(e=i.$control.children(":not(input)").index(h),i.setActiveItem(null),i.setCaret(a>0?e+1:e),i.showInput())))},advanceCaret:function(a,b){if(0!==a){var c=this,d=a>0?"next":"prev";if(c.isShiftDown){var e=c.$control_input[d]();e.length&&(c.hideInput(),c.setActiveItem(e),b&&b.preventDefault())}else c.setCaret(c.caretPos+a)}},setCaret:function(a){var b=this;a="single"===b.settings.mode?b.items.length:Math.max(0,Math.min(b.items.length,a));var c,d,e,f;for(e=b.$control.children(":not(input)"),c=0,d=e.length;d>c;c++)f=$(e[c]).detach(),a>c?b.$control_input.before(f):b.$control.append(f);b.caretPos=a},lock:function(){this.close(),this.isLocked=!0,this.refreshClasses()},unlock:function(){this.isLocked=!1,this.refreshClasses()},disable:function(){var a=this;a.$input.prop("disabled",!0),a.isDisabled=!0,a.lock()},enable:function(){var a=this;a.$input.prop("disabled",!1),a.isDisabled=!1,a.unlock()},destroy:function(){var a=this,b=a.eventNS;a.off(),a.$wrapper.remove(),a.$dropdown.remove(),a.$input.show(),$(window).off(b),$(document).off(b),$(document.body).off(b),delete a.$input[0].selectize},render:function(a,b){var c,d,e,f="",g=!1,h=this,i=/^[\t ]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;if(("option"===a||"item"===a)&&(c=v(b[h.settings.valueField]),g=!!c),g&&(u(h.renderCache[a])||(h.renderCache[a]={}),h.renderCache[a].hasOwnProperty(c)))return h.renderCache[a][c];if(h.settings.render&&"function"==typeof h.settings.render[a])f=h.settings.render[a].apply(this,[b,w]);else switch(e=b[h.settings.labelField],a){case"optgroup":f='
'+b.html+"
";break;case"optgroup_header":e=b[h.settings.optgroupLabelField],f='
'+w(e)+"
";break;case"option":f='
'+w(e)+"
";break;case"item":f='
'+w(e)+"
";break;case"option_create":f='
Add '+w(b.input)+"
"}return("option"===a||"option_create"===a)&&(f=f.replace(i,"<$1 data-selectable")),"optgroup"===a&&(d=b[h.settings.optgroupValueField]||"",f=f.replace(i,'<$1 data-group="'+w(d)+'"')),("option"===a||"item"===a)&&(f=f.replace(i,'<$1 data-value="'+w(c||"")+'"')),g&&(h.renderCache[a][c]=f),f}}),I.count=0,I.defaults={plugins:[],delimiter:",",persist:!0,diacritics:!0,create:!1,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,preload:!1,scrollDuration:60,loadThrottle:300,dataAttr:"data-data",optgroupField:"optgroup",sortField:null,sortDirection:"asc",valueField:"value",labelField:"text",optgroupLabelField:"label",optgroupValueField:"value",optgroupOrder:null,searchField:["text"],mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,render:{}},$.fn.selectize=function(a){a=a||{};var b=$.fn.selectize.defaults,c=a.dataAttr||b.dataAttr,d=function(c,d){var e,f,g,h=$.trim(c.val()||"");if(h.length){for(g=h.split(a.delimiter||b.delimiter),e=0,f=g.length;f>e;e++)d.options[g[e]]={text:g[e],value:g[e]};d.items=g}},e=function(a,b){var d,e,f,g;b.maxItems=a.attr("multiple")?null:1;var h=function(a){var b=c&&a.attr(c);return"string"==typeof b&&b.length?JSON.parse(b):null},i=function(a,c){a=$(a);var d=a.attr("value")||"";d.length&&(b.options[d]=h(a)||{text:a.text(),value:d,optgroup:c},a.is(":selected")&&b.items.push(d))},j=function(a){var c,d,e=$("option",a);a=$(a);var f=a.attr("label");for(f&&f.length&&(b.optgroups[f]=h(a)||{label:f}),c=0,d=e.length;d>c;c++)i(e[c],f)};for(g=a.children(),d=0,e=g.length;e>d;d++)f=g[d].tagName.toLowerCase(),"optgroup"===f?j(g[d]):"option"===f&&i(g[d])};return this.each(function(){var c,f=$(this),g=f[0].tagName.toLowerCase(),h={placeholder:f.children('option[value=""]').text()||f.attr("placeholder"),options:{},optgroups:{},items:[]};"select"===g?e(f,h):d(f,h),c=new I(f,$.extend(!0,{},b,h,a)),f.data("selectize",c),f.addClass("selectized")})},$.fn.selectize.defaults=I.defaults,I.registerPlugin("drag_drop",function(){if(!$.fn.sortable)throw new Error('The "drag_drop" Selectize plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var a=this;this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments);var c=this.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,start:function(a,b){b.placeholder.css("width",b.helper.css("width")),c.css({overflow:"visible"})},stop:function(){c.css({overflow:"hidden"});var b=this.$activeItems?this.$activeItems.slice():null,d=[];c.children("[data-value]").each(function(){d.push($(this).attr("data-value"))}),a.setValue(d),a.setActiveItem(b)}})}}()}}),I.registerPlugin("dropdown_header",function(a){var b=this;a=$.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(a){return'
'+'
'+''+a.title+""+'×'+"
"+"
"}},a),b.setup=function(){var c=b.setup;return function(){c.apply(b,arguments),b.$dropdown_header=$(a.html(a)),b.$dropdown.prepend(b.$dropdown_header)}}()}),I.registerPlugin("optgroup_columns",function(a){var b=this;a=$.extend({equalizeWidth:!0,equalizeHeight:!0},a),this.getAdjacentOption=function(a,b){var c=a.closest("[data-group]").find("[data-selectable]"),d=c.index(a)+b;return d>=0&&dc;c++)e=Math.max(e,i.eq(c).height());i.css({height:e})}a.equalizeWidth&&(h=b.$dropdown_content.innerWidth(),f=Math.round(h/d),i.css({width:f}),d>1&&(g=h-f*(d-1),i.eq(d-1).css({width:g})))}};(a.equalizeHeight||a.equalizeWidth)&&(y.after(this,"positionDropdown",c),y.after(this,"refreshOptions",c))}),I.registerPlugin("remove_button",function(){var a=this;this.settings.render.item=function(b){var c=b[a.settings.labelField];return'
'+c+' ×
'},this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments),this.$control.on("click",".remove",function(b){b.preventDefault();var c=$(b.target).parent();a.setActiveItem(c),a.deleteSelection()&&a.setCaret(a.items.length)})}}()}),I.registerPlugin("restore_on_backspace",function(a){var b=this;a.text=a.text||function(a){return a[this.settings.labelField]},this.onKeyDown=function(){var c=b.onKeyDown;return function(b){var d,e;return b.keyCode===l&&""===this.$control_input.val()&&!this.$activeItems.length&&(d=this.caretPos-1,d>=0&&d 1) && self.tagType === TAG_SELECT) { diff --git a/dist/js/standalone/selectize.min.js b/dist/js/standalone/selectize.min.js index 6d5e3a494..742cd862f 100644 --- a/dist/js/standalone/selectize.min.js +++ b/dist/js/standalone/selectize.min.js @@ -1,3 +1,3 @@ /*! selectize.js - v0.6.14 | https://github.com/brianreavis/selectize.js | Apache License (v2) */ -!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.Sifter=b()}(this,function(){var a=function(a,b){this.items=a,this.settings=b||{diacritics:!0}};a.prototype.tokenize=function(a){if(a=c(String(a||"").toLowerCase()),!a||!a.length)return[];var b,e,g,h,i=[],j=a.split(/ +/);for(b=0,e=j.length;e>b;b++){if(g=d(j[b]),this.settings.diacritics)for(h in f)f.hasOwnProperty(h)&&(g=g.replace(new RegExp(h,"g"),f[h]));i.push({string:j[b],regex:new RegExp(g,"i")})}return i},a.prototype.iterator=function(a,b){var c;c=e(a)?Array.prototype.forEach||function(a){for(var b=0,c=this.length;c>b;b++)a(this[b],b,this)}:function(a){for(var b in this)this.hasOwnProperty(b)&&a(this[b],b,this)},c.apply(a,[b])},a.prototype.getScoreFunction=function(a){var b=a.tokens,c=function(){return b.length?1===b.length?function(a){var c,d;return a=String(a||"").toLowerCase(),d=a.search(b[0].regex),-1===d?0:(c=b[0].string.length/a.length,0===d&&(c+=.5),c)}:function(a){var c,d,e,f;for(a=String(a||"").toLowerCase(),c=0,e=0,f=b.length;f>e;e++)d=a.search(b[e].regex),-1!==d&&(0===d&&(c+=.5),c+=b[e].string.length/a.length);return c/b.length}:function(){return 0}}(),d=function(){var b=a.options.fields;if(b&&b.length){if(1===b.length){var d=b[0];return function(a){return a.hasOwnProperty(d)?c(a[d]):0}}return function(a){for(var d=0,e=0,f=0,g=b.length;g>f;f++)a.hasOwnProperty(b[f])&&(e+=c(a[b[f]]),d++);return e/d}}return function(){return 0}}();return d},a.prototype.search=function(a,c){var d,f,g,h=this;return c=b({},c),a=String(a||"").toLowerCase(),f={options:c,query:a,tokens:h.tokenize(a),total:0,items:[]},e(c.fields)||(c.fields=[c.fields]),g=c.score||h.getScoreFunction(f),a.length?(h.iterator(h.items,function(a,b){d=g(a),d>0&&f.items.push({score:d,id:b})}),f.items.sort(function(a,b){return b.score-a.score})):(h.iterator(h.items,function(a,b){f.items.push({score:1,id:b})}),c.sort&&f.items.sort(function(){var a=c.sort,b="desc"===c.direction?-1:1;return function(c,d){return c=c&&String(h.items[c.id][a]||"").toLowerCase(),d=d&&String(h.items[d.id][a]||"").toLowerCase(),c>d?1*b:d>c?-1*b:0}}())),f.total=f.items.length,"number"==typeof c.limit&&(f.items=f.items.slice(0,c.limit)),f};var b=function(a){for(var b,c,d,e,b=1,c=arguments.length;c>b;b++)if(e=arguments[b])for(d in e)e.hasOwnProperty(d)&&(a[d]=e[d]);return a},c=function(a){return(a+"").replace(/^\s+|\s+$|/g,"")},d=function(a){return(a+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},e=Array.isArray||$&&$.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},f={a:"[aÀÁÂÃÄÅàáâãäå]",c:"[cÇç]",e:"[eÈÉÊËèéêë]",i:"[iÌÍÎÏìíîï]",n:"[nÑñ]",o:"[oÒÓÔÕÕÖØòóôõöø]",s:"[sŠš]",u:"[uÙÚÛÜùúûü]",y:"[yŸÿý]",z:"[zŽž]"};return a}),function(a,b){"function"==typeof define&&define.amd?define(["sifter"],b):a.Selectize=b(a.Sifter)}(this,function(a){"use strict";var b=function(a,b){if("string"!=typeof b||b.length){var c="string"==typeof b?new RegExp(b,"i"):b,d=function(a){var b=0;if(3===a.nodeType){var e=a.data.search(c);if(e>=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e);h.splitText(f[0].length);var i=h.cloneNode(!0);g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName))for(var j=0;jb;b++)this.loadPlugin(a[b]);else if(a){this.pluginSettings=$.extend({},a);for(d in a)a.hasOwnProperty(d)&&this.loadPlugin(d)}},a.prototype.loadPlugin=function(c){var d,e,f;if(-1===this.plugins.indexOf(c)){if(!a.plugins.hasOwnProperty(c))throw new Error(b+' unable to find "'+c+'" plugin');for(d=a.plugins[c],this.plugins.push(c),e=0,f=d.dependencies.length;f>e;e++)this.loadPlugin(d.dependencies[e]);d.fn.apply(this,[this.pluginSettings[c]||{}])}},a.registerPlugin=function(b){var c=arguments;a.plugins[b]={name:b,fn:c[c.length-1],dependencies:3===c.length?c[1]:[]}}};var u=function(a){return"undefined"!=typeof a},v=function(a){return"undefined"==typeof a||null===a?"":"boolean"==typeof a?a?"1":"0":a+""},w=function(a){return(a+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},x=function(a){return a.replace(/(['"])/g,"\\$1")},y={};y.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},y.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var z=function(a,b){if(!$.isArray(b))return b;var c,d,e={};for(c=0,d=b.length;d>c;c++)b[c].hasOwnProperty(a)&&(e[b[c][a]]=b[c]);return e},A=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},B=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},C=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];return-1===b.indexOf(c)?e.apply(a,arguments):(f[c]=arguments,void 0)},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},D=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},E=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},F=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;e>d;d++)f[c[d]]=a.css(c[d]);else f=a.css();b.css(f)},G=function(a,b){var c=$("").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"nowrap"}).text(a).appendTo("body");F(b,c,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]);var d=c.width();return c.remove(),d},H=function(a){var b=function(b){var c,d,e,f,g,h,i,j;b=b||window.event||{},b.metaKey||b.altKey||a.data("grow")!==!1&&(c=a.val(),b.type&&"keydown"===b.type.toLowerCase()&&(d=b.keyCode,e=d>=97&&122>=d||d>=65&&90>=d||d>=48&&57>=d||32===d,d===m||d===l?(j=E(a[0]),j.length?c=c.substring(0,j.start)+c.substring(j.start+j.length):d===l&&j.start?c=c.substring(0,j.start-1)+c.substring(j.start+1):d===m&&"undefined"!=typeof j.start&&(c=c.substring(0,j.start)+c.substring(j.start+1))):e&&(h=b.shiftKey,i=String.fromCharCode(b.keyCode),i=h?i.toUpperCase():i.toLowerCase(),c+=i)),f=a.attr("placeholder")||"",!c.length&&f.length&&(c=f),g=G(c,a)+4,g!==a.width()&&(a.width(g),a.triggerHandler("resize")))};a.on("keydown keyup update blur",b),b()},I=function(b,c){var d=this;b[0].selectize=d,$.extend(d,{settings:c,$input:b,tagType:"select"===b[0].tagName.toLowerCase()?r:s,eventNS:".selectize"+ ++I.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isLocked:!1,isFocused:!1,isInputFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:B(d.onSearchChange,c.loadThrottle)}),d.sifter=new a(this.options,{diacritics:c.diacritics}),$.extend(d.options,z(c.valueField,c.options)),delete d.settings.options,$.extend(d.optgroups,z(c.optgroupValueField,c.optgroups)),delete d.settings.optgroups,d.settings.mode=d.settings.mode||(1===d.settings.maxItems?"single":"multi"),"boolean"!=typeof d.settings.hideSelected&&(d.settings.hideSelected="multi"===d.settings.mode),d.loadPlugins(d.settings.plugins),d.setupCallbacks(),d.setup()};return c.mixin(I),t.mixin(I,"Selectize"),$.extend(I.prototype,{setup:function(){var a,b,c,e,f,g,h,i,j,k=this,l=k.settings,m=k.eventNS,q=$(window),s=$(document);h=k.settings.mode,i=k.$input.attr("tabindex")||"",j=k.$input.attr("class")||"",a=$("
").addClass(l.wrapperClass).addClass(j).addClass(h),b=$("
").addClass(l.inputClass).addClass("items").appendTo(a),c=$('').appendTo(b).attr("tabindex",i),g=$(l.dropdownParent||a),e=$("
").addClass(l.dropdownClass).addClass(j).addClass(h).hide().appendTo(g),f=$("
").addClass(l.dropdownContentClass).appendTo(e),a.css({width:k.$input[0].style.width,display:k.$input.css("display")}),k.plugins.length&&a.addClass("plugin-"+k.plugins.join(" plugin-")),(null===l.maxItems||l.maxItems>1)&&k.tagType===r&&k.$input.attr("multiple","multiple"),k.settings.placeholder&&c.attr("placeholder",l.placeholder),k.$wrapper=a,k.$control=b,k.$control_input=c,k.$dropdown=e,k.$dropdown_content=f,b.on("mousedown",function(a){a.isDefaultPrevented()||window.setTimeout(function(){k.focus(!0)},0)}),b.on("click",function(){k.isInputFocused||k.focus(!0)}),e.on("mouseenter","[data-selectable]",function(){return k.onOptionHover.apply(k,arguments)}),e.on("mousedown","[data-selectable]",function(){return k.onOptionSelect.apply(k,arguments)}),D(b,"mousedown","*:not(input)",function(){return k.onItemSelect.apply(k,arguments)}),H(c),c.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return k.onKeyDown.apply(k,arguments)},keyup:function(){return k.onKeyUp.apply(k,arguments)},keypress:function(){return k.onKeyPress.apply(k,arguments)},resize:function(){k.positionDropdown.apply(k,[])},blur:function(){return k.onBlur.apply(k,arguments)},focus:function(){return k.onFocus.apply(k,arguments)}}),s.on("keydown"+m,function(a){k.isCmdDown=a[d?"metaKey":"ctrlKey"],k.isCtrlDown=a[d?"altKey":"ctrlKey"],k.isShiftDown=a.shiftKey}),s.on("keyup"+m,function(a){a.keyCode===p&&(k.isCtrlDown=!1),a.keyCode===n&&(k.isShiftDown=!1),a.keyCode===o&&(k.isCmdDown=!1)}),s.on("mousedown"+m,function(a){if(k.isFocused){if(a.target===k.$dropdown[0]||a.target.parentNode===k.$dropdown[0]){var b=k.ignoreFocus;return k.ignoreFocus=!0,window.setTimeout(function(){k.ignoreFocus=b,k.focus(!1)},0),void 0}k.$control.has(a.target).length||a.target===k.$control[0]||k.blur()}}),q.on(["scroll"+m,"resize"+m].join(" "),function(){k.isOpen&&k.positionDropdown.apply(k,arguments)}),q.on("mousemove"+m,function(){k.ignoreHover=!1}),k.$input.attr("tabindex",-1).hide().after(k.$wrapper),$.isArray(l.items)&&(k.setValue(l.items),delete l.items),k.updateOriginalInput(),k.refreshItems(),k.refreshClasses(),k.updatePlaceholder(),k.isSetup=!0,k.$input.is(":disabled")&&k.disable(),k.trigger("initialize"),l.preload&&k.onSearchChange("")},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]],b&&this.on(a,b))},triggerCallback:function(a){var b;"function"==typeof this.settings[a]&&(b=Array.prototype.slice.apply(arguments,[1]),this.settings[a].apply(this,b))},onKeyPress:function(a){if(this.isLocked)return a&&a.preventDefault();var b=String.fromCharCode(a.keyCode||a.which);return this.settings.create&&b===this.settings.delimiter?(this.createItem(),a.preventDefault(),!1):void 0},onKeyDown:function(a){a.target===this.$control_input[0];var b=this;if(b.isLocked)return a.keyCode!==q&&a.preventDefault(),void 0;switch(a.keyCode){case e:if(b.isCmdDown)return b.selectAll(),void 0;break;case g:return b.blur(),void 0;case k:if(!b.isOpen&&b.hasOptions)b.open();else if(b.$activeOption){b.ignoreHover=!0;var c=b.getAdjacentOption(b.$activeOption,1);c.length&&b.setActiveOption(c,!0,!0)}return a.preventDefault(),void 0;case i:if(b.$activeOption){b.ignoreHover=!0;var d=b.getAdjacentOption(b.$activeOption,-1);d.length&&b.setActiveOption(d,!0,!0)}return a.preventDefault(),void 0;case f:return b.$activeOption&&b.onOptionSelect({currentTarget:b.$activeOption}),a.preventDefault(),void 0;case h:return b.advanceSelection(-1,a),void 0;case j:return b.advanceSelection(1,a),void 0;case q:return b.settings.create&&$.trim(b.$control_input.val()).length&&(b.createItem(),a.preventDefault()),void 0;case l:case m:return b.deleteSelection(a),void 0}return b.isFull()||b.isInputHidden?(a.preventDefault(),void 0):void 0},onKeyUp:function(a){var b=this;if(b.isLocked)return a&&a.preventDefault();var c=b.$control_input.val()||"";b.lastValue!==c&&(b.lastValue=c,b.onSearchChange(c),b.refreshOptions(),b.trigger("type",c))},onSearchChange:function(a){var b=this,c=b.settings.load;c&&(b.loadedSearches.hasOwnProperty(a)||(b.loadedSearches[a]=!0,b.load(function(d){c.apply(b,[a,d])})))},onFocus:function(a){var b=this;return b.isInputFocused=!0,b.isFocused=!0,b.isDisabled?(b.blur(),a.preventDefault(),!1):(b.ignoreFocus||("focus"===b.settings.preload&&b.onSearchChange(""),b.showInput(),b.setActiveItem(null),b.refreshOptions(!!b.settings.openOnFocus),b.refreshClasses()),void 0)},onBlur:function(){var a=this;a.isInputFocused=!1,a.ignoreFocus||(a.close(),a.setTextboxValue(""),a.setActiveItem(null),a.setActiveOption(null),a.setCaret(a.items.length),a.isFocused=!1,a.refreshClasses())},onOptionHover:function(a){this.ignoreHover||this.setActiveOption(a.currentTarget,!1)},onOptionSelect:function(a){var b,c,d=this;a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),d.focus(!1),c=$(a.currentTarget),c.hasClass("create")?d.createItem():(b=c.attr("data-value"),b&&(d.setTextboxValue(""),d.addItem(b),!d.settings.hideSelected&&a.type&&/mouse/.test(a.type)&&d.setActiveOption(d.getOption(b))))},onItemSelect:function(a){var b=this;"multi"===b.settings.mode&&(a.preventDefault(),b.setActiveItem(a.currentTarget,a),b.focus(!1),b.hideInput())},load:function(a){var b=this,c=b.$wrapper.addClass("loading");b.loading++,a.apply(b,[function(a){b.loading=Math.max(b.loading-1,0),a&&a.length&&(b.addOption(a),b.refreshOptions(!1),b.isInputFocused&&b.open()),b.loading||c.removeClass("loading"),b.trigger("load",a)}])},setTextboxValue:function(a){this.$control_input.val(a).triggerHandler("update"),this.lastValue=a},getValue:function(){return this.tagType===r&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(a){C(this,["change"],function(){this.clear();for(var b=$.isArray(a)?a:[a],c=0,d=b.length;d>c;c++)this.addItem(b[c])})},setActiveItem:function(a,b){var c,d,e,f,g,h,i,j,k=this;if(a=$(a),!a.length)return $(k.$activeItems).removeClass("active"),k.$activeItems=[],k.isFocused=k.isInputFocused,void 0;if(c=b&&b.type.toLowerCase(),"mousedown"===c&&k.isShiftDown&&k.$activeItems.length){for(j=k.$control.children(".active:last"),f=Array.prototype.indexOf.apply(k.$control[0].childNodes,[j[0]]),g=Array.prototype.indexOf.apply(k.$control[0].childNodes,[a[0]]),f>g&&(i=f,f=g,g=i),d=f;g>=d;d++)h=k.$control[0].childNodes[d],-1===k.$activeItems.indexOf(h)&&($(h).addClass("active"),k.$activeItems.push(h));b.preventDefault()}else"mousedown"===c&&k.isCtrlDown||"keydown"===c&&this.isShiftDown?a.hasClass("active")?(e=k.$activeItems.indexOf(a[0]),k.$activeItems.splice(e,1),a.removeClass("active")):k.$activeItems.push(a.addClass("active")[0]):($(k.$activeItems).removeClass("active"),k.$activeItems=[a.addClass("active")[0]]);k.isFocused=!!k.$activeItems.length||k.isInputFocused},setActiveOption:function(a,b,c){var d,e,f,g,h,i=this;i.$activeOption&&i.$activeOption.removeClass("active"),i.$activeOption=null,a=$(a),a.length&&(i.$activeOption=a.addClass("active"),(b||!u(b))&&(d=i.$dropdown_content.height(),e=i.$activeOption.outerHeight(!0),b=i.$dropdown_content.scrollTop()||0,f=i.$activeOption.offset().top-i.$dropdown_content.offset().top+b,g=f,h=f-d+e,f+e>d-b?i.$dropdown_content.stop().animate({scrollTop:h},c?i.settings.scrollDuration:0):b>f&&i.$dropdown_content.stop().animate({scrollTop:g},c?i.settings.scrollDuration:0)))},selectAll:function(){this.$activeItems=Array.prototype.slice.apply(this.$control.children(":not(input)").addClass("active")),this.isFocused=!0,this.$activeItems.length&&this.hideInput()},hideInput:function(){var a=this;a.close(),a.setTextboxValue(""),a.$control_input.css({opacity:0,position:"absolute",left:-1e4}),a.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(a){var b=this;b.isDisabled||(b.ignoreFocus=!0,b.$control_input[0].focus(),b.isInputFocused=!0,window.setTimeout(function(){b.ignoreFocus=!1,a&&b.onFocus()},0))},blur:function(){this.$control_input.trigger("blur")},search:function(a){var b,c,d,e=this,f=e.settings;if(f.score&&(d=e.settings.score.apply(this,[a]),"function"!=typeof d))throw new Error('Selectize "score" setting must be a function that returns a function');if(a!==e.lastQuery?(e.lastQuery=a,c=e.sifter.search(a,{score:d,fields:f.searchField,sort:f.sortField,direction:f.sortDirection}),e.currentResults=c):c=$.extend(!0,{},e.currentResults),f.hideSelected)for(b=c.items.length-1;b>=0;b--)-1!==e.items.indexOf(v(c.items[b].id))&&c.items.splice(b,1);return c},refreshOptions:function(a){"undefined"==typeof a&&(a=!0);var c,d,e,f,g,h,i,j,k,l,m,n=this,o=n.$control_input.val(),p=n.search(o),q=n.$dropdown_content;if(d=p.items.length,"number"==typeof n.settings.maxOptions&&(d=Math.min(d,n.settings.maxOptions)),e={},n.settings.optgroupOrder)for(f=n.settings.optgroupOrder,c=0;cc;c++)g=n.options[p.items[c].id],h=g[n.settings.optgroupField]||"",n.optgroups.hasOwnProperty(h)||(h=""),e.hasOwnProperty(h)||(e[h]=[],f.push(h)),e[h].push(n.render("option",g));for(i=[],c=0,d=f.length;d>c;c++)h=f[c],n.optgroups.hasOwnProperty(h)&&e[h].length?(j=n.render("optgroup_header",n.optgroups[h])||"",j+=e[h].join(""),i.push(n.render("optgroup",$.extend({},n.optgroups[h],{html:j})))):i.push(e[h].join(""));if(q.html(i.join("")),n.settings.highlight&&p.query.length&&p.tokens.length)for(c=0,d=p.tokens.length;d>c;c++)b(q,p.tokens[c].regex);if(!n.settings.hideSelected)for(c=0,d=n.items.length;d>c;c++)n.getOption(n.items[c]).addClass("selected");k=n.settings.create&&p.query.length,k&&(q.prepend(n.render("option_create",{input:o})),m=$(q[0].childNodes[0])),n.hasOptions=p.items.length>0||k,n.hasOptions?(l=p.items.length>0?m?n.getAdjacentOption(m,1):q.find("[data-selectable]").first():m,n.setActiveOption(l),a&&!n.isOpen&&n.open()):(n.setActiveOption(null),a&&n.isOpen&&n.close())},addOption:function(a,b){var c,d,e=this;if($.isArray(a))for(c=0,d=a.length;d>c;c++)e.addOption(a[c][e.settings.valueField],a[c]);else a=v(a),e.options.hasOwnProperty(a)||(e.userOptions[a]=!0,e.options[a]=b,e.lastQuery=null,e.trigger("option_add",a,b))},addOptionGroup:function(a,b){this.optgroups[a]=b,this.trigger("optgroup_add",value,b)},updateOption:function(a,b){var c,d,e,f,g,h,i=this;if(a=v(a),e=v(b[i.settings.valueField]),i.options.hasOwnProperty(a)){if(!e)throw new Error("Value must be set in option data");e!==a&&(delete i.options[a],f=i.items.indexOf(a),-1!==f&&i.items.splice(f,1,e)),i.options[e]=b,g=i.renderCache.item,h=i.renderCache.option,u(g)&&(delete g[a],delete g[e]),u(h)&&(delete h[a],delete h[e]),-1!==i.items.indexOf(e)&&(c=i.getItem(a),d=$(i.render("item",b)),c.hasClass("active")&&d.addClass("active"),c.replaceWith(d)),i.isOpen&&i.refreshOptions(!1)}},removeOption:function(a){var b=this;a=v(a),delete b.userOptions[a],delete b.options[a],b.lastQuery=null,b.trigger("option_remove",a),b.removeItem(a)},clearOptions:function(){var a=this;a.loadedSearches={},a.userOptions={},a.options={},a.lastQuery=null,a.trigger("option_clear"),a.clear()},getOption:function(a){return a=v(a),a?this.$dropdown_content.find("[data-selectable]").filter('[data-value="'+x(a)+'"]:first'):$()},getAdjacentOption:function(a,b){var c=this.$dropdown.find("[data-selectable]"),d=c.index(a)+b;return d>=0&&d=f.settings.maxItems?f.close():f.positionDropdown(),f.isFocused&&window.setTimeout(function(){"single"===g?(f.blur(),f.focus(!1),f.hideInput()):f.focus(!1)},0),f.updatePlaceholder(),f.trigger("item_add",a,b),f.updateOriginalInput()))})},removeItem:function(a){var b,c,d,e=this;b="object"==typeof a?a:e.getItem(a),a=v(b.attr("data-value")),c=e.items.indexOf(a),-1!==c&&(b.remove(),b.hasClass("active")&&(d=e.$activeItems.indexOf(b[0]),e.$activeItems.splice(d,1)),e.items.splice(c,1),e.lastQuery=null,!e.settings.persist&&e.userOptions.hasOwnProperty(a)&&e.removeOption(a),c0),this.$control_input.data("grow",!b&&!c)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(){var a,b,c,d=this;if("select"===d.$input[0].tagName.toLowerCase()){for(c=[],a=0,b=d.items.length;b>a;a++)c.push('');c.length||this.$input.attr("multiple")||c.push(''),d.$input.html(c.join(""))}else d.$input.val(d.getValue());d.$input.trigger("change"),d.isSetup&&d.trigger("change",d.$input.val())},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update")}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(!0),a.isOpen=!0,a.refreshClasses(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",this.$dropdown))},close:function(){var a=this;a.isOpen&&(a.$dropdown.hide(),a.setActiveOption(null),a.isOpen=!1,a.refreshClasses(),a.trigger("dropdown_close",a.$dropdown))},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a.outerWidth(),top:b.top,left:b.left})},clear:function(){var a=this;a.items.length&&(a.$control.children(":not(input)").remove(),a.items=[],a.setCaret(0),a.updatePlaceholder(),a.updateOriginalInput(),a.refreshClasses(),a.showInput(),a.trigger("clear"))},insertAtCaret:function(a){var b=Math.min(this.caretPos,this.items.length);0===b?this.$control.prepend(a):$(this.$control[0].childNodes[b]).before(a),this.setCaret(b+1)},deleteSelection:function(a){var b,c,d,e,f,g,h,i,j,k=this;if(d=a&&a.keyCode===l?-1:1,e=E(k.$control_input[0]),k.$activeOption&&!k.settings.hideSelected&&(h=k.getAdjacentOption(k.$activeOption,-1).attr("data-value")),f=[],k.$activeItems.length){for(j=k.$control.children(".active:"+(d>0?"last":"first")),g=k.$control.children(":not(input)").index(j),d>0&&g++,b=0,c=k.$activeItems.length;c>b;b++)f.push($(k.$activeItems[b]).attr("data-value"));a&&(a.preventDefault(),a.stopPropagation())}else(k.isFocused||"single"===k.settings.mode)&&k.items.length&&(0>d&&0===e.start&&0===e.length?f.push(k.items[k.caretPos-1]):d>0&&e.start===k.$control_input.val().length&&f.push(k.items[k.caretPos]));if(!f.length||"function"==typeof k.settings.onDelete&&k.settings.onDelete(f)===!1)return!1;for("undefined"!=typeof g&&k.setCaret(g);f.length;)k.removeItem(f.pop());return k.showInput(),k.refreshOptions(!0),h&&(i=k.getOption(h),i.length&&k.setActiveOption(i)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h,i=this;0!==a&&(c=a>0?"last":"first",d=E(i.$control_input[0]),i.isInputFocused&&!i.isInputHidden?(f=i.$control_input.val().length,g=0>a?0===d.start&&0===d.length:d.start===f,g&&!f&&i.advanceCaret(a,b)):(h=i.$control.children(".active:"+c),h.length&&(e=i.$control.children(":not(input)").index(h),i.setActiveItem(null),i.setCaret(a>0?e+1:e),i.showInput())))},advanceCaret:function(a,b){if(0!==a){var c=this,d=a>0?"next":"prev";if(c.isShiftDown){var e=c.$control_input[d]();e.length&&(c.hideInput(),c.setActiveItem(e),b&&b.preventDefault())}else c.setCaret(c.caretPos+a)}},setCaret:function(a){var b=this;a="single"===b.settings.mode?b.items.length:Math.max(0,Math.min(b.items.length,a));var c,d,e,f;for(e=b.$control.children(":not(input)"),c=0,d=e.length;d>c;c++)f=$(e[c]).detach(),a>c?b.$control_input.before(f):b.$control.append(f);b.caretPos=a},lock:function(){this.close(),this.isLocked=!0,this.refreshClasses()},unlock:function(){this.isLocked=!1,this.refreshClasses()},disable:function(){var a=this;a.$input.prop("disabled",!0),a.isDisabled=!0,a.lock()},enable:function(){var a=this;a.$input.prop("disabled",!1),a.isDisabled=!1,a.unlock()},destroy:function(){var a=this,b=a.eventNS;a.off(),a.$wrapper.remove(),a.$dropdown.remove(),a.$input.show(),$(window).off(b),$(document).off(b),$(document.body).off(b),delete a.$input[0].selectize},render:function(a,b){var c,d,e,f="",g=!1,h=this,i=/^[\t ]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;if(("option"===a||"item"===a)&&(c=v(b[h.settings.valueField]),g=!!c),g&&(u(h.renderCache[a])||(h.renderCache[a]={}),h.renderCache[a].hasOwnProperty(c)))return h.renderCache[a][c];if(h.settings.render&&"function"==typeof h.settings.render[a])f=h.settings.render[a].apply(this,[b,w]);else switch(e=b[h.settings.labelField],a){case"optgroup":f='
'+b.html+"
";break;case"optgroup_header":e=b[h.settings.optgroupLabelField],f='
'+w(e)+"
";break;case"option":f='
'+w(e)+"
";break;case"item":f='
'+w(e)+"
";break;case"option_create":f='
Add '+w(b.input)+"
"}return("option"===a||"option_create"===a)&&(f=f.replace(i,"<$1 data-selectable")),"optgroup"===a&&(d=b[h.settings.optgroupValueField]||"",f=f.replace(i,'<$1 data-group="'+w(d)+'"')),("option"===a||"item"===a)&&(f=f.replace(i,'<$1 data-value="'+w(c||"")+'"')),g&&(h.renderCache[a][c]=f),f}}),I.count=0,I.defaults={plugins:[],delimiter:",",persist:!0,diacritics:!0,create:!1,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,preload:!1,scrollDuration:60,loadThrottle:300,dataAttr:"data-data",optgroupField:"optgroup",sortField:null,sortDirection:"asc",valueField:"value",labelField:"text",optgroupLabelField:"label",optgroupValueField:"value",optgroupOrder:null,searchField:["text"],mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,render:{}},$.fn.selectize=function(a){a=a||{};var b=$.fn.selectize.defaults,c=a.dataAttr||b.dataAttr,d=function(c,d){var e,f,g,h=$.trim(c.val()||"");if(h.length){for(g=h.split(a.delimiter||b.delimiter),e=0,f=g.length;f>e;e++)d.options[g[e]]={text:g[e],value:g[e]};d.items=g}},e=function(a,b){var d,e,f,g;b.maxItems=a.attr("multiple")?null:1;var h=function(a){var b=c&&a.attr(c);return"string"==typeof b&&b.length?JSON.parse(b):null},i=function(a,c){a=$(a);var d=a.attr("value")||"";d.length&&(b.options[d]=h(a)||{text:a.text(),value:d,optgroup:c},a.is(":selected")&&b.items.push(d))},j=function(a){var c,d,e=$("option",a);a=$(a);var f=a.attr("label");for(f&&f.length&&(b.optgroups[f]=h(a)||{label:f}),c=0,d=e.length;d>c;c++)i(e[c],f)};for(g=a.children(),d=0,e=g.length;e>d;d++)f=g[d].tagName.toLowerCase(),"optgroup"===f?j(g[d]):"option"===f&&i(g[d])};return this.each(function(){var c,f=$(this),g=f[0].tagName.toLowerCase(),h={placeholder:f.children('option[value=""]').text()||f.attr("placeholder"),options:{},optgroups:{},items:[]};"select"===g?e(f,h):d(f,h),c=new I(f,$.extend(!0,{},b,h,a)),f.data("selectize",c),f.addClass("selectized")})},$.fn.selectize.defaults=I.defaults,I.registerPlugin("drag_drop",function(){if(!$.fn.sortable)throw new Error('The "drag_drop" Selectize plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var a=this;this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments);var c=this.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,start:function(a,b){b.placeholder.css("width",b.helper.css("width")),c.css({overflow:"visible"})},stop:function(){c.css({overflow:"hidden"});var b=this.$activeItems?this.$activeItems.slice():null,d=[];c.children("[data-value]").each(function(){d.push($(this).attr("data-value"))}),a.setValue(d),a.setActiveItem(b)}})}}()}}),I.registerPlugin("dropdown_header",function(a){var b=this;a=$.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(a){return'
'+'
'+''+a.title+""+'×'+"
"+"
"}},a),b.setup=function(){var c=b.setup;return function(){c.apply(b,arguments),b.$dropdown_header=$(a.html(a)),b.$dropdown.prepend(b.$dropdown_header)}}()}),I.registerPlugin("optgroup_columns",function(a){var b=this;a=$.extend({equalizeWidth:!0,equalizeHeight:!0},a),this.getAdjacentOption=function(a,b){var c=a.closest("[data-group]").find("[data-selectable]"),d=c.index(a)+b;return d>=0&&db;b++){if(g=d(j[b]),this.settings.diacritics)for(h in f)f.hasOwnProperty(h)&&(g=g.replace(new RegExp(h,"g"),f[h]));i.push({string:j[b],regex:new RegExp(g,"i")})}return i},a.prototype.iterator=function(a,b){var c;c=e(a)?Array.prototype.forEach||function(a){for(var b=0,c=this.length;c>b;b++)a(this[b],b,this)}:function(a){for(var b in this)this.hasOwnProperty(b)&&a(this[b],b,this)},c.apply(a,[b])},a.prototype.getScoreFunction=function(a){var b=a.tokens,c=function(){return b.length?1===b.length?function(a){var c,d;return a=String(a||"").toLowerCase(),d=a.search(b[0].regex),-1===d?0:(c=b[0].string.length/a.length,0===d&&(c+=.5),c)}:function(a){var c,d,e,f;for(a=String(a||"").toLowerCase(),c=0,e=0,f=b.length;f>e;e++)d=a.search(b[e].regex),-1!==d&&(0===d&&(c+=.5),c+=b[e].string.length/a.length);return c/b.length}:function(){return 0}}(),d=function(){var b=a.options.fields;if(b&&b.length){if(1===b.length){var d=b[0];return function(a){return a.hasOwnProperty(d)?c(a[d]):0}}return function(a){for(var d=0,e=0,f=0,g=b.length;g>f;f++)a.hasOwnProperty(b[f])&&(e+=c(a[b[f]]),d++);return e/d}}return function(){return 0}}();return d},a.prototype.search=function(a,c){var d,f,g,h=this;return c=b({},c),a=String(a||"").toLowerCase(),f={options:c,query:a,tokens:h.tokenize(a),total:0,items:[]},e(c.fields)||(c.fields=[c.fields]),g=c.score||h.getScoreFunction(f),a.length?(h.iterator(h.items,function(a,b){d=g(a),d>0&&f.items.push({score:d,id:b})}),f.items.sort(function(a,b){return b.score-a.score})):(h.iterator(h.items,function(a,b){f.items.push({score:1,id:b})}),c.sort&&f.items.sort(function(){var a=c.sort,b="desc"===c.direction?-1:1;return function(c,d){return c=c&&String(h.items[c.id][a]||"").toLowerCase(),d=d&&String(h.items[d.id][a]||"").toLowerCase(),c>d?1*b:d>c?-1*b:0}}())),f.total=f.items.length,"number"==typeof c.limit&&(f.items=f.items.slice(0,c.limit)),f};var b=function(a){for(var b,c,d,e,b=1,c=arguments.length;c>b;b++)if(e=arguments[b])for(d in e)e.hasOwnProperty(d)&&(a[d]=e[d]);return a},c=function(a){return(a+"").replace(/^\s+|\s+$|/g,"")},d=function(a){return(a+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},e=Array.isArray||$&&$.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},f={a:"[aÀÁÂÃÄÅàáâãäå]",c:"[cÇç]",e:"[eÈÉÊËèéêë]",i:"[iÌÍÎÏìíîï]",n:"[nÑñ]",o:"[oÒÓÔÕÕÖØòóôõöø]",s:"[sŠš]",u:"[uÙÚÛÜùúûü]",y:"[yŸÿý]",z:"[zŽž]"};return a}),function(a,b){"function"==typeof define&&define.amd?define(["sifter"],b):a.Selectize=b(a.Sifter)}(this,function(a){"use strict";var b=function(a,b){if("string"!=typeof b||b.length){var c="string"==typeof b?new RegExp(b,"i"):b,d=function(a){var b=0;if(3===a.nodeType){var e=a.data.search(c);if(e>=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e);h.splitText(f[0].length);var i=h.cloneNode(!0);g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName))for(var j=0;jb;b++)this.loadPlugin(a[b]);else if(a){this.pluginSettings=$.extend({},a);for(d in a)a.hasOwnProperty(d)&&this.loadPlugin(d)}},a.prototype.loadPlugin=function(c){var d,e,f;if(-1===this.plugins.indexOf(c)){if(!a.plugins.hasOwnProperty(c))throw new Error(b+' unable to find "'+c+'" plugin');for(d=a.plugins[c],this.plugins.push(c),e=0,f=d.dependencies.length;f>e;e++)this.loadPlugin(d.dependencies[e]);d.fn.apply(this,[this.pluginSettings[c]||{}])}},a.registerPlugin=function(b){var c=arguments;a.plugins[b]={name:b,fn:c[c.length-1],dependencies:3===c.length?c[1]:[]}}};var u=function(a){return"undefined"!=typeof a},v=function(a){return"undefined"==typeof a||null===a?"":"boolean"==typeof a?a?"1":"0":a+""},w=function(a){return(a+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""")},x=function(a){return a.replace(/(['"])/g,"\\$1")},y={};y.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},y.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var z=function(a,b){if(!$.isArray(b))return b;var c,d,e={};for(c=0,d=b.length;d>c;c++)b[c].hasOwnProperty(a)&&(e[b[c][a]]=b[c]);return e},A=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},B=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},C=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];return-1===b.indexOf(c)?e.apply(a,arguments):(f[c]=arguments,void 0)},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},D=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},E=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},F=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;e>d;d++)f[c[d]]=a.css(c[d]);else f=a.css();b.css(f)},G=function(a,b){var c=$("").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"nowrap"}).text(a).appendTo("body");F(b,c,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]);var d=c.width();return c.remove(),d},H=function(a){var b=function(b){var c,d,e,f,g,h,i,j;b=b||window.event||{},b.metaKey||b.altKey||a.data("grow")!==!1&&(c=a.val(),b.type&&"keydown"===b.type.toLowerCase()&&(d=b.keyCode,e=d>=97&&122>=d||d>=65&&90>=d||d>=48&&57>=d||32===d,d===m||d===l?(j=E(a[0]),j.length?c=c.substring(0,j.start)+c.substring(j.start+j.length):d===l&&j.start?c=c.substring(0,j.start-1)+c.substring(j.start+1):d===m&&"undefined"!=typeof j.start&&(c=c.substring(0,j.start)+c.substring(j.start+1))):e&&(h=b.shiftKey,i=String.fromCharCode(b.keyCode),i=h?i.toUpperCase():i.toLowerCase(),c+=i)),f=a.attr("placeholder")||"",!c.length&&f.length&&(c=f),g=G(c,a)+4,g!==a.width()&&(a.width(g),a.triggerHandler("resize")))};a.on("keydown keyup update blur",b),b()},I=function(b,c){var d=this;b[0].selectize=d,$.extend(d,{settings:c,$input:b,tagType:"select"===b[0].tagName.toLowerCase()?r:s,eventNS:".selectize"+ ++I.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isLocked:!1,isFocused:!1,isInputFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:B(d.onSearchChange,c.loadThrottle)}),d.sifter=new a(this.options,{diacritics:c.diacritics}),$.extend(d.options,z(c.valueField,c.options)),delete d.settings.options,$.extend(d.optgroups,z(c.optgroupValueField,c.optgroups)),delete d.settings.optgroups,d.settings.mode=d.settings.mode||(1===d.settings.maxItems?"single":"multi"),"boolean"!=typeof d.settings.hideSelected&&(d.settings.hideSelected="multi"===d.settings.mode),d.loadPlugins(d.settings.plugins),d.setupCallbacks(),d.setup()};return c.mixin(I),t.mixin(I,"Selectize"),$.extend(I.prototype,{setup:function(){var a,b,c,e,f,g,h,i,j,k,l=this,m=l.settings,q=l.eventNS,s=$(window),t=$(document);h=l.settings.mode,i=l.$input.attr("tabindex")||"",j=l.$input.attr("class")||"",a=$("
").addClass(m.wrapperClass).addClass(j).addClass(h),b=$("
").addClass(m.inputClass).addClass("items").appendTo(a),c=$('').appendTo(b).attr("tabindex",i),g=$(m.dropdownParent||a),e=$("
").addClass(m.dropdownClass).addClass(j).addClass(h).hide().appendTo(g),f=$("
").addClass(m.dropdownContentClass).appendTo(e),a.css({width:l.$input[0].style.width,display:l.$input.css("display")}),l.plugins.length&&(k="plugin-"+l.plugins.join(" plugin-"),a.addClass(k),e.addClass(k)),(null===m.maxItems||m.maxItems>1)&&l.tagType===r&&l.$input.attr("multiple","multiple"),l.settings.placeholder&&c.attr("placeholder",m.placeholder),l.$wrapper=a,l.$control=b,l.$control_input=c,l.$dropdown=e,l.$dropdown_content=f,b.on("mousedown",function(a){a.isDefaultPrevented()||window.setTimeout(function(){l.focus(!0)},0)}),b.on("click",function(){l.isInputFocused||l.focus(!0)}),e.on("mouseenter","[data-selectable]",function(){return l.onOptionHover.apply(l,arguments)}),e.on("mousedown","[data-selectable]",function(){return l.onOptionSelect.apply(l,arguments)}),D(b,"mousedown","*:not(input)",function(){return l.onItemSelect.apply(l,arguments)}),H(c),c.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return l.onKeyDown.apply(l,arguments)},keyup:function(){return l.onKeyUp.apply(l,arguments)},keypress:function(){return l.onKeyPress.apply(l,arguments)},resize:function(){l.positionDropdown.apply(l,[])},blur:function(){return l.onBlur.apply(l,arguments)},focus:function(){return l.onFocus.apply(l,arguments)}}),t.on("keydown"+q,function(a){l.isCmdDown=a[d?"metaKey":"ctrlKey"],l.isCtrlDown=a[d?"altKey":"ctrlKey"],l.isShiftDown=a.shiftKey}),t.on("keyup"+q,function(a){a.keyCode===p&&(l.isCtrlDown=!1),a.keyCode===n&&(l.isShiftDown=!1),a.keyCode===o&&(l.isCmdDown=!1)}),t.on("mousedown"+q,function(a){if(l.isFocused){if(a.target===l.$dropdown[0]||a.target.parentNode===l.$dropdown[0]){var b=l.ignoreFocus;return l.ignoreFocus=!0,window.setTimeout(function(){l.ignoreFocus=b,l.focus(!1)},0),void 0}l.$control.has(a.target).length||a.target===l.$control[0]||l.blur()}}),s.on(["scroll"+q,"resize"+q].join(" "),function(){l.isOpen&&l.positionDropdown.apply(l,arguments)}),s.on("mousemove"+q,function(){l.ignoreHover=!1}),l.$input.attr("tabindex",-1).hide().after(l.$wrapper),$.isArray(m.items)&&(l.setValue(m.items),delete m.items),l.updateOriginalInput(),l.refreshItems(),l.refreshClasses(),l.updatePlaceholder(),l.isSetup=!0,l.$input.is(":disabled")&&l.disable(),l.trigger("initialize"),m.preload&&l.onSearchChange("")},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]],b&&this.on(a,b))},triggerCallback:function(a){var b;"function"==typeof this.settings[a]&&(b=Array.prototype.slice.apply(arguments,[1]),this.settings[a].apply(this,b))},onKeyPress:function(a){if(this.isLocked)return a&&a.preventDefault();var b=String.fromCharCode(a.keyCode||a.which);return this.settings.create&&b===this.settings.delimiter?(this.createItem(),a.preventDefault(),!1):void 0},onKeyDown:function(a){a.target===this.$control_input[0];var b=this;if(b.isLocked)return a.keyCode!==q&&a.preventDefault(),void 0;switch(a.keyCode){case e:if(b.isCmdDown)return b.selectAll(),void 0;break;case g:return b.blur(),void 0;case k:if(!b.isOpen&&b.hasOptions)b.open();else if(b.$activeOption){b.ignoreHover=!0;var c=b.getAdjacentOption(b.$activeOption,1);c.length&&b.setActiveOption(c,!0,!0)}return a.preventDefault(),void 0;case i:if(b.$activeOption){b.ignoreHover=!0;var d=b.getAdjacentOption(b.$activeOption,-1);d.length&&b.setActiveOption(d,!0,!0)}return a.preventDefault(),void 0;case f:return b.$activeOption&&b.onOptionSelect({currentTarget:b.$activeOption}),a.preventDefault(),void 0;case h:return b.advanceSelection(-1,a),void 0;case j:return b.advanceSelection(1,a),void 0;case q:return b.settings.create&&$.trim(b.$control_input.val()).length&&(b.createItem(),a.preventDefault()),void 0;case l:case m:return b.deleteSelection(a),void 0}return b.isFull()||b.isInputHidden?(a.preventDefault(),void 0):void 0},onKeyUp:function(a){var b=this;if(b.isLocked)return a&&a.preventDefault();var c=b.$control_input.val()||"";b.lastValue!==c&&(b.lastValue=c,b.onSearchChange(c),b.refreshOptions(),b.trigger("type",c))},onSearchChange:function(a){var b=this,c=b.settings.load;c&&(b.loadedSearches.hasOwnProperty(a)||(b.loadedSearches[a]=!0,b.load(function(d){c.apply(b,[a,d])})))},onFocus:function(a){var b=this;return b.isInputFocused=!0,b.isFocused=!0,b.isDisabled?(b.blur(),a.preventDefault(),!1):(b.ignoreFocus||("focus"===b.settings.preload&&b.onSearchChange(""),b.showInput(),b.setActiveItem(null),b.refreshOptions(!!b.settings.openOnFocus),b.refreshClasses()),void 0)},onBlur:function(){var a=this;a.isInputFocused=!1,a.ignoreFocus||(a.close(),a.setTextboxValue(""),a.setActiveItem(null),a.setActiveOption(null),a.setCaret(a.items.length),a.isFocused=!1,a.refreshClasses())},onOptionHover:function(a){this.ignoreHover||this.setActiveOption(a.currentTarget,!1)},onOptionSelect:function(a){var b,c,d=this;a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),d.focus(!1),c=$(a.currentTarget),c.hasClass("create")?d.createItem():(b=c.attr("data-value"),b&&(d.setTextboxValue(""),d.addItem(b),!d.settings.hideSelected&&a.type&&/mouse/.test(a.type)&&d.setActiveOption(d.getOption(b))))},onItemSelect:function(a){var b=this;"multi"===b.settings.mode&&(a.preventDefault(),b.setActiveItem(a.currentTarget,a),b.focus(!1),b.hideInput())},load:function(a){var b=this,c=b.$wrapper.addClass("loading");b.loading++,a.apply(b,[function(a){b.loading=Math.max(b.loading-1,0),a&&a.length&&(b.addOption(a),b.refreshOptions(!1),b.isInputFocused&&b.open()),b.loading||c.removeClass("loading"),b.trigger("load",a)}])},setTextboxValue:function(a){this.$control_input.val(a).triggerHandler("update"),this.lastValue=a},getValue:function(){return this.tagType===r&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(a){C(this,["change"],function(){this.clear();for(var b=$.isArray(a)?a:[a],c=0,d=b.length;d>c;c++)this.addItem(b[c])})},setActiveItem:function(a,b){var c,d,e,f,g,h,i,j,k=this;if(a=$(a),!a.length)return $(k.$activeItems).removeClass("active"),k.$activeItems=[],k.isFocused=k.isInputFocused,void 0;if(c=b&&b.type.toLowerCase(),"mousedown"===c&&k.isShiftDown&&k.$activeItems.length){for(j=k.$control.children(".active:last"),f=Array.prototype.indexOf.apply(k.$control[0].childNodes,[j[0]]),g=Array.prototype.indexOf.apply(k.$control[0].childNodes,[a[0]]),f>g&&(i=f,f=g,g=i),d=f;g>=d;d++)h=k.$control[0].childNodes[d],-1===k.$activeItems.indexOf(h)&&($(h).addClass("active"),k.$activeItems.push(h));b.preventDefault()}else"mousedown"===c&&k.isCtrlDown||"keydown"===c&&this.isShiftDown?a.hasClass("active")?(e=k.$activeItems.indexOf(a[0]),k.$activeItems.splice(e,1),a.removeClass("active")):k.$activeItems.push(a.addClass("active")[0]):($(k.$activeItems).removeClass("active"),k.$activeItems=[a.addClass("active")[0]]);k.isFocused=!!k.$activeItems.length||k.isInputFocused},setActiveOption:function(a,b,c){var d,e,f,g,h,i=this;i.$activeOption&&i.$activeOption.removeClass("active"),i.$activeOption=null,a=$(a),a.length&&(i.$activeOption=a.addClass("active"),(b||!u(b))&&(d=i.$dropdown_content.height(),e=i.$activeOption.outerHeight(!0),b=i.$dropdown_content.scrollTop()||0,f=i.$activeOption.offset().top-i.$dropdown_content.offset().top+b,g=f,h=f-d+e,f+e>d-b?i.$dropdown_content.stop().animate({scrollTop:h},c?i.settings.scrollDuration:0):b>f&&i.$dropdown_content.stop().animate({scrollTop:g},c?i.settings.scrollDuration:0)))},selectAll:function(){this.$activeItems=Array.prototype.slice.apply(this.$control.children(":not(input)").addClass("active")),this.isFocused=!0,this.$activeItems.length&&this.hideInput()},hideInput:function(){var a=this;a.close(),a.setTextboxValue(""),a.$control_input.css({opacity:0,position:"absolute",left:-1e4}),a.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(a){var b=this;b.isDisabled||(b.ignoreFocus=!0,b.$control_input[0].focus(),b.isInputFocused=!0,window.setTimeout(function(){b.ignoreFocus=!1,a&&b.onFocus()},0))},blur:function(){this.$control_input.trigger("blur")},search:function(a){var b,c,d,e=this,f=e.settings;if(f.score&&(d=e.settings.score.apply(this,[a]),"function"!=typeof d))throw new Error('Selectize "score" setting must be a function that returns a function');if(a!==e.lastQuery?(e.lastQuery=a,c=e.sifter.search(a,{score:d,fields:f.searchField,sort:f.sortField,direction:f.sortDirection}),e.currentResults=c):c=$.extend(!0,{},e.currentResults),f.hideSelected)for(b=c.items.length-1;b>=0;b--)-1!==e.items.indexOf(v(c.items[b].id))&&c.items.splice(b,1);return c},refreshOptions:function(a){"undefined"==typeof a&&(a=!0);var c,d,e,f,g,h,i,j,k,l,m,n=this,o=n.$control_input.val(),p=n.search(o),q=n.$dropdown_content;if(d=p.items.length,"number"==typeof n.settings.maxOptions&&(d=Math.min(d,n.settings.maxOptions)),e={},n.settings.optgroupOrder)for(f=n.settings.optgroupOrder,c=0;cc;c++)g=n.options[p.items[c].id],h=g[n.settings.optgroupField]||"",n.optgroups.hasOwnProperty(h)||(h=""),e.hasOwnProperty(h)||(e[h]=[],f.push(h)),e[h].push(n.render("option",g));for(i=[],c=0,d=f.length;d>c;c++)h=f[c],n.optgroups.hasOwnProperty(h)&&e[h].length?(j=n.render("optgroup_header",n.optgroups[h])||"",j+=e[h].join(""),i.push(n.render("optgroup",$.extend({},n.optgroups[h],{html:j})))):i.push(e[h].join(""));if(q.html(i.join("")),n.settings.highlight&&p.query.length&&p.tokens.length)for(c=0,d=p.tokens.length;d>c;c++)b(q,p.tokens[c].regex);if(!n.settings.hideSelected)for(c=0,d=n.items.length;d>c;c++)n.getOption(n.items[c]).addClass("selected");k=n.settings.create&&p.query.length,k&&(q.prepend(n.render("option_create",{input:o})),m=$(q[0].childNodes[0])),n.hasOptions=p.items.length>0||k,n.hasOptions?(l=p.items.length>0?m?n.getAdjacentOption(m,1):q.find("[data-selectable]").first():m,n.setActiveOption(l),a&&!n.isOpen&&n.open()):(n.setActiveOption(null),a&&n.isOpen&&n.close())},addOption:function(a,b){var c,d,e=this;if($.isArray(a))for(c=0,d=a.length;d>c;c++)e.addOption(a[c][e.settings.valueField],a[c]);else a=v(a),e.options.hasOwnProperty(a)||(e.userOptions[a]=!0,e.options[a]=b,e.lastQuery=null,e.trigger("option_add",a,b))},addOptionGroup:function(a,b){this.optgroups[a]=b,this.trigger("optgroup_add",value,b)},updateOption:function(a,b){var c,d,e,f,g,h,i=this;if(a=v(a),e=v(b[i.settings.valueField]),i.options.hasOwnProperty(a)){if(!e)throw new Error("Value must be set in option data");e!==a&&(delete i.options[a],f=i.items.indexOf(a),-1!==f&&i.items.splice(f,1,e)),i.options[e]=b,g=i.renderCache.item,h=i.renderCache.option,u(g)&&(delete g[a],delete g[e]),u(h)&&(delete h[a],delete h[e]),-1!==i.items.indexOf(e)&&(c=i.getItem(a),d=$(i.render("item",b)),c.hasClass("active")&&d.addClass("active"),c.replaceWith(d)),i.isOpen&&i.refreshOptions(!1)}},removeOption:function(a){var b=this;a=v(a),delete b.userOptions[a],delete b.options[a],b.lastQuery=null,b.trigger("option_remove",a),b.removeItem(a)},clearOptions:function(){var a=this;a.loadedSearches={},a.userOptions={},a.options={},a.lastQuery=null,a.trigger("option_clear"),a.clear()},getOption:function(a){return a=v(a),a?this.$dropdown_content.find("[data-selectable]").filter('[data-value="'+x(a)+'"]:first'):$()},getAdjacentOption:function(a,b){var c=this.$dropdown.find("[data-selectable]"),d=c.index(a)+b;return d>=0&&d=f.settings.maxItems?f.close():f.positionDropdown(),f.isFocused&&window.setTimeout(function(){"single"===g?(f.blur(),f.focus(!1),f.hideInput()):f.focus(!1)},0),f.updatePlaceholder(),f.trigger("item_add",a,b),f.updateOriginalInput()))})},removeItem:function(a){var b,c,d,e=this;b="object"==typeof a?a:e.getItem(a),a=v(b.attr("data-value")),c=e.items.indexOf(a),-1!==c&&(b.remove(),b.hasClass("active")&&(d=e.$activeItems.indexOf(b[0]),e.$activeItems.splice(d,1)),e.items.splice(c,1),e.lastQuery=null,!e.settings.persist&&e.userOptions.hasOwnProperty(a)&&e.removeOption(a),c0),this.$control_input.data("grow",!b&&!c)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(){var a,b,c,d=this;if("select"===d.$input[0].tagName.toLowerCase()){for(c=[],a=0,b=d.items.length;b>a;a++)c.push('');c.length||this.$input.attr("multiple")||c.push(''),d.$input.html(c.join(""))}else d.$input.val(d.getValue());d.$input.trigger("change"),d.isSetup&&d.trigger("change",d.$input.val())},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update")}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(!0),a.isOpen=!0,a.refreshClasses(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",this.$dropdown))},close:function(){var a=this;a.isOpen&&(a.$dropdown.hide(),a.setActiveOption(null),a.isOpen=!1,a.refreshClasses(),a.trigger("dropdown_close",a.$dropdown))},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a.outerWidth(),top:b.top,left:b.left})},clear:function(){var a=this;a.items.length&&(a.$control.children(":not(input)").remove(),a.items=[],a.setCaret(0),a.updatePlaceholder(),a.updateOriginalInput(),a.refreshClasses(),a.showInput(),a.trigger("clear"))},insertAtCaret:function(a){var b=Math.min(this.caretPos,this.items.length);0===b?this.$control.prepend(a):$(this.$control[0].childNodes[b]).before(a),this.setCaret(b+1)},deleteSelection:function(a){var b,c,d,e,f,g,h,i,j,k=this;if(d=a&&a.keyCode===l?-1:1,e=E(k.$control_input[0]),k.$activeOption&&!k.settings.hideSelected&&(h=k.getAdjacentOption(k.$activeOption,-1).attr("data-value")),f=[],k.$activeItems.length){for(j=k.$control.children(".active:"+(d>0?"last":"first")),g=k.$control.children(":not(input)").index(j),d>0&&g++,b=0,c=k.$activeItems.length;c>b;b++)f.push($(k.$activeItems[b]).attr("data-value"));a&&(a.preventDefault(),a.stopPropagation())}else(k.isFocused||"single"===k.settings.mode)&&k.items.length&&(0>d&&0===e.start&&0===e.length?f.push(k.items[k.caretPos-1]):d>0&&e.start===k.$control_input.val().length&&f.push(k.items[k.caretPos]));if(!f.length||"function"==typeof k.settings.onDelete&&k.settings.onDelete(f)===!1)return!1;for("undefined"!=typeof g&&k.setCaret(g);f.length;)k.removeItem(f.pop());return k.showInput(),k.refreshOptions(!0),h&&(i=k.getOption(h),i.length&&k.setActiveOption(i)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h,i=this;0!==a&&(c=a>0?"last":"first",d=E(i.$control_input[0]),i.isInputFocused&&!i.isInputHidden?(f=i.$control_input.val().length,g=0>a?0===d.start&&0===d.length:d.start===f,g&&!f&&i.advanceCaret(a,b)):(h=i.$control.children(".active:"+c),h.length&&(e=i.$control.children(":not(input)").index(h),i.setActiveItem(null),i.setCaret(a>0?e+1:e),i.showInput())))},advanceCaret:function(a,b){if(0!==a){var c=this,d=a>0?"next":"prev";if(c.isShiftDown){var e=c.$control_input[d]();e.length&&(c.hideInput(),c.setActiveItem(e),b&&b.preventDefault())}else c.setCaret(c.caretPos+a)}},setCaret:function(a){var b=this;a="single"===b.settings.mode?b.items.length:Math.max(0,Math.min(b.items.length,a));var c,d,e,f;for(e=b.$control.children(":not(input)"),c=0,d=e.length;d>c;c++)f=$(e[c]).detach(),a>c?b.$control_input.before(f):b.$control.append(f);b.caretPos=a},lock:function(){this.close(),this.isLocked=!0,this.refreshClasses()},unlock:function(){this.isLocked=!1,this.refreshClasses()},disable:function(){var a=this;a.$input.prop("disabled",!0),a.isDisabled=!0,a.lock()},enable:function(){var a=this;a.$input.prop("disabled",!1),a.isDisabled=!1,a.unlock()},destroy:function(){var a=this,b=a.eventNS;a.off(),a.$wrapper.remove(),a.$dropdown.remove(),a.$input.show(),$(window).off(b),$(document).off(b),$(document.body).off(b),delete a.$input[0].selectize},render:function(a,b){var c,d,e,f="",g=!1,h=this,i=/^[\t ]*<([a-z][a-z0-9\-_]*(?:\:[a-z][a-z0-9\-_]*)?)/i;if(("option"===a||"item"===a)&&(c=v(b[h.settings.valueField]),g=!!c),g&&(u(h.renderCache[a])||(h.renderCache[a]={}),h.renderCache[a].hasOwnProperty(c)))return h.renderCache[a][c];if(h.settings.render&&"function"==typeof h.settings.render[a])f=h.settings.render[a].apply(this,[b,w]);else switch(e=b[h.settings.labelField],a){case"optgroup":f='
'+b.html+"
";break;case"optgroup_header":e=b[h.settings.optgroupLabelField],f='
'+w(e)+"
";break;case"option":f='
'+w(e)+"
";break;case"item":f='
'+w(e)+"
";break;case"option_create":f='
Add '+w(b.input)+"
"}return("option"===a||"option_create"===a)&&(f=f.replace(i,"<$1 data-selectable")),"optgroup"===a&&(d=b[h.settings.optgroupValueField]||"",f=f.replace(i,'<$1 data-group="'+w(d)+'"')),("option"===a||"item"===a)&&(f=f.replace(i,'<$1 data-value="'+w(c||"")+'"')),g&&(h.renderCache[a][c]=f),f}}),I.count=0,I.defaults={plugins:[],delimiter:",",persist:!0,diacritics:!0,create:!1,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,preload:!1,scrollDuration:60,loadThrottle:300,dataAttr:"data-data",optgroupField:"optgroup",sortField:null,sortDirection:"asc",valueField:"value",labelField:"text",optgroupLabelField:"label",optgroupValueField:"value",optgroupOrder:null,searchField:["text"],mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,render:{}},$.fn.selectize=function(a){a=a||{};var b=$.fn.selectize.defaults,c=a.dataAttr||b.dataAttr,d=function(c,d){var e,f,g,h=$.trim(c.val()||"");if(h.length){for(g=h.split(a.delimiter||b.delimiter),e=0,f=g.length;f>e;e++)d.options[g[e]]={text:g[e],value:g[e]};d.items=g}},e=function(a,b){var d,e,f,g;b.maxItems=a.attr("multiple")?null:1;var h=function(a){var b=c&&a.attr(c);return"string"==typeof b&&b.length?JSON.parse(b):null},i=function(a,c){a=$(a);var d=a.attr("value")||"";d.length&&(b.options[d]=h(a)||{text:a.text(),value:d,optgroup:c},a.is(":selected")&&b.items.push(d))},j=function(a){var c,d,e=$("option",a);a=$(a);var f=a.attr("label");for(f&&f.length&&(b.optgroups[f]=h(a)||{label:f}),c=0,d=e.length;d>c;c++)i(e[c],f)};for(g=a.children(),d=0,e=g.length;e>d;d++)f=g[d].tagName.toLowerCase(),"optgroup"===f?j(g[d]):"option"===f&&i(g[d])};return this.each(function(){var c,f=$(this),g=f[0].tagName.toLowerCase(),h={placeholder:f.children('option[value=""]').text()||f.attr("placeholder"),options:{},optgroups:{},items:[]};"select"===g?e(f,h):d(f,h),c=new I(f,$.extend(!0,{},b,h,a)),f.data("selectize",c),f.addClass("selectized")})},$.fn.selectize.defaults=I.defaults,I.registerPlugin("drag_drop",function(){if(!$.fn.sortable)throw new Error('The "drag_drop" Selectize plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var a=this;this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments);var c=this.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,start:function(a,b){b.placeholder.css("width",b.helper.css("width")),c.css({overflow:"visible"})},stop:function(){c.css({overflow:"hidden"});var b=this.$activeItems?this.$activeItems.slice():null,d=[];c.children("[data-value]").each(function(){d.push($(this).attr("data-value"))}),a.setValue(d),a.setActiveItem(b)}})}}()}}),I.registerPlugin("dropdown_header",function(a){var b=this;a=$.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(a){return'
'+'
'+''+a.title+""+'×'+"
"+"
"}},a),b.setup=function(){var c=b.setup;return function(){c.apply(b,arguments),b.$dropdown_header=$(a.html(a)),b.$dropdown.prepend(b.$dropdown_header)}}()}),I.registerPlugin("optgroup_columns",function(a){var b=this;a=$.extend({equalizeWidth:!0,equalizeHeight:!0},a),this.getAdjacentOption=function(a,b){var c=a.closest("[data-group]").find("[data-selectable]"),d=c.index(a)+b;return d>=0&&dc;c++)e=Math.max(e,i.eq(c).height());i.css({height:e})}a.equalizeWidth&&(h=b.$dropdown_content.innerWidth(),f=Math.round(h/d),i.css({width:f}),d>1&&(g=h-f*(d-1),i.eq(d-1).css({width:g})))}};(a.equalizeHeight||a.equalizeWidth)&&(y.after(this,"positionDropdown",c),y.after(this,"refreshOptions",c))}),I.registerPlugin("remove_button",function(){var a=this;this.settings.render.item=function(b){var c=b[a.settings.labelField];return'
'+c+' ×
'},this.setup=function(){var b=a.setup;return function(){b.apply(this,arguments),this.$control.on("click",".remove",function(b){b.preventDefault();var c=$(b.target).parent();a.setActiveItem(c),a.deleteSelection()&&a.setCaret(a.items.length)})}}()}),I.registerPlugin("restore_on_backspace",function(a){var b=this;a.text=a.text||function(a){return a[this.settings.labelField]},this.onKeyDown=function(){var c=b.onKeyDown;return function(b){var d,e;return b.keyCode===l&&""===this.$control_input.val()&&!this.$activeItems.length&&(d=this.caretPos-1,d>=0&&d .selectize-input > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0,0,0,0.06) !important; + border: 0 none !important; + .selectize-box-shadow(inset 0 0 12px 4px #fff); + } + .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; + } + .ui-sortable-helper { + .selectize-box-shadow(0 2px 5px rgba(0,0,0,0.2)); + } +} \ No newline at end of file diff --git a/dist/less/plugins/dropdown_header.less b/dist/less/plugins/dropdown_header.less new file mode 100644 index 000000000..c3e777e16 --- /dev/null +++ b/dist/less/plugins/dropdown_header.less @@ -0,0 +1,20 @@ +.selectize-dropdown-header { + position: relative; + padding: @selectize-padding-dropdown-item-y @selectize-padding-dropdown-item-x; + border-bottom: 1px solid @selectize-color-border; + background: mix(@selectize-color-dropdown, @selectize-color-border, 85%); + .selectize-border-radius(@selectize-border-radius @selectize-border-radius 0 0); +} +.selectize-dropdown-header-close { + position: absolute; + right: @selectize-padding-dropdown-item-x; + top: 50%; + color: @selectize-color-text; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; +} +.selectize-dropdown-header-close:hover { + color: darken(@selectize-color-text, 25%); +} \ No newline at end of file diff --git a/dist/less/plugins/optgroup_columns.less b/dist/less/plugins/optgroup_columns.less new file mode 100644 index 000000000..218a2df3a --- /dev/null +++ b/dist/less/plugins/optgroup_columns.less @@ -0,0 +1,13 @@ +.selectize-dropdown.plugin-optgroup_columns { + .optgroup { + border-right: 1px solid #f2f2f2; + float: left; + .selectize-box-sizing(border-box); + } + .optgroup:last-child { + border-right: 0 none; + } + .optgroup-header { + border-top: 0 none; + } +} \ No newline at end of file diff --git a/dist/less/plugins/remove_button.less b/dist/less/plugins/remove_button.less new file mode 100644 index 000000000..94fe46ea1 --- /dev/null +++ b/dist/less/plugins/remove_button.less @@ -0,0 +1,30 @@ +.selectize-control.plugin-remove_button { + .item { + position: relative; + padding-right: 24px !important; + } + .item .remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 17px; + text-align: center; + font-size: 12px; + font-weight: bold; + color: inherit; + vertical-align: middle; + display: inline-block; + padding: 7px 0 0 0; + line-height: 8px; + border-left: 1px solid @selectize-color-item-border; + .selectize-border-radius(0 2px 2px 0); + .selectize-box-sizing(border-box); + } + .item .remove:hover { + background: rgba(0,0,0,0.05); + } + .item.active .remove { + border-left-color: @selectize-color-item-active-border; + } +} \ No newline at end of file diff --git a/dist/less/selectize.bootstrap2.less b/dist/less/selectize.bootstrap2.less index ecb5918bb..d1a353016 100644 --- a/dist/less/selectize.bootstrap2.less +++ b/dist/less/selectize.bootstrap2.less @@ -1,5 +1,5 @@ /** - * selectize.css (v@@version) - Bootstrap 2 Theme + * selectize.bootstrap2.css (v0.6.14) - Bootstrap 2 Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -25,19 +25,25 @@ @selectize-color-input: @inputBackground; @selectize-color-input-full: @inputBackground; @selectize-color-disabled: @inputBackground; -@selectize-color-optgroup: inherit; +@selectize-color-item: @btnBackgroundHighlight; +@selectize-color-item-border: @btnBorder; +@selectize-color-item-active: @dropdownLinkBackgroundHover; +@selectize-color-item-active-text: @dropdownLinkColorHover; +@selectize-color-item-active-border: darken(@selectize-color-item-active, 5%); @selectize-color-optgroup-text: @grayLight; @selectize-color-optgroup-border: @dropdownDividerTop; @selectize-color-dropdown: @dropdownBackground; +@selectize-color-dropdown-border: @inputBorder; @selectize-color-dropdown-border-top: @dropdownDividerTop; @selectize-color-dropdown-item-active: @dropdownLinkBackgroundHover; @selectize-color-dropdown-item-active-text: @dropdownLinkColorHover; -@selectize-color-dropdown-item-create-text: inherit; @selectize-color-dropdown-item-create-active-text: @dropdownLinkColorHover; +@selectize-lighten-disabled-item: 8%; +@selectize-lighten-disabled-item-text: 8%; +@selectize-lighten-disabled-item-border: 8%; @selectize-opacity-disabled: 0.5; @selectize-shadow-input: none; @selectize-shadow-input-focus: inset 0 1px 2px rgba(0,0,0,0.15); -@selectize-border: 1px solid @inputBorder; @selectize-border-radius: @inputBorderRadius; @selectize-padding-x: 10px; @@ -57,7 +63,6 @@ @selectize-width-item-border: 1px; .selectize-dropdown { - padding: 5px 0; margin: 2px 0 0 0; z-index: @zindexDropdown; border: 1px solid @dropdownBorder; @@ -86,6 +91,14 @@ } } +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: @selectize-padding-dropdown-item-y * 2 @selectize-padding-dropdown-item-x; +} + .selectize-input { .transition(~"border linear .2s, box-shadow linear .2s"); @@ -131,15 +144,15 @@ } } .selectize-input > div { - .gradientBar(@btnBackground, @btnBackgroundHighlight, @selectize-color-text, none); - *background-color: @btnBackground; - border: @selectize-width-item-border solid @btnBorder; + .gradientBar(@btnBackground, @btnBackgroundHighlight, @selectize-color-item-text, none); + *background-color: @selectize-color-item; + border: @selectize-width-item-border solid @selectize-color-item-border; .border-radius(@baseBorderRadius); .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); &.active { .box-shadow(~"0 1px 2px rgba(0,0,0,.05)"); - .gradientBar(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%), @dropdownLinkColorHover, none); - *background-color: @dropdownLinkBackgroundHover; + .gradientBar(@selectize-color-item-active, @selectize-color-item-active-border, @selectize-color-item-active-text, none); + *background-color: @selectize-color-item-active; border: @selectize-width-item-border solid @dropdownLinkBackgroundHover; } } diff --git a/dist/less/selectize.bootstrap3.less b/dist/less/selectize.bootstrap3.less index bcec4eb86..50de04156 100644 --- a/dist/less/selectize.bootstrap3.less +++ b/dist/less/selectize.bootstrap3.less @@ -1,5 +1,5 @@ /** - * selectize.css (v@@version) - Bootstrap 3 Theme + * selectize.bootstrap3.css (v0.6.14) - Bootstrap 3 Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -25,14 +25,17 @@ @selectize-color-input: @input-bg; @selectize-color-input-full: @input-bg; @selectize-color-disabled: @input-bg; -@selectize-color-optgroup: inherit; +@selectize-color-item: #efefef; +@selectize-color-item-border: rgba(0,0,0,0); +@selectize-color-item-active: @component-active-bg; +@selectize-color-item-active-text: #fff; +@selectize-color-item-active-border: rgba(0,0,0,0); @selectize-color-optgroup-text: @dropdown-header-color; @selectize-color-optgroup-border: @dropdown-divider-bg; @selectize-color-dropdown: @dropdown-bg; @selectize-color-dropdown-border-top: mix(@input-border, @input-bg, 0.8); @selectize-color-dropdown-item-active: @dropdown-link-hover-bg; @selectize-color-dropdown-item-active-text: @dropdown-link-hover-color; -@selectize-color-dropdown-item-create-text: inherit; @selectize-color-dropdown-item-create-active-text: @dropdown-link-hover-color; @selectize-opacity-disabled: 0.5; @selectize-shadow-input: none; @@ -40,6 +43,7 @@ @selectize-border: 1px solid @input-border; @selectize-border-radius: @input-border-radius; +@selectize-width-item-border: 0; @selectize-padding-x: @padding-base-horizontal; @selectize-padding-y: @padding-base-vertical; @selectize-padding-dropdown-item-x: @padding-base-horizontal; @@ -55,7 +59,6 @@ @selectize-arrow-offset: @selectize-padding-x + 5px; .selectize-dropdown { - padding: 5px 0; margin: 2px 0 0 0; z-index: @zindex-dropdown; border: 1px solid @dropdown-fallback-border; @@ -79,6 +82,14 @@ } } +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: @selectize-padding-dropdown-item-y * 2 @selectize-padding-dropdown-item-x; +} + .selectize-input { min-height: @input-height-base; @@ -105,12 +116,6 @@ } .selectize-input > div { .selectize-border-radius(@selectize-border-radius - 1px); - background: #efefef; - - &.active { - background: @component-active-bg; - color: #fff; - } } } } \ No newline at end of file diff --git a/dist/less/selectize.default.less b/dist/less/selectize.default.less index 814048792..441a71aa1 100644 --- a/dist/less/selectize.default.less +++ b/dist/less/selectize.default.less @@ -1,5 +1,5 @@ /** - * selectize.css (v@@version) - Default Theme + * selectize.default.css (v0.6.14) - Default Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -16,19 +16,21 @@ @import "selectize"; +@selectize-color-item: #b8e76f; +@selectize-color-item-text: #3d5d18; +@selectize-color-item-border: #74b21e; +@selectize-color-item-active: #92c836; +@selectize-color-item-active-border: #6f9839; @selectize-width-item-border: 1px; .selectize-control { &.multi { .selectize-input > div { - color: #3d5d18; text-shadow: 0 1px 0 rgba(255,255,255,0.1); - border: @selectize-width-item-border solid #74b21e; .selectize-border-radius(3px); .selectize-vertical-gradient(#b8e76f, #a9e25c); .selectize-box-shadow(0 1px 1px rgba(0,0,0,0.1)); &.active { - border-color: #6f9839; .selectize-vertical-gradient(#92c836, #7abc2c); } } diff --git a/dist/less/selectize.less b/dist/less/selectize.less index 748aa7d9c..976912dcd 100644 --- a/dist/less/selectize.less +++ b/dist/less/selectize.less @@ -1,25 +1,44 @@ +@import "plugins/drag_drop"; +@import "plugins/dropdown_header"; +@import "plugins/optgroup_columns"; +@import "plugins/remove_button"; + +// base styles + @selectize-font-family: inherit; @selectize-font-smoothing: inherit; @selectize-font-size: 14px; @selectize-line-height: 20px; @selectize-color-text: #303030; +@selectize-color-border: #d0d0d0; @selectize-color-highlight: rgba(255,237,40,0.4); @selectize-color-input: #fff; @selectize-color-input-full: #f2f2f2; @selectize-color-disabled: #fafafa; +@selectize-color-item: #f2f2f2; +@selectize-color-item-text: @selectize-color-text; +@selectize-color-item-border: #d0d0d0; +@selectize-color-item-active: #e8e8e8; +@selectize-color-item-active-text: @selectize-color-text; +@selectize-color-item-active-border: #cacaca; @selectize-color-optgroup: #f8f8f8; -@selectize-color-optgroup-text: inherit; +@selectize-color-optgroup-text: @selectize-color-text; @selectize-color-dropdown: #fff; +@selectize-color-dropdown-border: @selectize-color-border; @selectize-color-dropdown-border-top: #f0f0f0; @selectize-color-dropdown-item-active: #fffceb; -@selectize-color-dropdown-item-active-text: inherit; +@selectize-color-dropdown-item-active-text: @selectize-color-text; @selectize-color-dropdown-item-create-text: #a0a0a0; @selectize-color-dropdown-item-create-active-text: #a0a0a0; +@selectize-lighten-disabled-item: 30%; +@selectize-lighten-disabled-item-text: 30%; +@selectize-lighten-disabled-item-border: 30%; @selectize-opacity-disabled: 0.5; + @selectize-shadow-input: inset 0 1px 1px rgba(0,0,0,0.1); @selectize-shadow-input-focus: inset 0 1px 2px rgba(0,0,0,0.15); -@selectize-border: 1px solid #d0d0d0; +@selectize-border: 1px solid @selectize-color-border; @selectize-border-radius: 3px; @selectize-width-item-border: 0; @@ -111,7 +130,7 @@ &.full { background-color: @selectize-color-input-full; } - &.disabled, &.disabled input { + &.disabled, &.disabled * { cursor: default !important; } &.focus { @@ -132,6 +151,22 @@ cursor: pointer; margin: 0 @selectize-margin-item-x @selectize-margin-item-y 0; padding: @selectize-padding-item-y @selectize-padding-item-x; + background: @selectize-color-item; + color: @selectize-color-item-text; + border: @selectize-width-item-border solid @selectize-color-item-border; + + &.active { + background: @selectize-color-item-active; + color: @selectize-color-item-active-text; + border: @selectize-width-item-border solid @selectize-color-item-active-border; + } + } + .selectize-control.multi &.disabled > div { + &, &.active { + color: lighten(desaturate(@selectize-color-item-text, 100%), @selectize-lighten-disabled-item-text); + background: lighten(desaturate(@selectize-color-item, 100%), @selectize-lighten-disabled-item); + border: @selectize-width-item-border solid lighten(desaturate(@selectize-color-item-border, 100%), @selectize-lighten-disabled-item-border); + } } > input { padding: 0 !important; diff --git a/examples/plugins.html b/examples/plugins.html index 36d28f446..36f33fd00 100644 --- a/examples/plugins.html +++ b/examples/plugins.html @@ -17,199 +17,6 @@ -
diff --git a/src/css/selectize.bootstrap2.less b/src/css/selectize.bootstrap2.less index ecb5918bb..30223a4b0 100644 --- a/src/css/selectize.bootstrap2.less +++ b/src/css/selectize.bootstrap2.less @@ -1,5 +1,5 @@ /** - * selectize.css (v@@version) - Bootstrap 2 Theme + * selectize.bootstrap2.css (v@@version) - Bootstrap 2 Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -25,19 +25,25 @@ @selectize-color-input: @inputBackground; @selectize-color-input-full: @inputBackground; @selectize-color-disabled: @inputBackground; -@selectize-color-optgroup: inherit; +@selectize-color-item: @btnBackgroundHighlight; +@selectize-color-item-border: @btnBorder; +@selectize-color-item-active: @dropdownLinkBackgroundHover; +@selectize-color-item-active-text: @dropdownLinkColorHover; +@selectize-color-item-active-border: darken(@selectize-color-item-active, 5%); @selectize-color-optgroup-text: @grayLight; @selectize-color-optgroup-border: @dropdownDividerTop; @selectize-color-dropdown: @dropdownBackground; +@selectize-color-dropdown-border: @inputBorder; @selectize-color-dropdown-border-top: @dropdownDividerTop; @selectize-color-dropdown-item-active: @dropdownLinkBackgroundHover; @selectize-color-dropdown-item-active-text: @dropdownLinkColorHover; -@selectize-color-dropdown-item-create-text: inherit; @selectize-color-dropdown-item-create-active-text: @dropdownLinkColorHover; +@selectize-lighten-disabled-item: 8%; +@selectize-lighten-disabled-item-text: 8%; +@selectize-lighten-disabled-item-border: 8%; @selectize-opacity-disabled: 0.5; @selectize-shadow-input: none; @selectize-shadow-input-focus: inset 0 1px 2px rgba(0,0,0,0.15); -@selectize-border: 1px solid @inputBorder; @selectize-border-radius: @inputBorderRadius; @selectize-padding-x: 10px; @@ -57,7 +63,6 @@ @selectize-width-item-border: 1px; .selectize-dropdown { - padding: 5px 0; margin: 2px 0 0 0; z-index: @zindexDropdown; border: 1px solid @dropdownBorder; @@ -86,6 +91,14 @@ } } +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: @selectize-padding-dropdown-item-y * 2 @selectize-padding-dropdown-item-x; +} + .selectize-input { .transition(~"border linear .2s, box-shadow linear .2s"); @@ -131,15 +144,15 @@ } } .selectize-input > div { - .gradientBar(@btnBackground, @btnBackgroundHighlight, @selectize-color-text, none); - *background-color: @btnBackground; - border: @selectize-width-item-border solid @btnBorder; + .gradientBar(@btnBackground, @btnBackgroundHighlight, @selectize-color-item-text, none); + *background-color: @selectize-color-item; + border: @selectize-width-item-border solid @selectize-color-item-border; .border-radius(@baseBorderRadius); .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); &.active { .box-shadow(~"0 1px 2px rgba(0,0,0,.05)"); - .gradientBar(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%), @dropdownLinkColorHover, none); - *background-color: @dropdownLinkBackgroundHover; + .gradientBar(@selectize-color-item-active, @selectize-color-item-active-border, @selectize-color-item-active-text, none); + *background-color: @selectize-color-item-active; border: @selectize-width-item-border solid @dropdownLinkBackgroundHover; } } diff --git a/src/css/selectize.bootstrap3.less b/src/css/selectize.bootstrap3.less index bcec4eb86..5519228c0 100644 --- a/src/css/selectize.bootstrap3.less +++ b/src/css/selectize.bootstrap3.less @@ -1,5 +1,5 @@ /** - * selectize.css (v@@version) - Bootstrap 3 Theme + * selectize.bootstrap3.css (v@@version) - Bootstrap 3 Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -25,14 +25,17 @@ @selectize-color-input: @input-bg; @selectize-color-input-full: @input-bg; @selectize-color-disabled: @input-bg; -@selectize-color-optgroup: inherit; +@selectize-color-item: #efefef; +@selectize-color-item-border: rgba(0,0,0,0); +@selectize-color-item-active: @component-active-bg; +@selectize-color-item-active-text: #fff; +@selectize-color-item-active-border: rgba(0,0,0,0); @selectize-color-optgroup-text: @dropdown-header-color; @selectize-color-optgroup-border: @dropdown-divider-bg; @selectize-color-dropdown: @dropdown-bg; @selectize-color-dropdown-border-top: mix(@input-border, @input-bg, 0.8); @selectize-color-dropdown-item-active: @dropdown-link-hover-bg; @selectize-color-dropdown-item-active-text: @dropdown-link-hover-color; -@selectize-color-dropdown-item-create-text: inherit; @selectize-color-dropdown-item-create-active-text: @dropdown-link-hover-color; @selectize-opacity-disabled: 0.5; @selectize-shadow-input: none; @@ -40,6 +43,7 @@ @selectize-border: 1px solid @input-border; @selectize-border-radius: @input-border-radius; +@selectize-width-item-border: 0; @selectize-padding-x: @padding-base-horizontal; @selectize-padding-y: @padding-base-vertical; @selectize-padding-dropdown-item-x: @padding-base-horizontal; @@ -55,7 +59,6 @@ @selectize-arrow-offset: @selectize-padding-x + 5px; .selectize-dropdown { - padding: 5px 0; margin: 2px 0 0 0; z-index: @zindex-dropdown; border: 1px solid @dropdown-fallback-border; @@ -79,6 +82,14 @@ } } +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: @selectize-padding-dropdown-item-y * 2 @selectize-padding-dropdown-item-x; +} + .selectize-input { min-height: @input-height-base; @@ -105,12 +116,6 @@ } .selectize-input > div { .selectize-border-radius(@selectize-border-radius - 1px); - background: #efefef; - - &.active { - background: @component-active-bg; - color: #fff; - } } } } \ No newline at end of file diff --git a/src/css/selectize.default.less b/src/css/selectize.default.less index 814048792..b61b6c906 100644 --- a/src/css/selectize.default.less +++ b/src/css/selectize.default.less @@ -1,5 +1,5 @@ /** - * selectize.css (v@@version) - Default Theme + * selectize.default.css (v@@version) - Default Theme * Copyright (c) 2013 Brian Reavis & contributors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this @@ -16,19 +16,21 @@ @import "selectize"; +@selectize-color-item: #b8e76f; +@selectize-color-item-text: #3d5d18; +@selectize-color-item-border: #74b21e; +@selectize-color-item-active: #92c836; +@selectize-color-item-active-border: #6f9839; @selectize-width-item-border: 1px; .selectize-control { &.multi { .selectize-input > div { - color: #3d5d18; text-shadow: 0 1px 0 rgba(255,255,255,0.1); - border: @selectize-width-item-border solid #74b21e; .selectize-border-radius(3px); .selectize-vertical-gradient(#b8e76f, #a9e25c); .selectize-box-shadow(0 1px 1px rgba(0,0,0,0.1)); &.active { - border-color: #6f9839; .selectize-vertical-gradient(#92c836, #7abc2c); } } diff --git a/src/css/selectize.less b/src/css/selectize.less index 748aa7d9c..c0bf343ec 100644 --- a/src/css/selectize.less +++ b/src/css/selectize.less @@ -1,25 +1,39 @@ +// base styles + @selectize-font-family: inherit; @selectize-font-smoothing: inherit; @selectize-font-size: 14px; @selectize-line-height: 20px; @selectize-color-text: #303030; +@selectize-color-border: #d0d0d0; @selectize-color-highlight: rgba(255,237,40,0.4); @selectize-color-input: #fff; @selectize-color-input-full: #f2f2f2; @selectize-color-disabled: #fafafa; +@selectize-color-item: #f2f2f2; +@selectize-color-item-text: @selectize-color-text; +@selectize-color-item-border: #d0d0d0; +@selectize-color-item-active: #e8e8e8; +@selectize-color-item-active-text: @selectize-color-text; +@selectize-color-item-active-border: #cacaca; @selectize-color-optgroup: #f8f8f8; -@selectize-color-optgroup-text: inherit; +@selectize-color-optgroup-text: @selectize-color-text; @selectize-color-dropdown: #fff; +@selectize-color-dropdown-border: @selectize-color-border; @selectize-color-dropdown-border-top: #f0f0f0; @selectize-color-dropdown-item-active: #fffceb; -@selectize-color-dropdown-item-active-text: inherit; +@selectize-color-dropdown-item-active-text: @selectize-color-text; @selectize-color-dropdown-item-create-text: #a0a0a0; @selectize-color-dropdown-item-create-active-text: #a0a0a0; +@selectize-lighten-disabled-item: 30%; +@selectize-lighten-disabled-item-text: 30%; +@selectize-lighten-disabled-item-border: 30%; @selectize-opacity-disabled: 0.5; + @selectize-shadow-input: inset 0 1px 1px rgba(0,0,0,0.1); @selectize-shadow-input-focus: inset 0 1px 2px rgba(0,0,0,0.15); -@selectize-border: 1px solid #d0d0d0; +@selectize-border: 1px solid @selectize-color-border; @selectize-border-radius: 3px; @selectize-width-item-border: 0; @@ -111,7 +125,7 @@ &.full { background-color: @selectize-color-input-full; } - &.disabled, &.disabled input { + &.disabled, &.disabled * { cursor: default !important; } &.focus { @@ -132,6 +146,22 @@ cursor: pointer; margin: 0 @selectize-margin-item-x @selectize-margin-item-y 0; padding: @selectize-padding-item-y @selectize-padding-item-x; + background: @selectize-color-item; + color: @selectize-color-item-text; + border: @selectize-width-item-border solid @selectize-color-item-border; + + &.active { + background: @selectize-color-item-active; + color: @selectize-color-item-active-text; + border: @selectize-width-item-border solid @selectize-color-item-active-border; + } + } + .selectize-control.multi &.disabled > div { + &, &.active { + color: lighten(desaturate(@selectize-color-item-text, 100%), @selectize-lighten-disabled-item-text); + background: lighten(desaturate(@selectize-color-item, 100%), @selectize-lighten-disabled-item); + border: @selectize-width-item-border solid lighten(desaturate(@selectize-color-item-border, 100%), @selectize-lighten-disabled-item-border); + } } > input { padding: 0 !important; diff --git a/src/plugins/drag_drop/plugin.css b/src/plugins/drag_drop/plugin.css deleted file mode 100644 index 2773ac6d0..000000000 --- a/src/plugins/drag_drop/plugin.css +++ /dev/null @@ -1,18 +0,0 @@ -.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { - visibility: visible !important; - background: #f2f2f2 !important; - background: rgba(0,0,0,0.06) !important; - border: 0 none !important; - -webkit-box-shadow: inset 0 0 12px 4px #fff; - -moz-box-shadow: inset 0 0 12px 4px #fff; - box-shadow: inset 0 0 12px 4px #fff; -} -.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { - content: '!'; - visibility: hidden; -} -.selectize-control.plugin-drag_drop .ui-sortable-helper { - -webkit-box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important; - -moz-box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important; - box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important; -} \ No newline at end of file diff --git a/src/plugins/drag_drop/plugin.less b/src/plugins/drag_drop/plugin.less new file mode 100644 index 000000000..9d42e4ac2 --- /dev/null +++ b/src/plugins/drag_drop/plugin.less @@ -0,0 +1,16 @@ +.selectize-control.plugin-drag_drop { + &.multi > .selectize-input > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0,0,0,0.06) !important; + border: 0 none !important; + .selectize-box-shadow(inset 0 0 12px 4px #fff); + } + .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; + } + .ui-sortable-helper { + .selectize-box-shadow(0 2px 5px rgba(0,0,0,0.2)); + } +} \ No newline at end of file diff --git a/src/plugins/dropdown_header/plugin.css b/src/plugins/dropdown_header/plugin.css deleted file mode 100644 index 33d5b969a..000000000 --- a/src/plugins/dropdown_header/plugin.css +++ /dev/null @@ -1,14 +0,0 @@ -.selectize-dropdown-header { - padding: 6px 9px; - -moz-border-radius: 3px 3px 0 0; - -webkit-border-radius: 3px 3px 0 0; - border-radius: 3px 3px 0 0; -} -.selectize-dropdown-header-close { - float: right; - color: #ddd; - font-size: 20px !important; -} -.selectize-dropdown-header-close:hover { - color: #aaa; -} \ No newline at end of file diff --git a/src/plugins/dropdown_header/plugin.less b/src/plugins/dropdown_header/plugin.less new file mode 100644 index 000000000..c3e777e16 --- /dev/null +++ b/src/plugins/dropdown_header/plugin.less @@ -0,0 +1,20 @@ +.selectize-dropdown-header { + position: relative; + padding: @selectize-padding-dropdown-item-y @selectize-padding-dropdown-item-x; + border-bottom: 1px solid @selectize-color-border; + background: mix(@selectize-color-dropdown, @selectize-color-border, 85%); + .selectize-border-radius(@selectize-border-radius @selectize-border-radius 0 0); +} +.selectize-dropdown-header-close { + position: absolute; + right: @selectize-padding-dropdown-item-x; + top: 50%; + color: @selectize-color-text; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; +} +.selectize-dropdown-header-close:hover { + color: darken(@selectize-color-text, 25%); +} \ No newline at end of file diff --git a/src/plugins/optgroup_columns/plugin.css b/src/plugins/optgroup_columns/plugin.css deleted file mode 100644 index df731cafe..000000000 --- a/src/plugins/optgroup_columns/plugin.css +++ /dev/null @@ -1,13 +0,0 @@ -.selectize-control.plugin-optgroup_columns .optgroup { - border-right: 1px solid #f2f2f2; - float: left; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.selectize-control.plugin-optgroup_columns .optgroup:last-child { - border-right: 0 none; -} -.selectize-control.plugin-optgroup_columns .optgroup-header { - border-top: 0 none; -} \ No newline at end of file diff --git a/src/plugins/optgroup_columns/plugin.less b/src/plugins/optgroup_columns/plugin.less new file mode 100644 index 000000000..218a2df3a --- /dev/null +++ b/src/plugins/optgroup_columns/plugin.less @@ -0,0 +1,13 @@ +.selectize-dropdown.plugin-optgroup_columns { + .optgroup { + border-right: 1px solid #f2f2f2; + float: left; + .selectize-box-sizing(border-box); + } + .optgroup:last-child { + border-right: 0 none; + } + .optgroup-header { + border-top: 0 none; + } +} \ No newline at end of file diff --git a/src/plugins/remove_button/plugin.css b/src/plugins/remove_button/plugin.css deleted file mode 100644 index 04bb987fc..000000000 --- a/src/plugins/remove_button/plugin.css +++ /dev/null @@ -1,30 +0,0 @@ -.selectize-control.plugin-remove_button .item { - position: relative; - padding-right: 24px !important; -} -.selectize-control.plugin-remove_button .item .remove { - position: absolute; - top: 0; - right: 0; - bottom: 0; - width: 17px; - -moz-sizing: border-box; - -webkit-sizing: border-box; - box-sizing: border-box; - text-align: center; - font-size: 12px; - font-weight: bold; - color: inherit; - vertical-align: middle; - display: inline-block; - padding: 7px 0 0 0; - line-height: 8px; - -webkit-border-radius: 0 2px 2px 0; - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; - border-left: 1px solid #74b21e; -} -.selectize-control.plugin-remove_button .item .remove:hover { - border-left-color: #5e8f1a; - background: rgba(50,90,0,0.15); -} \ No newline at end of file diff --git a/src/plugins/remove_button/plugin.less b/src/plugins/remove_button/plugin.less new file mode 100644 index 000000000..94fe46ea1 --- /dev/null +++ b/src/plugins/remove_button/plugin.less @@ -0,0 +1,30 @@ +.selectize-control.plugin-remove_button { + .item { + position: relative; + padding-right: 24px !important; + } + .item .remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 17px; + text-align: center; + font-size: 12px; + font-weight: bold; + color: inherit; + vertical-align: middle; + display: inline-block; + padding: 7px 0 0 0; + line-height: 8px; + border-left: 1px solid @selectize-color-item-border; + .selectize-border-radius(0 2px 2px 0); + .selectize-box-sizing(border-box); + } + .item .remove:hover { + background: rgba(0,0,0,0.05); + } + .item.active .remove { + border-left-color: @selectize-color-item-active-border; + } +} \ No newline at end of file diff --git a/src/selectize.js b/src/selectize.js index c16a8088c..67e3b6af1 100644 --- a/src/selectize.js +++ b/src/selectize.js @@ -94,6 +94,7 @@ $.extend(Selectize.prototype, { var timeout_focus; var tab_index; var classes; + var classes_plugins; inputMode = self.settings.mode; tab_index = self.$input.attr('tabindex') || ''; @@ -112,7 +113,9 @@ $.extend(Selectize.prototype, { }); if (self.plugins.length) { - $wrapper.addClass('plugin-' + self.plugins.join(' plugin-')); + classes_plugins = 'plugin-' + self.plugins.join(' plugin-'); + $wrapper.addClass(classes_plugins); + $dropdown.addClass(classes_plugins); } if ((settings.maxItems === null || settings.maxItems > 1) && self.tagType === TAG_SELECT) {