diff --git a/src/www/guiconfig.inc b/src/www/guiconfig.inc index 3e0a7bf4e..4540c5118 100644 --- a/src/www/guiconfig.inc +++ b/src/www/guiconfig.inc @@ -939,8 +939,8 @@ function display_top_tabs(& $tab_array, $no_drop_down = false) { // If the character count of the tab names is > 670 // then show a select item dropdown menubox. if($tabcharcount > $tab_array_char_limit) { - echo gettext("Currently viewing: "); - echo "\n"; foreach ($tab_array as $ta) { if($ta[1]=="true") $selected = " selected=\"selected\""; diff --git a/src/www/head.inc b/src/www/head.inc index c36017ea8..e5cbcd9ed 100644 --- a/src/www/head.inc +++ b/src/www/head.inc @@ -26,7 +26,9 @@ $pagetitle = gentitle( $pgtitle ); <?php echo($config['system']['hostname'] . "." . $config['system']['domain'] . " - " . $pagetitle); ?> - + + + @@ -34,13 +36,11 @@ $pagetitle = gentitle( $pgtitle ); - - - + + + - - diff --git a/src/www/themes/opnsense/LICENSE b/src/www/themes/opnsense/LICENSE new file mode 100644 index 000000000..4e7f5527b --- /dev/null +++ b/src/www/themes/opnsense/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2014 bootstrap-select + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/.jshintrc b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/.jshintrc new file mode 100644 index 000000000..99c92fe3c --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/.jshintrc @@ -0,0 +1,15 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "unused": true, + "boss": true, + "eqnull": true, + "browser": true, + "jquery": true +} diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/bootstrap-select.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/bootstrap-select.js new file mode 100644 index 000000000..3d13c72d7 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/bootstrap-select.js @@ -0,0 +1,1225 @@ +(function ($) { + 'use strict'; + + // Case insensitive search + $.expr[':'].icontains = function (obj, index, meta) { + return icontains($(obj).text(), meta[3]); + }; + + // Case and accent insensitive search + $.expr[':'].aicontains = function (obj, index, meta) { + return icontains($(obj).data('normalizedText') || $(obj).text(), meta[3]); + }; + + /** + * Actual implementation of the case insensitive search. + * @access private + * @param {String} haystack + * @param {String} needle + * @returns {boolean} + */ + function icontains(haystack, needle) { + return haystack.toUpperCase().indexOf(needle.toUpperCase()) > -1; + } + + /** + * Remove all diatrics from the given text. + * @access private + * @param {String} text + * @returns {String} + */ + function normalizeToBase(text) { + var rExps = [ + {re: /[\xC0-\xC6]/g, ch: "A"}, + {re: /[\xE0-\xE6]/g, ch: "a"}, + {re: /[\xC8-\xCB]/g, ch: "E"}, + {re: /[\xE8-\xEB]/g, ch: "e"}, + {re: /[\xCC-\xCF]/g, ch: "I"}, + {re: /[\xEC-\xEF]/g, ch: "i"}, + {re: /[\xD2-\xD6]/g, ch: "O"}, + {re: /[\xF2-\xF6]/g, ch: "o"}, + {re: /[\xD9-\xDC]/g, ch: "U"}, + {re: /[\xF9-\xFC]/g, ch: "u"}, + {re: /[\xC7-\xE7]/g, ch: "c"}, + {re: /[\xD1]/g, ch: "N"}, + {re: /[\xF1]/g, ch: "n"} + ]; + $.each(rExps, function () { + text = text.replace(this.re, this.ch); + }); + return text; + } + + + function htmlEscape(html) { + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var source = '(?:' + Object.keys(escapeMap).join('|') + ')', + testRegexp = new RegExp(source), + replaceRegexp = new RegExp(source, 'g'), + string = html == null ? '' : '' + html; + return testRegexp.test(string) ? string.replace(replaceRegexp, function (match) { + return escapeMap[match]; + }) : string; + } + + var Selectpicker = function (element, options, e) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + + this.$element = $(element); + this.$newElement = null; + this.$button = null; + this.$menu = null; + this.$lis = null; + this.options = options; + + // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a + // data-attribute) + if (this.options.title === null) { + this.options.title = this.$element.attr('title'); + } + + //Expose public methods + this.val = Selectpicker.prototype.val; + this.render = Selectpicker.prototype.render; + this.refresh = Selectpicker.prototype.refresh; + this.setStyle = Selectpicker.prototype.setStyle; + this.selectAll = Selectpicker.prototype.selectAll; + this.deselectAll = Selectpicker.prototype.deselectAll; + this.destroy = Selectpicker.prototype.remove; + this.remove = Selectpicker.prototype.remove; + this.show = Selectpicker.prototype.show; + this.hide = Selectpicker.prototype.hide; + + this.init(); + }; + + Selectpicker.VERSION = '1.6.3'; + + // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both. + Selectpicker.DEFAULTS = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results matched {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ', + style: 'btn-default', + size: 'auto', + title: null, + selectedTextFormat: 'values', + width: false, + container: false, + hideDisabled: false, + showSubtext: false, + showIcon: true, + showContent: true, + dropupAuto: true, + header: false, + liveSearch: false, + liveSearchPlaceholder: null, + actionsBox: false, + iconBase: 'glyphicon', + tickIcon: 'glyphicon-ok', + maxOptions: false, + mobile: false, + selectOnTab: false, + dropdownAlignRight: false, + searchAccentInsensitive: false + }; + + Selectpicker.prototype = { + + constructor: Selectpicker, + + init: function () { + var that = this, + id = this.$element.attr('id'); + + this.$element.hide(); + this.multiple = this.$element.prop('multiple'); + this.autofocus = this.$element.prop('autofocus'); + this.$newElement = this.createView(); + this.$element.after(this.$newElement); + this.$menu = this.$newElement.children('.dropdown-menu'); + this.$button = this.$newElement.children('button'); + this.$searchbox = this.$newElement.find('input'); + + if (this.options.dropdownAlignRight) + this.$menu.addClass('dropdown-menu-right'); + + if (typeof id !== 'undefined') { + this.$button.attr('data-id', id); + $('label[for="' + id + '"]').click(function (e) { + e.preventDefault(); + that.$button.focus(); + }); + } + + this.checkDisabled(); + this.clickListener(); + if (this.options.liveSearch) this.liveSearchListener(); + this.render(); + this.liHeight(); + this.setStyle(); + this.setWidth(); + if (this.options.container) this.selectPosition(); + this.$menu.data('this', this); + this.$newElement.data('this', this); + if (this.options.mobile) this.mobile(); + }, + + createDropdown: function () { + // Options + // If we are multiple, then add the show-tick class by default + var multiple = this.multiple ? ' show-tick' : '', + inputGroup = this.$element.parent().hasClass('input-group') ? ' input-group-btn' : '', + autofocus = this.autofocus ? ' autofocus' : ''; + // Elements + var header = this.options.header ? '
' + this.options.header + '
' : ''; + var searchbox = this.options.liveSearch ? + '' + : ''; + var actionsbox = this.options.actionsBox ? + '
' + + '
' + + '' + + '' + + '
' + + '
' + : ''; + var drop = + '
' + + '' + + '' + + '
'; + + return $(drop); + }, + + createView: function () { + var $drop = this.createDropdown(); + var $li = this.createLi(); + $drop.find('ul').append($li); + return $drop; + }, + + reloadLi: function () { + //Remove all children. + this.destroyLi(); + //Re build + var $li = this.createLi(); + this.$menu.find('ul').append($li); + }, + + destroyLi: function () { + this.$menu.find('li').remove(); + }, + + createLi: function () { + var that = this, + _li = [], + optID = 0; + + // Helper functions + /** + * @param content + * @param [index] + * @param [classes] + * @param [optgroup] + * @returns {string} + */ + var generateLI = function (content, index, classes, optgroup) { + return '' + content + ''; + }; + + /** + * @param text + * @param [classes] + * @param [inline] + * @returns {string} + */ + var generateA = function (text, classes, inline) { + var normText = normalizeToBase(htmlEscape(text)); + return '' + text + + '' + + ''; + }; + + this.$element.find('option').each(function (index) { + var $this = $(this); + + // Get the class and text for the option + var optionClass = $this.attr('class') || '', + inline = $this.attr('style'), + text = $this.data('content') ? $this.data('content') : $this.html(), + subtext = typeof $this.data('subtext') !== 'undefined' ? '' + $this.data('subtext') + '' : '', + icon = typeof $this.data('icon') !== 'undefined' ? ' ' : '', + isDisabled = $this.is(':disabled') || $this.parent().is(':disabled'); + if (icon !== '' && isDisabled) { + icon = '' + icon + ''; + } + + if (!$this.data('content')) { + // Prepend any icon and append any subtext to the main text. + text = icon + '' + text + subtext + ''; + } + + if (that.options.hideDisabled && isDisabled) { + return; + } + + if ($this.parent().is('optgroup') && $this.data('divider') !== true) { + if ($this.index() === 0) { // Is it the first option of the optgroup? + optID += 1; + + // Get the opt group label + var label = $this.parent().attr('label'); + var labelSubtext = typeof $this.parent().data('subtext') !== 'undefined' ? '' + $this.parent().data('subtext') + '' : ''; + var labelIcon = $this.parent().data('icon') ? ' ' : ''; + label = labelIcon + '' + label + labelSubtext + ''; + + if (index !== 0 && _li.length > 0) { // Is it NOT the first option of the select && are there elements in the dropdown? + _li.push(generateLI('', null, 'divider')); + } + + _li.push(generateLI(label, null, 'dropdown-header', optID)); + } + + _li.push(generateLI(generateA(text, 'opt ' + optionClass, inline), index, '', optID)); + } else if ($this.data('divider') === true) { + _li.push(generateLI('', index, 'divider')); + } else if ($this.data('hidden') === true) { + _li.push(generateLI(generateA(text, optionClass, inline), index, 'hidden is-hidden')); + } else { + _li.push(generateLI(generateA(text, optionClass, inline), index)); + } + }); + + //If we are not multiple, we don't have a selected item, and we don't have a title, select the first element so something is set in the button + if (!this.multiple && this.$element.find('option:selected').length === 0 && !this.options.title) { + this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected'); + } + + return $(_li.join('')); + }, + + findLis: function () { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + return this.$lis; + }, + + /** + * @param [updateLi] defaults to true + */ + render: function (updateLi) { + var that = this; + + //Update the LI to match the SELECT + if (updateLi !== false) { + this.$element.find('option').each(function (index) { + that.setDisabled(index, $(this).is(':disabled') || $(this).parent().is(':disabled')); + that.setSelected(index, $(this).is(':selected')); + }); + } + + this.tabIndex(); + var notDisabled = this.options.hideDisabled ? ':not([disabled])' : ''; + var selectedItems = this.$element.find('option:selected' + notDisabled).map(function () { + var $this = $(this); + var icon = $this.data('icon') && that.options.showIcon ? ' ' : ''; + var subtext; + if (that.options.showSubtext && $this.attr('data-subtext') && !that.multiple) { + subtext = ' ' + $this.data('subtext') + ''; + } else { + subtext = ''; + } + if (typeof $this.attr('title') !== 'undefined') { + return $this.attr('title'); + } else if ($this.data('content') && that.options.showContent) { + return $this.data('content'); + } else { + return icon + $this.html() + subtext; + } + }).toArray(); + + //Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled + //Convert all the values into a comma delimited string + var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator); + + //If this is multi select, and the selectText type is count, the show 1 of 2 selected etc.. + if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) { + var max = this.options.selectedTextFormat.split('>'); + if ((max.length > 1 && selectedItems.length > max[1]) || (max.length == 1 && selectedItems.length >= 2)) { + notDisabled = this.options.hideDisabled ? ', [disabled]' : ''; + var totalCount = this.$element.find('option').not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length, + tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText; + title = tr8nText.replace('{0}', selectedItems.length.toString()).replace('{1}', totalCount.toString()); + } + } + + this.options.title = this.$element.attr('title'); + + if (this.options.selectedTextFormat == 'static') { + title = this.options.title; + } + + //If we dont have a title, then use the default, or if nothing is set at all, use the not selected text + if (!title) { + title = typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText; + } + + //strip all html-tags and trim the result + this.$button.attr('title', $.trim(title.replace(/<[^>]*>?/g, ''))); + this.$newElement.find('.filter-option').html(title); + }, + + /** + * @param [style] + * @param [status] + */ + setStyle: function (style, status) { + if (this.$element.attr('class')) { + this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|validate\[.*\]/gi, '')); + } + + var buttonClass = style ? style : this.options.style; + + if (status == 'add') { + this.$button.addClass(buttonClass); + } else if (status == 'remove') { + this.$button.removeClass(buttonClass); + } else { + this.$button.removeClass(this.options.style); + this.$button.addClass(buttonClass); + } + }, + + liHeight: function () { + if (this.options.size === false) return; + + var $selectClone = this.$menu.parent().clone().children('.dropdown-toggle').prop('autofocus', false).end().appendTo('body'), + $menuClone = $selectClone.addClass('open').children('.dropdown-menu'), + liHeight = $menuClone.find('li').not('.divider').not('.dropdown-header').filter(':visible').children('a').outerHeight(), + headerHeight = this.options.header ? $menuClone.find('.popover-title').outerHeight() : 0, + searchHeight = this.options.liveSearch ? $menuClone.find('.bs-searchbox').outerHeight() : 0, + actionsHeight = this.options.actionsBox ? $menuClone.find('.bs-actionsbox').outerHeight() : 0; + + $selectClone.remove(); + + this.$newElement + .data('liHeight', liHeight) + .data('headerHeight', headerHeight) + .data('searchHeight', searchHeight) + .data('actionsHeight', actionsHeight); + }, + + setSize: function () { + this.findLis(); + var that = this, + menu = this.$menu, + menuInner = menu.find('.inner'), + selectHeight = this.$newElement.outerHeight(), + liHeight = this.$newElement.data('liHeight'), + headerHeight = this.$newElement.data('headerHeight'), + searchHeight = this.$newElement.data('searchHeight'), + actionsHeight = this.$newElement.data('actionsHeight'), + divHeight = this.$lis.filter('.divider').outerHeight(true), + menuPadding = parseInt(menu.css('padding-top')) + + parseInt(menu.css('padding-bottom')) + + parseInt(menu.css('border-top-width')) + + parseInt(menu.css('border-bottom-width')), + notDisabled = this.options.hideDisabled ? ', .disabled' : '', + $window = $(window), + menuExtras = menuPadding + parseInt(menu.css('margin-top')) + parseInt(menu.css('margin-bottom')) + 2, + menuHeight, + selectOffsetTop, + selectOffsetBot, + posVert = function () { + // JQuery defines a scrollTop function, but in pure JS it's a property + //noinspection JSValidateTypes + selectOffsetTop = that.$newElement.offset().top - $window.scrollTop(); + selectOffsetBot = $window.height() - selectOffsetTop - selectHeight; + }; + posVert(); + if (this.options.header) menu.css('padding-top', 0); + + if (this.options.size == 'auto') { + var getSize = function () { + var minHeight, + lisVis = that.$lis.not('.hidden'); + + posVert(); + menuHeight = selectOffsetBot - menuExtras; + + if (that.options.dropupAuto) { + that.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras) < menu.height()); + } + if (that.$newElement.hasClass('dropup')) { + menuHeight = selectOffsetTop - menuExtras; + } + + if ((lisVis.length + lisVis.filter('.dropdown-header').length) > 3) { + minHeight = liHeight * 3 + menuExtras - 2; + } else { + minHeight = 0; + } + + menu.css({ + 'max-height': menuHeight + 'px', + 'overflow': 'hidden', + 'min-height': minHeight + headerHeight + searchHeight + actionsHeight + 'px' + }); + menuInner.css({ + 'max-height': menuHeight - headerHeight - searchHeight - actionsHeight - menuPadding + 'px', + 'overflow-y': 'auto', + 'min-height': Math.max(minHeight - menuPadding, 0) + 'px' + }); + }; + getSize(); + this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize', getSize); + $window.off('resize.getSize').on('resize.getSize', getSize); + $window.off('scroll.getSize').on('scroll.getSize', getSize); + } else if (this.options.size && this.options.size != 'auto' && menu.find('li' + notDisabled).length > this.options.size) { + var optIndex = this.$lis.not('.divider' + notDisabled).children().slice(0, this.options.size).last().parent().index(); + var divLength = this.$lis.slice(0, optIndex + 1).filter('.divider').length; + menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding; + if (that.options.dropupAuto) { + //noinspection JSUnusedAssignment + this.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && menuHeight < menu.height()); + } + menu.css({'max-height': menuHeight + headerHeight + searchHeight + actionsHeight + 'px', 'overflow': 'hidden'}); + menuInner.css({'max-height': menuHeight - menuPadding + 'px', 'overflow-y': 'auto'}); + } + }, + + setWidth: function () { + if (this.options.width == 'auto') { + this.$menu.css('min-width', '0'); + + // Get correct width if element hidden + var selectClone = this.$newElement.clone().appendTo('body'); + var ulWidth = selectClone.children('.dropdown-menu').css('width'); + var btnWidth = selectClone.css('width', 'auto').children('button').css('width'); + selectClone.remove(); + + // Set width to whatever's larger, button title or longest option + this.$newElement.css('width', Math.max(parseInt(ulWidth), parseInt(btnWidth)) + 'px'); + } else if (this.options.width == 'fit') { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', '').addClass('fit-width'); + } else if (this.options.width) { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', this.options.width); + } else { + // Remove inline min-width/width so width can be changed + this.$menu.css('min-width', ''); + this.$newElement.css('width', ''); + } + // Remove fit-width class if width is changed programmatically + if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') { + this.$newElement.removeClass('fit-width'); + } + }, + + selectPosition: function () { + var that = this, + drop = '
', + $drop = $(drop), + pos, + actualHeight, + getPlacement = function ($element) { + $drop.addClass($element.attr('class').replace(/form-control/gi, '')).toggleClass('dropup', $element.hasClass('dropup')); + pos = $element.offset(); + actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; + $drop.css({ + 'top': pos.top + actualHeight, + 'left': pos.left, + 'width': $element[0].offsetWidth, + 'position': 'absolute' + }); + }; + this.$newElement.on('click', function () { + if (that.isDisabled()) { + return; + } + getPlacement($(this)); + $drop.appendTo(that.options.container); + $drop.toggleClass('open', !$(this).hasClass('open')); + $drop.append(that.$menu); + }); + $(window).resize(function () { + getPlacement(that.$newElement); + }); + $(window).on('scroll', function () { + getPlacement(that.$newElement); + }); + $('html').on('click', function (e) { + if ($(e.target).closest(that.$newElement).length < 1) { + $drop.removeClass('open'); + } + }); + }, + + setSelected: function (index, selected) { + this.findLis(); + this.$lis.filter('[data-original-index="' + index + '"]').toggleClass('selected', selected); + }, + + setDisabled: function (index, disabled) { + this.findLis(); + if (disabled) { + this.$lis.filter('[data-original-index="' + index + '"]').addClass('disabled').find('a').attr('href', '#').attr('tabindex', -1); + } else { + this.$lis.filter('[data-original-index="' + index + '"]').removeClass('disabled').find('a').removeAttr('href').attr('tabindex', 0); + } + }, + + isDisabled: function () { + return this.$element.is(':disabled'); + }, + + checkDisabled: function () { + var that = this; + + if (this.isDisabled()) { + this.$button.addClass('disabled').attr('tabindex', -1); + } else { + if (this.$button.hasClass('disabled')) { + this.$button.removeClass('disabled'); + } + + if (this.$button.attr('tabindex') == -1) { + if (!this.$element.data('tabindex')) this.$button.removeAttr('tabindex'); + } + } + + this.$button.click(function () { + return !that.isDisabled(); + }); + }, + + tabIndex: function () { + if (this.$element.is('[tabindex]')) { + this.$element.data('tabindex', this.$element.attr('tabindex')); + this.$button.attr('tabindex', this.$element.data('tabindex')); + } + }, + + clickListener: function () { + var that = this; + + this.$newElement.on('touchstart.dropdown', '.dropdown-menu', function (e) { + e.stopPropagation(); + }); + + this.$newElement.on('click', function () { + that.setSize(); + if (!that.options.liveSearch && !that.multiple) { + setTimeout(function () { + that.$menu.find('.selected a').focus(); + }, 10); + } + }); + + this.$menu.on('click', 'li a', function (e) { + var $this = $(this), + clickedIndex = $this.parent().data('originalIndex'), + prevValue = that.$element.val(), + prevIndex = that.$element.prop('selectedIndex'); + + // Don't close on multi choice menu + if (that.multiple) { + e.stopPropagation(); + } + + e.preventDefault(); + + //Don't run if we have been disabled + if (!that.isDisabled() && !$this.parent().hasClass('disabled')) { + var $options = that.$element.find('option'), + $option = $options.eq(clickedIndex), + state = $option.prop('selected'), + $optgroup = $option.parent('optgroup'), + maxOptions = that.options.maxOptions, + maxOptionsGrp = $optgroup.data('maxOptions') || false; + + if (!that.multiple) { // Deselect all others if not multi select box + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else { // Toggle the one we have chosen if we are multi select. + $option.prop('selected', !state); + that.setSelected(clickedIndex, !state); + $this.blur(); + + if (maxOptions !== false || maxOptionsGrp !== false) { + var maxReached = maxOptions < $options.filter(':selected').length, + maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length; + + if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) { + if (maxOptions && maxOptions == 1) { + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else if (maxOptionsGrp && maxOptionsGrp == 1) { + $optgroup.find('option:selected').prop('selected', false); + $option.prop('selected', true); + var optgroupID = $this.data('optgroup'); + + that.$menu.find('.selected').has('a[data-optgroup="' + optgroupID + '"]').removeClass('selected'); + + that.setSelected(clickedIndex, true); + } else { + var maxOptionsArr = (typeof that.options.maxOptionsText === 'function') ? + that.options.maxOptionsText(maxOptions, maxOptionsGrp) : that.options.maxOptionsText, + maxTxt = maxOptionsArr[0].replace('{n}', maxOptions), + maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp), + $notify = $('
'); + // If {var} is set in array, replace it + /** @deprecated */ + if (maxOptionsArr[2]) { + maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]); + maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]); + } + + $option.prop('selected', false); + + that.$menu.append($notify); + + if (maxOptions && maxReached) { + $notify.append($('
' + maxTxt + '
')); + that.$element.trigger('maxReached.bs.select'); + } + + if (maxOptionsGrp && maxReachedGrp) { + $notify.append($('
' + maxTxtGrp + '
')); + that.$element.trigger('maxReachedGrp.bs.select'); + } + + setTimeout(function () { + that.setSelected(clickedIndex, false); + }, 10); + + $notify.delay(750).fadeOut(300, function () { + $(this).remove(); + }); + } + } + } + } + + if (!that.multiple) { + that.$button.focus(); + } else if (that.options.liveSearch) { + that.$searchbox.focus(); + } + + // Trigger select 'change' + if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) { + that.$element.change(); + } + } + }); + + this.$menu.on('click', 'li.disabled a, .popover-title, .popover-title :not(.close)', function (e) { + if (e.currentTarget == this) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + } + }); + + this.$menu.on('click', 'li.divider, li.dropdown-header', function (e) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + }); + + this.$menu.on('click', '.popover-title .close', function () { + that.$button.focus(); + }); + + this.$searchbox.on('click', function (e) { + e.stopPropagation(); + }); + + + this.$menu.on('click', '.actions-btn', function (e) { + if (that.options.liveSearch) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + + e.preventDefault(); + e.stopPropagation(); + + if ($(this).is('.bs-select-all')) { + that.selectAll(); + } else { + that.deselectAll(); + } + that.$element.change(); + }); + + this.$element.change(function () { + that.render(false); + }); + }, + + liveSearchListener: function () { + var that = this, + no_results = $('
  • '); + + this.$newElement.on('click.dropdown.data-api touchstart.dropdown.data-api', function () { + that.$menu.find('.active').removeClass('active'); + if (!!that.$searchbox.val()) { + that.$searchbox.val(''); + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) no_results.remove(); + } + if (!that.multiple) that.$menu.find('.selected').addClass('active'); + setTimeout(function () { + that.$searchbox.focus(); + }, 10); + }); + + this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api', function (e) { + e.stopPropagation(); + }); + + this.$searchbox.on('input propertychange', function () { + if (that.$searchbox.val()) { + if (that.options.searchAccentInsensitive) { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':aicontains(' + normalizeToBase(that.$searchbox.val()) + ')').parent().addClass('hidden'); + } else { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':icontains(' + that.$searchbox.val() + ')').parent().addClass('hidden'); + } + + that.$lis.filter('.dropdown-header').each(function () { + var $this = $(this), + optgroup = $this.data('optgroup'); + + if (that.$lis.filter('[data-optgroup=' + optgroup + ']').not($this).filter(':visible').length === 0) { + $this.addClass('hidden'); + } + }); + + if (!that.$menu.find('li').filter(':visible:not(.no-results)').length) { + if (!!no_results.parent().length) { + no_results.remove(); + } + no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"')).show(); + that.$menu.find('li').last().after(no_results); + } else if (!!no_results.parent().length) { + no_results.remove(); + } + + } else { + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) { + no_results.remove(); + } + } + + that.$menu.find('li.active').removeClass('active'); + that.$menu.find('li').filter(':visible:not(.divider)').eq(0).addClass('active').find('a').focus(); + $(this).focus(); + }); + }, + + val: function (value) { + if (typeof value !== 'undefined') { + this.$element.val(value); + this.render(); + + return this.$element; + } else { + return this.$element.val(); + } + }, + + selectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').not('.selected').filter(':visible').find('a').click(); + }, + + deselectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').filter('.selected').filter(':visible').find('a').click(); + }, + + keydown: function (e) { + var $this = $(this), + $parent = ($this.is('input')) ? $this.parent().parent() : $this.parent(), + $items, + that = $parent.data('this'), + index, + next, + first, + last, + prev, + nextPrev, + prevIndex, + isActive, + keyCodeMap = { + 32: ' ', + 48: '0', + 49: '1', + 50: '2', + 51: '3', + 52: '4', + 53: '5', + 54: '6', + 55: '7', + 56: '8', + 57: '9', + 59: ';', + 65: 'a', + 66: 'b', + 67: 'c', + 68: 'd', + 69: 'e', + 70: 'f', + 71: 'g', + 72: 'h', + 73: 'i', + 74: 'j', + 75: 'k', + 76: 'l', + 77: 'm', + 78: 'n', + 79: 'o', + 80: 'p', + 81: 'q', + 82: 'r', + 83: 's', + 84: 't', + 85: 'u', + 86: 'v', + 87: 'w', + 88: 'x', + 89: 'y', + 90: 'z', + 96: '0', + 97: '1', + 98: '2', + 99: '3', + 100: '4', + 101: '5', + 102: '6', + 103: '7', + 104: '8', + 105: '9' + }; + + if (that.options.liveSearch) $parent = $this.parent().parent(); + + if (that.options.container) $parent = that.$menu; + + $items = $('[role=menu] li a', $parent); + + isActive = that.$menu.parent().hasClass('open'); + + if (!isActive && /([0-9]|[A-z])/.test(String.fromCharCode(e.keyCode))) { + if (!that.options.container) { + that.setSize(); + that.$menu.parent().addClass('open'); + isActive = true; + } else { + that.$newElement.trigger('click'); + } + that.$searchbox.focus(); + } + + if (that.options.liveSearch) { + if (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && that.$menu.find('.active').length === 0) { + e.preventDefault(); + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + $items = $('[role=menu] li:not(.divider):not(.dropdown-header):visible', $parent); + if (!$this.val() && !/(38|40)/.test(e.keyCode.toString(10))) { + if ($items.filter('.active').length === 0) { + if (that.options.searchAccentInsensitive) { + $items = that.$newElement.find('li').filter(':aicontains(' + normalizeToBase(keyCodeMap[e.keyCode]) + ')'); + } else { + $items = that.$newElement.find('li').filter(':icontains(' + keyCodeMap[e.keyCode] + ')'); + } + } + } + } + + if (!$items.length) return; + + if (/(38|40)/.test(e.keyCode.toString(10))) { + index = $items.index($items.filter(':focus')); + first = $items.parent(':not(.disabled):visible').first().index(); + last = $items.parent(':not(.disabled):visible').last().index(); + next = $items.eq(index).parent().nextAll(':not(.disabled):visible').eq(0).index(); + prev = $items.eq(index).parent().prevAll(':not(.disabled):visible').eq(0).index(); + nextPrev = $items.eq(next).parent().prevAll(':not(.disabled):visible').eq(0).index(); + + if (that.options.liveSearch) { + $items.each(function (i) { + if ($(this).is(':not(.disabled)')) { + $(this).data('index', i); + } + }); + index = $items.index($items.filter('.active')); + first = $items.filter(':not(.disabled):visible').first().data('index'); + last = $items.filter(':not(.disabled):visible').last().data('index'); + next = $items.eq(index).nextAll(':not(.disabled):visible').eq(0).data('index'); + prev = $items.eq(index).prevAll(':not(.disabled):visible').eq(0).data('index'); + nextPrev = $items.eq(next).prevAll(':not(.disabled):visible').eq(0).data('index'); + } + + prevIndex = $this.data('prevIndex'); + + if (e.keyCode == 38) { + if (that.options.liveSearch) index -= 1; + if (index != nextPrev && index > prev) index = prev; + if (index < first) index = first; + if (index == prevIndex) index = last; + } + + if (e.keyCode == 40) { + if (that.options.liveSearch) index += 1; + if (index == -1) index = 0; + if (index != nextPrev && index < next) index = next; + if (index > last) index = last; + if (index == prevIndex) index = first; + } + + $this.data('prevIndex', index); + + if (!that.options.liveSearch) { + $items.eq(index).focus(); + } else { + e.preventDefault(); + if (!$this.is('.dropdown-toggle')) { + $items.removeClass('active'); + $items.eq(index).addClass('active').find('a').focus(); + $this.focus(); + } + } + + } else if (!$this.is('input')) { + var keyIndex = [], + count, + prevKey; + + $items.each(function () { + if ($(this).parent().is(':not(.disabled)')) { + if ($.trim($(this).text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode]) { + keyIndex.push($(this).parent().index()); + } + } + }); + + count = $(document).data('keycount'); + count++; + $(document).data('keycount', count); + + prevKey = $.trim($(':focus').text().toLowerCase()).substring(0, 1); + + if (prevKey != keyCodeMap[e.keyCode]) { + count = 1; + $(document).data('keycount', count); + } else if (count >= keyIndex.length) { + $(document).data('keycount', 0); + if (count > keyIndex.length) count = 1; + } + + $items.eq(keyIndex[count - 1]).focus(); + } + + // Select focused option if "Enter", "Spacebar" or "Tab" (when selectOnTab is true) are pressed inside the menu. + if ((/(13|32)/.test(e.keyCode.toString(10)) || (/(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab)) && isActive) { + if (!/(32)/.test(e.keyCode.toString(10))) e.preventDefault(); + if (!that.options.liveSearch) { + var elem = $(':focus'); + elem.click(); + // Bring back focus for multiselects + elem.focus(); + // Prevent screen from scrolling if the user hit the spacebar + e.preventDefault(); + } else if (!/(32)/.test(e.keyCode.toString(10))) { + that.$menu.find('.active a').click(); + $this.focus(); + } + $(document).data('keycount', 0); + } + + if ((/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode.toString(10)) && !isActive)) { + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + }, + + mobile: function () { + this.$element.addClass('mobile-device').appendTo(this.$newElement); + if (this.options.container) this.$menu.hide(); + }, + + refresh: function () { + this.$lis = null; + this.reloadLi(); + this.render(); + this.setWidth(); + this.setStyle(); + this.checkDisabled(); + this.liHeight(); + }, + + hide: function () { + this.$newElement.hide(); + }, + + show: function () { + this.$newElement.show(); + }, + + remove: function () { + this.$newElement.remove(); + this.$element.remove(); + } + }; + + // SELECTPICKER PLUGIN DEFINITION + // ============================== + function Plugin(option, event) { + // get the args of the outer function.. + var args = arguments; + // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them + // to get lost + //noinspection JSDuplicatedDeclaration + var _option = option, + option = args[0], + event = args[1]; + [].shift.apply(args); + + // This fixes a bug in the js implementation on android 2.3 #715 + if (typeof option == 'undefined') { + option = _option; + } + + var value; + var chain = this.each(function () { + var $this = $(this); + if ($this.is('select')) { + var data = $this.data('selectpicker'), + options = typeof option == 'object' && option; + + if (!data) { + var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options); + $this.data('selectpicker', (data = new Selectpicker(this, config, event))); + } else if (options) { + for (var i in options) { + if (options.hasOwnProperty(i)) { + data.options[i] = options[i]; + } + } + } + + if (typeof option == 'string') { + if (data[option] instanceof Function) { + value = data[option].apply(data, args); + } else { + value = data.options[option]; + } + } + } + }); + + if (typeof value !== 'undefined') { + //noinspection JSUnusedAssignment + return value; + } else { + return chain; + } + } + + var old = $.fn.selectpicker; + $.fn.selectpicker = Plugin; + $.fn.selectpicker.Constructor = Selectpicker; + + // SELECTPICKER NO CONFLICT + // ======================== + $.fn.selectpicker.noConflict = function () { + $.fn.selectpicker = old; + return this; + }; + + $(document) + .data('keycount', 0) + .on('keydown', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', Selectpicker.prototype.keydown) + .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', function (e) { + e.stopPropagation(); + }); + + // SELECTPICKER DATA-API + // ===================== + $(window).on('load.bs.select.data-api', function () { + $('.selectpicker').each(function () { + var $selectpicker = $(this); + Plugin.call($selectpicker, $selectpicker.data()); + }) + }); +})(jQuery); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-cs_CZ.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-cs_CZ.js new file mode 100644 index 000000000..0a85ee481 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-cs_CZ.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: CS + * Region: CZ (Czech Republic) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic není vybráno', + noneResultsText: 'Žádné výsledky {0}', + countSelectedText: 'Označeno {0} z {1}', + maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-de_DE.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-de_DE.js new file mode 100644 index 000000000..a95d567fc --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-de_DE.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: DE (German, deutsch) + * Region: DE (Germany, Deutschland) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Bitte wählen...', + noneResultsText: 'Keine Ergebnisse für {0}', + countSelectedText: '{0} von {1} ausgewählt', + maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-en_US.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-en_US.js new file mode 100644 index 000000000..0697bc3b4 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-en_US.js @@ -0,0 +1,25 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: EN (English) + * Region: US (United States) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results match {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-es_CL.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-es_CL.js new file mode 100644 index 000000000..32a0cf802 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-es_CL.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: ES (Spanish) + * Region: CL (Chile) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'No hay selección', + noneResultsText: 'No hay resultados {0}', + countSelectedText: 'Seleccionados {0} de {1}', + maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-eu.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-eu.js new file mode 100644 index 000000000..4bb534f60 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-eu.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: EU (Basque) + * Region: + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hautapenik ez', + noneResultsText: 'Emaitzarik ez {0}', + countSelectedText: '{1}(e)tik {0} hautatuta', + maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-fr_FR.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-fr_FR.js new file mode 100644 index 000000000..e27337e37 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-fr_FR.js @@ -0,0 +1,23 @@ +/* +* Translated default messages for bootstrap-select. +* Locale: FR (French; Français) +* Region: FR (France) +*/ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Aucune sélection', + noneResultsText: 'Aucun résultat pour {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected > 1) ? "{0} éléments sélectionés" : "{0} élément sélectioné"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)'; + arr[1] = (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'; + + return arr; + }, + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-hu_HU.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-hu_HU.js new file mode 100644 index 000000000..6f5f18b6a --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-hu_HU.js @@ -0,0 +1,23 @@ +/* +* Translated default messages for bootstrap-select. +* Locale: HU (Hungarian) +* Region: HU (Hungary) +*/ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Válasszon!', + noneResultsText: 'Nincs találat {0}', + countSelectedText: function (numSelected, numTotal) { + return '{n} elem kiválasztva'; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = 'Legfeljebb {n} elem választható'; + arr[1] = 'A csoportban legfeljebb {n} elem választható'; + return arr; + }, + selectAllText: 'Mind', + deselectAllText: 'Egyik sem', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-it_IT.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-it_IT.js new file mode 100644 index 000000000..83d4f9935 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-it_IT.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: IT (Italian; italiano) + * Region: IT (Italy; Italia) + * Author: Michele Beltrame + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nessuna selezione', + noneResultsText: 'Nessun risultato per {0}', + countSelectedText: 'Selezionati {0} di {1}', + maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-nl_NL.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-nl_NL.js new file mode 100644 index 000000000..40bdfcbe0 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-nl_NL.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: NL (Dutch; Nederlands) + * Region: NL (Europe) + * Author: Daan Rosbergen (Badmuts) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Niets geselecteerd', + noneResultsText: 'Geen resultaten gevonden voor {0}', + countSelectedText: '{0} van {1} geselecteerd', + maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-pl_PL.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-pl_PL.js new file mode 100644 index 000000000..96a7abc47 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-pl_PL.js @@ -0,0 +1,16 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: PL (Polish) + * Region: EU (Europe) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic nie zaznaczono', + noneResultsText: 'Brak wyników wyszukiwania {0}', + countSelectedText: 'Zaznaczono {0} z {1}', + maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], + selectAll: 'Zaznacz wszystkie', + deselectAll: 'Odznacz wszystkie', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-pt_BR.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-pt_BR.js new file mode 100644 index 000000000..d11d7636d --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-pt_BR.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: PT (Portuguese; português) + * Region: BR (Brazil; Brasil) + * Author: Rodrigo de Avila + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nada selecionado', + noneResultsText: 'Nada encontrado contendo {0}', + countSelectedText: 'Selecionado {0} de {1}', + maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ro_RO.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ro_RO.js new file mode 100644 index 000000000..5e3167df6 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ro_RO.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: RO (Romanian) + * Region: RO (Romania) + * Alex Florea + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nu a fost selectat nimic', + noneResultsText: 'Nu exista niciun rezultat {0}', + countSelectedText: '{0} din {1} selectat(e)', + maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ru_RU.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ru_RU.js new file mode 100644 index 000000000..057dc5383 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ru_RU.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: RU (Russian; Русский) + * Region: RU (Russian Federation) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ничего не выбрано', + noneResultsText: 'Совпадений не найдено {0}', + countSelectedText: 'Выбрано {0} из {1}', + maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-tr_TR.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-tr_TR.js new file mode 100644 index 000000000..1cbfe5a1d --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-tr_TR.js @@ -0,0 +1,24 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: TR (Turkey) + * Region: TR (Europe) + * Author: Serhan Güney + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hiçbiri seçilmedi', + noneResultsText: 'Hiçbir sonuç bulunamadı {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)'; + arr[1] = (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'; + return arr; + }, + selectAllText: 'Tümünü Seç', + deselectAllText: 'Seçiniz', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ua_UA.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ua_UA.js new file mode 100644 index 000000000..2504df401 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-ua_UA.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: UA (Ukrainian; Українська) + * Region: UA (Ukraine) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Нічого не вибрано', + noneResultsText: 'Збігів не знайдено {0}', + countSelectedText: 'Вибрано {0} із {1}', + maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_CN.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_CN.js new file mode 100644 index 000000000..5aad7da61 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_CN.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: ZH (Chinese) + * Region: CN (China) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '没有选中任何项', + noneResultsText: '没有找到匹配项', + countSelectedText: '选中{1}中的{0}项', + maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_TW.js b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_TW.js new file mode 100644 index 000000000..28d2a1ed8 --- /dev/null +++ b/src/www/themes/opnsense/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_TW.js @@ -0,0 +1,16 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: ZH (Chinese) + * Region: TW (Taiwan) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '沒有選取任何項目', + noneResultsText: '沒有找到符合的結果', + countSelectedText: '已經選取{0}個項目', + maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], + selectAllText: '選取全部', + deselectAllText: '全部取消', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/assets/stylesheets/bootstrap-select/less/bootstrap-select.less b/src/www/themes/opnsense/assets/stylesheets/bootstrap-select/less/bootstrap-select.less new file mode 100644 index 000000000..273850e94 --- /dev/null +++ b/src/www/themes/opnsense/assets/stylesheets/bootstrap-select/less/bootstrap-select.less @@ -0,0 +1,329 @@ +@import "variables"; + +// Mixins +.cursor-disabled() { + cursor: not-allowed; +} + +// Rules +.bootstrap-select { + /*width: 220px\9; IE8 and below*/ + //noinspection CssShorthandPropertyValue + width: 220px \0; /*IE9 and below*/ + + // The selectpicker button + > .btn { + width: 100%; + padding-right: 25px; + } + + // Error display + .error & .btn { + border: 1px solid @color-red-error; + } + + // Error display + .control-group.error & .dropdown-toggle { + border-color: @color-red-error; + } + + &.fit-width { + width: auto !important; + } + + &:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: @width-default; + } + + .btn:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; + } +} + +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; + + &:not([class*="col-"]) { + width: 100%; + } +} + +// The selectpicker components +.bootstrap-select.btn-group { + &:not(.input-group-btn), + &[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; + } + + // Forces the pull to the right, if necessary + &, + &[class*="col-"], + .row-fluid &[class*="col-"] { + &.dropdown-menu-right { + float: right; + } + } + + .form-search &, + .form-inline &, + .form-horizontal &, + .form-group & { + margin-bottom: 0; + } + + .form-group-lg &.form-control, + .form-group-sm &.form-control { + padding: 0; + } + + // Set the width of the live search (and any other form control within an inline form) + // see https://github.com/silviomoreto/bootstrap-select/issues/685 + .form-inline & .form-control { + width: 100%; + } + + .input-append & { + margin-left: -1px; + } + + .input-prepend & { + margin-right: -1px; + } + + > .disabled { + .cursor-disabled(); + + &:focus { + outline: none !important; + } + } + + // The selectpicker button + .btn { + .filter-option { + display: inline-block; + overflow: hidden; + width: 100%; + text-align: left; + } + + .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; + } + } + + &[class*="col-"] .btn { + width: 100%; + } + + // The selectpicker dropdown + .dropdown-menu { + min-width: 100%; + z-index: @zindex-select-dropdown; + box-sizing: border-box; + + &.inner { + position: static; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + box-shadow: none; + } + + li { + position: relative; + + &:not(.disabled) a:hover small, + &:not(.disabled) a:focus small, + &.active:not(.disabled) a small { + color: @color-blue-hover; + } + + &.disabled a { + .cursor-disabled(); + } + + a { + cursor: pointer; + + &.opt { + position: relative; + padding-left: 2.25em; + } + + span.check-mark { + display: none; + } + span.text { + display: inline-block; + } + } + + small { + padding-left: 0.5em; + } + } + + .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: rgb(245, 245, 245); + border: 1px solid rgb(227, 227, 227); + box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%); + pointer-events: none; + opacity: 0.9; + box-sizing: border-box; + } + } + + .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; + } + + &.fit-width .btn { + .filter-option { + position: static; + } + + .caret { + position: static; + top: auto; + margin-top: -1px; + } + } + + &.show-tick .dropdown-menu li { + &.selected a span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + margin-top: 5px; + } + + a span.text { + margin-right: 34px; + } + } +} + +.bootstrap-select.show-menu-arrow { + &.open > .btn { + z-index: (@zindex-select-dropdown + 1); + } + + .dropdown-toggle { + &:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom-width: 7px; + border-bottom-style: solid; + border-bottom-color: @color-grey-arrow; + position: absolute; + bottom: -4px; + left: 9px; + display: none; + } + + &:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; + } + } + + &.dropup .dropdown-toggle { + &:before { + bottom: auto; + top: -3px; + border-bottom: 0; + border-top-width: 7px; + border-top-style: solid; + border-top-color: @color-grey-arrow; + } + + &:after { + bottom: auto; + top: -3px; + border-top: 6px solid white; + border-bottom: 0; + } + } + + &.pull-right .dropdown-toggle { + &:before { + right: 12px; + left: auto; + } + + &:after { + right: 13px; + left: auto; + } + } + + &.open > .dropdown-toggle { + &:before, + &:after { + display: block; + } + } +} + +.bs-searchbox, +.bs-actionsbox { + padding: 4px 8px; +} + +.bs-actionsbox { + float: left; + width: 100%; + box-sizing: border-box; + + & .btn-group button { + width: 50%; + } +} + +.bs-searchbox { + & + .bs-actionsbox { + padding: 0 8px 4px; + } + + & input.form-control { + margin-bottom: 0; + width: 100%; + } +} + +.mobile-device { + position: absolute; + top: 0; + left: 0; + display: block !important; + width: 100%; + height: 100% !important; + opacity: 0; +} diff --git a/src/www/themes/opnsense/assets/stylesheets/bootstrap-select/less/variables.less b/src/www/themes/opnsense/assets/stylesheets/bootstrap-select/less/variables.less new file mode 100644 index 000000000..9b635773c --- /dev/null +++ b/src/www/themes/opnsense/assets/stylesheets/bootstrap-select/less/variables.less @@ -0,0 +1,7 @@ +@color-red-error: rgb(185, 74, 72); +@color-blue-hover: rgba(100, 177, 216, 0.4); +@color-grey-arrow: rgba(204, 204, 204, 0.2); + +@width-default: 220px; // 3 960px-grid columns + +@zindex-select-dropdown: 1035; // must be lower than a modal background (1040) but higher than the fixed navbar (1030) diff --git a/src/www/themes/opnsense/build/css/bootstrap-select.css b/src/www/themes/opnsense/build/css/bootstrap-select.css new file mode 100644 index 000000000..e42e761a6 --- /dev/null +++ b/src/www/themes/opnsense/build/css/bootstrap-select.css @@ -0,0 +1,257 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +.bootstrap-select { + /*width: 220px\9; IE8 and below*/ + width: 220px \0; + /*IE9 and below*/ +} +.bootstrap-select > .btn { + width: 100%; + padding-right: 25px; +} +.error .bootstrap-select .btn { + border: 1px solid #b94a48; +} +.control-group.error .bootstrap-select .dropdown-toggle { + border-color: #b94a48; +} +.bootstrap-select.fit-width { + width: auto !important; +} +.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: 220px; +} +.bootstrap-select .btn:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; +} +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; +} +.bootstrap-select.form-control:not([class*="col-"]) { + width: 100%; +} +.bootstrap-select.btn-group:not(.input-group-btn), +.bootstrap-select.btn-group[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; +} +.bootstrap-select.btn-group.dropdown-menu-right, +.bootstrap-select.btn-group[class*="col-"].dropdown-menu-right, +.row-fluid .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right { + float: right; +} +.form-search .bootstrap-select.btn-group, +.form-inline .bootstrap-select.btn-group, +.form-horizontal .bootstrap-select.btn-group, +.form-group .bootstrap-select.btn-group { + margin-bottom: 0; +} +.form-group-lg .bootstrap-select.btn-group.form-control, +.form-group-sm .bootstrap-select.btn-group.form-control { + padding: 0; +} +.form-inline .bootstrap-select.btn-group .form-control { + width: 100%; +} +.input-append .bootstrap-select.btn-group { + margin-left: -1px; +} +.input-prepend .bootstrap-select.btn-group { + margin-right: -1px; +} +.bootstrap-select.btn-group > .disabled { + cursor: not-allowed; +} +.bootstrap-select.btn-group > .disabled:focus { + outline: none !important; +} +.bootstrap-select.btn-group .btn .filter-option { + display: inline-block; + overflow: hidden; + width: 100%; + text-align: left; +} +.bootstrap-select.btn-group .btn .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; +} +.bootstrap-select.btn-group[class*="col-"] .btn { + width: 100%; +} +.bootstrap-select.btn-group .dropdown-menu { + min-width: 100%; + z-index: 1035; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bootstrap-select.btn-group .dropdown-menu.inner { + position: static; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.bootstrap-select.btn-group .dropdown-menu li { + position: relative; +} +.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small, +.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small, +.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small { + color: rgba(100, 177, 216, 0.4); +} +.bootstrap-select.btn-group .dropdown-menu li.disabled a { + cursor: not-allowed; +} +.bootstrap-select.btn-group .dropdown-menu li a { + cursor: pointer; +} +.bootstrap-select.btn-group .dropdown-menu li a.opt { + position: relative; + padding-left: 2.25em; +} +.bootstrap-select.btn-group .dropdown-menu li a span.check-mark { + display: none; +} +.bootstrap-select.btn-group .dropdown-menu li a span.text { + display: inline-block; +} +.bootstrap-select.btn-group .dropdown-menu li small { + padding-left: 0.5em; +} +.bootstrap-select.btn-group .dropdown-menu .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + pointer-events: none; + opacity: 0.9; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bootstrap-select.btn-group .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; +} +.bootstrap-select.btn-group.fit-width .btn .filter-option { + position: static; +} +.bootstrap-select.btn-group.fit-width .btn .caret { + position: static; + top: auto; + margin-top: -1px; +} +.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + margin-top: 5px; +} +.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text { + margin-right: 34px; +} +.bootstrap-select.show-menu-arrow.open > .btn { + z-index: 1036; +} +.bootstrap-select.show-menu-arrow .dropdown-toggle:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom-width: 7px; + border-bottom-style: solid; + border-bottom-color: rgba(204, 204, 204, 0.2); + position: absolute; + bottom: -4px; + left: 9px; + display: none; +} +.bootstrap-select.show-menu-arrow .dropdown-toggle:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; +} +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before { + bottom: auto; + top: -3px; + border-bottom: 0; + border-top-width: 7px; + border-top-style: solid; + border-top-color: rgba(204, 204, 204, 0.2); +} +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after { + bottom: auto; + top: -3px; + border-top: 6px solid white; + border-bottom: 0; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before { + right: 12px; + left: auto; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after { + right: 13px; + left: auto; +} +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after { + display: block; +} +.bs-searchbox, +.bs-actionsbox { + padding: 4px 8px; +} +.bs-actionsbox { + float: left; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bs-actionsbox .btn-group button { + width: 50%; +} +.bs-searchbox + .bs-actionsbox { + padding: 0 8px 4px; +} +.bs-searchbox input.form-control { + margin-bottom: 0; + width: 100%; +} +.mobile-device { + position: absolute; + top: 0; + left: 0; + display: block !important; + width: 100%; + height: 100% !important; + opacity: 0; +} +/*# sourceMappingURL=bootstrap-select.css.map */ \ No newline at end of file diff --git a/src/www/themes/opnsense/build/css/bootstrap-select.css.map b/src/www/themes/opnsense/build/css/bootstrap-select.css.map new file mode 100644 index 000000000..337f4d5d2 --- /dev/null +++ b/src/www/themes/opnsense/build/css/bootstrap-select.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/bootstrap-select.less","bootstrap-select.css"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":["@import \"variables\";\n\n// Mixins\n.cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\n.bootstrap-select {\n /*width: 220px\\9; IE8 and below*/\n //noinspection CssShorthandPropertyValue\n width: 220px \\0; /*IE9 and below*/\n\n // The selectpicker button\n > .btn {\n width: 100%;\n padding-right: 25px;\n }\n\n // Error display\n .error & .btn {\n border: 1px solid @color-red-error;\n }\n\n // Error display\n .control-group.error & .dropdown-toggle {\n border-color: @color-red-error;\n }\n\n &.fit-width {\n width: auto !important;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: @width-default;\n }\n\n .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n\n &:not([class*=\"col-\"]) {\n width: 100%;\n }\n}\n\n// The selectpicker components\n.bootstrap-select.btn-group {\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row-fluid &[class*=\"col-\"] {\n &.dropdown-menu-right {\n float: right;\n }\n }\n\n .form-search &,\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n .input-append & {\n margin-left: -1px;\n }\n\n .input-prepend & {\n margin-right: -1px;\n }\n\n > .disabled {\n .cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n // The selectpicker button\n .btn {\n .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n }\n\n &[class*=\"col-\"] .btn {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n z-index: @zindex-select-dropdown;\n box-sizing: border-box;\n\n &.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &:not(.disabled) a:hover small,\n &:not(.disabled) a:focus small,\n &.active:not(.disabled) a small {\n color: @color-blue-hover;\n }\n\n &.disabled a {\n .cursor-disabled();\n }\n\n a {\n cursor: pointer;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n }\n\n &.fit-width .btn {\n .filter-option {\n position: static;\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu li {\n &.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n }\n\n a span.text {\n margin-right: 34px;\n }\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .btn {\n z-index: (@zindex-select-dropdown + 1);\n }\n\n .dropdown-toggle {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom-width: 7px;\n border-bottom-style: solid;\n border-bottom-color: @color-grey-arrow;\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle {\n &:before {\n bottom: auto;\n top: -3px;\n border-bottom: 0;\n border-top-width: 7px;\n border-top-style: solid;\n border-top-color: @color-grey-arrow;\n }\n\n &:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox {\n padding: 4px 8px;\n}\n\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 50%;\n }\n}\n\n.bs-searchbox {\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & input.form-control {\n margin-bottom: 0;\n width: 100%;\n }\n}\n\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n",".bootstrap-select {\n /*width: 220px\\9; IE8 and below*/\n width: 220px \\0;\n /*IE9 and below*/\n}\n.bootstrap-select > .btn {\n width: 100%;\n padding-right: 25px;\n}\n.error .bootstrap-select .btn {\n border: 1px solid #b94a48;\n}\n.control-group.error .bootstrap-select .dropdown-toggle {\n border-color: #b94a48;\n}\n.bootstrap-select.fit-width {\n width: auto !important;\n}\n.bootstrap-select:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: 220px;\n}\n.bootstrap-select .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n}\n.bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: 100%;\n}\n.bootstrap-select.btn-group:not(.input-group-btn),\n.bootstrap-select.btn-group[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.btn-group.dropdown-menu-right,\n.bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right,\n.row-fluid .bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right {\n float: right;\n}\n.form-search .bootstrap-select.btn-group,\n.form-inline .bootstrap-select.btn-group,\n.form-horizontal .bootstrap-select.btn-group,\n.form-group .bootstrap-select.btn-group {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.btn-group.form-control,\n.form-group-sm .bootstrap-select.btn-group.form-control {\n padding: 0;\n}\n.form-inline .bootstrap-select.btn-group .form-control {\n width: 100%;\n}\n.input-append .bootstrap-select.btn-group {\n margin-left: -1px;\n}\n.input-prepend .bootstrap-select.btn-group {\n margin-right: -1px;\n}\n.bootstrap-select.btn-group > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.btn-group .btn .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n}\n.bootstrap-select.btn-group .btn .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select.btn-group[class*=\"col-\"] .btn {\n width: 100%;\n}\n.bootstrap-select.btn-group .dropdown-menu {\n min-width: 100%;\n z-index: 1035;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .dropdown-menu.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,\n.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small {\n color: rgba(100, 177, 216, 0.4);\n}\n.bootstrap-select.btn-group .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group .dropdown-menu li a {\n cursor: pointer;\n}\n.bootstrap-select.btn-group .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select.btn-group .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select.btn-group .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: #f5f5f5;\n border: 1px solid #e3e3e3;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n}\n.bootstrap-select.btn-group.fit-width .btn .filter-option {\n position: static;\n}\n.bootstrap-select.btn-group.fit-width .btn .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.show-menu-arrow.open > .btn {\n z-index: 1036;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom-width: 7px;\n border-bottom-style: solid;\n border-bottom-color: rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {\n bottom: auto;\n top: -3px;\n border-bottom: 0;\n border-top-width: 7px;\n border-top-style: solid;\n border-top-color: rgba(204, 204, 204, 0.2);\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {\n display: block;\n}\n.bs-searchbox,\n.bs-actionsbox {\n padding: 4px 8px;\n}\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox input.form-control {\n margin-bottom: 0;\n width: 100%;\n}\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n/*# sourceMappingURL=bootstrap-select.css.map */"]} \ No newline at end of file diff --git a/src/www/themes/opnsense/build/css/bootstrap-select.min.css b/src/www/themes/opnsense/build/css/bootstrap-select.min.css new file mode 100644 index 000000000..6cce74f4e --- /dev/null +++ b/src/www/themes/opnsense/build/css/bootstrap-select.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */.bootstrap-select{width:220px \0}.bootstrap-select>.btn{width:100%;padding-right:25px}.error .bootstrap-select .btn{border:1px solid #b94a48}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .btn:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row-fluid .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-group .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group .btn .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;z-index:1035;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small{color:rgba(100,177,216,.4)}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.btn{z-index:1036}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom-width:7px;border-bottom-style:solid;border-bottom-color:rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-bottom:0;border-top-width:7px;border-top-style:solid;border-top-color:rgba(204,204,204,.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bs-searchbox,.bs-actionsbox{padding:4px 8px}.bs-actionsbox{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox input.form-control{margin-bottom:0;width:100%}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0} \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/bootstrap-select.js b/src/www/themes/opnsense/build/js/bootstrap-select.js new file mode 100644 index 000000000..cc074d9f3 --- /dev/null +++ b/src/www/themes/opnsense/build/js/bootstrap-select.js @@ -0,0 +1,1231 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + 'use strict'; + + // Case insensitive search + $.expr[':'].icontains = function (obj, index, meta) { + return icontains($(obj).text(), meta[3]); + }; + + // Case and accent insensitive search + $.expr[':'].aicontains = function (obj, index, meta) { + return icontains($(obj).data('normalizedText') || $(obj).text(), meta[3]); + }; + + /** + * Actual implementation of the case insensitive search. + * @access private + * @param {String} haystack + * @param {String} needle + * @returns {boolean} + */ + function icontains(haystack, needle) { + return haystack.toUpperCase().indexOf(needle.toUpperCase()) > -1; + } + + /** + * Remove all diatrics from the given text. + * @access private + * @param {String} text + * @returns {String} + */ + function normalizeToBase(text) { + var rExps = [ + {re: /[\xC0-\xC6]/g, ch: "A"}, + {re: /[\xE0-\xE6]/g, ch: "a"}, + {re: /[\xC8-\xCB]/g, ch: "E"}, + {re: /[\xE8-\xEB]/g, ch: "e"}, + {re: /[\xCC-\xCF]/g, ch: "I"}, + {re: /[\xEC-\xEF]/g, ch: "i"}, + {re: /[\xD2-\xD6]/g, ch: "O"}, + {re: /[\xF2-\xF6]/g, ch: "o"}, + {re: /[\xD9-\xDC]/g, ch: "U"}, + {re: /[\xF9-\xFC]/g, ch: "u"}, + {re: /[\xC7-\xE7]/g, ch: "c"}, + {re: /[\xD1]/g, ch: "N"}, + {re: /[\xF1]/g, ch: "n"} + ]; + $.each(rExps, function () { + text = text.replace(this.re, this.ch); + }); + return text; + } + + + function htmlEscape(html) { + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var source = '(?:' + Object.keys(escapeMap).join('|') + ')', + testRegexp = new RegExp(source), + replaceRegexp = new RegExp(source, 'g'), + string = html == null ? '' : '' + html; + return testRegexp.test(string) ? string.replace(replaceRegexp, function (match) { + return escapeMap[match]; + }) : string; + } + + var Selectpicker = function (element, options, e) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + + this.$element = $(element); + this.$newElement = null; + this.$button = null; + this.$menu = null; + this.$lis = null; + this.options = options; + + // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a + // data-attribute) + if (this.options.title === null) { + this.options.title = this.$element.attr('title'); + } + + //Expose public methods + this.val = Selectpicker.prototype.val; + this.render = Selectpicker.prototype.render; + this.refresh = Selectpicker.prototype.refresh; + this.setStyle = Selectpicker.prototype.setStyle; + this.selectAll = Selectpicker.prototype.selectAll; + this.deselectAll = Selectpicker.prototype.deselectAll; + this.destroy = Selectpicker.prototype.remove; + this.remove = Selectpicker.prototype.remove; + this.show = Selectpicker.prototype.show; + this.hide = Selectpicker.prototype.hide; + + this.init(); + }; + + Selectpicker.VERSION = '1.6.3'; + + // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both. + Selectpicker.DEFAULTS = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results matched {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ', + style: 'btn-default', + size: 'auto', + title: null, + selectedTextFormat: 'values', + width: false, + container: false, + hideDisabled: false, + showSubtext: false, + showIcon: true, + showContent: true, + dropupAuto: true, + header: false, + liveSearch: false, + liveSearchPlaceholder: null, + actionsBox: false, + iconBase: 'glyphicon', + tickIcon: 'glyphicon-ok', + maxOptions: false, + mobile: false, + selectOnTab: false, + dropdownAlignRight: false, + searchAccentInsensitive: false + }; + + Selectpicker.prototype = { + + constructor: Selectpicker, + + init: function () { + var that = this, + id = this.$element.attr('id'); + + this.$element.hide(); + this.multiple = this.$element.prop('multiple'); + this.autofocus = this.$element.prop('autofocus'); + this.$newElement = this.createView(); + this.$element.after(this.$newElement); + this.$menu = this.$newElement.children('.dropdown-menu'); + this.$button = this.$newElement.children('button'); + this.$searchbox = this.$newElement.find('input'); + + if (this.options.dropdownAlignRight) + this.$menu.addClass('dropdown-menu-right'); + + if (typeof id !== 'undefined') { + this.$button.attr('data-id', id); + $('label[for="' + id + '"]').click(function (e) { + e.preventDefault(); + that.$button.focus(); + }); + } + + this.checkDisabled(); + this.clickListener(); + if (this.options.liveSearch) this.liveSearchListener(); + this.render(); + this.liHeight(); + this.setStyle(); + this.setWidth(); + if (this.options.container) this.selectPosition(); + this.$menu.data('this', this); + this.$newElement.data('this', this); + if (this.options.mobile) this.mobile(); + }, + + createDropdown: function () { + // Options + // If we are multiple, then add the show-tick class by default + var multiple = this.multiple ? ' show-tick' : '', + inputGroup = this.$element.parent().hasClass('input-group') ? ' input-group-btn' : '', + autofocus = this.autofocus ? ' autofocus' : ''; + // Elements + var header = this.options.header ? '
    ' + this.options.header + '
    ' : ''; + var searchbox = this.options.liveSearch ? + '' + : ''; + var actionsbox = this.options.actionsBox ? + '
    ' + + '
    ' + + '' + + '' + + '
    ' + + '
    ' + : ''; + var drop = + '
    ' + + '' + + '' + + '
    '; + + return $(drop); + }, + + createView: function () { + var $drop = this.createDropdown(); + var $li = this.createLi(); + $drop.find('ul').append($li); + return $drop; + }, + + reloadLi: function () { + //Remove all children. + this.destroyLi(); + //Re build + var $li = this.createLi(); + this.$menu.find('ul').append($li); + }, + + destroyLi: function () { + this.$menu.find('li').remove(); + }, + + createLi: function () { + var that = this, + _li = [], + optID = 0; + + // Helper functions + /** + * @param content + * @param [index] + * @param [classes] + * @param [optgroup] + * @returns {string} + */ + var generateLI = function (content, index, classes, optgroup) { + return '' + content + ''; + }; + + /** + * @param text + * @param [classes] + * @param [inline] + * @returns {string} + */ + var generateA = function (text, classes, inline) { + var normText = normalizeToBase(htmlEscape(text)); + return '' + text + + '' + + ''; + }; + + this.$element.find('option').each(function (index) { + var $this = $(this); + + // Get the class and text for the option + var optionClass = $this.attr('class') || '', + inline = $this.attr('style'), + text = $this.data('content') ? $this.data('content') : $this.html(), + subtext = typeof $this.data('subtext') !== 'undefined' ? '' + $this.data('subtext') + '' : '', + icon = typeof $this.data('icon') !== 'undefined' ? ' ' : '', + isDisabled = $this.is(':disabled') || $this.parent().is(':disabled'); + if (icon !== '' && isDisabled) { + icon = '' + icon + ''; + } + + if (!$this.data('content')) { + // Prepend any icon and append any subtext to the main text. + text = icon + '' + text + subtext + ''; + } + + if (that.options.hideDisabled && isDisabled) { + return; + } + + if ($this.parent().is('optgroup') && $this.data('divider') !== true) { + if ($this.index() === 0) { // Is it the first option of the optgroup? + optID += 1; + + // Get the opt group label + var label = $this.parent().attr('label'); + var labelSubtext = typeof $this.parent().data('subtext') !== 'undefined' ? '' + $this.parent().data('subtext') + '' : ''; + var labelIcon = $this.parent().data('icon') ? ' ' : ''; + label = labelIcon + '' + label + labelSubtext + ''; + + if (index !== 0 && _li.length > 0) { // Is it NOT the first option of the select && are there elements in the dropdown? + _li.push(generateLI('', null, 'divider')); + } + + _li.push(generateLI(label, null, 'dropdown-header', optID)); + } + + _li.push(generateLI(generateA(text, 'opt ' + optionClass, inline), index, '', optID)); + } else if ($this.data('divider') === true) { + _li.push(generateLI('', index, 'divider')); + } else if ($this.data('hidden') === true) { + _li.push(generateLI(generateA(text, optionClass, inline), index, 'hidden is-hidden')); + } else { + _li.push(generateLI(generateA(text, optionClass, inline), index)); + } + }); + + //If we are not multiple, we don't have a selected item, and we don't have a title, select the first element so something is set in the button + if (!this.multiple && this.$element.find('option:selected').length === 0 && !this.options.title) { + this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected'); + } + + return $(_li.join('')); + }, + + findLis: function () { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + return this.$lis; + }, + + /** + * @param [updateLi] defaults to true + */ + render: function (updateLi) { + var that = this; + + //Update the LI to match the SELECT + if (updateLi !== false) { + this.$element.find('option').each(function (index) { + that.setDisabled(index, $(this).is(':disabled') || $(this).parent().is(':disabled')); + that.setSelected(index, $(this).is(':selected')); + }); + } + + this.tabIndex(); + var notDisabled = this.options.hideDisabled ? ':not([disabled])' : ''; + var selectedItems = this.$element.find('option:selected' + notDisabled).map(function () { + var $this = $(this); + var icon = $this.data('icon') && that.options.showIcon ? ' ' : ''; + var subtext; + if (that.options.showSubtext && $this.attr('data-subtext') && !that.multiple) { + subtext = ' ' + $this.data('subtext') + ''; + } else { + subtext = ''; + } + if (typeof $this.attr('title') !== 'undefined') { + return $this.attr('title'); + } else if ($this.data('content') && that.options.showContent) { + return $this.data('content'); + } else { + return icon + $this.html() + subtext; + } + }).toArray(); + + //Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled + //Convert all the values into a comma delimited string + var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator); + + //If this is multi select, and the selectText type is count, the show 1 of 2 selected etc.. + if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) { + var max = this.options.selectedTextFormat.split('>'); + if ((max.length > 1 && selectedItems.length > max[1]) || (max.length == 1 && selectedItems.length >= 2)) { + notDisabled = this.options.hideDisabled ? ', [disabled]' : ''; + var totalCount = this.$element.find('option').not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length, + tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText; + title = tr8nText.replace('{0}', selectedItems.length.toString()).replace('{1}', totalCount.toString()); + } + } + + this.options.title = this.$element.attr('title'); + + if (this.options.selectedTextFormat == 'static') { + title = this.options.title; + } + + //If we dont have a title, then use the default, or if nothing is set at all, use the not selected text + if (!title) { + title = typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText; + } + + //strip all html-tags and trim the result + this.$button.attr('title', $.trim(title.replace(/<[^>]*>?/g, ''))); + this.$newElement.find('.filter-option').html(title); + }, + + /** + * @param [style] + * @param [status] + */ + setStyle: function (style, status) { + if (this.$element.attr('class')) { + this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|validate\[.*\]/gi, '')); + } + + var buttonClass = style ? style : this.options.style; + + if (status == 'add') { + this.$button.addClass(buttonClass); + } else if (status == 'remove') { + this.$button.removeClass(buttonClass); + } else { + this.$button.removeClass(this.options.style); + this.$button.addClass(buttonClass); + } + }, + + liHeight: function () { + if (this.options.size === false) return; + + var $selectClone = this.$menu.parent().clone().children('.dropdown-toggle').prop('autofocus', false).end().appendTo('body'), + $menuClone = $selectClone.addClass('open').children('.dropdown-menu'), + liHeight = $menuClone.find('li').not('.divider').not('.dropdown-header').filter(':visible').children('a').outerHeight(), + headerHeight = this.options.header ? $menuClone.find('.popover-title').outerHeight() : 0, + searchHeight = this.options.liveSearch ? $menuClone.find('.bs-searchbox').outerHeight() : 0, + actionsHeight = this.options.actionsBox ? $menuClone.find('.bs-actionsbox').outerHeight() : 0; + + $selectClone.remove(); + + this.$newElement + .data('liHeight', liHeight) + .data('headerHeight', headerHeight) + .data('searchHeight', searchHeight) + .data('actionsHeight', actionsHeight); + }, + + setSize: function () { + this.findLis(); + var that = this, + menu = this.$menu, + menuInner = menu.find('.inner'), + selectHeight = this.$newElement.outerHeight(), + liHeight = this.$newElement.data('liHeight'), + headerHeight = this.$newElement.data('headerHeight'), + searchHeight = this.$newElement.data('searchHeight'), + actionsHeight = this.$newElement.data('actionsHeight'), + divHeight = this.$lis.filter('.divider').outerHeight(true), + menuPadding = parseInt(menu.css('padding-top')) + + parseInt(menu.css('padding-bottom')) + + parseInt(menu.css('border-top-width')) + + parseInt(menu.css('border-bottom-width')), + notDisabled = this.options.hideDisabled ? ', .disabled' : '', + $window = $(window), + menuExtras = menuPadding + parseInt(menu.css('margin-top')) + parseInt(menu.css('margin-bottom')) + 2, + menuHeight, + selectOffsetTop, + selectOffsetBot, + posVert = function () { + // JQuery defines a scrollTop function, but in pure JS it's a property + //noinspection JSValidateTypes + selectOffsetTop = that.$newElement.offset().top - $window.scrollTop(); + selectOffsetBot = $window.height() - selectOffsetTop - selectHeight; + }; + posVert(); + if (this.options.header) menu.css('padding-top', 0); + + if (this.options.size == 'auto') { + var getSize = function () { + var minHeight, + lisVis = that.$lis.not('.hidden'); + + posVert(); + menuHeight = selectOffsetBot - menuExtras; + + if (that.options.dropupAuto) { + that.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras) < menu.height()); + } + if (that.$newElement.hasClass('dropup')) { + menuHeight = selectOffsetTop - menuExtras; + } + + if ((lisVis.length + lisVis.filter('.dropdown-header').length) > 3) { + minHeight = liHeight * 3 + menuExtras - 2; + } else { + minHeight = 0; + } + + menu.css({ + 'max-height': menuHeight + 'px', + 'overflow': 'hidden', + 'min-height': minHeight + headerHeight + searchHeight + actionsHeight + 'px' + }); + menuInner.css({ + 'max-height': menuHeight - headerHeight - searchHeight - actionsHeight - menuPadding + 'px', + 'overflow-y': 'auto', + 'min-height': Math.max(minHeight - menuPadding, 0) + 'px' + }); + }; + getSize(); + this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize', getSize); + $window.off('resize.getSize').on('resize.getSize', getSize); + $window.off('scroll.getSize').on('scroll.getSize', getSize); + } else if (this.options.size && this.options.size != 'auto' && menu.find('li' + notDisabled).length > this.options.size) { + var optIndex = this.$lis.not('.divider' + notDisabled).children().slice(0, this.options.size).last().parent().index(); + var divLength = this.$lis.slice(0, optIndex + 1).filter('.divider').length; + menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding; + if (that.options.dropupAuto) { + //noinspection JSUnusedAssignment + this.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && menuHeight < menu.height()); + } + menu.css({'max-height': menuHeight + headerHeight + searchHeight + actionsHeight + 'px', 'overflow': 'hidden'}); + menuInner.css({'max-height': menuHeight - menuPadding + 'px', 'overflow-y': 'auto'}); + } + }, + + setWidth: function () { + if (this.options.width == 'auto') { + this.$menu.css('min-width', '0'); + + // Get correct width if element hidden + var selectClone = this.$newElement.clone().appendTo('body'); + var ulWidth = selectClone.children('.dropdown-menu').css('width'); + var btnWidth = selectClone.css('width', 'auto').children('button').css('width'); + selectClone.remove(); + + // Set width to whatever's larger, button title or longest option + this.$newElement.css('width', Math.max(parseInt(ulWidth), parseInt(btnWidth)) + 'px'); + } else if (this.options.width == 'fit') { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', '').addClass('fit-width'); + } else if (this.options.width) { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', this.options.width); + } else { + // Remove inline min-width/width so width can be changed + this.$menu.css('min-width', ''); + this.$newElement.css('width', ''); + } + // Remove fit-width class if width is changed programmatically + if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') { + this.$newElement.removeClass('fit-width'); + } + }, + + selectPosition: function () { + var that = this, + drop = '
    ', + $drop = $(drop), + pos, + actualHeight, + getPlacement = function ($element) { + $drop.addClass($element.attr('class').replace(/form-control/gi, '')).toggleClass('dropup', $element.hasClass('dropup')); + pos = $element.offset(); + actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; + $drop.css({ + 'top': pos.top + actualHeight, + 'left': pos.left, + 'width': $element[0].offsetWidth, + 'position': 'absolute' + }); + }; + this.$newElement.on('click', function () { + if (that.isDisabled()) { + return; + } + getPlacement($(this)); + $drop.appendTo(that.options.container); + $drop.toggleClass('open', !$(this).hasClass('open')); + $drop.append(that.$menu); + }); + $(window).resize(function () { + getPlacement(that.$newElement); + }); + $(window).on('scroll', function () { + getPlacement(that.$newElement); + }); + $('html').on('click', function (e) { + if ($(e.target).closest(that.$newElement).length < 1) { + $drop.removeClass('open'); + } + }); + }, + + setSelected: function (index, selected) { + this.findLis(); + this.$lis.filter('[data-original-index="' + index + '"]').toggleClass('selected', selected); + }, + + setDisabled: function (index, disabled) { + this.findLis(); + if (disabled) { + this.$lis.filter('[data-original-index="' + index + '"]').addClass('disabled').find('a').attr('href', '#').attr('tabindex', -1); + } else { + this.$lis.filter('[data-original-index="' + index + '"]').removeClass('disabled').find('a').removeAttr('href').attr('tabindex', 0); + } + }, + + isDisabled: function () { + return this.$element.is(':disabled'); + }, + + checkDisabled: function () { + var that = this; + + if (this.isDisabled()) { + this.$button.addClass('disabled').attr('tabindex', -1); + } else { + if (this.$button.hasClass('disabled')) { + this.$button.removeClass('disabled'); + } + + if (this.$button.attr('tabindex') == -1) { + if (!this.$element.data('tabindex')) this.$button.removeAttr('tabindex'); + } + } + + this.$button.click(function () { + return !that.isDisabled(); + }); + }, + + tabIndex: function () { + if (this.$element.is('[tabindex]')) { + this.$element.data('tabindex', this.$element.attr('tabindex')); + this.$button.attr('tabindex', this.$element.data('tabindex')); + } + }, + + clickListener: function () { + var that = this; + + this.$newElement.on('touchstart.dropdown', '.dropdown-menu', function (e) { + e.stopPropagation(); + }); + + this.$newElement.on('click', function () { + that.setSize(); + if (!that.options.liveSearch && !that.multiple) { + setTimeout(function () { + that.$menu.find('.selected a').focus(); + }, 10); + } + }); + + this.$menu.on('click', 'li a', function (e) { + var $this = $(this), + clickedIndex = $this.parent().data('originalIndex'), + prevValue = that.$element.val(), + prevIndex = that.$element.prop('selectedIndex'); + + // Don't close on multi choice menu + if (that.multiple) { + e.stopPropagation(); + } + + e.preventDefault(); + + //Don't run if we have been disabled + if (!that.isDisabled() && !$this.parent().hasClass('disabled')) { + var $options = that.$element.find('option'), + $option = $options.eq(clickedIndex), + state = $option.prop('selected'), + $optgroup = $option.parent('optgroup'), + maxOptions = that.options.maxOptions, + maxOptionsGrp = $optgroup.data('maxOptions') || false; + + if (!that.multiple) { // Deselect all others if not multi select box + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else { // Toggle the one we have chosen if we are multi select. + $option.prop('selected', !state); + that.setSelected(clickedIndex, !state); + $this.blur(); + + if (maxOptions !== false || maxOptionsGrp !== false) { + var maxReached = maxOptions < $options.filter(':selected').length, + maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length; + + if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) { + if (maxOptions && maxOptions == 1) { + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else if (maxOptionsGrp && maxOptionsGrp == 1) { + $optgroup.find('option:selected').prop('selected', false); + $option.prop('selected', true); + var optgroupID = $this.data('optgroup'); + + that.$menu.find('.selected').has('a[data-optgroup="' + optgroupID + '"]').removeClass('selected'); + + that.setSelected(clickedIndex, true); + } else { + var maxOptionsArr = (typeof that.options.maxOptionsText === 'function') ? + that.options.maxOptionsText(maxOptions, maxOptionsGrp) : that.options.maxOptionsText, + maxTxt = maxOptionsArr[0].replace('{n}', maxOptions), + maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp), + $notify = $('
    '); + // If {var} is set in array, replace it + /** @deprecated */ + if (maxOptionsArr[2]) { + maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]); + maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]); + } + + $option.prop('selected', false); + + that.$menu.append($notify); + + if (maxOptions && maxReached) { + $notify.append($('
    ' + maxTxt + '
    ')); + that.$element.trigger('maxReached.bs.select'); + } + + if (maxOptionsGrp && maxReachedGrp) { + $notify.append($('
    ' + maxTxtGrp + '
    ')); + that.$element.trigger('maxReachedGrp.bs.select'); + } + + setTimeout(function () { + that.setSelected(clickedIndex, false); + }, 10); + + $notify.delay(750).fadeOut(300, function () { + $(this).remove(); + }); + } + } + } + } + + if (!that.multiple) { + that.$button.focus(); + } else if (that.options.liveSearch) { + that.$searchbox.focus(); + } + + // Trigger select 'change' + if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) { + that.$element.change(); + } + } + }); + + this.$menu.on('click', 'li.disabled a, .popover-title, .popover-title :not(.close)', function (e) { + if (e.currentTarget == this) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + } + }); + + this.$menu.on('click', 'li.divider, li.dropdown-header', function (e) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + }); + + this.$menu.on('click', '.popover-title .close', function () { + that.$button.focus(); + }); + + this.$searchbox.on('click', function (e) { + e.stopPropagation(); + }); + + + this.$menu.on('click', '.actions-btn', function (e) { + if (that.options.liveSearch) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + + e.preventDefault(); + e.stopPropagation(); + + if ($(this).is('.bs-select-all')) { + that.selectAll(); + } else { + that.deselectAll(); + } + that.$element.change(); + }); + + this.$element.change(function () { + that.render(false); + }); + }, + + liveSearchListener: function () { + var that = this, + no_results = $('
  • '); + + this.$newElement.on('click.dropdown.data-api touchstart.dropdown.data-api', function () { + that.$menu.find('.active').removeClass('active'); + if (!!that.$searchbox.val()) { + that.$searchbox.val(''); + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) no_results.remove(); + } + if (!that.multiple) that.$menu.find('.selected').addClass('active'); + setTimeout(function () { + that.$searchbox.focus(); + }, 10); + }); + + this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api', function (e) { + e.stopPropagation(); + }); + + this.$searchbox.on('input propertychange', function () { + if (that.$searchbox.val()) { + if (that.options.searchAccentInsensitive) { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':aicontains(' + normalizeToBase(that.$searchbox.val()) + ')').parent().addClass('hidden'); + } else { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':icontains(' + that.$searchbox.val() + ')').parent().addClass('hidden'); + } + + that.$lis.filter('.dropdown-header').each(function () { + var $this = $(this), + optgroup = $this.data('optgroup'); + + if (that.$lis.filter('[data-optgroup=' + optgroup + ']').not($this).filter(':visible').length === 0) { + $this.addClass('hidden'); + } + }); + + if (!that.$menu.find('li').filter(':visible:not(.no-results)').length) { + if (!!no_results.parent().length) { + no_results.remove(); + } + no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"')).show(); + that.$menu.find('li').last().after(no_results); + } else if (!!no_results.parent().length) { + no_results.remove(); + } + + } else { + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) { + no_results.remove(); + } + } + + that.$menu.find('li.active').removeClass('active'); + that.$menu.find('li').filter(':visible:not(.divider)').eq(0).addClass('active').find('a').focus(); + $(this).focus(); + }); + }, + + val: function (value) { + if (typeof value !== 'undefined') { + this.$element.val(value); + this.render(); + + return this.$element; + } else { + return this.$element.val(); + } + }, + + selectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').not('.selected').filter(':visible').find('a').click(); + }, + + deselectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').filter('.selected').filter(':visible').find('a').click(); + }, + + keydown: function (e) { + var $this = $(this), + $parent = ($this.is('input')) ? $this.parent().parent() : $this.parent(), + $items, + that = $parent.data('this'), + index, + next, + first, + last, + prev, + nextPrev, + prevIndex, + isActive, + keyCodeMap = { + 32: ' ', + 48: '0', + 49: '1', + 50: '2', + 51: '3', + 52: '4', + 53: '5', + 54: '6', + 55: '7', + 56: '8', + 57: '9', + 59: ';', + 65: 'a', + 66: 'b', + 67: 'c', + 68: 'd', + 69: 'e', + 70: 'f', + 71: 'g', + 72: 'h', + 73: 'i', + 74: 'j', + 75: 'k', + 76: 'l', + 77: 'm', + 78: 'n', + 79: 'o', + 80: 'p', + 81: 'q', + 82: 'r', + 83: 's', + 84: 't', + 85: 'u', + 86: 'v', + 87: 'w', + 88: 'x', + 89: 'y', + 90: 'z', + 96: '0', + 97: '1', + 98: '2', + 99: '3', + 100: '4', + 101: '5', + 102: '6', + 103: '7', + 104: '8', + 105: '9' + }; + + if (that.options.liveSearch) $parent = $this.parent().parent(); + + if (that.options.container) $parent = that.$menu; + + $items = $('[role=menu] li a', $parent); + + isActive = that.$menu.parent().hasClass('open'); + + if (!isActive && /([0-9]|[A-z])/.test(String.fromCharCode(e.keyCode))) { + if (!that.options.container) { + that.setSize(); + that.$menu.parent().addClass('open'); + isActive = true; + } else { + that.$newElement.trigger('click'); + } + that.$searchbox.focus(); + } + + if (that.options.liveSearch) { + if (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && that.$menu.find('.active').length === 0) { + e.preventDefault(); + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + $items = $('[role=menu] li:not(.divider):not(.dropdown-header):visible', $parent); + if (!$this.val() && !/(38|40)/.test(e.keyCode.toString(10))) { + if ($items.filter('.active').length === 0) { + if (that.options.searchAccentInsensitive) { + $items = that.$newElement.find('li').filter(':aicontains(' + normalizeToBase(keyCodeMap[e.keyCode]) + ')'); + } else { + $items = that.$newElement.find('li').filter(':icontains(' + keyCodeMap[e.keyCode] + ')'); + } + } + } + } + + if (!$items.length) return; + + if (/(38|40)/.test(e.keyCode.toString(10))) { + index = $items.index($items.filter(':focus')); + first = $items.parent(':not(.disabled):visible').first().index(); + last = $items.parent(':not(.disabled):visible').last().index(); + next = $items.eq(index).parent().nextAll(':not(.disabled):visible').eq(0).index(); + prev = $items.eq(index).parent().prevAll(':not(.disabled):visible').eq(0).index(); + nextPrev = $items.eq(next).parent().prevAll(':not(.disabled):visible').eq(0).index(); + + if (that.options.liveSearch) { + $items.each(function (i) { + if ($(this).is(':not(.disabled)')) { + $(this).data('index', i); + } + }); + index = $items.index($items.filter('.active')); + first = $items.filter(':not(.disabled):visible').first().data('index'); + last = $items.filter(':not(.disabled):visible').last().data('index'); + next = $items.eq(index).nextAll(':not(.disabled):visible').eq(0).data('index'); + prev = $items.eq(index).prevAll(':not(.disabled):visible').eq(0).data('index'); + nextPrev = $items.eq(next).prevAll(':not(.disabled):visible').eq(0).data('index'); + } + + prevIndex = $this.data('prevIndex'); + + if (e.keyCode == 38) { + if (that.options.liveSearch) index -= 1; + if (index != nextPrev && index > prev) index = prev; + if (index < first) index = first; + if (index == prevIndex) index = last; + } + + if (e.keyCode == 40) { + if (that.options.liveSearch) index += 1; + if (index == -1) index = 0; + if (index != nextPrev && index < next) index = next; + if (index > last) index = last; + if (index == prevIndex) index = first; + } + + $this.data('prevIndex', index); + + if (!that.options.liveSearch) { + $items.eq(index).focus(); + } else { + e.preventDefault(); + if (!$this.is('.dropdown-toggle')) { + $items.removeClass('active'); + $items.eq(index).addClass('active').find('a').focus(); + $this.focus(); + } + } + + } else if (!$this.is('input')) { + var keyIndex = [], + count, + prevKey; + + $items.each(function () { + if ($(this).parent().is(':not(.disabled)')) { + if ($.trim($(this).text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode]) { + keyIndex.push($(this).parent().index()); + } + } + }); + + count = $(document).data('keycount'); + count++; + $(document).data('keycount', count); + + prevKey = $.trim($(':focus').text().toLowerCase()).substring(0, 1); + + if (prevKey != keyCodeMap[e.keyCode]) { + count = 1; + $(document).data('keycount', count); + } else if (count >= keyIndex.length) { + $(document).data('keycount', 0); + if (count > keyIndex.length) count = 1; + } + + $items.eq(keyIndex[count - 1]).focus(); + } + + // Select focused option if "Enter", "Spacebar" or "Tab" (when selectOnTab is true) are pressed inside the menu. + if ((/(13|32)/.test(e.keyCode.toString(10)) || (/(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab)) && isActive) { + if (!/(32)/.test(e.keyCode.toString(10))) e.preventDefault(); + if (!that.options.liveSearch) { + var elem = $(':focus'); + elem.click(); + // Bring back focus for multiselects + elem.focus(); + // Prevent screen from scrolling if the user hit the spacebar + e.preventDefault(); + } else if (!/(32)/.test(e.keyCode.toString(10))) { + that.$menu.find('.active a').click(); + $this.focus(); + } + $(document).data('keycount', 0); + } + + if ((/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode.toString(10)) && !isActive)) { + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + }, + + mobile: function () { + this.$element.addClass('mobile-device').appendTo(this.$newElement); + if (this.options.container) this.$menu.hide(); + }, + + refresh: function () { + this.$lis = null; + this.reloadLi(); + this.render(); + this.setWidth(); + this.setStyle(); + this.checkDisabled(); + this.liHeight(); + }, + + hide: function () { + this.$newElement.hide(); + }, + + show: function () { + this.$newElement.show(); + }, + + remove: function () { + this.$newElement.remove(); + this.$element.remove(); + } + }; + + // SELECTPICKER PLUGIN DEFINITION + // ============================== + function Plugin(option, event) { + // get the args of the outer function.. + var args = arguments; + // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them + // to get lost + //noinspection JSDuplicatedDeclaration + var _option = option, + option = args[0], + event = args[1]; + [].shift.apply(args); + + // This fixes a bug in the js implementation on android 2.3 #715 + if (typeof option == 'undefined') { + option = _option; + } + + var value; + var chain = this.each(function () { + var $this = $(this); + if ($this.is('select')) { + var data = $this.data('selectpicker'), + options = typeof option == 'object' && option; + + if (!data) { + var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options); + $this.data('selectpicker', (data = new Selectpicker(this, config, event))); + } else if (options) { + for (var i in options) { + if (options.hasOwnProperty(i)) { + data.options[i] = options[i]; + } + } + } + + if (typeof option == 'string') { + if (data[option] instanceof Function) { + value = data[option].apply(data, args); + } else { + value = data.options[option]; + } + } + } + }); + + if (typeof value !== 'undefined') { + //noinspection JSUnusedAssignment + return value; + } else { + return chain; + } + } + + var old = $.fn.selectpicker; + $.fn.selectpicker = Plugin; + $.fn.selectpicker.Constructor = Selectpicker; + + // SELECTPICKER NO CONFLICT + // ======================== + $.fn.selectpicker.noConflict = function () { + $.fn.selectpicker = old; + return this; + }; + + $(document) + .data('keycount', 0) + .on('keydown', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', Selectpicker.prototype.keydown) + .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', function (e) { + e.stopPropagation(); + }); + + // SELECTPICKER DATA-API + // ===================== + $(window).on('load.bs.select.data-api', function () { + $('.selectpicker').each(function () { + var $selectpicker = $(this); + Plugin.call($selectpicker, $selectpicker.data()); + }) + }); +})(jQuery); diff --git a/src/www/themes/opnsense/build/js/bootstrap-select.js.map b/src/www/themes/opnsense/build/js/bootstrap-select.js.map new file mode 100644 index 000000000..329be2ef0 --- /dev/null +++ b/src/www/themes/opnsense/build/js/bootstrap-select.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bootstrap-select.min.js","sources":["bootstrap-select.js"],"names":["$","icontains","haystack","needle","toUpperCase","indexOf","normalizeToBase","text","rExps","re","ch","each","replace","this","htmlEscape","html","escapeMap","&","<",">","\"","'","`","source","Object","keys","join","testRegexp","RegExp","replaceRegexp","string","test","match","Plugin","option","event","args","arguments","_option","shift","apply","value","chain","$this","is","data","options","i","hasOwnProperty","config","extend","Selectpicker","DEFAULTS","fn","selectpicker","defaults","Function","expr","obj","index","meta","aicontains","element","e","stopPropagation","preventDefault","$element","$newElement","$button","$menu","$lis","title","attr","val","prototype","render","refresh","setStyle","selectAll","deselectAll","destroy","remove","show","hide","init","VERSION","noneSelectedText","noneResultsText","countSelectedText","numSelected","maxOptionsText","numAll","numGroup","arr","selectAllText","deselectAllText","multipleSeparator","style","size","selectedTextFormat","width","container","hideDisabled","showSubtext","showIcon","showContent","dropupAuto","header","liveSearch","liveSearchPlaceholder","actionsBox","iconBase","tickIcon","maxOptions","mobile","selectOnTab","dropdownAlignRight","searchAccentInsensitive","constructor","that","id","multiple","prop","autofocus","createView","after","children","$searchbox","find","addClass","click","focus","checkDisabled","clickListener","liveSearchListener","liHeight","setWidth","selectPosition","createDropdown","inputGroup","parent","hasClass","searchbox","actionsbox","drop","$drop","$li","createLi","append","reloadLi","destroyLi","_li","optID","generateLI","content","classes","optgroup","generateA","inline","normText","optionClass","subtext","icon","isDisabled","label","labelSubtext","labelIcon","length","push","eq","findLis","updateLi","setDisabled","setSelected","tabIndex","notDisabled","selectedItems","map","toArray","max","split","totalCount","not","tr8nText","toString","trim","status","buttonClass","removeClass","$selectClone","clone","end","appendTo","$menuClone","filter","outerHeight","headerHeight","searchHeight","actionsHeight","setSize","menuHeight","selectOffsetTop","selectOffsetBot","menu","menuInner","selectHeight","divHeight","menuPadding","parseInt","css","$window","window","menuExtras","posVert","offset","top","scrollTop","height","getSize","minHeight","lisVis","toggleClass","max-height","overflow","min-height","overflow-y","Math","off","on","optIndex","slice","last","divLength","selectClone","ulWidth","btnWidth","pos","actualHeight","getPlacement","offsetHeight","left","offsetWidth","position","resize","target","closest","selected","disabled","removeAttr","setTimeout","clickedIndex","prevValue","prevIndex","$options","$option","state","$optgroup","maxOptionsGrp","blur","maxReached","maxReachedGrp","optgroupID","has","maxOptionsArr","maxTxt","maxTxtGrp","$notify","trigger","delay","fadeOut","change","currentTarget","no_results","keydown","$items","next","first","prev","nextPrev","isActive","$parent","keyCodeMap",32,48,49,50,51,52,53,54,55,56,57,59,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,96,97,98,99,100,101,102,103,104,105,"String","fromCharCode","keyCode","nextAll","prevAll","count","prevKey","keyIndex","toLowerCase","substring","document","elem","old","Constructor","noConflict","$selectpicker","call","jQuery"],"mappings":"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"} \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/bootstrap-select.min.js b/src/www/themes/opnsense/build/js/bootstrap-select.min.js new file mode 100644 index 000000000..b3c2e388c --- /dev/null +++ b/src/www/themes/opnsense/build/js/bootstrap-select.min.js @@ -0,0 +1,8 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){"use strict";function b(a,b){return a.toUpperCase().indexOf(b.toUpperCase())>-1}function c(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function d(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function e(b,c){var d=arguments,e=b,b=d[0],c=d[1];[].shift.apply(d),"undefined"==typeof b&&(b=e);var g,h=this.each(function(){var e=a(this);if(e.is("select")){var h=e.data("selectpicker"),i="object"==typeof b&&b;if(h){if(i)for(var j in i)i.hasOwnProperty(j)&&(h.options[j]=i[j])}else{var k=a.extend({},f.DEFAULTS,a.fn.selectpicker.defaults||{},e.data(),i);e.data("selectpicker",h=new f(this,k,c))}"string"==typeof b&&(g=h[b]instanceof Function?h[b].apply(h,d):h.options[b])}});return"undefined"!=typeof g?g:h}a.expr[":"].icontains=function(c,d,e){return b(a(c).text(),e[3])},a.expr[":"].aicontains=function(c,d,e){return b(a(c).data("normalizedText")||a(c).text(),e[3])};var f=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=f.prototype.val,this.render=f.prototype.render,this.refresh=f.prototype.refresh,this.setStyle=f.prototype.setStyle,this.selectAll=f.prototype.selectAll,this.deselectAll=f.prototype.deselectAll,this.destroy=f.prototype.remove,this.remove=f.prototype.remove,this.show=f.prototype.show,this.hide=f.prototype.hide,this.init()};f.VERSION="1.6.3",f.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", ",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,searchAccentInsensitive:!1},f.prototype={constructor:f,init:function(){var b=this,c=this.$element.attr("id");this.$element.hide(),this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement),this.$menu=this.$newElement.children(".dropdown-menu"),this.$button=this.$newElement.children("button"),this.$searchbox=this.$newElement.find("input"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.liHeight(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile()},createDropdown:function(){var b=this.multiple?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'
    '+this.options.header+"
    ":"",g=this.options.liveSearch?'":"",h=this.options.actionsBox?'
    ":"",i='
    ';return a(i)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul").append(b),a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menu.find("ul").append(a)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var b=this,e=[],f=0,g=function(a,b,c,d){return""+a+""},h=function(a,e,f){var g=c(d(a));return''+a+''};return this.$element.find("option").each(function(c){var d=a(this),i=d.attr("class")||"",j=d.attr("style"),k=d.data("content")?d.data("content"):d.html(),l="undefined"!=typeof d.data("subtext")?''+d.data("subtext")+"":"",m="undefined"!=typeof d.data("icon")?' ':"",n=d.is(":disabled")||d.parent().is(":disabled");if(""!==m&&n&&(m=""+m+""),d.data("content")||(k=m+''+k+l+""),!b.options.hideDisabled||!n)if(d.parent().is("optgroup")&&d.data("divider")!==!0){if(0===d.index()){f+=1;var o=d.parent().attr("label"),p="undefined"!=typeof d.parent().data("subtext")?''+d.parent().data("subtext")+"":"",q=d.parent().data("icon")?' ':"";o=q+''+o+p+"",0!==c&&e.length>0&&e.push(g("",null,"divider")),e.push(g(o,null,"dropdown-header",f))}e.push(g(h(k,"opt "+i,j),c,"",f))}else e.push(d.data("divider")===!0?g("",c,"divider"):d.data("hidden")===!0?g(h(k,i,j),c,"hidden is-hidden"):g(h(k,i,j),c))}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),a(e.join(""))},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c=this;b!==!1&&this.$element.find("option").each(function(b){c.setDisabled(b,a(this).is(":disabled")||a(this).parent().is(":disabled")),c.setSelected(b,a(this).is(":selected"))}),this.tabIndex();var d=this.options.hideDisabled?":not([disabled])":"",e=this.$element.find("option:selected"+d).map(function(){var b,d=a(this),e=d.data("icon")&&c.options.showIcon?' ':"";return b=c.options.showSubtext&&d.attr("data-subtext")&&!c.multiple?' '+d.data("subtext")+"":"","undefined"!=typeof d.attr("title")?d.attr("title"):d.data("content")&&c.options.showContent?d.data("content"):e+d.html()+b}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){d=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+d).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}this.options.title=this.$element.attr("title"),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$newElement.find(".filter-option").html(f)},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(){if(this.options.size!==!1){var a=this.$menu.parent().clone().children(".dropdown-toggle").prop("autofocus",!1).end().appendTo("body"),b=a.addClass("open").children(".dropdown-menu"),c=b.find("li").not(".divider").not(".dropdown-header").filter(":visible").children("a").outerHeight(),d=this.options.header?b.find(".popover-title").outerHeight():0,e=this.options.liveSearch?b.find(".bs-searchbox").outerHeight():0,f=this.options.actionsBox?b.find(".bs-actionsbox").outerHeight():0;a.remove(),this.$newElement.data("liHeight",c).data("headerHeight",d).data("searchHeight",e).data("actionsHeight",f)}},setSize:function(){this.findLis();var b,c,d,e=this,f=this.$menu,g=f.find(".inner"),h=this.$newElement.outerHeight(),i=this.$newElement.data("liHeight"),j=this.$newElement.data("headerHeight"),k=this.$newElement.data("searchHeight"),l=this.$newElement.data("actionsHeight"),m=this.$lis.filter(".divider").outerHeight(!0),n=parseInt(f.css("padding-top"))+parseInt(f.css("padding-bottom"))+parseInt(f.css("border-top-width"))+parseInt(f.css("border-bottom-width")),o=this.options.hideDisabled?", .disabled":"",p=a(window),q=n+parseInt(f.css("margin-top"))+parseInt(f.css("margin-bottom"))+2,r=function(){c=e.$newElement.offset().top-p.scrollTop(),d=p.height()-c-h};if(r(),this.options.header&&f.css("padding-top",0),"auto"==this.options.size){var s=function(){var a,h=e.$lis.not(".hidden");r(),b=d-q,e.options.dropupAuto&&e.$newElement.toggleClass("dropup",c>d&&b-q3?3*i+q-2:0,f.css({"max-height":b+"px",overflow:"hidden","min-height":a+j+k+l+"px"}),g.css({"max-height":b-j-k-l-n+"px","overflow-y":"auto","min-height":Math.max(a-n,0)+"px"})};s(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",s),p.off("resize.getSize").on("resize.getSize",s),p.off("scroll.getSize").on("scroll.getSize",s)}else if(this.options.size&&"auto"!=this.options.size&&f.find("li"+o).length>this.options.size){var t=this.$lis.not(".divider"+o).children().slice(0,this.options.size).last().parent().index(),u=this.$lis.slice(0,t+1).filter(".divider").length;b=i*this.options.size+u*m+n,e.options.dropupAuto&&this.$newElement.toggleClass("dropup",c>d&&b",f=a(e),g=function(a){f.addClass(a.attr("class").replace(/form-control/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,f.css({top:b.top+c,left:b.left,width:a[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){d.isDisabled()||(g(a(this)),f.appendTo(d.options.container),f.toggleClass("open",!a(this).hasClass("open")),f.append(d.$menu))}),a(window).resize(function(){g(d.$newElement)}),a(window).on("scroll",function(){g(d.$newElement)}),a("html").on("click",function(b){a(b.target).closest(d.$newElement).length<1&&f.removeClass("open")})},setSelected:function(a,b){this.findLis(),this.$lis.filter('[data-original-index="'+a+'"]').toggleClass("selected",b)},setDisabled:function(a,b){this.findLis(),b?this.$lis.filter('[data-original-index="'+a+'"]').addClass("disabled").find("a").attr("href","#").attr("tabindex",-1):this.$lis.filter('[data-original-index="'+a+'"]').removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var a=this;this.isDisabled()?this.$button.addClass("disabled").attr("tabindex",-1):(this.$button.hasClass("disabled")&&this.$button.removeClass("disabled"),-1==this.$button.attr("tabindex")&&(this.$element.data("tabindex")||this.$button.removeAttr("tabindex"))),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this;this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),this.$newElement.on("click",function(){b.setSize(),b.options.liveSearch||b.multiple||setTimeout(function(){b.$menu.find(".selected a").focus()},10)}),this.$menu.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
    ');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
    "+r+"
    ")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
    "+s+"
    ")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menu.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.change()}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(a){a.currentTarget==this&&(a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus())}),this.$menu.on("click","li.divider, li.dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.focus()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).is(".bs-select-all")?b.selectAll():b.deselectAll(),b.$element.change()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var b=this,e=a('
  • ');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){b.$menu.find(".active").removeClass("active"),b.$searchbox.val()&&(b.$searchbox.val(""),b.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),b.multiple||b.$menu.find(".selected").addClass("active"),setTimeout(function(){b.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){b.$searchbox.val()?(b.options.searchAccentInsensitive?b.$lis.not(".is-hidden").removeClass("hidden").find("a").not(":aicontains("+c(b.$searchbox.val())+")").parent().addClass("hidden"):b.$lis.not(".is-hidden").removeClass("hidden").find("a").not(":icontains("+b.$searchbox.val()+")").parent().addClass("hidden"),b.$lis.filter(".dropdown-header").each(function(){var c=a(this),d=c.data("optgroup");0===b.$lis.filter("[data-optgroup="+d+"]").not(c).filter(":visible").length&&c.addClass("hidden")}),b.$menu.find("li").filter(":visible:not(.no-results)").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(b.options.noneResultsText.replace("{0}",'"'+d(b.$searchbox.val())+'"')).show(),b.$menu.find("li").last().after(e))):(b.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),b.$menu.find("li.active").removeClass("active"),b.$menu.find("li").filter(":visible:not(.divider)").eq(0).addClass("active").find("a").focus(),a(this).focus()})},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},selectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").not(".selected").filter(":visible").find("a").click()},deselectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").filter(".selected").filter(":visible").find("a").click()},keydown:function(b){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li a",n),l=o.$menu.parent().hasClass("open"),!l&&/([0-9]|[A-z])/.test(String.fromCharCode(b.keyCode))&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(b.preventDefault(),o.$menu.parent().removeClass("open"),o.$button.focus()),d=a("[role=menu] li:not(.divider):not(.dropdown-header):visible",n),m.val()||/(38|40)/.test(b.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$newElement.find("li").filter(o.options.searchAccentInsensitive?":aicontains("+c(p[b.keyCode])+")":":icontains("+p[b.keyCode]+")"))),d.length){if(/(38|40)/.test(b.keyCode.toString(10)))e=d.index(d.filter(":focus")),g=d.parent(":not(.disabled):visible").first().index(),h=d.parent(":not(.disabled):visible").last().index(),f=d.eq(e).parent().nextAll(":not(.disabled):visible").eq(0).index(),i=d.eq(e).parent().prevAll(":not(.disabled):visible").eq(0).index(),j=d.eq(f).parent().prevAll(":not(.disabled):visible").eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).is(":not(.disabled)")&&a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.filter(":not(.disabled):visible").first().data("index"),h=d.filter(":not(.disabled):visible").last().data("index"),f=d.eq(e).nextAll(":not(.disabled):visible").eq(0).data("index"),i=d.eq(e).prevAll(":not(.disabled):visible").eq(0).data("index"),j=d.eq(f).prevAll(":not(.disabled):visible").eq(0).data("index")),k=m.data("prevIndex"),38==b.keyCode&&(o.options.liveSearch&&(e-=1),e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)),40==b.keyCode&&(o.options.liveSearch&&(e+=1),-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(b.preventDefault(),m.is(".dropdown-toggle")||(d.removeClass("active"),d.eq(e).addClass("active").find("a").focus(),m.focus())):d.eq(e).focus();else if(!m.is("input")){var q,r,s=[];d.each(function(){a(this).parent().is(":not(.disabled)")&&a.trim(a(this).text().toLowerCase()).substring(0,1)==p[b.keyCode]&&s.push(a(this).parent().index())}),q=a(document).data("keycount"),q++,a(document).data("keycount",q),r=a.trim(a(":focus").text().toLowerCase()).substring(0,1),r!=p[b.keyCode]?(q=1,a(document).data("keycount",q)):q>=s.length&&(a(document).data("keycount",0),q>s.length&&(q=1)),d.eq(s[q-1]).focus()}if((/(13|32)/.test(b.keyCode.toString(10))||/(^9$)/.test(b.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(b.keyCode.toString(10))||b.preventDefault(),o.options.liveSearch)/(32)/.test(b.keyCode.toString(10))||(o.$menu.find(".active a").click(),m.focus());else{var t=a(":focus");t.click(),t.focus(),b.preventDefault()}a(document).data("keycount",0)}(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(b.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.reloadLi(),this.render(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var g=a.fn.selectpicker;a.fn.selectpicker=e,a.fn.selectpicker.Constructor=f,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=g,this},a(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",f.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);e.call(b,b.data())})})}(jQuery); +//# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-cs_CZ.js b/src/www/themes/opnsense/build/js/i18n/defaults-cs_CZ.js new file mode 100644 index 000000000..55a5829b7 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-cs_CZ.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic není vybráno', + noneResultsText: 'Žádné výsledky {0}', + countSelectedText: 'Označeno {0} z {1}', + maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-cs_CZ.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-cs_CZ.min.js new file mode 100644 index 000000000..10154fae9 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-cs_CZ.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-de_DE.js b/src/www/themes/opnsense/build/js/i18n/defaults-de_DE.js new file mode 100644 index 000000000..fac9319fe --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-de_DE.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Bitte wählen...', + noneResultsText: 'Keine Ergebnisse für {0}', + countSelectedText: '{0} von {1} ausgewählt', + maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-de_DE.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-de_DE.min.js new file mode 100644 index 000000000..a59a79ed5 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-de_DE.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-en_US.js b/src/www/themes/opnsense/build/js/i18n/defaults-en_US.js new file mode 100644 index 000000000..10d24a2d1 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-en_US.js @@ -0,0 +1,26 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results match {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-en_US.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-en_US.min.js new file mode 100644 index 000000000..ced385be9 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-en_US.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-es_CL.js b/src/www/themes/opnsense/build/js/i18n/defaults-es_CL.js new file mode 100644 index 000000000..407b891d6 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-es_CL.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'No hay selección', + noneResultsText: 'No hay resultados {0}', + countSelectedText: 'Seleccionados {0} de {1}', + maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-es_CL.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-es_CL.min.js new file mode 100644 index 000000000..990ab7f25 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-es_CL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-eu.js b/src/www/themes/opnsense/build/js/i18n/defaults-eu.js new file mode 100644 index 000000000..3b936a952 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-eu.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hautapenik ez', + noneResultsText: 'Emaitzarik ez {0}', + countSelectedText: '{1}(e)tik {0} hautatuta', + maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-eu.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-eu.min.js new file mode 100644 index 000000000..99846dee9 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-eu.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-fr_FR.js b/src/www/themes/opnsense/build/js/i18n/defaults-fr_FR.js new file mode 100644 index 000000000..9b3923266 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-fr_FR.js @@ -0,0 +1,24 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Aucune sélection', + noneResultsText: 'Aucun résultat pour {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected > 1) ? "{0} éléments sélectionés" : "{0} élément sélectioné"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)'; + arr[1] = (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'; + + return arr; + }, + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-fr_FR.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-fr_FR.min.js new file mode 100644 index 000000000..62390475e --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-fr_FR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a){return a>1?"{0} éléments sélectionés":"{0} élément sélectioné"},maxOptionsText:function(a,b){var c=[];return c[0]=a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",c[1]=b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)",c},multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-hu_HU.js b/src/www/themes/opnsense/build/js/i18n/defaults-hu_HU.js new file mode 100644 index 000000000..7de8a43db --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-hu_HU.js @@ -0,0 +1,24 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Válasszon!', + noneResultsText: 'Nincs találat {0}', + countSelectedText: function (numSelected, numTotal) { + return '{n} elem kiválasztva'; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = 'Legfeljebb {n} elem választható'; + arr[1] = 'A csoportban legfeljebb {n} elem választható'; + return arr; + }, + selectAllText: 'Mind', + deselectAllText: 'Egyik sem', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-hu_HU.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-hu_HU.min.js new file mode 100644 index 000000000..d0b39c532 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-hu_HU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(){return"{n} elem kiválasztva"},maxOptionsText:function(){var a=[];return a[0]="Legfeljebb {n} elem választható",a[1]="A csoportban legfeljebb {n} elem választható",a},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-it_IT.js b/src/www/themes/opnsense/build/js/i18n/defaults-it_IT.js new file mode 100644 index 000000000..c53846161 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-it_IT.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nessuna selezione', + noneResultsText: 'Nessun risultato per {0}', + countSelectedText: 'Selezionati {0} di {1}', + maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-it_IT.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-it_IT.min.js new file mode 100644 index 000000000..eea78f475 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-it_IT.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-nl_NL.js b/src/www/themes/opnsense/build/js/i18n/defaults-nl_NL.js new file mode 100644 index 000000000..4f1d4c604 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-nl_NL.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Niets geselecteerd', + noneResultsText: 'Geen resultaten gevonden voor {0}', + countSelectedText: '{0} van {1} geselecteerd', + maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-nl_NL.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-nl_NL.min.js new file mode 100644 index 000000000..b26e84f52 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-nl_NL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-pl_PL.js b/src/www/themes/opnsense/build/js/i18n/defaults-pl_PL.js new file mode 100644 index 000000000..719be5745 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-pl_PL.js @@ -0,0 +1,17 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic nie zaznaczono', + noneResultsText: 'Brak wyników wyszukiwania {0}', + countSelectedText: 'Zaznaczono {0} z {1}', + maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], + selectAll: 'Zaznacz wszystkie', + deselectAll: 'Odznacz wszystkie', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-pl_PL.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-pl_PL.min.js new file mode 100644 index 000000000..dc4f9b93f --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-pl_PL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-pt_BR.js b/src/www/themes/opnsense/build/js/i18n/defaults-pt_BR.js new file mode 100644 index 000000000..57d69bf86 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-pt_BR.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nada selecionado', + noneResultsText: 'Nada encontrado contendo {0}', + countSelectedText: 'Selecionado {0} de {1}', + maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-pt_BR.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-pt_BR.min.js new file mode 100644 index 000000000..808db8f75 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-pt_BR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-ro_RO.js b/src/www/themes/opnsense/build/js/i18n/defaults-ro_RO.js new file mode 100644 index 000000000..588aa4eb1 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-ro_RO.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nu a fost selectat nimic', + noneResultsText: 'Nu exista niciun rezultat {0}', + countSelectedText: '{0} din {1} selectat(e)', + maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-ro_RO.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-ro_RO.min.js new file mode 100644 index 000000000..f2a3454b8 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-ro_RO.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-ru_RU.js b/src/www/themes/opnsense/build/js/i18n/defaults-ru_RU.js new file mode 100644 index 000000000..5beb2dea7 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-ru_RU.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ничего не выбрано', + noneResultsText: 'Совпадений не найдено {0}', + countSelectedText: 'Выбрано {0} из {1}', + maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-ru_RU.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-ru_RU.min.js new file mode 100644 index 000000000..fad772509 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-ru_RU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-tr_TR.js b/src/www/themes/opnsense/build/js/i18n/defaults-tr_TR.js new file mode 100644 index 000000000..eaca9778d --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-tr_TR.js @@ -0,0 +1,24 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hiçbiri seçilmedi', + noneResultsText: 'Hiçbir sonuç bulunamadı {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)'; + arr[1] = (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'; + return arr; + }, + selectAllText: 'Tümünü Seç', + deselectAllText: 'Seçiniz', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-tr_TR.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-tr_TR.min.js new file mode 100644 index 000000000..00c3c4010 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-tr_TR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a){return"{0} öğe seçildi"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)",c[1]="Grup limiti aşıldı (maksimum {n} sayıda öğe)",c},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-ua_UA.js b/src/www/themes/opnsense/build/js/i18n/defaults-ua_UA.js new file mode 100644 index 000000000..a842be858 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-ua_UA.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Нічого не вибрано', + noneResultsText: 'Збігів не знайдено {0}', + countSelectedText: 'Вибрано {0} із {1}', + maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-ua_UA.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-ua_UA.min.js new file mode 100644 index 000000000..f529bd472 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-ua_UA.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-zh_CN.js b/src/www/themes/opnsense/build/js/i18n/defaults-zh_CN.js new file mode 100644 index 000000000..598b6b268 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-zh_CN.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '没有选中任何项', + noneResultsText: '没有找到匹配项', + countSelectedText: '选中{1}中的{0}项', + maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-zh_CN.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-zh_CN.min.js new file mode 100644 index 000000000..f2b39c59c --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-zh_CN.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-zh_TW.js b/src/www/themes/opnsense/build/js/i18n/defaults-zh_TW.js new file mode 100644 index 000000000..a7ca6c340 --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-zh_TW.js @@ -0,0 +1,17 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '沒有選取任何項目', + noneResultsText: '沒有找到符合的結果', + countSelectedText: '已經選取{0}個項目', + maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], + selectAllText: '選取全部', + deselectAllText: '全部取消', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/opnsense/build/js/i18n/defaults-zh_TW.min.js b/src/www/themes/opnsense/build/js/i18n/defaults-zh_TW.min.js new file mode 100644 index 000000000..a3391cd2e --- /dev/null +++ b/src/www/themes/opnsense/build/js/i18n/defaults-zh_TW.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/LICENSE b/src/www/themes/sample/LICENSE new file mode 100644 index 000000000..4e7f5527b --- /dev/null +++ b/src/www/themes/sample/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2014 bootstrap-select + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/www/themes/sample/assets/css/main.css b/src/www/themes/sample/assets/css/main.css deleted file mode 100644 index 45752c787..000000000 --- a/src/www/themes/sample/assets/css/main.css +++ /dev/null @@ -1,5794 +0,0 @@ -@charset "UTF-8"; -@font-face { - font-family: 'SourceSansProBold'; - src: url("../../build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.woff") format("woff"), url("../../build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.ttf") format("truetype"); } -@font-face { - font-family: 'SourceSansProSemibold'; - src: url("../../build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.woff") format("woff"), url("../../build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.ttf") format("truetype"); } -@font-face { - font-family: 'SourceSansProRegular'; - src: url("../../build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.woff") format("woff"), url("../../build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.ttf") format("truetype"); } -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; } - -body { - margin: 0; } - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; } - -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; } - -audio:not([controls]) { - display: none; - height: 0; } - -[hidden], -template { - display: none; } - -a { - background: transparent; } - -a:active, -a:hover { - outline: 0; } - -abbr[title] { - border-bottom: 1px dotted; } - -b, -strong { - font-weight: bold; } - -dfn { - font-style: italic; } - -h1 { - font-size: 2em; - margin: 0.67em 0; } - -mark { - background: #ff0; - color: #000; } - -small { - font-size: 80%; } - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; } - -sup { - top: -0.5em; } - -sub { - bottom: -0.25em; } - -img { - border: 0; } - -svg:not(:root) { - overflow: hidden; } - -figure { - margin: 1em 40px; } - -hr { - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; } - -pre { - overflow: auto; } - -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; } - -button, -input, -optgroup, -select, -textarea { - color: inherit; - font: inherit; - margin: 0; } - -button { - overflow: visible; } - -button, -select { - text-transform: none; } - -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; } - -button[disabled], -html input[disabled] { - cursor: default; } - -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; } - -input { - line-height: normal; } - -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; } - -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; } - -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; } - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; } - -legend { - border: 0; - padding: 0; } - -textarea { - overflow: auto; } - -optgroup { - font-weight: bold; } - -table { - border-collapse: collapse; - border-spacing: 0; } - -td, -th { - padding: 0; } - -@media print { - * { - text-shadow: none !important; - color: #000 !important; - background: transparent !important; - box-shadow: none !important; } - - a, - a:visited { - text-decoration: underline; } - - a[href]:after { - content: " (" attr(href) ")"; } - - abbr[title]:after { - content: " (" attr(title) ")"; } - - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; } - - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; } - - thead { - display: table-header-group; } - - tr, - img { - page-break-inside: avoid; } - - img { - max-width: 100% !important; } - - p, - h2, - h3 { - orphans: 3; - widows: 3; } - - h2, - h3 { - page-break-after: avoid; } - - select { - background: #fff !important; } - - .navbar { - display: none; } - - .table td, - .table th { - background-color: #fff !important; } - - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; } - - .label { - border: 1px solid #000; } - - .table { - border-collapse: collapse !important; } - - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; } } -@font-face { - font-family: 'Glyphicons Halflings'; - src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot"); - src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -.glyphicon-asterisk:before { - content: "\2a"; } - -.glyphicon-plus:before { - content: "\2b"; } - -.glyphicon-euro:before { - content: "\20ac"; } - -.glyphicon-minus:before { - content: "\2212"; } - -.glyphicon-cloud:before { - content: "\2601"; } - -.glyphicon-envelope:before { - content: "\2709"; } - -.glyphicon-pencil:before { - content: "\270f"; } - -.glyphicon-glass:before { - content: "\e001"; } - -.glyphicon-music:before { - content: "\e002"; } - -.glyphicon-search:before { - content: "\e003"; } - -.glyphicon-heart:before { - content: "\e005"; } - -.glyphicon-star:before { - content: "\e006"; } - -.glyphicon-star-empty:before { - content: "\e007"; } - -.glyphicon-user:before { - content: "\e008"; } - -.glyphicon-film:before { - content: "\e009"; } - -.glyphicon-th-large:before { - content: "\e010"; } - -.glyphicon-th:before { - content: "\e011"; } - -.glyphicon-th-list:before { - content: "\e012"; } - -.glyphicon-ok:before { - content: "\e013"; } - -.glyphicon-remove:before { - content: "\e014"; } - -.glyphicon-zoom-in:before { - content: "\e015"; } - -.glyphicon-zoom-out:before { - content: "\e016"; } - -.glyphicon-off:before { - content: "\e017"; } - -.glyphicon-signal:before { - content: "\e018"; } - -.glyphicon-cog:before { - content: "\e019"; } - -.glyphicon-trash:before { - content: "\e020"; } - -.glyphicon-home:before { - content: "\e021"; } - -.glyphicon-file:before { - content: "\e022"; } - -.glyphicon-time:before { - content: "\e023"; } - -.glyphicon-road:before { - content: "\e024"; } - -.glyphicon-download-alt:before { - content: "\e025"; } - -.glyphicon-download:before { - content: "\e026"; } - -.glyphicon-upload:before { - content: "\e027"; } - -.glyphicon-inbox:before { - content: "\e028"; } - -.glyphicon-play-circle:before { - content: "\e029"; } - -.glyphicon-repeat:before { - content: "\e030"; } - -.glyphicon-refresh:before { - content: "\e031"; } - -.glyphicon-list-alt:before { - content: "\e032"; } - -.glyphicon-lock:before { - content: "\e033"; } - -.glyphicon-flag:before { - content: "\e034"; } - -.glyphicon-headphones:before { - content: "\e035"; } - -.glyphicon-volume-off:before { - content: "\e036"; } - -.glyphicon-volume-down:before { - content: "\e037"; } - -.glyphicon-volume-up:before { - content: "\e038"; } - -.glyphicon-qrcode:before { - content: "\e039"; } - -.glyphicon-barcode:before { - content: "\e040"; } - -.glyphicon-tag:before { - content: "\e041"; } - -.glyphicon-tags:before { - content: "\e042"; } - -.glyphicon-book:before { - content: "\e043"; } - -.glyphicon-bookmark:before { - content: "\e044"; } - -.glyphicon-print:before { - content: "\e045"; } - -.glyphicon-camera:before { - content: "\e046"; } - -.glyphicon-font:before { - content: "\e047"; } - -.glyphicon-bold:before { - content: "\e048"; } - -.glyphicon-italic:before { - content: "\e049"; } - -.glyphicon-text-height:before { - content: "\e050"; } - -.glyphicon-text-width:before { - content: "\e051"; } - -.glyphicon-align-left:before { - content: "\e052"; } - -.glyphicon-align-center:before { - content: "\e053"; } - -.glyphicon-align-right:before { - content: "\e054"; } - -.glyphicon-align-justify:before { - content: "\e055"; } - -.glyphicon-list:before { - content: "\e056"; } - -.glyphicon-indent-left:before { - content: "\e057"; } - -.glyphicon-indent-right:before { - content: "\e058"; } - -.glyphicon-facetime-video:before { - content: "\e059"; } - -.glyphicon-picture:before { - content: "\e060"; } - -.glyphicon-map-marker:before { - content: "\e062"; } - -.glyphicon-adjust:before { - content: "\e063"; } - -.glyphicon-tint:before { - content: "\e064"; } - -.glyphicon-edit:before { - content: "\e065"; } - -.glyphicon-share:before { - content: "\e066"; } - -.glyphicon-check:before { - content: "\e067"; } - -.glyphicon-move:before { - content: "\e068"; } - -.glyphicon-step-backward:before { - content: "\e069"; } - -.glyphicon-fast-backward:before { - content: "\e070"; } - -.glyphicon-backward:before { - content: "\e071"; } - -.glyphicon-play:before { - content: "\e072"; } - -.glyphicon-pause:before { - content: "\e073"; } - -.glyphicon-stop:before { - content: "\e074"; } - -.glyphicon-forward:before { - content: "\e075"; } - -.glyphicon-fast-forward:before { - content: "\e076"; } - -.glyphicon-step-forward:before { - content: "\e077"; } - -.glyphicon-eject:before { - content: "\e078"; } - -.glyphicon-chevron-left:before { - content: "\e079"; } - -.glyphicon-chevron-right:before { - content: "\e080"; } - -.glyphicon-plus-sign:before { - content: "\e081"; } - -.glyphicon-minus-sign:before { - content: "\e082"; } - -.glyphicon-remove-sign:before { - content: "\e083"; } - -.glyphicon-ok-sign:before { - content: "\e084"; } - -.glyphicon-question-sign:before { - content: "\e085"; } - -.glyphicon-info-sign:before { - content: "\e086"; } - -.glyphicon-screenshot:before { - content: "\e087"; } - -.glyphicon-remove-circle:before { - content: "\e088"; } - -.glyphicon-ok-circle:before { - content: "\e089"; } - -.glyphicon-ban-circle:before { - content: "\e090"; } - -.glyphicon-arrow-left:before { - content: "\e091"; } - -.glyphicon-arrow-right:before { - content: "\e092"; } - -.glyphicon-arrow-up:before { - content: "\e093"; } - -.glyphicon-arrow-down:before { - content: "\e094"; } - -.glyphicon-share-alt:before { - content: "\e095"; } - -.glyphicon-resize-full:before { - content: "\e096"; } - -.glyphicon-resize-small:before { - content: "\e097"; } - -.glyphicon-exclamation-sign:before { - content: "\e101"; } - -.glyphicon-gift:before { - content: "\e102"; } - -.glyphicon-leaf:before { - content: "\e103"; } - -.glyphicon-fire:before { - content: "\e104"; } - -.glyphicon-eye-open:before { - content: "\e105"; } - -.glyphicon-eye-close:before { - content: "\e106"; } - -.glyphicon-warning-sign:before { - content: "\e107"; } - -.glyphicon-plane:before { - content: "\e108"; } - -.glyphicon-calendar:before { - content: "\e109"; } - -.glyphicon-random:before { - content: "\e110"; } - -.glyphicon-comment:before { - content: "\e111"; } - -.glyphicon-magnet:before { - content: "\e112"; } - -.glyphicon-chevron-up:before { - content: "\e113"; } - -.glyphicon-chevron-down:before { - content: "\e114"; } - -.glyphicon-retweet:before { - content: "\e115"; } - -.glyphicon-shopping-cart:before { - content: "\e116"; } - -.glyphicon-folder-close:before { - content: "\e117"; } - -.glyphicon-folder-open:before { - content: "\e118"; } - -.glyphicon-resize-vertical:before { - content: "\e119"; } - -.glyphicon-resize-horizontal:before { - content: "\e120"; } - -.glyphicon-hdd:before { - content: "\e121"; } - -.glyphicon-bullhorn:before { - content: "\e122"; } - -.glyphicon-bell:before { - content: "\e123"; } - -.glyphicon-certificate:before { - content: "\e124"; } - -.glyphicon-thumbs-up:before { - content: "\e125"; } - -.glyphicon-thumbs-down:before { - content: "\e126"; } - -.glyphicon-hand-right:before { - content: "\e127"; } - -.glyphicon-hand-left:before { - content: "\e128"; } - -.glyphicon-hand-up:before { - content: "\e129"; } - -.glyphicon-hand-down:before { - content: "\e130"; } - -.glyphicon-circle-arrow-right:before { - content: "\e131"; } - -.glyphicon-circle-arrow-left:before { - content: "\e132"; } - -.glyphicon-circle-arrow-up:before { - content: "\e133"; } - -.glyphicon-circle-arrow-down:before { - content: "\e134"; } - -.glyphicon-globe:before { - content: "\e135"; } - -.glyphicon-wrench:before { - content: "\e136"; } - -.glyphicon-tasks:before { - content: "\e137"; } - -.glyphicon-filter:before { - content: "\e138"; } - -.glyphicon-briefcase:before { - content: "\e139"; } - -.glyphicon-fullscreen:before { - content: "\e140"; } - -.glyphicon-dashboard:before { - content: "\e141"; } - -.glyphicon-paperclip:before { - content: "\e142"; } - -.glyphicon-heart-empty:before { - content: "\e143"; } - -.glyphicon-link:before { - content: "\e144"; } - -.glyphicon-phone:before { - content: "\e145"; } - -.glyphicon-pushpin:before { - content: "\e146"; } - -.glyphicon-usd:before { - content: "\e148"; } - -.glyphicon-gbp:before { - content: "\e149"; } - -.glyphicon-sort:before { - content: "\e150"; } - -.glyphicon-sort-by-alphabet:before { - content: "\e151"; } - -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; } - -.glyphicon-sort-by-order:before { - content: "\e153"; } - -.glyphicon-sort-by-order-alt:before { - content: "\e154"; } - -.glyphicon-sort-by-attributes:before { - content: "\e155"; } - -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; } - -.glyphicon-unchecked:before { - content: "\e157"; } - -.glyphicon-expand:before { - content: "\e158"; } - -.glyphicon-collapse-down:before { - content: "\e159"; } - -.glyphicon-collapse-up:before { - content: "\e160"; } - -.glyphicon-log-in:before { - content: "\e161"; } - -.glyphicon-flash:before { - content: "\e162"; } - -.glyphicon-log-out:before { - content: "\e163"; } - -.glyphicon-new-window:before { - content: "\e164"; } - -.glyphicon-record:before { - content: "\e165"; } - -.glyphicon-save:before { - content: "\e166"; } - -.glyphicon-open:before { - content: "\e167"; } - -.glyphicon-saved:before { - content: "\e168"; } - -.glyphicon-import:before { - content: "\e169"; } - -.glyphicon-export:before { - content: "\e170"; } - -.glyphicon-send:before { - content: "\e171"; } - -.glyphicon-floppy-disk:before { - content: "\e172"; } - -.glyphicon-floppy-saved:before { - content: "\e173"; } - -.glyphicon-floppy-remove:before { - content: "\e174"; } - -.glyphicon-floppy-save:before { - content: "\e175"; } - -.glyphicon-floppy-open:before { - content: "\e176"; } - -.glyphicon-credit-card:before { - content: "\e177"; } - -.glyphicon-transfer:before { - content: "\e178"; } - -.glyphicon-cutlery:before { - content: "\e179"; } - -.glyphicon-header:before { - content: "\e180"; } - -.glyphicon-compressed:before { - content: "\e181"; } - -.glyphicon-earphone:before { - content: "\e182"; } - -.glyphicon-phone-alt:before { - content: "\e183"; } - -.glyphicon-tower:before { - content: "\e184"; } - -.glyphicon-stats:before { - content: "\e185"; } - -.glyphicon-sd-video:before { - content: "\e186"; } - -.glyphicon-hd-video:before { - content: "\e187"; } - -.glyphicon-subtitles:before { - content: "\e188"; } - -.glyphicon-sound-stereo:before { - content: "\e189"; } - -.glyphicon-sound-dolby:before { - content: "\e190"; } - -.glyphicon-sound-5-1:before { - content: "\e191"; } - -.glyphicon-sound-6-1:before { - content: "\e192"; } - -.glyphicon-sound-7-1:before { - content: "\e193"; } - -.glyphicon-copyright-mark:before { - content: "\e194"; } - -.glyphicon-registration-mark:before { - content: "\e195"; } - -.glyphicon-cloud-download:before { - content: "\e197"; } - -.glyphicon-cloud-upload:before { - content: "\e198"; } - -.glyphicon-tree-conifer:before { - content: "\e199"; } - -.glyphicon-tree-deciduous:before { - content: "\e200"; } - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; } - -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; } - -html { - font-size: 10px; - -webkit-tap-highlight-color: transparent; } - -body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.428571429; - color: #3b3b3c; - background-color: #fff; } - -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -a { - color: #EA7105; - text-decoration: none; } - a:hover, a:focus { - color: #9f4d03; - text-decoration: underline; } - a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; } - -figure { - margin: 0; } - -img { - vertical-align: middle; } - -.img-responsive { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; } - -.img-rounded { - border-radius: 6px; } - -.img-thumbnail { - padding: 4px; - line-height: 1.428571429; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 3px; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - display: inline-block; - width: 100% \9; - max-width: 100%; - height: auto; } - -.img-circle { - border-radius: 50%; } - -hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eeeeee; } - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; } - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - font-family: "SourceSansProSemiBold"; - font-weight: 100; - line-height: 1.4; - color: inherit; } - h1 small, - h1 .small, h2 small, - h2 .small, h3 small, - h3 .small, h4 small, - h4 .small, h5 small, - h5 .small, h6 small, - h6 .small, - .h1 small, - .h1 .small, .h2 small, - .h2 .small, .h3 small, - .h3 .small, .h4 small, - .h4 .small, .h5 small, - .h5 .small, .h6 small, - .h6 .small { - font-weight: normal; - line-height: 1; - color: #777777; } - -h1, .h1, -h2, .h2, -h3, .h3 { - margin-top: 20px; - margin-bottom: 10px; } - h1 small, - h1 .small, .h1 small, - .h1 .small, - h2 small, - h2 .small, .h2 small, - .h2 .small, - h3 small, - h3 .small, .h3 small, - .h3 .small { - font-size: 65%; } - -h4, .h4, -h5, .h5, -h6, .h6 { - margin-top: 10px; - margin-bottom: 10px; } - h4 small, - h4 .small, .h4 small, - .h4 .small, - h5 small, - h5 .small, .h5 small, - .h5 .small, - h6 small, - h6 .small, .h6 small, - .h6 .small { - font-size: 75%; } - -h1, .h1 { - font-size: 23px; } - -h2, .h2 { - font-size: 16px; } - -h3, .h3 { - font-size: 14px; } - -h4, .h4 { - font-size: 18px; } - -h5, .h5 { - font-size: 14px; } - -h6, .h6 { - font-size: 12px; } - -p { - margin: 0 0 10px; } - -.lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; } - @media (min-width: 768px) { - .lead { - font-size: 21px; } } - -small, -.small { - font-size: 85%; } - -cite { - font-style: normal; } - -mark, -.mark { - background-color: #fcf8e3; - padding: .2em; } - -.text-left { - text-align: left; } - -.text-right { - text-align: right; } - -.text-center { - text-align: center; } - -.text-justify { - text-align: justify; } - -.text-nowrap { - white-space: nowrap; } - -.text-lowercase { - text-transform: lowercase; } - -.text-uppercase { - text-transform: uppercase; } - -.text-capitalize { - text-transform: capitalize; } - -.text-muted { - color: #777777; } - -.text-primary { - color: #EA7105; } - -a.text-primary:hover { - color: #b85904; } - -.text-success { - color: #9BD275; } - -a.text-success:hover { - color: #7fc54f; } - -.text-info { - color: #31708f; } - -a.text-info:hover { - color: #245269; } - -.text-warning { - color: #f0ad4e; } - -a.text-warning:hover { - color: #ec971f; } - -.text-danger { - color: #F05050; } - -a.text-danger:hover { - color: #ec2121; } - -.bg-primary { - color: #fff; } - -.bg-primary { - background-color: #EA7105; } - -a.bg-primary:hover { - background-color: #b85904; } - -.bg-success { - background-color: #9BD275; } - -a.bg-success:hover { - background-color: #7fc54f; } - -.bg-info { - background-color: #d9edf7; } - -a.bg-info:hover { - background-color: #afd9ee; } - -.bg-warning { - background-color: #fcf8e3; } - -a.bg-warning:hover { - background-color: #f7ecb5; } - -.bg-danger { - background-color: #F05050; } - -a.bg-danger:hover { - background-color: #ec2121; } - -.page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; } - -ul, -ol { - margin-top: 0; - margin-bottom: 10px; } - ul ul, - ul ol, - ol ul, - ol ol { - margin-bottom: 0; } - -.list-unstyled, .list-inline { - padding-left: 0; - list-style: none; } - -.list-inline { - margin-left: -5px; } - .list-inline > li { - float: left; - padding-left: 5px; - padding-right: 5px; } - -dl { - margin-top: 0; - margin-bottom: 20px; } - -dt, -dd { - line-height: 1.428571429; } - -dt { - font-weight: bold; } - -dd { - margin-left: 0; } - -.dl-horizontal dd:before, .dl-horizontal dd:after { - content: " "; - display: table; } -.dl-horizontal dd:after { - clear: both; } -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - .dl-horizontal dd { - margin-left: 180px; } } - -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777777; } - -.initialism { - font-size: 90%; - text-transform: uppercase; } - -blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eeeeee; } - blockquote p:last-child, - blockquote ul:last-child, - blockquote ol:last-child { - margin-bottom: 0; } - blockquote footer, - blockquote small, - blockquote .small { - display: block; - font-size: 80%; - line-height: 1.428571429; - color: #777777; } - blockquote footer:before, - blockquote small:before, - blockquote .small:before { - content: '\2014 \00A0'; } - -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #eeeeee; - border-left: 0; - text-align: right; } - .blockquote-reverse footer:before, - .blockquote-reverse small:before, - .blockquote-reverse .small:before, - blockquote.pull-right footer:before, - blockquote.pull-right small:before, - blockquote.pull-right .small:before { - content: ''; } - .blockquote-reverse footer:after, - .blockquote-reverse small:after, - .blockquote-reverse .small:after, - blockquote.pull-right footer:after, - blockquote.pull-right small:after, - blockquote.pull-right .small:after { - content: '\00A0 \2014'; } - -blockquote:before, -blockquote:after { - content: ""; } - -address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.428571429; } - -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } - -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 3px; } - -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } - kbd kbd { - padding: 0; - font-size: 100%; - box-shadow: none; } - -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.428571429; - word-break: break-all; - word-wrap: break-word; - color: #333333; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 3px; } - pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - -.container { - margin-right: auto; - margin-left: auto; - padding-left: 20px; - padding-right: 20px; } - .container:before, .container:after { - content: " "; - display: table; } - .container:after { - clear: both; } - @media (min-width: 768px) { - .container { - width: 760px; } } - @media (min-width: 992px) { - .container { - width: 980px; } } - @media (min-width: 1200px) { - .container { - width: 1180px; } } - -.container-fluid { - margin-right: auto; - margin-left: auto; - padding-left: 20px; - padding-right: 20px; } - .container-fluid:before, .container-fluid:after { - content: " "; - display: table; } - .container-fluid:after { - clear: both; } - -.row { - margin-left: -20px; - margin-right: -20px; } - .row:before, .row:after { - content: " "; - display: table; } - .row:after { - clear: both; } - -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-left: 20px; - padding-right: 20px; } - -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; } - -.col-xs-1 { - width: 8.3333333333%; } - -.col-xs-2 { - width: 16.6666666667%; } - -.col-xs-3 { - width: 25%; } - -.col-xs-4 { - width: 33.3333333333%; } - -.col-xs-5 { - width: 41.6666666667%; } - -.col-xs-6 { - width: 50%; } - -.col-xs-7 { - width: 58.3333333333%; } - -.col-xs-8 { - width: 66.6666666667%; } - -.col-xs-9 { - width: 75%; } - -.col-xs-10 { - width: 83.3333333333%; } - -.col-xs-11 { - width: 91.6666666667%; } - -.col-xs-12 { - width: 100%; } - -.col-xs-pull-0 { - right: auto; } - -.col-xs-pull-1 { - right: 8.3333333333%; } - -.col-xs-pull-2 { - right: 16.6666666667%; } - -.col-xs-pull-3 { - right: 25%; } - -.col-xs-pull-4 { - right: 33.3333333333%; } - -.col-xs-pull-5 { - right: 41.6666666667%; } - -.col-xs-pull-6 { - right: 50%; } - -.col-xs-pull-7 { - right: 58.3333333333%; } - -.col-xs-pull-8 { - right: 66.6666666667%; } - -.col-xs-pull-9 { - right: 75%; } - -.col-xs-pull-10 { - right: 83.3333333333%; } - -.col-xs-pull-11 { - right: 91.6666666667%; } - -.col-xs-pull-12 { - right: 100%; } - -.col-xs-push-0 { - left: auto; } - -.col-xs-push-1 { - left: 8.3333333333%; } - -.col-xs-push-2 { - left: 16.6666666667%; } - -.col-xs-push-3 { - left: 25%; } - -.col-xs-push-4 { - left: 33.3333333333%; } - -.col-xs-push-5 { - left: 41.6666666667%; } - -.col-xs-push-6 { - left: 50%; } - -.col-xs-push-7 { - left: 58.3333333333%; } - -.col-xs-push-8 { - left: 66.6666666667%; } - -.col-xs-push-9 { - left: 75%; } - -.col-xs-push-10 { - left: 83.3333333333%; } - -.col-xs-push-11 { - left: 91.6666666667%; } - -.col-xs-push-12 { - left: 100%; } - -.col-xs-offset-0 { - margin-left: 0%; } - -.col-xs-offset-1 { - margin-left: 8.3333333333%; } - -.col-xs-offset-2 { - margin-left: 16.6666666667%; } - -.col-xs-offset-3 { - margin-left: 25%; } - -.col-xs-offset-4 { - margin-left: 33.3333333333%; } - -.col-xs-offset-5 { - margin-left: 41.6666666667%; } - -.col-xs-offset-6 { - margin-left: 50%; } - -.col-xs-offset-7 { - margin-left: 58.3333333333%; } - -.col-xs-offset-8 { - margin-left: 66.6666666667%; } - -.col-xs-offset-9 { - margin-left: 75%; } - -.col-xs-offset-10 { - margin-left: 83.3333333333%; } - -.col-xs-offset-11 { - margin-left: 91.6666666667%; } - -.col-xs-offset-12 { - margin-left: 100%; } - -@media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; } - - .col-sm-1 { - width: 8.3333333333%; } - - .col-sm-2 { - width: 16.6666666667%; } - - .col-sm-3 { - width: 25%; } - - .col-sm-4 { - width: 33.3333333333%; } - - .col-sm-5 { - width: 41.6666666667%; } - - .col-sm-6 { - width: 50%; } - - .col-sm-7 { - width: 58.3333333333%; } - - .col-sm-8 { - width: 66.6666666667%; } - - .col-sm-9 { - width: 75%; } - - .col-sm-10 { - width: 83.3333333333%; } - - .col-sm-11 { - width: 91.6666666667%; } - - .col-sm-12 { - width: 100%; } - - .col-sm-pull-0 { - right: auto; } - - .col-sm-pull-1 { - right: 8.3333333333%; } - - .col-sm-pull-2 { - right: 16.6666666667%; } - - .col-sm-pull-3 { - right: 25%; } - - .col-sm-pull-4 { - right: 33.3333333333%; } - - .col-sm-pull-5 { - right: 41.6666666667%; } - - .col-sm-pull-6 { - right: 50%; } - - .col-sm-pull-7 { - right: 58.3333333333%; } - - .col-sm-pull-8 { - right: 66.6666666667%; } - - .col-sm-pull-9 { - right: 75%; } - - .col-sm-pull-10 { - right: 83.3333333333%; } - - .col-sm-pull-11 { - right: 91.6666666667%; } - - .col-sm-pull-12 { - right: 100%; } - - .col-sm-push-0 { - left: auto; } - - .col-sm-push-1 { - left: 8.3333333333%; } - - .col-sm-push-2 { - left: 16.6666666667%; } - - .col-sm-push-3 { - left: 25%; } - - .col-sm-push-4 { - left: 33.3333333333%; } - - .col-sm-push-5 { - left: 41.6666666667%; } - - .col-sm-push-6 { - left: 50%; } - - .col-sm-push-7 { - left: 58.3333333333%; } - - .col-sm-push-8 { - left: 66.6666666667%; } - - .col-sm-push-9 { - left: 75%; } - - .col-sm-push-10 { - left: 83.3333333333%; } - - .col-sm-push-11 { - left: 91.6666666667%; } - - .col-sm-push-12 { - left: 100%; } - - .col-sm-offset-0 { - margin-left: 0%; } - - .col-sm-offset-1 { - margin-left: 8.3333333333%; } - - .col-sm-offset-2 { - margin-left: 16.6666666667%; } - - .col-sm-offset-3 { - margin-left: 25%; } - - .col-sm-offset-4 { - margin-left: 33.3333333333%; } - - .col-sm-offset-5 { - margin-left: 41.6666666667%; } - - .col-sm-offset-6 { - margin-left: 50%; } - - .col-sm-offset-7 { - margin-left: 58.3333333333%; } - - .col-sm-offset-8 { - margin-left: 66.6666666667%; } - - .col-sm-offset-9 { - margin-left: 75%; } - - .col-sm-offset-10 { - margin-left: 83.3333333333%; } - - .col-sm-offset-11 { - margin-left: 91.6666666667%; } - - .col-sm-offset-12 { - margin-left: 100%; } } -@media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; } - - .col-md-1 { - width: 8.3333333333%; } - - .col-md-2 { - width: 16.6666666667%; } - - .col-md-3 { - width: 25%; } - - .col-md-4 { - width: 33.3333333333%; } - - .col-md-5 { - width: 41.6666666667%; } - - .col-md-6 { - width: 50%; } - - .col-md-7 { - width: 58.3333333333%; } - - .col-md-8 { - width: 66.6666666667%; } - - .col-md-9 { - width: 75%; } - - .col-md-10 { - width: 83.3333333333%; } - - .col-md-11 { - width: 91.6666666667%; } - - .col-md-12 { - width: 100%; } - - .col-md-pull-0 { - right: auto; } - - .col-md-pull-1 { - right: 8.3333333333%; } - - .col-md-pull-2 { - right: 16.6666666667%; } - - .col-md-pull-3 { - right: 25%; } - - .col-md-pull-4 { - right: 33.3333333333%; } - - .col-md-pull-5 { - right: 41.6666666667%; } - - .col-md-pull-6 { - right: 50%; } - - .col-md-pull-7 { - right: 58.3333333333%; } - - .col-md-pull-8 { - right: 66.6666666667%; } - - .col-md-pull-9 { - right: 75%; } - - .col-md-pull-10 { - right: 83.3333333333%; } - - .col-md-pull-11 { - right: 91.6666666667%; } - - .col-md-pull-12 { - right: 100%; } - - .col-md-push-0 { - left: auto; } - - .col-md-push-1 { - left: 8.3333333333%; } - - .col-md-push-2 { - left: 16.6666666667%; } - - .col-md-push-3 { - left: 25%; } - - .col-md-push-4 { - left: 33.3333333333%; } - - .col-md-push-5 { - left: 41.6666666667%; } - - .col-md-push-6 { - left: 50%; } - - .col-md-push-7 { - left: 58.3333333333%; } - - .col-md-push-8 { - left: 66.6666666667%; } - - .col-md-push-9 { - left: 75%; } - - .col-md-push-10 { - left: 83.3333333333%; } - - .col-md-push-11 { - left: 91.6666666667%; } - - .col-md-push-12 { - left: 100%; } - - .col-md-offset-0 { - margin-left: 0%; } - - .col-md-offset-1 { - margin-left: 8.3333333333%; } - - .col-md-offset-2 { - margin-left: 16.6666666667%; } - - .col-md-offset-3 { - margin-left: 25%; } - - .col-md-offset-4 { - margin-left: 33.3333333333%; } - - .col-md-offset-5 { - margin-left: 41.6666666667%; } - - .col-md-offset-6 { - margin-left: 50%; } - - .col-md-offset-7 { - margin-left: 58.3333333333%; } - - .col-md-offset-8 { - margin-left: 66.6666666667%; } - - .col-md-offset-9 { - margin-left: 75%; } - - .col-md-offset-10 { - margin-left: 83.3333333333%; } - - .col-md-offset-11 { - margin-left: 91.6666666667%; } - - .col-md-offset-12 { - margin-left: 100%; } } -@media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; } - - .col-lg-1 { - width: 8.3333333333%; } - - .col-lg-2 { - width: 16.6666666667%; } - - .col-lg-3 { - width: 25%; } - - .col-lg-4 { - width: 33.3333333333%; } - - .col-lg-5 { - width: 41.6666666667%; } - - .col-lg-6 { - width: 50%; } - - .col-lg-7 { - width: 58.3333333333%; } - - .col-lg-8 { - width: 66.6666666667%; } - - .col-lg-9 { - width: 75%; } - - .col-lg-10 { - width: 83.3333333333%; } - - .col-lg-11 { - width: 91.6666666667%; } - - .col-lg-12 { - width: 100%; } - - .col-lg-pull-0 { - right: auto; } - - .col-lg-pull-1 { - right: 8.3333333333%; } - - .col-lg-pull-2 { - right: 16.6666666667%; } - - .col-lg-pull-3 { - right: 25%; } - - .col-lg-pull-4 { - right: 33.3333333333%; } - - .col-lg-pull-5 { - right: 41.6666666667%; } - - .col-lg-pull-6 { - right: 50%; } - - .col-lg-pull-7 { - right: 58.3333333333%; } - - .col-lg-pull-8 { - right: 66.6666666667%; } - - .col-lg-pull-9 { - right: 75%; } - - .col-lg-pull-10 { - right: 83.3333333333%; } - - .col-lg-pull-11 { - right: 91.6666666667%; } - - .col-lg-pull-12 { - right: 100%; } - - .col-lg-push-0 { - left: auto; } - - .col-lg-push-1 { - left: 8.3333333333%; } - - .col-lg-push-2 { - left: 16.6666666667%; } - - .col-lg-push-3 { - left: 25%; } - - .col-lg-push-4 { - left: 33.3333333333%; } - - .col-lg-push-5 { - left: 41.6666666667%; } - - .col-lg-push-6 { - left: 50%; } - - .col-lg-push-7 { - left: 58.3333333333%; } - - .col-lg-push-8 { - left: 66.6666666667%; } - - .col-lg-push-9 { - left: 75%; } - - .col-lg-push-10 { - left: 83.3333333333%; } - - .col-lg-push-11 { - left: 91.6666666667%; } - - .col-lg-push-12 { - left: 100%; } - - .col-lg-offset-0 { - margin-left: 0%; } - - .col-lg-offset-1 { - margin-left: 8.3333333333%; } - - .col-lg-offset-2 { - margin-left: 16.6666666667%; } - - .col-lg-offset-3 { - margin-left: 25%; } - - .col-lg-offset-4 { - margin-left: 33.3333333333%; } - - .col-lg-offset-5 { - margin-left: 41.6666666667%; } - - .col-lg-offset-6 { - margin-left: 50%; } - - .col-lg-offset-7 { - margin-left: 58.3333333333%; } - - .col-lg-offset-8 { - margin-left: 66.6666666667%; } - - .col-lg-offset-9 { - margin-left: 75%; } - - .col-lg-offset-10 { - margin-left: 83.3333333333%; } - - .col-lg-offset-11 { - margin-left: 91.6666666667%; } - - .col-lg-offset-12 { - margin-left: 100%; } } -table { - background-color: transparent; - color: #444; } - -th { - text-align: left; } - -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; } - .table > thead > tr > th, - .table > thead > tr > td, - .table > tbody > tr > th, - .table > tbody > tr > td, - .table > tfoot > tr > th, - .table > tfoot > tr > td { - padding: 10px 0px 10px 20px; - line-height: 1.428571429; - vertical-align: top; - border-top: 1px solid #eee; } - .table > thead > tr > th { - vertical-align: bottom; - border-bottom: 1px solid #eee; } - .table > caption + thead > tr:first-child > th, - .table > caption + thead > tr:first-child > td, - .table > colgroup + thead > tr:first-child > th, - .table > colgroup + thead > tr:first-child > td, - .table > thead:first-child > tr:first-child > th, - .table > thead:first-child > tr:first-child > td { - border-top: 0; - font-family: 'SourceSansProSemibold'; - font-weight: normal; } - .table > tbody + tbody { - border-top: 2px solid #eee; } - .table .table { - background-color: #fff; } - -.table-condensed > thead > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > th, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > th, -.table-condensed > tfoot > tr > td { - padding: 5px; } - -.table-bordered { - border: 1px solid #eee; } - .table-bordered > thead > tr > th, - .table-bordered > thead > tr > td, - .table-bordered > tbody > tr > th, - .table-bordered > tbody > tr > td, - .table-bordered > tfoot > tr > th, - .table-bordered > tfoot > tr > td { - border: 1px solid #eee; } - .table-bordered > thead > tr > th, - .table-bordered > thead > tr > td { - border-bottom-width: 2px; } - -.table-striped > tbody > tr:nth-child(odd) > td, -.table-striped > tbody > tr:nth-child(odd) > th { - background-color: #FBFBFB; } - -.table-hover > tbody > tr:hover > td, -.table-hover > tbody > tr:hover > th { - background-color: #f5f5f5; } - -table col[class*="col-"] { - position: static; - float: none; - display: table-column; } - -table td[class*="col-"], -table th[class*="col-"] { - position: static; - float: none; - display: table-cell; } - -.table > thead > tr > td.active, -.table > thead > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, -.table > tbody > tr > td.active, -.table > tbody > tr > th.active, -.table > tbody > tr.active > td, -.table > tbody > tr.active > th, -.table > tfoot > tr > td.active, -.table > tfoot > tr > th.active, -.table > tfoot > tr.active > td, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; } - -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; } - -.table > thead > tr > td.success, -.table > thead > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, -.table > tbody > tr > td.success, -.table > tbody > tr > th.success, -.table > tbody > tr.success > td, -.table > tbody > tr.success > th, -.table > tfoot > tr > td.success, -.table > tfoot > tr > th.success, -.table > tfoot > tr.success > td, -.table > tfoot > tr.success > th { - background-color: #9BD275; } - -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { - background-color: #8dcc62; } - -.table > thead > tr > td.info, -.table > thead > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, -.table > tbody > tr > td.info, -.table > tbody > tr > th.info, -.table > tbody > tr.info > td, -.table > tbody > tr.info > th, -.table > tfoot > tr > td.info, -.table > tfoot > tr > th.info, -.table > tfoot > tr.info > td, -.table > tfoot > tr.info > th { - background-color: #d9edf7; } - -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; } - -.table > thead > tr > td.warning, -.table > thead > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, -.table > tbody > tr > td.warning, -.table > tbody > tr > th.warning, -.table > tbody > tr.warning > td, -.table > tbody > tr.warning > th, -.table > tfoot > tr > td.warning, -.table > tfoot > tr > th.warning, -.table > tfoot > tr.warning > td, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; } - -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; } - -.table > thead > tr > td.danger, -.table > thead > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, -.table > tbody > tr > td.danger, -.table > tbody > tr > th.danger, -.table > tbody > tr.danger > td, -.table > tbody > tr.danger > th, -.table > tfoot > tr > td.danger, -.table > tfoot > tr > th.danger, -.table > tfoot > tr.danger > td, -.table > tfoot > tr.danger > th { - background-color: #F05050; } - -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { - background-color: #ee3939; } - -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - overflow-x: auto; - -ms-overflow-style: -ms-autohiding-scrollbar; - /* border: 1px solid $table-border-color; */ - -webkit-overflow-scrolling: touch; } - .table-responsive > .table { - margin-bottom: 0; } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; } - .table-responsive > .table-bordered { - border: 0; } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; } } - -fieldset { - padding: 0; - margin: 0; - border: 0; - min-width: 0; } - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333333; - border: 0; - border-bottom: 1px solid #e5e5e5; } - -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: normal; } - -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; } - -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; } - -input[type="file"] { - display: block; } - -input[type="range"] { - display: block; - width: 100%; } - -select[multiple], -select[size] { - height: auto; } - -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; } - -output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.428571429; - color: #555555; } - -select, -textarea, -input[type="text"], -input[type="password"], -input[type="datetime"], -input[type="datetime-local"], -input[type="date"], -input[type="month"], -input[type="time"], -input[type="week"], -input[type="number"], -input[type="email"], -input[type="url"], -input[type="search"], -input[type="tel"], -input[type="color"] - { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.428571429; - color: #555555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 3px; - text-overflow: ellipsis; - max-width: 348px; - -webkit-transition: border-color ease-in-out 0.1s, box-shadow ease-in-out 0.1s; - -o-transition: border-color ease-in-out 0.1s, box-shadow ease-in-out 0.1s; - transition: border-color ease-in-out 0.1s, box-shadow ease-in-out 0.1s; } - select:focus, - textarea:focus, - input[type="text"]:focus, - input[type="password"]:focus, - input[type="datetime"]:focus, - input[type="datetime-local"]:focus, - input[type="date"]:focus, - input[type="month"]:focus, - input[type="time"]:focus, - input[type="week"]:focus, - input[type="number"]:focus, - input[type="email"]:focus, - input[type="url"]:focus, - input[type="search"]:focus, - input[type="tel"]:focus, - input[type="color"]: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); } - select::-moz-placeholder, - textarea::-moz-placeholder, - input[type="text"]::-moz-placeholder, - input[type="password"]::-moz-placeholder, - input[type="datetime"]::-moz-placeholder, - input[type="datetime-local"]::-moz-placeholder, - input[type="date"]::-moz-placeholder, - input[type="month"]::-moz-placeholder, - input[type="time"]::-moz-placeholder, - input[type="week"]::-moz-placeholder, - input[type="number"]::-moz-placeholder, - input[type="email"]::-moz-placeholder, - input[type="url"]::-moz-placeholder, - input[type="search"]::-moz-placeholder, - input[type="tel"]::-moz-placeholder, - input[type="color"]::-moz-placeholder - { - color: #777777; - opacity: 1; } - select:-ms-input-placeholder, - textarea:-ms-input-placeholder, - input[type="text"]:-ms-input-placeholder, - input[type="password"]:-ms-input-placeholder, - input[type="datetime"]:-ms-input-placeholder, - input[type="datetime-local"]:-ms-input-placeholder, - input[type="date"]:-ms-input-placeholder, - input[type="month"]:-ms-input-placeholder, - input[type="time"]:-ms-input-placeholder, - input[type="week"]:-ms-input-placeholder, - input[type="number"]:-ms-input-placeholder, - input[type="email"]:-ms-input-placeholder, - input[type="url"]:-ms-input-placeholder, - input[type="search"]:-ms-input-placeholder, - input[type="tel"]:-ms-input-placeholder, - input[type="color"]:-ms-input-placeholder - { - color: #777777; } - select::-webkit-input-placeholder, - textarea::-webkit-input-placeholder, - input[type="text"]::-webkit-input-placeholder, - input[type="password"]::-webkit-input-placeholder, - input[type="datetime"]::-webkit-input-placeholder, - input[type="datetime-local"]::-webkit-input-placeholder, - input[type="date"]::-webkit-input-placeholder, - input[type="month"]::-webkit-input-placeholder, - input[type="time"]::-webkit-input-placeholder, - input[type="week"]::-webkit-input-placeholder, - input[type="number"]::-webkit-input-placeholder, - input[type="email"]::-webkit-input-placeholder, - input[type="url"]::-webkit-input-placeholder, - input[type="search"]::-webkit-input-placeholder, - input[type="tel"]::-webkit-input-placeholder, - input[type="color"]::-webkit-input-placeholder - { - color: #777777; } - select[disabled], select[readonly], fieldset[disabled] select, - textarea[disabled], - textarea[readonly], fieldset[disabled] - textarea, - input[type="text"][disabled], - input[type="text"][readonly], fieldset[disabled] - input[type="text"], - input[type="password"][disabled], - input[type="password"][readonly], fieldset[disabled] - input[type="password"], - input[type="datetime"][disabled], - input[type="datetime"][readonly], fieldset[disabled] - input[type="datetime"], - input[type="datetime-local"][disabled], - input[type="datetime-local"][readonly], fieldset[disabled] - input[type="datetime-local"], - input[type="date"][disabled], - input[type="date"][readonly], fieldset[disabled] - input[type="date"], - input[type="month"][disabled], - input[type="month"][readonly], fieldset[disabled] - input[type="month"], - input[type="time"][disabled], - input[type="time"][readonly], fieldset[disabled] - input[type="time"], - input[type="week"][disabled], - input[type="week"][readonly], fieldset[disabled] - input[type="week"], - input[type="number"][disabled], - input[type="number"][readonly], fieldset[disabled] - input[type="number"], - input[type="email"][disabled], - input[type="email"][readonly], fieldset[disabled] - input[type="email"], - input[type="url"][disabled], - input[type="url"][readonly], fieldset[disabled] - input[type="url"], - input[type="search"][disabled], - input[type="search"][readonly], fieldset[disabled] - input[type="search"], - input[type="tel"][disabled], - input[type="tel"][readonly], fieldset[disabled] - input[type="tel"], - input[type="color"][disabled] - , - input[type="color"][readonly] - , fieldset[disabled] - input[type="color"] - { - cursor: not-allowed; - background-color: #eeeeee; - opacity: 1; } - -textarea { - height: auto; } - -input[type="search"] { - -webkit-appearance: none; } - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - line-height: 34px; - line-height: 1.428571429 \0; } - input[type="date"].input-sm, .form-horizontal .form-group-sm input[type="date"].form-control, .input-group-sm > input[type="date"].form-control, - .input-group-sm > input[type="date"].input-group-addon, - .input-group-sm > .input-group-btn > input[type="date"].btn, - input[type="time"].input-sm, - .form-horizontal .form-group-sm input[type="time"].form-control, - .input-group-sm > input[type="time"].form-control, - .input-group-sm > input[type="time"].input-group-addon, - .input-group-sm > .input-group-btn > input[type="time"].btn, - input[type="datetime-local"].input-sm, - .form-horizontal .form-group-sm input[type="datetime-local"].form-control, - .input-group-sm > input[type="datetime-local"].form-control, - .input-group-sm > input[type="datetime-local"].input-group-addon, - .input-group-sm > .input-group-btn > input[type="datetime-local"].btn, - input[type="month"].input-sm, - .form-horizontal .form-group-sm input[type="month"].form-control, - .input-group-sm > input[type="month"].form-control, - .input-group-sm > input[type="month"].input-group-addon, - .input-group-sm > .input-group-btn > input[type="month"].btn { - line-height: 30px; } - input[type="date"].input-lg, .form-horizontal .form-group-lg input[type="date"].form-control, .input-group-lg > input[type="date"].form-control, - .input-group-lg > input[type="date"].input-group-addon, - .input-group-lg > .input-group-btn > input[type="date"].btn, - input[type="time"].input-lg, - .form-horizontal .form-group-lg input[type="time"].form-control, - .input-group-lg > input[type="time"].form-control, - .input-group-lg > input[type="time"].input-group-addon, - .input-group-lg > .input-group-btn > input[type="time"].btn, - input[type="datetime-local"].input-lg, - .form-horizontal .form-group-lg input[type="datetime-local"].form-control, - .input-group-lg > input[type="datetime-local"].form-control, - .input-group-lg > input[type="datetime-local"].input-group-addon, - .input-group-lg > .input-group-btn > input[type="datetime-local"].btn, - input[type="month"].input-lg, - .form-horizontal .form-group-lg input[type="month"].form-control, - .input-group-lg > input[type="month"].form-control, - .input-group-lg > input[type="month"].input-group-addon, - .input-group-lg > .input-group-btn > input[type="month"].btn { - line-height: 46px; } - -.form-group { - margin-bottom: 15px; } - -.radio, -.checkbox { - position: relative; - display: block; - min-height: 20px; - margin-top: 10px; - margin-bottom: 10px; } - .radio label, - .checkbox label { - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; } - -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-left: -20px; - margin-top: 4px \9; } - -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; } - -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; } - -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; } - -input[type="radio"][disabled], input[type="radio"].disabled, fieldset[disabled] input[type="radio"], -input[type="checkbox"][disabled], -input[type="checkbox"].disabled, fieldset[disabled] -input[type="checkbox"] { - cursor: not-allowed; } - -.radio-inline.disabled, fieldset[disabled] .radio-inline, -.checkbox-inline.disabled, fieldset[disabled] -.checkbox-inline { - cursor: not-allowed; } - -.radio.disabled label, fieldset[disabled] .radio label, -.checkbox.disabled label, fieldset[disabled] -.checkbox label { - cursor: not-allowed; } - -.form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; } - .form-control-static.input-lg, .form-horizontal .form-group-lg .form-control-static.form-control, .input-group-lg > .form-control-static.form-control, - .input-group-lg > .form-control-static.input-group-addon, - .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .form-horizontal .form-group-sm .form-control-static.form-control, .input-group-sm > .form-control-static.form-control, - .input-group-sm > .form-control-static.input-group-addon, - .input-group-sm > .input-group-btn > .form-control-static.btn { - padding-left: 0; - padding-right: 0; } - -.input-sm, .form-horizontal .form-group-sm .form-control, .input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; } - -select.input-sm, .form-horizontal .form-group-sm select.form-control, .input-group-sm > select.form-control, -.input-group-sm > select.input-group-addon, -.input-group-sm > .input-group-btn > select.btn { - height: 30px; - line-height: 30px; } - -textarea.input-sm, .form-horizontal .form-group-sm textarea.form-control, .input-group-sm > textarea.form-control, -.input-group-sm > textarea.input-group-addon, -.input-group-sm > .input-group-btn > textarea.btn, -select[multiple].input-sm, -.form-horizontal .form-group-sm select[multiple].form-control, -.input-group-sm > select[multiple].form-control, -.input-group-sm > select[multiple].input-group-addon, -.input-group-sm > .input-group-btn > select[multiple].btn { - height: auto; } - -.input-lg, .form-horizontal .form-group-lg .form-control, .input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; } - -select.input-lg, .form-horizontal .form-group-lg select.form-control, .input-group-lg > select.form-control, -.input-group-lg > select.input-group-addon, -.input-group-lg > .input-group-btn > select.btn { - height: 46px; - line-height: 46px; } - -textarea.input-lg, .form-horizontal .form-group-lg textarea.form-control, .input-group-lg > textarea.form-control, -.input-group-lg > textarea.input-group-addon, -.input-group-lg > .input-group-btn > textarea.btn, -select[multiple].input-lg, -.form-horizontal .form-group-lg select[multiple].form-control, -.input-group-lg > select[multiple].form-control, -.input-group-lg > select[multiple].input-group-addon, -.input-group-lg > .input-group-btn > select[multiple].btn { - height: auto; } - -.has-feedback { - position: relative; } - .has-feedback .form-control { - padding-right: 42.5px; } - -.form-control-feedback { - position: absolute; - top: 25px; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; } - -.input-lg + .form-control-feedback, .form-horizontal .form-group-lg .form-control + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback, -.input-group-lg > .input-group-addon + .form-control-feedback, -.input-group-lg > .input-group-btn > .btn + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; } - -.input-sm + .form-control-feedback, .form-horizontal .form-group-sm .form-control + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback, -.input-group-sm > .input-group-addon + .form-control-feedback, -.input-group-sm > .input-group-btn > .btn + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; } - -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline { - color: #9BD275; } -.has-success .form-control { - border-color: #9BD275; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } - .has-success .form-control:focus { - border-color: #7fc54f; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d3ebc2; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d3ebc2; } -.has-success .input-group-addon { - color: #9BD275; - border-color: #9BD275; - background-color: #9BD275; } -.has-success .form-control-feedback { - color: #9BD275; } - -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline { - color: #f0ad4e; } -.has-warning .form-control { - border-color: #f0ad4e; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } - .has-warning .form-control:focus { - border-color: #ec971f; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8d9ac; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8d9ac; } -.has-warning .input-group-addon { - color: #f0ad4e; - border-color: #f0ad4e; - background-color: #fcf8e3; } -.has-warning .form-control-feedback { - color: #f0ad4e; } - -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline { - color: #F05050; } -.has-error .form-control { - border-color: #F05050; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } - .has-error .form-control:focus { - border-color: #ec2121; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8aeae; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8aeae; } -.has-error .input-group-addon { - color: #F05050; - border-color: #F05050; - background-color: #F05050; } -.has-error .form-control-feedback { - color: #F05050; } - -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; } - -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #7a7a7c; } - -@media (min-width: 768px) { - .form-inline .form-group, .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; } - .form-inline .form-control, .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; } - .form-inline .input-group, .navbar-form .input-group { - display: inline-table; - vertical-align: middle; } - .form-inline .input-group .input-group-addon, .navbar-form .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .navbar-form .input-group .input-group-btn, - .form-inline .input-group .form-control, - .navbar-form .input-group .form-control { - width: auto; } - .form-inline .input-group > .form-control, .navbar-form .input-group > .form-control { - width: 100%; } - .form-inline .control-label, .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; } - .form-inline .radio, .navbar-form .radio, - .form-inline .checkbox, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; } - .form-inline .radio label, .navbar-form .radio label, - .form-inline .checkbox label, - .navbar-form .checkbox label { - padding-left: 0; } - .form-inline .radio input[type="radio"], .navbar-form .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; } - .form-inline .has-feedback .form-control-feedback, .navbar-form .has-feedback .form-control-feedback { - top: 0; } } - -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: 7px; } -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 27px; } -.form-horizontal .form-group { - margin-left: -20px; - margin-right: -20px; } - .form-horizontal .form-group:before, .form-horizontal .form-group:after { - content: " "; - display: table; } - .form-horizontal .form-group:after { - clear: both; } -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - margin-bottom: 0; - padding-top: 7px; } } -.form-horizontal .has-feedback control-feedback { - top: 0; - right: 20px; } -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; } } -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; } } - -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - padding: 6px 12px; - font-size: 14px; - line-height: 1.428571429; - border-radius: 3px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - color: #757575; - background-color: #F7F7F7; - border-color: #e5e5e5; } - .btn:hover, .btn:focus, .btn:active, .btn.active, .open > .btn.dropdown-toggle { - color: #757575; - background-color: #dedede; - border-color: #c6c6c6; } - .btn:active, .btn.active, .open > .btn.dropdown-toggle { - background-image: none; } - .btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled:active, .btn.disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active { - background-color: #F7F7F7; - border-color: #e5e5e5; } - .btn .badge { - color: #F7F7F7; - background-color: #757575; } - .btn:focus, .btn:active:focus, .btn.active:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; } - .btn:hover, .btn:focus { - color: #757575; - text-decoration: none; } - .btn:active, .btn.active { - outline: 0; - background-image: none; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } - .btn.disabled, .btn[disabled], fieldset[disabled] .btn { - cursor: not-allowed; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; } - -.btn-default { - color: #757575; - background-color: #F7F7F7; - border-color: #e5e5e5; } - .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { - color: #757575; - background-color: #dedede; - border-color: #c6c6c6; } - .btn-default:active, .btn-default.active, .open > .btn-default.dropdown-toggle { - background-image: none; } - .btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { - background-color: #F7F7F7; - border-color: #e5e5e5; } - .btn-default .badge { - color: #F7F7F7; - background-color: #757575; } - -.btn-primary { - color: #fff; - background-color: #EA7105; - border-color: #D95100; } - .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #b85904; - border-color: #9c3a00; } - .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { - background-image: none; } - .btn-primary.disabled, .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary[disabled], .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled]:active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { - background-color: #EA7105; - border-color: #D95100; } - .btn-primary .badge { - color: #EA7105; - background-color: #fff; } - -.btn-success { - color: #fff; - background-color: #9BD275; - border-color: #8dcc62; } - .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { - color: #fff; - background-color: #7fc54f; - border-color: #6db53b; } - .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { - background-image: none; } - .btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active, fieldset[disabled] .btn-success, fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { - background-color: #9BD275; - border-color: #8dcc62; } - .btn-success .badge { - color: #9BD275; - background-color: #fff; } - -.btn-info { - color: #fff; - background-color: #B0CDDB; - border-color: #9ec2d3; } - .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { - color: #fff; - background-color: #8db7cb; - border-color: #74a7c0; } - .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { - background-image: none; } - .btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active, fieldset[disabled] .btn-info, fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { - background-color: #B0CDDB; - border-color: #9ec2d3; } - .btn-info .badge { - color: #B0CDDB; - background-color: #fff; } - -.btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236; } - .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { - color: #fff; - background-color: #ec971f; - border-color: #d58512; } - .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { - background-image: none; } - .btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; } - .btn-warning .badge { - color: #f0ad4e; - background-color: #fff; } - -.btn-danger { - color: #fff; - background-color: #F05050; - border-color: #ee3939; } - .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #ec2121; - border-color: #d71212; } - .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { - background-image: none; } - .btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger, fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { - background-color: #F05050; - border-color: #ee3939; } - .btn-danger .badge { - color: #F05050; - background-color: #fff; } - -.btn-link { - color: #EA7105; - font-weight: normal; - cursor: pointer; - border-radius: 0; } - .btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; } - .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { - border-color: transparent; } - .btn-link:hover, .btn-link:focus { - color: #9f4d03; - text-decoration: underline; - background-color: transparent; } - .btn-link[disabled]:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus { - color: #777777; - text-decoration: none; } - -.btn-lg, .btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; } - -.btn-sm, .btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; } - -.btn-xs, .btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; } - -.btn-block { - display: block; - width: 100%; } - -.btn-block + .btn-block { - margin-top: 5px; } - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; } - -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; } - .fade.in { - opacity: 1; } - -.collapse { - display: none; } - .collapse.in { - display: block; } - -tr.collapse.in { - display: table-row; } - -tbody.collapse.in { - display: table-row-group; } - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; } - -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; } - -.dropdown { - position: relative; } - -.dropdown-toggle:focus { - outline: 0; } - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - font-size: 14px; - text-align: left; - background-color: #fff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 3px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; } - .dropdown-menu.pull-right { - right: 0; - left: auto; } - .dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; } - .dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.428571429; - color: #333333; - white-space: nowrap; } - -.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { - text-decoration: none; - color: #262626; - background-color: #f5f5f5; } - -.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { - color: #fff; - text-decoration: none; - outline: 0; - background-color: #EA7105; } - -.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - color: #777777; } - -.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - text-decoration: none; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; } - -.open > .dropdown-menu { - display: block; } -.open > a { - outline: 0; } - -.dropdown-menu-right { - left: auto; - right: 0; } - -.dropdown-menu-left { - left: 0; - right: auto; } - -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.428571429; - color: #777777; - white-space: nowrap; } - -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 990; } - -.pull-right > .dropdown-menu { - right: 0; - left: auto; } - -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px solid; - content: ""; } -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; } - -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; } - .navbar-right .dropdown-menu-left { - left: 0; - right: auto; } } -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; } - .btn-group > .btn, - .btn-group-vertical > .btn { - position: relative; - float: left; } - .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, - .btn-group-vertical > .btn:hover, - .btn-group-vertical > .btn:focus, - .btn-group-vertical > .btn:active, - .btn-group-vertical > .btn.active { - z-index: 2; } - .btn-group > .btn:focus, - .btn-group-vertical > .btn:focus { - outline: 0; } - -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; } - -.btn-toolbar { - margin-left: -5px; } - .btn-toolbar:before, .btn-toolbar:after { - content: " "; - display: table; } - .btn-toolbar:after { - clear: both; } - .btn-toolbar .btn-group, - .btn-toolbar .input-group { - float: left; } - .btn-toolbar > .btn, - .btn-toolbar > .btn-group, - .btn-toolbar > .input-group { - margin-left: 5px; } - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; } - -.btn-group > .btn:first-child { - margin-left: 0; } - .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; } - -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; } - -.btn-group > .btn-group { - float: left; } - -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; } - -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { - border-bottom-right-radius: 0; - border-top-right-radius: 0; } - -.btn-group > .btn-group:last-child > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; } - -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; } - -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; } - -.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; } - -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } - .btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; } - -.btn .caret { - margin-left: 0; } - -.btn-lg .caret, .btn-group-lg > .btn .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; } - -.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { - border-width: 0 5px 5px; } - -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; } -.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { - content: " "; - display: table; } -.btn-group-vertical > .btn-group:after { - clear: both; } -.btn-group-vertical > .btn-group > .btn { - float: none; } -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; } - -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; } -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 3px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-bottom-left-radius: 3px; - border-top-right-radius: 0; - border-top-left-radius: 0; } - -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; } - -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; } - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; } - .btn-group-justified > .btn, - .btn-group-justified > .btn-group { - float: none; - display: table-cell; - width: 1%; } - .btn-group-justified > .btn-group .btn { - width: 100%; } - .btn-group-justified > .btn-group .dropdown-menu { - left: auto; } - -[data-toggle="buttons"] > .btn > input[type="radio"], -[data-toggle="buttons"] > .btn > input[type="checkbox"] { - position: absolute; - z-index: -1; - opacity: 0; - filter: alpha(opacity=0); } - -.input-group { - position: relative; - display: table; - border-collapse: separate; } - .input-group[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; } - .input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; } - -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; } - .input-group-addon:not(:first-child):not(:last-child), - .input-group-btn:not(:first-child):not(:last-child), - .input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; } - -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; } - -.input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555555; - text-align: center; - background-color: #eeeeee; - border: 1px solid #ccc; - border-radius: 3px; } - .input-group-addon.input-sm, .form-horizontal .form-group-sm .input-group-addon.form-control, - .input-group-sm > .input-group-addon, - .input-group-sm > .input-group-btn > .input-group-addon.btn { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; } - .input-group-addon.input-lg, .form-horizontal .form-group-lg .input-group-addon.form-control, - .input-group-lg > .input-group-addon, - .input-group-lg > .input-group-btn > .input-group-addon.btn { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; } - .input-group-addon input[type="radio"], - .input-group-addon input[type="checkbox"] { - margin-top: 0; } - -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; } - -.input-group-addon:first-child { - border-right: 0; } - -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; } - -.input-group-addon:last-child { - border-left: 0; } - -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; } - .input-group-btn > .btn { - position: relative; } - .input-group-btn > .btn + .btn { - margin-left: -1px; } - .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { - z-index: 2; } - .input-group-btn:first-child > .btn, - .input-group-btn:first-child > .btn-group { - margin-right: -1px; } - .input-group-btn:last-child > .btn, - .input-group-btn:last-child > .btn-group { - margin-left: -1px; } - -.nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; } - .nav:before, .nav:after { - content: " "; - display: table; } - .nav:after { - clear: both; } - .nav > li { - position: relative; - display: block; } - .nav > li > a { - position: relative; - display: block; - padding: 10px 15px; } - .nav > li > a:hover, .nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; } - .nav > li.disabled > a { - color: #777777; } - .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { - color: #777777; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; } - .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { - background-color: #eeeeee; - border-color: #EA7105; } - .nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; } - .nav > li > a > img { - max-width: none; } - -.nav-tabs { - border-bottom: 1px solid #E5E5E5; } - .nav-tabs > li { - float: left; - margin-bottom: -1px; } - .nav-tabs > li > a { - margin-right: 2px; - line-height: 1.428571429; - border: 1px solid transparent; - border-radius: 3px 3px 0 0; } - .nav-tabs > li > a:hover { - border-color: #eeeeee #eeeeee #E5E5E5; } - .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { - color: #555555; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent; - cursor: default; } - -.nav-pills > li { - float: left; } - .nav-pills > li > a { - border-radius: 0; } - .nav-pills > li + li { - margin-left: 2px; } - .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { - color: #fff; - background-color: #EA7105; } - -.nav-stacked > li { - float: none; } - .nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; } - -.nav-justified, .nav-tabs.nav-justified { - width: 100%; } - .nav-justified > li, .nav-tabs.nav-justified > li { - float: none; } - .nav-justified > li > a, .nav-tabs.nav-justified > li > a { - text-align: left; - margin-bottom: 5px; } - .nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; } - @media (min-width: 768px) { - .nav-justified > li, .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; } - .nav-justified > li > a, .nav-tabs.nav-justified > li > a { - margin-bottom: 0; } } - -.nav-tabs-justified, .nav-tabs.nav-justified { - border-bottom: 0; } - .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 3px; } - .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus, - .nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ddd; } - @media (min-width: 768px) { - .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 3px 3px 0 0; } - .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #fff; } } - -.tab-content > .tab-pane { - display: none; } -.tab-content > .active { - display: block; } - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; } - -.navbar { - position: relative; - min-height: 50px; - margin-bottom: 0; - border: 1px solid transparent; } - .navbar:before, .navbar:after { - content: " "; - display: table; } - .navbar:after { - clear: both; } - @media (min-width: 768px) { - .navbar { - border-radius: 0; } } - -.navbar-header:before, .navbar-header:after { - content: " "; - display: table; } -.navbar-header:after { - clear: both; } -@media (min-width: 768px) { - .navbar-header { - float: left; } } - -.navbar-collapse { - overflow-x: visible; - padding-right: 20px; - padding-left: 20px; - border-top: 1px solid transparent; - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; } - .navbar-collapse:before, .navbar-collapse:after { - content: " "; - display: table; } - .navbar-collapse:after { - clear: both; } - .navbar-collapse.in { - overflow-y: auto; } - @media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; } - .navbar-collapse.in { - overflow-y: visible; } - .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { - padding-left: 0; - padding-right: 0; } } - -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; } - @media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; } } - -.container > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-header, -.container-fluid > .navbar-collapse { - margin-right: -20px; - margin-left: -20px; } - @media (min-width: 768px) { - .container > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-header, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; } } - -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; } - @media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; } } - -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - @media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; } } - -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; } - -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; } - -.navbar-brand { - float: left; - padding: 15px 20px; - font-size: 18px; - height: 50px; } - .navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; } - @media (min-width: 768px) { - .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { - margin-left: -20px; } } - -.navbar-toggle { - position: relative; - float: left; - margin-right: 20px; - padding: 9px 10px; - margin-top: 8px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 3px; } - .navbar-toggle:focus { - outline: 0; } - .navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; } - .navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; } - @media (min-width: 768px) { - .navbar-toggle { - display: none; } } - -.navbar-nav { - margin: 7.5px -20px; } - .navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; } - @media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; } - .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; } } - @media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; } - .navbar-nav > li { - float: left; } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; } - .navbar-nav.navbar-right:last-child { - margin-right: -20px; } } - -@media (min-width: 768px) { - .navbar-left { - float: left !important; } - - .navbar-right { - float: right !important; } } -.navbar-form { - margin-left: -20px; - margin-right: -20px; - padding: 10px 20px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - margin-top: 8px; - margin-bottom: 8px; } - @media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; } } - @media (min-width: 768px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - -webkit-box-shadow: none; - box-shadow: none; } - .navbar-form.navbar-right:last-child { - margin-right: -20px; } } - -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; } - -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - -.navbar-btn { - margin-top: 8px; - margin-bottom: 8px; } - .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { - margin-top: 10px; - margin-bottom: 10px; } - .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { - margin-top: 14px; - margin-bottom: 14px; } - -.navbar-text { - margin-top: 15px; - margin-bottom: 15px; } - @media (min-width: 768px) { - .navbar-text { - float: left; - margin-left: 20px; - margin-right: 20px; } - .navbar-text.navbar-right:last-child { - margin-right: 0; } } - -.navbar-default { - background-color: #3b3b3c; - border-color: #2b2b2b; } - .navbar-default .navbar-brand { - color: #F7F7F7; } - .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { - color: #dedede; - background-color: transparent; } - .navbar-default .navbar-text { - color: #F7F7F7; } - .navbar-default .navbar-nav > li > a { - color: #F7F7F7; } - .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - color: #EA7105; - background-color: transparent; } - .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { - color: #555; - background-color: #2b2b2b; } - .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { - color: #ccc; - background-color: transparent; } - .navbar-default .navbar-toggle { - border-color: #FFF; } - .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background-color: #555; } - .navbar-default .navbar-toggle .icon-bar { - background-color: #FFF; } - .navbar-default .navbar-collapse, - .navbar-default .navbar-form { - border-color: #2b2b2b; } - .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { - background-color: #2b2b2b; - color: #555; } - @media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #F7F7F7; } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #EA7105; - background-color: transparent; } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555; - background-color: #2b2b2b; } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #ccc; - background-color: transparent; } } - .navbar-default .navbar-link { - color: #F7F7F7; } - .navbar-default .navbar-link:hover { - color: #EA7105; } - .navbar-default .btn-link { - color: #F7F7F7; } - .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { - color: #EA7105; } - .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:hover, fieldset[disabled] .navbar-default .btn-link:focus { - color: #ccc; } - -.navbar-inverse { - background-color: #222; - border-color: #090909; } - .navbar-inverse .navbar-brand { - color: #777777; } - .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; } - .navbar-inverse .navbar-text { - color: #777777; } - .navbar-inverse .navbar-nav > li > a { - color: #777777; } - .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: transparent; } - .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #090909; } - .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444; - background-color: transparent; } - .navbar-inverse .navbar-toggle { - border-color: #333; } - .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { - background-color: #333; } - .navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff; } - .navbar-inverse .navbar-collapse, - .navbar-inverse .navbar-form { - border-color: #101010; } - .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { - background-color: #090909; - color: #fff; } - @media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #090909; } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #090909; } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #777777; } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #fff; - background-color: transparent; } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #fff; - background-color: #090909; } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444; - background-color: transparent; } } - .navbar-inverse .navbar-link { - color: #777777; } - .navbar-inverse .navbar-link:hover { - color: #fff; } - .navbar-inverse .btn-link { - color: #777777; } - .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { - color: #fff; } - .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:hover, fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444; } - -.breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 3px; } - .breadcrumb > li { - display: inline-block; } - .breadcrumb > li + li:before { - content: "/ "; - padding: 0 5px; - color: #ccc; } - .breadcrumb > .active { - color: #777777; } - -.pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 3px; } - .pagination > li { - display: inline; } - .pagination > li > a, - .pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - line-height: 1.428571429; - text-decoration: none; - color: #EA7105; - background-color: #fff; - border: 1px solid #ddd; - margin-left: -1px; } - .pagination > li:first-child > a, - .pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } - .pagination > li:last-child > a, - .pagination > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - .pagination > li > a:hover, .pagination > li > a:focus, - .pagination > li > span:hover, - .pagination > li > span:focus { - color: #9f4d03; - background-color: #eeeeee; - border-color: #ddd; } - .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, - .pagination > .active > span, - .pagination > .active > span:hover, - .pagination > .active > span:focus { - z-index: 2; - color: #fff; - background-color: #EA7105; - border-color: #EA7105; - cursor: default; } - .pagination > .disabled > span, - .pagination > .disabled > span:hover, - .pagination > .disabled > span:focus, - .pagination > .disabled > a, - .pagination > .disabled > a:hover, - .pagination > .disabled > a:focus { - color: #777777; - background-color: #fff; - border-color: #ddd; - cursor: not-allowed; } - -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; } -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; } -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 6px; - border-top-right-radius: 6px; } - -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; } -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; } - -.pager { - padding-left: 0; - margin: 20px 0; - list-style: none; - text-align: center; } - .pager:before, .pager:after { - content: " "; - display: table; } - .pager:after { - clear: both; } - .pager li { - display: inline; } - .pager li > a, - .pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; } - .pager li > a:hover, - .pager li > a:focus { - text-decoration: none; - background-color: #eeeeee; } - .pager .next > a, - .pager .next > span { - float: right; } - .pager .previous > a, - .pager .previous > span { - float: left; } - .pager .disabled > a, - .pager .disabled > a:hover, - .pager .disabled > a:focus, - .pager .disabled > span { - color: #777777; - background-color: #fff; - cursor: not-allowed; } - -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; } - .label:empty { - display: none; } - .btn .label { - position: relative; - top: -1px; } - -a.label:hover, a.label:focus { - color: #fff; - text-decoration: none; - cursor: pointer; } - -.label-default { - background-color: #777777; } - .label-default[href]:hover, .label-default[href]:focus { - background-color: #5e5e5e; } - -.label-primary { - background-color: #EA7105; } - .label-primary[href]:hover, .label-primary[href]:focus { - background-color: #b85904; } - -.label-success { - background-color: #9BD275; } - .label-success[href]:hover, .label-success[href]:focus { - background-color: #7fc54f; } - -.label-info { - background-color: #B0CDDB; } - .label-info[href]:hover, .label-info[href]:focus { - background-color: #8db7cb; } - -.label-warning { - background-color: #f0ad4e; } - .label-warning[href]:hover, .label-warning[href]:focus { - background-color: #ec971f; } - -.label-danger { - background-color: #F05050; } - .label-danger[href]:hover, .label-danger[href]:focus { - background-color: #ec2121; } - -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - color: #fff; - line-height: 1; - vertical-align: baseline; - white-space: nowrap; - text-align: center; - background-color: #777777; - border-radius: 10px; } - .badge:empty { - display: none; } - .btn .badge { - position: relative; - top: -1px; } - .btn-xs .badge, .btn-group-xs > .btn .badge { - top: 0; - padding: 1px 5px; } - a.list-group-item.active > .badge, .nav-pills > .active > a > .badge { - color: #EA7105; - background-color: #fff; } - .nav-pills > li > a > .badge { - margin-left: 3px; } - -a.badge:hover, a.badge:focus { - color: #fff; - text-decoration: none; - cursor: pointer; } - -.jumbotron { - padding: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eeeeee; } - .jumbotron h1, - .jumbotron .h1 { - color: inherit; } - .jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; } - .jumbotron > hr { - border-top-color: #d5d5d5; } - .container .jumbotron { - border-radius: 6px; } - .jumbotron .container { - max-width: 100%; } - @media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; } - .container .jumbotron { - padding-left: 60px; - padding-right: 60px; } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; } } - -.thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.428571429; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 3px; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; } - .thumbnail > img, - .thumbnail a > img { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; - margin-left: auto; - margin-right: auto; } - .thumbnail .caption { - padding: 9px; - color: #3b3b3c; } - -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #EA7105; } - -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 3px; } - .alert h4 { - margin-top: 0; - color: inherit; } - .alert .alert-link { - font-weight: bold; } - .alert > p, - .alert > ul { - margin-bottom: 0; } - .alert > p + p { - margin-top: 5px; } - -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; } - .alert-dismissable .close, - .alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; } - -.alert-success { - background-color: #9BD275; - border-color: #9BD275; - color: #66aa37; } - .alert-success hr { - border-top-color: #8dcc62; } - .alert-success .alert-link { - color: #72bd3e; } - -.alert-info { - background-color: #d9edf7; - border-color: #bce8f1; - color: #173543; } - .alert-info hr { - border-top-color: #a6e1ec; } - .alert-info .alert-link { - color: #1d4356; } - -.alert-warning { - background-color: #fcf8e3; - border-color: #faebcc; - color: #c77c11; } - .alert-warning hr { - border-top-color: #f7e1b5; } - .alert-warning .alert-link { - color: #df8a13; } - -.alert-danger { - background-color: #F05050; - border-color: #F05050; - color: #c91111; } - .alert-danger hr { - border-top-color: #ee3939; } - .alert-danger .alert-link { - color: #e01313; } - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; } - to { - background-position: 0 0; } } -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; } - to { - background-position: 0 0; } } -.progress { - overflow: hidden; - height: 20px; - margin-bottom: 20px; - background-color: #f5f5f5; - border-radius: 3px; - position: relative; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } - -.progress-bar { - float: left; - width: 0%; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #EA7105; - position: relative; - z-index: 2; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; } - -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; } - -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; } - -.progress-bar[aria-valuenow="1"], .progress-bar[aria-valuenow="2"] { - min-width: 30px; } -.progress-bar[aria-valuenow="0"] { - color: #777777; - min-width: 30px; - background-color: transparent; - background-image: none; - box-shadow: none; } - -.progress-bar-success { - background-color: #9BD275; } - .progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } - -.progress-bar-info { - background-color: #B0CDDB; } - .progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } - -.progress-bar-warning { - background-color: #f0ad4e; } - .progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } - -.progress-bar-danger { - background-color: #F05050; } - .progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } - -.media, -.media-body { - overflow: hidden; - zoom: 1; } - -.media, -.media .media { - margin-top: 15px; } - -.media:first-child { - margin-top: 0; } - -.media-object { - display: block; } - -.media-heading { - margin: 0 0 5px; } - -.media > .pull-left { - margin-right: 10px; } -.media > .pull-right { - margin-left: 10px; } - -.media-list { - padding-left: 0; - list-style: none; } - -.list-group { - margin-bottom: 20px; - padding-left: 0; } - -.list-group-item { - position: relative; - display: block; - padding: 12px 20px; - margin-bottom: -1px; - background-color: #fff; } - .list-group-item:last-child { - margin-bottom: 0; } - .list-group-item > .badge { - float: right; } - .list-group-item > .badge + .badge { - margin-right: 5px; } - -a.list-group-item { - color: #3b3b3c; - border-radius: 0; } - a.list-group-item .list-group-item-heading { - color: #333; } - a.list-group-item:hover, a.list-group-item:focus { - text-decoration: none; - color: #EA7105; - background-color: #f5f5f5; } - a.list-group-item:hover:before, a.list-group-item:focus:before { - background: #EA7105; - content: ""; - height: 42px; - left: 0; - position: absolute; - top: 0; - width: 3px; } - -.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { - background-color: #eeeeee; - color: #777777; } - .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { - color: inherit; } - .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { - color: #777777; } -.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { - z-index: 2; } - .list-group-item.active:before, .list-group-item.active:hover:before, .list-group-item.active:focus:before { - background: #EA7105; - content: ""; - height: 42px; - left: 0; - position: absolute; - top: 0px; - width: 3px; } - .list-group-item.active .list-group-item-heading, - .list-group-item.active .list-group-item-heading > small, - .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, - .list-group-item.active:hover .list-group-item-heading > small, - .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, - .list-group-item.active:focus .list-group-item-heading > small, - .list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; } - .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { - color: #fedcbd; } - .list-group-item.active + .collapse > .list-group-item:before, .list-group-item.active:hover + .collapse > .list-group-item:before, .list-group-item.active:focus + .collapse > .list-group-item:before { - background: #EA7105; - content: ""; - height: 42px; - left: 0; - position: absolute; - top: 0px; - width: 3px; } - -.list-group-item-success { - color: #9BD275; - background-color: #9BD275; } - -a.list-group-item-success { - color: #9BD275; } - a.list-group-item-success .list-group-item-heading { - color: inherit; } - a.list-group-item-success:hover, a.list-group-item-success:focus { - color: #9BD275; - background-color: #8dcc62; } - a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus { - color: #fff; - background-color: #9BD275; - border-color: #9BD275; } - -.list-group-item-info { - color: #31708f; - background-color: #d9edf7; } - -a.list-group-item-info { - color: #31708f; } - a.list-group-item-info .list-group-item-heading { - color: inherit; } - a.list-group-item-info:hover, a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; } - a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; } - -.list-group-item-warning { - color: #f0ad4e; - background-color: #fcf8e3; } - -a.list-group-item-warning { - color: #f0ad4e; } - a.list-group-item-warning .list-group-item-heading { - color: inherit; } - a.list-group-item-warning:hover, a.list-group-item-warning:focus { - color: #f0ad4e; - background-color: #faf2cc; } - a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus { - color: #fff; - background-color: #f0ad4e; - border-color: #f0ad4e; } - -.list-group-item-danger { - color: #F05050; - background-color: #F05050; } - -a.list-group-item-danger { - color: #F05050; } - a.list-group-item-danger .list-group-item-heading { - color: inherit; } - a.list-group-item-danger:hover, a.list-group-item-danger:focus { - color: #F05050; - background-color: #ee3939; } - a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus { - color: #fff; - background-color: #F05050; - border-color: #F05050; } - -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; } - -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; } - -.panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 3px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } - -.panel-body { - padding: 15px; } - .panel-body:before, .panel-body:after { - content: " "; - display: table; } - .panel-body:after { - clear: both; } - -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 2px; - border-top-left-radius: 2px; } - .panel-heading > .dropdown .dropdown-toggle { - color: inherit; } - -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; } - .panel-title > a { - color: inherit; } - -.panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; } - -.panel > .list-group { - margin-bottom: 0; } - .panel > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; } - .panel > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-right-radius: 2px; - border-top-left-radius: 2px; } - .panel > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; } - -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; } - -.list-group + .panel-footer { - border-top-width: 0; } - -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; } -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-right-radius: 2px; - border-top-left-radius: 2px; } - .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, - .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, - .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, - .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, - .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, - .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, - .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, - .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 2px; } - .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, - .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, - .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, - .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, - .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, - .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, - .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, - .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 2px; } -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; } - .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, - .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, - .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, - .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, - .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, - .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, - .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, - .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 2px; } - .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, - .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, - .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, - .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, - .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, - .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, - .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, - .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 2px; } -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive { - border-top: 1px solid #eee; } -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; } -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; } - .panel > .table-bordered > thead > tr > th:first-child, - .panel > .table-bordered > thead > tr > td:first-child, - .panel > .table-bordered > tbody > tr > th:first-child, - .panel > .table-bordered > tbody > tr > td:first-child, - .panel > .table-bordered > tfoot > tr > th:first-child, - .panel > .table-bordered > tfoot > tr > td:first-child, - .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, - .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, - .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, - .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, - .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; } - .panel > .table-bordered > thead > tr > th:last-child, - .panel > .table-bordered > thead > tr > td:last-child, - .panel > .table-bordered > tbody > tr > th:last-child, - .panel > .table-bordered > tbody > tr > td:last-child, - .panel > .table-bordered > tfoot > tr > th:last-child, - .panel > .table-bordered > tfoot > tr > td:last-child, - .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, - .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, - .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, - .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, - .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; } - .panel > .table-bordered > thead > tr:first-child > td, - .panel > .table-bordered > thead > tr:first-child > th, - .panel > .table-bordered > tbody > tr:first-child > td, - .panel > .table-bordered > tbody > tr:first-child > th, - .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, - .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, - .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, - .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; } - .panel > .table-bordered > tbody > tr:last-child > td, - .panel > .table-bordered > tbody > tr:last-child > th, - .panel > .table-bordered > tfoot > tr:last-child > td, - .panel > .table-bordered > tfoot > tr:last-child > th, - .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, - .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, - .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, - .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; } -.panel > .table-responsive { - border: 0; - margin-bottom: 0; } - -.panel-group { - margin-bottom: 20px; } - .panel-group .panel { - margin-bottom: 0; - border-radius: 3px; } - .panel-group .panel + .panel { - margin-top: 5px; } - .panel-group .panel-heading { - border-bottom: 0; } - .panel-group .panel-heading + .panel-collapse > .panel-body { - border-top: 1px solid #ddd; } - .panel-group .panel-footer { - border-top: 0; } - .panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd; } - -.panel-default { - border-color: #ddd; } - .panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #ddd; } - .panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ddd; } - .panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333333; } - .panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd; } - -.panel-primary { - border-color: #EA7105; } - .panel-primary > .panel-heading { - color: #fff; - background-color: #EA7105; - border-color: #EA7105; } - .panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #EA7105; } - .panel-primary > .panel-heading .badge { - color: #EA7105; - background-color: #fff; } - .panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #EA7105; } - -.panel-success { - border-color: #9BD275; } - .panel-success > .panel-heading { - color: #9BD275; - background-color: #9BD275; - border-color: #9BD275; } - .panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #9BD275; } - .panel-success > .panel-heading .badge { - color: #9BD275; - background-color: #9BD275; } - .panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #9BD275; } - -.panel-info { - border-color: #bce8f1; } - .panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; } - .panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; } - .panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; } - .panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; } - -.panel-warning { - border-color: #faebcc; } - .panel-warning > .panel-heading { - color: #f0ad4e; - background-color: #fcf8e3; - border-color: #faebcc; } - .panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; } - .panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #f0ad4e; } - .panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; } - -.panel-danger { - border-color: #F05050; } - .panel-danger > .panel-heading { - color: #F05050; - background-color: #F05050; - border-color: #F05050; } - .panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #F05050; } - .panel-danger > .panel-heading .badge { - color: #F05050; - background-color: #F05050; } - .panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #F05050; } - -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; } - .embed-responsive .embed-responsive-item, - .embed-responsive iframe, - .embed-responsive embed, - .embed-responsive object { - position: absolute; - top: 0; - left: 0; - bottom: 0; - height: 100%; - width: 100%; - border: 0; } - .embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; } - .embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; } - -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 3px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } - .well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); } - -.well-lg { - padding: 24px; - border-radius: 6px; } - -.well-sm { - padding: 9px; - border-radius: 3px; } - -.close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: 0.2; - filter: alpha(opacity=20); } - .close:hover, .close:focus { - color: #000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); } - -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; } - -.modal-open { - overflow: hidden; } - -.modal { - display: none; - overflow: hidden; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - -webkit-overflow-scrolling: touch; - outline: 0; } - .modal.fade .modal-dialog { - -webkit-transform: translate3d(0, -25%, 0); - transform: translate3d(0, -25%, 0); - -webkit-transition: -webkit-transform 0.3s ease-out; - -moz-transition: -moz-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; } - .modal.in .modal-dialog { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; } - -.modal-dialog { - position: relative; - width: auto; - margin: 62px 10px 10px 10px; } - -.modal-content { - position: relative; - background-color: #fff; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - background-clip: padding-box; - outline: 0; } - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; } - .modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); } - .modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); } - -.modal-header { - padding: 15px; - border-bottom: 1px solid #e5e5e5; - min-height: 16.428571429px; } - -.modal-header .close { - margin-top: -2px; } - -.modal-title { - margin: 0; - line-height: 1.428571429; } - -.modal-body { - position: relative; - padding: 15px; } - -.modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; } - .modal-footer:before, .modal-footer:after { - content: " "; - display: table; } - .modal-footer:after { - clear: both; } - .modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; } - .modal-footer .btn-group .btn + .btn { - margin-left: -1px; } - .modal-footer .btn-block + .btn-block { - margin-left: 0; } - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; } - -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 82px auto 30px auto; } - - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } - - .modal-sm { - width: 300px; } } -@media (min-width: 992px) { - .modal-lg { - width: 900px; } } -.tooltip { - position: absolute; - z-index: 1070; - display: block; - visibility: visible; - font-size: 12px; - line-height: 1.4; - opacity: 0; - filter: alpha(opacity=0); } - .tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); } - .tooltip.top { - margin-top: -3px; - padding: 5px 0; } - .tooltip.right { - margin-left: 3px; - padding: 0 5px; } - .tooltip.bottom { - margin-top: 3px; - padding: 5px 0; } - .tooltip.left { - margin-left: -3px; - padding: 0 5px; } - -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - text-decoration: none; - background-color: #000; - border-radius: 3px; } - -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; } -.tooltip.top-left .tooltip-arrow { - bottom: 0; - left: 5px; - border-width: 5px 5px 0; - border-top-color: #000; } -.tooltip.top-right .tooltip-arrow { - bottom: 0; - right: 5px; - border-width: 5px 5px 0; - border-top-color: #000; } -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; } -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; } -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; } -.tooltip.bottom-left .tooltip-arrow { - top: 0; - left: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; } -.tooltip.bottom-right .tooltip-arrow { - top: 0; - right: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; } - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - white-space: normal; } - .popover.top { - margin-top: -10px; } - .popover.right { - margin-left: 10px; } - .popover.bottom { - margin-top: 10px; } - .popover.left { - margin-left: -10px; } - -.popover-title { - margin: 0; - padding: 8px 14px; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; } - -.popover-content { - padding: 9px 14px; } - -.popover > .arrow, .popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; } - -.popover > .arrow { - border-width: 11px; } - -.popover > .arrow:after { - border-width: 10px; - content: ""; } - -.popover.top > .arrow { - left: 50%; - margin-left: -11px; - border-bottom-width: 0; - border-top-color: #999999; - border-top-color: rgba(0, 0, 0, 0.25); - bottom: -11px; } - .popover.top > .arrow:after { - content: " "; - bottom: 1px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #fff; } -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-left-width: 0; - border-right-color: #999999; - border-right-color: rgba(0, 0, 0, 0.25); } - .popover.right > .arrow:after { - content: " "; - left: 1px; - bottom: -10px; - border-left-width: 0; - border-right-color: #fff; } -.popover.bottom > .arrow { - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999999; - border-bottom-color: rgba(0, 0, 0, 0.25); - top: -11px; } - .popover.bottom > .arrow:after { - content: " "; - top: 1px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #fff; } -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999999; - border-left-color: rgba(0, 0, 0, 0.25); } - .popover.left > .arrow:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: #fff; - bottom: -10px; } - -.carousel { - position: relative; } - -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; } - .carousel-inner > .item { - display: none; - position: relative; - -webkit-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; } - .carousel-inner > .item > img, - .carousel-inner > .item > a > img { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; - line-height: 1; } - .carousel-inner > .active, - .carousel-inner > .next, - .carousel-inner > .prev { - display: block; } - .carousel-inner > .active { - left: 0; } - .carousel-inner > .next, - .carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; } - .carousel-inner > .next { - left: 100%; } - .carousel-inner > .prev { - left: -100%; } - .carousel-inner > .next.left, - .carousel-inner > .prev.right { - left: 0; } - .carousel-inner > .active.left { - left: -100%; } - .carousel-inner > .active.right { - left: 100%; } - -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 15%; - opacity: 0.5; - filter: alpha(opacity=50); - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } - .carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } - .carousel-control.right { - left: auto; - right: 0; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } - .carousel-control:hover, .carousel-control:focus { - outline: 0; - color: #fff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); } - .carousel-control .icon-prev, - .carousel-control .icon-next, - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; } - .carousel-control .icon-prev, - .carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; } - .carousel-control .icon-next, - .carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; } - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; } - .carousel-control .icon-prev:before { - content: '\2039'; } - .carousel-control .icon-next:before { - content: '\203a'; } - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; } - .carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #fff; - border-radius: 10px; - cursor: pointer; - background-color: #000 \9; - background-color: transparent; } - .carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #fff; } - -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } - .carousel-caption .btn { - text-shadow: none; } - -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; } - - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; } - - .carousel-indicators { - bottom: 20px; } } -.clearfix:before, .content-box:before, .clearfix:after, .content-box:after { - content: " "; - display: table; } -.clearfix:after, .content-box:after { - clear: both; } - -.center-block { - display: block; - margin-left: auto; - margin-right: auto; } - -.pull-right { - float: right !important; } - -.pull-left { - float: left !important; } - -.hide { - display: none !important; } - -.show { - display: block !important; } - -.invisible { - visibility: hidden; } - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; } - -.hidden { - display: none !important; - visibility: hidden !important; } - -.affix { - position: fixed; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); } - -@-ms-viewport { - width: device-width; } -.visible-xs, .visible-sm, .visible-md, .visible-lg { - display: none !important; } - -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; } - -@media (max-width: 767px) { - .visible-xs { - display: block !important; } - - table.visible-xs { - display: table; } - - tr.visible-xs { - display: table-row !important; } - - th.visible-xs, - td.visible-xs { - display: table-cell !important; } } -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; } } - -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; } } - -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; } } - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; } - - table.visible-sm { - display: table; } - - tr.visible-sm { - display: table-row !important; } - - th.visible-sm, - td.visible-sm { - display: table-cell !important; } } -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; } } - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; } } - -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; } } - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; } - - table.visible-md { - display: table; } - - tr.visible-md { - display: table-row !important; } - - th.visible-md, - td.visible-md { - display: table-cell !important; } } -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; } } - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; } } - -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; } } - -@media (min-width: 1200px) { - .visible-lg { - display: block !important; } - - table.visible-lg { - display: table; } - - tr.visible-lg { - display: table-row !important; } - - th.visible-lg, - td.visible-lg { - display: table-cell !important; } } -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; } } - -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; } } - -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; } } - -@media (max-width: 767px) { - .hidden-xs, .page-side { - display: none !important; } } -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; } } -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; } } -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; } } -.visible-print { - display: none !important; } - -@media print { - .visible-print { - display: block !important; } - - table.visible-print { - display: table; } - - tr.visible-print { - display: table-row !important; } - - th.visible-print, - td.visible-print { - display: table-cell !important; } } -.visible-print-block { - display: none !important; } - @media print { - .visible-print-block { - display: block !important; } } - -.visible-print-inline { - display: none !important; } - @media print { - .visible-print-inline { - display: inline !important; } } - -.visible-print-inline-block { - display: none !important; } - @media print { - .visible-print-inline-block { - display: inline-block !important; } } - -@media print { - .hidden-print { - display: none !important; } } -* { - -webkit-font-smoothing: antialiased; } - -html, body { - height: 100%; - font-family: 'SourceSansProRegular'; } - -body { - min-width: 320px; } - -.page-head { - background: #3b3b3c; - top: 0; - left: 0; - position: fixed; - width: 100%; - z-index: 2; } - -.page-content { - height: calc(100% - 52px); - padding-top: 52px; - position: relative; - z-index: 1; } - .page-content > .row { - height: 100%; } - -.page-content-head, .content-box-head { - background: #FBFBFB; - border-bottom: 1px solid rgba(217, 217, 217, 0.5); - padding-bottom: 15px; - padding-top: 20px; } - .page-content-head .navbar-nav, .content-box-head .navbar-nav { - width: 100%; } - .page-content-head h1, .content-box-head h1, .page-content-head h2, .content-box-head h2, .page-content-head h3, .content-box-head h3 { - line-height: 1; - margin: 0; } - -.page-content-main { - background: #F7F7F7; - min-height: calc(100% - 64px); - padding: 15px 0 73px; } - -.page-side { - background: #FFF; - border-right: 1px solid rgba(0, 0, 0, 0.15); - height: 100% !important; - height: calc(100% - 52px) !important; - left: 0; - overflow: auto; - margin-top: 52px; - position: fixed; - top: 0; - z-index: 3; } - -.page-side-nav--active { - background: #F7F7F7; - border-left: 3px solid #EA7105; } - -.page-foot { - background: #FBFBFB; - bottom: 0; - border-top: 1px solid rgba(217, 217, 217, 0.5); - font-size: 12px; - padding: 20px 0; - position: fixed; - width: 100%; - z-index: 2; } - -.content-box { - background: #FFF; - border: 1px solid #E5E5E5; } - .content-box-main { - padding-bottom: 15px; - padding-top: 15px; } - -.tab-content { - border-top: 0px; - margin-bottom: 15px; - padding: 15px 0; } - .tab-content > .tab-content { - margin-bottom: 0; - padding: 0 15px; } - .tab-content .tab-content:last-child { - margin-bottom: 0; } - -.page-content-main [class^="col-"] + [class^="col-"] { - padding-top: 20px; } - -.brand-logo { - display: none; } - @media (min-width: 768px) { - .brand-logo { - display: inline-block; } } - -.brand-icon { - display: inline-block; } - @media (min-width: 768px) { - .brand-icon { - display: none; } } - -@media (min-width: 768px) { - .col-sm-disable-spacer { - padding-top: 0 !important; } } - -@media (min-width: 992px) { - .col-md-disable-spacer { - padding-top: 0 !important; } } - -@media (min-width: 1200px) { - .col-lg-disable-spacer { - padding-top: 0 !important; } } - -.page-login { - background: #F7F7F7; } - .page-login .container { - min-height: 100%; - margin-bottom: -60px; } - .page-login .container:after { - height: 60px; } - -.login-foot { - background: #FFF; - border-top: 1px solid #E5E5E5; - color: #9F9F9F; - font-size: 12px; - height: 60px; } - .login-foot p { - padding-top: 21px; } - -.login-modal-container { - background: #FFF; - border: 1px solid #E5E5E5; - max-width: 400px; - margin: 100px auto 15px auto; } -.login-modal-head { - background: #3b3b3c; - height: 75px; - padding: 0 20px; } -.login-modal-content { - padding: 40px 20px 30px 20px; } -.login-modal-foot { - background: #F7F7F7; - border-top: 1px solid #E5E5E5; - height: 60px; - padding: 20px 20px 0 20px; } - .login-modal-foot a { - color: #7D7D7D; - text-decoration: none; } - .login-modal-foot a:hover { - color: #636363; - text-decoration: underline; } - -@media (min-width: 768px) { - .list-inline .btn-group-container { - float: right; } } - -.btn.btn-fixed { - max-width: 174px; - width: 100%; } - -.table-sort > tbody > tr > th { - border-top: 0; - height: 50px; } - .table-sort > tbody > tr > th:hover { - background: #F2F2F2; - cursor: pointer; } -.table-sort > tbody > tr > td, .table-sort > tbody > tr > th { - vertical-align: middle; } -.table-sort-icon { - font-size: 10px; } -.table-sort .btn-group-table { - padding-right: 15px; } - -.progress-bar-placeholder { - font-size: 12px; - position: absolute; - text-align: center; - width: 100%; - z-index: 1; } - -/* BOOTSTRAP EDIT */ -.list-group-item { - border-left: none; - border-right: none; } - .list-group-item.collapsed .caret { - border-bottom: 4px solid green; - border-top: 0; } - -#navigation.collapse.in { - display: block !important; } - -.list-group-submenu .list-group-item:last-child, -.collapse .list-group-item:last-child { - border-bottom: none; } - -.nav-tabs > li.active > a { - background: #FFF !important; } - -.nav-tabs > li > a { - border-radius: 0px; - margin-right: 0px; } - -.nav-tabs.nav-justified { - border-right: 1px solid #E5E5E5; } - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #E5E5E5; - border-top: 1px solid #E5E5E5; - border-left: 1px solid #E5E5E5; - border-radius: 0px; - background: #F7F7F7; - color: #3b3b3c; - font-family: 'SourceSansProSemibold'; } - @media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid transparent; } } - @media (max-width: 767px) { - .nav-tabs.nav-justified > li.active a { - border-right: 0 !important; } } - @media (min-width: 768px) { - .nav-tabs.nav-justified > li.active + li > a { - border-left: 1px solid transparent; } } - .nav-tabs.nav-justified > li:last-child > a { - border-right: 1px solid transparent !important; } - @media (max-width: 767px) { - .nav-tabs.nav-justified > li:last-child > a { - margin-bottom: 0; } } - -.btn .glyphicon { - vertical-align: -1px; } - -.btn-default .glyphicon { - color: #757575; } - -table { - width: 100%; } - -.table th, strong, b { - font-family: 'SourceSansProSemibold'; - font-weight: normal; } - -.table > tbody > tr > td:last-child { - padding-right: 15px; } - -/* helpers */ -.__nowrap { - white-space: nowrap; } - -.__nomb { - margin-bottom: 0; } - -.__mb { - margin-bottom: 15px; } - -.__mt { - margin-top: 15px; } - -.__ml { - margin-left: 15px; } - -.__mr { - margin-right: 15px; } - -.__iconspacer { - padding-right: 10px; } - -#mainmenu .glyphicon { - vertical-align: -2px; } - -.list-group-item { - overflow: hidden; - text-overflow: ellipsis; } - .list-group-item + div.collapse { - margin-bottom: -1px; } - .list-group-item + div > a { - padding-left: 44px; } - .list-group-item:before { - background: #EA7105; - content: ""; - height: 42px; - min-height: 100%; - left: 0; - position: absolute; - top: 0px; - width: 0; - -webkit-transition: width .2s; - -moz-transition: width .2s; - -o-transition: width .2s; - transition: width .2s; } - -.list-group-submenu a { - padding-left: 56px; } - -.active-menu-title, .active-menu a { - text-decoration: none; - position: relative; - background-color: #F5F5F5; } - .active-menu-title:before, .active-menu a:before { - width: 3px; } - .active-menu-title.active, .active-menu a.active { - background-color: #E8E8E8; } - -.active-menu a:before { - background: #ED9A50; } - -.alert.alert-danger { - color: #FFF !important; } - -.nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a, .nav-tabs.nav-justified > li > a { - border-radius: 0 !important; } - -.navbar-brand { - padding: 10px 20px; } - -::-webkit-scrollbar { - width: 8px; } - -::-webkit-scrollbar-button { - width: 8px; - height: 5px; } - -::-webkit-scrollbar-track { - background: #f7f7f7; - box-shadow: 0px 0px 0px; - border-radius: 0; } - -::-webkit-scrollbar-thumb { - background: #e5e5e5; - border: thin solid #e5e5e5; - border-radius: 0px; } - -::-webkit-scrollbar-thumb:hover { - background: #e5e5e5; } diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/.jshintrc b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/.jshintrc new file mode 100644 index 000000000..99c92fe3c --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/.jshintrc @@ -0,0 +1,15 @@ +{ + "curly": true, + "eqeqeq": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "sub": true, + "undef": true, + "unused": true, + "boss": true, + "eqnull": true, + "browser": true, + "jquery": true +} diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/bootstrap-select.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/bootstrap-select.js new file mode 100644 index 000000000..3d13c72d7 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/bootstrap-select.js @@ -0,0 +1,1225 @@ +(function ($) { + 'use strict'; + + // Case insensitive search + $.expr[':'].icontains = function (obj, index, meta) { + return icontains($(obj).text(), meta[3]); + }; + + // Case and accent insensitive search + $.expr[':'].aicontains = function (obj, index, meta) { + return icontains($(obj).data('normalizedText') || $(obj).text(), meta[3]); + }; + + /** + * Actual implementation of the case insensitive search. + * @access private + * @param {String} haystack + * @param {String} needle + * @returns {boolean} + */ + function icontains(haystack, needle) { + return haystack.toUpperCase().indexOf(needle.toUpperCase()) > -1; + } + + /** + * Remove all diatrics from the given text. + * @access private + * @param {String} text + * @returns {String} + */ + function normalizeToBase(text) { + var rExps = [ + {re: /[\xC0-\xC6]/g, ch: "A"}, + {re: /[\xE0-\xE6]/g, ch: "a"}, + {re: /[\xC8-\xCB]/g, ch: "E"}, + {re: /[\xE8-\xEB]/g, ch: "e"}, + {re: /[\xCC-\xCF]/g, ch: "I"}, + {re: /[\xEC-\xEF]/g, ch: "i"}, + {re: /[\xD2-\xD6]/g, ch: "O"}, + {re: /[\xF2-\xF6]/g, ch: "o"}, + {re: /[\xD9-\xDC]/g, ch: "U"}, + {re: /[\xF9-\xFC]/g, ch: "u"}, + {re: /[\xC7-\xE7]/g, ch: "c"}, + {re: /[\xD1]/g, ch: "N"}, + {re: /[\xF1]/g, ch: "n"} + ]; + $.each(rExps, function () { + text = text.replace(this.re, this.ch); + }); + return text; + } + + + function htmlEscape(html) { + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var source = '(?:' + Object.keys(escapeMap).join('|') + ')', + testRegexp = new RegExp(source), + replaceRegexp = new RegExp(source, 'g'), + string = html == null ? '' : '' + html; + return testRegexp.test(string) ? string.replace(replaceRegexp, function (match) { + return escapeMap[match]; + }) : string; + } + + var Selectpicker = function (element, options, e) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + + this.$element = $(element); + this.$newElement = null; + this.$button = null; + this.$menu = null; + this.$lis = null; + this.options = options; + + // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a + // data-attribute) + if (this.options.title === null) { + this.options.title = this.$element.attr('title'); + } + + //Expose public methods + this.val = Selectpicker.prototype.val; + this.render = Selectpicker.prototype.render; + this.refresh = Selectpicker.prototype.refresh; + this.setStyle = Selectpicker.prototype.setStyle; + this.selectAll = Selectpicker.prototype.selectAll; + this.deselectAll = Selectpicker.prototype.deselectAll; + this.destroy = Selectpicker.prototype.remove; + this.remove = Selectpicker.prototype.remove; + this.show = Selectpicker.prototype.show; + this.hide = Selectpicker.prototype.hide; + + this.init(); + }; + + Selectpicker.VERSION = '1.6.3'; + + // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both. + Selectpicker.DEFAULTS = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results matched {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ', + style: 'btn-default', + size: 'auto', + title: null, + selectedTextFormat: 'values', + width: false, + container: false, + hideDisabled: false, + showSubtext: false, + showIcon: true, + showContent: true, + dropupAuto: true, + header: false, + liveSearch: false, + liveSearchPlaceholder: null, + actionsBox: false, + iconBase: 'glyphicon', + tickIcon: 'glyphicon-ok', + maxOptions: false, + mobile: false, + selectOnTab: false, + dropdownAlignRight: false, + searchAccentInsensitive: false + }; + + Selectpicker.prototype = { + + constructor: Selectpicker, + + init: function () { + var that = this, + id = this.$element.attr('id'); + + this.$element.hide(); + this.multiple = this.$element.prop('multiple'); + this.autofocus = this.$element.prop('autofocus'); + this.$newElement = this.createView(); + this.$element.after(this.$newElement); + this.$menu = this.$newElement.children('.dropdown-menu'); + this.$button = this.$newElement.children('button'); + this.$searchbox = this.$newElement.find('input'); + + if (this.options.dropdownAlignRight) + this.$menu.addClass('dropdown-menu-right'); + + if (typeof id !== 'undefined') { + this.$button.attr('data-id', id); + $('label[for="' + id + '"]').click(function (e) { + e.preventDefault(); + that.$button.focus(); + }); + } + + this.checkDisabled(); + this.clickListener(); + if (this.options.liveSearch) this.liveSearchListener(); + this.render(); + this.liHeight(); + this.setStyle(); + this.setWidth(); + if (this.options.container) this.selectPosition(); + this.$menu.data('this', this); + this.$newElement.data('this', this); + if (this.options.mobile) this.mobile(); + }, + + createDropdown: function () { + // Options + // If we are multiple, then add the show-tick class by default + var multiple = this.multiple ? ' show-tick' : '', + inputGroup = this.$element.parent().hasClass('input-group') ? ' input-group-btn' : '', + autofocus = this.autofocus ? ' autofocus' : ''; + // Elements + var header = this.options.header ? '
    ' + this.options.header + '
    ' : ''; + var searchbox = this.options.liveSearch ? + '' + : ''; + var actionsbox = this.options.actionsBox ? + '
    ' + + '
    ' + + '' + + '' + + '
    ' + + '
    ' + : ''; + var drop = + '
    ' + + '' + + '' + + '
    '; + + return $(drop); + }, + + createView: function () { + var $drop = this.createDropdown(); + var $li = this.createLi(); + $drop.find('ul').append($li); + return $drop; + }, + + reloadLi: function () { + //Remove all children. + this.destroyLi(); + //Re build + var $li = this.createLi(); + this.$menu.find('ul').append($li); + }, + + destroyLi: function () { + this.$menu.find('li').remove(); + }, + + createLi: function () { + var that = this, + _li = [], + optID = 0; + + // Helper functions + /** + * @param content + * @param [index] + * @param [classes] + * @param [optgroup] + * @returns {string} + */ + var generateLI = function (content, index, classes, optgroup) { + return '' + content + ''; + }; + + /** + * @param text + * @param [classes] + * @param [inline] + * @returns {string} + */ + var generateA = function (text, classes, inline) { + var normText = normalizeToBase(htmlEscape(text)); + return '' + text + + '' + + ''; + }; + + this.$element.find('option').each(function (index) { + var $this = $(this); + + // Get the class and text for the option + var optionClass = $this.attr('class') || '', + inline = $this.attr('style'), + text = $this.data('content') ? $this.data('content') : $this.html(), + subtext = typeof $this.data('subtext') !== 'undefined' ? '' + $this.data('subtext') + '' : '', + icon = typeof $this.data('icon') !== 'undefined' ? ' ' : '', + isDisabled = $this.is(':disabled') || $this.parent().is(':disabled'); + if (icon !== '' && isDisabled) { + icon = '' + icon + ''; + } + + if (!$this.data('content')) { + // Prepend any icon and append any subtext to the main text. + text = icon + '' + text + subtext + ''; + } + + if (that.options.hideDisabled && isDisabled) { + return; + } + + if ($this.parent().is('optgroup') && $this.data('divider') !== true) { + if ($this.index() === 0) { // Is it the first option of the optgroup? + optID += 1; + + // Get the opt group label + var label = $this.parent().attr('label'); + var labelSubtext = typeof $this.parent().data('subtext') !== 'undefined' ? '' + $this.parent().data('subtext') + '' : ''; + var labelIcon = $this.parent().data('icon') ? ' ' : ''; + label = labelIcon + '' + label + labelSubtext + ''; + + if (index !== 0 && _li.length > 0) { // Is it NOT the first option of the select && are there elements in the dropdown? + _li.push(generateLI('', null, 'divider')); + } + + _li.push(generateLI(label, null, 'dropdown-header', optID)); + } + + _li.push(generateLI(generateA(text, 'opt ' + optionClass, inline), index, '', optID)); + } else if ($this.data('divider') === true) { + _li.push(generateLI('', index, 'divider')); + } else if ($this.data('hidden') === true) { + _li.push(generateLI(generateA(text, optionClass, inline), index, 'hidden is-hidden')); + } else { + _li.push(generateLI(generateA(text, optionClass, inline), index)); + } + }); + + //If we are not multiple, we don't have a selected item, and we don't have a title, select the first element so something is set in the button + if (!this.multiple && this.$element.find('option:selected').length === 0 && !this.options.title) { + this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected'); + } + + return $(_li.join('')); + }, + + findLis: function () { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + return this.$lis; + }, + + /** + * @param [updateLi] defaults to true + */ + render: function (updateLi) { + var that = this; + + //Update the LI to match the SELECT + if (updateLi !== false) { + this.$element.find('option').each(function (index) { + that.setDisabled(index, $(this).is(':disabled') || $(this).parent().is(':disabled')); + that.setSelected(index, $(this).is(':selected')); + }); + } + + this.tabIndex(); + var notDisabled = this.options.hideDisabled ? ':not([disabled])' : ''; + var selectedItems = this.$element.find('option:selected' + notDisabled).map(function () { + var $this = $(this); + var icon = $this.data('icon') && that.options.showIcon ? ' ' : ''; + var subtext; + if (that.options.showSubtext && $this.attr('data-subtext') && !that.multiple) { + subtext = ' ' + $this.data('subtext') + ''; + } else { + subtext = ''; + } + if (typeof $this.attr('title') !== 'undefined') { + return $this.attr('title'); + } else if ($this.data('content') && that.options.showContent) { + return $this.data('content'); + } else { + return icon + $this.html() + subtext; + } + }).toArray(); + + //Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled + //Convert all the values into a comma delimited string + var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator); + + //If this is multi select, and the selectText type is count, the show 1 of 2 selected etc.. + if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) { + var max = this.options.selectedTextFormat.split('>'); + if ((max.length > 1 && selectedItems.length > max[1]) || (max.length == 1 && selectedItems.length >= 2)) { + notDisabled = this.options.hideDisabled ? ', [disabled]' : ''; + var totalCount = this.$element.find('option').not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length, + tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText; + title = tr8nText.replace('{0}', selectedItems.length.toString()).replace('{1}', totalCount.toString()); + } + } + + this.options.title = this.$element.attr('title'); + + if (this.options.selectedTextFormat == 'static') { + title = this.options.title; + } + + //If we dont have a title, then use the default, or if nothing is set at all, use the not selected text + if (!title) { + title = typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText; + } + + //strip all html-tags and trim the result + this.$button.attr('title', $.trim(title.replace(/<[^>]*>?/g, ''))); + this.$newElement.find('.filter-option').html(title); + }, + + /** + * @param [style] + * @param [status] + */ + setStyle: function (style, status) { + if (this.$element.attr('class')) { + this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|validate\[.*\]/gi, '')); + } + + var buttonClass = style ? style : this.options.style; + + if (status == 'add') { + this.$button.addClass(buttonClass); + } else if (status == 'remove') { + this.$button.removeClass(buttonClass); + } else { + this.$button.removeClass(this.options.style); + this.$button.addClass(buttonClass); + } + }, + + liHeight: function () { + if (this.options.size === false) return; + + var $selectClone = this.$menu.parent().clone().children('.dropdown-toggle').prop('autofocus', false).end().appendTo('body'), + $menuClone = $selectClone.addClass('open').children('.dropdown-menu'), + liHeight = $menuClone.find('li').not('.divider').not('.dropdown-header').filter(':visible').children('a').outerHeight(), + headerHeight = this.options.header ? $menuClone.find('.popover-title').outerHeight() : 0, + searchHeight = this.options.liveSearch ? $menuClone.find('.bs-searchbox').outerHeight() : 0, + actionsHeight = this.options.actionsBox ? $menuClone.find('.bs-actionsbox').outerHeight() : 0; + + $selectClone.remove(); + + this.$newElement + .data('liHeight', liHeight) + .data('headerHeight', headerHeight) + .data('searchHeight', searchHeight) + .data('actionsHeight', actionsHeight); + }, + + setSize: function () { + this.findLis(); + var that = this, + menu = this.$menu, + menuInner = menu.find('.inner'), + selectHeight = this.$newElement.outerHeight(), + liHeight = this.$newElement.data('liHeight'), + headerHeight = this.$newElement.data('headerHeight'), + searchHeight = this.$newElement.data('searchHeight'), + actionsHeight = this.$newElement.data('actionsHeight'), + divHeight = this.$lis.filter('.divider').outerHeight(true), + menuPadding = parseInt(menu.css('padding-top')) + + parseInt(menu.css('padding-bottom')) + + parseInt(menu.css('border-top-width')) + + parseInt(menu.css('border-bottom-width')), + notDisabled = this.options.hideDisabled ? ', .disabled' : '', + $window = $(window), + menuExtras = menuPadding + parseInt(menu.css('margin-top')) + parseInt(menu.css('margin-bottom')) + 2, + menuHeight, + selectOffsetTop, + selectOffsetBot, + posVert = function () { + // JQuery defines a scrollTop function, but in pure JS it's a property + //noinspection JSValidateTypes + selectOffsetTop = that.$newElement.offset().top - $window.scrollTop(); + selectOffsetBot = $window.height() - selectOffsetTop - selectHeight; + }; + posVert(); + if (this.options.header) menu.css('padding-top', 0); + + if (this.options.size == 'auto') { + var getSize = function () { + var minHeight, + lisVis = that.$lis.not('.hidden'); + + posVert(); + menuHeight = selectOffsetBot - menuExtras; + + if (that.options.dropupAuto) { + that.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras) < menu.height()); + } + if (that.$newElement.hasClass('dropup')) { + menuHeight = selectOffsetTop - menuExtras; + } + + if ((lisVis.length + lisVis.filter('.dropdown-header').length) > 3) { + minHeight = liHeight * 3 + menuExtras - 2; + } else { + minHeight = 0; + } + + menu.css({ + 'max-height': menuHeight + 'px', + 'overflow': 'hidden', + 'min-height': minHeight + headerHeight + searchHeight + actionsHeight + 'px' + }); + menuInner.css({ + 'max-height': menuHeight - headerHeight - searchHeight - actionsHeight - menuPadding + 'px', + 'overflow-y': 'auto', + 'min-height': Math.max(minHeight - menuPadding, 0) + 'px' + }); + }; + getSize(); + this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize', getSize); + $window.off('resize.getSize').on('resize.getSize', getSize); + $window.off('scroll.getSize').on('scroll.getSize', getSize); + } else if (this.options.size && this.options.size != 'auto' && menu.find('li' + notDisabled).length > this.options.size) { + var optIndex = this.$lis.not('.divider' + notDisabled).children().slice(0, this.options.size).last().parent().index(); + var divLength = this.$lis.slice(0, optIndex + 1).filter('.divider').length; + menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding; + if (that.options.dropupAuto) { + //noinspection JSUnusedAssignment + this.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && menuHeight < menu.height()); + } + menu.css({'max-height': menuHeight + headerHeight + searchHeight + actionsHeight + 'px', 'overflow': 'hidden'}); + menuInner.css({'max-height': menuHeight - menuPadding + 'px', 'overflow-y': 'auto'}); + } + }, + + setWidth: function () { + if (this.options.width == 'auto') { + this.$menu.css('min-width', '0'); + + // Get correct width if element hidden + var selectClone = this.$newElement.clone().appendTo('body'); + var ulWidth = selectClone.children('.dropdown-menu').css('width'); + var btnWidth = selectClone.css('width', 'auto').children('button').css('width'); + selectClone.remove(); + + // Set width to whatever's larger, button title or longest option + this.$newElement.css('width', Math.max(parseInt(ulWidth), parseInt(btnWidth)) + 'px'); + } else if (this.options.width == 'fit') { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', '').addClass('fit-width'); + } else if (this.options.width) { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', this.options.width); + } else { + // Remove inline min-width/width so width can be changed + this.$menu.css('min-width', ''); + this.$newElement.css('width', ''); + } + // Remove fit-width class if width is changed programmatically + if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') { + this.$newElement.removeClass('fit-width'); + } + }, + + selectPosition: function () { + var that = this, + drop = '
    ', + $drop = $(drop), + pos, + actualHeight, + getPlacement = function ($element) { + $drop.addClass($element.attr('class').replace(/form-control/gi, '')).toggleClass('dropup', $element.hasClass('dropup')); + pos = $element.offset(); + actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; + $drop.css({ + 'top': pos.top + actualHeight, + 'left': pos.left, + 'width': $element[0].offsetWidth, + 'position': 'absolute' + }); + }; + this.$newElement.on('click', function () { + if (that.isDisabled()) { + return; + } + getPlacement($(this)); + $drop.appendTo(that.options.container); + $drop.toggleClass('open', !$(this).hasClass('open')); + $drop.append(that.$menu); + }); + $(window).resize(function () { + getPlacement(that.$newElement); + }); + $(window).on('scroll', function () { + getPlacement(that.$newElement); + }); + $('html').on('click', function (e) { + if ($(e.target).closest(that.$newElement).length < 1) { + $drop.removeClass('open'); + } + }); + }, + + setSelected: function (index, selected) { + this.findLis(); + this.$lis.filter('[data-original-index="' + index + '"]').toggleClass('selected', selected); + }, + + setDisabled: function (index, disabled) { + this.findLis(); + if (disabled) { + this.$lis.filter('[data-original-index="' + index + '"]').addClass('disabled').find('a').attr('href', '#').attr('tabindex', -1); + } else { + this.$lis.filter('[data-original-index="' + index + '"]').removeClass('disabled').find('a').removeAttr('href').attr('tabindex', 0); + } + }, + + isDisabled: function () { + return this.$element.is(':disabled'); + }, + + checkDisabled: function () { + var that = this; + + if (this.isDisabled()) { + this.$button.addClass('disabled').attr('tabindex', -1); + } else { + if (this.$button.hasClass('disabled')) { + this.$button.removeClass('disabled'); + } + + if (this.$button.attr('tabindex') == -1) { + if (!this.$element.data('tabindex')) this.$button.removeAttr('tabindex'); + } + } + + this.$button.click(function () { + return !that.isDisabled(); + }); + }, + + tabIndex: function () { + if (this.$element.is('[tabindex]')) { + this.$element.data('tabindex', this.$element.attr('tabindex')); + this.$button.attr('tabindex', this.$element.data('tabindex')); + } + }, + + clickListener: function () { + var that = this; + + this.$newElement.on('touchstart.dropdown', '.dropdown-menu', function (e) { + e.stopPropagation(); + }); + + this.$newElement.on('click', function () { + that.setSize(); + if (!that.options.liveSearch && !that.multiple) { + setTimeout(function () { + that.$menu.find('.selected a').focus(); + }, 10); + } + }); + + this.$menu.on('click', 'li a', function (e) { + var $this = $(this), + clickedIndex = $this.parent().data('originalIndex'), + prevValue = that.$element.val(), + prevIndex = that.$element.prop('selectedIndex'); + + // Don't close on multi choice menu + if (that.multiple) { + e.stopPropagation(); + } + + e.preventDefault(); + + //Don't run if we have been disabled + if (!that.isDisabled() && !$this.parent().hasClass('disabled')) { + var $options = that.$element.find('option'), + $option = $options.eq(clickedIndex), + state = $option.prop('selected'), + $optgroup = $option.parent('optgroup'), + maxOptions = that.options.maxOptions, + maxOptionsGrp = $optgroup.data('maxOptions') || false; + + if (!that.multiple) { // Deselect all others if not multi select box + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else { // Toggle the one we have chosen if we are multi select. + $option.prop('selected', !state); + that.setSelected(clickedIndex, !state); + $this.blur(); + + if (maxOptions !== false || maxOptionsGrp !== false) { + var maxReached = maxOptions < $options.filter(':selected').length, + maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length; + + if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) { + if (maxOptions && maxOptions == 1) { + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else if (maxOptionsGrp && maxOptionsGrp == 1) { + $optgroup.find('option:selected').prop('selected', false); + $option.prop('selected', true); + var optgroupID = $this.data('optgroup'); + + that.$menu.find('.selected').has('a[data-optgroup="' + optgroupID + '"]').removeClass('selected'); + + that.setSelected(clickedIndex, true); + } else { + var maxOptionsArr = (typeof that.options.maxOptionsText === 'function') ? + that.options.maxOptionsText(maxOptions, maxOptionsGrp) : that.options.maxOptionsText, + maxTxt = maxOptionsArr[0].replace('{n}', maxOptions), + maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp), + $notify = $('
    '); + // If {var} is set in array, replace it + /** @deprecated */ + if (maxOptionsArr[2]) { + maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]); + maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]); + } + + $option.prop('selected', false); + + that.$menu.append($notify); + + if (maxOptions && maxReached) { + $notify.append($('
    ' + maxTxt + '
    ')); + that.$element.trigger('maxReached.bs.select'); + } + + if (maxOptionsGrp && maxReachedGrp) { + $notify.append($('
    ' + maxTxtGrp + '
    ')); + that.$element.trigger('maxReachedGrp.bs.select'); + } + + setTimeout(function () { + that.setSelected(clickedIndex, false); + }, 10); + + $notify.delay(750).fadeOut(300, function () { + $(this).remove(); + }); + } + } + } + } + + if (!that.multiple) { + that.$button.focus(); + } else if (that.options.liveSearch) { + that.$searchbox.focus(); + } + + // Trigger select 'change' + if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) { + that.$element.change(); + } + } + }); + + this.$menu.on('click', 'li.disabled a, .popover-title, .popover-title :not(.close)', function (e) { + if (e.currentTarget == this) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + } + }); + + this.$menu.on('click', 'li.divider, li.dropdown-header', function (e) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + }); + + this.$menu.on('click', '.popover-title .close', function () { + that.$button.focus(); + }); + + this.$searchbox.on('click', function (e) { + e.stopPropagation(); + }); + + + this.$menu.on('click', '.actions-btn', function (e) { + if (that.options.liveSearch) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + + e.preventDefault(); + e.stopPropagation(); + + if ($(this).is('.bs-select-all')) { + that.selectAll(); + } else { + that.deselectAll(); + } + that.$element.change(); + }); + + this.$element.change(function () { + that.render(false); + }); + }, + + liveSearchListener: function () { + var that = this, + no_results = $('
  • '); + + this.$newElement.on('click.dropdown.data-api touchstart.dropdown.data-api', function () { + that.$menu.find('.active').removeClass('active'); + if (!!that.$searchbox.val()) { + that.$searchbox.val(''); + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) no_results.remove(); + } + if (!that.multiple) that.$menu.find('.selected').addClass('active'); + setTimeout(function () { + that.$searchbox.focus(); + }, 10); + }); + + this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api', function (e) { + e.stopPropagation(); + }); + + this.$searchbox.on('input propertychange', function () { + if (that.$searchbox.val()) { + if (that.options.searchAccentInsensitive) { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':aicontains(' + normalizeToBase(that.$searchbox.val()) + ')').parent().addClass('hidden'); + } else { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':icontains(' + that.$searchbox.val() + ')').parent().addClass('hidden'); + } + + that.$lis.filter('.dropdown-header').each(function () { + var $this = $(this), + optgroup = $this.data('optgroup'); + + if (that.$lis.filter('[data-optgroup=' + optgroup + ']').not($this).filter(':visible').length === 0) { + $this.addClass('hidden'); + } + }); + + if (!that.$menu.find('li').filter(':visible:not(.no-results)').length) { + if (!!no_results.parent().length) { + no_results.remove(); + } + no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"')).show(); + that.$menu.find('li').last().after(no_results); + } else if (!!no_results.parent().length) { + no_results.remove(); + } + + } else { + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) { + no_results.remove(); + } + } + + that.$menu.find('li.active').removeClass('active'); + that.$menu.find('li').filter(':visible:not(.divider)').eq(0).addClass('active').find('a').focus(); + $(this).focus(); + }); + }, + + val: function (value) { + if (typeof value !== 'undefined') { + this.$element.val(value); + this.render(); + + return this.$element; + } else { + return this.$element.val(); + } + }, + + selectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').not('.selected').filter(':visible').find('a').click(); + }, + + deselectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').filter('.selected').filter(':visible').find('a').click(); + }, + + keydown: function (e) { + var $this = $(this), + $parent = ($this.is('input')) ? $this.parent().parent() : $this.parent(), + $items, + that = $parent.data('this'), + index, + next, + first, + last, + prev, + nextPrev, + prevIndex, + isActive, + keyCodeMap = { + 32: ' ', + 48: '0', + 49: '1', + 50: '2', + 51: '3', + 52: '4', + 53: '5', + 54: '6', + 55: '7', + 56: '8', + 57: '9', + 59: ';', + 65: 'a', + 66: 'b', + 67: 'c', + 68: 'd', + 69: 'e', + 70: 'f', + 71: 'g', + 72: 'h', + 73: 'i', + 74: 'j', + 75: 'k', + 76: 'l', + 77: 'm', + 78: 'n', + 79: 'o', + 80: 'p', + 81: 'q', + 82: 'r', + 83: 's', + 84: 't', + 85: 'u', + 86: 'v', + 87: 'w', + 88: 'x', + 89: 'y', + 90: 'z', + 96: '0', + 97: '1', + 98: '2', + 99: '3', + 100: '4', + 101: '5', + 102: '6', + 103: '7', + 104: '8', + 105: '9' + }; + + if (that.options.liveSearch) $parent = $this.parent().parent(); + + if (that.options.container) $parent = that.$menu; + + $items = $('[role=menu] li a', $parent); + + isActive = that.$menu.parent().hasClass('open'); + + if (!isActive && /([0-9]|[A-z])/.test(String.fromCharCode(e.keyCode))) { + if (!that.options.container) { + that.setSize(); + that.$menu.parent().addClass('open'); + isActive = true; + } else { + that.$newElement.trigger('click'); + } + that.$searchbox.focus(); + } + + if (that.options.liveSearch) { + if (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && that.$menu.find('.active').length === 0) { + e.preventDefault(); + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + $items = $('[role=menu] li:not(.divider):not(.dropdown-header):visible', $parent); + if (!$this.val() && !/(38|40)/.test(e.keyCode.toString(10))) { + if ($items.filter('.active').length === 0) { + if (that.options.searchAccentInsensitive) { + $items = that.$newElement.find('li').filter(':aicontains(' + normalizeToBase(keyCodeMap[e.keyCode]) + ')'); + } else { + $items = that.$newElement.find('li').filter(':icontains(' + keyCodeMap[e.keyCode] + ')'); + } + } + } + } + + if (!$items.length) return; + + if (/(38|40)/.test(e.keyCode.toString(10))) { + index = $items.index($items.filter(':focus')); + first = $items.parent(':not(.disabled):visible').first().index(); + last = $items.parent(':not(.disabled):visible').last().index(); + next = $items.eq(index).parent().nextAll(':not(.disabled):visible').eq(0).index(); + prev = $items.eq(index).parent().prevAll(':not(.disabled):visible').eq(0).index(); + nextPrev = $items.eq(next).parent().prevAll(':not(.disabled):visible').eq(0).index(); + + if (that.options.liveSearch) { + $items.each(function (i) { + if ($(this).is(':not(.disabled)')) { + $(this).data('index', i); + } + }); + index = $items.index($items.filter('.active')); + first = $items.filter(':not(.disabled):visible').first().data('index'); + last = $items.filter(':not(.disabled):visible').last().data('index'); + next = $items.eq(index).nextAll(':not(.disabled):visible').eq(0).data('index'); + prev = $items.eq(index).prevAll(':not(.disabled):visible').eq(0).data('index'); + nextPrev = $items.eq(next).prevAll(':not(.disabled):visible').eq(0).data('index'); + } + + prevIndex = $this.data('prevIndex'); + + if (e.keyCode == 38) { + if (that.options.liveSearch) index -= 1; + if (index != nextPrev && index > prev) index = prev; + if (index < first) index = first; + if (index == prevIndex) index = last; + } + + if (e.keyCode == 40) { + if (that.options.liveSearch) index += 1; + if (index == -1) index = 0; + if (index != nextPrev && index < next) index = next; + if (index > last) index = last; + if (index == prevIndex) index = first; + } + + $this.data('prevIndex', index); + + if (!that.options.liveSearch) { + $items.eq(index).focus(); + } else { + e.preventDefault(); + if (!$this.is('.dropdown-toggle')) { + $items.removeClass('active'); + $items.eq(index).addClass('active').find('a').focus(); + $this.focus(); + } + } + + } else if (!$this.is('input')) { + var keyIndex = [], + count, + prevKey; + + $items.each(function () { + if ($(this).parent().is(':not(.disabled)')) { + if ($.trim($(this).text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode]) { + keyIndex.push($(this).parent().index()); + } + } + }); + + count = $(document).data('keycount'); + count++; + $(document).data('keycount', count); + + prevKey = $.trim($(':focus').text().toLowerCase()).substring(0, 1); + + if (prevKey != keyCodeMap[e.keyCode]) { + count = 1; + $(document).data('keycount', count); + } else if (count >= keyIndex.length) { + $(document).data('keycount', 0); + if (count > keyIndex.length) count = 1; + } + + $items.eq(keyIndex[count - 1]).focus(); + } + + // Select focused option if "Enter", "Spacebar" or "Tab" (when selectOnTab is true) are pressed inside the menu. + if ((/(13|32)/.test(e.keyCode.toString(10)) || (/(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab)) && isActive) { + if (!/(32)/.test(e.keyCode.toString(10))) e.preventDefault(); + if (!that.options.liveSearch) { + var elem = $(':focus'); + elem.click(); + // Bring back focus for multiselects + elem.focus(); + // Prevent screen from scrolling if the user hit the spacebar + e.preventDefault(); + } else if (!/(32)/.test(e.keyCode.toString(10))) { + that.$menu.find('.active a').click(); + $this.focus(); + } + $(document).data('keycount', 0); + } + + if ((/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode.toString(10)) && !isActive)) { + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + }, + + mobile: function () { + this.$element.addClass('mobile-device').appendTo(this.$newElement); + if (this.options.container) this.$menu.hide(); + }, + + refresh: function () { + this.$lis = null; + this.reloadLi(); + this.render(); + this.setWidth(); + this.setStyle(); + this.checkDisabled(); + this.liHeight(); + }, + + hide: function () { + this.$newElement.hide(); + }, + + show: function () { + this.$newElement.show(); + }, + + remove: function () { + this.$newElement.remove(); + this.$element.remove(); + } + }; + + // SELECTPICKER PLUGIN DEFINITION + // ============================== + function Plugin(option, event) { + // get the args of the outer function.. + var args = arguments; + // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them + // to get lost + //noinspection JSDuplicatedDeclaration + var _option = option, + option = args[0], + event = args[1]; + [].shift.apply(args); + + // This fixes a bug in the js implementation on android 2.3 #715 + if (typeof option == 'undefined') { + option = _option; + } + + var value; + var chain = this.each(function () { + var $this = $(this); + if ($this.is('select')) { + var data = $this.data('selectpicker'), + options = typeof option == 'object' && option; + + if (!data) { + var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options); + $this.data('selectpicker', (data = new Selectpicker(this, config, event))); + } else if (options) { + for (var i in options) { + if (options.hasOwnProperty(i)) { + data.options[i] = options[i]; + } + } + } + + if (typeof option == 'string') { + if (data[option] instanceof Function) { + value = data[option].apply(data, args); + } else { + value = data.options[option]; + } + } + } + }); + + if (typeof value !== 'undefined') { + //noinspection JSUnusedAssignment + return value; + } else { + return chain; + } + } + + var old = $.fn.selectpicker; + $.fn.selectpicker = Plugin; + $.fn.selectpicker.Constructor = Selectpicker; + + // SELECTPICKER NO CONFLICT + // ======================== + $.fn.selectpicker.noConflict = function () { + $.fn.selectpicker = old; + return this; + }; + + $(document) + .data('keycount', 0) + .on('keydown', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', Selectpicker.prototype.keydown) + .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', function (e) { + e.stopPropagation(); + }); + + // SELECTPICKER DATA-API + // ===================== + $(window).on('load.bs.select.data-api', function () { + $('.selectpicker').each(function () { + var $selectpicker = $(this); + Plugin.call($selectpicker, $selectpicker.data()); + }) + }); +})(jQuery); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-cs_CZ.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-cs_CZ.js new file mode 100644 index 000000000..0a85ee481 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-cs_CZ.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: CS + * Region: CZ (Czech Republic) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic není vybráno', + noneResultsText: 'Žádné výsledky {0}', + countSelectedText: 'Označeno {0} z {1}', + maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-de_DE.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-de_DE.js new file mode 100644 index 000000000..a95d567fc --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-de_DE.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: DE (German, deutsch) + * Region: DE (Germany, Deutschland) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Bitte wählen...', + noneResultsText: 'Keine Ergebnisse für {0}', + countSelectedText: '{0} von {1} ausgewählt', + maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-en_US.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-en_US.js new file mode 100644 index 000000000..0697bc3b4 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-en_US.js @@ -0,0 +1,25 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: EN (English) + * Region: US (United States) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results match {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-es_CL.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-es_CL.js new file mode 100644 index 000000000..32a0cf802 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-es_CL.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: ES (Spanish) + * Region: CL (Chile) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'No hay selección', + noneResultsText: 'No hay resultados {0}', + countSelectedText: 'Seleccionados {0} de {1}', + maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-eu.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-eu.js new file mode 100644 index 000000000..4bb534f60 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-eu.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: EU (Basque) + * Region: + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hautapenik ez', + noneResultsText: 'Emaitzarik ez {0}', + countSelectedText: '{1}(e)tik {0} hautatuta', + maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-fr_FR.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-fr_FR.js new file mode 100644 index 000000000..e27337e37 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-fr_FR.js @@ -0,0 +1,23 @@ +/* +* Translated default messages for bootstrap-select. +* Locale: FR (French; Français) +* Region: FR (France) +*/ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Aucune sélection', + noneResultsText: 'Aucun résultat pour {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected > 1) ? "{0} éléments sélectionés" : "{0} élément sélectioné"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)'; + arr[1] = (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'; + + return arr; + }, + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-hu_HU.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-hu_HU.js new file mode 100644 index 000000000..6f5f18b6a --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-hu_HU.js @@ -0,0 +1,23 @@ +/* +* Translated default messages for bootstrap-select. +* Locale: HU (Hungarian) +* Region: HU (Hungary) +*/ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Válasszon!', + noneResultsText: 'Nincs találat {0}', + countSelectedText: function (numSelected, numTotal) { + return '{n} elem kiválasztva'; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = 'Legfeljebb {n} elem választható'; + arr[1] = 'A csoportban legfeljebb {n} elem választható'; + return arr; + }, + selectAllText: 'Mind', + deselectAllText: 'Egyik sem', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-it_IT.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-it_IT.js new file mode 100644 index 000000000..83d4f9935 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-it_IT.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: IT (Italian; italiano) + * Region: IT (Italy; Italia) + * Author: Michele Beltrame + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nessuna selezione', + noneResultsText: 'Nessun risultato per {0}', + countSelectedText: 'Selezionati {0} di {1}', + maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-nl_NL.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-nl_NL.js new file mode 100644 index 000000000..40bdfcbe0 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-nl_NL.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: NL (Dutch; Nederlands) + * Region: NL (Europe) + * Author: Daan Rosbergen (Badmuts) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Niets geselecteerd', + noneResultsText: 'Geen resultaten gevonden voor {0}', + countSelectedText: '{0} van {1} geselecteerd', + maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-pl_PL.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-pl_PL.js new file mode 100644 index 000000000..96a7abc47 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-pl_PL.js @@ -0,0 +1,16 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: PL (Polish) + * Region: EU (Europe) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic nie zaznaczono', + noneResultsText: 'Brak wyników wyszukiwania {0}', + countSelectedText: 'Zaznaczono {0} z {1}', + maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], + selectAll: 'Zaznacz wszystkie', + deselectAll: 'Odznacz wszystkie', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-pt_BR.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-pt_BR.js new file mode 100644 index 000000000..d11d7636d --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-pt_BR.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: PT (Portuguese; português) + * Region: BR (Brazil; Brasil) + * Author: Rodrigo de Avila + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nada selecionado', + noneResultsText: 'Nada encontrado contendo {0}', + countSelectedText: 'Selecionado {0} de {1}', + maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ro_RO.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ro_RO.js new file mode 100644 index 000000000..5e3167df6 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ro_RO.js @@ -0,0 +1,15 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: RO (Romanian) + * Region: RO (Romania) + * Alex Florea + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nu a fost selectat nimic', + noneResultsText: 'Nu exista niciun rezultat {0}', + countSelectedText: '{0} din {1} selectat(e)', + maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ru_RU.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ru_RU.js new file mode 100644 index 000000000..057dc5383 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ru_RU.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: RU (Russian; Русский) + * Region: RU (Russian Federation) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ничего не выбрано', + noneResultsText: 'Совпадений не найдено {0}', + countSelectedText: 'Выбрано {0} из {1}', + maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-tr_TR.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-tr_TR.js new file mode 100644 index 000000000..1cbfe5a1d --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-tr_TR.js @@ -0,0 +1,24 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: TR (Turkey) + * Region: TR (Europe) + * Author: Serhan Güney + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hiçbiri seçilmedi', + noneResultsText: 'Hiçbir sonuç bulunamadı {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)'; + arr[1] = (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'; + return arr; + }, + selectAllText: 'Tümünü Seç', + deselectAllText: 'Seçiniz', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ua_UA.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ua_UA.js new file mode 100644 index 000000000..2504df401 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-ua_UA.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: UA (Ukrainian; Українська) + * Region: UA (Ukraine) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Нічого не вибрано', + noneResultsText: 'Збігів не знайдено {0}', + countSelectedText: 'Вибрано {0} із {1}', + maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_CN.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_CN.js new file mode 100644 index 000000000..5aad7da61 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_CN.js @@ -0,0 +1,14 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: ZH (Chinese) + * Region: CN (China) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '没有选中任何项', + noneResultsText: '没有找到匹配项', + countSelectedText: '选中{1}中的{0}项', + maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_TW.js b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_TW.js new file mode 100644 index 000000000..28d2a1ed8 --- /dev/null +++ b/src/www/themes/sample/assets/javascripts/bootstrap-select/js/i18n/defaults-zh_TW.js @@ -0,0 +1,16 @@ +/* + * Translated default messages for bootstrap-select. + * Locale: ZH (Chinese) + * Region: TW (Taiwan) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '沒有選取任何項目', + noneResultsText: '沒有找到符合的結果', + countSelectedText: '已經選取{0}個項目', + maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], + selectAllText: '選取全部', + deselectAllText: '全部取消', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/assets/stylesheets/bootstrap-select/less/bootstrap-select.less b/src/www/themes/sample/assets/stylesheets/bootstrap-select/less/bootstrap-select.less new file mode 100644 index 000000000..273850e94 --- /dev/null +++ b/src/www/themes/sample/assets/stylesheets/bootstrap-select/less/bootstrap-select.less @@ -0,0 +1,329 @@ +@import "variables"; + +// Mixins +.cursor-disabled() { + cursor: not-allowed; +} + +// Rules +.bootstrap-select { + /*width: 220px\9; IE8 and below*/ + //noinspection CssShorthandPropertyValue + width: 220px \0; /*IE9 and below*/ + + // The selectpicker button + > .btn { + width: 100%; + padding-right: 25px; + } + + // Error display + .error & .btn { + border: 1px solid @color-red-error; + } + + // Error display + .control-group.error & .dropdown-toggle { + border-color: @color-red-error; + } + + &.fit-width { + width: auto !important; + } + + &:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: @width-default; + } + + .btn:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; + } +} + +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; + + &:not([class*="col-"]) { + width: 100%; + } +} + +// The selectpicker components +.bootstrap-select.btn-group { + &:not(.input-group-btn), + &[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; + } + + // Forces the pull to the right, if necessary + &, + &[class*="col-"], + .row-fluid &[class*="col-"] { + &.dropdown-menu-right { + float: right; + } + } + + .form-search &, + .form-inline &, + .form-horizontal &, + .form-group & { + margin-bottom: 0; + } + + .form-group-lg &.form-control, + .form-group-sm &.form-control { + padding: 0; + } + + // Set the width of the live search (and any other form control within an inline form) + // see https://github.com/silviomoreto/bootstrap-select/issues/685 + .form-inline & .form-control { + width: 100%; + } + + .input-append & { + margin-left: -1px; + } + + .input-prepend & { + margin-right: -1px; + } + + > .disabled { + .cursor-disabled(); + + &:focus { + outline: none !important; + } + } + + // The selectpicker button + .btn { + .filter-option { + display: inline-block; + overflow: hidden; + width: 100%; + text-align: left; + } + + .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; + } + } + + &[class*="col-"] .btn { + width: 100%; + } + + // The selectpicker dropdown + .dropdown-menu { + min-width: 100%; + z-index: @zindex-select-dropdown; + box-sizing: border-box; + + &.inner { + position: static; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + box-shadow: none; + } + + li { + position: relative; + + &:not(.disabled) a:hover small, + &:not(.disabled) a:focus small, + &.active:not(.disabled) a small { + color: @color-blue-hover; + } + + &.disabled a { + .cursor-disabled(); + } + + a { + cursor: pointer; + + &.opt { + position: relative; + padding-left: 2.25em; + } + + span.check-mark { + display: none; + } + span.text { + display: inline-block; + } + } + + small { + padding-left: 0.5em; + } + } + + .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: rgb(245, 245, 245); + border: 1px solid rgb(227, 227, 227); + box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%); + pointer-events: none; + opacity: 0.9; + box-sizing: border-box; + } + } + + .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; + } + + &.fit-width .btn { + .filter-option { + position: static; + } + + .caret { + position: static; + top: auto; + margin-top: -1px; + } + } + + &.show-tick .dropdown-menu li { + &.selected a span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + margin-top: 5px; + } + + a span.text { + margin-right: 34px; + } + } +} + +.bootstrap-select.show-menu-arrow { + &.open > .btn { + z-index: (@zindex-select-dropdown + 1); + } + + .dropdown-toggle { + &:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom-width: 7px; + border-bottom-style: solid; + border-bottom-color: @color-grey-arrow; + position: absolute; + bottom: -4px; + left: 9px; + display: none; + } + + &:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; + } + } + + &.dropup .dropdown-toggle { + &:before { + bottom: auto; + top: -3px; + border-bottom: 0; + border-top-width: 7px; + border-top-style: solid; + border-top-color: @color-grey-arrow; + } + + &:after { + bottom: auto; + top: -3px; + border-top: 6px solid white; + border-bottom: 0; + } + } + + &.pull-right .dropdown-toggle { + &:before { + right: 12px; + left: auto; + } + + &:after { + right: 13px; + left: auto; + } + } + + &.open > .dropdown-toggle { + &:before, + &:after { + display: block; + } + } +} + +.bs-searchbox, +.bs-actionsbox { + padding: 4px 8px; +} + +.bs-actionsbox { + float: left; + width: 100%; + box-sizing: border-box; + + & .btn-group button { + width: 50%; + } +} + +.bs-searchbox { + & + .bs-actionsbox { + padding: 0 8px 4px; + } + + & input.form-control { + margin-bottom: 0; + width: 100%; + } +} + +.mobile-device { + position: absolute; + top: 0; + left: 0; + display: block !important; + width: 100%; + height: 100% !important; + opacity: 0; +} diff --git a/src/www/themes/sample/assets/stylesheets/bootstrap-select/less/variables.less b/src/www/themes/sample/assets/stylesheets/bootstrap-select/less/variables.less new file mode 100644 index 000000000..9b635773c --- /dev/null +++ b/src/www/themes/sample/assets/stylesheets/bootstrap-select/less/variables.less @@ -0,0 +1,7 @@ +@color-red-error: rgb(185, 74, 72); +@color-blue-hover: rgba(100, 177, 216, 0.4); +@color-grey-arrow: rgba(204, 204, 204, 0.2); + +@width-default: 220px; // 3 960px-grid columns + +@zindex-select-dropdown: 1035; // must be lower than a modal background (1040) but higher than the fixed navbar (1030) diff --git a/src/www/themes/sample/assets/stylesheets/config.codekit b/src/www/themes/sample/assets/stylesheets/config.codekit deleted file mode 100644 index 7d41689e3..000000000 --- a/src/www/themes/sample/assets/stylesheets/config.codekit +++ /dev/null @@ -1,1953 +0,0 @@ -{ -"CodeKitInfo": "This is a CodeKit 2.x project configuration file. It is designed to sync project settings across multiple machines. MODIFYING THE CONTENTS OF THIS FILE IS A POOR LIFE DECISION. If you do so, you will likely cause CodeKit to crash. This file is not useful unless accompanied by the project that created it in CodeKit 2. This file is not backwards-compatible with CodeKit 1.x. For more information, see: http:\/\/incident57.com\/codekit", -"creatorBuild": "18270", -"files": { - "\/_bootstrap-compass.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/_bootstrap-compass.scss", - "outputAbbreviatedPath": "\/css\/_bootstrap-compass.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/_bootstrap-mincer.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/_bootstrap-mincer.scss", - "outputAbbreviatedPath": "\/css\/_bootstrap-mincer.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/_bootstrap-sprockets.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/_bootstrap-sprockets.scss", - "outputAbbreviatedPath": "\/css\/_bootstrap-sprockets.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_alerts.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_alerts.scss", - "outputAbbreviatedPath": "\/css\/_alerts.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_badges.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_badges.scss", - "outputAbbreviatedPath": "\/css\/_badges.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_breadcrumbs.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_breadcrumbs.scss", - "outputAbbreviatedPath": "\/css\/_breadcrumbs.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_button-groups.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_button-groups.scss", - "outputAbbreviatedPath": "\/css\/_button-groups.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_buttons.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_buttons.scss", - "outputAbbreviatedPath": "\/css\/_buttons.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_carousel.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_carousel.scss", - "outputAbbreviatedPath": "\/css\/_carousel.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_close.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_close.scss", - "outputAbbreviatedPath": "\/css\/_close.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_code.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_code.scss", - "outputAbbreviatedPath": "\/css\/_code.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_component-animations.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_component-animations.scss", - "outputAbbreviatedPath": "\/css\/_component-animations.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_dropdowns.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_dropdowns.scss", - "outputAbbreviatedPath": "\/css\/_dropdowns.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_forms.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_forms.scss", - "outputAbbreviatedPath": "\/css\/_forms.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_glyphicons.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_glyphicons.scss", - "outputAbbreviatedPath": "\/css\/_glyphicons.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_grid.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_grid.scss", - "outputAbbreviatedPath": "\/css\/_grid.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_input-groups.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_input-groups.scss", - "outputAbbreviatedPath": "\/css\/_input-groups.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_jumbotron.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_jumbotron.scss", - "outputAbbreviatedPath": "\/css\/_jumbotron.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_labels.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_labels.scss", - "outputAbbreviatedPath": "\/css\/_labels.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_list-group.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_list-group.scss", - "outputAbbreviatedPath": "\/css\/_list-group.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_media.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_media.scss", - "outputAbbreviatedPath": "\/css\/_media.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_mixins.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_mixins.scss", - "outputAbbreviatedPath": "\/css\/_mixins.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_modals.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_modals.scss", - "outputAbbreviatedPath": "\/css\/_modals.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_navbar.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_navbar.scss", - "outputAbbreviatedPath": "\/css\/_navbar.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_navs.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_navs.scss", - "outputAbbreviatedPath": "\/css\/_navs.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_normalize.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_normalize.scss", - "outputAbbreviatedPath": "\/css\/_normalize.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_pager.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_pager.scss", - "outputAbbreviatedPath": "\/css\/_pager.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_pagination.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_pagination.scss", - "outputAbbreviatedPath": "\/css\/_pagination.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_panels.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_panels.scss", - "outputAbbreviatedPath": "\/css\/_panels.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_popovers.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_popovers.scss", - "outputAbbreviatedPath": "\/css\/_popovers.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_print.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_print.scss", - "outputAbbreviatedPath": "\/css\/_print.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_progress-bars.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_progress-bars.scss", - "outputAbbreviatedPath": "\/css\/_progress-bars.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_responsive-embed.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_responsive-embed.scss", - "outputAbbreviatedPath": "\/css\/_responsive-embed.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_responsive-utilities.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_responsive-utilities.scss", - "outputAbbreviatedPath": "\/css\/_responsive-utilities.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_scaffolding.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_scaffolding.scss", - "outputAbbreviatedPath": "\/css\/_scaffolding.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_tables.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_tables.scss", - "outputAbbreviatedPath": "\/css\/_tables.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_theme.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_theme.scss", - "outputAbbreviatedPath": "\/css\/_theme.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_thumbnails.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_thumbnails.scss", - "outputAbbreviatedPath": "\/css\/_thumbnails.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_tooltip.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_tooltip.scss", - "outputAbbreviatedPath": "\/css\/_tooltip.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_type.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_type.scss", - "outputAbbreviatedPath": "\/css\/_type.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_utilities.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_utilities.scss", - "outputAbbreviatedPath": "\/css\/_utilities.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_variables.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_variables.scss", - "outputAbbreviatedPath": "\/css\/_variables.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/_wells.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/_wells.scss", - "outputAbbreviatedPath": "\/css\/_wells.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_alerts.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_alerts.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_alerts.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_background-variant.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_background-variant.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_background-variant.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_border-radius.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_border-radius.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_border-radius.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_buttons.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_buttons.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_buttons.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_center-block.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_center-block.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_center-block.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_clearfix.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_clearfix.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_clearfix.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_forms.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_forms.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_forms.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_gradients.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_gradients.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_gradients.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_grid-framework.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_grid-framework.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_grid-framework.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_grid.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_grid.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_grid.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_hide-text.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_hide-text.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_hide-text.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_image.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_image.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_image.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_labels.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_labels.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_labels.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_list-group.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_list-group.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_list-group.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_nav-divider.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_nav-divider.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_nav-divider.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_nav-vertical-align.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_nav-vertical-align.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_nav-vertical-align.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_opacity.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_opacity.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_opacity.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_pagination.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_pagination.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_pagination.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_panels.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_panels.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_panels.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_progress-bar.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_progress-bar.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_progress-bar.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_reset-filter.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_reset-filter.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_reset-filter.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_resize.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_resize.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_resize.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_responsive-visibility.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_responsive-visibility.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_responsive-visibility.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_size.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_size.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_size.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_tab-focus.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_tab-focus.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_tab-focus.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_table-row.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_table-row.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_table-row.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_text-emphasis.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_text-emphasis.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_text-emphasis.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_text-overflow.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_text-overflow.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_text-overflow.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/bootstrap\/mixins\/_vendor-prefixes.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 1, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/bootstrap\/mixins\/_vendor-prefixes.scss", - "outputAbbreviatedPath": "\/bootstrap\/css\/_vendor-prefixes.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - }, - "\/main.scss": { - "createSourceMap": 0, - "debugStyle": 0, - "decimalPrecision": 10, - "fileType": 4, - "ignore": 0, - "ignoreWasSetByUser": 0, - "inputAbbreviatedPath": "\/main.scss", - "outputAbbreviatedPath": "\/css\/main.css", - "outputPathIsOutsideProject": 0, - "outputPathIsSetByUser": 0, - "outputStyle": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "useLibsass": 0 - } - }, -"hooks": [ - ], -"lastSavedByUser": "Jos Schellevis", -"manualImportLinks": { - }, -"projectAttributes": { - "bowerAbbreviatedPath": "", - "displayValue": "stylesheets", - "displayValueWasSetByUser": 0, - "iconImageName": "compass_orange" - }, -"projectSettings": { - "alwaysUseExternalServer": 0, - "animateCSSInjections": 1, - "autoApplyPSLanguageSettingsStyle": 0, - "autoprefixerBrowserString": "> 1%, last 2 versions, Firefox ESR, Opera 12.1", - "autoSyncProjectSettingsFile": 1, - "browserRefreshDelay": 0, - "coffeeAutoOutputPathEnabled": 1, - "coffeeAutoOutputPathFilenamePattern": "*.js", - "coffeeAutoOutputPathRelativePath": "", - "coffeeAutoOutputPathReplace1": "", - "coffeeAutoOutputPathReplace2": "", - "coffeeAutoOutputPathStyle": 0, - "coffeeCreateSourceMap": 0, - "coffeeLintFlags2": { - "arrow_spacing": { - "active": 0, - "flagValue": -1 - }, - "camel_case_classes": { - "active": 1, - "flagValue": -1 - }, - "colon_assignment_spacing": { - "active": 0, - "flagValue": 1 - }, - "cyclomatic_complexity": { - "active": 0, - "flagValue": 10 - }, - "duplicate_key": { - "active": 1, - "flagValue": -1 - }, - "empty_constructor_needs_parens": { - "active": 0, - "flagValue": -1 - }, - "indentation": { - "active": 1, - "flagValue": 2 - }, - "line_endings": { - "active": 0, - "flagValue": 0 - }, - "max_line_length": { - "active": 0, - "flagValue": 150 - }, - "missing_fat_arrows": { - "active": 0, - "flagValue": -1 - }, - "newlines_after_classes": { - "active": 0, - "flagValue": 3 - }, - "no_backticks": { - "active": 1, - "flagValue": -1 - }, - "no_debugger": { - "active": 1, - "flagValue": -1 - }, - "no_empty_functions": { - "active": 0, - "flagValue": -1 - }, - "no_empty_param_list": { - "active": 0, - "flagValue": -1 - }, - "no_implicit_braces": { - "active": 1, - "flagValue": -1 - }, - "no_implicit_parens": { - "active": 0, - "flagValue": -1 - }, - "no_interpolation_in_single_quotes": { - "active": 0, - "flagValue": -1 - }, - "no_plusplus": { - "active": 0, - "flagValue": -1 - }, - "no_stand_alone_at": { - "active": 1, - "flagValue": -1 - }, - "no_tabs": { - "active": 1, - "flagValue": -1 - }, - "no_throwing_strings": { - "active": 1, - "flagValue": -1 - }, - "no_trailing_semicolons": { - "active": 1, - "flagValue": -1 - }, - "no_trailing_whitespace": { - "active": 1, - "flagValue": -1 - }, - "no_unnecessary_double_quotes": { - "active": 0, - "flagValue": -1 - }, - "no_unnecessary_fat_arrows": { - "active": 1, - "flagValue": -1 - }, - "non_empty_constructor_needs_parens": { - "active": 0, - "flagValue": -1 - }, - "prefer_english_operator": { - "active": 0, - "flagValue": -1 - }, - "space_operators": { - "active": 0, - "flagValue": -1 - } - }, - "coffeeMinifyOutput": 1, - "coffeeOutputStyle": 0, - "coffeeSyntaxCheckerStyle": 1, - "externalServerAddress": "http:\/\/localhost:8888", - "externalServerPreviewPathAddition": "", - "genericWebpageFileExtensionsString": "html, htm, shtml, shtm, xhtml, php, jsp, asp, aspx, erb, ctp", - "hamlAutoOutputPathEnabled": 1, - "hamlAutoOutputPathFilenamePattern": "*.html", - "hamlAutoOutputPathRelativePath": "", - "hamlAutoOutputPathReplace1": "", - "hamlAutoOutputPathReplace2": "", - "hamlAutoOutputPathStyle": 0, - "hamlEscapeHTMLCharacters": 0, - "hamlNoEscapeInAttributes": 0, - "hamlOutputFormat": 2, - "hamlOutputStyle": 0, - "hamlUseCDATA": 0, - "hamlUseDoubleQuotes": 0, - "hamlUseUnixNewlines": 0, - "jadeAutoOutputPathEnabled": 1, - "jadeAutoOutputPathFilenamePattern": "*.html", - "jadeAutoOutputPathRelativePath": "", - "jadeAutoOutputPathReplace1": "", - "jadeAutoOutputPathReplace2": "", - "jadeAutoOutputPathStyle": 0, - "jadeCompileDebug": 1, - "jadeOutputStyle": 0, - "javascriptAutoOutputPathEnabled": 1, - "javascriptAutoOutputPathFilenamePattern": "*-min.js", - "javascriptAutoOutputPathRelativePath": "\/min", - "javascriptAutoOutputPathReplace1": "", - "javascriptAutoOutputPathReplace2": "", - "javascriptAutoOutputPathStyle": 2, - "javascriptCreateSourceMap": 1, - "javascriptOutputStyle": 1, - "javascriptSyntaxCheckerStyle": 1, - "jsCheckerReservedNamesString": "", - "jsHintFlags2": { - "asi": { - "active": 0, - "flagValue": -1 - }, - "bitwise": { - "active": 1, - "flagValue": -1 - }, - "boss": { - "active": 0, - "flagValue": -1 - }, - "browser": { - "active": 1, - "flagValue": -1 - }, - "camelcase": { - "active": 0, - "flagValue": -1 - }, - "couch": { - "active": 0, - "flagValue": -1 - }, - "curly": { - "active": 1, - "flagValue": -1 - }, - "debug": { - "active": 0, - "flagValue": -1 - }, - "devel": { - "active": 0, - "flagValue": -1 - }, - "dojo": { - "active": 0, - "flagValue": -1 - }, - "eqeqeq": { - "active": 1, - "flagValue": -1 - }, - "eqnull": { - "active": 0, - "flagValue": -1 - }, - "es3": { - "active": 0, - "flagValue": -1 - }, - "esnext": { - "active": 0, - "flagValue": -1 - }, - "evil": { - "active": 0, - "flagValue": -1 - }, - "expr": { - "active": 0, - "flagValue": -1 - }, - "forin": { - "active": 0, - "flagValue": -1 - }, - "freeze": { - "active": 1, - "flagValue": -1 - }, - "funcscope": { - "active": 0, - "flagValue": -1 - }, - "globalstrict": { - "active": 0, - "flagValue": -1 - }, - "immed": { - "active": 0, - "flagValue": -1 - }, - "indent": { - "active": 0, - "flagValue": 4 - }, - "iterator": { - "active": 0, - "flagValue": -1 - }, - "jquery": { - "active": 1, - "flagValue": -1 - }, - "lastsemic": { - "active": 0, - "flagValue": -1 - }, - "latedef": { - "active": 1, - "flagValue": -1 - }, - "laxbreak": { - "active": 0, - "flagValue": -1 - }, - "laxcomma": { - "active": 0, - "flagValue": -1 - }, - "loopfunc": { - "active": 0, - "flagValue": -1 - }, - "maxcomplexity": { - "active": 0, - "flagValue": 10 - }, - "maxdepth": { - "active": 0, - "flagValue": 3 - }, - "maxlen": { - "active": 0, - "flagValue": 150 - }, - "maxparams": { - "active": 0, - "flagValue": 3 - }, - "maxstatements": { - "active": 0, - "flagValue": 4 - }, - "mootools": { - "active": 0, - "flagValue": -1 - }, - "moz": { - "active": 0, - "flagValue": -1 - }, - "multistr": { - "active": 0, - "flagValue": -1 - }, - "newcap": { - "active": 1, - "flagValue": -1 - }, - "noarg": { - "active": 1, - "flagValue": -1 - }, - "node": { - "active": 0, - "flagValue": -1 - }, - "noempty": { - "active": 0, - "flagValue": -1 - }, - "nonbsp": { - "active": 0, - "flagValue": -1 - }, - "nonew": { - "active": 1, - "flagValue": -1 - }, - "nonstandard": { - "active": 0, - "flagValue": -1 - }, - "notypeof": { - "active": 1, - "flagValue": -1 - }, - "noyield": { - "active": 0, - "flagValue": -1 - }, - "onecase": { - "active": 0, - "flagValue": -1 - }, - "phantom": { - "active": 0, - "flagValue": -1 - }, - "plusplus": { - "active": 0, - "flagValue": -1 - }, - "proto": { - "active": 0, - "flagValue": -1 - }, - "prototypejs": { - "active": 0, - "flagValue": -1 - }, - "regexp": { - "active": 1, - "flagValue": -1 - }, - "rhino": { - "active": 0, - "flagValue": -1 - }, - "scripturl": { - "active": 0, - "flagValue": -1 - }, - "shadow": { - "active": 0, - "flagValue": -1 - }, - "shelljs": { - "active": 0, - "flagValue": -1 - }, - "singleGroups": { - "active": 0, - "flagValue": -1 - }, - "strict": { - "active": 0, - "flagValue": -1 - }, - "sub": { - "active": 0, - "flagValue": -1 - }, - "supernew": { - "active": 0, - "flagValue": -1 - }, - "typed": { - "active": 0, - "flagValue": -1 - }, - "undef": { - "active": 1, - "flagValue": -1 - }, - "unused": { - "active": 1, - "flagValue": -1 - }, - "withstmt": { - "active": 0, - "flagValue": -1 - }, - "worker": { - "active": 0, - "flagValue": -1 - }, - "wsh": { - "active": 0, - "flagValue": -1 - }, - "yui": { - "active": 0, - "flagValue": -1 - } - }, - "jsLintFlags2": { - "ass": { - "active": 0, - "flagValue": -1 - }, - "bitwise": { - "active": 0, - "flagValue": -1 - }, - "browser": { - "active": 1, - "flagValue": -1 - }, - "closure": { - "active": 0, - "flagValue": -1 - }, - "continue": { - "active": 0, - "flagValue": -1 - }, - "debug": { - "active": 0, - "flagValue": -1 - }, - "devel": { - "active": 0, - "flagValue": -1 - }, - "eqeq": { - "active": 0, - "flagValue": -1 - }, - "evil": { - "active": 0, - "flagValue": -1 - }, - "forin": { - "active": 0, - "flagValue": -1 - }, - "indent": { - "active": 0, - "flagValue": 4 - }, - "maxlen": { - "active": 0, - "flagValue": 150 - }, - "newcap": { - "active": 0, - "flagValue": -1 - }, - "node": { - "active": 0, - "flagValue": -1 - }, - "nomen": { - "active": 0, - "flagValue": -1 - }, - "plusplus": { - "active": 0, - "flagValue": -1 - }, - "properties": { - "active": 0, - "flagValue": -1 - }, - "regexp": { - "active": 0, - "flagValue": -1 - }, - "rhino": { - "active": 0, - "flagValue": -1 - }, - "sloppy": { - "active": 0, - "flagValue": -1 - }, - "stupid": { - "active": 0, - "flagValue": -1 - }, - "sub": { - "active": 0, - "flagValue": -1 - }, - "todo": { - "active": 0, - "flagValue": -1 - }, - "unparam": { - "active": 0, - "flagValue": -1 - }, - "vars": { - "active": 0, - "flagValue": -1 - }, - "white": { - "active": 0, - "flagValue": -1 - } - }, - "kitAutoOutputPathEnabled": 1, - "kitAutoOutputPathFilenamePattern": "*.html", - "kitAutoOutputPathRelativePath": "", - "kitAutoOutputPathReplace1": "", - "kitAutoOutputPathReplace2": "", - "kitAutoOutputPathStyle": 0, - "lessAllowInsecureImports": 0, - "lessAutoOutputPathEnabled": 1, - "lessAutoOutputPathFilenamePattern": "*.css", - "lessAutoOutputPathRelativePath": "..\/css", - "lessAutoOutputPathReplace1": "less", - "lessAutoOutputPathReplace2": "css", - "lessAutoOutputPathStyle": 2, - "lessCreateSourceMap": 0, - "lessDisableJavascript": 0, - "lessIeCompatibility": 1, - "lessOutputStyle": 0, - "lessRelativeURLS": 0, - "lessStrictImports": 0, - "lessStrictMath": 0, - "lessStrictUnits": 0, - "markdownAutoOutputPathEnabled": 1, - "markdownAutoOutputPathFilenamePattern": "*.html", - "markdownAutoOutputPathRelativePath": "", - "markdownAutoOutputPathReplace1": "", - "markdownAutoOutputPathReplace2": "", - "markdownAutoOutputPathStyle": 0, - "markdownEnableFootnotes": 0, - "markdownEnableSmartyPants": 1, - "markdownExpandTabs": 1, - "reloadFileURLs": 0, - "sassAutoOutputPathEnabled": 1, - "sassAutoOutputPathFilenamePattern": "*.css", - "sassAutoOutputPathRelativePath": "..\/css", - "sassAutoOutputPathReplace1": "sass", - "sassAutoOutputPathReplace2": "css", - "sassAutoOutputPathStyle": 2, - "sassCreateSourceMap": 0, - "sassDebugStyle": 0, - "sassDecimalPrecision": 10, - "sassOutputStyle": 0, - "sassUseLibsass": 0, - "shouldRunAutoprefixer": 0, - "shouldRunBless": 0, - "skippedItemsString": ".svn, .git, .hg, log, _logs, _cache, cache, logs, node_modules", - "slimAutoOutputPathEnabled": 1, - "slimAutoOutputPathFilenamePattern": "*.html", - "slimAutoOutputPathRelativePath": "", - "slimAutoOutputPathReplace1": "", - "slimAutoOutputPathReplace2": "", - "slimAutoOutputPathStyle": 0, - "slimCompileOnly": 0, - "slimLogicless": 0, - "slimOutputStyle": 1, - "slimRailsCompatible": 0, - "stylusAutoOutputPathEnabled": 1, - "stylusAutoOutputPathFilenamePattern": "*.css", - "stylusAutoOutputPathRelativePath": "..\/css", - "stylusAutoOutputPathReplace1": "stylus", - "stylusAutoOutputPathReplace2": "css", - "stylusAutoOutputPathStyle": 2, - "stylusCreateSourceMap": 0, - "stylusDebugStyle": 0, - "stylusImportCSS": 0, - "stylusOutputStyle": 0, - "stylusResolveRelativeURLS": 0, - "typescriptAutoOutputPathEnabled": 1, - "typescriptAutoOutputPathFilenamePattern": "*.js", - "typescriptAutoOutputPathRelativePath": "\/js", - "typescriptAutoOutputPathReplace1": "", - "typescriptAutoOutputPathReplace2": "", - "typescriptAutoOutputPathStyle": 2, - "typescriptCreateDeclarationFile": 0, - "typescriptCreateSourceMap": 0, - "typescriptMinifyOutput": 0, - "typescriptModuleType": 0, - "typescriptNoImplicitAny": 0, - "typescriptNoResolve": 0, - "typescriptRemoveComments": 0, - "typescriptTargetECMAVersion": 0, - "uglifyDefinesString": "", - "uglifyFlags2": { - "ascii-only": { - "active": 0, - "flagValue": -1 - }, - "booleans": { - "active": 1, - "flagValue": -1 - }, - "bracketize": { - "active": 0, - "flagValue": -1 - }, - "cascade": { - "active": 1, - "flagValue": -1 - }, - "comments": { - "active": 1, - "flagValue": -1 - }, - "comparisons": { - "active": 1, - "flagValue": -1 - }, - "compress": { - "active": 1, - "flagValue": -1 - }, - "conditionals": { - "active": 1, - "flagValue": -1 - }, - "dead_code": { - "active": 0, - "flagValue": -1 - }, - "drop_debugger": { - "active": 1, - "flagValue": -1 - }, - "eval": { - "active": 0, - "flagValue": -1 - }, - "evaluate": { - "active": 1, - "flagValue": -1 - }, - "hoist_funs": { - "active": 1, - "flagValue": -1 - }, - "hoist_vars": { - "active": 0, - "flagValue": -1 - }, - "if_return": { - "active": 1, - "flagValue": -1 - }, - "indent-level": { - "active": 0, - "flagValue": 4 - }, - "indent-start": { - "active": 0, - "flagValue": 0 - }, - "inline-script": { - "active": 0, - "flagValue": -1 - }, - "join_vars": { - "active": 1, - "flagValue": -1 - }, - "loops": { - "active": 1, - "flagValue": -1 - }, - "mangle": { - "active": 1, - "flagValue": -1 - }, - "max-line-len": { - "active": 1, - "flagValue": 32000 - }, - "properties": { - "active": 1, - "flagValue": -1 - }, - "quote-keys": { - "active": 0, - "flagValue": -1 - }, - "screw-ie8": { - "active": 0, - "flagValue": -1 - }, - "semicolons": { - "active": 1, - "flagValue": -1 - }, - "sequences": { - "active": 1, - "flagValue": -1 - }, - "sort": { - "active": 0, - "flagValue": -1 - }, - "space-colon": { - "active": 1, - "flagValue": -1 - }, - "toplevel": { - "active": 0, - "flagValue": -1 - }, - "unsafe": { - "active": 0, - "flagValue": -1 - }, - "unused": { - "active": 0, - "flagValue": -1 - }, - "warnings": { - "active": 0, - "flagValue": -1 - }, - "width": { - "active": 1, - "flagValue": 80 - } - }, - "uglifyReservedNamesString": "$", - "websiteRelativeRoot": "" - }, -"settingsFileVersion": "2" -} diff --git a/src/www/themes/sample/assets/stylesheets/main.scss b/src/www/themes/sample/assets/stylesheets/main.scss index 2f0d1a1a2..d1fe8265c 100755 --- a/src/www/themes/sample/assets/stylesheets/main.scss +++ b/src/www/themes/sample/assets/stylesheets/main.scss @@ -2,7 +2,7 @@ $colors: ( orange: #EA7105, lightgrey: #F7F7F7, lightergrey: #FBFBFB, - darkgrey: #3b3b3c, + darkgrey: #3C3C3B, bordergrey: #E5E5E5, ); @@ -15,20 +15,20 @@ $zindex: ( @font-face { font-family: 'SourceSansProBold'; - src: url('../../build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.woff') format('woff'), - url('../../build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.ttf') format('truetype'); + src: url('/themes/opnsense/build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.woff') format('woff'), + url('/themes/opnsense/build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.ttf') format('truetype'); } @font-face { font-family: 'SourceSansProSemibold'; - src: url('../../build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.woff') format('woff'), - url('../../build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.ttf') format('truetype'); + src: url('/themes/opnsense/build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.woff') format('woff'), + url('/themes/opnsense/build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.ttf') format('truetype'); } @font-face { font-family: 'SourceSansProRegular'; - src: url('../../build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.woff') format('woff'), - url('../../build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.ttf') format('truetype'); + src: url('/themes/opnsense/build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.woff') format('woff'), + url('/themes/opnsense/build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.ttf') format('truetype'); } // Core variables and mixins @@ -553,3 +553,8 @@ table{ ::-webkit-scrollbar-thumb:hover { background:#e5e5e5; } + +.widgetdiv { + padding-top:0px !important; + padding-bottom:20px; +} diff --git a/src/www/themes/sample/build/css/bootstrap-select.css b/src/www/themes/sample/build/css/bootstrap-select.css new file mode 100644 index 000000000..e42e761a6 --- /dev/null +++ b/src/www/themes/sample/build/css/bootstrap-select.css @@ -0,0 +1,257 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ + +.bootstrap-select { + /*width: 220px\9; IE8 and below*/ + width: 220px \0; + /*IE9 and below*/ +} +.bootstrap-select > .btn { + width: 100%; + padding-right: 25px; +} +.error .bootstrap-select .btn { + border: 1px solid #b94a48; +} +.control-group.error .bootstrap-select .dropdown-toggle { + border-color: #b94a48; +} +.bootstrap-select.fit-width { + width: auto !important; +} +.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { + width: 220px; +} +.bootstrap-select .btn:focus { + outline: thin dotted #333333 !important; + outline: 5px auto -webkit-focus-ring-color !important; + outline-offset: -2px; +} +.bootstrap-select.form-control { + margin-bottom: 0; + padding: 0; + border: none; +} +.bootstrap-select.form-control:not([class*="col-"]) { + width: 100%; +} +.bootstrap-select.btn-group:not(.input-group-btn), +.bootstrap-select.btn-group[class*="col-"] { + float: none; + display: inline-block; + margin-left: 0; +} +.bootstrap-select.btn-group.dropdown-menu-right, +.bootstrap-select.btn-group[class*="col-"].dropdown-menu-right, +.row-fluid .bootstrap-select.btn-group[class*="col-"].dropdown-menu-right { + float: right; +} +.form-search .bootstrap-select.btn-group, +.form-inline .bootstrap-select.btn-group, +.form-horizontal .bootstrap-select.btn-group, +.form-group .bootstrap-select.btn-group { + margin-bottom: 0; +} +.form-group-lg .bootstrap-select.btn-group.form-control, +.form-group-sm .bootstrap-select.btn-group.form-control { + padding: 0; +} +.form-inline .bootstrap-select.btn-group .form-control { + width: 100%; +} +.input-append .bootstrap-select.btn-group { + margin-left: -1px; +} +.input-prepend .bootstrap-select.btn-group { + margin-right: -1px; +} +.bootstrap-select.btn-group > .disabled { + cursor: not-allowed; +} +.bootstrap-select.btn-group > .disabled:focus { + outline: none !important; +} +.bootstrap-select.btn-group .btn .filter-option { + display: inline-block; + overflow: hidden; + width: 100%; + text-align: left; +} +.bootstrap-select.btn-group .btn .caret { + position: absolute; + top: 50%; + right: 12px; + margin-top: -2px; + vertical-align: middle; +} +.bootstrap-select.btn-group[class*="col-"] .btn { + width: 100%; +} +.bootstrap-select.btn-group .dropdown-menu { + min-width: 100%; + z-index: 1035; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bootstrap-select.btn-group .dropdown-menu.inner { + position: static; + border: 0; + padding: 0; + margin: 0; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; +} +.bootstrap-select.btn-group .dropdown-menu li { + position: relative; +} +.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small, +.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small, +.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small { + color: rgba(100, 177, 216, 0.4); +} +.bootstrap-select.btn-group .dropdown-menu li.disabled a { + cursor: not-allowed; +} +.bootstrap-select.btn-group .dropdown-menu li a { + cursor: pointer; +} +.bootstrap-select.btn-group .dropdown-menu li a.opt { + position: relative; + padding-left: 2.25em; +} +.bootstrap-select.btn-group .dropdown-menu li a span.check-mark { + display: none; +} +.bootstrap-select.btn-group .dropdown-menu li a span.text { + display: inline-block; +} +.bootstrap-select.btn-group .dropdown-menu li small { + padding-left: 0.5em; +} +.bootstrap-select.btn-group .dropdown-menu .notify { + position: absolute; + bottom: 5px; + width: 96%; + margin: 0 2%; + min-height: 26px; + padding: 3px 5px; + background: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + pointer-events: none; + opacity: 0.9; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bootstrap-select.btn-group .no-results { + padding: 3px; + background: #f5f5f5; + margin: 0 5px; +} +.bootstrap-select.btn-group.fit-width .btn .filter-option { + position: static; +} +.bootstrap-select.btn-group.fit-width .btn .caret { + position: static; + top: auto; + margin-top: -1px; +} +.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark { + position: absolute; + display: inline-block; + right: 15px; + margin-top: 5px; +} +.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text { + margin-right: 34px; +} +.bootstrap-select.show-menu-arrow.open > .btn { + z-index: 1036; +} +.bootstrap-select.show-menu-arrow .dropdown-toggle:before { + content: ''; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom-width: 7px; + border-bottom-style: solid; + border-bottom-color: rgba(204, 204, 204, 0.2); + position: absolute; + bottom: -4px; + left: 9px; + display: none; +} +.bootstrap-select.show-menu-arrow .dropdown-toggle:after { + content: ''; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid white; + position: absolute; + bottom: -4px; + left: 10px; + display: none; +} +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before { + bottom: auto; + top: -3px; + border-bottom: 0; + border-top-width: 7px; + border-top-style: solid; + border-top-color: rgba(204, 204, 204, 0.2); +} +.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after { + bottom: auto; + top: -3px; + border-top: 6px solid white; + border-bottom: 0; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before { + right: 12px; + left: auto; +} +.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after { + right: 13px; + left: auto; +} +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before, +.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after { + display: block; +} +.bs-searchbox, +.bs-actionsbox { + padding: 4px 8px; +} +.bs-actionsbox { + float: left; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.bs-actionsbox .btn-group button { + width: 50%; +} +.bs-searchbox + .bs-actionsbox { + padding: 0 8px 4px; +} +.bs-searchbox input.form-control { + margin-bottom: 0; + width: 100%; +} +.mobile-device { + position: absolute; + top: 0; + left: 0; + display: block !important; + width: 100%; + height: 100% !important; + opacity: 0; +} +/*# sourceMappingURL=bootstrap-select.css.map */ \ No newline at end of file diff --git a/src/www/themes/sample/build/css/bootstrap-select.css.map b/src/www/themes/sample/build/css/bootstrap-select.css.map new file mode 100644 index 000000000..337f4d5d2 --- /dev/null +++ b/src/www/themes/sample/build/css/bootstrap-select.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/bootstrap-select.less","bootstrap-select.css"],"names":[],"mappings":"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","file":"bootstrap-select.css","sourcesContent":["@import \"variables\";\n\n// Mixins\n.cursor-disabled() {\n cursor: not-allowed;\n}\n\n// Rules\n.bootstrap-select {\n /*width: 220px\\9; IE8 and below*/\n //noinspection CssShorthandPropertyValue\n width: 220px \\0; /*IE9 and below*/\n\n // The selectpicker button\n > .btn {\n width: 100%;\n padding-right: 25px;\n }\n\n // Error display\n .error & .btn {\n border: 1px solid @color-red-error;\n }\n\n // Error display\n .control-group.error & .dropdown-toggle {\n border-color: @color-red-error;\n }\n\n &.fit-width {\n width: auto !important;\n }\n\n &:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: @width-default;\n }\n\n .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n }\n}\n\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n\n &:not([class*=\"col-\"]) {\n width: 100%;\n }\n}\n\n// The selectpicker components\n.bootstrap-select.btn-group {\n &:not(.input-group-btn),\n &[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n }\n\n // Forces the pull to the right, if necessary\n &,\n &[class*=\"col-\"],\n .row-fluid &[class*=\"col-\"] {\n &.dropdown-menu-right {\n float: right;\n }\n }\n\n .form-search &,\n .form-inline &,\n .form-horizontal &,\n .form-group & {\n margin-bottom: 0;\n }\n\n .form-group-lg &.form-control,\n .form-group-sm &.form-control {\n padding: 0;\n }\n\n // Set the width of the live search (and any other form control within an inline form)\n // see https://github.com/silviomoreto/bootstrap-select/issues/685\n .form-inline & .form-control {\n width: 100%;\n }\n\n .input-append & {\n margin-left: -1px;\n }\n\n .input-prepend & {\n margin-right: -1px;\n }\n\n > .disabled {\n .cursor-disabled();\n\n &:focus {\n outline: none !important;\n }\n }\n\n // The selectpicker button\n .btn {\n .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n }\n\n .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n }\n }\n\n &[class*=\"col-\"] .btn {\n width: 100%;\n }\n\n // The selectpicker dropdown\n .dropdown-menu {\n min-width: 100%;\n z-index: @zindex-select-dropdown;\n box-sizing: border-box;\n\n &.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n }\n\n li {\n position: relative;\n\n &:not(.disabled) a:hover small,\n &:not(.disabled) a:focus small,\n &.active:not(.disabled) a small {\n color: @color-blue-hover;\n }\n\n &.disabled a {\n .cursor-disabled();\n }\n\n a {\n cursor: pointer;\n\n &.opt {\n position: relative;\n padding-left: 2.25em;\n }\n\n span.check-mark {\n display: none;\n }\n span.text {\n display: inline-block;\n }\n }\n\n small {\n padding-left: 0.5em;\n }\n }\n\n .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: rgb(245, 245, 245);\n border: 1px solid rgb(227, 227, 227);\n box-shadow: inset 0 1px 1px fade(rgb(0, 0, 0), 5%);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n }\n }\n\n .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n }\n\n &.fit-width .btn {\n .filter-option {\n position: static;\n }\n\n .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n }\n }\n\n &.show-tick .dropdown-menu li {\n &.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n }\n\n a span.text {\n margin-right: 34px;\n }\n }\n}\n\n.bootstrap-select.show-menu-arrow {\n &.open > .btn {\n z-index: (@zindex-select-dropdown + 1);\n }\n\n .dropdown-toggle {\n &:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom-width: 7px;\n border-bottom-style: solid;\n border-bottom-color: @color-grey-arrow;\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n }\n\n &:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n }\n }\n\n &.dropup .dropdown-toggle {\n &:before {\n bottom: auto;\n top: -3px;\n border-bottom: 0;\n border-top-width: 7px;\n border-top-style: solid;\n border-top-color: @color-grey-arrow;\n }\n\n &:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n }\n }\n\n &.pull-right .dropdown-toggle {\n &:before {\n right: 12px;\n left: auto;\n }\n\n &:after {\n right: 13px;\n left: auto;\n }\n }\n\n &.open > .dropdown-toggle {\n &:before,\n &:after {\n display: block;\n }\n }\n}\n\n.bs-searchbox,\n.bs-actionsbox {\n padding: 4px 8px;\n}\n\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n\n & .btn-group button {\n width: 50%;\n }\n}\n\n.bs-searchbox {\n & + .bs-actionsbox {\n padding: 0 8px 4px;\n }\n\n & input.form-control {\n margin-bottom: 0;\n width: 100%;\n }\n}\n\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n",".bootstrap-select {\n /*width: 220px\\9; IE8 and below*/\n width: 220px \\0;\n /*IE9 and below*/\n}\n.bootstrap-select > .btn {\n width: 100%;\n padding-right: 25px;\n}\n.error .bootstrap-select .btn {\n border: 1px solid #b94a48;\n}\n.control-group.error .bootstrap-select .dropdown-toggle {\n border-color: #b94a48;\n}\n.bootstrap-select.fit-width {\n width: auto !important;\n}\n.bootstrap-select:not([class*=\"col-\"]):not([class*=\"form-control\"]):not(.input-group-btn) {\n width: 220px;\n}\n.bootstrap-select .btn:focus {\n outline: thin dotted #333333 !important;\n outline: 5px auto -webkit-focus-ring-color !important;\n outline-offset: -2px;\n}\n.bootstrap-select.form-control {\n margin-bottom: 0;\n padding: 0;\n border: none;\n}\n.bootstrap-select.form-control:not([class*=\"col-\"]) {\n width: 100%;\n}\n.bootstrap-select.btn-group:not(.input-group-btn),\n.bootstrap-select.btn-group[class*=\"col-\"] {\n float: none;\n display: inline-block;\n margin-left: 0;\n}\n.bootstrap-select.btn-group.dropdown-menu-right,\n.bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right,\n.row-fluid .bootstrap-select.btn-group[class*=\"col-\"].dropdown-menu-right {\n float: right;\n}\n.form-search .bootstrap-select.btn-group,\n.form-inline .bootstrap-select.btn-group,\n.form-horizontal .bootstrap-select.btn-group,\n.form-group .bootstrap-select.btn-group {\n margin-bottom: 0;\n}\n.form-group-lg .bootstrap-select.btn-group.form-control,\n.form-group-sm .bootstrap-select.btn-group.form-control {\n padding: 0;\n}\n.form-inline .bootstrap-select.btn-group .form-control {\n width: 100%;\n}\n.input-append .bootstrap-select.btn-group {\n margin-left: -1px;\n}\n.input-prepend .bootstrap-select.btn-group {\n margin-right: -1px;\n}\n.bootstrap-select.btn-group > .disabled {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group > .disabled:focus {\n outline: none !important;\n}\n.bootstrap-select.btn-group .btn .filter-option {\n display: inline-block;\n overflow: hidden;\n width: 100%;\n text-align: left;\n}\n.bootstrap-select.btn-group .btn .caret {\n position: absolute;\n top: 50%;\n right: 12px;\n margin-top: -2px;\n vertical-align: middle;\n}\n.bootstrap-select.btn-group[class*=\"col-\"] .btn {\n width: 100%;\n}\n.bootstrap-select.btn-group .dropdown-menu {\n min-width: 100%;\n z-index: 1035;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .dropdown-menu.inner {\n position: static;\n border: 0;\n padding: 0;\n margin: 0;\n border-radius: 0;\n box-shadow: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li {\n position: relative;\n}\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,\n.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,\n.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small {\n color: rgba(100, 177, 216, 0.4);\n}\n.bootstrap-select.btn-group .dropdown-menu li.disabled a {\n cursor: not-allowed;\n}\n.bootstrap-select.btn-group .dropdown-menu li a {\n cursor: pointer;\n}\n.bootstrap-select.btn-group .dropdown-menu li a.opt {\n position: relative;\n padding-left: 2.25em;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.check-mark {\n display: none;\n}\n.bootstrap-select.btn-group .dropdown-menu li a span.text {\n display: inline-block;\n}\n.bootstrap-select.btn-group .dropdown-menu li small {\n padding-left: 0.5em;\n}\n.bootstrap-select.btn-group .dropdown-menu .notify {\n position: absolute;\n bottom: 5px;\n width: 96%;\n margin: 0 2%;\n min-height: 26px;\n padding: 3px 5px;\n background: #f5f5f5;\n border: 1px solid #e3e3e3;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n pointer-events: none;\n opacity: 0.9;\n box-sizing: border-box;\n}\n.bootstrap-select.btn-group .no-results {\n padding: 3px;\n background: #f5f5f5;\n margin: 0 5px;\n}\n.bootstrap-select.btn-group.fit-width .btn .filter-option {\n position: static;\n}\n.bootstrap-select.btn-group.fit-width .btn .caret {\n position: static;\n top: auto;\n margin-top: -1px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {\n position: absolute;\n display: inline-block;\n right: 15px;\n margin-top: 5px;\n}\n.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {\n margin-right: 34px;\n}\n.bootstrap-select.show-menu-arrow.open > .btn {\n z-index: 1036;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:before {\n content: '';\n border-left: 7px solid transparent;\n border-right: 7px solid transparent;\n border-bottom-width: 7px;\n border-bottom-style: solid;\n border-bottom-color: rgba(204, 204, 204, 0.2);\n position: absolute;\n bottom: -4px;\n left: 9px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow .dropdown-toggle:after {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid white;\n position: absolute;\n bottom: -4px;\n left: 10px;\n display: none;\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before {\n bottom: auto;\n top: -3px;\n border-bottom: 0;\n border-top-width: 7px;\n border-top-style: solid;\n border-top-color: rgba(204, 204, 204, 0.2);\n}\n.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after {\n bottom: auto;\n top: -3px;\n border-top: 6px solid white;\n border-bottom: 0;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before {\n right: 12px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after {\n right: 13px;\n left: auto;\n}\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:before,\n.bootstrap-select.show-menu-arrow.open > .dropdown-toggle:after {\n display: block;\n}\n.bs-searchbox,\n.bs-actionsbox {\n padding: 4px 8px;\n}\n.bs-actionsbox {\n float: left;\n width: 100%;\n box-sizing: border-box;\n}\n.bs-actionsbox .btn-group button {\n width: 50%;\n}\n.bs-searchbox + .bs-actionsbox {\n padding: 0 8px 4px;\n}\n.bs-searchbox input.form-control {\n margin-bottom: 0;\n width: 100%;\n}\n.mobile-device {\n position: absolute;\n top: 0;\n left: 0;\n display: block !important;\n width: 100%;\n height: 100% !important;\n opacity: 0;\n}\n/*# sourceMappingURL=bootstrap-select.css.map */"]} \ No newline at end of file diff --git a/src/www/themes/sample/build/css/bootstrap-select.min.css b/src/www/themes/sample/build/css/bootstrap-select.min.css new file mode 100644 index 000000000..6cce74f4e --- /dev/null +++ b/src/www/themes/sample/build/css/bootstrap-select.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */.bootstrap-select{width:220px \0}.bootstrap-select>.btn{width:100%;padding-right:25px}.error .bootstrap-select .btn{border:1px solid #b94a48}.control-group.error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .btn:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row-fluid .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-search .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-group .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.input-append .bootstrap-select.btn-group{margin-left:-1px}.input-prepend .bootstrap-select.btn-group{margin-right:-1px}.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group .btn .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .btn .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .btn{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;z-index:1035;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:hover small,.bootstrap-select.btn-group .dropdown-menu li:not(.disabled) a:focus small,.bootstrap-select.btn-group .dropdown-menu li.active:not(.disabled) a small{color:rgba(100,177,216,.4)}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px}.bootstrap-select.btn-group.fit-width .btn .filter-option{position:static}.bootstrap-select.btn-group.fit-width .btn .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.btn{z-index:1036}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom-width:7px;border-bottom-style:solid;border-bottom-color:rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-bottom:0;border-top-width:7px;border-top-style:solid;border-top-color:rgba(204,204,204,.2)}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after{display:block}.bs-searchbox,.bs-actionsbox{padding:4px 8px}.bs-actionsbox{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox input.form-control{margin-bottom:0;width:100%}.mobile-device{position:absolute;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0} \ No newline at end of file diff --git a/src/www/themes/sample/build/css/main.css b/src/www/themes/sample/build/css/main.css index 45752c787..d5fa4fbe2 100644 --- a/src/www/themes/sample/build/css/main.css +++ b/src/www/themes/sample/build/css/main.css @@ -1,13 +1,13 @@ @charset "UTF-8"; @font-face { font-family: 'SourceSansProBold'; - src: url("../../build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.woff") format("woff"), url("../../build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.ttf") format("truetype"); } + src: url("/themes/opnsense/build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.woff") format("woff"), url("/themes/opnsense/build/fonts/SourceSansPro-Bold/SourceSansPro-Bold.ttf") format("truetype"); } @font-face { font-family: 'SourceSansProSemibold'; - src: url("../../build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.woff") format("woff"), url("../../build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.ttf") format("truetype"); } + src: url("/themes/opnsense/build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.woff") format("woff"), url("/themes/opnsense/build/fonts/SourceSansPro-Semibold/SourceSansPro-Semibold.ttf") format("truetype"); } @font-face { font-family: 'SourceSansProRegular'; - src: url("../../build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.woff") format("woff"), url("../../build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.ttf") format("truetype"); } + src: url("/themes/opnsense/build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.woff") format("woff"), url("/themes/opnsense/build/fonts/SourceSansPro-Regular/SourceSansPro-Regular.ttf") format("truetype"); } /*! normalize.css v3.0.1 | MIT License | git.io/normalize */ html { font-family: sans-serif; @@ -891,7 +891,7 @@ body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; - color: #3b3b3c; + color: #3C3C3B; background-color: #fff; } input, @@ -2688,7 +2688,7 @@ select[multiple].input-lg, display: block; margin-top: 5px; margin-bottom: 10px; - color: #7a7a7c; } + color: #7c7c7a; } @media (min-width: 768px) { .form-inline .form-group, .navbar-form .form-group { @@ -3741,7 +3741,7 @@ tbody.collapse.in { margin-right: 0; } } .navbar-default { - background-color: #3b3b3c; + background-color: #3C3C3B; border-color: #2b2b2b; } .navbar-default .navbar-brand { color: #F7F7F7; } @@ -4121,7 +4121,7 @@ a.badge:hover, a.badge:focus { margin-right: auto; } .thumbnail .caption { padding: 9px; - color: #3b3b3c; } + color: #3C3C3B; } a.thumbnail:hover, a.thumbnail:focus, @@ -4322,7 +4322,7 @@ a.thumbnail.active { margin-right: 5px; } a.list-group-item { - color: #3b3b3c; + color: #3C3C3B; border-radius: 0; } a.list-group-item .list-group-item-heading { color: #333; } @@ -5471,7 +5471,7 @@ body { min-width: 320px; } .page-head { - background: #3b3b3c; + background: #3C3C3B; top: 0; left: 0; position: fixed; @@ -5595,7 +5595,7 @@ body { max-width: 400px; margin: 100px auto 15px auto; } .login-modal-head { - background: #3b3b3c; + background: #3C3C3B; height: 75px; padding: 0 20px; } .login-modal-content { @@ -5670,7 +5670,7 @@ body { border-left: 1px solid #E5E5E5; border-radius: 0px; background: #F7F7F7; - color: #3b3b3c; + color: #3C3C3B; font-family: 'SourceSansProSemibold'; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { @@ -5792,3 +5792,7 @@ table { ::-webkit-scrollbar-thumb:hover { background: #e5e5e5; } + +.widgetdiv { + padding-top: 0px !important; + padding-bottom: 20px; } diff --git a/src/www/themes/sample/build/js/bootstrap-select.js b/src/www/themes/sample/build/js/bootstrap-select.js new file mode 100644 index 000000000..cc074d9f3 --- /dev/null +++ b/src/www/themes/sample/build/js/bootstrap-select.js @@ -0,0 +1,1231 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + 'use strict'; + + // Case insensitive search + $.expr[':'].icontains = function (obj, index, meta) { + return icontains($(obj).text(), meta[3]); + }; + + // Case and accent insensitive search + $.expr[':'].aicontains = function (obj, index, meta) { + return icontains($(obj).data('normalizedText') || $(obj).text(), meta[3]); + }; + + /** + * Actual implementation of the case insensitive search. + * @access private + * @param {String} haystack + * @param {String} needle + * @returns {boolean} + */ + function icontains(haystack, needle) { + return haystack.toUpperCase().indexOf(needle.toUpperCase()) > -1; + } + + /** + * Remove all diatrics from the given text. + * @access private + * @param {String} text + * @returns {String} + */ + function normalizeToBase(text) { + var rExps = [ + {re: /[\xC0-\xC6]/g, ch: "A"}, + {re: /[\xE0-\xE6]/g, ch: "a"}, + {re: /[\xC8-\xCB]/g, ch: "E"}, + {re: /[\xE8-\xEB]/g, ch: "e"}, + {re: /[\xCC-\xCF]/g, ch: "I"}, + {re: /[\xEC-\xEF]/g, ch: "i"}, + {re: /[\xD2-\xD6]/g, ch: "O"}, + {re: /[\xF2-\xF6]/g, ch: "o"}, + {re: /[\xD9-\xDC]/g, ch: "U"}, + {re: /[\xF9-\xFC]/g, ch: "u"}, + {re: /[\xC7-\xE7]/g, ch: "c"}, + {re: /[\xD1]/g, ch: "N"}, + {re: /[\xF1]/g, ch: "n"} + ]; + $.each(rExps, function () { + text = text.replace(this.re, this.ch); + }); + return text; + } + + + function htmlEscape(html) { + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var source = '(?:' + Object.keys(escapeMap).join('|') + ')', + testRegexp = new RegExp(source), + replaceRegexp = new RegExp(source, 'g'), + string = html == null ? '' : '' + html; + return testRegexp.test(string) ? string.replace(replaceRegexp, function (match) { + return escapeMap[match]; + }) : string; + } + + var Selectpicker = function (element, options, e) { + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + + this.$element = $(element); + this.$newElement = null; + this.$button = null; + this.$menu = null; + this.$lis = null; + this.options = options; + + // If we have no title yet, try to pull it from the html title attribute (jQuery doesnt' pick it up as it's not a + // data-attribute) + if (this.options.title === null) { + this.options.title = this.$element.attr('title'); + } + + //Expose public methods + this.val = Selectpicker.prototype.val; + this.render = Selectpicker.prototype.render; + this.refresh = Selectpicker.prototype.refresh; + this.setStyle = Selectpicker.prototype.setStyle; + this.selectAll = Selectpicker.prototype.selectAll; + this.deselectAll = Selectpicker.prototype.deselectAll; + this.destroy = Selectpicker.prototype.remove; + this.remove = Selectpicker.prototype.remove; + this.show = Selectpicker.prototype.show; + this.hide = Selectpicker.prototype.hide; + + this.init(); + }; + + Selectpicker.VERSION = '1.6.3'; + + // part of this is duplicated in i18n/defaults-en_US.js. Make sure to update both. + Selectpicker.DEFAULTS = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results matched {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ', + style: 'btn-default', + size: 'auto', + title: null, + selectedTextFormat: 'values', + width: false, + container: false, + hideDisabled: false, + showSubtext: false, + showIcon: true, + showContent: true, + dropupAuto: true, + header: false, + liveSearch: false, + liveSearchPlaceholder: null, + actionsBox: false, + iconBase: 'glyphicon', + tickIcon: 'glyphicon-ok', + maxOptions: false, + mobile: false, + selectOnTab: false, + dropdownAlignRight: false, + searchAccentInsensitive: false + }; + + Selectpicker.prototype = { + + constructor: Selectpicker, + + init: function () { + var that = this, + id = this.$element.attr('id'); + + this.$element.hide(); + this.multiple = this.$element.prop('multiple'); + this.autofocus = this.$element.prop('autofocus'); + this.$newElement = this.createView(); + this.$element.after(this.$newElement); + this.$menu = this.$newElement.children('.dropdown-menu'); + this.$button = this.$newElement.children('button'); + this.$searchbox = this.$newElement.find('input'); + + if (this.options.dropdownAlignRight) + this.$menu.addClass('dropdown-menu-right'); + + if (typeof id !== 'undefined') { + this.$button.attr('data-id', id); + $('label[for="' + id + '"]').click(function (e) { + e.preventDefault(); + that.$button.focus(); + }); + } + + this.checkDisabled(); + this.clickListener(); + if (this.options.liveSearch) this.liveSearchListener(); + this.render(); + this.liHeight(); + this.setStyle(); + this.setWidth(); + if (this.options.container) this.selectPosition(); + this.$menu.data('this', this); + this.$newElement.data('this', this); + if (this.options.mobile) this.mobile(); + }, + + createDropdown: function () { + // Options + // If we are multiple, then add the show-tick class by default + var multiple = this.multiple ? ' show-tick' : '', + inputGroup = this.$element.parent().hasClass('input-group') ? ' input-group-btn' : '', + autofocus = this.autofocus ? ' autofocus' : ''; + // Elements + var header = this.options.header ? '
    ' + this.options.header + '
    ' : ''; + var searchbox = this.options.liveSearch ? + '' + : ''; + var actionsbox = this.options.actionsBox ? + '
    ' + + '
    ' + + '' + + '' + + '
    ' + + '
    ' + : ''; + var drop = + '
    ' + + '' + + '' + + '
    '; + + return $(drop); + }, + + createView: function () { + var $drop = this.createDropdown(); + var $li = this.createLi(); + $drop.find('ul').append($li); + return $drop; + }, + + reloadLi: function () { + //Remove all children. + this.destroyLi(); + //Re build + var $li = this.createLi(); + this.$menu.find('ul').append($li); + }, + + destroyLi: function () { + this.$menu.find('li').remove(); + }, + + createLi: function () { + var that = this, + _li = [], + optID = 0; + + // Helper functions + /** + * @param content + * @param [index] + * @param [classes] + * @param [optgroup] + * @returns {string} + */ + var generateLI = function (content, index, classes, optgroup) { + return '' + content + ''; + }; + + /** + * @param text + * @param [classes] + * @param [inline] + * @returns {string} + */ + var generateA = function (text, classes, inline) { + var normText = normalizeToBase(htmlEscape(text)); + return '' + text + + '' + + ''; + }; + + this.$element.find('option').each(function (index) { + var $this = $(this); + + // Get the class and text for the option + var optionClass = $this.attr('class') || '', + inline = $this.attr('style'), + text = $this.data('content') ? $this.data('content') : $this.html(), + subtext = typeof $this.data('subtext') !== 'undefined' ? '' + $this.data('subtext') + '' : '', + icon = typeof $this.data('icon') !== 'undefined' ? ' ' : '', + isDisabled = $this.is(':disabled') || $this.parent().is(':disabled'); + if (icon !== '' && isDisabled) { + icon = '' + icon + ''; + } + + if (!$this.data('content')) { + // Prepend any icon and append any subtext to the main text. + text = icon + '' + text + subtext + ''; + } + + if (that.options.hideDisabled && isDisabled) { + return; + } + + if ($this.parent().is('optgroup') && $this.data('divider') !== true) { + if ($this.index() === 0) { // Is it the first option of the optgroup? + optID += 1; + + // Get the opt group label + var label = $this.parent().attr('label'); + var labelSubtext = typeof $this.parent().data('subtext') !== 'undefined' ? '' + $this.parent().data('subtext') + '' : ''; + var labelIcon = $this.parent().data('icon') ? ' ' : ''; + label = labelIcon + '' + label + labelSubtext + ''; + + if (index !== 0 && _li.length > 0) { // Is it NOT the first option of the select && are there elements in the dropdown? + _li.push(generateLI('', null, 'divider')); + } + + _li.push(generateLI(label, null, 'dropdown-header', optID)); + } + + _li.push(generateLI(generateA(text, 'opt ' + optionClass, inline), index, '', optID)); + } else if ($this.data('divider') === true) { + _li.push(generateLI('', index, 'divider')); + } else if ($this.data('hidden') === true) { + _li.push(generateLI(generateA(text, optionClass, inline), index, 'hidden is-hidden')); + } else { + _li.push(generateLI(generateA(text, optionClass, inline), index)); + } + }); + + //If we are not multiple, we don't have a selected item, and we don't have a title, select the first element so something is set in the button + if (!this.multiple && this.$element.find('option:selected').length === 0 && !this.options.title) { + this.$element.find('option').eq(0).prop('selected', true).attr('selected', 'selected'); + } + + return $(_li.join('')); + }, + + findLis: function () { + if (this.$lis == null) this.$lis = this.$menu.find('li'); + return this.$lis; + }, + + /** + * @param [updateLi] defaults to true + */ + render: function (updateLi) { + var that = this; + + //Update the LI to match the SELECT + if (updateLi !== false) { + this.$element.find('option').each(function (index) { + that.setDisabled(index, $(this).is(':disabled') || $(this).parent().is(':disabled')); + that.setSelected(index, $(this).is(':selected')); + }); + } + + this.tabIndex(); + var notDisabled = this.options.hideDisabled ? ':not([disabled])' : ''; + var selectedItems = this.$element.find('option:selected' + notDisabled).map(function () { + var $this = $(this); + var icon = $this.data('icon') && that.options.showIcon ? ' ' : ''; + var subtext; + if (that.options.showSubtext && $this.attr('data-subtext') && !that.multiple) { + subtext = ' ' + $this.data('subtext') + ''; + } else { + subtext = ''; + } + if (typeof $this.attr('title') !== 'undefined') { + return $this.attr('title'); + } else if ($this.data('content') && that.options.showContent) { + return $this.data('content'); + } else { + return icon + $this.html() + subtext; + } + }).toArray(); + + //Fixes issue in IE10 occurring when no default option is selected and at least one option is disabled + //Convert all the values into a comma delimited string + var title = !this.multiple ? selectedItems[0] : selectedItems.join(this.options.multipleSeparator); + + //If this is multi select, and the selectText type is count, the show 1 of 2 selected etc.. + if (this.multiple && this.options.selectedTextFormat.indexOf('count') > -1) { + var max = this.options.selectedTextFormat.split('>'); + if ((max.length > 1 && selectedItems.length > max[1]) || (max.length == 1 && selectedItems.length >= 2)) { + notDisabled = this.options.hideDisabled ? ', [disabled]' : ''; + var totalCount = this.$element.find('option').not('[data-divider="true"], [data-hidden="true"]' + notDisabled).length, + tr8nText = (typeof this.options.countSelectedText === 'function') ? this.options.countSelectedText(selectedItems.length, totalCount) : this.options.countSelectedText; + title = tr8nText.replace('{0}', selectedItems.length.toString()).replace('{1}', totalCount.toString()); + } + } + + this.options.title = this.$element.attr('title'); + + if (this.options.selectedTextFormat == 'static') { + title = this.options.title; + } + + //If we dont have a title, then use the default, or if nothing is set at all, use the not selected text + if (!title) { + title = typeof this.options.title !== 'undefined' ? this.options.title : this.options.noneSelectedText; + } + + //strip all html-tags and trim the result + this.$button.attr('title', $.trim(title.replace(/<[^>]*>?/g, ''))); + this.$newElement.find('.filter-option').html(title); + }, + + /** + * @param [style] + * @param [status] + */ + setStyle: function (style, status) { + if (this.$element.attr('class')) { + this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|validate\[.*\]/gi, '')); + } + + var buttonClass = style ? style : this.options.style; + + if (status == 'add') { + this.$button.addClass(buttonClass); + } else if (status == 'remove') { + this.$button.removeClass(buttonClass); + } else { + this.$button.removeClass(this.options.style); + this.$button.addClass(buttonClass); + } + }, + + liHeight: function () { + if (this.options.size === false) return; + + var $selectClone = this.$menu.parent().clone().children('.dropdown-toggle').prop('autofocus', false).end().appendTo('body'), + $menuClone = $selectClone.addClass('open').children('.dropdown-menu'), + liHeight = $menuClone.find('li').not('.divider').not('.dropdown-header').filter(':visible').children('a').outerHeight(), + headerHeight = this.options.header ? $menuClone.find('.popover-title').outerHeight() : 0, + searchHeight = this.options.liveSearch ? $menuClone.find('.bs-searchbox').outerHeight() : 0, + actionsHeight = this.options.actionsBox ? $menuClone.find('.bs-actionsbox').outerHeight() : 0; + + $selectClone.remove(); + + this.$newElement + .data('liHeight', liHeight) + .data('headerHeight', headerHeight) + .data('searchHeight', searchHeight) + .data('actionsHeight', actionsHeight); + }, + + setSize: function () { + this.findLis(); + var that = this, + menu = this.$menu, + menuInner = menu.find('.inner'), + selectHeight = this.$newElement.outerHeight(), + liHeight = this.$newElement.data('liHeight'), + headerHeight = this.$newElement.data('headerHeight'), + searchHeight = this.$newElement.data('searchHeight'), + actionsHeight = this.$newElement.data('actionsHeight'), + divHeight = this.$lis.filter('.divider').outerHeight(true), + menuPadding = parseInt(menu.css('padding-top')) + + parseInt(menu.css('padding-bottom')) + + parseInt(menu.css('border-top-width')) + + parseInt(menu.css('border-bottom-width')), + notDisabled = this.options.hideDisabled ? ', .disabled' : '', + $window = $(window), + menuExtras = menuPadding + parseInt(menu.css('margin-top')) + parseInt(menu.css('margin-bottom')) + 2, + menuHeight, + selectOffsetTop, + selectOffsetBot, + posVert = function () { + // JQuery defines a scrollTop function, but in pure JS it's a property + //noinspection JSValidateTypes + selectOffsetTop = that.$newElement.offset().top - $window.scrollTop(); + selectOffsetBot = $window.height() - selectOffsetTop - selectHeight; + }; + posVert(); + if (this.options.header) menu.css('padding-top', 0); + + if (this.options.size == 'auto') { + var getSize = function () { + var minHeight, + lisVis = that.$lis.not('.hidden'); + + posVert(); + menuHeight = selectOffsetBot - menuExtras; + + if (that.options.dropupAuto) { + that.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && (menuHeight - menuExtras) < menu.height()); + } + if (that.$newElement.hasClass('dropup')) { + menuHeight = selectOffsetTop - menuExtras; + } + + if ((lisVis.length + lisVis.filter('.dropdown-header').length) > 3) { + minHeight = liHeight * 3 + menuExtras - 2; + } else { + minHeight = 0; + } + + menu.css({ + 'max-height': menuHeight + 'px', + 'overflow': 'hidden', + 'min-height': minHeight + headerHeight + searchHeight + actionsHeight + 'px' + }); + menuInner.css({ + 'max-height': menuHeight - headerHeight - searchHeight - actionsHeight - menuPadding + 'px', + 'overflow-y': 'auto', + 'min-height': Math.max(minHeight - menuPadding, 0) + 'px' + }); + }; + getSize(); + this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize', getSize); + $window.off('resize.getSize').on('resize.getSize', getSize); + $window.off('scroll.getSize').on('scroll.getSize', getSize); + } else if (this.options.size && this.options.size != 'auto' && menu.find('li' + notDisabled).length > this.options.size) { + var optIndex = this.$lis.not('.divider' + notDisabled).children().slice(0, this.options.size).last().parent().index(); + var divLength = this.$lis.slice(0, optIndex + 1).filter('.divider').length; + menuHeight = liHeight * this.options.size + divLength * divHeight + menuPadding; + if (that.options.dropupAuto) { + //noinspection JSUnusedAssignment + this.$newElement.toggleClass('dropup', selectOffsetTop > selectOffsetBot && menuHeight < menu.height()); + } + menu.css({'max-height': menuHeight + headerHeight + searchHeight + actionsHeight + 'px', 'overflow': 'hidden'}); + menuInner.css({'max-height': menuHeight - menuPadding + 'px', 'overflow-y': 'auto'}); + } + }, + + setWidth: function () { + if (this.options.width == 'auto') { + this.$menu.css('min-width', '0'); + + // Get correct width if element hidden + var selectClone = this.$newElement.clone().appendTo('body'); + var ulWidth = selectClone.children('.dropdown-menu').css('width'); + var btnWidth = selectClone.css('width', 'auto').children('button').css('width'); + selectClone.remove(); + + // Set width to whatever's larger, button title or longest option + this.$newElement.css('width', Math.max(parseInt(ulWidth), parseInt(btnWidth)) + 'px'); + } else if (this.options.width == 'fit') { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', '').addClass('fit-width'); + } else if (this.options.width) { + // Remove inline min-width so width can be changed from 'auto' + this.$menu.css('min-width', ''); + this.$newElement.css('width', this.options.width); + } else { + // Remove inline min-width/width so width can be changed + this.$menu.css('min-width', ''); + this.$newElement.css('width', ''); + } + // Remove fit-width class if width is changed programmatically + if (this.$newElement.hasClass('fit-width') && this.options.width !== 'fit') { + this.$newElement.removeClass('fit-width'); + } + }, + + selectPosition: function () { + var that = this, + drop = '
    ', + $drop = $(drop), + pos, + actualHeight, + getPlacement = function ($element) { + $drop.addClass($element.attr('class').replace(/form-control/gi, '')).toggleClass('dropup', $element.hasClass('dropup')); + pos = $element.offset(); + actualHeight = $element.hasClass('dropup') ? 0 : $element[0].offsetHeight; + $drop.css({ + 'top': pos.top + actualHeight, + 'left': pos.left, + 'width': $element[0].offsetWidth, + 'position': 'absolute' + }); + }; + this.$newElement.on('click', function () { + if (that.isDisabled()) { + return; + } + getPlacement($(this)); + $drop.appendTo(that.options.container); + $drop.toggleClass('open', !$(this).hasClass('open')); + $drop.append(that.$menu); + }); + $(window).resize(function () { + getPlacement(that.$newElement); + }); + $(window).on('scroll', function () { + getPlacement(that.$newElement); + }); + $('html').on('click', function (e) { + if ($(e.target).closest(that.$newElement).length < 1) { + $drop.removeClass('open'); + } + }); + }, + + setSelected: function (index, selected) { + this.findLis(); + this.$lis.filter('[data-original-index="' + index + '"]').toggleClass('selected', selected); + }, + + setDisabled: function (index, disabled) { + this.findLis(); + if (disabled) { + this.$lis.filter('[data-original-index="' + index + '"]').addClass('disabled').find('a').attr('href', '#').attr('tabindex', -1); + } else { + this.$lis.filter('[data-original-index="' + index + '"]').removeClass('disabled').find('a').removeAttr('href').attr('tabindex', 0); + } + }, + + isDisabled: function () { + return this.$element.is(':disabled'); + }, + + checkDisabled: function () { + var that = this; + + if (this.isDisabled()) { + this.$button.addClass('disabled').attr('tabindex', -1); + } else { + if (this.$button.hasClass('disabled')) { + this.$button.removeClass('disabled'); + } + + if (this.$button.attr('tabindex') == -1) { + if (!this.$element.data('tabindex')) this.$button.removeAttr('tabindex'); + } + } + + this.$button.click(function () { + return !that.isDisabled(); + }); + }, + + tabIndex: function () { + if (this.$element.is('[tabindex]')) { + this.$element.data('tabindex', this.$element.attr('tabindex')); + this.$button.attr('tabindex', this.$element.data('tabindex')); + } + }, + + clickListener: function () { + var that = this; + + this.$newElement.on('touchstart.dropdown', '.dropdown-menu', function (e) { + e.stopPropagation(); + }); + + this.$newElement.on('click', function () { + that.setSize(); + if (!that.options.liveSearch && !that.multiple) { + setTimeout(function () { + that.$menu.find('.selected a').focus(); + }, 10); + } + }); + + this.$menu.on('click', 'li a', function (e) { + var $this = $(this), + clickedIndex = $this.parent().data('originalIndex'), + prevValue = that.$element.val(), + prevIndex = that.$element.prop('selectedIndex'); + + // Don't close on multi choice menu + if (that.multiple) { + e.stopPropagation(); + } + + e.preventDefault(); + + //Don't run if we have been disabled + if (!that.isDisabled() && !$this.parent().hasClass('disabled')) { + var $options = that.$element.find('option'), + $option = $options.eq(clickedIndex), + state = $option.prop('selected'), + $optgroup = $option.parent('optgroup'), + maxOptions = that.options.maxOptions, + maxOptionsGrp = $optgroup.data('maxOptions') || false; + + if (!that.multiple) { // Deselect all others if not multi select box + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else { // Toggle the one we have chosen if we are multi select. + $option.prop('selected', !state); + that.setSelected(clickedIndex, !state); + $this.blur(); + + if (maxOptions !== false || maxOptionsGrp !== false) { + var maxReached = maxOptions < $options.filter(':selected').length, + maxReachedGrp = maxOptionsGrp < $optgroup.find('option:selected').length; + + if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) { + if (maxOptions && maxOptions == 1) { + $options.prop('selected', false); + $option.prop('selected', true); + that.$menu.find('.selected').removeClass('selected'); + that.setSelected(clickedIndex, true); + } else if (maxOptionsGrp && maxOptionsGrp == 1) { + $optgroup.find('option:selected').prop('selected', false); + $option.prop('selected', true); + var optgroupID = $this.data('optgroup'); + + that.$menu.find('.selected').has('a[data-optgroup="' + optgroupID + '"]').removeClass('selected'); + + that.setSelected(clickedIndex, true); + } else { + var maxOptionsArr = (typeof that.options.maxOptionsText === 'function') ? + that.options.maxOptionsText(maxOptions, maxOptionsGrp) : that.options.maxOptionsText, + maxTxt = maxOptionsArr[0].replace('{n}', maxOptions), + maxTxtGrp = maxOptionsArr[1].replace('{n}', maxOptionsGrp), + $notify = $('
    '); + // If {var} is set in array, replace it + /** @deprecated */ + if (maxOptionsArr[2]) { + maxTxt = maxTxt.replace('{var}', maxOptionsArr[2][maxOptions > 1 ? 0 : 1]); + maxTxtGrp = maxTxtGrp.replace('{var}', maxOptionsArr[2][maxOptionsGrp > 1 ? 0 : 1]); + } + + $option.prop('selected', false); + + that.$menu.append($notify); + + if (maxOptions && maxReached) { + $notify.append($('
    ' + maxTxt + '
    ')); + that.$element.trigger('maxReached.bs.select'); + } + + if (maxOptionsGrp && maxReachedGrp) { + $notify.append($('
    ' + maxTxtGrp + '
    ')); + that.$element.trigger('maxReachedGrp.bs.select'); + } + + setTimeout(function () { + that.setSelected(clickedIndex, false); + }, 10); + + $notify.delay(750).fadeOut(300, function () { + $(this).remove(); + }); + } + } + } + } + + if (!that.multiple) { + that.$button.focus(); + } else if (that.options.liveSearch) { + that.$searchbox.focus(); + } + + // Trigger select 'change' + if ((prevValue != that.$element.val() && that.multiple) || (prevIndex != that.$element.prop('selectedIndex') && !that.multiple)) { + that.$element.change(); + } + } + }); + + this.$menu.on('click', 'li.disabled a, .popover-title, .popover-title :not(.close)', function (e) { + if (e.currentTarget == this) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + } + }); + + this.$menu.on('click', 'li.divider, li.dropdown-header', function (e) { + e.preventDefault(); + e.stopPropagation(); + if (!that.options.liveSearch) { + that.$button.focus(); + } else { + that.$searchbox.focus(); + } + }); + + this.$menu.on('click', '.popover-title .close', function () { + that.$button.focus(); + }); + + this.$searchbox.on('click', function (e) { + e.stopPropagation(); + }); + + + this.$menu.on('click', '.actions-btn', function (e) { + if (that.options.liveSearch) { + that.$searchbox.focus(); + } else { + that.$button.focus(); + } + + e.preventDefault(); + e.stopPropagation(); + + if ($(this).is('.bs-select-all')) { + that.selectAll(); + } else { + that.deselectAll(); + } + that.$element.change(); + }); + + this.$element.change(function () { + that.render(false); + }); + }, + + liveSearchListener: function () { + var that = this, + no_results = $('
  • '); + + this.$newElement.on('click.dropdown.data-api touchstart.dropdown.data-api', function () { + that.$menu.find('.active').removeClass('active'); + if (!!that.$searchbox.val()) { + that.$searchbox.val(''); + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) no_results.remove(); + } + if (!that.multiple) that.$menu.find('.selected').addClass('active'); + setTimeout(function () { + that.$searchbox.focus(); + }, 10); + }); + + this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api', function (e) { + e.stopPropagation(); + }); + + this.$searchbox.on('input propertychange', function () { + if (that.$searchbox.val()) { + if (that.options.searchAccentInsensitive) { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':aicontains(' + normalizeToBase(that.$searchbox.val()) + ')').parent().addClass('hidden'); + } else { + that.$lis.not('.is-hidden').removeClass('hidden').find('a').not(':icontains(' + that.$searchbox.val() + ')').parent().addClass('hidden'); + } + + that.$lis.filter('.dropdown-header').each(function () { + var $this = $(this), + optgroup = $this.data('optgroup'); + + if (that.$lis.filter('[data-optgroup=' + optgroup + ']').not($this).filter(':visible').length === 0) { + $this.addClass('hidden'); + } + }); + + if (!that.$menu.find('li').filter(':visible:not(.no-results)').length) { + if (!!no_results.parent().length) { + no_results.remove(); + } + no_results.html(that.options.noneResultsText.replace('{0}', '"' + htmlEscape(that.$searchbox.val()) + '"')).show(); + that.$menu.find('li').last().after(no_results); + } else if (!!no_results.parent().length) { + no_results.remove(); + } + + } else { + that.$lis.not('.is-hidden').removeClass('hidden'); + if (!!no_results.parent().length) { + no_results.remove(); + } + } + + that.$menu.find('li.active').removeClass('active'); + that.$menu.find('li').filter(':visible:not(.divider)').eq(0).addClass('active').find('a').focus(); + $(this).focus(); + }); + }, + + val: function (value) { + if (typeof value !== 'undefined') { + this.$element.val(value); + this.render(); + + return this.$element; + } else { + return this.$element.val(); + } + }, + + selectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').not('.selected').filter(':visible').find('a').click(); + }, + + deselectAll: function () { + this.findLis(); + this.$lis.not('.divider').not('.disabled').filter('.selected').filter(':visible').find('a').click(); + }, + + keydown: function (e) { + var $this = $(this), + $parent = ($this.is('input')) ? $this.parent().parent() : $this.parent(), + $items, + that = $parent.data('this'), + index, + next, + first, + last, + prev, + nextPrev, + prevIndex, + isActive, + keyCodeMap = { + 32: ' ', + 48: '0', + 49: '1', + 50: '2', + 51: '3', + 52: '4', + 53: '5', + 54: '6', + 55: '7', + 56: '8', + 57: '9', + 59: ';', + 65: 'a', + 66: 'b', + 67: 'c', + 68: 'd', + 69: 'e', + 70: 'f', + 71: 'g', + 72: 'h', + 73: 'i', + 74: 'j', + 75: 'k', + 76: 'l', + 77: 'm', + 78: 'n', + 79: 'o', + 80: 'p', + 81: 'q', + 82: 'r', + 83: 's', + 84: 't', + 85: 'u', + 86: 'v', + 87: 'w', + 88: 'x', + 89: 'y', + 90: 'z', + 96: '0', + 97: '1', + 98: '2', + 99: '3', + 100: '4', + 101: '5', + 102: '6', + 103: '7', + 104: '8', + 105: '9' + }; + + if (that.options.liveSearch) $parent = $this.parent().parent(); + + if (that.options.container) $parent = that.$menu; + + $items = $('[role=menu] li a', $parent); + + isActive = that.$menu.parent().hasClass('open'); + + if (!isActive && /([0-9]|[A-z])/.test(String.fromCharCode(e.keyCode))) { + if (!that.options.container) { + that.setSize(); + that.$menu.parent().addClass('open'); + isActive = true; + } else { + that.$newElement.trigger('click'); + } + that.$searchbox.focus(); + } + + if (that.options.liveSearch) { + if (/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && that.$menu.find('.active').length === 0) { + e.preventDefault(); + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + $items = $('[role=menu] li:not(.divider):not(.dropdown-header):visible', $parent); + if (!$this.val() && !/(38|40)/.test(e.keyCode.toString(10))) { + if ($items.filter('.active').length === 0) { + if (that.options.searchAccentInsensitive) { + $items = that.$newElement.find('li').filter(':aicontains(' + normalizeToBase(keyCodeMap[e.keyCode]) + ')'); + } else { + $items = that.$newElement.find('li').filter(':icontains(' + keyCodeMap[e.keyCode] + ')'); + } + } + } + } + + if (!$items.length) return; + + if (/(38|40)/.test(e.keyCode.toString(10))) { + index = $items.index($items.filter(':focus')); + first = $items.parent(':not(.disabled):visible').first().index(); + last = $items.parent(':not(.disabled):visible').last().index(); + next = $items.eq(index).parent().nextAll(':not(.disabled):visible').eq(0).index(); + prev = $items.eq(index).parent().prevAll(':not(.disabled):visible').eq(0).index(); + nextPrev = $items.eq(next).parent().prevAll(':not(.disabled):visible').eq(0).index(); + + if (that.options.liveSearch) { + $items.each(function (i) { + if ($(this).is(':not(.disabled)')) { + $(this).data('index', i); + } + }); + index = $items.index($items.filter('.active')); + first = $items.filter(':not(.disabled):visible').first().data('index'); + last = $items.filter(':not(.disabled):visible').last().data('index'); + next = $items.eq(index).nextAll(':not(.disabled):visible').eq(0).data('index'); + prev = $items.eq(index).prevAll(':not(.disabled):visible').eq(0).data('index'); + nextPrev = $items.eq(next).prevAll(':not(.disabled):visible').eq(0).data('index'); + } + + prevIndex = $this.data('prevIndex'); + + if (e.keyCode == 38) { + if (that.options.liveSearch) index -= 1; + if (index != nextPrev && index > prev) index = prev; + if (index < first) index = first; + if (index == prevIndex) index = last; + } + + if (e.keyCode == 40) { + if (that.options.liveSearch) index += 1; + if (index == -1) index = 0; + if (index != nextPrev && index < next) index = next; + if (index > last) index = last; + if (index == prevIndex) index = first; + } + + $this.data('prevIndex', index); + + if (!that.options.liveSearch) { + $items.eq(index).focus(); + } else { + e.preventDefault(); + if (!$this.is('.dropdown-toggle')) { + $items.removeClass('active'); + $items.eq(index).addClass('active').find('a').focus(); + $this.focus(); + } + } + + } else if (!$this.is('input')) { + var keyIndex = [], + count, + prevKey; + + $items.each(function () { + if ($(this).parent().is(':not(.disabled)')) { + if ($.trim($(this).text().toLowerCase()).substring(0, 1) == keyCodeMap[e.keyCode]) { + keyIndex.push($(this).parent().index()); + } + } + }); + + count = $(document).data('keycount'); + count++; + $(document).data('keycount', count); + + prevKey = $.trim($(':focus').text().toLowerCase()).substring(0, 1); + + if (prevKey != keyCodeMap[e.keyCode]) { + count = 1; + $(document).data('keycount', count); + } else if (count >= keyIndex.length) { + $(document).data('keycount', 0); + if (count > keyIndex.length) count = 1; + } + + $items.eq(keyIndex[count - 1]).focus(); + } + + // Select focused option if "Enter", "Spacebar" or "Tab" (when selectOnTab is true) are pressed inside the menu. + if ((/(13|32)/.test(e.keyCode.toString(10)) || (/(^9$)/.test(e.keyCode.toString(10)) && that.options.selectOnTab)) && isActive) { + if (!/(32)/.test(e.keyCode.toString(10))) e.preventDefault(); + if (!that.options.liveSearch) { + var elem = $(':focus'); + elem.click(); + // Bring back focus for multiselects + elem.focus(); + // Prevent screen from scrolling if the user hit the spacebar + e.preventDefault(); + } else if (!/(32)/.test(e.keyCode.toString(10))) { + that.$menu.find('.active a').click(); + $this.focus(); + } + $(document).data('keycount', 0); + } + + if ((/(^9$|27)/.test(e.keyCode.toString(10)) && isActive && (that.multiple || that.options.liveSearch)) || (/(27)/.test(e.keyCode.toString(10)) && !isActive)) { + that.$menu.parent().removeClass('open'); + that.$button.focus(); + } + }, + + mobile: function () { + this.$element.addClass('mobile-device').appendTo(this.$newElement); + if (this.options.container) this.$menu.hide(); + }, + + refresh: function () { + this.$lis = null; + this.reloadLi(); + this.render(); + this.setWidth(); + this.setStyle(); + this.checkDisabled(); + this.liHeight(); + }, + + hide: function () { + this.$newElement.hide(); + }, + + show: function () { + this.$newElement.show(); + }, + + remove: function () { + this.$newElement.remove(); + this.$element.remove(); + } + }; + + // SELECTPICKER PLUGIN DEFINITION + // ============================== + function Plugin(option, event) { + // get the args of the outer function.. + var args = arguments; + // The arguments of the function are explicitly re-defined from the argument list, because the shift causes them + // to get lost + //noinspection JSDuplicatedDeclaration + var _option = option, + option = args[0], + event = args[1]; + [].shift.apply(args); + + // This fixes a bug in the js implementation on android 2.3 #715 + if (typeof option == 'undefined') { + option = _option; + } + + var value; + var chain = this.each(function () { + var $this = $(this); + if ($this.is('select')) { + var data = $this.data('selectpicker'), + options = typeof option == 'object' && option; + + if (!data) { + var config = $.extend({}, Selectpicker.DEFAULTS, $.fn.selectpicker.defaults || {}, $this.data(), options); + $this.data('selectpicker', (data = new Selectpicker(this, config, event))); + } else if (options) { + for (var i in options) { + if (options.hasOwnProperty(i)) { + data.options[i] = options[i]; + } + } + } + + if (typeof option == 'string') { + if (data[option] instanceof Function) { + value = data[option].apply(data, args); + } else { + value = data.options[option]; + } + } + } + }); + + if (typeof value !== 'undefined') { + //noinspection JSUnusedAssignment + return value; + } else { + return chain; + } + } + + var old = $.fn.selectpicker; + $.fn.selectpicker = Plugin; + $.fn.selectpicker.Constructor = Selectpicker; + + // SELECTPICKER NO CONFLICT + // ======================== + $.fn.selectpicker.noConflict = function () { + $.fn.selectpicker = old; + return this; + }; + + $(document) + .data('keycount', 0) + .on('keydown', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', Selectpicker.prototype.keydown) + .on('focusin.modal', '.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input', function (e) { + e.stopPropagation(); + }); + + // SELECTPICKER DATA-API + // ===================== + $(window).on('load.bs.select.data-api', function () { + $('.selectpicker').each(function () { + var $selectpicker = $(this); + Plugin.call($selectpicker, $selectpicker.data()); + }) + }); +})(jQuery); diff --git a/src/www/themes/sample/build/js/bootstrap-select.js.map b/src/www/themes/sample/build/js/bootstrap-select.js.map new file mode 100644 index 000000000..329be2ef0 --- /dev/null +++ b/src/www/themes/sample/build/js/bootstrap-select.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bootstrap-select.min.js","sources":["bootstrap-select.js"],"names":["$","icontains","haystack","needle","toUpperCase","indexOf","normalizeToBase","text","rExps","re","ch","each","replace","this","htmlEscape","html","escapeMap","&","<",">","\"","'","`","source","Object","keys","join","testRegexp","RegExp","replaceRegexp","string","test","match","Plugin","option","event","args","arguments","_option","shift","apply","value","chain","$this","is","data","options","i","hasOwnProperty","config","extend","Selectpicker","DEFAULTS","fn","selectpicker","defaults","Function","expr","obj","index","meta","aicontains","element","e","stopPropagation","preventDefault","$element","$newElement","$button","$menu","$lis","title","attr","val","prototype","render","refresh","setStyle","selectAll","deselectAll","destroy","remove","show","hide","init","VERSION","noneSelectedText","noneResultsText","countSelectedText","numSelected","maxOptionsText","numAll","numGroup","arr","selectAllText","deselectAllText","multipleSeparator","style","size","selectedTextFormat","width","container","hideDisabled","showSubtext","showIcon","showContent","dropupAuto","header","liveSearch","liveSearchPlaceholder","actionsBox","iconBase","tickIcon","maxOptions","mobile","selectOnTab","dropdownAlignRight","searchAccentInsensitive","constructor","that","id","multiple","prop","autofocus","createView","after","children","$searchbox","find","addClass","click","focus","checkDisabled","clickListener","liveSearchListener","liHeight","setWidth","selectPosition","createDropdown","inputGroup","parent","hasClass","searchbox","actionsbox","drop","$drop","$li","createLi","append","reloadLi","destroyLi","_li","optID","generateLI","content","classes","optgroup","generateA","inline","normText","optionClass","subtext","icon","isDisabled","label","labelSubtext","labelIcon","length","push","eq","findLis","updateLi","setDisabled","setSelected","tabIndex","notDisabled","selectedItems","map","toArray","max","split","totalCount","not","tr8nText","toString","trim","status","buttonClass","removeClass","$selectClone","clone","end","appendTo","$menuClone","filter","outerHeight","headerHeight","searchHeight","actionsHeight","setSize","menuHeight","selectOffsetTop","selectOffsetBot","menu","menuInner","selectHeight","divHeight","menuPadding","parseInt","css","$window","window","menuExtras","posVert","offset","top","scrollTop","height","getSize","minHeight","lisVis","toggleClass","max-height","overflow","min-height","overflow-y","Math","off","on","optIndex","slice","last","divLength","selectClone","ulWidth","btnWidth","pos","actualHeight","getPlacement","offsetHeight","left","offsetWidth","position","resize","target","closest","selected","disabled","removeAttr","setTimeout","clickedIndex","prevValue","prevIndex","$options","$option","state","$optgroup","maxOptionsGrp","blur","maxReached","maxReachedGrp","optgroupID","has","maxOptionsArr","maxTxt","maxTxtGrp","$notify","trigger","delay","fadeOut","change","currentTarget","no_results","keydown","$items","next","first","prev","nextPrev","isActive","$parent","keyCodeMap",32,48,49,50,51,52,53,54,55,56,57,59,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,96,97,98,99,100,101,102,103,104,105,"String","fromCharCode","keyCode","nextAll","prevAll","count","prevKey","keyIndex","toLowerCase","substring","document","elem","old","Constructor","noConflict","$selectpicker","call","jQuery"],"mappings":"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"} \ No newline at end of file diff --git a/src/www/themes/sample/build/js/bootstrap-select.min.js b/src/www/themes/sample/build/js/bootstrap-select.min.js new file mode 100644 index 000000000..b3c2e388c --- /dev/null +++ b/src/www/themes/sample/build/js/bootstrap-select.min.js @@ -0,0 +1,8 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){"use strict";function b(a,b){return a.toUpperCase().indexOf(b.toUpperCase())>-1}function c(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function d(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function e(b,c){var d=arguments,e=b,b=d[0],c=d[1];[].shift.apply(d),"undefined"==typeof b&&(b=e);var g,h=this.each(function(){var e=a(this);if(e.is("select")){var h=e.data("selectpicker"),i="object"==typeof b&&b;if(h){if(i)for(var j in i)i.hasOwnProperty(j)&&(h.options[j]=i[j])}else{var k=a.extend({},f.DEFAULTS,a.fn.selectpicker.defaults||{},e.data(),i);e.data("selectpicker",h=new f(this,k,c))}"string"==typeof b&&(g=h[b]instanceof Function?h[b].apply(h,d):h.options[b])}});return"undefined"!=typeof g?g:h}a.expr[":"].icontains=function(c,d,e){return b(a(c).text(),e[3])},a.expr[":"].aicontains=function(c,d,e){return b(a(c).data("normalizedText")||a(c).text(),e[3])};var f=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=f.prototype.val,this.render=f.prototype.render,this.refresh=f.prototype.refresh,this.setStyle=f.prototype.setStyle,this.selectAll=f.prototype.selectAll,this.deselectAll=f.prototype.deselectAll,this.destroy=f.prototype.remove,this.remove=f.prototype.remove,this.show=f.prototype.show,this.hide=f.prototype.hide,this.init()};f.VERSION="1.6.3",f.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", ",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,searchAccentInsensitive:!1},f.prototype={constructor:f,init:function(){var b=this,c=this.$element.attr("id");this.$element.hide(),this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement),this.$menu=this.$newElement.children(".dropdown-menu"),this.$button=this.$newElement.children("button"),this.$searchbox=this.$newElement.find("input"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.liHeight(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile()},createDropdown:function(){var b=this.multiple?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'
    '+this.options.header+"
    ":"",g=this.options.liveSearch?'":"",h=this.options.actionsBox?'
    ":"",i='
    ';return a(i)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul").append(b),a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menu.find("ul").append(a)},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var b=this,e=[],f=0,g=function(a,b,c,d){return""+a+""},h=function(a,e,f){var g=c(d(a));return''+a+''};return this.$element.find("option").each(function(c){var d=a(this),i=d.attr("class")||"",j=d.attr("style"),k=d.data("content")?d.data("content"):d.html(),l="undefined"!=typeof d.data("subtext")?''+d.data("subtext")+"":"",m="undefined"!=typeof d.data("icon")?' ':"",n=d.is(":disabled")||d.parent().is(":disabled");if(""!==m&&n&&(m=""+m+""),d.data("content")||(k=m+''+k+l+""),!b.options.hideDisabled||!n)if(d.parent().is("optgroup")&&d.data("divider")!==!0){if(0===d.index()){f+=1;var o=d.parent().attr("label"),p="undefined"!=typeof d.parent().data("subtext")?''+d.parent().data("subtext")+"":"",q=d.parent().data("icon")?' ':"";o=q+''+o+p+"",0!==c&&e.length>0&&e.push(g("",null,"divider")),e.push(g(o,null,"dropdown-header",f))}e.push(g(h(k,"opt "+i,j),c,"",f))}else e.push(d.data("divider")===!0?g("",c,"divider"):d.data("hidden")===!0?g(h(k,i,j),c,"hidden is-hidden"):g(h(k,i,j),c))}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),a(e.join(""))},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c=this;b!==!1&&this.$element.find("option").each(function(b){c.setDisabled(b,a(this).is(":disabled")||a(this).parent().is(":disabled")),c.setSelected(b,a(this).is(":selected"))}),this.tabIndex();var d=this.options.hideDisabled?":not([disabled])":"",e=this.$element.find("option:selected"+d).map(function(){var b,d=a(this),e=d.data("icon")&&c.options.showIcon?' ':"";return b=c.options.showSubtext&&d.attr("data-subtext")&&!c.multiple?' '+d.data("subtext")+"":"","undefined"!=typeof d.attr("title")?d.attr("title"):d.data("content")&&c.options.showContent?d.data("content"):e+d.html()+b}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){d=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+d).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}this.options.title=this.$element.attr("title"),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$newElement.find(".filter-option").html(f)},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(){if(this.options.size!==!1){var a=this.$menu.parent().clone().children(".dropdown-toggle").prop("autofocus",!1).end().appendTo("body"),b=a.addClass("open").children(".dropdown-menu"),c=b.find("li").not(".divider").not(".dropdown-header").filter(":visible").children("a").outerHeight(),d=this.options.header?b.find(".popover-title").outerHeight():0,e=this.options.liveSearch?b.find(".bs-searchbox").outerHeight():0,f=this.options.actionsBox?b.find(".bs-actionsbox").outerHeight():0;a.remove(),this.$newElement.data("liHeight",c).data("headerHeight",d).data("searchHeight",e).data("actionsHeight",f)}},setSize:function(){this.findLis();var b,c,d,e=this,f=this.$menu,g=f.find(".inner"),h=this.$newElement.outerHeight(),i=this.$newElement.data("liHeight"),j=this.$newElement.data("headerHeight"),k=this.$newElement.data("searchHeight"),l=this.$newElement.data("actionsHeight"),m=this.$lis.filter(".divider").outerHeight(!0),n=parseInt(f.css("padding-top"))+parseInt(f.css("padding-bottom"))+parseInt(f.css("border-top-width"))+parseInt(f.css("border-bottom-width")),o=this.options.hideDisabled?", .disabled":"",p=a(window),q=n+parseInt(f.css("margin-top"))+parseInt(f.css("margin-bottom"))+2,r=function(){c=e.$newElement.offset().top-p.scrollTop(),d=p.height()-c-h};if(r(),this.options.header&&f.css("padding-top",0),"auto"==this.options.size){var s=function(){var a,h=e.$lis.not(".hidden");r(),b=d-q,e.options.dropupAuto&&e.$newElement.toggleClass("dropup",c>d&&b-q3?3*i+q-2:0,f.css({"max-height":b+"px",overflow:"hidden","min-height":a+j+k+l+"px"}),g.css({"max-height":b-j-k-l-n+"px","overflow-y":"auto","min-height":Math.max(a-n,0)+"px"})};s(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",s),p.off("resize.getSize").on("resize.getSize",s),p.off("scroll.getSize").on("scroll.getSize",s)}else if(this.options.size&&"auto"!=this.options.size&&f.find("li"+o).length>this.options.size){var t=this.$lis.not(".divider"+o).children().slice(0,this.options.size).last().parent().index(),u=this.$lis.slice(0,t+1).filter(".divider").length;b=i*this.options.size+u*m+n,e.options.dropupAuto&&this.$newElement.toggleClass("dropup",c>d&&b",f=a(e),g=function(a){f.addClass(a.attr("class").replace(/form-control/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,f.css({top:b.top+c,left:b.left,width:a[0].offsetWidth,position:"absolute"})};this.$newElement.on("click",function(){d.isDisabled()||(g(a(this)),f.appendTo(d.options.container),f.toggleClass("open",!a(this).hasClass("open")),f.append(d.$menu))}),a(window).resize(function(){g(d.$newElement)}),a(window).on("scroll",function(){g(d.$newElement)}),a("html").on("click",function(b){a(b.target).closest(d.$newElement).length<1&&f.removeClass("open")})},setSelected:function(a,b){this.findLis(),this.$lis.filter('[data-original-index="'+a+'"]').toggleClass("selected",b)},setDisabled:function(a,b){this.findLis(),b?this.$lis.filter('[data-original-index="'+a+'"]').addClass("disabled").find("a").attr("href","#").attr("tabindex",-1):this.$lis.filter('[data-original-index="'+a+'"]').removeClass("disabled").find("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element.is(":disabled")},checkDisabled:function(){var a=this;this.isDisabled()?this.$button.addClass("disabled").attr("tabindex",-1):(this.$button.hasClass("disabled")&&this.$button.removeClass("disabled"),-1==this.$button.attr("tabindex")&&(this.$element.data("tabindex")||this.$button.removeAttr("tabindex"))),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.is("[tabindex]")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex")))},clickListener:function(){var b=this;this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),this.$newElement.on("click",function(){b.setSize(),b.options.liveSearch||b.multiple||setTimeout(function(){b.$menu.find(".selected a").focus()},10)}),this.$menu.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l
    ');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("
    "+r+"
    ")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("
    "+s+"
    ")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menu.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.change()}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(a){a.currentTarget==this&&(a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus())}),this.$menu.on("click","li.divider, li.dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.focus()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).is(".bs-select-all")?b.selectAll():b.deselectAll(),b.$element.change()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var b=this,e=a('
  • ');this.$newElement.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){b.$menu.find(".active").removeClass("active"),b.$searchbox.val()&&(b.$searchbox.val(""),b.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),b.multiple||b.$menu.find(".selected").addClass("active"),setTimeout(function(){b.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){b.$searchbox.val()?(b.options.searchAccentInsensitive?b.$lis.not(".is-hidden").removeClass("hidden").find("a").not(":aicontains("+c(b.$searchbox.val())+")").parent().addClass("hidden"):b.$lis.not(".is-hidden").removeClass("hidden").find("a").not(":icontains("+b.$searchbox.val()+")").parent().addClass("hidden"),b.$lis.filter(".dropdown-header").each(function(){var c=a(this),d=c.data("optgroup");0===b.$lis.filter("[data-optgroup="+d+"]").not(c).filter(":visible").length&&c.addClass("hidden")}),b.$menu.find("li").filter(":visible:not(.no-results)").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(b.options.noneResultsText.replace("{0}",'"'+d(b.$searchbox.val())+'"')).show(),b.$menu.find("li").last().after(e))):(b.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),b.$menu.find("li.active").removeClass("active"),b.$menu.find("li").filter(":visible:not(.divider)").eq(0).addClass("active").find("a").focus(),a(this).focus()})},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},selectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").not(".selected").filter(":visible").find("a").click()},deselectAll:function(){this.findLis(),this.$lis.not(".divider").not(".disabled").filter(".selected").filter(":visible").find("a").click()},keydown:function(b){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li a",n),l=o.$menu.parent().hasClass("open"),!l&&/([0-9]|[A-z])/.test(String.fromCharCode(b.keyCode))&&(o.options.container?o.$newElement.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(b.preventDefault(),o.$menu.parent().removeClass("open"),o.$button.focus()),d=a("[role=menu] li:not(.divider):not(.dropdown-header):visible",n),m.val()||/(38|40)/.test(b.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$newElement.find("li").filter(o.options.searchAccentInsensitive?":aicontains("+c(p[b.keyCode])+")":":icontains("+p[b.keyCode]+")"))),d.length){if(/(38|40)/.test(b.keyCode.toString(10)))e=d.index(d.filter(":focus")),g=d.parent(":not(.disabled):visible").first().index(),h=d.parent(":not(.disabled):visible").last().index(),f=d.eq(e).parent().nextAll(":not(.disabled):visible").eq(0).index(),i=d.eq(e).parent().prevAll(":not(.disabled):visible").eq(0).index(),j=d.eq(f).parent().prevAll(":not(.disabled):visible").eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).is(":not(.disabled)")&&a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.filter(":not(.disabled):visible").first().data("index"),h=d.filter(":not(.disabled):visible").last().data("index"),f=d.eq(e).nextAll(":not(.disabled):visible").eq(0).data("index"),i=d.eq(e).prevAll(":not(.disabled):visible").eq(0).data("index"),j=d.eq(f).prevAll(":not(.disabled):visible").eq(0).data("index")),k=m.data("prevIndex"),38==b.keyCode&&(o.options.liveSearch&&(e-=1),e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)),40==b.keyCode&&(o.options.liveSearch&&(e+=1),-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(b.preventDefault(),m.is(".dropdown-toggle")||(d.removeClass("active"),d.eq(e).addClass("active").find("a").focus(),m.focus())):d.eq(e).focus();else if(!m.is("input")){var q,r,s=[];d.each(function(){a(this).parent().is(":not(.disabled)")&&a.trim(a(this).text().toLowerCase()).substring(0,1)==p[b.keyCode]&&s.push(a(this).parent().index())}),q=a(document).data("keycount"),q++,a(document).data("keycount",q),r=a.trim(a(":focus").text().toLowerCase()).substring(0,1),r!=p[b.keyCode]?(q=1,a(document).data("keycount",q)):q>=s.length&&(a(document).data("keycount",0),q>s.length&&(q=1)),d.eq(s[q-1]).focus()}if((/(13|32)/.test(b.keyCode.toString(10))||/(^9$)/.test(b.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(b.keyCode.toString(10))||b.preventDefault(),o.options.liveSearch)/(32)/.test(b.keyCode.toString(10))||(o.$menu.find(".active a").click(),m.focus());else{var t=a(":focus");t.click(),t.focus(),b.preventDefault()}a(document).data("keycount",0)}(/(^9$|27)/.test(b.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(b.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device").appendTo(this.$newElement),this.options.container&&this.$menu.hide()},refresh:function(){this.$lis=null,this.reloadLi(),this.render(),this.setWidth(),this.setStyle(),this.checkDisabled(),this.liHeight()},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()}};var g=a.fn.selectpicker;a.fn.selectpicker=e,a.fn.selectpicker.Constructor=f,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=g,this},a(document).data("keycount",0).on("keydown",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",f.prototype.keydown).on("focusin.modal",".bootstrap-select [data-toggle=dropdown], .bootstrap-select [role=menu], .bs-searchbox input",function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);e.call(b,b.data())})})}(jQuery); +//# sourceMappingURL=bootstrap-select.js.map \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-cs_CZ.js b/src/www/themes/sample/build/js/i18n/defaults-cs_CZ.js new file mode 100644 index 000000000..55a5829b7 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-cs_CZ.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic není vybráno', + noneResultsText: 'Žádné výsledky {0}', + countSelectedText: 'Označeno {0} z {1}', + maxOptionsText: ['Limit překročen ({n} {var} max)', 'Limit skupiny překročen ({n} {var} max)', ['položek', 'položka']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-cs_CZ.min.js b/src/www/themes/sample/build/js/i18n/defaults-cs_CZ.min.js new file mode 100644 index 000000000..10154fae9 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-cs_CZ.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic není vybráno",noneResultsText:"Žádné výsledky {0}",countSelectedText:"Označeno {0} z {1}",maxOptionsText:["Limit překročen ({n} {var} max)","Limit skupiny překročen ({n} {var} max)",["položek","položka"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-de_DE.js b/src/www/themes/sample/build/js/i18n/defaults-de_DE.js new file mode 100644 index 000000000..fac9319fe --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-de_DE.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Bitte wählen...', + noneResultsText: 'Keine Ergebnisse für {0}', + countSelectedText: '{0} von {1} ausgewählt', + maxOptionsText: ['Limit erreicht ({n} {var} max.)', 'Gruppen-Limit erreicht ({n} {var} max.)', ['Eintrag', 'Einträge']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-de_DE.min.js b/src/www/themes/sample/build/js/i18n/defaults-de_DE.min.js new file mode 100644 index 000000000..a59a79ed5 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-de_DE.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Bitte wählen...",noneResultsText:"Keine Ergebnisse für {0}",countSelectedText:"{0} von {1} ausgewählt",maxOptionsText:["Limit erreicht ({n} {var} max.)","Gruppen-Limit erreicht ({n} {var} max.)",["Eintrag","Einträge"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-en_US.js b/src/www/themes/sample/build/js/i18n/defaults-en_US.js new file mode 100644 index 000000000..10d24a2d1 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-en_US.js @@ -0,0 +1,26 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nothing selected', + noneResultsText: 'No results match {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} item selected" : "{0} items selected"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll == 1) ? 'Limit reached ({n} item max)' : 'Limit reached ({n} items max)'; + arr[1] = (numGroup == 1) ? 'Group limit reached ({n} item max)' : 'Group limit reached ({n} items max)'; + + return arr; + }, + selectAllText: 'Select All', + deselectAllText: 'Deselect All', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-en_US.min.js b/src/www/themes/sample/build/js/i18n/defaults-en_US.min.js new file mode 100644 index 000000000..ced385be9 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-en_US.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nothing selected",noneResultsText:"No results match {0}",countSelectedText:function(a){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",c[1]=1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)",c},selectAllText:"Select All",deselectAllText:"Deselect All",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-es_CL.js b/src/www/themes/sample/build/js/i18n/defaults-es_CL.js new file mode 100644 index 000000000..407b891d6 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-es_CL.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'No hay selección', + noneResultsText: 'No hay resultados {0}', + countSelectedText: 'Seleccionados {0} de {1}', + maxOptionsText: ['Límite alcanzado ({n} {var} max)', 'Límite del grupo alcanzado({n} {var} max)', ['elementos', 'element']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-es_CL.min.js b/src/www/themes/sample/build/js/i18n/defaults-es_CL.min.js new file mode 100644 index 000000000..990ab7f25 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-es_CL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"No hay selección",noneResultsText:"No hay resultados {0}",countSelectedText:"Seleccionados {0} de {1}",maxOptionsText:["Límite alcanzado ({n} {var} max)","Límite del grupo alcanzado({n} {var} max)",["elementos","element"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-eu.js b/src/www/themes/sample/build/js/i18n/defaults-eu.js new file mode 100644 index 000000000..3b936a952 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-eu.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hautapenik ez', + noneResultsText: 'Emaitzarik ez {0}', + countSelectedText: '{1}(e)tik {0} hautatuta', + maxOptionsText: ['Mugara iritsita ({n} {var} gehienez)', 'Taldearen mugara iritsita ({n} {var} gehienez)', ['elementu', 'elementu']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-eu.min.js b/src/www/themes/sample/build/js/i18n/defaults-eu.min.js new file mode 100644 index 000000000..99846dee9 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-eu.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hautapenik ez",noneResultsText:"Emaitzarik ez {0}",countSelectedText:"{1}(e)tik {0} hautatuta",maxOptionsText:["Mugara iritsita ({n} {var} gehienez)","Taldearen mugara iritsita ({n} {var} gehienez)",["elementu","elementu"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-fr_FR.js b/src/www/themes/sample/build/js/i18n/defaults-fr_FR.js new file mode 100644 index 000000000..9b3923266 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-fr_FR.js @@ -0,0 +1,24 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Aucune sélection', + noneResultsText: 'Aucun résultat pour {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected > 1) ? "{0} éléments sélectionés" : "{0} élément sélectioné"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + + arr[0] = (numAll > 1) ? 'Limite atteinte ({n} éléments max)' : 'Limite atteinte ({n} élément max)'; + arr[1] = (numGroup > 1) ? 'Limite du groupe atteinte ({n} éléments max)' : 'Limite du groupe atteinte ({n} élément max)'; + + return arr; + }, + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-fr_FR.min.js b/src/www/themes/sample/build/js/i18n/defaults-fr_FR.min.js new file mode 100644 index 000000000..62390475e --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-fr_FR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Aucune sélection",noneResultsText:"Aucun résultat pour {0}",countSelectedText:function(a){return a>1?"{0} éléments sélectionés":"{0} élément sélectioné"},maxOptionsText:function(a,b){var c=[];return c[0]=a>1?"Limite atteinte ({n} éléments max)":"Limite atteinte ({n} élément max)",c[1]=b>1?"Limite du groupe atteinte ({n} éléments max)":"Limite du groupe atteinte ({n} élément max)",c},multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-hu_HU.js b/src/www/themes/sample/build/js/i18n/defaults-hu_HU.js new file mode 100644 index 000000000..7de8a43db --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-hu_HU.js @@ -0,0 +1,24 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Válasszon!', + noneResultsText: 'Nincs találat {0}', + countSelectedText: function (numSelected, numTotal) { + return '{n} elem kiválasztva'; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = 'Legfeljebb {n} elem választható'; + arr[1] = 'A csoportban legfeljebb {n} elem választható'; + return arr; + }, + selectAllText: 'Mind', + deselectAllText: 'Egyik sem', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-hu_HU.min.js b/src/www/themes/sample/build/js/i18n/defaults-hu_HU.min.js new file mode 100644 index 000000000..d0b39c532 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-hu_HU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Válasszon!",noneResultsText:"Nincs találat {0}",countSelectedText:function(){return"{n} elem kiválasztva"},maxOptionsText:function(){var a=[];return a[0]="Legfeljebb {n} elem választható",a[1]="A csoportban legfeljebb {n} elem választható",a},selectAllText:"Mind",deselectAllText:"Egyik sem",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-it_IT.js b/src/www/themes/sample/build/js/i18n/defaults-it_IT.js new file mode 100644 index 000000000..c53846161 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-it_IT.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nessuna selezione', + noneResultsText: 'Nessun risultato per {0}', + countSelectedText: 'Selezionati {0} di {1}', + maxOptionsText: ['Limite raggiunto ({n} {var} max)', 'Limite del gruppo raggiunto ({n} {var} max)', ['elementi', 'elemento']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-it_IT.min.js b/src/www/themes/sample/build/js/i18n/defaults-it_IT.min.js new file mode 100644 index 000000000..eea78f475 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-it_IT.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nessuna selezione",noneResultsText:"Nessun risultato per {0}",countSelectedText:"Selezionati {0} di {1}",maxOptionsText:["Limite raggiunto ({n} {var} max)","Limite del gruppo raggiunto ({n} {var} max)",["elementi","elemento"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-nl_NL.js b/src/www/themes/sample/build/js/i18n/defaults-nl_NL.js new file mode 100644 index 000000000..4f1d4c604 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-nl_NL.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Niets geselecteerd', + noneResultsText: 'Geen resultaten gevonden voor {0}', + countSelectedText: '{0} van {1} geselecteerd', + maxOptionsText: ['Limiet bereikt ({n} {var} max)', 'Groep limiet bereikt ({n} {var} max)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-nl_NL.min.js b/src/www/themes/sample/build/js/i18n/defaults-nl_NL.min.js new file mode 100644 index 000000000..b26e84f52 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-nl_NL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Niets geselecteerd",noneResultsText:"Geen resultaten gevonden voor {0}",countSelectedText:"{0} van {1} geselecteerd",maxOptionsText:["Limiet bereikt ({n} {var} max)","Groep limiet bereikt ({n} {var} max)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-pl_PL.js b/src/www/themes/sample/build/js/i18n/defaults-pl_PL.js new file mode 100644 index 000000000..719be5745 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-pl_PL.js @@ -0,0 +1,17 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nic nie zaznaczono', + noneResultsText: 'Brak wyników wyszukiwania {0}', + countSelectedText: 'Zaznaczono {0} z {1}', + maxOptionsText: ['Osiągnięto limit ({n} {var} max)', 'Limit grupy osiągnięty ({n} {var} max)', ['elementy', 'element']], + selectAll: 'Zaznacz wszystkie', + deselectAll: 'Odznacz wszystkie', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-pl_PL.min.js b/src/www/themes/sample/build/js/i18n/defaults-pl_PL.min.js new file mode 100644 index 000000000..dc4f9b93f --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-pl_PL.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nic nie zaznaczono",noneResultsText:"Brak wyników wyszukiwania {0}",countSelectedText:"Zaznaczono {0} z {1}",maxOptionsText:["Osiągnięto limit ({n} {var} max)","Limit grupy osiągnięty ({n} {var} max)",["elementy","element"]],selectAll:"Zaznacz wszystkie",deselectAll:"Odznacz wszystkie",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-pt_BR.js b/src/www/themes/sample/build/js/i18n/defaults-pt_BR.js new file mode 100644 index 000000000..57d69bf86 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-pt_BR.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nada selecionado', + noneResultsText: 'Nada encontrado contendo {0}', + countSelectedText: 'Selecionado {0} de {1}', + maxOptionsText: ['Limite excedido (máx. {n} {var})', 'Limite do grupo excedido (máx. {n} {var})', ['itens', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-pt_BR.min.js b/src/www/themes/sample/build/js/i18n/defaults-pt_BR.min.js new file mode 100644 index 000000000..808db8f75 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-pt_BR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nada selecionado",noneResultsText:"Nada encontrado contendo {0}",countSelectedText:"Selecionado {0} de {1}",maxOptionsText:["Limite excedido (máx. {n} {var})","Limite do grupo excedido (máx. {n} {var})",["itens","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-ro_RO.js b/src/www/themes/sample/build/js/i18n/defaults-ro_RO.js new file mode 100644 index 000000000..588aa4eb1 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-ro_RO.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Nu a fost selectat nimic', + noneResultsText: 'Nu exista niciun rezultat {0}', + countSelectedText: '{0} din {1} selectat(e)', + maxOptionsText: ['Limita a fost atinsa ({n} {var} max)', 'Limita de grup a fost atinsa ({n} {var} max)', ['iteme', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-ro_RO.min.js b/src/www/themes/sample/build/js/i18n/defaults-ro_RO.min.js new file mode 100644 index 000000000..f2a3454b8 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-ro_RO.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Nu a fost selectat nimic",noneResultsText:"Nu exista niciun rezultat {0}",countSelectedText:"{0} din {1} selectat(e)",maxOptionsText:["Limita a fost atinsa ({n} {var} max)","Limita de grup a fost atinsa ({n} {var} max)",["iteme","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-ru_RU.js b/src/www/themes/sample/build/js/i18n/defaults-ru_RU.js new file mode 100644 index 000000000..5beb2dea7 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-ru_RU.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Ничего не выбрано', + noneResultsText: 'Совпадений не найдено {0}', + countSelectedText: 'Выбрано {0} из {1}', + maxOptionsText: ['Достигнут предел ({n} {var} максимум)', 'Достигнут предел в группе ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-ru_RU.min.js b/src/www/themes/sample/build/js/i18n/defaults-ru_RU.min.js new file mode 100644 index 000000000..fad772509 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-ru_RU.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Ничего не выбрано",noneResultsText:"Совпадений не найдено {0}",countSelectedText:"Выбрано {0} из {1}",maxOptionsText:["Достигнут предел ({n} {var} максимум)","Достигнут предел в группе ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-tr_TR.js b/src/www/themes/sample/build/js/i18n/defaults-tr_TR.js new file mode 100644 index 000000000..eaca9778d --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-tr_TR.js @@ -0,0 +1,24 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Hiçbiri seçilmedi', + noneResultsText: 'Hiçbir sonuç bulunamadı {0}', + countSelectedText: function (numSelected, numTotal) { + return (numSelected == 1) ? "{0} öğe seçildi" : "{0} öğe seçildi"; + }, + maxOptionsText: function (numAll, numGroup) { + var arr = []; + arr[0] = (numAll == 1) ? 'Limit aşıldı (maksimum {n} sayıda öğe )' : 'Limit aşıldı (maksimum {n} sayıda öğe)'; + arr[1] = (numGroup == 1) ? 'Grup limiti aşıldı (maksimum {n} sayıda öğe)' : 'Grup limiti aşıldı (maksimum {n} sayıda öğe)'; + return arr; + }, + selectAllText: 'Tümünü Seç', + deselectAllText: 'Seçiniz', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-tr_TR.min.js b/src/www/themes/sample/build/js/i18n/defaults-tr_TR.min.js new file mode 100644 index 000000000..00c3c4010 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-tr_TR.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Hiçbiri seçilmedi",noneResultsText:"Hiçbir sonuç bulunamadı {0}",countSelectedText:function(a){return"{0} öğe seçildi"},maxOptionsText:function(a,b){var c=[];return c[0]=1==a?"Limit aşıldı (maksimum {n} sayıda öğe )":"Limit aşıldı (maksimum {n} sayıda öğe)",c[1]="Grup limiti aşıldı (maksimum {n} sayıda öğe)",c},selectAllText:"Tümünü Seç",deselectAllText:"Seçiniz",multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-ua_UA.js b/src/www/themes/sample/build/js/i18n/defaults-ua_UA.js new file mode 100644 index 000000000..a842be858 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-ua_UA.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: 'Нічого не вибрано', + noneResultsText: 'Збігів не знайдено {0}', + countSelectedText: 'Вибрано {0} із {1}', + maxOptionsText: ['Досягнута межа ({n} {var} максимум)', 'Досягнута межа в групі ({n} {var} максимум)', ['items', 'item']], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-ua_UA.min.js b/src/www/themes/sample/build/js/i18n/defaults-ua_UA.min.js new file mode 100644 index 000000000..f529bd472 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-ua_UA.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"Нічого не вибрано",noneResultsText:"Збігів не знайдено {0}",countSelectedText:"Вибрано {0} із {1}",maxOptionsText:["Досягнута межа ({n} {var} максимум)","Досягнута межа в групі ({n} {var} максимум)",["items","item"]],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-zh_CN.js b/src/www/themes/sample/build/js/i18n/defaults-zh_CN.js new file mode 100644 index 000000000..598b6b268 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-zh_CN.js @@ -0,0 +1,15 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '没有选中任何项', + noneResultsText: '没有找到匹配项', + countSelectedText: '选中{1}中的{0}项', + maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'], + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-zh_CN.min.js b/src/www/themes/sample/build/js/i18n/defaults-zh_CN.min.js new file mode 100644 index 000000000..f2b39c59c --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-zh_CN.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"没有选中任何项",noneResultsText:"没有找到匹配项",countSelectedText:"选中{1}中的{0}项",maxOptionsText:["超出限制 (最多选择{n}项)","组选择超出限制(最多选择{n}组)"],multipleSeparator:", "}}(jQuery); \ No newline at end of file diff --git a/src/www/themes/sample/build/js/i18n/defaults-zh_TW.js b/src/www/themes/sample/build/js/i18n/defaults-zh_TW.js new file mode 100644 index 000000000..a7ca6c340 --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-zh_TW.js @@ -0,0 +1,17 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +(function ($) { + $.fn.selectpicker.defaults = { + noneSelectedText: '沒有選取任何項目', + noneResultsText: '沒有找到符合的結果', + countSelectedText: '已經選取{0}個項目', + maxOptionsText: ['超過限制 (最多選擇{n}項)', '超過限制(最多選擇{n}組)'], + selectAllText: '選取全部', + deselectAllText: '全部取消', + multipleSeparator: ', ' + }; +}(jQuery)); diff --git a/src/www/themes/sample/build/js/i18n/defaults-zh_TW.min.js b/src/www/themes/sample/build/js/i18n/defaults-zh_TW.min.js new file mode 100644 index 000000000..a3391cd2e --- /dev/null +++ b/src/www/themes/sample/build/js/i18n/defaults-zh_TW.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select) + * + * Copyright 2013-2014 bootstrap-select + * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE) + */ +!function(a){a.fn.selectpicker.defaults={noneSelectedText:"沒有選取任何項目",noneResultsText:"沒有找到符合的結果",countSelectedText:"已經選取{0}個項目",maxOptionsText:["超過限制 (最多選擇{n}項)","超過限制(最多選擇{n}組)"],selectAllText:"選取全部",deselectAllText:"全部取消",multipleSeparator:", "}}(jQuery); \ No newline at end of file