From e6d54408cd68c18b6dfdaa1ab9734541d7c93088 Mon Sep 17 00:00:00 2001 From: blobt <380255922@qq.com> Date: Thu, 29 Aug 2019 11:54:13 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vendor/blobt/assets/alertifyjs/alertify.js | 3609 +++++++++++++ .../blobt/assets/alertifyjs/alertify.min.js | 3 + .../blobt/assets/alertifyjs/css/alertify.css | 938 ++++ .../assets/alertifyjs/css/alertify.min.css | 6 + .../assets/alertifyjs/css/alertify.rtl.css | 938 ++++ .../alertifyjs/css/alertify.rtl.min.css | 6 + .../alertifyjs/css/themes/bootstrap.css | 61 + .../alertifyjs/css/themes/bootstrap.min.css | 6 + .../alertifyjs/css/themes/bootstrap.rtl.css | 61 + .../css/themes/bootstrap.rtl.min.css | 6 + .../assets/alertifyjs/css/themes/default.css | 69 + .../alertifyjs/css/themes/default.min.css | 6 + .../alertifyjs/css/themes/default.rtl.css | 69 + .../alertifyjs/css/themes/default.rtl.min.css | 6 + .../assets/alertifyjs/css/themes/semantic.css | 89 + .../alertifyjs/css/themes/semantic.min.css | 6 + .../alertifyjs/css/themes/semantic.rtl.css | 89 + .../css/themes/semantic.rtl.min.css | 6 + vendor/blobt/assets/grid/css/grid.css | 7 +- vendor/blobt/assets/iCheck/all.css | 61 + vendor/blobt/assets/iCheck/flat/_all.css | 560 ++ vendor/blobt/assets/iCheck/flat/aero.css | 56 + vendor/blobt/assets/iCheck/flat/aero.png | Bin 0 -> 1520 bytes vendor/blobt/assets/iCheck/flat/aero@2x.png | Bin 0 -> 3218 bytes vendor/blobt/assets/iCheck/flat/blue.css | 56 + vendor/blobt/assets/iCheck/flat/blue.png | Bin 0 -> 1518 bytes vendor/blobt/assets/iCheck/flat/blue@2x.png | Bin 0 -> 3217 bytes vendor/blobt/assets/iCheck/flat/flat.css | 56 + vendor/blobt/assets/iCheck/flat/flat.png | Bin 0 -> 1515 bytes vendor/blobt/assets/iCheck/flat/flat@2x.png | Bin 0 -> 3217 bytes vendor/blobt/assets/iCheck/flat/green.css | 56 + vendor/blobt/assets/iCheck/flat/green.png | Bin 0 -> 1444 bytes vendor/blobt/assets/iCheck/flat/green@2x.png | Bin 0 -> 3117 bytes vendor/blobt/assets/iCheck/flat/grey.css | 56 + vendor/blobt/assets/iCheck/flat/grey.png | Bin 0 -> 1516 bytes vendor/blobt/assets/iCheck/flat/grey@2x.png | Bin 0 -> 3217 bytes vendor/blobt/assets/iCheck/flat/orange.css | 56 + vendor/blobt/assets/iCheck/flat/orange.png | Bin 0 -> 1518 bytes vendor/blobt/assets/iCheck/flat/orange@2x.png | Bin 0 -> 3275 bytes vendor/blobt/assets/iCheck/flat/pink.css | 56 + vendor/blobt/assets/iCheck/flat/pink.png | Bin 0 -> 1522 bytes vendor/blobt/assets/iCheck/flat/pink@2x.png | Bin 0 -> 3218 bytes vendor/blobt/assets/iCheck/flat/purple.css | 56 + vendor/blobt/assets/iCheck/flat/purple.png | Bin 0 -> 1519 bytes vendor/blobt/assets/iCheck/flat/purple@2x.png | Bin 0 -> 3218 bytes vendor/blobt/assets/iCheck/flat/red.css | 56 + vendor/blobt/assets/iCheck/flat/red.png | Bin 0 -> 1516 bytes vendor/blobt/assets/iCheck/flat/red@2x.png | Bin 0 -> 3276 bytes vendor/blobt/assets/iCheck/flat/yellow.css | 56 + vendor/blobt/assets/iCheck/flat/yellow.png | Bin 0 -> 1516 bytes vendor/blobt/assets/iCheck/flat/yellow@2x.png | Bin 0 -> 3216 bytes .../blobt/assets/iCheck/futurico/futurico.css | 56 + .../blobt/assets/iCheck/futurico/futurico.png | Bin 0 -> 1734 bytes .../assets/iCheck/futurico/futurico@2x.png | Bin 0 -> 3446 bytes vendor/blobt/assets/iCheck/icheck.js | 478 ++ vendor/blobt/assets/iCheck/icheck.min.js | 10 + vendor/blobt/assets/iCheck/line/_all.css | 740 +++ vendor/blobt/assets/iCheck/line/aero.css | 74 + vendor/blobt/assets/iCheck/line/blue.css | 74 + vendor/blobt/assets/iCheck/line/green.css | 74 + vendor/blobt/assets/iCheck/line/grey.css | 74 + vendor/blobt/assets/iCheck/line/line.css | 74 + vendor/blobt/assets/iCheck/line/line.png | Bin 0 -> 588 bytes vendor/blobt/assets/iCheck/line/line@2x.png | Bin 0 -> 1073 bytes vendor/blobt/assets/iCheck/line/orange.css | 74 + vendor/blobt/assets/iCheck/line/pink.css | 74 + vendor/blobt/assets/iCheck/line/purple.css | 74 + vendor/blobt/assets/iCheck/line/red.css | 74 + vendor/blobt/assets/iCheck/line/yellow.css | 74 + vendor/blobt/assets/iCheck/minimal/_all.css | 557 ++ vendor/blobt/assets/iCheck/minimal/aero.css | 62 + vendor/blobt/assets/iCheck/minimal/aero.png | Bin 0 -> 1151 bytes .../blobt/assets/iCheck/minimal/aero@2x.png | Bin 0 -> 1409 bytes vendor/blobt/assets/iCheck/minimal/blue.css | 62 + vendor/blobt/assets/iCheck/minimal/blue.png | Bin 0 -> 1132 bytes .../blobt/assets/iCheck/minimal/blue@2x.png | Bin 0 -> 1410 bytes vendor/blobt/assets/iCheck/minimal/green.css | 62 + vendor/blobt/assets/iCheck/minimal/green.png | Bin 0 -> 1143 bytes .../blobt/assets/iCheck/minimal/green@2x.png | Bin 0 -> 1408 bytes vendor/blobt/assets/iCheck/minimal/grey.css | 62 + vendor/blobt/assets/iCheck/minimal/grey.png | Bin 0 -> 1142 bytes .../blobt/assets/iCheck/minimal/grey@2x.png | Bin 0 -> 1407 bytes .../blobt/assets/iCheck/minimal/minimal.css | 62 + .../blobt/assets/iCheck/minimal/minimal.png | Bin 0 -> 1114 bytes .../assets/iCheck/minimal/minimal@2x.png | Bin 0 -> 1410 bytes vendor/blobt/assets/iCheck/minimal/orange.css | 62 + vendor/blobt/assets/iCheck/minimal/orange.png | Bin 0 -> 1139 bytes .../blobt/assets/iCheck/minimal/orange@2x.png | Bin 0 -> 1407 bytes vendor/blobt/assets/iCheck/minimal/pink.css | 62 + vendor/blobt/assets/iCheck/minimal/pink.png | Bin 0 -> 1150 bytes .../blobt/assets/iCheck/minimal/pink@2x.png | Bin 0 -> 1409 bytes vendor/blobt/assets/iCheck/minimal/purple.css | 62 + vendor/blobt/assets/iCheck/minimal/purple.png | Bin 0 -> 1132 bytes .../blobt/assets/iCheck/minimal/purple@2x.png | Bin 0 -> 1409 bytes vendor/blobt/assets/iCheck/minimal/red.css | 62 + vendor/blobt/assets/iCheck/minimal/red.png | Bin 0 -> 1130 bytes vendor/blobt/assets/iCheck/minimal/red@2x.png | Bin 0 -> 1410 bytes vendor/blobt/assets/iCheck/minimal/yellow.css | 62 + vendor/blobt/assets/iCheck/minimal/yellow.png | Bin 0 -> 1135 bytes .../blobt/assets/iCheck/minimal/yellow@2x.png | Bin 0 -> 1406 bytes .../blobt/assets/iCheck/polaris/polaris.css | 62 + .../blobt/assets/iCheck/polaris/polaris.png | Bin 0 -> 6401 bytes .../assets/iCheck/polaris/polaris@2x.png | Bin 0 -> 16760 bytes vendor/blobt/assets/iCheck/square/_all.css | 620 +++ vendor/blobt/assets/iCheck/square/aero.css | 62 + vendor/blobt/assets/iCheck/square/aero.png | Bin 0 -> 2167 bytes vendor/blobt/assets/iCheck/square/aero@2x.png | Bin 0 -> 4455 bytes vendor/blobt/assets/iCheck/square/blue.css | 62 + vendor/blobt/assets/iCheck/square/blue.png | Bin 0 -> 2185 bytes vendor/blobt/assets/iCheck/square/blue@2x.png | Bin 0 -> 4485 bytes vendor/blobt/assets/iCheck/square/green.css | 62 + vendor/blobt/assets/iCheck/square/green.png | Bin 0 -> 2193 bytes .../blobt/assets/iCheck/square/green@2x.png | Bin 0 -> 4498 bytes vendor/blobt/assets/iCheck/square/grey.css | 62 + vendor/blobt/assets/iCheck/square/grey.png | Bin 0 -> 2186 bytes vendor/blobt/assets/iCheck/square/grey@2x.png | Bin 0 -> 4483 bytes vendor/blobt/assets/iCheck/square/orange.css | 62 + vendor/blobt/assets/iCheck/square/orange.png | Bin 0 -> 2181 bytes .../blobt/assets/iCheck/square/orange@2x.png | Bin 0 -> 4474 bytes vendor/blobt/assets/iCheck/square/pink.css | 62 + vendor/blobt/assets/iCheck/square/pink.png | Bin 0 -> 2189 bytes vendor/blobt/assets/iCheck/square/pink@2x.png | Bin 0 -> 4479 bytes vendor/blobt/assets/iCheck/square/purple.css | 62 + vendor/blobt/assets/iCheck/square/purple.png | Bin 0 -> 2188 bytes .../blobt/assets/iCheck/square/purple@2x.png | Bin 0 -> 4501 bytes vendor/blobt/assets/iCheck/square/red.css | 62 + vendor/blobt/assets/iCheck/square/red.png | Bin 0 -> 2190 bytes vendor/blobt/assets/iCheck/square/red@2x.png | Bin 0 -> 4490 bytes vendor/blobt/assets/iCheck/square/square.css | 62 + vendor/blobt/assets/iCheck/square/square.png | Bin 0 -> 2175 bytes .../blobt/assets/iCheck/square/square@2x.png | Bin 0 -> 4478 bytes vendor/blobt/assets/iCheck/square/yellow.css | 62 + vendor/blobt/assets/iCheck/square/yellow.png | Bin 0 -> 2131 bytes .../blobt/assets/iCheck/square/yellow@2x.png | Bin 0 -> 4385 bytes vendor/blobt/assets/moment/moment.js | 4602 +++++++++++++++++ vendor/blobt/grid/CheckboxColumn.php | 12 +- vendor/blobt/web/AlertifyAsset.php | 48 + vendor/blobt/web/DateRangePickerAsset.php | 0 vendor/blobt/web/DaterangeBootstrapAsset.php | 2 + vendor/blobt/web/GridViewAsset.php | 4 +- vendor/blobt/web/IcheckAsset.php | 48 + vendor/blobt/web/MomentAsset.php | 45 + 142 files changed, 16415 insertions(+), 11 deletions(-) create mode 100644 vendor/blobt/assets/alertifyjs/alertify.js create mode 100644 vendor/blobt/assets/alertifyjs/alertify.min.js create mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.css create mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.rtl.css create mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css create mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css create mode 100644 vendor/blobt/assets/iCheck/all.css create mode 100644 vendor/blobt/assets/iCheck/flat/_all.css create mode 100644 vendor/blobt/assets/iCheck/flat/aero.css create mode 100644 vendor/blobt/assets/iCheck/flat/aero.png create mode 100644 vendor/blobt/assets/iCheck/flat/aero@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/blue.css create mode 100644 vendor/blobt/assets/iCheck/flat/blue.png create mode 100644 vendor/blobt/assets/iCheck/flat/blue@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/flat.css create mode 100644 vendor/blobt/assets/iCheck/flat/flat.png create mode 100644 vendor/blobt/assets/iCheck/flat/flat@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/green.css create mode 100644 vendor/blobt/assets/iCheck/flat/green.png create mode 100644 vendor/blobt/assets/iCheck/flat/green@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/grey.css create mode 100644 vendor/blobt/assets/iCheck/flat/grey.png create mode 100644 vendor/blobt/assets/iCheck/flat/grey@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/orange.css create mode 100644 vendor/blobt/assets/iCheck/flat/orange.png create mode 100644 vendor/blobt/assets/iCheck/flat/orange@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/pink.css create mode 100644 vendor/blobt/assets/iCheck/flat/pink.png create mode 100644 vendor/blobt/assets/iCheck/flat/pink@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/purple.css create mode 100644 vendor/blobt/assets/iCheck/flat/purple.png create mode 100644 vendor/blobt/assets/iCheck/flat/purple@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/red.css create mode 100644 vendor/blobt/assets/iCheck/flat/red.png create mode 100644 vendor/blobt/assets/iCheck/flat/red@2x.png create mode 100644 vendor/blobt/assets/iCheck/flat/yellow.css create mode 100644 vendor/blobt/assets/iCheck/flat/yellow.png create mode 100644 vendor/blobt/assets/iCheck/flat/yellow@2x.png create mode 100644 vendor/blobt/assets/iCheck/futurico/futurico.css create mode 100644 vendor/blobt/assets/iCheck/futurico/futurico.png create mode 100644 vendor/blobt/assets/iCheck/futurico/futurico@2x.png create mode 100644 vendor/blobt/assets/iCheck/icheck.js create mode 100644 vendor/blobt/assets/iCheck/icheck.min.js create mode 100644 vendor/blobt/assets/iCheck/line/_all.css create mode 100644 vendor/blobt/assets/iCheck/line/aero.css create mode 100644 vendor/blobt/assets/iCheck/line/blue.css create mode 100644 vendor/blobt/assets/iCheck/line/green.css create mode 100644 vendor/blobt/assets/iCheck/line/grey.css create mode 100644 vendor/blobt/assets/iCheck/line/line.css create mode 100644 vendor/blobt/assets/iCheck/line/line.png create mode 100644 vendor/blobt/assets/iCheck/line/line@2x.png create mode 100644 vendor/blobt/assets/iCheck/line/orange.css create mode 100644 vendor/blobt/assets/iCheck/line/pink.css create mode 100644 vendor/blobt/assets/iCheck/line/purple.css create mode 100644 vendor/blobt/assets/iCheck/line/red.css create mode 100644 vendor/blobt/assets/iCheck/line/yellow.css create mode 100644 vendor/blobt/assets/iCheck/minimal/_all.css create mode 100644 vendor/blobt/assets/iCheck/minimal/aero.css create mode 100644 vendor/blobt/assets/iCheck/minimal/aero.png create mode 100644 vendor/blobt/assets/iCheck/minimal/aero@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/blue.css create mode 100644 vendor/blobt/assets/iCheck/minimal/blue.png create mode 100644 vendor/blobt/assets/iCheck/minimal/blue@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/green.css create mode 100644 vendor/blobt/assets/iCheck/minimal/green.png create mode 100644 vendor/blobt/assets/iCheck/minimal/green@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/grey.css create mode 100644 vendor/blobt/assets/iCheck/minimal/grey.png create mode 100644 vendor/blobt/assets/iCheck/minimal/grey@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/minimal.css create mode 100644 vendor/blobt/assets/iCheck/minimal/minimal.png create mode 100644 vendor/blobt/assets/iCheck/minimal/minimal@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/orange.css create mode 100644 vendor/blobt/assets/iCheck/minimal/orange.png create mode 100644 vendor/blobt/assets/iCheck/minimal/orange@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/pink.css create mode 100644 vendor/blobt/assets/iCheck/minimal/pink.png create mode 100644 vendor/blobt/assets/iCheck/minimal/pink@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/purple.css create mode 100644 vendor/blobt/assets/iCheck/minimal/purple.png create mode 100644 vendor/blobt/assets/iCheck/minimal/purple@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/red.css create mode 100644 vendor/blobt/assets/iCheck/minimal/red.png create mode 100644 vendor/blobt/assets/iCheck/minimal/red@2x.png create mode 100644 vendor/blobt/assets/iCheck/minimal/yellow.css create mode 100644 vendor/blobt/assets/iCheck/minimal/yellow.png create mode 100644 vendor/blobt/assets/iCheck/minimal/yellow@2x.png create mode 100644 vendor/blobt/assets/iCheck/polaris/polaris.css create mode 100644 vendor/blobt/assets/iCheck/polaris/polaris.png create mode 100644 vendor/blobt/assets/iCheck/polaris/polaris@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/_all.css create mode 100644 vendor/blobt/assets/iCheck/square/aero.css create mode 100644 vendor/blobt/assets/iCheck/square/aero.png create mode 100644 vendor/blobt/assets/iCheck/square/aero@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/blue.css create mode 100644 vendor/blobt/assets/iCheck/square/blue.png create mode 100644 vendor/blobt/assets/iCheck/square/blue@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/green.css create mode 100644 vendor/blobt/assets/iCheck/square/green.png create mode 100644 vendor/blobt/assets/iCheck/square/green@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/grey.css create mode 100644 vendor/blobt/assets/iCheck/square/grey.png create mode 100644 vendor/blobt/assets/iCheck/square/grey@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/orange.css create mode 100644 vendor/blobt/assets/iCheck/square/orange.png create mode 100644 vendor/blobt/assets/iCheck/square/orange@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/pink.css create mode 100644 vendor/blobt/assets/iCheck/square/pink.png create mode 100644 vendor/blobt/assets/iCheck/square/pink@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/purple.css create mode 100644 vendor/blobt/assets/iCheck/square/purple.png create mode 100644 vendor/blobt/assets/iCheck/square/purple@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/red.css create mode 100644 vendor/blobt/assets/iCheck/square/red.png create mode 100644 vendor/blobt/assets/iCheck/square/red@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/square.css create mode 100644 vendor/blobt/assets/iCheck/square/square.png create mode 100644 vendor/blobt/assets/iCheck/square/square@2x.png create mode 100644 vendor/blobt/assets/iCheck/square/yellow.css create mode 100644 vendor/blobt/assets/iCheck/square/yellow.png create mode 100644 vendor/blobt/assets/iCheck/square/yellow@2x.png create mode 100644 vendor/blobt/assets/moment/moment.js delete mode 100644 vendor/blobt/web/DateRangePickerAsset.php create mode 100644 vendor/blobt/web/IcheckAsset.php create mode 100644 vendor/blobt/web/MomentAsset.php diff --git a/vendor/blobt/assets/alertifyjs/alertify.js b/vendor/blobt/assets/alertifyjs/alertify.js new file mode 100644 index 0000000..527ec85 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/alertify.js @@ -0,0 +1,3609 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +( function ( window ) { + 'use strict'; + + /** + * Keys enum + * @type {Object} + */ + var keys = { + ENTER: 13, + ESC: 27, + F1: 112, + F12: 123, + LEFT: 37, + RIGHT: 39 + }; + /** + * Default options + * @type {Object} + */ + var defaults = { + autoReset:true, + basic:false, + closable:true, + closableByDimmer:true, + frameless:false, + maintainFocus:true, //global default not per instance, applies to all dialogs + maximizable:true, + modal:true, + movable:true, + moveBounded:false, + overflow:true, + padding: true, + pinnable:true, + pinned:true, + preventBodyShift:false, //global default not per instance, applies to all dialogs + resizable:true, + startMaximized:false, + transition:'pulse', + notifier:{ + delay:5, + position:'bottom-right', + closeButton:false + }, + glossary:{ + title:'AlertifyJS', + ok: 'OK', + cancel: 'Cancel', + acccpt: 'Accept', + deny: 'Deny', + confirm: 'Confirm', + decline: 'Decline', + close: 'Close', + maximize: 'Maximize', + restore: 'Restore', + }, + theme:{ + input:'ajs-input', + ok:'ajs-ok', + cancel:'ajs-cancel', + } + }; + + //holds open dialogs instances + var openDialogs = []; + + /** + * [Helper] Adds the specified class(es) to the element. + * + * @element {node} The element + * @className {string} One or more space-separated classes to be added to the class attribute of the element. + * + * @return {undefined} + */ + function addClass(element,classNames){ + element.className += ' ' + classNames; + } + + /** + * [Helper] Removes the specified class(es) from the element. + * + * @element {node} The element + * @className {string} One or more space-separated classes to be removed from the class attribute of the element. + * + * @return {undefined} + */ + function removeClass(element, classNames) { + var original = element.className.split(' '); + var toBeRemoved = classNames.split(' '); + for (var x = 0; x < toBeRemoved.length; x += 1) { + var index = original.indexOf(toBeRemoved[x]); + if (index > -1){ + original.splice(index,1); + } + } + element.className = original.join(' '); + } + + /** + * [Helper] Checks if the document is RTL + * + * @return {Boolean} True if the document is RTL, false otherwise. + */ + function isRightToLeft(){ + return window.getComputedStyle(document.body).direction === 'rtl'; + } + /** + * [Helper] Get the document current scrollTop + * + * @return {Number} current document scrollTop value + */ + function getScrollTop(){ + return ((document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop); + } + + /** + * [Helper] Get the document current scrollLeft + * + * @return {Number} current document scrollLeft value + */ + function getScrollLeft(){ + return ((document.documentElement && document.documentElement.scrollLeft) || document.body.scrollLeft); + } + + /** + * Helper: clear contents + * + */ + function clearContents(element){ + while (element.lastChild) { + element.removeChild(element.lastChild); + } + } + /** + * Extends a given prototype by merging properties from base into sub. + * + * @sub {Object} sub The prototype being overwritten. + * @base {Object} base The prototype being written. + * + * @return {Object} The extended prototype. + */ + function copy(src) { + if(null === src){ + return src; + } + var cpy; + if(Array.isArray(src)){ + cpy = []; + for(var x=0;x 0) { + var args = []; + for (var x = 0; x < arguments.length; x += 1) { + args.push(arguments[x]); + } + args.push(context); + return method.apply(context, args); + } + return method.apply(context, [null, context]); + }; + } + /** + * Helper for creating a dialog close event. + * + * @return {object} + */ + function createCloseEvent(index, button) { + return { + index: index, + button: button, + cancel: false + }; + } + /** + * Helper for dispatching events. + * + * @param {string} evenType The type of the event to disptach. + * @param {object} instance The dialog instance disptaching the event. + * + * @return {any} The result of the invoked function. + */ + function dispatchEvent(eventType, instance) { + if ( typeof instance.get(eventType) === 'function' ) { + return instance.get(eventType).call(instance); + } + } + + + /** + * Super class for all dialogs + * + * @return {Object} base dialog prototype + */ + var dialog = (function () { + var //holds the list of used keys. + usedKeys = [], + //dummy variable, used to trigger dom reflow. + reflow = null, + //holds body tab index in case it has any. + tabindex = false, + //condition for detecting safari + isSafari = window.navigator.userAgent.indexOf('Safari') > -1 && window.navigator.userAgent.indexOf('Chrome') < 0, + //dialog building blocks + templates = { + dimmer:'
', + /*tab index required to fire click event before body focus*/ + modal: '
', + dialog: '
', + reset: '', + commands: '
', + header: '
', + body: '
', + content: '
', + footer: '', + buttons: { primary: '
', auxiliary: '
' }, + button: '', + resizeHandle: '
', + }, + //common class names + classes = { + animationIn: 'ajs-in', + animationOut: 'ajs-out', + base: 'alertify', + basic:'ajs-basic', + capture: 'ajs-capture', + closable:'ajs-closable', + fixed: 'ajs-fixed', + frameless:'ajs-frameless', + hidden: 'ajs-hidden', + maximize: 'ajs-maximize', + maximized: 'ajs-maximized', + maximizable:'ajs-maximizable', + modeless: 'ajs-modeless', + movable: 'ajs-movable', + noSelection: 'ajs-no-selection', + noOverflow: 'ajs-no-overflow', + noPadding:'ajs-no-padding', + pin:'ajs-pin', + pinnable:'ajs-pinnable', + prefix: 'ajs-', + resizable: 'ajs-resizable', + restore: 'ajs-restore', + shake:'ajs-shake', + unpinned:'ajs-unpinned', + }; + + /** + * Helper: initializes the dialog instance + * + * @return {Number} The total count of currently open modals. + */ + function initialize(instance){ + + if(!instance.__internal){ + + //no need to expose init after this. + delete instance.__init; + + //keep a copy of initial dialog settings + if(!instance.__settings){ + instance.__settings = copy(instance.settings); + } + + //get dialog buttons/focus setup + var setup; + if(typeof instance.setup === 'function'){ + setup = instance.setup(); + setup.options = setup.options || {}; + setup.focus = setup.focus || {}; + }else{ + setup = { + buttons:[], + focus:{ + element:null, + select:false + }, + options:{ + } + }; + } + + //initialize hooks object. + if(typeof instance.hooks !== 'object'){ + instance.hooks = {}; + } + + //copy buttons defintion + var buttonsDefinition = []; + if(Array.isArray(setup.buttons)){ + for(var b=0;b= 0){ + //last open modal or last maximized one + removeClass(document.body, classes.noOverflow); + preventBodyShift(false); + }else if(requiresNoOverflow > 0 && document.body.className.indexOf(classes.noOverflow) < 0){ + //first open modal or first maximized one + preventBodyShift(true); + addClass(document.body, classes.noOverflow); + } + } + var top = '', topScroll = 0; + /** + * Helper: prevents body shift. + * + */ + function preventBodyShift(add){ + if(alertify.defaults.preventBodyShift){ + if(add && document.documentElement.scrollHeight > document.documentElement.clientHeight ){//&& openDialogs[openDialogs.length-1].elements.dialog.clientHeight <= document.documentElement.clientHeight){ + topScroll = scrollY; + top = window.getComputedStyle(document.body).top; + addClass(document.body, classes.fixed); + document.body.style.top = -scrollY + 'px'; + } else if(!add) { + scrollY = topScroll; + document.body.style.top = top; + removeClass(document.body, classes.fixed); + restoreScrollPosition(); + } + } + } + + /** + * Sets the name of the transition used to show/hide the dialog + * + * @param {Object} instance The dilog instance. + * + */ + function updateTransition(instance, value, oldValue){ + if(typeof oldValue === 'string'){ + removeClass(instance.elements.root,classes.prefix + oldValue); + } + addClass(instance.elements.root, classes.prefix + value); + reflow = instance.elements.root.offsetWidth; + } + + /** + * Toggles the dialog display mode + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function updateDisplayMode(instance){ + if(instance.get('modal')){ + + //make modal + removeClass(instance.elements.root, classes.modeless); + + //only if open + if(instance.isOpen()){ + unbindModelessEvents(instance); + + //in case a pinned modless dialog was made modal while open. + updateAbsPositionFix(instance); + + ensureNoOverflow(); + } + }else{ + //make modelss + addClass(instance.elements.root, classes.modeless); + + //only if open + if(instance.isOpen()){ + bindModelessEvents(instance); + + //in case pin/unpin was called while a modal is open + updateAbsPositionFix(instance); + + ensureNoOverflow(); + } + } + } + + /** + * Toggles the dialog basic view mode + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function updateBasicMode(instance){ + if (instance.get('basic')) { + // add class + addClass(instance.elements.root, classes.basic); + } else { + // remove class + removeClass(instance.elements.root, classes.basic); + } + } + + /** + * Toggles the dialog frameless view mode + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function updateFramelessMode(instance){ + if (instance.get('frameless')) { + // add class + addClass(instance.elements.root, classes.frameless); + } else { + // remove class + removeClass(instance.elements.root, classes.frameless); + } + } + + /** + * Helper: Brings the modeless dialog to front, attached to modeless dialogs. + * + * @param {Event} event Focus event + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bringToFront(event, instance){ + + // Do not bring to front if preceeded by an open modal + var index = openDialogs.indexOf(instance); + for(var x=index+1;x 200 && (modalClickHandlerTS = event.timeStamp) && !cancelClick){ + var target = event.srcElement || event.target; + if (instance.get('closableByDimmer') === true && target === instance.elements.modal) { + triggerClose(instance); + } + cancelClick = false; + return false; + } + } + + // stores last call timestamp to prevent triggering the callback twice. + var callbackTS = 0; + // flag to cancel keyup event if already handled by click event (pressing Enter on a focusted button). + var cancelKeyup = false; + /** + * Helper: triggers a button callback + * + * @param {Object} The dilog instance. + * @param {Function} Callback to check which button triggered the event. + * + * @return {undefined} + */ + function triggerCallback(instance, check) { + if(Date.now() - callbackTS > 200 && (callbackTS = Date.now())){ + for (var idx = 0; idx < instance.__internal.buttons.length; idx += 1) { + var button = instance.__internal.buttons[idx]; + if (!button.element.disabled && check(button)) { + var closeEvent = createCloseEvent(idx, button); + if (typeof instance.callback === 'function') { + instance.callback.apply(instance, [closeEvent]); + } + //close the dialog only if not canceled. + if (closeEvent.cancel === false) { + instance.close(); + } + break; + } + } + } + } + + /** + * Clicks event handler, attached to the dialog footer. + * + * @param {Event} DOM event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function buttonsClickHandler(event, instance) { + var target = event.srcElement || event.target; + triggerCallback(instance, function (button) { + // if this button caused the click, cancel keyup event + return button.element === target && (cancelKeyup = true); + }); + } + + /** + * Keyup event handler, attached to the document.body + * + * @param {Event} DOM event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function keyupHandler(event) { + //hitting enter while button has focus will trigger keyup too. + //ignore if handled by clickHandler + if (cancelKeyup) { + cancelKeyup = false; + return; + } + var instance = openDialogs[openDialogs.length - 1]; + var keyCode = event.keyCode; + if (instance.__internal.buttons.length === 0 && keyCode === keys.ESC && instance.get('closable') === true) { + triggerClose(instance); + return false; + }else if (usedKeys.indexOf(keyCode) > -1) { + triggerCallback(instance, function (button) { + return button.key === keyCode; + }); + return false; + } + } + /** + * Keydown event handler, attached to the document.body + * + * @param {Event} DOM event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function keydownHandler(event) { + var instance = openDialogs[openDialogs.length - 1]; + var keyCode = event.keyCode; + if (keyCode === keys.LEFT || keyCode === keys.RIGHT) { + var buttons = instance.__internal.buttons; + for (var x = 0; x < buttons.length; x += 1) { + if (document.activeElement === buttons[x].element) { + switch (keyCode) { + case keys.LEFT: + buttons[(x || buttons.length) - 1].element.focus(); + return; + case keys.RIGHT: + buttons[(x + 1) % buttons.length].element.focus(); + return; + } + } + } + }else if (keyCode < keys.F12 + 1 && keyCode > keys.F1 - 1 && usedKeys.indexOf(keyCode) > -1) { + event.preventDefault(); + event.stopPropagation(); + triggerCallback(instance, function (button) { + return button.key === keyCode; + }); + return false; + } + } + + + /** + * Sets focus to proper dialog element + * + * @param {Object} instance The dilog instance. + * @param {Node} [resetTarget=undefined] DOM element to reset focus to. + * + * @return {undefined} + */ + function setFocus(instance, resetTarget) { + // reset target has already been determined. + if (resetTarget) { + resetTarget.focus(); + } else { + // current instance focus settings + var focus = instance.__internal.focus; + // the focus element. + var element = focus.element; + + switch (typeof focus.element) { + // a number means a button index + case 'number': + if (instance.__internal.buttons.length > focus.element) { + //in basic view, skip focusing the buttons. + if (instance.get('basic') === true) { + element = instance.elements.reset[0]; + } else { + element = instance.__internal.buttons[focus.element].element; + } + } + break; + // a string means querySelector to select from dialog body contents. + case 'string': + element = instance.elements.body.querySelector(focus.element); + break; + // a function should return the focus element. + case 'function': + element = focus.element.call(instance); + break; + } + + // if no focus element, default to first reset element. + if ((typeof element === 'undefined' || element === null) && instance.__internal.buttons.length === 0) { + element = instance.elements.reset[0]; + } + // focus + if (element && element.focus) { + element.focus(); + // if selectable + if (focus.select && element.select) { + element.select(); + } + } + } + } + + /** + * Focus event handler, attached to document.body and dialogs own reset links. + * handles the focus for modal dialogs only. + * + * @param {Event} event DOM focus event object. + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function onReset(event, instance) { + + // should work on last modal if triggered from document.body + if (!instance) { + for (var x = openDialogs.length - 1; x > -1; x -= 1) { + if (openDialogs[x].isModal()) { + instance = openDialogs[x]; + break; + } + } + } + // if modal + if (instance && instance.isModal()) { + // determine reset target to enable forward/backward tab cycle. + var resetTarget, target = event.srcElement || event.target; + var lastResetElement = target === instance.elements.reset[1] || (instance.__internal.buttons.length === 0 && target === document.body); + + // if last reset link, then go to maximize or close + if (lastResetElement) { + if (instance.get('maximizable')) { + resetTarget = instance.elements.commands.maximize; + } else if (instance.get('closable')) { + resetTarget = instance.elements.commands.close; + } + } + // if no reset target found, try finding the best button + if (resetTarget === undefined) { + if (typeof instance.__internal.focus.element === 'number') { + // button focus element, go to first available button + if (target === instance.elements.reset[0]) { + resetTarget = instance.elements.buttons.auxiliary.firstChild || instance.elements.buttons.primary.firstChild; + } else if (lastResetElement) { + //restart the cycle by going to first reset link + resetTarget = instance.elements.reset[0]; + } + } else { + // will reach here when tapping backwards, so go to last child + // The focus element SHOULD NOT be a button (logically!). + if (target === instance.elements.reset[0]) { + resetTarget = instance.elements.buttons.primary.lastChild || instance.elements.buttons.auxiliary.lastChild; + } + } + } + // focus + setFocus(instance, resetTarget); + } + } + /** + * Transition in transitionend event handler. + * + * @param {Event} TransitionEnd event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function handleTransitionInEvent(event, instance) { + // clear the timer + clearTimeout(instance.__internal.timerIn); + + // once transition is complete, set focus + setFocus(instance); + + //restore scroll to prevent document jump + restoreScrollPosition(); + + // allow handling key up after transition ended. + cancelKeyup = false; + + // allow custom `onfocus` method + dispatchEvent('onfocus', instance); + + // unbind the event + off(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler); + + removeClass(instance.elements.root, classes.animationIn); + } + + /** + * Transition out transitionend event handler. + * + * @param {Event} TransitionEnd event object. + * @param {Object} The dilog instance. + * + * @return {undefined} + */ + function handleTransitionOutEvent(event, instance) { + // clear the timer + clearTimeout(instance.__internal.timerOut); + // unbind the event + off(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler); + + // reset move updates + resetMove(instance); + // reset resize updates + resetResize(instance); + + // restore if maximized + if (instance.isMaximized() && !instance.get('startMaximized')) { + restore(instance); + } + + // return focus to the last active element + if (alertify.defaults.maintainFocus && instance.__internal.activeElement) { + instance.__internal.activeElement.focus(); + instance.__internal.activeElement = null; + } + + //destory the instance + if (typeof instance.__internal.destroy === 'function') { + instance.__internal.destroy.apply(instance); + } + } + /* Controls moving a dialog around */ + //holde the current moving instance + var movable = null, + //holds the current X offset when move starts + offsetX = 0, + //holds the current Y offset when move starts + offsetY = 0, + xProp = 'pageX', + yProp = 'pageY', + bounds = null, + refreshTop = false, + moveDelegate = null + ; + + /** + * Helper: sets the element top/left coordinates + * + * @param {Event} event DOM event object. + * @param {Node} element The element being moved. + * + * @return {undefined} + */ + function moveElement(event, element) { + var left = (event[xProp] - offsetX), + top = (event[yProp] - offsetY); + + if(refreshTop){ + top -= document.body.scrollTop; + } + + element.style.left = left + 'px'; + element.style.top = top + 'px'; + + } + /** + * Helper: sets the element top/left coordinates within screen bounds + * + * @param {Event} event DOM event object. + * @param {Node} element The element being moved. + * + * @return {undefined} + */ + function moveElementBounded(event, element) { + var left = (event[xProp] - offsetX), + top = (event[yProp] - offsetY); + + if(refreshTop){ + top -= document.body.scrollTop; + } + + element.style.left = Math.min(bounds.maxLeft, Math.max(bounds.minLeft, left)) + 'px'; + if(refreshTop){ + element.style.top = Math.min(bounds.maxTop, Math.max(bounds.minTop, top)) + 'px'; + }else{ + element.style.top = Math.max(bounds.minTop, top) + 'px'; + } + } + + + /** + * Triggers the start of a move event, attached to the header element mouse down event. + * Adds no-selection class to the body, disabling selection while moving. + * + * @param {Event} event DOM event object. + * @param {Object} instance The dilog instance. + * + * @return {Boolean} false + */ + function beginMove(event, instance) { + if (resizable === null && !instance.isMaximized() && instance.get('movable')) { + var eventSrc, left=0, top=0; + if (event.type === 'touchstart') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + xProp = 'clientX'; + yProp = 'clientY'; + } else if (event.button === 0) { + eventSrc = event; + } + + if (eventSrc) { + + var element = instance.elements.dialog; + addClass(element, classes.capture); + + if (element.style.left) { + left = parseInt(element.style.left, 10); + } + + if (element.style.top) { + top = parseInt(element.style.top, 10); + } + + offsetX = eventSrc[xProp] - left; + offsetY = eventSrc[yProp] - top; + + if(instance.isModal()){ + offsetY += instance.elements.modal.scrollTop; + }else if(instance.isPinned()){ + offsetY -= document.body.scrollTop; + } + + if(instance.get('moveBounded')){ + var current = element, + offsetLeft = -left, + offsetTop = -top; + + //calc offset + do { + offsetLeft += current.offsetLeft; + offsetTop += current.offsetTop; + } while (current = current.offsetParent); + + bounds = { + maxLeft : offsetLeft, + minLeft : -offsetLeft, + maxTop : document.documentElement.clientHeight - element.clientHeight - offsetTop, + minTop : -offsetTop + }; + moveDelegate = moveElementBounded; + }else{ + bounds = null; + moveDelegate = moveElement; + } + + // allow custom `onmove` method + dispatchEvent('onmove', instance); + + refreshTop = !instance.isModal() && instance.isPinned(); + movable = instance; + moveDelegate(eventSrc, element); + addClass(document.body, classes.noSelection); + return false; + } + } + } + + /** + * The actual move handler, attached to document.body mousemove event. + * + * @param {Event} event DOM event object. + * + * @return {undefined} + */ + function move(event) { + if (movable) { + var eventSrc; + if (event.type === 'touchmove') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + } else if (event.button === 0) { + eventSrc = event; + } + if (eventSrc) { + moveDelegate(eventSrc, movable.elements.dialog); + } + } + } + + /** + * Triggers the end of a move event, attached to document.body mouseup event. + * Removes no-selection class from document.body, allowing selection. + * + * @return {undefined} + */ + function endMove() { + if (movable) { + var instance = movable; + movable = bounds = null; + removeClass(document.body, classes.noSelection); + removeClass(instance.elements.dialog, classes.capture); + // allow custom `onmoved` method + dispatchEvent('onmoved', instance); + } + } + + /** + * Resets any changes made by moving the element to its original state, + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function resetMove(instance) { + movable = null; + var element = instance.elements.dialog; + element.style.left = element.style.top = ''; + } + + /** + * Updates the dialog move behavior. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updateMovable(instance) { + if (instance.get('movable')) { + // add class + addClass(instance.elements.root, classes.movable); + if (instance.isOpen()) { + bindMovableEvents(instance); + } + } else { + + //reset + resetMove(instance); + // remove class + removeClass(instance.elements.root, classes.movable); + if (instance.isOpen()) { + unbindMovableEvents(instance); + } + } + } + + /* Controls moving a dialog around */ + //holde the current instance being resized + var resizable = null, + //holds the staring left offset when resize starts. + startingLeft = Number.Nan, + //holds the staring width when resize starts. + startingWidth = 0, + //holds the initial width when resized for the first time. + minWidth = 0, + //holds the offset of the resize handle. + handleOffset = 0 + ; + + /** + * Helper: sets the element width/height and updates left coordinate if neccessary. + * + * @param {Event} event DOM mousemove event object. + * @param {Node} element The element being moved. + * @param {Boolean} pinned A flag indicating if the element being resized is pinned to the screen. + * + * @return {undefined} + */ + function resizeElement(event, element, pageRelative) { + + //calculate offsets from 0,0 + var current = element; + var offsetLeft = 0; + var offsetTop = 0; + do { + offsetLeft += current.offsetLeft; + offsetTop += current.offsetTop; + } while (current = current.offsetParent); + + // determine X,Y coordinates. + var X, Y; + if (pageRelative === true) { + X = event.pageX; + Y = event.pageY; + } else { + X = event.clientX; + Y = event.clientY; + } + // rtl handling + var isRTL = isRightToLeft(); + if (isRTL) { + // reverse X + X = document.body.offsetWidth - X; + // if has a starting left, calculate offsetRight + if (!isNaN(startingLeft)) { + offsetLeft = document.body.offsetWidth - offsetLeft - element.offsetWidth; + } + } + + // set width/height + element.style.height = (Y - offsetTop + handleOffset) + 'px'; + element.style.width = (X - offsetLeft + handleOffset) + 'px'; + + // if the element being resized has a starting left, maintain it. + // the dialog is centered, divide by half the offset to maintain the margins. + if (!isNaN(startingLeft)) { + var diff = Math.abs(element.offsetWidth - startingWidth) * 0.5; + if (isRTL) { + //negate the diff, why? + //when growing it should decrease left + //when shrinking it should increase left + diff *= -1; + } + if (element.offsetWidth > startingWidth) { + //growing + element.style.left = (startingLeft + diff) + 'px'; + } else if (element.offsetWidth >= minWidth) { + //shrinking + element.style.left = (startingLeft - diff) + 'px'; + } + } + } + + /** + * Triggers the start of a resize event, attached to the resize handle element mouse down event. + * Adds no-selection class to the body, disabling selection while moving. + * + * @param {Event} event DOM event object. + * @param {Object} instance The dilog instance. + * + * @return {Boolean} false + */ + function beginResize(event, instance) { + if (!instance.isMaximized()) { + var eventSrc; + if (event.type === 'touchstart') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + } else if (event.button === 0) { + eventSrc = event; + } + if (eventSrc) { + // allow custom `onresize` method + dispatchEvent('onresize', instance); + + resizable = instance; + handleOffset = instance.elements.resizeHandle.offsetHeight / 2; + var element = instance.elements.dialog; + addClass(element, classes.capture); + startingLeft = parseInt(element.style.left, 10); + element.style.height = element.offsetHeight + 'px'; + element.style.minHeight = instance.elements.header.offsetHeight + instance.elements.footer.offsetHeight + 'px'; + element.style.width = (startingWidth = element.offsetWidth) + 'px'; + + if (element.style.maxWidth !== 'none') { + element.style.minWidth = (minWidth = element.offsetWidth) + 'px'; + } + element.style.maxWidth = 'none'; + addClass(document.body, classes.noSelection); + return false; + } + } + } + + /** + * The actual resize handler, attached to document.body mousemove event. + * + * @param {Event} event DOM event object. + * + * @return {undefined} + */ + function resize(event) { + if (resizable) { + var eventSrc; + if (event.type === 'touchmove') { + event.preventDefault(); + eventSrc = event.targetTouches[0]; + } else if (event.button === 0) { + eventSrc = event; + } + if (eventSrc) { + resizeElement(eventSrc, resizable.elements.dialog, !resizable.get('modal') && !resizable.get('pinned')); + } + } + } + + /** + * Triggers the end of a resize event, attached to document.body mouseup event. + * Removes no-selection class from document.body, allowing selection. + * + * @return {undefined} + */ + function endResize() { + if (resizable) { + var instance = resizable; + resizable = null; + removeClass(document.body, classes.noSelection); + removeClass(instance.elements.dialog, classes.capture); + cancelClick = true; + // allow custom `onresized` method + dispatchEvent('onresized', instance); + } + } + + /** + * Resets any changes made by resizing the element to its original state. + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function resetResize(instance) { + resizable = null; + var element = instance.elements.dialog; + if (element.style.maxWidth === 'none') { + //clear inline styles. + element.style.maxWidth = element.style.minWidth = element.style.width = element.style.height = element.style.minHeight = element.style.left = ''; + //reset variables. + startingLeft = Number.Nan; + startingWidth = minWidth = handleOffset = 0; + } + } + + + /** + * Updates the dialog move behavior. + * + * @param {Object} instance The dilog instance. + * @param {Boolean} on True to add the behavior, removes it otherwise. + * + * @return {undefined} + */ + function updateResizable(instance) { + if (instance.get('resizable')) { + // add class + addClass(instance.elements.root, classes.resizable); + if (instance.isOpen()) { + bindResizableEvents(instance); + } + } else { + //reset + resetResize(instance); + // remove class + removeClass(instance.elements.root, classes.resizable); + if (instance.isOpen()) { + unbindResizableEvents(instance); + } + } + } + + /** + * Reset move/resize on window resize. + * + * @param {Event} event window resize event object. + * + * @return {undefined} + */ + function windowResize(/*event*/) { + for (var x = 0; x < openDialogs.length; x += 1) { + var instance = openDialogs[x]; + if (instance.get('autoReset')) { + resetMove(instance); + resetResize(instance); + } + } + } + /** + * Bind dialogs events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindEvents(instance) { + // if first dialog, hook global handlers + if (openDialogs.length === 1) { + //global + on(window, 'resize', windowResize); + on(document.body, 'keyup', keyupHandler); + on(document.body, 'keydown', keydownHandler); + on(document.body, 'focus', onReset); + + //move + on(document.documentElement, 'mousemove', move); + on(document.documentElement, 'touchmove', move); + on(document.documentElement, 'mouseup', endMove); + on(document.documentElement, 'touchend', endMove); + //resize + on(document.documentElement, 'mousemove', resize); + on(document.documentElement, 'touchmove', resize); + on(document.documentElement, 'mouseup', endResize); + on(document.documentElement, 'touchend', endResize); + } + + // common events + on(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler); + on(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler); + on(instance.elements.reset[0], 'focus', instance.__internal.resetHandler); + on(instance.elements.reset[1], 'focus', instance.__internal.resetHandler); + + //prevent handling key up when dialog is being opened by a key stroke. + cancelKeyup = true; + // hook in transition handler + on(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler); + + // modelss only events + if (!instance.get('modal')) { + bindModelessEvents(instance); + } + + // resizable + if (instance.get('resizable')) { + bindResizableEvents(instance); + } + + // movable + if (instance.get('movable')) { + bindMovableEvents(instance); + } + } + + /** + * Unbind dialogs events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindEvents(instance) { + // if last dialog, remove global handlers + if (openDialogs.length === 1) { + //global + off(window, 'resize', windowResize); + off(document.body, 'keyup', keyupHandler); + off(document.body, 'keydown', keydownHandler); + off(document.body, 'focus', onReset); + //move + off(document.documentElement, 'mousemove', move); + off(document.documentElement, 'mouseup', endMove); + //resize + off(document.documentElement, 'mousemove', resize); + off(document.documentElement, 'mouseup', endResize); + } + + // common events + off(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler); + off(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler); + off(instance.elements.reset[0], 'focus', instance.__internal.resetHandler); + off(instance.elements.reset[1], 'focus', instance.__internal.resetHandler); + + // hook out transition handler + on(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler); + + // modelss only events + if (!instance.get('modal')) { + unbindModelessEvents(instance); + } + + // movable + if (instance.get('movable')) { + unbindMovableEvents(instance); + } + + // resizable + if (instance.get('resizable')) { + unbindResizableEvents(instance); + } + + } + + /** + * Bind modeless specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindModelessEvents(instance) { + on(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true); + } + + /** + * Unbind modeless specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindModelessEvents(instance) { + off(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true); + } + + + + /** + * Bind movable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindMovableEvents(instance) { + on(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler); + on(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler); + } + + /** + * Unbind movable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindMovableEvents(instance) { + off(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler); + off(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler); + } + + + + /** + * Bind resizable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindResizableEvents(instance) { + on(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler); + on(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler); + } + + /** + * Unbind resizable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindResizableEvents(instance) { + off(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler); + off(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler); + } + + /** + * Bind closable events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function bindClosableEvents(instance) { + on(instance.elements.modal, 'click', instance.__internal.modalClickHandler); + } + + /** + * Unbind closable specific events + * + * @param {Object} instance The dilog instance. + * + * @return {undefined} + */ + function unbindClosableEvents(instance) { + off(instance.elements.modal, 'click', instance.__internal.modalClickHandler); + } + // dialog API + return { + __init:initialize, + /** + * Check if dialog is currently open + * + * @return {Boolean} + */ + isOpen: function () { + return this.__internal.isOpen; + }, + isModal: function (){ + return this.elements.root.className.indexOf(classes.modeless) < 0; + }, + isMaximized:function(){ + return this.elements.root.className.indexOf(classes.maximized) > -1; + }, + isPinned:function(){ + return this.elements.root.className.indexOf(classes.unpinned) < 0; + }, + maximize:function(){ + if(!this.isMaximized()){ + maximize(this); + } + return this; + }, + restore:function(){ + if(this.isMaximized()){ + restore(this); + } + return this; + }, + pin:function(){ + if(!this.isPinned()){ + pin(this); + } + return this; + }, + unpin:function(){ + if(this.isPinned()){ + unpin(this); + } + return this; + }, + bringToFront:function(){ + bringToFront(null, this); + return this; + }, + /** + * Move the dialog to a specific x/y coordinates + * + * @param {Number} x The new dialog x coordinate in pixels. + * @param {Number} y The new dialog y coordinate in pixels. + * + * @return {Object} The dialog instance. + */ + moveTo:function(x,y){ + if(!isNaN(x) && !isNaN(y)){ + // allow custom `onmove` method + dispatchEvent('onmove', this); + + var element = this.elements.dialog, + current = element, + offsetLeft = 0, + offsetTop = 0; + + //subtract existing left,top + if (element.style.left) { + offsetLeft -= parseInt(element.style.left, 10); + } + if (element.style.top) { + offsetTop -= parseInt(element.style.top, 10); + } + //calc offset + do { + offsetLeft += current.offsetLeft; + offsetTop += current.offsetTop; + } while (current = current.offsetParent); + + //calc left, top + var left = (x - offsetLeft); + var top = (y - offsetTop); + + //// rtl handling + if (isRightToLeft()) { + left *= -1; + } + + element.style.left = left + 'px'; + element.style.top = top + 'px'; + + // allow custom `onmoved` method + dispatchEvent('onmoved', this); + } + return this; + }, + /** + * Resize the dialog to a specific width/height (the dialog must be 'resizable'). + * The dialog can be resized to: + * A minimum width equal to the initial display width + * A minimum height equal to the sum of header/footer heights. + * + * + * @param {Number or String} width The new dialog width in pixels or in percent. + * @param {Number or String} height The new dialog height in pixels or in percent. + * + * @return {Object} The dialog instance. + */ + resizeTo:function(width,height){ + var w = parseFloat(width), + h = parseFloat(height), + regex = /(\d*\.\d+|\d+)%/ + ; + + if(!isNaN(w) && !isNaN(h) && this.get('resizable') === true){ + + // allow custom `onresize` method + dispatchEvent('onresize', this); + + if(('' + width).match(regex)){ + w = w / 100 * document.documentElement.clientWidth ; + } + + if(('' + height).match(regex)){ + h = h / 100 * document.documentElement.clientHeight; + } + + var element = this.elements.dialog; + if (element.style.maxWidth !== 'none') { + element.style.minWidth = (minWidth = element.offsetWidth) + 'px'; + } + element.style.maxWidth = 'none'; + element.style.minHeight = this.elements.header.offsetHeight + this.elements.footer.offsetHeight + 'px'; + element.style.width = w + 'px'; + element.style.height = h + 'px'; + + // allow custom `onresized` method + dispatchEvent('onresized', this); + } + return this; + }, + /** + * Gets or Sets dialog settings/options + * + * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. + * @param {Object} value Optional, the value associated with the key (in case it was a string). + * + * @return {undefined} + */ + setting : function (key, value) { + var self = this; + var result = update(this, this.__internal.options, function(k,o,n){ optionUpdated(self,k,o,n); }, key, value); + if(result.op === 'get'){ + if(result.found){ + return result.value; + }else if(typeof this.settings !== 'undefined'){ + return update(this, this.settings, this.settingUpdated || function(){}, key, value).value; + }else{ + return undefined; + } + }else if(result.op === 'set'){ + if(result.items.length > 0){ + var callback = this.settingUpdated || function(){}; + for(var x=0;x 0) { + var self = this; + this.__internal.timer = setTimeout(function () { self.dismiss(); }, this.__internal.delay * 1000); + } + return this; + }, + /* + * Sets the notification message contents + * @param {string or DOMElement} content The notification message content + * + */ + setContent: function (content) { + if (typeof content === 'string') { + clearContents(this.element); + this.element.innerHTML = content; + } else if (content instanceof window.HTMLElement && this.element.firstChild !== content) { + clearContents(this.element); + this.element.appendChild(content); + } + if(this.__internal.closeButton){ + var close = document.createElement('span'); + addClass(close, classes.close); + close.setAttribute('data-close', true); + this.element.appendChild(close); + } + return this; + }, + /* + * Dismisses all open notifications except this. + * + */ + dismissOthers: function () { + notifier.dismissAll(this); + return this; + } + }); + } + + //notifier api + return { + /** + * Gets or Sets notifier settings. + * + * @param {string} key The setting name + * @param {Variant} value The setting value. + * + * @return {Object} if the called as a setter, return the notifier instance. + */ + setting: function (key, value) { + //ensure init + initialize(this); + + if (typeof value === 'undefined') { + //get + return this.__internal[key]; + } else { + //set + switch (key) { + case 'position': + this.__internal.position = value; + updatePosition(this); + break; + case 'delay': + this.__internal.delay = value; + break; + } + } + return this; + }, + /** + * [Alias] Sets dialog settings/options + */ + set:function(key,value){ + this.setting(key,value); + return this; + }, + /** + * [Alias] Gets dialog settings/options + */ + get:function(key){ + return this.setting(key); + }, + /** + * Creates a new notification message + * + * @param {string} type The type of notification message (simply a CSS class name 'ajs-{type}' to be added). + * @param {Function} callback A callback function to be invoked when the message is dismissed. + * + * @return {undefined} + */ + create: function (type, callback) { + //ensure notifier init + initialize(this); + //create new notification message + var div = document.createElement('div'); + div.className = classes.message + ((typeof type === 'string' && type !== '') ? ' ajs-' + type : ''); + return create(div, callback); + }, + /** + * Dismisses all open notifications. + * + * @param {Object} excpet [optional] The notification object to exclude from dismissal. + * + */ + dismissAll: function (except) { + var clone = openInstances.slice(0); + for (var x = 0; x < clone.length; x += 1) { + var instance = clone[x]; + if (except === undefined || except !== instance) { + instance.dismiss(); + } + } + } + }; + })(); + + /** + * Alertify public API + * This contains everything that is exposed through the alertify object. + * + * @return {Object} + */ + function Alertify() { + + // holds a references of created dialogs + var dialogs = {}; + + /** + * Extends a given prototype by merging properties from base into sub. + * + * @sub {Object} sub The prototype being overwritten. + * @base {Object} base The prototype being written. + * + * @return {Object} The extended prototype. + */ + function extend(sub, base) { + // copy dialog pototype over definition. + for (var prop in base) { + if (base.hasOwnProperty(prop)) { + sub[prop] = base[prop]; + } + } + return sub; + } + + + /** + * Helper: returns a dialog instance from saved dialogs. + * and initializes the dialog if its not already initialized. + * + * @name {String} name The dialog name. + * + * @return {Object} The dialog instance. + */ + function get_dialog(name) { + var dialog = dialogs[name].dialog; + //initialize the dialog if its not already initialized. + if (dialog && typeof dialog.__init === 'function') { + dialog.__init(dialog); + } + return dialog; + } + + /** + * Helper: registers a new dialog definition. + * + * @name {String} name The dialog name. + * @Factory {Function} Factory a function resposible for creating dialog prototype. + * @transient {Boolean} transient True to create a new dialog instance each time the dialog is invoked, false otherwise. + * @base {String} base the name of another dialog to inherit from. + * + * @return {Object} The dialog definition. + */ + function register(name, Factory, transient, base) { + var definition = { + dialog: null, + factory: Factory + }; + + //if this is based on an existing dialog, create a new definition + //by applying the new protoype over the existing one. + if (base !== undefined) { + definition.factory = function () { + return extend(new dialogs[base].factory(), new Factory()); + }; + } + + if (!transient) { + //create a new definition based on dialog + definition.dialog = extend(new definition.factory(), dialog); + } + return dialogs[name] = definition; + } + + return { + /** + * Alertify defaults + * + * @type {Object} + */ + defaults: defaults, + /** + * Dialogs factory + * + * @param {string} Dialog name. + * @param {Function} A Dialog factory function. + * @param {Boolean} Indicates whether to create a singleton or transient dialog. + * @param {String} The name of the base type to inherit from. + */ + dialog: function (name, Factory, transient, base) { + + // get request, create a new instance and return it. + if (typeof Factory !== 'function') { + return get_dialog(name); + } + + if (this.hasOwnProperty(name)) { + throw new Error('alertify.dialog: name already exists'); + } + + // register the dialog + var definition = register(name, Factory, transient, base); + + if (transient) { + + // make it public + this[name] = function () { + //if passed with no params, consider it a get request + if (arguments.length === 0) { + return definition.dialog; + } else { + var instance = extend(new definition.factory(), dialog); + //ensure init + if (instance && typeof instance.__init === 'function') { + instance.__init(instance); + } + instance['main'].apply(instance, arguments); + return instance['show'].apply(instance); + } + }; + } else { + // make it public + this[name] = function () { + //ensure init + if (definition.dialog && typeof definition.dialog.__init === 'function') { + definition.dialog.__init(definition.dialog); + } + //if passed with no params, consider it a get request + if (arguments.length === 0) { + return definition.dialog; + } else { + var dialog = definition.dialog; + dialog['main'].apply(definition.dialog, arguments); + return dialog['show'].apply(definition.dialog); + } + }; + } + }, + /** + * Close all open dialogs. + * + * @param {Object} excpet [optional] The dialog object to exclude from closing. + * + * @return {undefined} + */ + closeAll: function (except) { + var clone = openDialogs.slice(0); + for (var x = 0; x < clone.length; x += 1) { + var instance = clone[x]; + if (except === undefined || except !== instance) { + instance.close(); + } + } + }, + /** + * Gets or Sets dialog settings/options. if the dialog is transient, this call does nothing. + * + * @param {string} name The dialog name. + * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. + * @param {Variant} value Optional, the value associated with the key (in case it was a string). + * + * @return {undefined} + */ + setting: function (name, key, value) { + + if (name === 'notifier') { + return notifier.setting(key, value); + } + + var dialog = get_dialog(name); + if (dialog) { + return dialog.setting(key, value); + } + }, + /** + * [Alias] Sets dialog settings/options + */ + set: function(name,key,value){ + return this.setting(name, key,value); + }, + /** + * [Alias] Gets dialog settings/options + */ + get: function(name, key){ + return this.setting(name, key); + }, + /** + * Creates a new notification message. + * If a type is passed, a class name "ajs-{type}" will be added. + * This allows for custom look and feel for various types of notifications. + * + * @param {String | DOMElement} [message=undefined] Message text + * @param {String} [type=''] Type of log message + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + notify: function (message, type, wait, callback) { + return notifier.create(type, callback).push(message, wait); + }, + /** + * Creates a new notification message. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + message: function (message, wait, callback) { + return notifier.create(null, callback).push(message, wait); + }, + /** + * Creates a new notification message of type 'success'. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + success: function (message, wait, callback) { + return notifier.create('success', callback).push(message, wait); + }, + /** + * Creates a new notification message of type 'error'. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + error: function (message, wait, callback) { + return notifier.create('error', callback).push(message, wait); + }, + /** + * Creates a new notification message of type 'warning'. + * + * @param {String} [message=undefined] Message text + * @param {String} [wait=''] Time (in seconds) to wait before auto-close + * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. + * + * @return {Object} Notification object. + */ + warning: function (message, wait, callback) { + return notifier.create('warning', callback).push(message, wait); + }, + /** + * Dismisses all open notifications + * + * @return {undefined} + */ + dismissAll: function () { + notifier.dismissAll(); + } + }; + } + var alertify = new Alertify(); + + /** + * Alert dialog definition + * + * invoked by: + * alertify.alert(message); + * alertify.alert(title, message); + * alertify.alert(message, onok); + * alertify.alert(title, message, onok); + */ + alertify.dialog('alert', function () { + return { + main: function (_title, _message, _onok) { + var title, message, onok; + switch (arguments.length) { + case 1: + message = _title; + break; + case 2: + if (typeof _message === 'function') { + message = _title; + onok = _message; + } else { + title = _title; + message = _message; + } + break; + case 3: + title = _title; + message = _message; + onok = _onok; + break; + } + this.set('title', title); + this.set('message', message); + this.set('onok', onok); + return this; + }, + setup: function () { + return { + buttons: [ + { + text: alertify.defaults.glossary.ok, + key: keys.ESC, + invokeOnClose: true, + className: alertify.defaults.theme.ok, + } + ], + focus: { + element: 0, + select: false + }, + options: { + maximizable: false, + resizable: false + } + }; + }, + build: function () { + // nothing + }, + prepare: function () { + //nothing + }, + setMessage: function (message) { + this.setContent(message); + }, + settings: { + message: undefined, + onok: undefined, + label: undefined, + }, + settingUpdated: function (key, oldValue, newValue) { + switch (key) { + case 'message': + this.setMessage(newValue); + break; + case 'label': + if (this.__internal.buttons[0].element) { + this.__internal.buttons[0].element.innerHTML = newValue; + } + break; + } + }, + callback: function (closeEvent) { + if (typeof this.get('onok') === 'function') { + var returnValue = this.get('onok').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + } + }; + }); + /** + * Confirm dialog object + * + * alertify.confirm(message); + * alertify.confirm(message, onok); + * alertify.confirm(message, onok, oncancel); + * alertify.confirm(title, message, onok, oncancel); + */ + alertify.dialog('confirm', function () { + + var autoConfirm = { + timer: null, + index: null, + text: null, + duration: null, + task: function (event, self) { + if (self.isOpen()) { + self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text + ' (‏' + autoConfirm.duration + '‏) '; + autoConfirm.duration -= 1; + if (autoConfirm.duration === -1) { + clearAutoConfirm(self); + var button = self.__internal.buttons[autoConfirm.index]; + var closeEvent = createCloseEvent(autoConfirm.index, button); + + if (typeof self.callback === 'function') { + self.callback.apply(self, [closeEvent]); + } + //close the dialog. + if (closeEvent.close !== false) { + self.close(); + } + } + } else { + clearAutoConfirm(self); + } + } + }; + + function clearAutoConfirm(self) { + if (autoConfirm.timer !== null) { + clearInterval(autoConfirm.timer); + autoConfirm.timer = null; + self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text; + } + } + + function startAutoConfirm(self, index, duration) { + clearAutoConfirm(self); + autoConfirm.duration = duration; + autoConfirm.index = index; + autoConfirm.text = self.__internal.buttons[index].element.innerHTML; + autoConfirm.timer = setInterval(delegate(self, autoConfirm.task), 1000); + autoConfirm.task(null, self); + } + + + return { + main: function (_title, _message, _onok, _oncancel) { + var title, message, onok, oncancel; + switch (arguments.length) { + case 1: + message = _title; + break; + case 2: + message = _title; + onok = _message; + break; + case 3: + message = _title; + onok = _message; + oncancel = _onok; + break; + case 4: + title = _title; + message = _message; + onok = _onok; + oncancel = _oncancel; + break; + } + this.set('title', title); + this.set('message', message); + this.set('onok', onok); + this.set('oncancel', oncancel); + return this; + }, + setup: function () { + return { + buttons: [ + { + text: alertify.defaults.glossary.ok, + key: keys.ENTER, + className: alertify.defaults.theme.ok, + }, + { + text: alertify.defaults.glossary.cancel, + key: keys.ESC, + invokeOnClose: true, + className: alertify.defaults.theme.cancel, + } + ], + focus: { + element: 0, + select: false + }, + options: { + maximizable: false, + resizable: false + } + }; + }, + build: function () { + //nothing + }, + prepare: function () { + //nothing + }, + setMessage: function (message) { + this.setContent(message); + }, + settings: { + message: null, + labels: null, + onok: null, + oncancel: null, + defaultFocus: null, + reverseButtons: null, + }, + settingUpdated: function (key, oldValue, newValue) { + switch (key) { + case 'message': + this.setMessage(newValue); + break; + case 'labels': + if ('ok' in newValue && this.__internal.buttons[0].element) { + this.__internal.buttons[0].text = newValue.ok; + this.__internal.buttons[0].element.innerHTML = newValue.ok; + } + if ('cancel' in newValue && this.__internal.buttons[1].element) { + this.__internal.buttons[1].text = newValue.cancel; + this.__internal.buttons[1].element.innerHTML = newValue.cancel; + } + break; + case 'reverseButtons': + if (newValue === true) { + this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element); + } else { + this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element); + } + break; + case 'defaultFocus': + this.__internal.focus.element = newValue === 'ok' ? 0 : 1; + break; + } + }, + callback: function (closeEvent) { + clearAutoConfirm(this); + var returnValue; + switch (closeEvent.index) { + case 0: + if (typeof this.get('onok') === 'function') { + returnValue = this.get('onok').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + break; + case 1: + if (typeof this.get('oncancel') === 'function') { + returnValue = this.get('oncancel').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + break; + } + }, + autoOk: function (duration) { + startAutoConfirm(this, 0, duration); + return this; + }, + autoCancel: function (duration) { + startAutoConfirm(this, 1, duration); + return this; + } + }; + }); + /** + * Prompt dialog object + * + * invoked by: + * alertify.prompt(message); + * alertify.prompt(message, value); + * alertify.prompt(message, value, onok); + * alertify.prompt(message, value, onok, oncancel); + * alertify.prompt(title, message, value, onok, oncancel); + */ + alertify.dialog('prompt', function () { + var input = document.createElement('INPUT'); + var p = document.createElement('P'); + return { + main: function (_title, _message, _value, _onok, _oncancel) { + var title, message, value, onok, oncancel; + switch (arguments.length) { + case 1: + message = _title; + break; + case 2: + message = _title; + value = _message; + break; + case 3: + message = _title; + value = _message; + onok = _value; + break; + case 4: + message = _title; + value = _message; + onok = _value; + oncancel = _onok; + break; + case 5: + title = _title; + message = _message; + value = _value; + onok = _onok; + oncancel = _oncancel; + break; + } + this.set('title', title); + this.set('message', message); + this.set('value', value); + this.set('onok', onok); + this.set('oncancel', oncancel); + return this; + }, + setup: function () { + return { + buttons: [ + { + text: alertify.defaults.glossary.ok, + key: keys.ENTER, + className: alertify.defaults.theme.ok, + }, + { + text: alertify.defaults.glossary.cancel, + key: keys.ESC, + invokeOnClose: true, + className: alertify.defaults.theme.cancel, + } + ], + focus: { + element: input, + select: true + }, + options: { + maximizable: false, + resizable: false + } + }; + }, + build: function () { + input.className = alertify.defaults.theme.input; + input.setAttribute('type', 'text'); + input.value = this.get('value'); + this.elements.content.appendChild(p); + this.elements.content.appendChild(input); + }, + prepare: function () { + //nothing + }, + setMessage: function (message) { + if (typeof message === 'string') { + clearContents(p); + p.innerHTML = message; + } else if (message instanceof window.HTMLElement && p.firstChild !== message) { + clearContents(p); + p.appendChild(message); + } + }, + settings: { + message: undefined, + labels: undefined, + onok: undefined, + oncancel: undefined, + value: '', + type:'text', + reverseButtons: undefined, + }, + settingUpdated: function (key, oldValue, newValue) { + switch (key) { + case 'message': + this.setMessage(newValue); + break; + case 'value': + input.value = newValue; + break; + case 'type': + switch (newValue) { + case 'text': + case 'color': + case 'date': + case 'datetime-local': + case 'email': + case 'month': + case 'number': + case 'password': + case 'search': + case 'tel': + case 'time': + case 'week': + input.type = newValue; + break; + default: + input.type = 'text'; + break; + } + break; + case 'labels': + if (newValue.ok && this.__internal.buttons[0].element) { + this.__internal.buttons[0].element.innerHTML = newValue.ok; + } + if (newValue.cancel && this.__internal.buttons[1].element) { + this.__internal.buttons[1].element.innerHTML = newValue.cancel; + } + break; + case 'reverseButtons': + if (newValue === true) { + this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element); + } else { + this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element); + } + break; + } + }, + callback: function (closeEvent) { + var returnValue; + switch (closeEvent.index) { + case 0: + this.settings.value = input.value; + if (typeof this.get('onok') === 'function') { + returnValue = this.get('onok').call(this, closeEvent, this.settings.value); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + break; + case 1: + if (typeof this.get('oncancel') === 'function') { + returnValue = this.get('oncancel').call(this, closeEvent); + if (typeof returnValue !== 'undefined') { + closeEvent.cancel = !returnValue; + } + } + if(!closeEvent.cancel){ + input.value = this.settings.value; + } + break; + } + } + }; + }); + + // CommonJS + if ( typeof module === 'object' && typeof module.exports === 'object' ) { + module.exports = alertify; + // AMD + } else if ( typeof define === 'function' && define.amd) { + define( [], function () { + return alertify; + } ); + // window + } else if ( !window.alertify ) { + window.alertify = alertify; + } + +} ( typeof window !== 'undefined' ? window : this ) ); diff --git a/vendor/blobt/assets/alertifyjs/alertify.min.js b/vendor/blobt/assets/alertifyjs/alertify.min.js new file mode 100644 index 0000000..ec5a382 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/alertify.min.js @@ -0,0 +1,3 @@ +/*! alertifyjs - v1.11.4 - Mohammad Younes (http://alertifyjs.com) */ +!function(a){"use strict";function b(a,b){a.className+=" "+b}function c(a,b){for(var c=a.className.split(" "),d=b.split(" "),e=0;e-1&&c.splice(f,1)}a.className=c.join(" ")}function d(){return"rtl"===a.getComputedStyle(document.body).direction}function e(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}function f(){return document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft}function g(a){for(;a.lastChild;)a.removeChild(a.lastChild)}function h(a){if(null===a)return a;var b;if(Array.isArray(a)){b=[];for(var c=0;c0){for(var c=[],d=0;d=0?(c(document.body,Da.noOverflow),w(!1)):a>0&&document.body.className.indexOf(Da.noOverflow)<0&&(w(!0),b(document.body,Da.noOverflow))}function w(d){v.defaults.preventBodyShift&&(d&&document.documentElement.scrollHeight>document.documentElement.clientHeight?(Fa=xa,Ea=a.getComputedStyle(document.body).top,b(document.body,Da.fixed),document.body.style.top=-xa+"px"):d||(xa=Fa,document.body.style.top=Ea,c(document.body,Da.fixed),t()))}function x(a,d,e){"string"==typeof e&&c(a.elements.root,Da.prefix+e),b(a.elements.root,Da.prefix+d),za=a.elements.root.offsetWidth}function y(a){a.get("modal")?(c(a.elements.root,Da.modeless),a.isOpen()&&(pa(a),N(a),u())):(b(a.elements.root,Da.modeless),a.isOpen()&&(oa(a),N(a),u()))}function z(a){a.get("basic")?b(a.elements.root,Da.basic):c(a.elements.root,Da.basic)}function A(a){a.get("frameless")?b(a.elements.root,Da.frameless):c(a.elements.root,Da.frameless)}function B(a,b){for(var c=p.indexOf(b),d=c+1;d200&&(Ha=a.timeStamp)&&!Ga){var c=a.srcElement||a.target;return!0===b.get("closableByDimmer")&&c===b.elements.modal&&E(b),Ga=!1,!1}}function S(a,b){if(Date.now()-Ia>200&&(Ia=Date.now()))for(var c=0;c-1?(S(b,function(a){return a.key===c}),!1):void 0}function V(a){var b=p[p.length-1],c=a.keyCode;if(c===n.LEFT||c===n.RIGHT){for(var d=b.__internal.buttons,e=0;en.F1-1&&ya.indexOf(c)>-1)return a.preventDefault(),a.stopPropagation(),S(b,function(a){return a.key===c}),!1}function W(a,b){if(b)b.focus();else{var c=a.__internal.focus,d=c.element;switch(typeof c.element){case"number":a.__internal.buttons.length>c.element&&(d=!0===a.get("basic")?a.elements.reset[0]:a.__internal.buttons[c.element].element);break;case"string":d=a.elements.body.querySelector(c.element);break;case"function":d=c.element.call(a)}void 0!==d&&null!==d||0!==a.__internal.buttons.length||(d=a.elements.reset[0]),d&&d.focus&&(d.focus(),c.select&&d.select&&d.select())}}function X(a,b){if(!b)for(var c=p.length-1;c>-1;c-=1)if(p[c].isModal()){b=p[c];break}if(b&&b.isModal()){var d,e=a.srcElement||a.target,f=e===b.elements.reset[1]||0===b.__internal.buttons.length&&e===document.body;f&&(b.get("maximizable")?d=b.elements.commands.maximize:b.get("closable")&&(d=b.elements.commands.close)),void 0===d&&("number"==typeof b.__internal.focus.element?e===b.elements.reset[0]?d=b.elements.buttons.auxiliary.firstChild||b.elements.buttons.primary.firstChild:f&&(d=b.elements.reset[0]):e===b.elements.reset[0]&&(d=b.elements.buttons.primary.lastChild||b.elements.buttons.auxiliary.lastChild)),W(b,d)}}function Y(a,b){clearTimeout(b.__internal.timerIn),W(b),t(),Ja=!1,l("onfocus",b),r(b.elements.dialog,s.type,b.__internal.transitionInHandler),c(b.elements.root,Da.animationIn)}function Z(a,b){clearTimeout(b.__internal.timerOut),r(b.elements.dialog,s.type,b.__internal.transitionOutHandler),da(b),ja(b),b.isMaximized()&&!b.get("startMaximized")&&J(b),v.defaults.maintainFocus&&b.__internal.activeElement&&(b.__internal.activeElement.focus(),b.__internal.activeElement=null),"function"==typeof b.__internal.destroy&&b.__internal.destroy.apply(b)}function $(a,b){var c=a[Na]-La,d=a[Oa]-Ma;Qa&&(d-=document.body.scrollTop),b.style.left=c+"px",b.style.top=d+"px"}function _(a,b){var c=a[Na]-La,d=a[Oa]-Ma;Qa&&(d-=document.body.scrollTop),b.style.left=Math.min(Pa.maxLeft,Math.max(Pa.minLeft,c))+"px",b.style.top=Qa?Math.min(Pa.maxTop,Math.max(Pa.minTop,d))+"px":Math.max(Pa.minTop,d)+"px"}function aa(a,c){if(null===Sa&&!c.isMaximized()&&c.get("movable")){var d,e=0,f=0;if("touchstart"===a.type?(a.preventDefault(),d=a.targetTouches[0],Na="clientX",Oa="clientY"):0===a.button&&(d=a),d){var g=c.elements.dialog;if(b(g,Da.capture),g.style.left&&(e=parseInt(g.style.left,10)),g.style.top&&(f=parseInt(g.style.top,10)),La=d[Na]-e,Ma=d[Oa]-f,c.isModal()?Ma+=c.elements.modal.scrollTop:c.isPinned()&&(Ma-=document.body.scrollTop),c.get("moveBounded")){var h=g,i=-e,j=-f;do{i+=h.offsetLeft,j+=h.offsetTop}while(h=h.offsetParent);Pa={maxLeft:i,minLeft:-i,maxTop:document.documentElement.clientHeight-g.clientHeight-j,minTop:-j},Ra=_}else Pa=null,Ra=$;return l("onmove",c),Qa=!c.isModal()&&c.isPinned(),Ka=c,Ra(d,g),b(document.body,Da.noSelection),!1}}}function ba(a){if(Ka){var b;"touchmove"===a.type?(a.preventDefault(),b=a.targetTouches[0]):0===a.button&&(b=a),b&&Ra(b,Ka.elements.dialog)}}function ca(){if(Ka){var a=Ka;Ka=Pa=null,c(document.body,Da.noSelection),c(a.elements.dialog,Da.capture),l("onmoved",a)}}function da(a){Ka=null;var b=a.elements.dialog;b.style.left=b.style.top=""}function ea(a){a.get("movable")?(b(a.elements.root,Da.movable),a.isOpen()&&qa(a)):(da(a),c(a.elements.root,Da.movable),a.isOpen()&&ra(a))}function fa(a,b,c){var e=b,f=0,g=0;do{f+=e.offsetLeft,g+=e.offsetTop}while(e=e.offsetParent);var h,i;!0===c?(h=a.pageX,i=a.pageY):(h=a.clientX,i=a.clientY);var j=d();if(j&&(h=document.body.offsetWidth-h,isNaN(Ta)||(f=document.body.offsetWidth-f-b.offsetWidth)),b.style.height=i-g+Wa+"px",b.style.width=h-f+Wa+"px",!isNaN(Ta)){var k=.5*Math.abs(b.offsetWidth-Ua);j&&(k*=-1),b.offsetWidth>Ua?b.style.left=Ta+k+"px":b.offsetWidth>=Va&&(b.style.left=Ta-k+"px")}}function ga(a,c){if(!c.isMaximized()){var d;if("touchstart"===a.type?(a.preventDefault(),d=a.targetTouches[0]):0===a.button&&(d=a),d){l("onresize",c),Sa=c,Wa=c.elements.resizeHandle.offsetHeight/2;var e=c.elements.dialog;return b(e,Da.capture),Ta=parseInt(e.style.left,10),e.style.height=e.offsetHeight+"px",e.style.minHeight=c.elements.header.offsetHeight+c.elements.footer.offsetHeight+"px",e.style.width=(Ua=e.offsetWidth)+"px","none"!==e.style.maxWidth&&(e.style.minWidth=(Va=e.offsetWidth)+"px"),e.style.maxWidth="none",b(document.body,Da.noSelection),!1}}}function ha(a){if(Sa){var b;"touchmove"===a.type?(a.preventDefault(),b=a.targetTouches[0]):0===a.button&&(b=a),b&&fa(b,Sa.elements.dialog,!Sa.get("modal")&&!Sa.get("pinned"))}}function ia(){if(Sa){var a=Sa;Sa=null,c(document.body,Da.noSelection),c(a.elements.dialog,Da.capture),Ga=!0,l("onresized",a)}}function ja(a){Sa=null;var b=a.elements.dialog;"none"===b.style.maxWidth&&(b.style.maxWidth=b.style.minWidth=b.style.width=b.style.height=b.style.minHeight=b.style.left="",Ta=Number.Nan,Ua=Va=Wa=0)}function ka(a){a.get("resizable")?(b(a.elements.root,Da.resizable),a.isOpen()&&sa(a)):(ja(a),c(a.elements.root,Da.resizable),a.isOpen()&&ta(a))}function la(){for(var a=0;a-1&&a.navigator.userAgent.indexOf("Chrome")<0,Ca={dimmer:'
',modal:'
',dialog:'
',reset:'',commands:'
',header:'
',body:'
',content:'
',footer:'',buttons:{primary:'
',auxiliary:'
'},button:'',resizeHandle:'
'},Da={animationIn:"ajs-in",animationOut:"ajs-out",base:"alertify",basic:"ajs-basic",capture:"ajs-capture",closable:"ajs-closable",fixed:"ajs-fixed",frameless:"ajs-frameless",hidden:"ajs-hidden",maximize:"ajs-maximize",maximized:"ajs-maximized",maximizable:"ajs-maximizable",modeless:"ajs-modeless",movable:"ajs-movable",noSelection:"ajs-no-selection",noOverflow:"ajs-no-overflow",noPadding:"ajs-no-padding",pin:"ajs-pin",pinnable:"ajs-pinnable",prefix:"ajs-",resizable:"ajs-resizable",restore:"ajs-restore",shake:"ajs-shake",unpinned:"ajs-unpinned"},Ea="",Fa=0,Ga=!1,Ha=0,Ia=0,Ja=!1,Ka=null,La=0,Ma=0,Na="pageX",Oa="pageY",Pa=null,Qa=!1,Ra=null,Sa=null,Ta=Number.Nan,Ua=0,Va=0,Wa=0;return{__init:m,isOpen:function(){return this.__internal.isOpen},isModal:function(){return this.elements.root.className.indexOf(Da.modeless)<0},isMaximized:function(){return this.elements.root.className.indexOf(Da.maximized)>-1},isPinned:function(){return this.elements.root.className.indexOf(Da.unpinned)<0},maximize:function(){return this.isMaximized()||I(this),this},restore:function(){return this.isMaximized()&&J(this),this},pin:function(){return this.isPinned()||G(this),this},unpin:function(){return this.isPinned()&&H(this),this},bringToFront:function(){return B(null,this),this},moveTo:function(a,b){if(!isNaN(a)&&!isNaN(b)){l("onmove",this);var c=this.elements.dialog,e=c,f=0,g=0;c.style.left&&(f-=parseInt(c.style.left,10)),c.style.top&&(g-=parseInt(c.style.top,10));do{f+=e.offsetLeft,g+=e.offsetTop}while(e=e.offsetParent);var h=a-f,i=b-g;d()&&(h*=-1),c.style.left=h+"px",c.style.top=i+"px",l("onmoved",this)}return this},resizeTo:function(a,b){var c=parseFloat(a),d=parseFloat(b),e=/(\d*\.\d+|\d+)%/;if(!isNaN(c)&&!isNaN(d)&&!0===this.get("resizable")){l("onresize",this),(""+a).match(e)&&(c=c/100*document.documentElement.clientWidth),(""+b).match(e)&&(d=d/100*document.documentElement.clientHeight);var f=this.elements.dialog;"none"!==f.style.maxWidth&&(f.style.minWidth=(Va=f.offsetWidth)+"px"),f.style.maxWidth="none",f.style.minHeight=this.elements.header.offsetHeight+this.elements.footer.offsetHeight+"px",f.style.width=c+"px",f.style.height=d+"px",l("onresized",this)}return this},setting:function(a,b){var c=this,d=D(this,this.__internal.options,function(a,b,d){C(c,a,b,d)},a,b);if("get"===d.op)return d.found?d.value:void 0!==this.settings?D(this,this.settings,this.settingUpdated||function(){},a,b).value:void 0;if("set"===d.op){if(d.items.length>0)for(var e=this.settingUpdated||function(){},f=0;f0){var b=this;this.__internal.timer=setTimeout(function(){b.dismiss()},1e3*this.__internal.delay)}return this},setContent:function(c){if("string"==typeof c?(g(this.element),this.element.innerHTML=c):c instanceof a.HTMLElement&&this.element.firstChild!==c&&(g(this.element),this.element.appendChild(c)),this.__internal.closeButton){var d=document.createElement("span");b(d,n.close),d.setAttribute("data-close",!0),this.element.appendChild(d)}return this},dismissOthers:function(){return u.dismissAll(this),this}})}var k,l,m=[],n={base:"alertify-notifier",message:"ajs-message",top:"ajs-top",right:"ajs-right",bottom:"ajs-bottom",left:"ajs-left",center:"ajs-center",visible:"ajs-visible",hidden:"ajs-hidden",close:"ajs-close"};return{setting:function(a,b){if(d(this),void 0===b)return this.__internal[a];switch(a){case"position":this.__internal.position=b,h(this);break;case"delay":this.__internal.delay=b}return this},set:function(a,b){return this.setting(a,b),this},get:function(a){return this.setting(a)},create:function(a,b){d(this);var c=document.createElement("div");return c.className=n.message+("string"==typeof a&&""!==a?" ajs-"+a:""),i(c,b)},dismissAll:function(a){for(var b=m.slice(0),c=0;c (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer { + position: fixed; + z-index: 1981; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 0; + margin: 0; + background-color: #252525; + opacity: .5; +} +.alertify .ajs-modal { + position: fixed; + top: 0; + right: 0; + left: 0; + bottom: 0; + padding: 0; + overflow-y: auto; + z-index: 1981; +} +.alertify .ajs-dialog { + position: relative; + margin: 5% auto; + min-height: 110px; + max-width: 500px; + padding: 24px 24px 0 24px; + outline: 0; + background-color: #fff; +} +.alertify .ajs-dialog.ajs-capture:before { + content: ''; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: block; + z-index: 1; +} +.alertify .ajs-reset { + position: absolute !important; + display: inline !important; + width: 0 !important; + height: 0 !important; + opacity: 0 !important; +} +.alertify .ajs-commands { + position: absolute; + right: 4px; + margin: -14px 24px 0 0; + z-index: 2; +} +.alertify .ajs-commands button { + display: none; + width: 10px; + height: 10px; + margin-left: 10px; + padding: 10px; + border: 0; + background-color: transparent; + background-repeat: no-repeat; + background-position: center; + cursor: pointer; +} +.alertify .ajs-commands button.ajs-close { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC); +} +.alertify .ajs-commands button.ajs-maximize { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC); +} +.alertify .ajs-header { + margin: -24px; + margin-bottom: 0; + padding: 16px 24px; + background-color: #fff; +} +.alertify .ajs-body { + min-height: 56px; +} +.alertify .ajs-body .ajs-content { + padding: 16px 24px 16px 16px; +} +.alertify .ajs-footer { + padding: 4px; + margin-left: -24px; + margin-right: -24px; + min-height: 43px; + background-color: #fff; +} +.alertify .ajs-footer .ajs-buttons.ajs-primary { + text-align: right; +} +.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button { + margin: 4px; +} +.alertify .ajs-footer .ajs-buttons.ajs-auxiliary { + float: left; + clear: none; + text-align: left; +} +.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button { + margin: 4px; +} +.alertify .ajs-footer .ajs-buttons .ajs-button { + min-width: 88px; + min-height: 35px; +} +.alertify .ajs-handle { + position: absolute; + display: none; + width: 10px; + height: 10px; + right: 0; + bottom: 0; + z-index: 1; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==); + -webkit-transform: scaleX(1) /*rtl:scaleX(-1)*/; + transform: scaleX(1) /*rtl:scaleX(-1)*/; + cursor: se-resize; +} +.alertify.ajs-no-overflow .ajs-body .ajs-content { + overflow: hidden !important; +} +.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content { + left: 0; + right: 0; + padding: 0; +} +.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body { + margin-left: -24px; + margin-right: -24px; +} +.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content { + padding: 0; +} +.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content { + left: 0; + right: 0; +} +.alertify.ajs-maximizable .ajs-commands button.ajs-maximize, +.alertify.ajs-maximizable .ajs-commands button.ajs-restore { + display: inline-block; +} +.alertify.ajs-closable .ajs-commands button.ajs-close { + display: inline-block; +} +.alertify.ajs-maximized .ajs-dialog { + width: 100% !important; + height: 100% !important; + max-width: none !important; + margin: 0 auto !important; + top: 0 !important; + left: 0 !important; +} +.alertify.ajs-maximized.ajs-modeless .ajs-modal { + position: fixed !important; + min-height: 100% !important; + max-height: none !important; + margin: 0 !important; +} +.alertify.ajs-maximized .ajs-commands button.ajs-maximize { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=); +} +.alertify.ajs-resizable .ajs-dialog, +.alertify.ajs-maximized .ajs-dialog { + padding: 0; +} +.alertify.ajs-resizable .ajs-commands, +.alertify.ajs-maximized .ajs-commands { + margin: 14px 24px 0 0; +} +.alertify.ajs-resizable .ajs-header, +.alertify.ajs-maximized .ajs-header { + position: absolute; + top: 0; + left: 0; + right: 0; + margin: 0; + padding: 16px 24px; +} +.alertify.ajs-resizable .ajs-body, +.alertify.ajs-maximized .ajs-body { + min-height: 224px; + display: inline-block; +} +.alertify.ajs-resizable .ajs-body .ajs-content, +.alertify.ajs-maximized .ajs-body .ajs-content { + position: absolute; + top: 50px; + right: 24px; + bottom: 50px; + left: 24px; + overflow: auto; +} +.alertify.ajs-resizable .ajs-footer, +.alertify.ajs-maximized .ajs-footer { + position: absolute; + left: 0; + right: 0; + bottom: 0; + margin: 0; +} +.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog { + min-width: 548px; +} +.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle { + display: block; +} +.alertify.ajs-movable:not(.ajs-maximized) .ajs-header { + cursor: move; +} +.alertify.ajs-modeless .ajs-dimmer, +.alertify.ajs-modeless .ajs-reset { + display: none; +} +.alertify.ajs-modeless .ajs-modal { + overflow: visible; + max-width: none; + max-height: 0; +} +.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin { + display: inline-block; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC); +} +.alertify.ajs-modeless.ajs-unpinned .ajs-modal { + position: absolute; +} +.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=); +} +.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body { + max-height: 500px; + overflow: auto; +} +.alertify.ajs-basic .ajs-header { + opacity: 0; +} +.alertify.ajs-basic .ajs-footer { + visibility: hidden; +} +.alertify.ajs-frameless .ajs-header { + position: absolute; + top: 0; + left: 0; + right: 0; + min-height: 60px; + margin: 0; + padding: 0; + opacity: 0; + z-index: 1; +} +.alertify.ajs-frameless .ajs-footer { + display: none; +} +.alertify.ajs-frameless .ajs-body .ajs-content { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog { + padding-top: 0; +} +.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands { + margin-top: 0; +} +.ajs-no-overflow { + overflow: hidden !important; + outline: none; +} +.ajs-no-overflow.ajs-fixed { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow-y: scroll!important; +} +.ajs-no-selection, +.ajs-no-selection * { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +@media screen and (max-width: 568px) { + .alertify .ajs-dialog { + min-width: 150px; + } + .alertify:not(.ajs-maximized) .ajs-modal { + padding: 0 5%; + } + .alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog { + min-width: initial; + min-width: auto /*IE fallback*/; + } +} +@-moz-document url-prefix() { + .alertify button:focus { + outline: 1px dotted #3593D2; + } +} +.alertify .ajs-dimmer, +.alertify .ajs-modal { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition-property: opacity, visibility; + transition-property: opacity, visibility; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; +} +.alertify.ajs-hidden .ajs-dimmer, +.alertify.ajs-hidden .ajs-modal { + visibility: hidden; + opacity: 0; +} +.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} +.alertify.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-duration: 250ms; + animation-duration: 250ms; +} +.alertify .ajs-dialog.ajs-shake { + -webkit-animation-name: ajs-shake; + animation-name: ajs-shake; + -webkit-animation-duration: .1s; + animation-duration: .1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +@-webkit-keyframes ajs-shake { + 0%, + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} +@keyframes ajs-shake { + 0%, + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} +.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-slideIn; + animation-name: ajs-slideIn; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); +} +.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-slideOut; + animation-name: ajs-slideOut; + -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); + animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); +} +.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-zoomIn; + animation-name: ajs-zoomIn; +} +.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-zoomOut; + animation-name: ajs-zoomOut; +} +.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-fadeIn; + animation-name: ajs-fadeIn; +} +.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-fadeOut; + animation-name: ajs-fadeOut; +} +.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-pulseIn; + animation-name: ajs-pulseIn; +} +.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-pulseOut; + animation-name: ajs-pulseOut; +} +.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-flipInX; + animation-name: ajs-flipInX; +} +.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-flipOutX; + animation-name: ajs-flipOutX; +} +.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-flipInY; + animation-name: ajs-flipInY; +} +.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-flipOutY; + animation-name: ajs-flipOutY; +} +@-webkit-keyframes ajs-pulseIn { + 0%, + 20%, + 40%, + 60%, + 80%, + 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@keyframes ajs-pulseIn { + 0%, + 20%, + 40%, + 60%, + 80%, + 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@-webkit-keyframes ajs-pulseOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} +@keyframes ajs-pulseOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} +@-webkit-keyframes ajs-zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@keyframes ajs-zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@-webkit-keyframes ajs-zoomOut { + 0% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } +} +@keyframes ajs-zoomOut { + 0% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } +} +@-webkit-keyframes ajs-fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes ajs-fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes ajs-fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@keyframes ajs-fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@-webkit-keyframes ajs-flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@keyframes ajs-flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + transform: perspective(400px) rotate3d(1, 0, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + transform: perspective(400px) rotate3d(1, 0, 0, -5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@-webkit-keyframes ajs-flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} +@keyframes ajs-flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + transform: perspective(400px) rotate3d(1, 0, 0, -20deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + transform: perspective(400px) rotate3d(1, 0, 0, 90deg); + opacity: 0; + } +} +@-webkit-keyframes ajs-flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@keyframes ajs-flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + transform: perspective(400px) rotate3d(0, 1, 0, -20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + transform: perspective(400px) rotate3d(0, 1, 0, 10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + transform: perspective(400px) rotate3d(0, 1, 0, -5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@-webkit-keyframes ajs-flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} +@keyframes ajs-flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + transform: perspective(400px) rotate3d(0, 1, 0, -15deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + transform: perspective(400px) rotate3d(0, 1, 0, 90deg); + opacity: 0; + } +} +@-webkit-keyframes ajs-slideIn { + 0% { + margin-top: -100%; + } + 100% { + margin-top: 5%; + } +} +@keyframes ajs-slideIn { + 0% { + margin-top: -100%; + } + 100% { + margin-top: 5%; + } +} +@-webkit-keyframes ajs-slideOut { + 0% { + margin-top: 5%; + } + 100% { + margin-top: -100%; + } +} +@keyframes ajs-slideOut { + 0% { + margin-top: 5%; + } + 100% { + margin-top: -100%; + } +} +.alertify-notifier { + position: fixed; + width: 0; + overflow: visible; + z-index: 1982; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.alertify-notifier .ajs-message { + position: relative; + width: 260px; + max-height: 0; + padding: 0; + opacity: 0; + margin: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; +} +.alertify-notifier .ajs-message.ajs-visible { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); + transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); + opacity: 1; + max-height: 100%; + padding: 15px; + margin-top: 10px; +} +.alertify-notifier .ajs-message.ajs-success { + background: rgba(91, 189, 114, 0.95); +} +.alertify-notifier .ajs-message.ajs-error { + background: rgba(217, 92, 92, 0.95); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); +} +.alertify-notifier .ajs-message .ajs-close { + position: absolute; + top: 0; + right: 0; + width: 16px; + height: 16px; + cursor: pointer; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC); + background-repeat: no-repeat; + background-position: center center; + background-color: rgba(0, 0, 0, 0.5); + border-top-right-radius: 2px; +} +.alertify-notifier.ajs-top { + top: 10px; +} +.alertify-notifier.ajs-bottom { + bottom: 10px; +} +.alertify-notifier.ajs-right { + right: 10px; +} +.alertify-notifier.ajs-right .ajs-message { + right: -320px; +} +.alertify-notifier.ajs-right .ajs-message.ajs-visible { + right: 290px; +} +.alertify-notifier.ajs-left { + left: 10px; +} +.alertify-notifier.ajs-left .ajs-message { + left: -300px; +} +.alertify-notifier.ajs-left .ajs-message.ajs-visible { + left: 0; +} +.alertify-notifier.ajs-center { + left: 50%; +} +.alertify-notifier.ajs-center .ajs-message { + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} +.alertify-notifier.ajs-center .ajs-message.ajs-visible { + left: 50%; + -webkit-transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); + transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); +} +.alertify-notifier.ajs-center.ajs-top .ajs-message { + top: -300px; +} +.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible { + top: 0; +} +.alertify-notifier.ajs-center.ajs-bottom .ajs-message { + bottom: -300px; +} +.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible { + bottom: 0; +} diff --git a/vendor/blobt/assets/alertifyjs/css/alertify.min.css b/vendor/blobt/assets/alertifyjs/css/alertify.min.css new file mode 100644 index 0000000..8a702a5 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/alertify.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer{position:fixed;z-index:1981;top:0;right:0;bottom:0;left:0;padding:0;margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{position:fixed;top:0;right:0;left:0;bottom:0;padding:0;overflow-y:auto;z-index:1981}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0 24px;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;right:4px;margin:-14px 24px 0 0;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-left:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px;margin-bottom:0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 24px 16px 16px}.alertify .ajs-footer{padding:4px;margin-left:-24px;margin-right:-24px;min-height:43px;background-color:#fff}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:left;clear:none;text-align:left}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;right:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(1);transform:scaleX(1);cursor:se-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{left:0;right:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-left:-24px;margin-right:-24px}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content{padding:0}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{left:0;right:0}.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-closable .ajs-commands button.ajs-close{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;left:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 24px 0 0}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;left:0;right:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;right:24px;bottom:50px;left:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;left:0;right:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;left:0;right:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;right:0;bottom:0;left:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:1px dotted #3593d2}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:250ms;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;width:260px;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;right:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-right-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{right:10px}.alertify-notifier.ajs-right .ajs-message{right:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{right:290px}.alertify-notifier.ajs-left{left:10px}.alertify-notifier.ajs-left .ajs-message{left:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{left:0}.alertify-notifier.ajs-center{left:50%}.alertify-notifier.ajs-center .ajs-message{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.alertify-notifier.ajs-center .ajs-message.ajs-visible{left:50%;-webkit-transition-timing-function:cubic-bezier(.57,.43,.1,.65);transition-timing-function:cubic-bezier(.57,.43,.1,.65)}.alertify-notifier.ajs-center.ajs-top .ajs-message{top:-300px}.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible{top:0}.alertify-notifier.ajs-center.ajs-bottom .ajs-message{bottom:-300px}.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible{bottom:0} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/alertify.rtl.css b/vendor/blobt/assets/alertifyjs/css/alertify.rtl.css new file mode 100644 index 0000000..ebfafbf --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/alertify.rtl.css @@ -0,0 +1,938 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer { + position: fixed; + z-index: 1981; + top: 0; + left: 0; + bottom: 0; + right: 0; + padding: 0; + margin: 0; + background-color: #252525; + opacity: .5; +} +.alertify .ajs-modal { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + padding: 0; + overflow-y: auto; + z-index: 1981; +} +.alertify .ajs-dialog { + position: relative; + margin: 5% auto; + min-height: 110px; + max-width: 500px; + padding: 24px 24px 0 24px; + outline: 0; + background-color: #fff; +} +.alertify .ajs-dialog.ajs-capture:before { + content: ''; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + display: block; + z-index: 1; +} +.alertify .ajs-reset { + position: absolute !important; + display: inline !important; + width: 0 !important; + height: 0 !important; + opacity: 0 !important; +} +.alertify .ajs-commands { + position: absolute; + left: 4px; + margin: -14px 0 0 24px; + z-index: 2; +} +.alertify .ajs-commands button { + display: none; + width: 10px; + height: 10px; + margin-right: 10px; + padding: 10px; + border: 0; + background-color: transparent; + background-repeat: no-repeat; + background-position: center; + cursor: pointer; +} +.alertify .ajs-commands button.ajs-close { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC); +} +.alertify .ajs-commands button.ajs-maximize { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC); +} +.alertify .ajs-header { + margin: -24px; + margin-bottom: 0; + padding: 16px 24px; + background-color: #fff; +} +.alertify .ajs-body { + min-height: 56px; +} +.alertify .ajs-body .ajs-content { + padding: 16px 16px 16px 24px; +} +.alertify .ajs-footer { + padding: 4px; + margin-right: -24px; + margin-left: -24px; + min-height: 43px; + background-color: #fff; +} +.alertify .ajs-footer .ajs-buttons.ajs-primary { + text-align: left; +} +.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button { + margin: 4px; +} +.alertify .ajs-footer .ajs-buttons.ajs-auxiliary { + float: right; + clear: none; + text-align: right; +} +.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button { + margin: 4px; +} +.alertify .ajs-footer .ajs-buttons .ajs-button { + min-width: 88px; + min-height: 35px; +} +.alertify .ajs-handle { + position: absolute; + display: none; + width: 10px; + height: 10px; + left: 0; + bottom: 0; + z-index: 1; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==); + -webkit-transform: scaleX(-1); + transform: scaleX(-1); + cursor: sw-resize; +} +.alertify.ajs-no-overflow .ajs-body .ajs-content { + overflow: hidden !important; +} +.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content { + right: 0; + left: 0; + padding: 0; +} +.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body { + margin-right: -24px; + margin-left: -24px; +} +.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content { + padding: 0; +} +.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content { + right: 0; + left: 0; +} +.alertify.ajs-maximizable .ajs-commands button.ajs-maximize, +.alertify.ajs-maximizable .ajs-commands button.ajs-restore { + display: inline-block; +} +.alertify.ajs-closable .ajs-commands button.ajs-close { + display: inline-block; +} +.alertify.ajs-maximized .ajs-dialog { + width: 100% !important; + height: 100% !important; + max-width: none !important; + margin: 0 auto !important; + top: 0 !important; + right: 0 !important; +} +.alertify.ajs-maximized.ajs-modeless .ajs-modal { + position: fixed !important; + min-height: 100% !important; + max-height: none !important; + margin: 0 !important; +} +.alertify.ajs-maximized .ajs-commands button.ajs-maximize { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=); +} +.alertify.ajs-resizable .ajs-dialog, +.alertify.ajs-maximized .ajs-dialog { + padding: 0; +} +.alertify.ajs-resizable .ajs-commands, +.alertify.ajs-maximized .ajs-commands { + margin: 14px 0 0 24px; +} +.alertify.ajs-resizable .ajs-header, +.alertify.ajs-maximized .ajs-header { + position: absolute; + top: 0; + right: 0; + left: 0; + margin: 0; + padding: 16px 24px; +} +.alertify.ajs-resizable .ajs-body, +.alertify.ajs-maximized .ajs-body { + min-height: 224px; + display: inline-block; +} +.alertify.ajs-resizable .ajs-body .ajs-content, +.alertify.ajs-maximized .ajs-body .ajs-content { + position: absolute; + top: 50px; + left: 24px; + bottom: 50px; + right: 24px; + overflow: auto; +} +.alertify.ajs-resizable .ajs-footer, +.alertify.ajs-maximized .ajs-footer { + position: absolute; + right: 0; + left: 0; + bottom: 0; + margin: 0; +} +.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog { + min-width: 548px; +} +.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle { + display: block; +} +.alertify.ajs-movable:not(.ajs-maximized) .ajs-header { + cursor: move; +} +.alertify.ajs-modeless .ajs-dimmer, +.alertify.ajs-modeless .ajs-reset { + display: none; +} +.alertify.ajs-modeless .ajs-modal { + overflow: visible; + max-width: none; + max-height: 0; +} +.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin { + display: inline-block; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC); +} +.alertify.ajs-modeless.ajs-unpinned .ajs-modal { + position: absolute; +} +.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=); +} +.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body { + max-height: 500px; + overflow: auto; +} +.alertify.ajs-basic .ajs-header { + opacity: 0; +} +.alertify.ajs-basic .ajs-footer { + visibility: hidden; +} +.alertify.ajs-frameless .ajs-header { + position: absolute; + top: 0; + right: 0; + left: 0; + min-height: 60px; + margin: 0; + padding: 0; + opacity: 0; + z-index: 1; +} +.alertify.ajs-frameless .ajs-footer { + display: none; +} +.alertify.ajs-frameless .ajs-body .ajs-content { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog { + padding-top: 0; +} +.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands { + margin-top: 0; +} +.ajs-no-overflow { + overflow: hidden !important; + outline: none; +} +.ajs-no-overflow.ajs-fixed { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + overflow-y: scroll!important; +} +.ajs-no-selection, +.ajs-no-selection * { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +@media screen and (max-width: 568px) { + .alertify .ajs-dialog { + min-width: 150px; + } + .alertify:not(.ajs-maximized) .ajs-modal { + padding: 0 5%; + } + .alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog { + min-width: initial; + min-width: auto /*IE fallback*/; + } +} +@-moz-document url-prefix() { + .alertify button:focus { + outline: 1px dotted #3593D2; + } +} +.alertify .ajs-dimmer, +.alertify .ajs-modal { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition-property: opacity, visibility; + transition-property: opacity, visibility; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; + -webkit-transition-duration: 250ms; + transition-duration: 250ms; +} +.alertify.ajs-hidden .ajs-dimmer, +.alertify.ajs-hidden .ajs-modal { + visibility: hidden; + opacity: 0; +} +.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-duration: 500ms; + animation-duration: 500ms; +} +.alertify.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-duration: 250ms; + animation-duration: 250ms; +} +.alertify .ajs-dialog.ajs-shake { + -webkit-animation-name: ajs-shake; + animation-name: ajs-shake; + -webkit-animation-duration: .1s; + animation-duration: .1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +@-webkit-keyframes ajs-shake { + 0%, + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } +} +@keyframes ajs-shake { + 0%, + 100% { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } +} +.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-slideIn; + animation-name: ajs-slideIn; + -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); + animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); +} +.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-slideOut; + animation-name: ajs-slideOut; + -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); + animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); +} +.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-zoomIn; + animation-name: ajs-zoomIn; +} +.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-zoomOut; + animation-name: ajs-zoomOut; +} +.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-fadeIn; + animation-name: ajs-fadeIn; +} +.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-fadeOut; + animation-name: ajs-fadeOut; +} +.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-pulseIn; + animation-name: ajs-pulseIn; +} +.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-pulseOut; + animation-name: ajs-pulseOut; +} +.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-flipInX; + animation-name: ajs-flipInX; +} +.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-flipOutX; + animation-name: ajs-flipOutX; +} +.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog { + -webkit-animation-name: ajs-flipInY; + animation-name: ajs-flipInY; +} +.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog { + -webkit-animation-name: ajs-flipOutY; + animation-name: ajs-flipOutY; +} +@-webkit-keyframes ajs-pulseIn { + 0%, + 20%, + 40%, + 60%, + 80%, + 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@keyframes ajs-pulseIn { + 0%, + 20%, + 40%, + 60%, + 80%, + 100% { + -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + 0% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + 20% { + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 40% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 60% { + opacity: 1; + -webkit-transform: scale3d(1.03, 1.03, 1.03); + transform: scale3d(1.03, 1.03, 1.03); + } + 80% { + -webkit-transform: scale3d(0.97, 0.97, 0.97); + transform: scale3d(0.97, 0.97, 0.97); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@-webkit-keyframes ajs-pulseOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} +@keyframes ajs-pulseOut { + 20% { + -webkit-transform: scale3d(0.9, 0.9, 0.9); + transform: scale3d(0.9, 0.9, 0.9); + } + 50%, + 55% { + opacity: 1; + -webkit-transform: scale3d(1.1, 1.1, 1.1); + transform: scale3d(1.1, 1.1, 1.1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } +} +@-webkit-keyframes ajs-zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@keyframes ajs-zoomIn { + 0% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } + 100% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } +} +@-webkit-keyframes ajs-zoomOut { + 0% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } +} +@keyframes ajs-zoomOut { + 0% { + opacity: 1; + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1); + } + 100% { + opacity: 0; + -webkit-transform: scale3d(0.25, 0.25, 0.25); + transform: scale3d(0.25, 0.25, 0.25); + } +} +@-webkit-keyframes ajs-fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes ajs-fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes ajs-fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@keyframes ajs-fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +@-webkit-keyframes ajs-flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg); + transform: perspective(400px) rotate3d(1, 0, 0, -10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg); + transform: perspective(400px) rotate3d(1, 0, 0, 5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@keyframes ajs-flipInX { + 0% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg); + transform: perspective(400px) rotate3d(1, 0, 0, -10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg); + transform: perspective(400px) rotate3d(1, 0, 0, 5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@-webkit-keyframes ajs-flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + opacity: 0; + } +} +@keyframes ajs-flipOutX { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + transform: perspective(400px) rotate3d(1, 0, 0, 20deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + transform: perspective(400px) rotate3d(1, 0, 0, -90deg); + opacity: 0; + } +} +@-webkit-keyframes ajs-flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 20deg); + transform: perspective(400px) rotate3d(0, -1, 0, 20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -10deg); + transform: perspective(400px) rotate3d(0, -1, 0, -10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 5deg); + transform: perspective(400px) rotate3d(0, -1, 0, 5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@keyframes ajs-flipInY { + 0% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + opacity: 0; + } + 40% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 20deg); + transform: perspective(400px) rotate3d(0, -1, 0, 20deg); + -webkit-transition-timing-function: ease-in; + transition-timing-function: ease-in; + } + 60% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -10deg); + transform: perspective(400px) rotate3d(0, -1, 0, -10deg); + opacity: 1; + } + 80% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 5deg); + transform: perspective(400px) rotate3d(0, -1, 0, 5deg); + } + 100% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } +} +@-webkit-keyframes ajs-flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 15deg); + transform: perspective(400px) rotate3d(0, -1, 0, 15deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + opacity: 0; + } +} +@keyframes ajs-flipOutY { + 0% { + -webkit-transform: perspective(400px); + transform: perspective(400px); + } + 30% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 15deg); + transform: perspective(400px) rotate3d(0, -1, 0, 15deg); + opacity: 1; + } + 100% { + -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + transform: perspective(400px) rotate3d(0, -1, 0, -90deg); + opacity: 0; + } +} +@-webkit-keyframes ajs-slideIn { + 0% { + margin-top: -100%; + } + 100% { + margin-top: 5%; + } +} +@keyframes ajs-slideIn { + 0% { + margin-top: -100%; + } + 100% { + margin-top: 5%; + } +} +@-webkit-keyframes ajs-slideOut { + 0% { + margin-top: 5%; + } + 100% { + margin-top: -100%; + } +} +@keyframes ajs-slideOut { + 0% { + margin-top: 5%; + } + 100% { + margin-top: -100%; + } +} +.alertify-notifier { + position: fixed; + width: 0; + overflow: visible; + z-index: 1982; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.alertify-notifier .ajs-message { + position: relative; + width: 260px; + max-height: 0; + padding: 0; + opacity: 0; + margin: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-transition-duration: 250ms; + transition-duration: 250ms; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; +} +.alertify-notifier .ajs-message.ajs-visible { + -webkit-transition-duration: 500ms; + transition-duration: 500ms; + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); + transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); + opacity: 1; + max-height: 100%; + padding: 15px; + margin-top: 10px; +} +.alertify-notifier .ajs-message.ajs-success { + background: rgba(91, 189, 114, 0.95); +} +.alertify-notifier .ajs-message.ajs-error { + background: rgba(217, 92, 92, 0.95); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); +} +.alertify-notifier .ajs-message .ajs-close { + position: absolute; + top: 0; + left: 0; + width: 16px; + height: 16px; + cursor: pointer; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC); + background-repeat: no-repeat; + background-position: center center; + background-color: rgba(0, 0, 0, 0.5); + border-top-left-radius: 2px; +} +.alertify-notifier.ajs-top { + top: 10px; +} +.alertify-notifier.ajs-bottom { + bottom: 10px; +} +.alertify-notifier.ajs-right { + left: 10px; +} +.alertify-notifier.ajs-right .ajs-message { + left: -320px; +} +.alertify-notifier.ajs-right .ajs-message.ajs-visible { + left: 290px; +} +.alertify-notifier.ajs-left { + right: 10px; +} +.alertify-notifier.ajs-left .ajs-message { + right: -300px; +} +.alertify-notifier.ajs-left .ajs-message.ajs-visible { + right: 0; +} +.alertify-notifier.ajs-center { + right: 50%; +} +.alertify-notifier.ajs-center .ajs-message { + -webkit-transform: translateX(50%); + transform: translateX(50%); +} +.alertify-notifier.ajs-center .ajs-message.ajs-visible { + right: 50%; + -webkit-transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); + transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); +} +.alertify-notifier.ajs-center.ajs-top .ajs-message { + top: -300px; +} +.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible { + top: 0; +} +.alertify-notifier.ajs-center.ajs-bottom .ajs-message { + bottom: -300px; +} +.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible { + bottom: 0; +} diff --git a/vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css new file mode 100644 index 0000000..4543385 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer{position:fixed;z-index:1981;top:0;left:0;bottom:0;right:0;padding:0;margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{position:fixed;top:0;left:0;right:0;bottom:0;padding:0;overflow-y:auto;z-index:1981}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0 24px;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;left:4px;margin:-14px 0 0 24px;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-right:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px;margin-bottom:0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 16px 16px 24px}.alertify .ajs-footer{padding:4px;margin-right:-24px;margin-left:-24px;min-height:43px;background-color:#fff}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:left}.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:right;clear:none;text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;left:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(-1);transform:scaleX(-1);cursor:sw-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{right:0;left:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-right:-24px;margin-left:-24px}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content{padding:0}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{right:0;left:0}.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-closable .ajs-commands button.ajs-close{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;right:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 0 0 24px}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;right:0;left:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;left:24px;bottom:50px;right:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;right:0;left:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;right:0;left:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;left:0;bottom:0;right:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;left:0;bottom:0;right:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:1px dotted #3593d2}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:250ms;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-10deg);transform:perspective(400px) rotate3d(1,0,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,5deg);transform:perspective(400px) rotate3d(1,0,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-10deg);transform:perspective(400px) rotate3d(1,0,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,5deg);transform:perspective(400px) rotate3d(1,0,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,20deg);transform:perspective(400px) rotate3d(0,-1,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-10deg);transform:perspective(400px) rotate3d(0,-1,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,5deg);transform:perspective(400px) rotate3d(0,-1,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,20deg);transform:perspective(400px) rotate3d(0,-1,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-10deg);transform:perspective(400px) rotate3d(0,-1,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,5deg);transform:perspective(400px) rotate3d(0,-1,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,15deg);transform:perspective(400px) rotate3d(0,-1,0,15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,15deg);transform:perspective(400px) rotate3d(0,-1,0,15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;width:260px;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;left:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-left-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{left:10px}.alertify-notifier.ajs-right .ajs-message{left:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{left:290px}.alertify-notifier.ajs-left{right:10px}.alertify-notifier.ajs-left .ajs-message{right:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{right:0}.alertify-notifier.ajs-center{right:50%}.alertify-notifier.ajs-center .ajs-message{-webkit-transform:translateX(50%);transform:translateX(50%)}.alertify-notifier.ajs-center .ajs-message.ajs-visible{right:50%;-webkit-transition-timing-function:cubic-bezier(.57,.43,.1,.65);transition-timing-function:cubic-bezier(.57,.43,.1,.65)}.alertify-notifier.ajs-center.ajs-top .ajs-message{top:-300px}.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible{top:0}.alertify-notifier.ajs-center.ajs-bottom .ajs-message{bottom:-300px}.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible{bottom:0} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css new file mode 100644 index 0000000..5677641 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css @@ -0,0 +1,61 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer { + background-color: #000; + opacity: .5; +} +.alertify .ajs-dialog { + max-width: 600px; + min-height: 122px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + border-radius: 6px; +} +.alertify .ajs-header { + color: #333; + border-bottom: 1px solid #e5e5e5; + border-radius: 6px 6px 0 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 18px; +} +.alertify .ajs-body { + font-family: 'Roboto', sans-serif; + color: black; +} +.alertify.ajs-resizable .ajs-content, +.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { + top: 58px; + bottom: 68px; +} +.alertify .ajs-footer { + background-color: #fff; + padding: 15px; + border-top: 1px solid #e5e5e5; + border-radius: 0 0 6px 6px; +} +.alertify-notifier .ajs-message { + background: rgba(255, 255, 255, 0.95); + color: #000; + text-align: center; + border: solid 1px #ddd; + border-radius: 2px; +} +.alertify-notifier .ajs-message.ajs-success { + color: #fff; + background: rgba(91, 189, 114, 0.95); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-error { + color: #fff; + background: rgba(217, 92, 92, 0.95); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); + border-color: #999; +} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css new file mode 100644 index 0000000..1a23fbb --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer{background-color:#000;opacity:.5}.alertify .ajs-dialog{max-width:600px;min-height:122px;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5);border-radius:6px}.alertify .ajs-header{color:#333;border-bottom:1px solid #e5e5e5;border-radius:6px 6px 0 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#000}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:58px;bottom:68px}.alertify .ajs-footer{background-color:#fff;padding:15px;border-top:1px solid #e5e5e5;border-radius:0 0 6px 6px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css new file mode 100644 index 0000000..ea7c740 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css @@ -0,0 +1,61 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer { + background-color: #000; + opacity: .5; +} +.alertify .ajs-dialog { + max-width: 600px; + min-height: 122px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + border-radius: 6px; +} +.alertify .ajs-header { + color: #333; + border-bottom: 1px solid #e5e5e5; + border-radius: 6px 6px 0 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 18px; +} +.alertify .ajs-body { + font-family: 'Roboto', sans-serif; + color: black; +} +.alertify.ajs-resizable .ajs-content, +.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { + top: 58px; + bottom: 68px; +} +.alertify .ajs-footer { + background-color: #fff; + padding: 15px; + border-top: 1px solid #e5e5e5; + border-radius: 0 0 6px 6px; +} +.alertify-notifier .ajs-message { + background: rgba(255, 255, 255, 0.95); + color: #000; + text-align: center; + border: solid 1px #ddd; + border-radius: 2px; +} +.alertify-notifier .ajs-message.ajs-success { + color: #fff; + background: rgba(91, 189, 114, 0.95); + text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-error { + color: #fff; + background: rgba(217, 92, 92, 0.95); + text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); + border-color: #999; +} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css new file mode 100644 index 0000000..cbfa55f --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer{background-color:#000;opacity:.5}.alertify .ajs-dialog{max-width:600px;min-height:122px;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5);border-radius:6px}.alertify .ajs-header{color:#333;border-bottom:1px solid #e5e5e5;border-radius:6px 6px 0 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#000}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:58px;bottom:68px}.alertify .ajs-footer{background-color:#fff;padding:15px;border-top:1px solid #e5e5e5;border-radius:0 0 6px 6px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.css b/vendor/blobt/assets/alertifyjs/css/themes/default.css new file mode 100644 index 0000000..bba4c73 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/default.css @@ -0,0 +1,69 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dialog { + background-color: white; + -webkit-box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); + box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); + border-radius: 2px; +} +.alertify .ajs-header { + color: black; + font-weight: bold; + background: #fafafa; + border-bottom: #eee 1px solid; + border-radius: 2px 2px 0 0; +} +.alertify .ajs-body { + color: black; +} +.alertify .ajs-body .ajs-content .ajs-input { + display: block; + width: 100%; + padding: 8px; + margin: 4px; + border-radius: 2px; + border: 1px solid #CCC; +} +.alertify .ajs-body .ajs-content p { + margin: 0; +} +.alertify .ajs-footer { + background: #fbfbfb; + border-top: #eee 1px solid; + border-radius: 0 0 2px 2px; +} +.alertify .ajs-footer .ajs-buttons .ajs-button { + background-color: transparent; + color: #000; + border: 0; + font-size: 14px; + font-weight: bold; + text-transform: uppercase; +} +.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok { + color: #3593D2; +} +.alertify-notifier .ajs-message { + background: rgba(255, 255, 255, 0.95); + color: #000; + text-align: center; + border: solid 1px #ddd; + border-radius: 2px; +} +.alertify-notifier .ajs-message.ajs-success { + color: #fff; + background: rgba(91, 189, 114, 0.95); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-error { + color: #fff; + background: rgba(217, 92, 92, 0.95); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); + border-color: #999; +} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.min.css b/vendor/blobt/assets/alertifyjs/css/themes/default.min.css new file mode 100644 index 0000000..4ec1250 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/default.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dialog{background-color:#fff;-webkit-box-shadow:0 15px 20px 0 rgba(0,0,0,.25);box-shadow:0 15px 20px 0 rgba(0,0,0,.25);border-radius:2px}.alertify .ajs-header{color:#000;font-weight:700;background:#fafafa;border-bottom:#eee 1px solid;border-radius:2px 2px 0 0}.alertify .ajs-body{color:#000}.alertify .ajs-body .ajs-content .ajs-input{display:block;width:100%;padding:8px;margin:4px;border-radius:2px;border:1px solid #ccc}.alertify .ajs-body .ajs-content p{margin:0}.alertify .ajs-footer{background:#fbfbfb;border-top:#eee 1px solid;border-radius:0 0 2px 2px}.alertify .ajs-footer .ajs-buttons .ajs-button{background-color:transparent;color:#000;border:0;font-size:14px;font-weight:700;text-transform:uppercase}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3593d2}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css b/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css new file mode 100644 index 0000000..7763ff9 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css @@ -0,0 +1,69 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dialog { + background-color: white; + -webkit-box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); + box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); + border-radius: 2px; +} +.alertify .ajs-header { + color: black; + font-weight: bold; + background: #fafafa; + border-bottom: #eee 1px solid; + border-radius: 2px 2px 0 0; +} +.alertify .ajs-body { + color: black; +} +.alertify .ajs-body .ajs-content .ajs-input { + display: block; + width: 100%; + padding: 8px; + margin: 4px; + border-radius: 2px; + border: 1px solid #CCC; +} +.alertify .ajs-body .ajs-content p { + margin: 0; +} +.alertify .ajs-footer { + background: #fbfbfb; + border-top: #eee 1px solid; + border-radius: 0 0 2px 2px; +} +.alertify .ajs-footer .ajs-buttons .ajs-button { + background-color: transparent; + color: #000; + border: 0; + font-size: 14px; + font-weight: bold; + text-transform: uppercase; +} +.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok { + color: #3593D2; +} +.alertify-notifier .ajs-message { + background: rgba(255, 255, 255, 0.95); + color: #000; + text-align: center; + border: solid 1px #ddd; + border-radius: 2px; +} +.alertify-notifier .ajs-message.ajs-success { + color: #fff; + background: rgba(91, 189, 114, 0.95); + text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-error { + color: #fff; + background: rgba(217, 92, 92, 0.95); + text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); + border-color: #999; +} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css new file mode 100644 index 0000000..d57c5ff --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dialog{background-color:#fff;-webkit-box-shadow:0 15px 20px 0 rgba(0,0,0,.25);box-shadow:0 15px 20px 0 rgba(0,0,0,.25);border-radius:2px}.alertify .ajs-header{color:#000;font-weight:700;background:#fafafa;border-bottom:#eee 1px solid;border-radius:2px 2px 0 0}.alertify .ajs-body{color:#000}.alertify .ajs-body .ajs-content .ajs-input{display:block;width:100%;padding:8px;margin:4px;border-radius:2px;border:1px solid #ccc}.alertify .ajs-body .ajs-content p{margin:0}.alertify .ajs-footer{background:#fbfbfb;border-top:#eee 1px solid;border-radius:0 0 2px 2px}.alertify .ajs-footer .ajs-buttons .ajs-button{background-color:transparent;color:#000;border:0;font-size:14px;font-weight:700;text-transform:uppercase}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3593d2}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.css new file mode 100644 index 0000000..50571f2 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/semantic.css @@ -0,0 +1,89 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer { + background-color: rgba(0, 0, 0, 0.85); + opacity: 1; +} +.alertify .ajs-dialog { + max-width: 50%; + min-height: 137px; + background-color: #F4F4F4; + border: 1px solid #DDD; + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 5px; +} +.alertify .ajs-header { + padding: 1.5rem 2rem; + border-bottom: none; + border-radius: 5px 5px 0 0; + color: #555; + background-color: #fff; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 1.6em; + font-weight: 700; +} +.alertify .ajs-body { + font-family: 'Roboto', sans-serif; + color: #555; +} +.alertify .ajs-body .ajs-content .ajs-input { + width: 100%; + margin: 0; + padding: .65em 1em; + font-size: 1em; + background-color: #FFF; + border: 1px solid rgba(0, 0, 0, 0.15); + outline: 0; + color: rgba(0, 0, 0, 0.7); + border-radius: .3125em; + -webkit-transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; + transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; + transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; + transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.alertify .ajs-body .ajs-content .ajs-input:active { + border-color: rgba(0, 0, 0, 0.3); + background-color: #FAFAFA; +} +.alertify .ajs-body .ajs-content .ajs-input:focus { + border-color: rgba(0, 0, 0, 0.2); + color: rgba(0, 0, 0, 0.85); +} +.alertify.ajs-resizable .ajs-content, +.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { + top: 64px; + bottom: 74px; +} +.alertify .ajs-footer { + background-color: #fff; + padding: 1rem 2rem; + border-top: none; + border-radius: 0 0 5px 5px; +} +.alertify-notifier .ajs-message { + background: rgba(255, 255, 255, 0.95); + color: #000; + text-align: center; + border: solid 1px #ddd; + border-radius: 2px; +} +.alertify-notifier .ajs-message.ajs-success { + color: #fff; + background: rgba(91, 189, 114, 0.95); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-error { + color: #fff; + background: rgba(217, 92, 92, 0.95); + text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); + border-color: #999; +} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css new file mode 100644 index 0000000..5fca2ef --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer{background-color:rgba(0,0,0,.85);opacity:1}.alertify .ajs-dialog{max-width:50%;min-height:137px;background-color:#f4f4f4;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;border-radius:5px}.alertify .ajs-header{padding:1.5rem 2rem;border-bottom:none;border-radius:5px 5px 0 0;color:#555;background-color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:700}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#555}.alertify .ajs-body .ajs-content .ajs-input{width:100%;margin:0;padding:.65em 1em;font-size:1em;background-color:#fff;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,-webkit-box-shadow .2s ease;-webkit-box-sizing:border-box;box-sizing:border-box}.alertify .ajs-body .ajs-content .ajs-input:active{border-color:rgba(0,0,0,.3);background-color:#fafafa}.alertify .ajs-body .ajs-content .ajs-input:focus{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:64px;bottom:74px}.alertify .ajs-footer{background-color:#fff;padding:1rem 2rem;border-top:none;border-radius:0 0 5px 5px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css new file mode 100644 index 0000000..7e97fc2 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css @@ -0,0 +1,89 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer { + background-color: rgba(0, 0, 0, 0.85); + opacity: 1; +} +.alertify .ajs-dialog { + max-width: 50%; + min-height: 137px; + background-color: #F4F4F4; + border: 1px solid #DDD; + -webkit-box-shadow: none; + box-shadow: none; + border-radius: 5px; +} +.alertify .ajs-header { + padding: 1.5rem 2rem; + border-bottom: none; + border-radius: 5px 5px 0 0; + color: #555; + background-color: #fff; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 1.6em; + font-weight: 700; +} +.alertify .ajs-body { + font-family: 'Roboto', sans-serif; + color: #555; +} +.alertify .ajs-body .ajs-content .ajs-input { + width: 100%; + margin: 0; + padding: .65em 1em; + font-size: 1em; + background-color: #FFF; + border: 1px solid rgba(0, 0, 0, 0.15); + outline: 0; + color: rgba(0, 0, 0, 0.7); + border-radius: .3125em; + -webkit-transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; + transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; + transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; + transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.alertify .ajs-body .ajs-content .ajs-input:active { + border-color: rgba(0, 0, 0, 0.3); + background-color: #FAFAFA; +} +.alertify .ajs-body .ajs-content .ajs-input:focus { + border-color: rgba(0, 0, 0, 0.2); + color: rgba(0, 0, 0, 0.85); +} +.alertify.ajs-resizable .ajs-content, +.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { + top: 64px; + bottom: 74px; +} +.alertify .ajs-footer { + background-color: #fff; + padding: 1rem 2rem; + border-top: none; + border-radius: 0 0 5px 5px; +} +.alertify-notifier .ajs-message { + background: rgba(255, 255, 255, 0.95); + color: #000; + text-align: center; + border: solid 1px #ddd; + border-radius: 2px; +} +.alertify-notifier .ajs-message.ajs-success { + color: #fff; + background: rgba(91, 189, 114, 0.95); + text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-error { + color: #fff; + background: rgba(217, 92, 92, 0.95); + text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); +} +.alertify-notifier .ajs-message.ajs-warning { + background: rgba(252, 248, 215, 0.95); + border-color: #999; +} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css new file mode 100644 index 0000000..e1461c2 --- /dev/null +++ b/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css @@ -0,0 +1,6 @@ +/** + * alertifyjs 1.11.4 http://alertifyjs.com + * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. + * Copyright 2019 Mohammad Younes (http://alertifyjs.com) + * Licensed under GPL 3 */ +.alertify .ajs-dimmer{background-color:rgba(0,0,0,.85);opacity:1}.alertify .ajs-dialog{max-width:50%;min-height:137px;background-color:#f4f4f4;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;border-radius:5px}.alertify .ajs-header{padding:1.5rem 2rem;border-bottom:none;border-radius:5px 5px 0 0;color:#555;background-color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:700}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#555}.alertify .ajs-body .ajs-content .ajs-input{width:100%;margin:0;padding:.65em 1em;font-size:1em;background-color:#fff;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,-webkit-box-shadow .2s ease;-webkit-box-sizing:border-box;box-sizing:border-box}.alertify .ajs-body .ajs-content .ajs-input:active{border-color:rgba(0,0,0,.3);background-color:#fafafa}.alertify .ajs-body .ajs-content .ajs-input:focus{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:64px;bottom:74px}.alertify .ajs-footer{background-color:#fff;padding:1rem 2rem;border-top:none;border-radius:0 0 5px 5px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/grid/css/grid.css b/vendor/blobt/assets/grid/css/grid.css index 246ed69..1ce4fbd 100644 --- a/vendor/blobt/assets/grid/css/grid.css +++ b/vendor/blobt/assets/grid/css/grid.css @@ -29,7 +29,7 @@ THE SOFTWARE. .dataTable th a{ position: relative; display: block; - text-decoration: node; + text-decoration: none !important; color: #333; } .dataTable th a:after { @@ -57,4 +57,9 @@ THE SOFTWARE. font-family: 'Glyphicons Halflings'; opacity: 0.5; content: "\e156"; +} + +.dataTable td a{ + color: #333; + opacity: 0.8; } \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/all.css b/vendor/blobt/assets/iCheck/all.css new file mode 100644 index 0000000..6439b74 --- /dev/null +++ b/vendor/blobt/assets/iCheck/all.css @@ -0,0 +1,61 @@ +/* iCheck plugin skins +----------------------------------- */ +@import url("minimal/_all.css"); +/* +@import url("minimal/minimal.css"); +@import url("minimal/red.css"); +@import url("minimal/green.css"); +@import url("minimal/blue.css"); +@import url("minimal/aero.css"); +@import url("minimal/grey.css"); +@import url("minimal/orange.css"); +@import url("minimal/yellow.css"); +@import url("minimal/pink.css"); +@import url("minimal/purple.css"); +*/ + +@import url("square/_all.css"); +/* +@import url("square/square.css"); +@import url("square/red.css"); +@import url("square/green.css"); +@import url("square/blue.css"); +@import url("square/aero.css"); +@import url("square/grey.css"); +@import url("square/orange.css"); +@import url("square/yellow.css"); +@import url("square/pink.css"); +@import url("square/purple.css"); +*/ + +@import url("flat/_all.css"); +/* +@import url("flat/flat.css"); +@import url("flat/red.css"); +@import url("flat/green.css"); +@import url("flat/blue.css"); +@import url("flat/aero.css"); +@import url("flat/grey.css"); +@import url("flat/orange.css"); +@import url("flat/yellow.css"); +@import url("flat/pink.css"); +@import url("flat/purple.css"); +*/ + +@import url("line/_all.css"); +/* +@import url("line/line.css"); +@import url("line/red.css"); +@import url("line/green.css"); +@import url("line/blue.css"); +@import url("line/aero.css"); +@import url("line/grey.css"); +@import url("line/orange.css"); +@import url("line/yellow.css"); +@import url("line/pink.css"); +@import url("line/purple.css"); +*/ + +@import url("polaris/polaris.css"); + +@import url("futurico/futurico.css"); \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/_all.css b/vendor/blobt/assets/iCheck/flat/_all.css new file mode 100644 index 0000000..21647b5 --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/_all.css @@ -0,0 +1,560 @@ +/* iCheck plugin Flat skin +----------------------------------- */ +.icheckbox_flat, +.iradio_flat { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(flat.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat { + background-position: 0 0; +} + .icheckbox_flat.checked { + background-position: -22px 0; + } + .icheckbox_flat.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat { + background-position: -88px 0; +} + .iradio_flat.checked { + background-position: -110px 0; + } + .iradio_flat.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat, + .iradio_flat { + background-image: url(flat@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* red */ +.icheckbox_flat-red, +.iradio_flat-red { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(red.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-red { + background-position: 0 0; +} + .icheckbox_flat-red.checked { + background-position: -22px 0; + } + .icheckbox_flat-red.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-red.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-red { + background-position: -88px 0; +} + .iradio_flat-red.checked { + background-position: -110px 0; + } + .iradio_flat-red.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-red.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-red, + .iradio_flat-red { + background-image: url(red@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* green */ +.icheckbox_flat-green, +.iradio_flat-green { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(green.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-green { + background-position: 0 0; +} + .icheckbox_flat-green.checked { + background-position: -22px 0; + } + .icheckbox_flat-green.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-green.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-green { + background-position: -88px 0; +} + .iradio_flat-green.checked { + background-position: -110px 0; + } + .iradio_flat-green.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-green.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-green, + .iradio_flat-green { + background-image: url(green@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* blue */ +.icheckbox_flat-blue, +.iradio_flat-blue { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(blue.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-blue { + background-position: 0 0; +} + .icheckbox_flat-blue.checked { + background-position: -22px 0; + } + .icheckbox_flat-blue.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-blue.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-blue { + background-position: -88px 0; +} + .iradio_flat-blue.checked { + background-position: -110px 0; + } + .iradio_flat-blue.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-blue.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-blue, + .iradio_flat-blue { + background-image: url(blue@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* aero */ +.icheckbox_flat-aero, +.iradio_flat-aero { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(aero.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-aero { + background-position: 0 0; +} + .icheckbox_flat-aero.checked { + background-position: -22px 0; + } + .icheckbox_flat-aero.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-aero.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-aero { + background-position: -88px 0; +} + .iradio_flat-aero.checked { + background-position: -110px 0; + } + .iradio_flat-aero.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-aero.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-aero, + .iradio_flat-aero { + background-image: url(aero@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* grey */ +.icheckbox_flat-grey, +.iradio_flat-grey { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(grey.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-grey { + background-position: 0 0; +} + .icheckbox_flat-grey.checked { + background-position: -22px 0; + } + .icheckbox_flat-grey.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-grey.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-grey { + background-position: -88px 0; +} + .iradio_flat-grey.checked { + background-position: -110px 0; + } + .iradio_flat-grey.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-grey.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-grey, + .iradio_flat-grey { + background-image: url(grey@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* orange */ +.icheckbox_flat-orange, +.iradio_flat-orange { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(orange.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-orange { + background-position: 0 0; +} + .icheckbox_flat-orange.checked { + background-position: -22px 0; + } + .icheckbox_flat-orange.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-orange.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-orange { + background-position: -88px 0; +} + .iradio_flat-orange.checked { + background-position: -110px 0; + } + .iradio_flat-orange.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-orange.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-orange, + .iradio_flat-orange { + background-image: url(orange@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* yellow */ +.icheckbox_flat-yellow, +.iradio_flat-yellow { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(yellow.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-yellow { + background-position: 0 0; +} + .icheckbox_flat-yellow.checked { + background-position: -22px 0; + } + .icheckbox_flat-yellow.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-yellow.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-yellow { + background-position: -88px 0; +} + .iradio_flat-yellow.checked { + background-position: -110px 0; + } + .iradio_flat-yellow.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-yellow.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-yellow, + .iradio_flat-yellow { + background-image: url(yellow@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* pink */ +.icheckbox_flat-pink, +.iradio_flat-pink { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(pink.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-pink { + background-position: 0 0; +} + .icheckbox_flat-pink.checked { + background-position: -22px 0; + } + .icheckbox_flat-pink.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-pink.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-pink { + background-position: -88px 0; +} + .iradio_flat-pink.checked { + background-position: -110px 0; + } + .iradio_flat-pink.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-pink.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-pink, + .iradio_flat-pink { + background-image: url(pink@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} + +/* purple */ +.icheckbox_flat-purple, +.iradio_flat-purple { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(purple.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-purple { + background-position: 0 0; +} + .icheckbox_flat-purple.checked { + background-position: -22px 0; + } + .icheckbox_flat-purple.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-purple.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-purple { + background-position: -88px 0; +} + .iradio_flat-purple.checked { + background-position: -110px 0; + } + .iradio_flat-purple.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-purple.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-purple, + .iradio_flat-purple { + background-image: url(purple@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/aero.css b/vendor/blobt/assets/iCheck/flat/aero.css new file mode 100644 index 0000000..98fd65c --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/aero.css @@ -0,0 +1,56 @@ +/* iCheck plugin Flat skin, aero +----------------------------------- */ +.icheckbox_flat-aero, +.iradio_flat-aero { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(aero.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-aero { + background-position: 0 0; +} + .icheckbox_flat-aero.checked { + background-position: -22px 0; + } + .icheckbox_flat-aero.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-aero.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-aero { + background-position: -88px 0; +} + .iradio_flat-aero.checked { + background-position: -110px 0; + } + .iradio_flat-aero.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-aero.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-aero, + .iradio_flat-aero { + background-image: url(aero@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/aero.png b/vendor/blobt/assets/iCheck/flat/aero.png new file mode 100644 index 0000000000000000000000000000000000000000..f4277aa4cf04050989b48c548ce0f9ae377bdc48 GIT binary patch literal 1520 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 RY6AcO002ovPDHLkV1gs!@UZ{@ literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/flat@2x.png b/vendor/blobt/assets/iCheck/flat/flat@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e70e438c5d5ed00e7082929e61a0d9d162daf473 GIT binary patch literal 3217 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 literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/green.css b/vendor/blobt/assets/iCheck/flat/green.css new file mode 100644 index 0000000..c9d17c1 --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/green.css @@ -0,0 +1,56 @@ +/* iCheck plugin Flat skin, green +----------------------------------- */ +.icheckbox_flat-green, +.iradio_flat-green { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(green.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-green { + background-position: 0 0; +} + .icheckbox_flat-green.checked { + background-position: -22px 0; + } + .icheckbox_flat-green.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-green.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-green { + background-position: -88px 0; +} + .iradio_flat-green.checked { + background-position: -110px 0; + } + .iradio_flat-green.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-green.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-green, + .iradio_flat-green { + background-image: url(green@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/green.png b/vendor/blobt/assets/iCheck/flat/green.png new file mode 100644 index 0000000000000000000000000000000000000000..6b303fbeadb70a90e11d83439189de9b618f0729 GIT binary patch literal 1444 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 Hu0mjf1RVUH literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/grey.css b/vendor/blobt/assets/iCheck/flat/grey.css new file mode 100644 index 0000000..a451650 --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/grey.css @@ -0,0 +1,56 @@ +/* iCheck plugin Flat skin, grey +----------------------------------- */ +.icheckbox_flat-grey, +.iradio_flat-grey { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(grey.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-grey { + background-position: 0 0; +} + .icheckbox_flat-grey.checked { + background-position: -22px 0; + } + .icheckbox_flat-grey.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-grey.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-grey { + background-position: -88px 0; +} + .iradio_flat-grey.checked { + background-position: -110px 0; + } + .iradio_flat-grey.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-grey.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-grey, + .iradio_flat-grey { + background-image: url(grey@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/grey.png b/vendor/blobt/assets/iCheck/flat/grey.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e2873ed5fc2cb1f151c333034ed85422d29a31 GIT binary patch literal 1516 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 DWRxc% literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/orange.css b/vendor/blobt/assets/iCheck/flat/orange.css new file mode 100644 index 0000000..8c9c929 --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/orange.css @@ -0,0 +1,56 @@ +/* iCheck plugin Flat skin, orange +----------------------------------- */ +.icheckbox_flat-orange, +.iradio_flat-orange { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(orange.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-orange { + background-position: 0 0; +} + .icheckbox_flat-orange.checked { + background-position: -22px 0; + } + .icheckbox_flat-orange.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-orange.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-orange { + background-position: -88px 0; +} + .iradio_flat-orange.checked { + background-position: -110px 0; + } + .iradio_flat-orange.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-orange.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-orange, + .iradio_flat-orange { + background-image: url(orange@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/orange.png b/vendor/blobt/assets/iCheck/flat/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2532ebe4492b949f48278fd13b46e792869083 GIT binary patch literal 1518 zcmV zZ)lZe7{~EC)0yRr7N(vhAw^EDES=3E6ea^DrB$==PxcS#O*Ir!B7GAoXpkmJl=e!p zHFawK86nOZMVp#`Q>R(_VpDseiB7_kXZ96-TZfC&dG2=Z=kW}>-~)%l{e01fi|4Q% zz4h41-)_-N#%zp6AGk~#_TWQo?Fbd$Klq;mpWmHTx6kY6JG;%lo=QD41Y=Nye8+AA zt@sfqz=)?VfA@kVcE^O- zH5OxT7g}?5ttPVWc#Q2rcPz$7)s3M9UdFV->c%~G<6(ED5_ZWFSb;JWNSWSCz$_aL zGkh{--BrWRFxVwaq6w?9SXS%3q+K>OymxsD53>tg054-&VRd_X?DmSFn~!BC(27!2 zp%HD;sP{_IYMRT{>R4WHU9~zU4--uH5>}xOEl5a<-dm+JjL=ZadzU5d?8cC5Q-_7< zF7pc-G6bgJUh{;Ugaa9x2kokZvkW;8PrMXdlF9w&mE($45Ai3woXJ*ey2Qy&0EGbmk}1 zEq3hYVItI6_R|U^&>D8>1MPEtcB~?vn7t* zrFa{KxJ$3!ckISZ_b^qfu8kK;)eHA&!ARO4$@=GyW~5$;1fHsfb4 zZ%xqh20Xz=!gU_9EywN}*jeq^ZA-N+ZXH@2{-Wh`tGQwdb$ z;_^yQOv50wV?C-Jme)FDx>Mmg_UvBA?p&rC_P}0@gOAw*O<=cg7rSRL7(S*IuH9Z;>B>5MfOpJS%vBOJTuZ|Y zi?@zXv8=i@)CJ@S;uveb3LYat^Me}RyDYD|Kn%;^WlSrqZllL;W0+mzU3}by)=FKg ziLAR5ySvccjh#_-W7vX4$Z}}VN_jeX>#Ef;$I;-S+n|>BE>8({0ZHO5RN`b%L}#Yp zO_=SIT{Y~~qZ+4> zfa@f5&6jF;@3OqMYi+=A%+Tx8_)AXfy%{>Q9%dr%9>q%3>h(n=<)YrJ)tRGVbXnZ= zUGvl3X7M^Kp!cpc%T4dHv|ah(@eA=Vp?8xwBoTDo?`;nq=oZ5Iv+DnY{jVF&-@VRn Ul15pQMF0Q*07*qoM6N<$f=ns@CIA2c literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/orange@2x.png b/vendor/blobt/assets/iCheck/flat/orange@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9350b50624f9017ba8bb3fc64c526428d0bda407 GIT binary patch literal 3275 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 Ef=5*|pa1{> literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/purple.css b/vendor/blobt/assets/iCheck/flat/purple.css new file mode 100644 index 0000000..a9760b3 --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/purple.css @@ -0,0 +1,56 @@ +/* iCheck plugin Flat skin, purple +----------------------------------- */ +.icheckbox_flat-purple, +.iradio_flat-purple { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(purple.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-purple { + background-position: 0 0; +} + .icheckbox_flat-purple.checked { + background-position: -22px 0; + } + .icheckbox_flat-purple.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-purple.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-purple { + background-position: -88px 0; +} + .iradio_flat-purple.checked { + background-position: -110px 0; + } + .iradio_flat-purple.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-purple.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-purple, + .iradio_flat-purple { + background-image: url(purple@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/purple.png b/vendor/blobt/assets/iCheck/flat/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..3699fd583289e37e1eca6be2940f22e0daa5350b GIT binary patch literal 1519 zcmV ze`r;87{~Ft)0x$b2BzL6Aw^EDES=3E6ea^DrB$==NA?3mh-xULMEXytph22sQTm@` zYwFadju2;!qD{@8smoUS$ENm2OLP+6yw+RzI4%!%&X;??=iWQ$ffrm3=e(JRhjZDz z^VXB?zulslhWQwWJK-|j*pCme<3_0T{$V{Qe7vF|qwedAruB5&em$Lf&Tx!J2?`y% z33TEIoB|`By8PQu*`L)?w@NAySEB=muoc_YWenY8-QSG5++TBVZ>j*LG89Ef;v&wW zO_H#aahHAi&+d%{UW#{-$t=TSb923PS>nZJDW1X;8Frh|q=45h%heRH5YJ*I9ti2Q zV-e~@7C7y$;{uOBC5l73UD%D2Cg7#ZPTjN{!_)cAje0RC0l~7j{TL51(ADYOz6&}0e zqwE^Xu`rF+LS3uLT6YpAq|u##N!jYgPzEn!T2Xc59=q|VyHX9iWC^T61&X9X#}Y8h zM#Bv6Oc{68urm^N$&zTrdMuaqI+nD{riS+}PvMbvfs5c}Oe?BxKYv+T(RT~6$^<%5 zjvBO}TUvCi9G#}Q8igs#>#eKSjVZun)4hmwXha7R(xGGPbPgjl)bieCiF>*+8L6LKTY2XxQtoU72#pcPd&Ul({M zs`$-#34u?L?{f;Z*FSY2uwMbI$^<^eVTbk+d}dpY-9mhbKhUMug^t})(>-98ENIz& zG~H6iZULrXkxW5>K5Yr?#`0`=pJRCwyrqq}{<;?|@0UpOmNt;U2nDQhCa@8%W6v#f z?5@OHD8}7-{hnhtZo0?dI`-VSW499J=r84%7}U+x0&lZ7Pj;B)-HSoU^|aww(DGs+ zUJm$@X0T}z~7=8bFd*L(17Rj zaCy(54qI^~CGfNB@=5~fPTw4KlNoel+3MzEfgi_{ENYU#tEk0SsLr?Ll@i>CYuJvT zw7hj;%Nz0p8w1yQ$hI828(?R>W4Alt=^W-B)4k-_JpwxigSxp`;QnY}Q7c&3BxVq( z%E#rEzL<%jTH?*9by!~OsOipt>)3M-ICd9e4gQohSmN0I-E<#@>)3P8I(B!X6@N)9 znq0auWOHsuBMUo5-^2fths$f1cov2z@Q+F}@a_lBhgJP*c!m-EG>}GKvv&);OZo?c5vCHdd6FSV796Rx7 zKwva>nJ+{-)rz`%+ngY?#=)zd{1Uz_d#%*ABHQ7Ca8 zo2zqrMvbdcbop$!r`rbyFcCgxKQy7;0cm#6ViH?C)o2W*+L#G|n z@rJI|WUYG*yHJNNhi(_@bj>y2UGC{Fs0)cHuozX?i_37G%ev+nHSAkl#$7e+G@%x! zk$~$Ybj=rPc<-{jwrg#{D9qODGx%H1=-6zXv)Kf4(LI5+sMqTYNXi8rtJgUvqUf@? z>Kf*^yY1q2SU~SxX_K6HS=w}ddHh_$C->bXj!G7~?)SEjPUsb)`dRh=!T#3^=U)u0 VZ#F@RuLJ-9002ovPDHLkV1fY7`WgTL literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/purple@2x.png b/vendor/blobt/assets/iCheck/flat/purple@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f4be74a7c08a453802d46e6a7971250ee416f08 GIT binary patch literal 3218 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 Ef)^M{V*mgE literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/flat/red.css b/vendor/blobt/assets/iCheck/flat/red.css new file mode 100644 index 0000000..34b71e4 --- /dev/null +++ b/vendor/blobt/assets/iCheck/flat/red.css @@ -0,0 +1,56 @@ +/* iCheck plugin Flat skin, red +----------------------------------- */ +.icheckbox_flat-red, +.iradio_flat-red { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 20px; + height: 20px; + background: url(red.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_flat-red { + background-position: 0 0; +} + .icheckbox_flat-red.checked { + background-position: -22px 0; + } + .icheckbox_flat-red.disabled { + background-position: -44px 0; + cursor: default; + } + .icheckbox_flat-red.checked.disabled { + background-position: -66px 0; + } + +.iradio_flat-red { + background-position: -88px 0; +} + .iradio_flat-red.checked { + background-position: -110px 0; + } + .iradio_flat-red.disabled { + background-position: -132px 0; + cursor: default; + } + .iradio_flat-red.checked.disabled { + background-position: -154px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_flat-red, + .iradio_flat-red { + background-image: url(red@2x.png); + -webkit-background-size: 176px 22px; + background-size: 176px 22px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/flat/red.png b/vendor/blobt/assets/iCheck/flat/red.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5ac3819b4d2aee17a543497d3e70699a06f052 GIT binary patch literal 1516 zcmV zZ)jC@9LMpx)0x$b7Ny=LAw^EDES=3E6ea^DrDd~F%l?q~q#6@aB7G7nXpkmJlzS%G znmRTAj1XsyqD{@esnb^aU{ibG5}kxM@9h2HbMJ#McF&J{e)o6>ec=U{!#QuZ!_~-5A0D1Q;bQIEp}P02s!Mm> z1iJ7uPQy(2F2DO}`?Ff=R!IfoYINcdwqTpOjG=q1`x~mu{WbUYrV3Ch!%&1IF5^7f zB?&vByX@0{c2f(y6dxkYEW=`RbG>v~;>Bhup2IUCyDex|z-yP~YR<3_FJdJg3FvfS z5gG#)I7HWJfk&be#R1)J?8ZqG@X}?cZrY7uTIeN%8q<+lUT6)v!yJz#3GbNGfzJ0kdp0 z%<#?>x~qnrQLsyvL>ua`Tu)vQp@YDt5#|XFvWB)V;!2%iG+0O*gBoV2o1HocUj_eH->zhCM-o? zncvWoAutmUnkVEm9L~@@jOTF;sVTwB5p+jmkafQP$KX2l+_+=666F{u<(L%Qjedc*+M6dk%<}HVVBG3y$FWSyi~I3< zhA(M`nC3ya&LPtp>ezh^cIG*D?eB3Ou4A9nMULGuurn^88~FnNfNIRedZcDMUdqGe zJ&Oix!4ah9lR!9?)`ZpRGyD>yP_h2`R`;=YYJaq@=VyInSM;p;;zU0`6Co=@b zV3+wqq)V+_caNJd5Bgztz!DF^9B?iJHBRKZ8^aa&njUB}c8l>ne#Btcu3Uq!NjP=~ z;tjmzxV#DTdV%Scpbe{0hP$Lp$M&JbG;32oqu#x|b!nx$Na8!w9fWz9f;b8#u4D6b zPI}b1o{KJj8%}ro;Q%JV$LxnDusbNr?l}yHkLiMIcR)5>*@%zvzWIu|MuLWGX_#U0 zHu5eOs!Ky%K#n7hiRP=|2@*6vso}lL@~R8OunJzrv~tyL_1JCAW!LxspJmZnt7|op zb@yOj7TtZ=6IC~c?O29TqXw!r;`YisDvpV*w&e;Srk#|pEEgJRu5|VOB#~O9ciClD9Ty+ie z>28~N9Tw1gSK8&4cUjtOK0JOUAtthJ5=SM1uKT_1rxW@F-#@GQ&!Ye9gYz#aOK(=d Sl4{xj0000xky7y@!Zce>mF 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')[_callback]('ifCreated').parent().append(settings.insert); + + // Layer addition + helper = $('').css(layer).appendTo(parent); + + // Finalize customization + self.data(_iCheck, {o: settings, s: self.attr('style')}).css(hide); + !!settings.inheritClass && parent[_add](node.className || ''); + !!settings.inheritID && id && parent.attr('id', _iCheck + '-' + id); + parent.css('position') == 'static' && parent.css('position', 'relative'); + operate(self, true, _update); + + // Label events + if (label.length) { + label.on(_click + '.i mouseover.i mouseout.i ' + _touch, function(event) { + var type = event[_type], + item = $(this); + + // Do nothing if input is disabled + if (!node[_disabled]) { + + // Click + if (type == _click) { + if ($(event.target).is('a')) { + return; + } + operate(self, false, true); + + // Hover state + } else if (labelHover) { + + // mouseout|touchend + if (/ut|nd/.test(type)) { + parent[_remove](hoverClass); + item[_remove](labelHoverClass); + } else { + parent[_add](hoverClass); + item[_add](labelHoverClass); + } + } + if (_mobile) { + event.stopPropagation(); + } else { + return false; + } + } + }); + } + // Input events + self.on(_click + '.i focus.i blur.i keyup.i keydown.i keypress.i', function(event) { + var type = event[_type], + key = event.keyCode; + + // Click + if (type == _click) { + return false; + + // Keydown + } else if (type == 'keydown' && key == 32) { + if (!(node[_type] == _radio && node[_checked])) { + if (node[_checked]) { + off(self, _checked); + } else { + on(self, _checked); + } + } + return false; + + // Keyup + } else if (type == 'keyup' && node[_type] == _radio) { + !node[_checked] && on(self, _checked); + + // Focus/blur + } else if (/us|ur/.test(type)) { + parent[type == 'blur' ? _remove : _add](focusClass); + } + }); + + // Helper events + helper.on(_click + ' mousedown mouseup mouseover mouseout ' + _touch, function(event) { + var type = event[_type], + + // mousedown|mouseup + toggle = /wn|up/.test(type) ? activeClass : hoverClass; + + // Do nothing if input is disabled + if (!node[_disabled]) { + + // Click + if (type == _click) { + operate(self, false, true); + + // Active and hover states + } else { + + // State is on + if (/wn|er|in/.test(type)) { + + // mousedown|mouseover|touchbegin + parent[_add](toggle); + + // State is off + } else { + parent[_remove](toggle + ' ' + activeClass); + } + // Label hover + if (label.length && labelHover && toggle == hoverClass) { + + // mouseout|touchend + label[/ut|nd/.test(type) ? _remove : _add](labelHoverClass); + } + } + if (_mobile) { + event.stopPropagation(); + } else { + return false; + } + } + }); + }); + } else { + return this; + } + }; + + // Do something with inputs + function operate(input, direct, method) { + var node = input[0], + state = /er/.test(method) ? _indeterminate : /bl/.test(method) ? _disabled : _checked, + active = method == _update ? { + checked: node[_checked], + disabled: node[_disabled], + indeterminate: input.attr(_indeterminate) == 'true' || input.attr(_determinate) == 'false' + } : node[state]; + + // Check, disable or indeterminate + if (/^(ch|di|in)/.test(method) && !active) { + on(input, state); + + // Uncheck, enable or determinate + } else if (/^(un|en|de)/.test(method) && active) { + off(input, state); + + // Update + } else if (method == _update) { + + // Handle states + for (var state in active) { + if (active[state]) { + on(input, state, true); + } else { + off(input, state, true); + } + } + } else if (!direct || method == 'toggle') { + + // Helper or label was clicked + if (!direct) { + input[_callback]('ifClicked'); + } + // Toggle checked state + if (active) { + if (node[_type] !== _radio) { + off(input, state); + } + } else { + on(input, state); + } + } + } + // Add checked, disabled or indeterminate state + function on(input, state, keep) { + var node = input[0], + parent = input.parent(), + checked = state == _checked, + indeterminate = state == _indeterminate, + disabled = state == _disabled, + callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled', + regular = option(input, callback + capitalize(node[_type])), + specific = option(input, state + capitalize(node[_type])); + + // Prevent unnecessary actions + if (node[state] !== true) { + + // Toggle assigned radio buttons + if (!keep && state == _checked && node[_type] == _radio && node.name) { + var form = input.closest('form'), + inputs = 'input[name="' + node.name + '"]'; + + inputs = form.length ? form.find(inputs) : $(inputs); + + inputs.each(function() { + if (this !== node && $(this).data(_iCheck)) { + off($(this), state); + } + }); + } + // Indeterminate state + if (indeterminate) { + + // Add indeterminate state + node[state] = true; + + // Remove checked state + if (node[_checked]) { + off(input, _checked, 'force'); + } + // Checked or disabled state + } else { + + // Add checked or disabled state + if (!keep) { + node[state] = true; + } + // Remove indeterminate state + if (checked && node[_indeterminate]) { + off(input, _indeterminate, false); + } + } + // Trigger callbacks + callbacks(input, checked, state, keep); + } + // Add proper cursor + if (node[_disabled] && !!option(input, _cursor, true)) { + parent.find('.' + _iCheckHelper).css(_cursor, 'default'); + } + // Add state class + parent[_add](specific || option(input, state) || ''); + + // Set ARIA attribute + disabled ? parent.attr('aria-disabled', 'true') : parent.attr('aria-checked', indeterminate ? 'mixed' : 'true'); + + // Remove regular state class + parent[_remove](regular || option(input, callback) || ''); + } + // Remove checked, disabled or indeterminate state + function off(input, state, keep) { + var node = input[0], + parent = input.parent(), + checked = state == _checked, + indeterminate = state == _indeterminate, + disabled = state == _disabled, + callback = indeterminate ? _determinate : checked ? _unchecked : 'enabled', + regular = option(input, callback + capitalize(node[_type])), + specific = option(input, state + capitalize(node[_type])); + + // Prevent unnecessary actions + if (node[state] !== false) { + + // Toggle state + if (indeterminate || !keep || keep == 'force') { + node[state] = false; + } + // Trigger callbacks + callbacks(input, checked, callback, keep); + } + // Add proper cursor + if (!node[_disabled] && !!option(input, _cursor, true)) { + parent.find('.' + _iCheckHelper).css(_cursor, 'pointer'); + } + // Remove state class + parent[_remove](specific || option(input, state) || ''); + + // Set ARIA attribute + disabled ? parent.attr('aria-disabled', 'false') : parent.attr('aria-checked', 'false'); + + // Add regular state class + parent[_add](regular || option(input, callback) || ''); + } + // Remove all traces + function tidy(input, callback) { + if (input.data(_iCheck)) { + + // Remove everything except input + input.parent().html(input.attr('style', input.data(_iCheck).s || '')); + + // Callback + if (callback) { + input[_callback](callback); + } + // Unbind events + input.off('.i').unwrap(); + $(_label + '[for="' + input[0].id + '"]').add(input.closest(_label)).off('.i'); + } + } + // Get some option + function option(input, state, regular) { + if (input.data(_iCheck)) { + return input.data(_iCheck).o[state + (regular ? '' : 'Class')]; + } + } + // Capitalize some string + function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + } + // Executable handlers + function callbacks(input, checked, callback, keep) { + if (!keep) { + if (checked) { + input[_callback]('ifToggled'); + } + input[_callback]('ifChanged')[_callback]('if' + capitalize(callback)); + } + } +})(window.jQuery || window.Zepto); diff --git a/vendor/blobt/assets/iCheck/icheck.min.js b/vendor/blobt/assets/iCheck/icheck.min.js new file mode 100644 index 0000000..d2720ed --- /dev/null +++ b/vendor/blobt/assets/iCheck/icheck.min.js @@ -0,0 +1,10 @@ +/*! iCheck v1.0.1 by Damir Sultanov, http://git.io/arlzeA, MIT Licensed */ +(function(h){function F(a,b,d){var c=a[0],e=/er/.test(d)?m:/bl/.test(d)?s:l,f=d==H?{checked:c[l],disabled:c[s],indeterminate:"true"==a.attr(m)||"false"==a.attr(w)}:c[e];if(/^(ch|di|in)/.test(d)&&!f)D(a,e);else if(/^(un|en|de)/.test(d)&&f)t(a,e);else if(d==H)for(e in f)f[e]?D(a,e,!0):t(a,e,!0);else if(!b||"toggle"==d){if(!b)a[p]("ifClicked");f?c[n]!==u&&t(a,e):D(a,e)}}function D(a,b,d){var c=a[0],e=a.parent(),f=b==l,A=b==m,B=b==s,K=A?w:f?E:"enabled",p=k(a,K+x(c[n])),N=k(a,b+x(c[n]));if(!0!==c[b]){if(!d&& +b==l&&c[n]==u&&c.name){var C=a.closest("form"),r='input[name="'+c.name+'"]',r=C.length?C.find(r):h(r);r.each(function(){this!==c&&h(this).data(q)&&t(h(this),b)})}A?(c[b]=!0,c[l]&&t(a,l,"force")):(d||(c[b]=!0),f&&c[m]&&t(a,m,!1));L(a,f,b,d)}c[s]&&k(a,y,!0)&&e.find("."+I).css(y,"default");e[v](N||k(a,b)||"");B?e.attr("aria-disabled","true"):e.attr("aria-checked",A?"mixed":"true");e[z](p||k(a,K)||"")}function t(a,b,d){var c=a[0],e=a.parent(),f=b==l,h=b==m,q=b==s,p=h?w:f?E:"enabled",t=k(a,p+x(c[n])), +u=k(a,b+x(c[n]));if(!1!==c[b]){if(h||!d||"force"==d)c[b]=!1;L(a,f,p,d)}!c[s]&&k(a,y,!0)&&e.find("."+I).css(y,"pointer");e[z](u||k(a,b)||"");q?e.attr("aria-disabled","false"):e.attr("aria-checked","false");e[v](t||k(a,p)||"")}function M(a,b){if(a.data(q)){a.parent().html(a.attr("style",a.data(q).s||""));if(b)a[p](b);a.off(".i").unwrap();h(G+'[for="'+a[0].id+'"]').add(a.closest(G)).off(".i")}}function k(a,b,d){if(a.data(q))return a.data(q).o[b+(d?"":"Class")]}function x(a){return a.charAt(0).toUpperCase()+ +a.slice(1)}function L(a,b,d,c){if(!c){if(b)a[p]("ifToggled");a[p]("ifChanged")[p]("if"+x(d))}}var q="iCheck",I=q+"-helper",u="radio",l="checked",E="un"+l,s="disabled",w="determinate",m="in"+w,H="update",n="type",v="addClass",z="removeClass",p="trigger",G="label",y="cursor",J=/ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);h.fn[q]=function(a,b){var d='input[type="checkbox"], input[type="'+u+'"]',c=h(),e=function(a){a.each(function(){var a=h(this);c=a.is(d)? +c.add(a):c.add(a.find(d))})};if(/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(a))return a=a.toLowerCase(),e(this),c.each(function(){var c=h(this);"destroy"==a?M(c,"ifDestroyed"):F(c,!0,a);h.isFunction(b)&&b()});if("object"!=typeof a&&a)return this;var f=h.extend({checkedClass:l,disabledClass:s,indeterminateClass:m,labelHover:!0,aria:!1},a),k=f.handle,B=f.hoverClass||"hover",x=f.focusClass||"focus",w=f.activeClass||"active",y=!!f.labelHover,C=f.labelHoverClass|| +"hover",r=(""+f.increaseArea).replace("%","")|0;if("checkbox"==k||k==u)d='input[type="'+k+'"]';-50>r&&(r=-50);e(this);return c.each(function(){var a=h(this);M(a);var c=this,b=c.id,e=-r+"%",d=100+2*r+"%",d={position:"absolute",top:e,left:e,display:"block",width:d,height:d,margin:0,padding:0,background:"#fff",border:0,opacity:0},e=J?{position:"absolute",visibility:"hidden"}:r?d:{position:"absolute",opacity:0},k="checkbox"==c[n]?f.checkboxClass||"icheckbox":f.radioClass||"i"+u,m=h(G+'[for="'+b+'"]').add(a.closest(G)), +A=!!f.aria,E=q+"-"+Math.random().toString(36).replace("0.",""),g='
")[p]("ifCreated").parent().append(f.insert);d=h('').css(d).appendTo(g);a.data(q,{o:f,s:a.attr("style")}).css(e);f.inheritClass&&g[v](c.className||"");f.inheritID&&b&&g.attr("id",q+"-"+b);"static"==g.css("position")&&g.css("position","relative");F(a,!0,H); +if(m.length)m.on("click.i mouseover.i mouseout.i touchbegin.i touchend.i",function(b){var d=b[n],e=h(this);if(!c[s]){if("click"==d){if(h(b.target).is("a"))return;F(a,!1,!0)}else y&&(/ut|nd/.test(d)?(g[z](B),e[z](C)):(g[v](B),e[v](C)));if(J)b.stopPropagation();else return!1}});a.on("click.i focus.i blur.i keyup.i keydown.i keypress.i",function(b){var d=b[n];b=b.keyCode;if("click"==d)return!1;if("keydown"==d&&32==b)return c[n]==u&&c[l]||(c[l]?t(a,l):D(a,l)),!1;if("keyup"==d&&c[n]==u)!c[l]&&D(a,l);else if(/us|ur/.test(d))g["blur"== +d?z:v](x)});d.on("click mousedown mouseup mouseover mouseout touchbegin.i touchend.i",function(b){var d=b[n],e=/wn|up/.test(d)?w:B;if(!c[s]){if("click"==d)F(a,!1,!0);else{if(/wn|er|in/.test(d))g[v](e);else g[z](e+" "+w);if(m.length&&y&&e==B)m[/ut|nd/.test(d)?z:v](C)}if(J)b.stopPropagation();else return!1}})})}})(window.jQuery||window.Zepto); diff --git a/vendor/blobt/assets/iCheck/line/_all.css b/vendor/blobt/assets/iCheck/line/_all.css new file mode 100644 index 0000000..a18d0d9 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/_all.css @@ -0,0 +1,740 @@ +/* iCheck plugin Line skin +----------------------------------- */ +.icheckbox_line, +.iradio_line { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #000; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line .icheck_line-icon, + .iradio_line .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line.hover, + .icheckbox_line.checked.hover, + .iradio_line.hover { + background: #444; + } + .icheckbox_line.checked, + .iradio_line.checked { + background: #000; + } + .icheckbox_line.checked .icheck_line-icon, + .iradio_line.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line.disabled, + .iradio_line.disabled { + background: #ccc; + cursor: default; + } + .icheckbox_line.disabled .icheck_line-icon, + .iradio_line.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line.checked.disabled, + .iradio_line.checked.disabled { + background: #ccc; + } + .icheckbox_line.checked.disabled .icheck_line-icon, + .iradio_line.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line .icheck_line-icon, + .iradio_line .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* red */ +.icheckbox_line-red, +.iradio_line-red { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #e56c69; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-red .icheck_line-icon, + .iradio_line-red .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-red.hover, + .icheckbox_line-red.checked.hover, + .iradio_line-red.hover { + background: #E98582; + } + .icheckbox_line-red.checked, + .iradio_line-red.checked { + background: #e56c69; + } + .icheckbox_line-red.checked .icheck_line-icon, + .iradio_line-red.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-red.disabled, + .iradio_line-red.disabled { + background: #F7D3D2; + cursor: default; + } + .icheckbox_line-red.disabled .icheck_line-icon, + .iradio_line-red.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-red.checked.disabled, + .iradio_line-red.checked.disabled { + background: #F7D3D2; + } + .icheckbox_line-red.checked.disabled .icheck_line-icon, + .iradio_line-red.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-red .icheck_line-icon, + .iradio_line-red .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* green */ +.icheckbox_line-green, +.iradio_line-green { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #1b7e5a; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-green .icheck_line-icon, + .iradio_line-green .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-green.hover, + .icheckbox_line-green.checked.hover, + .iradio_line-green.hover { + background: #24AA7A; + } + .icheckbox_line-green.checked, + .iradio_line-green.checked { + background: #1b7e5a; + } + .icheckbox_line-green.checked .icheck_line-icon, + .iradio_line-green.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-green.disabled, + .iradio_line-green.disabled { + background: #89E6C4; + cursor: default; + } + .icheckbox_line-green.disabled .icheck_line-icon, + .iradio_line-green.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-green.checked.disabled, + .iradio_line-green.checked.disabled { + background: #89E6C4; + } + .icheckbox_line-green.checked.disabled .icheck_line-icon, + .iradio_line-green.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-green .icheck_line-icon, + .iradio_line-green .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* blue */ +.icheckbox_line-blue, +.iradio_line-blue { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #2489c5; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-blue .icheck_line-icon, + .iradio_line-blue .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-blue.hover, + .icheckbox_line-blue.checked.hover, + .iradio_line-blue.hover { + background: #3DA0DB; + } + .icheckbox_line-blue.checked, + .iradio_line-blue.checked { + background: #2489c5; + } + .icheckbox_line-blue.checked .icheck_line-icon, + .iradio_line-blue.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-blue.disabled, + .iradio_line-blue.disabled { + background: #ADD7F0; + cursor: default; + } + .icheckbox_line-blue.disabled .icheck_line-icon, + .iradio_line-blue.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-blue.checked.disabled, + .iradio_line-blue.checked.disabled { + background: #ADD7F0; + } + .icheckbox_line-blue.checked.disabled .icheck_line-icon, + .iradio_line-blue.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-blue .icheck_line-icon, + .iradio_line-blue .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* aero */ +.icheckbox_line-aero, +.iradio_line-aero { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #9cc2cb; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-aero .icheck_line-icon, + .iradio_line-aero .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-aero.hover, + .icheckbox_line-aero.checked.hover, + .iradio_line-aero.hover { + background: #B5D1D8; + } + .icheckbox_line-aero.checked, + .iradio_line-aero.checked { + background: #9cc2cb; + } + .icheckbox_line-aero.checked .icheck_line-icon, + .iradio_line-aero.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-aero.disabled, + .iradio_line-aero.disabled { + background: #D2E4E8; + cursor: default; + } + .icheckbox_line-aero.disabled .icheck_line-icon, + .iradio_line-aero.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-aero.checked.disabled, + .iradio_line-aero.checked.disabled { + background: #D2E4E8; + } + .icheckbox_line-aero.checked.disabled .icheck_line-icon, + .iradio_line-aero.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-aero .icheck_line-icon, + .iradio_line-aero .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* grey */ +.icheckbox_line-grey, +.iradio_line-grey { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #73716e; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-grey .icheck_line-icon, + .iradio_line-grey .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-grey.hover, + .icheckbox_line-grey.checked.hover, + .iradio_line-grey.hover { + background: #8B8986; + } + .icheckbox_line-grey.checked, + .iradio_line-grey.checked { + background: #73716e; + } + .icheckbox_line-grey.checked .icheck_line-icon, + .iradio_line-grey.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-grey.disabled, + .iradio_line-grey.disabled { + background: #D5D4D3; + cursor: default; + } + .icheckbox_line-grey.disabled .icheck_line-icon, + .iradio_line-grey.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-grey.checked.disabled, + .iradio_line-grey.checked.disabled { + background: #D5D4D3; + } + .icheckbox_line-grey.checked.disabled .icheck_line-icon, + .iradio_line-grey.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-grey .icheck_line-icon, + .iradio_line-grey .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* orange */ +.icheckbox_line-orange, +.iradio_line-orange { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #f70; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-orange .icheck_line-icon, + .iradio_line-orange .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-orange.hover, + .icheckbox_line-orange.checked.hover, + .iradio_line-orange.hover { + background: #FF9233; + } + .icheckbox_line-orange.checked, + .iradio_line-orange.checked { + background: #f70; + } + .icheckbox_line-orange.checked .icheck_line-icon, + .iradio_line-orange.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-orange.disabled, + .iradio_line-orange.disabled { + background: #FFD6B3; + cursor: default; + } + .icheckbox_line-orange.disabled .icheck_line-icon, + .iradio_line-orange.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-orange.checked.disabled, + .iradio_line-orange.checked.disabled { + background: #FFD6B3; + } + .icheckbox_line-orange.checked.disabled .icheck_line-icon, + .iradio_line-orange.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-orange .icheck_line-icon, + .iradio_line-orange .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* yellow */ +.icheckbox_line-yellow, +.iradio_line-yellow { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #FFC414; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-yellow .icheck_line-icon, + .iradio_line-yellow .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-yellow.hover, + .icheckbox_line-yellow.checked.hover, + .iradio_line-yellow.hover { + background: #FFD34F; + } + .icheckbox_line-yellow.checked, + .iradio_line-yellow.checked { + background: #FFC414; + } + .icheckbox_line-yellow.checked .icheck_line-icon, + .iradio_line-yellow.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-yellow.disabled, + .iradio_line-yellow.disabled { + background: #FFE495; + cursor: default; + } + .icheckbox_line-yellow.disabled .icheck_line-icon, + .iradio_line-yellow.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-yellow.checked.disabled, + .iradio_line-yellow.checked.disabled { + background: #FFE495; + } + .icheckbox_line-yellow.checked.disabled .icheck_line-icon, + .iradio_line-yellow.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-yellow .icheck_line-icon, + .iradio_line-yellow .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* pink */ +.icheckbox_line-pink, +.iradio_line-pink { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #a77a94; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-pink .icheck_line-icon, + .iradio_line-pink .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-pink.hover, + .icheckbox_line-pink.checked.hover, + .iradio_line-pink.hover { + background: #B995A9; + } + .icheckbox_line-pink.checked, + .iradio_line-pink.checked { + background: #a77a94; + } + .icheckbox_line-pink.checked .icheck_line-icon, + .iradio_line-pink.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-pink.disabled, + .iradio_line-pink.disabled { + background: #E0D0DA; + cursor: default; + } + .icheckbox_line-pink.disabled .icheck_line-icon, + .iradio_line-pink.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-pink.checked.disabled, + .iradio_line-pink.checked.disabled { + background: #E0D0DA; + } + .icheckbox_line-pink.checked.disabled .icheck_line-icon, + .iradio_line-pink.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-pink .icheck_line-icon, + .iradio_line-pink .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} + +/* purple */ +.icheckbox_line-purple, +.iradio_line-purple { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #6a5a8c; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-purple .icheck_line-icon, + .iradio_line-purple .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-purple.hover, + .icheckbox_line-purple.checked.hover, + .iradio_line-purple.hover { + background: #8677A7; + } + .icheckbox_line-purple.checked, + .iradio_line-purple.checked { + background: #6a5a8c; + } + .icheckbox_line-purple.checked .icheck_line-icon, + .iradio_line-purple.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-purple.disabled, + .iradio_line-purple.disabled { + background: #D2CCDE; + cursor: default; + } + .icheckbox_line-purple.disabled .icheck_line-icon, + .iradio_line-purple.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-purple.checked.disabled, + .iradio_line-purple.checked.disabled { + background: #D2CCDE; + } + .icheckbox_line-purple.checked.disabled .icheck_line-icon, + .iradio_line-purple.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-purple .icheck_line-icon, + .iradio_line-purple .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/aero.css b/vendor/blobt/assets/iCheck/line/aero.css new file mode 100644 index 0000000..44989a4 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/aero.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, aero +----------------------------------- */ +.icheckbox_line-aero, +.iradio_line-aero { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #9cc2cb; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-aero .icheck_line-icon, + .iradio_line-aero .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-aero.hover, + .icheckbox_line-aero.checked.hover, + .iradio_line-aero.hover { + background: #B5D1D8; + } + .icheckbox_line-aero.checked, + .iradio_line-aero.checked { + background: #9cc2cb; + } + .icheckbox_line-aero.checked .icheck_line-icon, + .iradio_line-aero.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-aero.disabled, + .iradio_line-aero.disabled { + background: #D2E4E8; + cursor: default; + } + .icheckbox_line-aero.disabled .icheck_line-icon, + .iradio_line-aero.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-aero.checked.disabled, + .iradio_line-aero.checked.disabled { + background: #D2E4E8; + } + .icheckbox_line-aero.checked.disabled .icheck_line-icon, + .iradio_line-aero.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-aero .icheck_line-icon, + .iradio_line-aero .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/blue.css b/vendor/blobt/assets/iCheck/line/blue.css new file mode 100644 index 0000000..5c9c0a7 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/blue.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, blue +----------------------------------- */ +.icheckbox_line-blue, +.iradio_line-blue { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #2489c5; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-blue .icheck_line-icon, + .iradio_line-blue .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-blue.hover, + .icheckbox_line-blue.checked.hover, + .iradio_line-blue.hover { + background: #3DA0DB; + } + .icheckbox_line-blue.checked, + .iradio_line-blue.checked { + background: #2489c5; + } + .icheckbox_line-blue.checked .icheck_line-icon, + .iradio_line-blue.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-blue.disabled, + .iradio_line-blue.disabled { + background: #ADD7F0; + cursor: default; + } + .icheckbox_line-blue.disabled .icheck_line-icon, + .iradio_line-blue.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-blue.checked.disabled, + .iradio_line-blue.checked.disabled { + background: #ADD7F0; + } + .icheckbox_line-blue.checked.disabled .icheck_line-icon, + .iradio_line-blue.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-blue .icheck_line-icon, + .iradio_line-blue .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/green.css b/vendor/blobt/assets/iCheck/line/green.css new file mode 100644 index 0000000..8bbe514 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/green.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, green +----------------------------------- */ +.icheckbox_line-green, +.iradio_line-green { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #1b7e5a; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-green .icheck_line-icon, + .iradio_line-green .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-green.hover, + .icheckbox_line-green.checked.hover, + .iradio_line-green.hover { + background: #24AA7A; + } + .icheckbox_line-green.checked, + .iradio_line-green.checked { + background: #1b7e5a; + } + .icheckbox_line-green.checked .icheck_line-icon, + .iradio_line-green.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-green.disabled, + .iradio_line-green.disabled { + background: #89E6C4; + cursor: default; + } + .icheckbox_line-green.disabled .icheck_line-icon, + .iradio_line-green.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-green.checked.disabled, + .iradio_line-green.checked.disabled { + background: #89E6C4; + } + .icheckbox_line-green.checked.disabled .icheck_line-icon, + .iradio_line-green.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-green .icheck_line-icon, + .iradio_line-green .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/grey.css b/vendor/blobt/assets/iCheck/line/grey.css new file mode 100644 index 0000000..fc16a80 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/grey.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, grey +----------------------------------- */ +.icheckbox_line-grey, +.iradio_line-grey { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #73716e; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-grey .icheck_line-icon, + .iradio_line-grey .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-grey.hover, + .icheckbox_line-grey.checked.hover, + .iradio_line-grey.hover { + background: #8B8986; + } + .icheckbox_line-grey.checked, + .iradio_line-grey.checked { + background: #73716e; + } + .icheckbox_line-grey.checked .icheck_line-icon, + .iradio_line-grey.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-grey.disabled, + .iradio_line-grey.disabled { + background: #D5D4D3; + cursor: default; + } + .icheckbox_line-grey.disabled .icheck_line-icon, + .iradio_line-grey.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-grey.checked.disabled, + .iradio_line-grey.checked.disabled { + background: #D5D4D3; + } + .icheckbox_line-grey.checked.disabled .icheck_line-icon, + .iradio_line-grey.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-grey .icheck_line-icon, + .iradio_line-grey .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/line.css b/vendor/blobt/assets/iCheck/line/line.css new file mode 100644 index 0000000..dbde8d4 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/line.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, black +----------------------------------- */ +.icheckbox_line, +.iradio_line { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #000; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line .icheck_line-icon, + .iradio_line .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line.hover, + .icheckbox_line.checked.hover, + .iradio_line.hover { + background: #444; + } + .icheckbox_line.checked, + .iradio_line.checked { + background: #000; + } + .icheckbox_line.checked .icheck_line-icon, + .iradio_line.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line.disabled, + .iradio_line.disabled { + background: #ccc; + cursor: default; + } + .icheckbox_line.disabled .icheck_line-icon, + .iradio_line.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line.checked.disabled, + .iradio_line.checked.disabled { + background: #ccc; + } + .icheckbox_line.checked.disabled .icheck_line-icon, + .iradio_line.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line .icheck_line-icon, + .iradio_line .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/line.png b/vendor/blobt/assets/iCheck/line/line.png new file mode 100644 index 0000000000000000000000000000000000000000..d21d7a7b43d41ae5ea448a9fd28ad2fe1713b4ee GIT binary patch literal 588 zcmV-S0<-;zP)|`1wso8Fw$Ad0hR6lr_%WU+;b1oJY3I%Tub`Min z!Cvkh77=)|hzi(`2k@a6!yt;Wn{{Cf3#f#-eMlk-Js%B-U^lBq6FPA;EO;D!cnM#{ z&Y>Se*y&m&)bl`$S?{ufoD9`0M78X2!A4p2{alA$q(inwpMK}z- zDx}oO7{+6mdyAhqDbWWcHjXUj9Y41WdU0G+Z6EM4EI5ri6}^On@x5)`_=L0SuQ{zw z$}8MQ*s>T`(LIRk?;XeXE{>?b=1p}{mhc8l1sl=V<+&7_Xm-RVFoF|!kE@uGXb%gx zfjpQs`h`4~AcqM@Y#f(x5Vvs#wUe8(@Fmghs5QZJ`vv|t0< z%}0}pDaK_)VcQ0>@?3^C^>SK63V-0)f@8*=t;2V9r)|+0T*NH&R?#S*uGkLa7zgT3 z+oIR;6knkC3(w_~*@K@TfklaZhk6y=3)=#;s+ZCx+OQ1QS|oN=V!z^!oB_U1%20yVj(}GwL+GL}&pjHE=ZGxuB^<7+W82)F@oqNvAVz@tem_=46 zFJU-`gdE4&R3mG~CwK`9sP%2dGnm5-h^s>_tP#^VfUnSlT3!PZ*ok9!xZJ=Y4C6(3 zT|Y(p;v);0%rz#2!GuChkx{)D$wP#!ev# zX%4=DZk>n}#O~BYj-az3Y6MYKV+Ro~ao%6O1ik{N=&xZA{o1&IgP&39CGol@{`=7F zrf^<2x)?VqocB*udSP@xwR!yHCGctV%8?1mTz!hTNn}yU#W4)k#_<-s>=I^#$kC$6 zVMW}}aS4@NE22;>kMH!~!TQKUNTUxK%W*?^8!aBb|0YlmX;Vm}oDqmna^$e9OA$A3 zaNa|>52eg^%3WR&xl0i@r-`ex zAMJPnJ0PtI2{b_3bxdMIA6S-^A`5X-hH($zH8;Qmio0wxa^O?k5@J{ZgRRJN+y(gE zPCV{5*rvG4ZpE|UQ`|BpumF!3(ih-vJCw3~>6Pvhm0D{%R7LC95klZXd=0W#kn6>~}ndN$56?S72*< zisQQG@B=_(CPdx~Kf8mo_yxM<@gCWN_EK3g=7R}(Y7*}?oAo4wYXz7af zBhFz}ddTog^)EXi3}6W(@UkQp@da$|AvgAOR`0s<_vzpG9$watzpx0K+m5676w6@d rfde(F4we@P0tbS?fgo@o2psG`tMVYqN8?Fb00000NkvXXu0mjf=!x$^ literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/line/orange.css b/vendor/blobt/assets/iCheck/line/orange.css new file mode 100644 index 0000000..210f334 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/orange.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, orange +----------------------------------- */ +.icheckbox_line-orange, +.iradio_line-orange { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #f70; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-orange .icheck_line-icon, + .iradio_line-orange .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-orange.hover, + .icheckbox_line-orange.checked.hover, + .iradio_line-orange.hover { + background: #FF9233; + } + .icheckbox_line-orange.checked, + .iradio_line-orange.checked { + background: #f70; + } + .icheckbox_line-orange.checked .icheck_line-icon, + .iradio_line-orange.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-orange.disabled, + .iradio_line-orange.disabled { + background: #FFD6B3; + cursor: default; + } + .icheckbox_line-orange.disabled .icheck_line-icon, + .iradio_line-orange.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-orange.checked.disabled, + .iradio_line-orange.checked.disabled { + background: #FFD6B3; + } + .icheckbox_line-orange.checked.disabled .icheck_line-icon, + .iradio_line-orange.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-orange .icheck_line-icon, + .iradio_line-orange .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/pink.css b/vendor/blobt/assets/iCheck/line/pink.css new file mode 100644 index 0000000..44c9cea --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/pink.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, pink +----------------------------------- */ +.icheckbox_line-pink, +.iradio_line-pink { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #a77a94; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-pink .icheck_line-icon, + .iradio_line-pink .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-pink.hover, + .icheckbox_line-pink.checked.hover, + .iradio_line-pink.hover { + background: #B995A9; + } + .icheckbox_line-pink.checked, + .iradio_line-pink.checked { + background: #a77a94; + } + .icheckbox_line-pink.checked .icheck_line-icon, + .iradio_line-pink.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-pink.disabled, + .iradio_line-pink.disabled { + background: #E0D0DA; + cursor: default; + } + .icheckbox_line-pink.disabled .icheck_line-icon, + .iradio_line-pink.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-pink.checked.disabled, + .iradio_line-pink.checked.disabled { + background: #E0D0DA; + } + .icheckbox_line-pink.checked.disabled .icheck_line-icon, + .iradio_line-pink.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-pink .icheck_line-icon, + .iradio_line-pink .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/purple.css b/vendor/blobt/assets/iCheck/line/purple.css new file mode 100644 index 0000000..be4c4e2 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/purple.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, purple +----------------------------------- */ +.icheckbox_line-purple, +.iradio_line-purple { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #6a5a8c; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-purple .icheck_line-icon, + .iradio_line-purple .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-purple.hover, + .icheckbox_line-purple.checked.hover, + .iradio_line-purple.hover { + background: #8677A7; + } + .icheckbox_line-purple.checked, + .iradio_line-purple.checked { + background: #6a5a8c; + } + .icheckbox_line-purple.checked .icheck_line-icon, + .iradio_line-purple.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-purple.disabled, + .iradio_line-purple.disabled { + background: #D2CCDE; + cursor: default; + } + .icheckbox_line-purple.disabled .icheck_line-icon, + .iradio_line-purple.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-purple.checked.disabled, + .iradio_line-purple.checked.disabled { + background: #D2CCDE; + } + .icheckbox_line-purple.checked.disabled .icheck_line-icon, + .iradio_line-purple.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-purple .icheck_line-icon, + .iradio_line-purple .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/red.css b/vendor/blobt/assets/iCheck/line/red.css new file mode 100644 index 0000000..ebcd8be --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/red.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, red +----------------------------------- */ +.icheckbox_line-red, +.iradio_line-red { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #e56c69; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-red .icheck_line-icon, + .iradio_line-red .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-red.hover, + .icheckbox_line-red.checked.hover, + .iradio_line-red.hover { + background: #E98582; + } + .icheckbox_line-red.checked, + .iradio_line-red.checked { + background: #e56c69; + } + .icheckbox_line-red.checked .icheck_line-icon, + .iradio_line-red.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-red.disabled, + .iradio_line-red.disabled { + background: #F7D3D2; + cursor: default; + } + .icheckbox_line-red.disabled .icheck_line-icon, + .iradio_line-red.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-red.checked.disabled, + .iradio_line-red.checked.disabled { + background: #F7D3D2; + } + .icheckbox_line-red.checked.disabled .icheck_line-icon, + .iradio_line-red.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-red .icheck_line-icon, + .iradio_line-red .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/line/yellow.css b/vendor/blobt/assets/iCheck/line/yellow.css new file mode 100644 index 0000000..8e08871 --- /dev/null +++ b/vendor/blobt/assets/iCheck/line/yellow.css @@ -0,0 +1,74 @@ +/* iCheck plugin Line skin, yellow +----------------------------------- */ +.icheckbox_line-yellow, +.iradio_line-yellow { + position: relative; + display: block; + margin: 0; + padding: 5px 15px 5px 38px; + font-size: 13px; + line-height: 17px; + color: #fff; + background: #FFC414; + border: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + cursor: pointer; +} + .icheckbox_line-yellow .icheck_line-icon, + .iradio_line-yellow .icheck_line-icon { + position: absolute; + top: 50%; + left: 13px; + width: 13px; + height: 11px; + margin: -5px 0 0 0; + padding: 0; + overflow: hidden; + background: url(line.png) no-repeat; + border: none; + } + .icheckbox_line-yellow.hover, + .icheckbox_line-yellow.checked.hover, + .iradio_line-yellow.hover { + background: #FFD34F; + } + .icheckbox_line-yellow.checked, + .iradio_line-yellow.checked { + background: #FFC414; + } + .icheckbox_line-yellow.checked .icheck_line-icon, + .iradio_line-yellow.checked .icheck_line-icon { + background-position: -15px 0; + } + .icheckbox_line-yellow.disabled, + .iradio_line-yellow.disabled { + background: #FFE495; + cursor: default; + } + .icheckbox_line-yellow.disabled .icheck_line-icon, + .iradio_line-yellow.disabled .icheck_line-icon { + background-position: -30px 0; + } + .icheckbox_line-yellow.checked.disabled, + .iradio_line-yellow.checked.disabled { + background: #FFE495; + } + .icheckbox_line-yellow.checked.disabled .icheck_line-icon, + .iradio_line-yellow.checked.disabled .icheck_line-icon { + background-position: -45px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_line-yellow .icheck_line-icon, + .iradio_line-yellow .icheck_line-icon { + background-image: url(line@2x.png); + -webkit-background-size: 60px 13px; + background-size: 60px 13px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/_all.css b/vendor/blobt/assets/iCheck/minimal/_all.css new file mode 100644 index 0000000..b2165ec --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/_all.css @@ -0,0 +1,557 @@ +/* red */ +.icheckbox_minimal-red, +.iradio_minimal-red { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(red.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-red { + background-position: 0 0; +} + .icheckbox_minimal-red.hover { + background-position: -20px 0; + } + .icheckbox_minimal-red.checked { + background-position: -40px 0; + } + .icheckbox_minimal-red.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-red.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-red { + background-position: -100px 0; +} + .iradio_minimal-red.hover { + background-position: -120px 0; + } + .iradio_minimal-red.checked { + background-position: -140px 0; + } + .iradio_minimal-red.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-red.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-red, + .iradio_minimal-red { + background-image: url(red@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* green */ +.icheckbox_minimal-green, +.iradio_minimal-green { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(green.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-green { + background-position: 0 0; +} + .icheckbox_minimal-green.hover { + background-position: -20px 0; + } + .icheckbox_minimal-green.checked { + background-position: -40px 0; + } + .icheckbox_minimal-green.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-green.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-green { + background-position: -100px 0; +} + .iradio_minimal-green.hover { + background-position: -120px 0; + } + .iradio_minimal-green.checked { + background-position: -140px 0; + } + .iradio_minimal-green.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-green.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-green, + .iradio_minimal-green { + background-image: url(green@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* blue */ +.icheckbox_minimal-blue, +.iradio_minimal-blue { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(blue.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-blue { + background-position: 0 0; +} + .icheckbox_minimal-blue.hover { + background-position: -20px 0; + } + .icheckbox_minimal-blue.checked { + background-position: -40px 0; + } + .icheckbox_minimal-blue.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-blue.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-blue { + background-position: -100px 0; +} + .iradio_minimal-blue.hover { + background-position: -120px 0; + } + .iradio_minimal-blue.checked { + background-position: -140px 0; + } + .iradio_minimal-blue.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-blue.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-blue, + .iradio_minimal-blue { + background-image: url(blue@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* aero */ +.icheckbox_minimal-aero, +.iradio_minimal-aero { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(aero.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-aero { + background-position: 0 0; +} + .icheckbox_minimal-aero.hover { + background-position: -20px 0; + } + .icheckbox_minimal-aero.checked { + background-position: -40px 0; + } + .icheckbox_minimal-aero.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-aero.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-aero { + background-position: -100px 0; +} + .iradio_minimal-aero.hover { + background-position: -120px 0; + } + .iradio_minimal-aero.checked { + background-position: -140px 0; + } + .iradio_minimal-aero.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-aero.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-aero, + .iradio_minimal-aero { + background-image: url(aero@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* grey */ +.icheckbox_minimal-grey, +.iradio_minimal-grey { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(grey.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-grey { + background-position: 0 0; +} + .icheckbox_minimal-grey.hover { + background-position: -20px 0; + } + .icheckbox_minimal-grey.checked { + background-position: -40px 0; + } + .icheckbox_minimal-grey.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-grey.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-grey { + background-position: -100px 0; +} + .iradio_minimal-grey.hover { + background-position: -120px 0; + } + .iradio_minimal-grey.checked { + background-position: -140px 0; + } + .iradio_minimal-grey.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-grey.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-grey, + .iradio_minimal-grey { + background-image: url(grey@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* orange */ +.icheckbox_minimal-orange, +.iradio_minimal-orange { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(orange.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-orange { + background-position: 0 0; +} + .icheckbox_minimal-orange.hover { + background-position: -20px 0; + } + .icheckbox_minimal-orange.checked { + background-position: -40px 0; + } + .icheckbox_minimal-orange.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-orange.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-orange { + background-position: -100px 0; +} + .iradio_minimal-orange.hover { + background-position: -120px 0; + } + .iradio_minimal-orange.checked { + background-position: -140px 0; + } + .iradio_minimal-orange.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-orange.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-orange, + .iradio_minimal-orange { + background-image: url(orange@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* yellow */ +.icheckbox_minimal-yellow, +.iradio_minimal-yellow { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(yellow.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-yellow { + background-position: 0 0; +} + .icheckbox_minimal-yellow.hover { + background-position: -20px 0; + } + .icheckbox_minimal-yellow.checked { + background-position: -40px 0; + } + .icheckbox_minimal-yellow.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-yellow.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-yellow { + background-position: -100px 0; +} + .iradio_minimal-yellow.hover { + background-position: -120px 0; + } + .iradio_minimal-yellow.checked { + background-position: -140px 0; + } + .iradio_minimal-yellow.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-yellow.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-yellow, + .iradio_minimal-yellow { + background-image: url(yellow@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* pink */ +.icheckbox_minimal-pink, +.iradio_minimal-pink { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(pink.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-pink { + background-position: 0 0; +} + .icheckbox_minimal-pink.hover { + background-position: -20px 0; + } + .icheckbox_minimal-pink.checked { + background-position: -40px 0; + } + .icheckbox_minimal-pink.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-pink.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-pink { + background-position: -100px 0; +} + .iradio_minimal-pink.hover { + background-position: -120px 0; + } + .iradio_minimal-pink.checked { + background-position: -140px 0; + } + .iradio_minimal-pink.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-pink.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-pink, + .iradio_minimal-pink { + background-image: url(pink@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} + +/* purple */ +.icheckbox_minimal-purple, +.iradio_minimal-purple { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(purple.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-purple { + background-position: 0 0; +} + .icheckbox_minimal-purple.hover { + background-position: -20px 0; + } + .icheckbox_minimal-purple.checked { + background-position: -40px 0; + } + .icheckbox_minimal-purple.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-purple.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-purple { + background-position: -100px 0; +} + .iradio_minimal-purple.hover { + background-position: -120px 0; + } + .iradio_minimal-purple.checked { + background-position: -140px 0; + } + .iradio_minimal-purple.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-purple.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-purple, + .iradio_minimal-purple { + background-image: url(purple@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/aero.css b/vendor/blobt/assets/iCheck/minimal/aero.css new file mode 100644 index 0000000..c97acc8 --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/aero.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, aero +----------------------------------- */ +.icheckbox_minimal-aero, +.iradio_minimal-aero { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(aero.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-aero { + background-position: 0 0; +} + .icheckbox_minimal-aero.hover { + background-position: -20px 0; + } + .icheckbox_minimal-aero.checked { + background-position: -40px 0; + } + .icheckbox_minimal-aero.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-aero.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-aero { + background-position: -100px 0; +} + .iradio_minimal-aero.hover { + background-position: -120px 0; + } + .iradio_minimal-aero.checked { + background-position: -140px 0; + } + .iradio_minimal-aero.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-aero.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-aero, + .iradio_minimal-aero { + background-image: url(aero@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/aero.png b/vendor/blobt/assets/iCheck/minimal/aero.png new file mode 100644 index 0000000000000000000000000000000000000000..dccf7740c9cb727f9c1eeadd6b584eec8634f23e GIT binary patch literal 1151 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 literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/blue.css b/vendor/blobt/assets/iCheck/minimal/blue.css new file mode 100644 index 0000000..42477cd --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/blue.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, blue +----------------------------------- */ +.icheckbox_minimal-blue, +.iradio_minimal-blue { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(blue.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-blue { + background-position: 0 0; +} + .icheckbox_minimal-blue.hover { + background-position: -20px 0; + } + .icheckbox_minimal-blue.checked { + background-position: -40px 0; + } + .icheckbox_minimal-blue.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-blue.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-blue { + background-position: -100px 0; +} + .iradio_minimal-blue.hover { + background-position: -120px 0; + } + .iradio_minimal-blue.checked { + background-position: -140px 0; + } + .iradio_minimal-blue.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-blue.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-blue, + .iradio_minimal-blue { + background-image: url(blue@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/blue.png b/vendor/blobt/assets/iCheck/minimal/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..af04cee596d5d2f884b03f9d8f0dd25c1cd5a0fa GIT binary patch literal 1132 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 Q$N&HU07*qoM6N<$f*_*2MgRZ+ literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/green.css b/vendor/blobt/assets/iCheck/minimal/green.css new file mode 100644 index 0000000..bd1e3d0 --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/green.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, green +----------------------------------- */ +.icheckbox_minimal-green, +.iradio_minimal-green { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(green.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-green { + background-position: 0 0; +} + .icheckbox_minimal-green.hover { + background-position: -20px 0; + } + .icheckbox_minimal-green.checked { + background-position: -40px 0; + } + .icheckbox_minimal-green.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-green.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-green { + background-position: -100px 0; +} + .iradio_minimal-green.hover { + background-position: -120px 0; + } + .iradio_minimal-green.checked { + background-position: -140px 0; + } + .iradio_minimal-green.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-green.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-green, + .iradio_minimal-green { + background-image: url(green@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/green.png b/vendor/blobt/assets/iCheck/minimal/green.png new file mode 100644 index 0000000000000000000000000000000000000000..9171ebc7e456848eee4440b1e9975282f62fe03d GIT binary patch literal 1143 zcmV--1c>{IP)VcOZuC z(Z^km5{SLDNt`DBrcmj_0Gd;{rv_2Fx)5yM2O257y17aJ+{y)B}`je1K2>!HAD=h>zE0-mk}1AFs=- zs|SQ*jgKke>tmhxcwJ_ltxwy(0{oL3C)Z7Jc``LLlj8*(BN$caYE)f#07um^qdrRU zK^3~1iQEP8(Z^An`g-qy_|&oey$~P4s6wEx_a2CkV=a7|{-rh`c{m()^Kgq`EJe^R z!cBE74%x&9p?!ozeDu??t&g?h^Bk+a5Ffz^?PIO@aA*$AFOElm&pm@rY{`k5J))8l;D*`2`{0PfbR}W z!&WG&*SE4-U)C?NTvIr>hIWz+i76bKNizg(ivrp(lz{KJkKlB6>&yOU5I5Oym_rgR z9KtWlo1=sFzTB7bfC#Az$NDFS@C}A73fKW(6Ywqg2x?iaFRKC3Ool|mA(O%8eZ?o3 zuqb03J|y6~3Nz4A%)ozHtuM=W(w&q}4heyFa+rAn_qbOuyN++NHo+;l-0y=~=tjJs zBtBDp>f5S|ilBQufj)XR8}*wkjtT9YK3QgRuzHLwxkuwXKh};`1D< zeG(rNA+(RR;=`fw+4WBXlJ!ZF=8!~1J@tABo)VG@=+09C&cicxOv6VhKBz!J6O00g zk8m_>>g&A+;^WwcPoKm`NGed!1fu}r<5&xyrhi%b45EG)vY{X(b@jyTJY3-QoVtnC zhC$c~<8TIk!al>}?sX6!cs{}q=p!7>IO|iv3Yxfef+0R$8+{xTt55g1y9=>wf7{22 ziTin|1bo4hgkbDdIRn-I!JINUhvW3A37lZ0M|^079o&#HgD zUlb0+^oznoCI^k*=)W7WIv)gKBeze!#R~dGq2mVrqsYn0x8ILOB``|uWn2IN002ov JPDHLkV1hWAFZBQb literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/green@2x.png b/vendor/blobt/assets/iCheck/minimal/green@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f18f96a9c30c6b2d8b726019939ec908a9067cb GIT binary patch literal 1408 zcmV-`1%LX9P)l000F?Nkly~`DfFO3_-R7OQ+4rc={e(2c3+(*}U)j-TS-X!*e9}murrj2OgI6 z_V%U)aZR#t;lhHgUnT`M(e-VAH7)4t>x;9`_IKsVm1z6s%$XB?A7ejb=PAWHtioc< z$1DrDhCgry9XN^sI1NAF0>*wv;_Lg*??;q<_WKcSpZ)){#z^~YGSG-j%yiUXGb)jc z6L7y-j#rSP6T5K`W4Y9)KJ{f_V~2*5Vw~~Rr#|($TZ!k;5fQ5fWIx^UX&t> z)mV>}<{i}I7#t>CpZe67fkwn#5t>nF0sYv40~j7BV9<174~nq?TTzB~?8O@x3E8JU z_2~i$V1L&m-U42$=+(l*C_x*_F@kOQ5TkIJVSI`&(1<3~VHwtADCR!(sc#zGMnsp# zk0?h!DzOuz69^c^PE?{F<#t9%$UgO{PZ!A4lN$e{{msC)ScFrkLN_LBx>1EwSY&6- zh^eB@x;;tDLIFB{BjLDwMc*f4CKyyre>QkTl1tNO$(Eiq<79*&^Anw!*;YEzt znQLR{Q=j^Dfrz-9hL0?u3BP&>=th$Tv|xH{ed<$R2Aa5~2s_%}OIVBx*acs+3$-Xi z4O*vaA73v{Ubp8C+=8#Ug`L*0Idq@;)Tax?pVa7UtK8mSDOO?_ z2jF|Yva>7kP#*Oaq5++_W;)S;!Z3Z>pDqv)H_swL8?M9mTt}NVtjm+WdFVnjR-o9d zKr^~9&wroxrwhct)a2%yhxS)x&*KO*oNX<6&{v4V$YQ+7q78TZ?bH5rfrz+SV$U9g zn&0gCXdd)!LKgowkE1T^{2Hh#~8zCGx<%`b!Y`0dmFbbEl3n|YyicF; zhLsq7ZIyfbJBYJbfGzMfTd=^+J{Y=Bed^N%BI0fg^%k%VSq}kOY_os{jD_w~pZaux zgqN7ydh^i!j^Q)hgF`66othFHva|N1J*GbOsZSS(h`Y_`!o&C;b1~U77su?3F4Twa zQ=j_czd-aRBJuC<24289Jcbje1W%w7 zO?V%pV4M}=O}vXD{ETW0#oVVp_2~^n#N8mC!d?_%JI+i zKJ`Ve9ZOJydaS?(b34)S*p8M8x-3SRx{#3q(XjH2(r~Ngp3WUwOp< O0000j*ZxUBG7<*iIH6XDd01ry?DPp5T^LtU;rIw8sB4rve1K2>fe|0!5Ff`S&ex-= zkK+>K>Y8xu@Ucn+`WPoZj!TTQy54>t4D8=1?8%Lr>nFKBSvB-4$4fX*Fsc%cU^=h@ z=hU330Hye#3R)k5=z#d>UCE%>R9 zbA79b)+cYPEMSh!_2ys+w&15a&guG><`u*@g(Ha}k#LwPz-xyRUO^!S-vgM1gOFFp z3u&z{?QgMsQ#g1J?Ij>2@@I?Z9^=q*D4+%7G59V72rj3$zVv?v@#77LIV5)B5Pms6 z9L>4=GGEFAA|x&x!>=5|cbIS};0Sz+!S^IUP)lolX$^>{5yTx1Ss7f;D?Y=FLmAWX zDF)wNs6bm$fqQAKFU?QVy@akD5(2}@Vd5z)@~mKai2unt0GHr)zYmt7WBEKue5U&7 z|8I743f(gvt&g59+x|}$b8N2HSRaTl?QgL>LpWj&iG4VPH}Ef%!FIc<=B~T?GGF>X zgLuYp#2*sbTRd_0*H0Hye#4EVIc7zObWj)qHp z-E$y5<~9QQBtAk?2Cc7q4#dY?hwIh%FIAsG)bB#}6@;X&zA?K7H#lBZ53yR1gQGAF zSKuEwZuq);9mEGcA7Rk?2uCx@`c$xVD{h@&h>v5Vk2!YNYu`T!h!2r$yY1t~ME#YJ z7<~GbgkT&~%l|2ug>m=|U*QAXg!Pa;Z$c;^;qarZkFiD{A!*XfP(H?nyl000F>Nkl$Fu&qaw(W zc9%0`W*5!Iz-or6o4S!9$ab-E)8@uFeJ}nO-Hd!V^Ld`L^ZUbx7Y6cv`Ooq2!jtIh z>&q0xHHq@_@`BfP?I^H`uJ675>4J+FFUHwt`x_n}j<&C)q$K)2#(u}nQ-)1ghoxAA zc@{8&KX4wMIF1204Zq(4#{Nd)>-*2&N0fc`_YrNM{r|JZNc(J((1>JbHfqs;N+hNT zxZkYA%gCS$EjWzHTPSEi~c;941_!`qY<%M#Nna(%5PN{n&#;7@Z{Flm zbbtiV`bmqofck9>T6h?xXvZpyVK+X&I9z5FpW;jGL=(1R1!^!9bD#RuHw$hfqQm1y ztU^C3u@~c61dL-ZD$$Qs_Kwn!ed<%64v?8AWBiZyHwWKh3C^MlJ(#ZPK^4woiM?x1 zY<=oepAHZacWJD~C2YVoO!r*F)3{{sO2^cvKJ~dDAfhi1?QbLMFos$T;!e#FUceaY zurY={^{Gz>h={vc_|O8H@T-S_9yD1%GiJxur#|&1p@~}tVMqIW5le9y``~N#p$-+O zMcYj6z&JMQ+|r~T;w5plE3o@Wqh zezWHzdC*sn6#j1>!&bk2+F$rvSh@|A$nv&O0{%w(d%&KT5o#{kb5S1jZE*!~mxuNzS($*x(f;%WBI0Jmp7RlA z?A;j6gT7xJ0?zvF)BbYr0MYHDgb6d+-=Fqej4)&G#+5wiYjX%_^V_HW=>QRNbIzX2 z5oYY&_&pE$T5;w!Zw9sc?bH5rfcTRzS^xW>w7*V!Za|o^cjHtZ^xZ-YdN9?TK{amq z?bH5rfQYy`jtr_X7rtjMs;%L8p7dSCYV5>m+%Tu@XHVd&|32-{?=39J{o6v?Uq60A z6}I3Ye9lXlXAS*%)HjZ_iKI{a(*Yvl?juy;b$sFR`siJF!x~yeB%t;;sSRco^Sf0j7Hv;Do)S8;zm+ z)Th4q4-kEcNc{V|iRaOaM{x=%OxL8)iRI|EcioJ&Pkri3LNkr*Hi^t!LwE|u@Ho2A zg#8!?TnM4q6i1D4ui4x zsZV`LXhhuogL-^}W-P%$ypN;!0X-PNUlwp5%83A(x*Q4=?g@}k4dzdGCYfQsKA4mZvoeF1sBkX?=X<7 zed<$RGWMH5>Qi5i8NkP8M)#>teThsa9de$<9SwxT}iL(9a-(kXGovS`l%f_$L><6%pKt)ur5pO@&AabRjC}7f@@3 zplJQaJ_&~x8s^NOoP(LUodXXuW#&A*yyMTebP~0(v7yKOELAR- zdq;0RYV+osoSam>IxF(m?h z+$TQH=eW<+7uvr9{4bYMN~gI#nHu)V@d_>wjJkv)m@Yhq^JdRffKq%=2dj@jbU}Rd zamuB>-Zc=P**n+^@ezzVSbe=~AU^gw_$>WPbwKiPC=RRefMC2!pk0IeW-ks|;)B>e zLLxrJa;=Yh#fJlj^g?_DBesuw#fQVeXX#(s0+NSAn1+K;A431c?45S=<-V*2M5i?c~_0jtxEWs9RoActp6tVi`*PsNjC$^8?7hwsu zVB4G*ZT-vg1kov;91?=$;SehD#-W7QP#J;mAuPZlD4FvIS+B1ESzJ0Q99nCYf{@71 z3Eq25K*yng4or-|cQHV4HS6^iAgfFJ4Tt}bBnyY|+wtXS(Vs8(6(Gwib>SF(atPny zxI+O);oAs&PXh#vtk##+fGCiaqHxG$aJg>y46_bp%)qA+`0hXrb__MRo7MWV{3czc zbaF@thMOG1Gx(2p1ZAX=9BvwH?|7^}dbXVOFInt~ z?ZX{d9}Y|Zvi%-Jr7j%yFv!m_c?-Xw3Q5;>vv%NOEZ6$DS9~~dNT0;VM2PLH5Dug|!0^EQXW=|_XDL$w|AtV?D5FgoSxzyLY2I6CHE1*x}BP3O@`g+$u zeC&1bMfYzUQoqdiLiQDeq-j1ey9)nuzG7Ztb)X2xUj@2Ynx5u=)r` z+h=_yShk7VBpBl3JkrM=ufDL4yKC^W{BnSHx0u&ao gF=cO1PENl50H~cNxgAf&7XSbN07*qoM6N<$g5tCt!vFvP literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/minimal@2x.png b/vendor/blobt/assets/iCheck/minimal/minimal@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d62291daaa78d173897d6a713e5cf26321e70cf2 GIT binary patch literal 1410 zcmV-|1%3L7P)l000F^NklC7#7>40~P-}&PHl_&)QBtv`NW=pMOKCMhnxI9OR;=3w7Sf7r)Q#Ac(ggL`Y62KF zCejG*q!`kQ3yVz?)M5}?e%gp3A?*UCEtWRT=e>9rZXlhUGV`6DXOb)5ip-t2G?NJv zq6-%;#CgeDQCV48UKB-nwi4GD$8p}pix-pGXY;#${d!{iii?XA-^a3_vGXd$R@7iM zR$z$*jNwn5M-NV5*fo%!FCRjqD3N{t`~65{pZ$I$w$J|lSz|)`Y~@2sBr^+9k6oxj zben(&&3e3w7`BEP zq_7#=u*tlGCUiRl1npCw`tqSA;;s;B?680#?89M<-zH$h^x*)CupMus0$n(W*D)Eg zPkrjs0TMuYdAYX${{2b=52FN~*nmmw#YdQO3>e2}_zJtxf*n|gZ5T~*pZe6dz&Tw+ zhsRIYfFV?&6;l}mOraH37{UhIqa}%Y#qf* zn6y1>lhCI=_2~c+akl^;TR;nb^AOOF77J*@!jOIHQ=eX8Wv4iJf#&xzR^u}Edu-p2 zMpU349rLx1*Nd6FM)Wj4{d{!;5pnmLefMG7W56_8tzlQ_KJ}?j2Z%qh(QB*ho?j_8 zVH}6ydwp$tSK*Ny>MKAqdNF2t(TsvHeVU&R5D_=eAwnl60t8H;(;BwsNZ)ewA&reF zG8>UbAC~*?)BJRR_!pb(ym@GT)%HD!K#RStB?tNna15zC1fDPd5+|H)Hl) z8mz$f#&{0&{pt{K)^DHYmwg9_UKd3s%+mb+vhPZSS++N>{TRmI7VrQ{k-}!YfFcVRL=(D_(5F82xgH=f z61UW+zJ%+-8q}i+8?oKYX7!>S-(V&wed<%6ZXhCl%%H=R;(64d0uN)U1>C?D44?ny;)Th4uq`w4GpZc=QFg`W&x=(%Ti{dzTXcG|;@%;)*L_~Ceh=_>Rf8mTFRg-4= Q7ytkO07*qoM6N<$f-B6VcmMzZ literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/orange.css b/vendor/blobt/assets/iCheck/minimal/orange.css new file mode 100644 index 0000000..842e400 --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/orange.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, orange +----------------------------------- */ +.icheckbox_minimal-orange, +.iradio_minimal-orange { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(orange.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-orange { + background-position: 0 0; +} + .icheckbox_minimal-orange.hover { + background-position: -20px 0; + } + .icheckbox_minimal-orange.checked { + background-position: -40px 0; + } + .icheckbox_minimal-orange.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-orange.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-orange { + background-position: -100px 0; +} + .iradio_minimal-orange.hover { + background-position: -120px 0; + } + .iradio_minimal-orange.checked { + background-position: -140px 0; + } + .iradio_minimal-orange.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-orange.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-orange, + .iradio_minimal-orange { + background-image: url(orange@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/orange.png b/vendor/blobt/assets/iCheck/minimal/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a314978df05edbfe0da6ab1e51f81070079b44 GIT binary patch literal 1139 zcmV-(1dRKMP)ZO!m-Q8E|KVCp7wFxVqT~(wSQBvH%BDo1XpKv4g1dV0L~DM4h&LM1Gouasx`9- zO6`LV*nP1afbm6QHl)7cHPAk_cDxtbM=&~I^$o9q_OaH}=kDKR2c!yz;IIPM2*wi+ z?JE4L*5c4Z`yjh7mc|ze5n3N}wQuAwz0f{_k=e&w?Ze^l`S-8rfK=hIGY5yE1HR*y zT00l!t9)e*hztlvkvoI?y5Tf*^*x6l1L(r(aUb~mVyS)3`XW(-8?X)U)Ol@e7qR;E zJ%R_U$?T)|HMjxW@J^lAZ2c?q4kEq7QG7^DINUVhQ9ua~p;>_MH@E~JL0z3+D{Fma zzXy@daKus+9}@F#kLMoKuoY0i7EBl5JDVW*y1ez3{~kmZ8xD6!yuxAlFYw`LE!UW_nRy@2w%aE<33mdKVKxY&skqAcQ{;D z*q-rNee`U}_nR!%WcJ}stPh8!f91Xh5sq*a9+H4}wI0L2&<5Y}ty;Sp>Z^R^zXuVn za1UiC~2igbkeUY&HV!57YeJWVC9k)j?w2yPAk2Sga(q4C$kjwbcK0cVdUkNF| zXWvN(#tF6kpMpy;4Lk5BJclc=nz85Wkj)oMnP+{>P4StXgkEOyF*mC(sDHy>6duUw z7lj{i=P=Ot{r6wcLuT15Z=002ovPDHLk FV1hHXFjD{k literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/orange@2x.png b/vendor/blobt/assets/iCheck/minimal/orange@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..68c835915ac81a16716bd7b0c5d83c81a8d5840e GIT binary patch literal 1407 zcmV-_1%UdAP)l000F>Nkl!D`KdY5xdv zq@CrAF|&haV_-GI{Ilssh9KL4rPJnQJbe$YgHA@?Y~J_%?)_cx;W?7~%QeT%0}qW+c#&^?fivhtI|kr1{Cs&ZJCZ2-{`310WuN_iMB8V7|Ew|6KAS8wA`>$mwb+76B;y3! zZ8Koin)TcgOAX86j{EzlG1K(mHPN51tn5^kR6;5HHoi!u2 zKJ}?j7l??vCal1Dti@$a_FTp@IB#b)#nh)h^|@alqBjriZyo9|f?5pXPR$Tr#E6}_ zE`~n!sZSS(h`VX{&;lCqtA~IdG+ID2rpMN&KJ{gxiCc=Wqy4>vMYw=H@HKl-hYHl9 zb*lF9_2NXnM)b5l{e1NXBI52fd+x$5_?lbTZ4FyO_o+{Px+n6-(Pj3cQ0`V_3`T6Fd{Z-lX7y=DvTT21-72z;)7;kcD!`*)Sv_D-SB5oGj^CUve zZ}xn&0Qxo~hyR<$u_^5Sw7)F;j=ly;Cit~b0)M0ZJz&oZ2sP*JIlln z?N4tYB5r2c^D4rOosE(L=v(Fxu+(p#_7~9`h~7l>=Ar$`gxrG1(f;%XBI4$nJ!d1# z*x48^fWBWG0#5nu)Bf`B0@2q+i3u~>-=FqefG}fc<6;5ywK@c}`t8&Hbb*MtIc?7+ z2s3szelLK&7M#4zFN0eA_Gy2*K>SI}g#Ua{+Fz$V*CNc=**IPReK%2q9*j39QH`5^ z`?Nn@AR=zsk)j$i;d^GH+8Wvmr0)_|U>i>0x;cSucoLWV_i2BAzrvFI|5`}<>&H*1 z!ba?e&v_ZMtf9Yv`bN=YBI(oqbb*Mt`v_Hd6JL1zeDp5tu!g-;xsQL6UHgl?PoMFI zl^A_(m4Ev?h_hIL?eI0*vB1tg7`jh=>eB@x;%*G}7SMp4hkzU!EMP0fLiedpeY!xx zOH6*fd1!w}@j33nA(Y}yO(_o9S)ZXJratwlPZx-YyDjL(!}uO^G1)U0N9~Mm)Q9d< zpZemzK=dXe@$c^jUcfm#hU3U#vL=U4EWtTD>qe}7>Qi49nn`3|lgQLHgr{)?PoN8p zcn_msoE6~>yn|x=jA{(U+^0VE=?z50-5{RAJ{03!oIxFCIt0u>9Zq8>im?x?F&KNF z`qY<&M#SAe*o<$`jD^^b_i-3Mpa%o^%L4908FE;I=TTw-=TMK182Z$wKGzE*MRcP+ z^+m1&i&2Yuti%R$JJW@|_!?ue^r=sMdIJ&hV+^gP49{UTD)1m?TfkLZ#94IWI}GG& zpZe67MS^HYed^0I1NhiX=|1(TFGhaV5fRY^A|fK1e*s#49%*Q=;9LLz N002ovPDHLkV1lNixX}Or literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/pink.css b/vendor/blobt/assets/iCheck/minimal/pink.css new file mode 100644 index 0000000..10ace21 --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/pink.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, pink +----------------------------------- */ +.icheckbox_minimal-pink, +.iradio_minimal-pink { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(pink.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-pink { + background-position: 0 0; +} + .icheckbox_minimal-pink.hover { + background-position: -20px 0; + } + .icheckbox_minimal-pink.checked { + background-position: -40px 0; + } + .icheckbox_minimal-pink.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-pink.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-pink { + background-position: -100px 0; +} + .iradio_minimal-pink.hover { + background-position: -120px 0; + } + .iradio_minimal-pink.checked { + background-position: -140px 0; + } + .iradio_minimal-pink.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-pink.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-pink, + .iradio_minimal-pink { + background-image: url(pink@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/pink.png b/vendor/blobt/assets/iCheck/minimal/pink.png new file mode 100644 index 0000000000000000000000000000000000000000..660553c07409fce4efbc979a4985aa2eb6cf9de7 GIT binary patch literal 1150 zcmV-^1cCdBP)CninA;vEhrPvJgn`_>Eei{YLg;J!Kt%9+BJ3tC$lhc%N7=(>P{x)44}O8( zLo_N3>cxLxh79DOqOhO?ix&q%`%F{3lF&6(oodqEIt35ip{pKV-tHeYkZx~%eLWmY zVO0O=dP*QZN4)OEYHGe}wHnpe>-AFcRVtPAeVWnjcBeTUg=yHU1h3&4Jb0wOR@YH>p zx~Dia;74e}zp$YM`(PI8@E=@&j-dcMUu`Aw(OdDk)W^KYM^HM3K3Msf7y0PB$>-d^ zaTtvpLO6a?yTfI;$-}j|P0${|yt)d<3z&nJM!CfYk&h5;@evO3aX!cOR$BFOKF7S4 zCLCLQJp8df=82ETgn2Gcb`AZ`@eqy^jE00Go=vz0$JCms7^V22 z0eWBHZ-V&fCorYhxx!-KeHoVF1AJ8HWnKS@yn}?MaO5#05)L!d@W`QrRhZ7ecNG?30xIf!sp$2U zpok+hh9mI3JcLC4w*SA!By2boumO`9_)f$K&K14B5)^fW*@wd%68mrnpTT7}EW7(g zzJdot$Xz(BcMd)8V4p()Kf&7!e79o+&7#&<)PQ&(BS+zohu`J8;uXv~lyLxFX5jk^ z>d;fv;ZjlSEAkHFnZl9BkVrVp+=Vl|p0Q^K1?+*daA&&@lKW~a;v zV2#$tZkxD1)>!-Ke;*cMLa_*aQ~$=Hh{J)_M(uTVd+)OR7V$dzvlLef%i%-(`O zIKRnp6*iy@Kf?hy5C6ljhS%L&AU=qEghB5M{7#znsbJ}L+!nzQALm9NYf|+Md)+;R zRK{-mxG`zJ5|V*WzmpJ*U)1)02o_)x`tSyx!=JEb+4BzA`2s&ovp(h;eT1Y#FRgsc zwe>mmZ}3IoSV~_M?&i)R(D?8DyAikh5%}MA{|Jx>;=U;K!cZ5)5hF(93y;7Qi|9&h QIRF3v07*qoM6N<$f*O)Mf&c&j literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/pink@2x.png b/vendor/blobt/assets/iCheck/minimal/pink@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7b385146c633079799de2d61c49a8562e15d61 GIT binary patch literal 1409 zcmV-{1%CR8P)l000F@Nkl-QtdKKuQMw$J|lS!1MqHW_F{re`i{u@zNF z<7RWeS%sI7LqB$7Kc@1jPkrjkz{U;@Cx@Gi$3FF`&)r6}qrw8l(T&3x#0dVjfO}Df zEY@Q))|$7_gkCsIxIXo%F9VH;yF#>~!2*V{1N$(Jo6V>hKnF^&1#hAPJ=lX+a6M$7 z`qZZjB!KewhP(v~y;iP;hf#_yRN^|e<3miqWybL-zC;UJ(SViMjIo&e)Th2Va2pX_ z9zUWI!>GbeOiUwS0y|NKVN}`~r6K#&r#@XEvro?WAMLLQ-(o3_qZ)&lsTo8yj$^5v zRTNvF`qZZjM8sViR^u!-;38&vF5)SiwX@n{>QkTk+%FK(n}_zd5%su^T8!dO%^04y zv+A)ihCcPFPZx-YyE*vC0$TB_hk!w}T0lGI#@44k^<|)mTMl7I`+EV)a1OiRYj&X? z6{tn$Z0+Og#p!&F=xKlY`RWZs#NEsG+<{5>nn~=mhOMFd)TcgOApYcxzP8Hm{gq)Y z#<35+=PNtA3J)cyuK>;H#}(6$W)y_!)BbdUh`4zgX>{Q#e9u*MS;MA;^ew^w+OP&C zW)0dffJOfMv_D-S{^d-5zIkYW)%HA$K*QPAl7PMf97OgO0aodIJ%0GtZuv5oYXclq8^Ul|#TvzkS+YL~kH^6VaQ8_9xRa36G=w=?z50%@upj zN0_m*F`j_FUmOCC`|Z>I^6vuC*F|X)X0*RQ?YRVD#?Hq11oU+}1a$iC)BbdUh`2dn z&lLzWb~b)bKwk%r-R74;9e(??KV2aHq|LPdd{Ek7pFKAq%-GpDl7PM&*o?tj1RO&R zZusrf{&azexH*IzYETT{Q;ZsGIFyjS3s{X79K}_06fJlH7yS2We}2EhlKlT#Nc$Vc zPpC#6_QL19hQkRC5D|A@|k}p&O5* zAFX&F6JVSb;8nbhLi~&xjK$oiKK1DhM8w@Fp2Qv$;vJksJ&GLyicpUeco&7(gLN2< zy-$7W%RnRI?*C}SH)zLF?8OH-h#xSB5&UHV_n{0~tjDt`v4GQPLQf2R>QkTV1(HK_ zqdxUTt_RCeizckW7IQn(kKOnhQ?c}^Pknj=5%FURou&-WU>z#(Am&@ZWt_(;^x->< zQi4jm&>IzA|ev+e`zZsBDz3CL`3rsArl=T)dQYv P00000NkvXXu0mjf#dyTk literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/purple.css b/vendor/blobt/assets/iCheck/minimal/purple.css new file mode 100644 index 0000000..1c5dcbc --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/purple.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, purple +----------------------------------- */ +.icheckbox_minimal-purple, +.iradio_minimal-purple { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(purple.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-purple { + background-position: 0 0; +} + .icheckbox_minimal-purple.hover { + background-position: -20px 0; + } + .icheckbox_minimal-purple.checked { + background-position: -40px 0; + } + .icheckbox_minimal-purple.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-purple.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-purple { + background-position: -100px 0; +} + .iradio_minimal-purple.hover { + background-position: -120px 0; + } + .iradio_minimal-purple.checked { + background-position: -140px 0; + } + .iradio_minimal-purple.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-purple.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-purple, + .iradio_minimal-purple { + background-image: url(purple@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/purple.png b/vendor/blobt/assets/iCheck/minimal/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..48dec794dd5be9f8209e4392edacd345a1a42c24 GIT binary patch literal 1132 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 literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/red@2x.png b/vendor/blobt/assets/iCheck/minimal/red@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2eb55a65c7ea2f94073905c81396627b4967352f GIT binary patch literal 1410 zcmV-|1%3L7P)l000F^Nkl@_yje*q+)6GBc$Pi>Zuyoqo7;oQ$>!6d7H}Aaf``z=q;KOqy_m^vqn+F~= zb?)4`Tv1$;TC`|U(V1r#6xl@AxAdEA(fRY|Jsn6X8w4l-ghH(_f(Tf56Z2|Y7 z0vW8sCaf`Uq5;R?FyZ>tr@k~aBJN7ijI9=s#cmwL@B{&arU&~_ip_WfmFUENyo`~M zed<%6E|37mUft*|V8**0T6h@cXvZpyU>82XC|qV3pWq8Lq6u5E0-G=tbD#RuHw|th zqRZn)tU?ym*n`nL0!Fb1)yQI%olzdLPkrjs1v2&IjQ`R8X5w2c#%a``7n3!;sKIG0 zwzFo&)~7!8=>idP*NoM;fc3b7$(}2C0vGJ8=9v1_r#|-!MD*sN{cS)!Mo@=A+^HGD za~QERH^k7VKK1DW5pg#SA6h^Ye)SO0izW+b!SvYr)Th2QG;zxz>}Y?_V+k%|FMQ2j z)T0u0Xq&2ie7%^@*NC3>r=PFhKt$ZVWY66ggRdFG9&6Yhx=(%T(*@#B&gg5a!ros6 z)?gS1;d{Qcv#YTnL4C#8fo@zk-PnQRFn!veE)WqnPa=hO+<@=7fp%-yn2^4C=s`28 zP-?2sj2_JM->3cQ0`V_r3iHiF`>V0%aReI9ww46+72^mpm}oL+$6bE=v_D-SB5s!1 z^AtkOZ}wc8fWB?W;Q!`fYz@0V?Jo_#qpyKdd44UFg1^!J?ziVfgqjQXoS%TcEe-)& z(BiL8`_mhUh@08=yoNAiXQMO$eJdRTR`~7H{vvt<(VK|gJhVT_%NRV4_NO-x5jWTE zIR|0J&c<*8`hIZ;IPJGj`zyQ)L|+%BOqkLB{@i1tQ|+ zj6Ihl%-GrZJpq0DaOyU{4BF?nPy5pa;!n!t{pW+y{<`eB9%07L#)$;<-NGjHVxl>P zTHNy6r~T;y5pmOj9BMHOzGoI{t)U|!eV4HsjW~%L<|G>NC@%Z&)BgN^g(ZdmwUG9g z#ZRcg794=jc>%MnA)BDSQ8b%K`m{e?AR_KQLJeNS=N>;Foq^Y_p>-Ptg2iR^0v`qZa45D`Dd(Pk>}6xN~=4`7Z3T*D>wp$p$( zpiukNr@k~&h<4Pcz5+9VkIj_sQ=j@$xm>PDBO)U4{+G5QBBBdKL_{?I0;Cuo&3X(# Q1ONa407*qoM6N<$f|jt+4*&oF literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/yellow.css b/vendor/blobt/assets/iCheck/minimal/yellow.css new file mode 100644 index 0000000..2c38423 --- /dev/null +++ b/vendor/blobt/assets/iCheck/minimal/yellow.css @@ -0,0 +1,62 @@ +/* iCheck plugin Minimal skin, yellow +----------------------------------- */ +.icheckbox_minimal-yellow, +.iradio_minimal-yellow { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 18px; + height: 18px; + background: url(yellow.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_minimal-yellow { + background-position: 0 0; +} + .icheckbox_minimal-yellow.hover { + background-position: -20px 0; + } + .icheckbox_minimal-yellow.checked { + background-position: -40px 0; + } + .icheckbox_minimal-yellow.disabled { + background-position: -60px 0; + cursor: default; + } + .icheckbox_minimal-yellow.checked.disabled { + background-position: -80px 0; + } + +.iradio_minimal-yellow { + background-position: -100px 0; +} + .iradio_minimal-yellow.hover { + background-position: -120px 0; + } + .iradio_minimal-yellow.checked { + background-position: -140px 0; + } + .iradio_minimal-yellow.disabled { + background-position: -160px 0; + cursor: default; + } + .iradio_minimal-yellow.checked.disabled { + background-position: -180px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 1.5), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_minimal-yellow, + .iradio_minimal-yellow { + background-image: url(yellow@2x.png); + -webkit-background-size: 200px 20px; + background-size: 200px 20px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/minimal/yellow.png b/vendor/blobt/assets/iCheck/minimal/yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..0999b7ecdcea2d0ef81d0810037cebbc6d143217 GIT binary patch literal 1135 zcmV-#1d#iQP)83a%uQiDc#BG4mfZU$!a@=u_h>{!P;qy&;2%WTn{3vj>_HP@Bn;#rD(Dx8 zMukDW2z^dSAO~GsScn7SMPaCYW-O{m)7{lYHR-*@t&F9^} z5vaxhLO6a_yTd#zu>*D^g0&vZTTtP612fQ0Q10+S*ZhMqKEk1WoX>E*omYLF&oHl@ z5RM%_c8ORY^R$oi8Rq%=Qu{Xydvk{uKKK3&T0p9B7$#vqG{JS;S8FHz ze3h@P0g)czC~{}8UpLG`OW$+2(S;VwMt$J!3#9g0>kCBFQs=eEE|Tce_XrNK zCbN&;*WfN}!zXoKv-Gc&JBV}+NAV#s;jl9S&pb+4fr$cqx8W)rgt|JvRo42-eh(t8 z;RvKCJ|yOEhwnW`Vaua{Ef_7pcP>WoOL^-n|2>E-HXQblIEBOT)$_~In!m5|?UkGK z!3&4`&JpD!jCmAr1pX<&_aH{lDr#Ka_zXuVPa1vC3 zp9x6WcalL4i7V=<*HiF_kjz2a>og3P;jvn?7NgWYn1f_rD2BoK0=ec>U+)@dA8XfQ z`lNk?WDXL2y=$O-to86&`d5~F5cRu|SQ@Yw2O(*zCuW!73g=54S6~Zja1^HCSNIIa zEswjmLHpplFBHkXK(6Omp9)sej@u>}+Q+%o$C_MyX^*>0$Yt!dj~6EIM?wnqMRyW{ zaZGLhC*dlL!Z-K;ui-kZX6*SoWb*}5=2;(eQ+#G8p_iF_%+2ca>R;~{g+n?0qHq^? z4g-z<(SJAM_j&~K2kxHv6f5Z$g+j`t231s4<9|-I70su7lD+@{002ovPDHLkV1ns# BDx&}Z literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/minimal/yellow@2x.png b/vendor/blobt/assets/iCheck/minimal/yellow@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c16f2b7dc5e975766863f9d98034c34f9eb24fe7 GIT binary patch literal 1406 zcmV-^1%djBP)l000F=Nkluv)V~jfx;g z+F8z!nH@A61Fae6pKWer2(lembF(=aPv3*({SG+c$Ua-01rl`yD$^IW}Mo7GnYC zSilYZfeUEIarDD!`2F%=&LmOx{pa6DlzsN^BicUu`)7@j_Ss~i5t*EssKYi?BbgxJ zL9-mMB1H%G;V{PYsZV|C%fiME4JX9}T|aq&8W11VI0FrbfF)ATfqG&M-FST z5v$ERXut_LOt?PvsV@tSh`VAmVT%RyVK)w8c!Gcd(~12k!6v+oO0?ksUdL$2KJ}?j z7f1jVLyvh2=qc^i!ow&-E2=PxUHAxNaG7CzhOe*#jo5-^*oeWH`_!kt8E_jBT^>K7 z3Vo=?9*j*QU<`XujXqS_8D$~+)TcgOAk$B3{EzlG3*TW8&Y=cfn5yYQ4bEYaoi!`A zKJ}?j7l??vCagp+*5MkadamJF^x9cXG4-iWeeM^C=*>g>TaS8-q7DPNTQi84FluM6 zkD*U}>eB@x;%){$wtzLH*DjTX?1nX&b$PkmWv;+7)pXn!wbF)m{-e9d0eqY`y! znXY|&y*Qb#5k2iszhAw9h`4*rp1W}yzUDUeSi`o^ed<%6E)aiGqpz*FsR6HQo!60-_T z=)`>gecGQc5dTt>pKl)8UyVIaBG7QQwG=>K5so5U3_`i7)Tf**7`^&=b=xd;4l3xoY@Hg7uL-xFkP}6JA1qINz*&$#vn*H@@ ze|iHEaWluBLkKf=HcAShZ@ELjGQWM=Uqo*pdK1x`hxR9vavL5;`_mhUh?^VsEJc{H zvoTx%eZM#aob%hK{pH^UqOXe*6K1r(Kkc~?VaCqJl>+E%aR_Mf+o%2M0uga@-kwVl zX6$VIUI2ajarO?s4BGFvPy5pa;!k2G{pW+y{@U%i4q?X5#;F46yM>MD!bEcxwYcTC zPy5paBI4#aQq*ELe9vsuTEp=I>AQ-R*n!g+F{kZkPvNTnKJCx%S6Gt&Ukhn}efSwQ z*o=elIj>-jHS`rw-x!)qBz@YSE)WrSpP&YB;!BU8kKTi~tYP1D?&~S-*8U>z(`US4 zB}QLc<=_4e<02MfCw$FLEVQ!^hwf9K`gDPaxEn`<1?)o3LqHC@EMPmvL-(mqeY!xx zOH6*fd1!wp@CEL}5tQL>O&N~ZS)ZdVratwlPZx-YyKU&iqxb>yFx4{;C+v()G=%O` zpZemzK=dXe@$c^@Uc@Clfm6s~swRhaEX5@|>t?Kd>Qi49nki&olgRWnh-YvNE6{;P ze1I`9&Wi8`-bFFapcaEM_o+{PdIJ%0H-M*c0L6F@7f_Gc4gs@JkMnpR#W;X97>K=3 zed^0XBjWBKY{j=|#v&ZVhd7EK(S?5eWdRSM967AT3n;OGOK3n_41MZTpX&vZBDztZ z`XbkcC8$FKR$-I5lj*=de1q{=`qZaBy@81MF^(2fj_0ukm3SDX7BGY>xQKRqkN$k^ zQ=j^>ND%F)Pkni&AD^0O-KReFC25*wG$JAr?|*44A|kp#L_|dMFA?1xzbBdu1ONa4 M07*qoM6N<$g4YDGqyPW_ literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/polaris/polaris.css b/vendor/blobt/assets/iCheck/polaris/polaris.css new file mode 100644 index 0000000..1cb4bcc --- /dev/null +++ b/vendor/blobt/assets/iCheck/polaris/polaris.css @@ -0,0 +1,62 @@ +/* iCheck plugin Polaris skin +----------------------------------- */ +.icheckbox_polaris, +.iradio_polaris { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 29px; + height: 29px; + background: url(polaris.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_polaris { + background-position: 0 0; +} + .icheckbox_polaris.hover { + background-position: -31px 0; + } + .icheckbox_polaris.checked { + background-position: -62px 0; + } + .icheckbox_polaris.disabled { + background-position: -93px 0; + cursor: default; + } + .icheckbox_polaris.checked.disabled { + background-position: -124px 0; + } + +.iradio_polaris { + background-position: -155px 0; +} + .iradio_polaris.hover { + background-position: -186px 0; + } + .iradio_polaris.checked { + background-position: -217px 0; + } + .iradio_polaris.disabled { + background-position: -248px 0; + cursor: default; + } + .iradio_polaris.checked.disabled { + background-position: -279px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_polaris, + .iradio_polaris { + background-image: url(polaris@2x.png); + -webkit-background-size: 310px 31px; + background-size: 310px 31px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/polaris/polaris.png b/vendor/blobt/assets/iCheck/polaris/polaris.png new file mode 100644 index 0000000000000000000000000000000000000000..60c14e6a88f4cc5626d63052f95f5ed87eae5ff1 GIT binary patch literal 6401 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%0AGo%L^) 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 t@UE11bp6rDR_i~f>+6;|n>1RGj~WeP1d&iB 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 Yu37qTXT(DE;jD$j4(?=C4f9F*54WWf`2YX_ literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/grey.css b/vendor/blobt/assets/iCheck/square/grey.css new file mode 100644 index 0000000..ecc57ff --- /dev/null +++ b/vendor/blobt/assets/iCheck/square/grey.css @@ -0,0 +1,62 @@ +/* iCheck plugin Square skin, grey +----------------------------------- */ +.icheckbox_square-grey, +.iradio_square-grey { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 22px; + height: 22px; + background: url(grey.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_square-grey { + background-position: 0 0; +} + .icheckbox_square-grey.hover { + background-position: -24px 0; + } + .icheckbox_square-grey.checked { + background-position: -48px 0; + } + .icheckbox_square-grey.disabled { + background-position: -72px 0; + cursor: default; + } + .icheckbox_square-grey.checked.disabled { + background-position: -96px 0; + } + +.iradio_square-grey { + background-position: -120px 0; +} + .iradio_square-grey.hover { + background-position: -144px 0; + } + .iradio_square-grey.checked { + background-position: -168px 0; + } + .iradio_square-grey.disabled { + background-position: -192px 0; + cursor: default; + } + .iradio_square-grey.checked.disabled { + background-position: -216px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_square-grey, + .iradio_square-grey { + background-image: url(grey@2x.png); + -webkit-background-size: 240px 24px; + background-size: 240px 24px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/square/grey.png b/vendor/blobt/assets/iCheck/square/grey.png new file mode 100644 index 0000000000000000000000000000000000000000..f69375854d3c5a283121d10352be8a1729a16cc4 GIT binary patch literal 2186 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 G$^QeNB@0pj literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/orange.css b/vendor/blobt/assets/iCheck/square/orange.css new file mode 100644 index 0000000..d0c7a2c --- /dev/null +++ b/vendor/blobt/assets/iCheck/square/orange.css @@ -0,0 +1,62 @@ +/* iCheck plugin Square skin, orange +----------------------------------- */ +.icheckbox_square-orange, +.iradio_square-orange { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 22px; + height: 22px; + background: url(orange.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_square-orange { + background-position: 0 0; +} + .icheckbox_square-orange.hover { + background-position: -24px 0; + } + .icheckbox_square-orange.checked { + background-position: -48px 0; + } + .icheckbox_square-orange.disabled { + background-position: -72px 0; + cursor: default; + } + .icheckbox_square-orange.checked.disabled { + background-position: -96px 0; + } + +.iradio_square-orange { + background-position: -120px 0; +} + .iradio_square-orange.hover { + background-position: -144px 0; + } + .iradio_square-orange.checked { + background-position: -168px 0; + } + .iradio_square-orange.disabled { + background-position: -192px 0; + cursor: default; + } + .iradio_square-orange.checked.disabled { + background-position: -216px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_square-orange, + .iradio_square-orange { + background-image: url(orange@2x.png); + -webkit-background-size: 240px 24px; + background-size: 240px 24px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/square/orange.png b/vendor/blobt/assets/iCheck/square/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..84608500a670b9460092d68cbf7b4dae77c7d303 GIT binary patch literal 2181 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 literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/pink.css b/vendor/blobt/assets/iCheck/square/pink.css new file mode 100644 index 0000000..6b706f6 --- /dev/null +++ b/vendor/blobt/assets/iCheck/square/pink.css @@ -0,0 +1,62 @@ +/* iCheck plugin Square skin, pink +----------------------------------- */ +.icheckbox_square-pink, +.iradio_square-pink { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 22px; + height: 22px; + background: url(pink.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_square-pink { + background-position: 0 0; +} + .icheckbox_square-pink.hover { + background-position: -24px 0; + } + .icheckbox_square-pink.checked { + background-position: -48px 0; + } + .icheckbox_square-pink.disabled { + background-position: -72px 0; + cursor: default; + } + .icheckbox_square-pink.checked.disabled { + background-position: -96px 0; + } + +.iradio_square-pink { + background-position: -120px 0; +} + .iradio_square-pink.hover { + background-position: -144px 0; + } + .iradio_square-pink.checked { + background-position: -168px 0; + } + .iradio_square-pink.disabled { + background-position: -192px 0; + cursor: default; + } + .iradio_square-pink.checked.disabled { + background-position: -216px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_square-pink, + .iradio_square-pink { + background-image: url(pink@2x.png); + -webkit-background-size: 240px 24px; + background-size: 240px 24px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/square/pink.png b/vendor/blobt/assets/iCheck/square/pink.png new file mode 100644 index 0000000000000000000000000000000000000000..9c8b4e2b6ce76e1638ab81688b3e7f2cafd901c7 GIT binary patch literal 2189 zcmV;82y*v{P)% z4$aSQxCP;q-_*KOa0+=0nYo!?Gwk_ECR>+{LjA0PPf2pcZe4R@{-xkN%#9n( zkHGWbAowFV39f=UzzfP*7(VbK_#FsIY!U6xlc=EoUh);N2Zb2%qmV)|7H(Yrc*f7% zWTIIEYC#8R2YwI)vp^0gVBtND*SDf=L$1dqwutt-B`WAIB+J2iD?en;N1|U6>bGO! zD|#9h?_xAZ!P{K5dKJMHNuJ@i8b9YJ56#y>57-9+iZ2ZM$%mkY#rR$HJ%}P3v>FfncgOK%xE`!9 z^Jhq^M7nsr{J^~ic7fg)jv)HLGwjm>;4lrtU%~dvU<(WQ5*P!+;0!p#=Qc<8L4lh3 z`5gUmM}^h+F+VwIc7PM$7zo5LKSSUc`|O~@Ea+$P#s&J&pDy4Ogon*XxT^d*f&C2h zk$rT`1!@?6FF4A=Y>MFstC_Do%DzWXsPwCc&GaW8UbFG@u=z>wKhT=M{Is&~lW@&e z{lM_&NaB%W_|pZPdh7(p!Co7C9ecTo?KJVP2JK)w2*$Bl7-XMzI?Vlc!`xrPql6Y4 z^V32{jfuZRYz7@Qsa3$~)wcl6kHJfJU39zv3V;y$Z*BGsCa~9mKJs%qUcicb%g@L3 zYk=cdcAM9MHoIavYUvb0zowu+ z0Dl6PH2gHxOIL&9&jo)6|FrS5T@xL-CVpM{RsAct3m?!hKLNT{D1Nub{JQB(-2%R+ zwn{2D)`z{P^b6>9I|buL-lLU zuj*e4dPHAzgL1{MJHO>gUBDT$X34z|RZC7$zNoS6!3wEEc7m3onKJ2Q4pcf$mza|-S1lHs=x=LFHV4!ieJEcw#{^?e$Dw+{R_ZV z(HDN;QT)2|>q+VYzVG2`sj6Em>%X^E3QF!4Bg$6YC#&io5pjw1o%YGU-*{W5Ca0$1 z3cI8hN!(DnWcjyq^X4xU#)6X4>ViVgWeb>_$v!b0Z(eg{9G#$&%Gx2S&2 z`Bk0SASjxGu587xJHOdUUBG>vJ{cXpAzAa>^5}OSm!icBWl`laS^dPLk>q}K?xMWc z_?AqD!!jLXaG?Lpkc**e4;KvtzA07yYCju^4M%F^_lBbG1C0ikIA-O$0U7d$xNiMkpibY?jEBY0- z#hTor`nBhmes#svgu0>!9msDm={K>4KN*Z9dANU2X3frwB-h{5E5~0)awozv-D4y; zG;pEk?171i@lRYXS7s!+W1~J__vypPZ9H$_9JojH#Y%8O@e8Qd;9d(v^=rhA}I z4t~M)JCI+0O6)@4zzY1%D@SDD^2c(ut5@EAtx3Y;6EagGbYmoNzWdC9@$s8iK3#cz zU7d|#WIRsIF|bMWMICrk@e63MZKgx@YtFCg?*U6iUzCGx#jiEL(f&+H@)#Wn$y#^}c?y&%{ykCWHa8`BdEjO`hUirNxtj7DQ2ZU> zY0wG+Hs>do7m2*A_`d|)n({kJXR@!rX?SwM0E>602Hj4&27nOyBk>d9PM~<*QDr>up;>ja@Mvt#k^ZUsKSZF5uMSC9nbPva!0LuWS^!O#B^S9cTpe z;wWCcRt|%Qz$pvAy)gH;fikeh#{8_|p?I5#-!Jy#n&D3ua0y}%hW{h*xN){t48>c=*KPrq1^&;vu%CaUKjFA+Hhx|#f0&zSwF%5mEsMXAE;S7Q zup}NshCek6I97D)p!-GP*=<_Lmfh-N`aHJe=N(vF+pSUA_-0S-8SNKFPu^1J@A@8f22}j3UW8J}8wfjD30AvM)1jzV?K)nXx2fG9ejT zV=05wF!m;88^)OBH+?_9bH4xF^E&sO*Ll6}>v`{eJ?_oE46_nBBzx$zQR*OUnK-QUrn&u|!g<6K)d6&+ghDje6$*hW4XROYM#bWJ{g2`VUVn68S@T6QVkj%UY^Qdu~YnrAMddamD|KU`l=VAT?)2v__% z`m1oRTGpY>&{Je`e(cg13D_TtcQSZ*D{k$%&G!b0*h9r9b9Nyva*H*QDbBffW$|Qx zuy}FLQW$h=u_e+%e-&&6kI@ncDn zTF+Z|X;;BlRY!9Hll(ba&>1gg}3|`bit1aqglD5>F|gVcohxq zudYs;x2`AgR`v(RU}nJUui6H4NXERXl&*}h{KD;pvtUdxUee!BMuCf=4~+m3HcpnT zk7rqRr)`QYK>SUe(isx5X%FJgk9B?7BK(+TKg$A^Asd;jTfUCQO{{`yhPb1QEJmRH z2={JdtlW|$4w^?K)G>y7td$9o>g0ptbS_eeVX5sURuSs$g2)H_(N$NFB(IK{^t{Qy>}Xm}0O%+bGX1n{&A z6x*e=qSmZid5DgNP36mnD^OPGMwqRElLKiq1x@-9bNqQdUAkncurvbU?b;ETssUCf=4Ly6O4eT3qheUI!mj z0M5hNAFq(=nmPiSxwGhPz2AC#o2t)}6(%=budYWJLK+JF^vlCUF9Pxot+zGpt5mMw$zties75qUuGMlL7#Am&U+F04QgaCTHyu&%* z0xL%aZ;tmCFm(RCcvG`1cSONqC<7-nxxO5-Tx;4|9_ZPYbf-;47B9gIV`i|X8`1-f z1Z5k#d?ufQJzv}&y>|k8EYlTfU_>n%-rmK@C1`Mm8XRA2m%LjA+@fHFsxWNdN)cB9 zFKp7lD$=@cgb|s-Y9u9#@b}nu7C7Bww6qbb5pKzvJ~yCD=|f5&q@yy;eNNq^j+^x# zW!H=bR*4xvS#3ogNl3xk!80og3B=~OD0l%P@GcWE&WBIP^%~tKKHmFD7kI`6 zG6|Cp6H61Yrd`jnw=lH;-`VaF2SK`EW>RkZS~J*tze%*!o2!^$raJ~O)sxucpTdk% zn=1)b%`3O&IMXMA@nn&E5o~+b(*@mjzcoD@>rGpK-5F#NG_d>OD)fv-8QuC~s^OJi z%^7{smkb|{-?0OFBdptVaWog0fbSY6lIgzhIN#{BU2O|-rv-Z85C$TXcej4s){7hs zmM~O>HEl-R_#sy0BU|w0h7Z0U6!EQLTRi%o0|j>W_OcPqUFn$(tf-$lN8Mm4(iTu} zau_6}r`DbJ>e-rUsF2cN7>L*nZ>6{F^hJ}8CY<6E&5jy5Sb(5rvPy_&m;zxuV9BAf zQ{%rY)H?HI&f8|(sLkDyX$oz-{fWAIOsH1?W2kF*dd;{P%zIPC2EUJY69I6vQ{V5e z$PQKF1Mu=9NxSdzv_E#kiJTY&b292qjZF`wE<0ocAwtH)GRFWU*r(?|9zu%~Y7snd z^}Z0xiUwQq$)_?gP#TeHVDZrFHkmoKz((9p%)=U1!8EWAg(jHLnpxp6|n5=$TzS z_wV1&v=#KvA1F6b_WRzPv~Yd+t>y_Ur$;s}_a3g38n{-{ zKhHN>Bs6e#1e){HP(KIMpros2BPB^v*Q)ST(ZBX%3KIZrKeBaWDKVPwR|z%-?Y)Dg zJwrqzY}h(6M;dwt)PnbsZFwoZVIpGOW=m zr4w{3D_l$PC+3{e|JFEX0?z3)I7z&~)_6&pyE2_DqH(PlceA*Lgw({UsWmHLJ;>xt zYn`UP!pGm_uOGgQEz&mFJ{sy8pScZcW`!B%pH4W}MH!YtmXt)F@_zaDh?m9ON44|1}2E**SXTZ%=Wz_bJ&Dy)BcrvCqn zpk~V{!lLnu@I){rb3yV)x)(B6?MJC1%O|sDC~jRody69G(2~D78X9FA5U4>cP=Y`f zjj-W5wh7j@uw#|bkg>Flje}h93-qklx^0n>(BCmtAC8_s|2?wq#w532ouE%VVoQ{c7db>W2$V;a?9^mcMMf<{kc@#Gt|#PtUyg zSK`*w)1Zbb*M+UtoqpGj!QRR@b3NRwaYS%Y$$n1jT6i1(8J?Vt@6YV=Z;<^@5U=)SU%&7B61-BO&ciR}Yl#)m?1nvPz18?nb?9dB%MJ}x*X4MYBixI&Q%ah{ zSre0jdp;S~y|Qf_t@c(n*J^rj@|6XrrVTvJZf!L&adkH?RmqTxd;5@(`GJ^c!E3$ zS>7|Rj-O^6byUQtENVO8ED(xHG|F|{1S=D1Q)aMx=UvJl|lt~jYUoe z9fN{F9IRNeV12HORSg_Tc(B5~@F#4)o;U_wpP(8^KZBP!PY8t71@(&wUXkQpOoJ-Bbbv_Ks_j~h~#MbZv*nC=Q8v$6~nNt`^fQxmJiiYv81;He@ zzie^Ko3oCL7HH`@u}pOwRZBJ{`*F6VzD-zbpHtFf51Q^K~p-7p(Fd_rcoxi@%E#+%JU{F)q z2As^nqg65wTwJnPy%+KR3(B7m`P4rLxfKd zLFOpdyQPt(&3Q#R&@@E%H5#PabyJ6TElmMwqvNQNDjelkkNX&)bC$zT>&~#M?xiMe z?%`eC3N6vt3ehM=tDutn0tr=bjhd_z9FEq4j;o|&5A(Af$Wl8*w)w&n!p*i-@mrl1 zCPe~!d7?WEFY`UI&cBEmhw4KGB!Knbr>a64za5LcC*mCQIdX=2yAR-DGTqW1st`o) zzN^e+s5pHlIBBr^+5#t8bSqgjP7X+l{zJna!OFO0e>CR!a`0S&%VgOjYnWOG)Kmcg zh8>gbBFsOY4isE%fS9Ha`RKEXbUK$iDmuzbk{tMFYF0i{wRE$9?^5ZnG%`;V+DP*8qpv$W#^myUfS9`xsc2Ciw-jnF*}6x zJXCfSgzo+#-&}s^OL@6(2lku|wrSAJ1Y#WMkJ5S3cy{gm({0>oF}7hKZifEY9+*>9FYIwI#*SPw;Uf vQkXxj%SR`MCS?C#L&i7$@0*%quLG|lDG%5&(;l3Ul>;^wuuJHRKB@l)o@W}& literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/purple.css b/vendor/blobt/assets/iCheck/square/purple.css new file mode 100644 index 0000000..43051d3 --- /dev/null +++ b/vendor/blobt/assets/iCheck/square/purple.css @@ -0,0 +1,62 @@ +/* iCheck plugin Square skin, purple +----------------------------------- */ +.icheckbox_square-purple, +.iradio_square-purple { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 22px; + height: 22px; + background: url(purple.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_square-purple { + background-position: 0 0; +} + .icheckbox_square-purple.hover { + background-position: -24px 0; + } + .icheckbox_square-purple.checked { + background-position: -48px 0; + } + .icheckbox_square-purple.disabled { + background-position: -72px 0; + cursor: default; + } + .icheckbox_square-purple.checked.disabled { + background-position: -96px 0; + } + +.iradio_square-purple { + background-position: -120px 0; +} + .iradio_square-purple.hover { + background-position: -144px 0; + } + .iradio_square-purple.checked { + background-position: -168px 0; + } + .iradio_square-purple.disabled { + background-position: -192px 0; + cursor: default; + } + .iradio_square-purple.checked.disabled { + background-position: -216px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_square-purple, + .iradio_square-purple { + background-image: url(purple@2x.png); + -webkit-background-size: 240px 24px; + background-size: 240px 24px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/square/purple.png b/vendor/blobt/assets/iCheck/square/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..6bfc16a38ce8d5b2246f25758f2fba8134f6243f GIT binary patch literal 2188 zcmV;72y^#|P)f6B?xpp#8TrQ`SZTl0YbNE?l}`7LwR;Fu9oQsr4LWed6TUKIe$U z_9OjtEPT#SAK&ZO-?5!@9L*OR#>9pct$4;E$j@FnNWbMcxV6Rq&Ih|f{+5gXsj_K) zs^AvHF2Amq|F3LpD#3TaGB6hmgImB2&Vm!559p@)z{jGKi2Rsm`Xh(0E7Rj=o%QBt z1~x_DtH24;K@j*rFK7cTsAFK9IhJu^&QDUgb(m<>M-6;T;wx2F&5iz>g8i^IY1sS% zybg|ocR>@l4Wm06A>D?byE_+XmEnL?TPLKTX0ye=d0flo|OUvp=!ENvQ9Rv9IV! z*t`p|IRpO5RqLiA7zS6#N8k@^mQTP&&?VzX^A`c(;}f7Bc*5QwR)9)6_kl{(btCHC zWzf8e-;gZLZ!~_+5B8U>pdC~Lui^`W9&!!Tu^E4iV~?ZB`i;gz|Cgh9Gb{s3_53N4 zC`mT2i!Zppf}Lz$qcezGU>A?6190d@^A~aZJg8s;-vC2k0JMS=e6BqF7&NG^pU=@B zb&8C}kNL^K=2dVBoCn?r=En!l^O#rZ&50@!#c}-&+yn&XjJ;u(`Nc(k4ta-JZ;_#J_YqL%uhX!-3-@MK@>E9 zhQyu>&7W-G#A65e80Z|&ff+pa#V1B%GEmiz!7S=b7&ctotvhuG> z#pY6(l`&JET)s#qTju8%6lZ1UmZhYmd?_O{r_kuN49<&nIR`cjVh|2Cv+@?*5m7ZUwj~*5wjduJ{G~+q9Vu)o*cqRsURY zTda!*I2FIu^>xN|1Fzk<3PpTQcK&9I^5QFH;&6yuYIMtA-l>%b55^|o z3cIKTMO>S|=!qX@X3d@_%-s3;Pvzt~%LTa~xOcU)t@YFxVxV&ZkBu)-?Xkxqx2S%L z>#I7`fnO{NUFnM7>iVX~bpv1gv`u{dgOWaLhHU@Ui&D76B`en~k*z;k7b@=Mi=A@x z&mYO?Xiz3%`g?m?A3O;9aSAolwV+^I_Ut(eoO!OI+&Ot01sS>@XzOUZ@;B@g6ypqm z>0)1oxSej7-{$&`+WZGiqjuCct{b@f)?GRD`x@!(@k!c@Y4Y>E-> zySdG?$StbhhWdJRS4{J$E4tr?`ugLyfytfQeRAk`HR9>+m8sKGL&d$?a$Sxb`cOtk zf-=!F==b$@wO>6pIy!RK;c%peiaT__qr-ir2DJ@Fq52GbO{~jua7pnCcuLG?4G`6D zaeY;P56HFg4X($A`g-EKfl2ROU#Q48Iz7_b+$HZGJT1e+BQjYMxHstSbhjQG85!>W zV&&~W;ibttA57vuy*#OQdegT!H&2*@Ki|ecU+reV7E``9Y_${q(xIb0mJOjRa z^4724m&qCwcJQ;y7mk?xX{H0b1#X(W7~(6~ybKBy|Gu!lZLW>+^1yOBd~~Y*OpEI4 zRs79hJE#XkcVm>?Qg7abM59OEY3pI*M z1mB?JOre-d&GS1X#QjaClFi_UI4qmo*0_< zbvFMdoeSeN|9`>vw7=Ghpm{fN-wNGfh&@0hynJMAMjW>bmP`mQEtzI(_jn82h+e*KHkFT z&W0WHEE-kU&*w_%k2WnvqhL8$4>BT{pA4{`#~h_YFPi^OOe-(_kMoWkV=;U- z5=)b8;!ZT=)4a<@Gx&fjV3YED?lP{RFM$K#X%GT{fGin5{gK{Mhx5~i`FW3@Wq-?t;>POsk&Ov`OsO3%V zdZUrE(f6Z~wefElXZ**b9X}hT4z+9KRX;1)u;~=|frpL#Hs>>%g#1AB7mnj^Hu8UQ zS4y)l2t_%0R$0Cv9_O{XHqO2MW8hsWAM5<1k- literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/purple@2x.png b/vendor/blobt/assets/iCheck/square/purple@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3c8b1af31a6ec5303ac592f5dcdddb5e2034d1 GIT binary patch literal 4501 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 QnE(I)07*qoM6N<$g2I7inE(I) literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/red@2x.png b/vendor/blobt/assets/iCheck/square/red@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c05700a574071f9ccf8a6110d907440c9dc5d8d2 GIT binary patch literal 4490 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 literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/square.css b/vendor/blobt/assets/iCheck/square/square.css new file mode 100644 index 0000000..b604fa8 --- /dev/null +++ b/vendor/blobt/assets/iCheck/square/square.css @@ -0,0 +1,62 @@ +/* iCheck plugin Square skin, black +----------------------------------- */ +.icheckbox_square, +.iradio_square { + display: inline-block; + *display: inline; + vertical-align: middle; + margin: 0; + padding: 0; + width: 22px; + height: 22px; + background: url(square.png) no-repeat; + border: none; + cursor: pointer; +} + +.icheckbox_square { + background-position: 0 0; +} + .icheckbox_square.hover { + background-position: -24px 0; + } + .icheckbox_square.checked { + background-position: -48px 0; + } + .icheckbox_square.disabled { + background-position: -72px 0; + cursor: default; + } + .icheckbox_square.checked.disabled { + background-position: -96px 0; + } + +.iradio_square { + background-position: -120px 0; +} + .iradio_square.hover { + background-position: -144px 0; + } + .iradio_square.checked { + background-position: -168px 0; + } + .iradio_square.disabled { + background-position: -192px 0; + cursor: default; + } + .iradio_square.checked.disabled { + background-position: -216px 0; + } + +/* Retina support */ +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), + only screen and (-moz-min-device-pixel-ratio: 1.5), + only screen and (-o-min-device-pixel-ratio: 3/2), + only screen and (min-device-pixel-ratio: 1.5) { + .icheckbox_square, + .iradio_square { + background-image: url(square@2x.png); + -webkit-background-size: 240px 24px; + background-size: 240px 24px; + } +} \ No newline at end of file diff --git a/vendor/blobt/assets/iCheck/square/square.png b/vendor/blobt/assets/iCheck/square/square.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3c88116c4d39ea9b131b07201a3ca724d097e9 GIT binary patch literal 2175 zcmV-_2!QvAP)9mf9yin67{#SuiOx+>k8M!Y0Saj|}=+4a(@DPP#BTa%JBP5iQ!Wta6+`JnWI zZFdtBQ#V;Z*m_9}v9(38`lXbHwwhfR@v<}Ef^KD~MFvL@WTelTJcp1sd**h|i7+!y z^2;GI=jWUEKmU2pIm0=Q&W}4L#fGe2_brDY4u^w&%W-gPi+^%*GVH(c$v^9DnxA^O z1+mK?(To2(9~%$Y0oH&;U>w{BK5!A729F|nO4pZ*L1OY_p6QPrzOPJ=pLI5xpKPs6 z;On3W)WyIK&_uiY?<20v%B{0r;?pG)NE{?+td;40V-{L?-l)&UQlhk*xm-GzD^ z`dNF$AC)}aA8q`cAMN!&0Nvmi2q?Y~ct}12ZEVILW8YI~vLT5a-Cr2Thv8OGYUIz5 zR7tvd-F(BH1U2AZ3`Y?6!Q0%Y4ZvX--M^aK?}FWI;65-09)nxpG=H~q`aWn-LqC5< zf1IHoxFgJu6Ps#q9khZ#4D&M#TDea(9Y&#_%^M$uxXjJ;u!)E#ukK1VcJZ!E4{|4;|%uhS_t%7T=APTzQ zDT&9a`_m1adK>_M2Ms2!bu@4lJ7D17$n(X0AQ;DKQjq&xrNh{7Hpc#P&>x`}~ZKI;^-;e*R3qdDQXq zYV&5$VOC5>1)X~6wBu$kTUB4xU&^cS0So3QKv${apKn!t=_*a>2Ck{8k%oo_ zDJ(3M9Xoc&Y|E0RD>mijyS8RzWPHV$TTl{3unn||b!h?H6~C6#rpw=7qKDl|n*Y~$5x^>_au`buaTE(yBAEwQ8sD6v+u5VFNH*j5DoisK!N?Ti-Y}l|t^i)?@%h97pweu=DfBwAe-Md#pq0kImVV75+ zh_5YO{>qPX^A;=?X3>(R>kC{(I|X?W!&}dvhk`hSddad?CGet$9wY}UK5h&83XggzKn4@ z&n~~s^_{T!51Jo;66&7-d9K^y8DO!|vhUavP?{Y-~(sdY%M_2S4w=ePUwb z+5fPr%n28F>}gMr@8;R(@g4Wy0pAeovKCxd{94wF`Me55^;=wD)&CH$LtIW`{Yj7$Hz^6 zHPZur3GSJ^8RBc$ya`q){=?J$wz)aM+XHvfF-)iG&$Xz&0ma`5-U96)U~+zPd6UQo zivK%czD4zYN@udKz-f3x!XTUXfSAt#y5O7&{ox!`->7liBKRI1zrcmpDL;Rv-#qI0 zdB1HtC^svnqn%DY^jj4A(+!+jyboRjH6~UUZQs{5mw~?%YzAk*OK~)>_S&=H+u%k- zzu6f3J9t#F$;A9@;-Pqlf!{CYGobs^4V*%7MW_UCgLe{W-gnvj-#551Uibe8>{0$& zD^m07=hM5v7n=XeZtUm3(VuX>Fd9E^mOsmjXcY;}PX(L*3|(q;|6@r!!@55;8#vv> zKCY1az^{QjmV1bS_SzqEUpNfo(^pY$FM>aUH^5Sm1?KYSH~71Y)AredMm6;Fcbn;t zH#ee8aKbvho@=@m;Li`uN`gc@jB8u|86V z^YaMv^C8b=_j6u+zz>3S=71tl!g*>3AIA7dokxIvK2j(81*@1IsWWNf*k4j0^~o|f zJe+R8*pBh>EGC2uAcSN(6}-C7I|%ObR&?ZPYk9M30hSh!%B}XfaV@#34cu(T#5O znjpb2x*eAe>~wT=01I>D2Xu7w%jfo0 zR_60{@LdHL9UYH}g|UH6sMFp%4nLcRZwHY5`iWgqv9X@_4DVfyYB3O^7vk~f$>8}g zL;r-M!tp}y<;KrRi}Q*eLY}$b>K-l9|M{m__iMxK_na^u7u!EZu12M0n90gTUtn9K z7m{L=Qhh-~P#=~zzHIf;ZS+M?zdQO!nr%>+#t&?teH)m?FQjb}Y@vs@ff+AnBg7B7 zRu7D`k+axTMH*jRg01oVNqzT#%Rq*D} zL~Q%Y-<{&Qa+zaP?68uq+oO{0hElobJy+H)xu+=HT(x=rD(g?p@{21P>4Ss2V0Y<) zfvk~P?eF}WygS_h%7y{}qiDjHMXg?;rdepXDku zg;96;;8!=Y{6&YeIjh3(RI1$Ji2GeA1bSQ+vE^bw8D;doDp;5C9MuCP$kZiU&xEmo z)j^R;hI0say7ES|jI#{bWGsHUNiel(#DLa-vSCwoW2FA&TC~!{m|8WmeG-B~x>4R8 znq^t^xaekDMenEcf@@EB;aZUk5bU(OwNAu_WK2f+d~b;Ka}4JYsO^}K;1;1vo_vkH z!;sb~>-(H$Qu?xuxyKsy0wM5V$n@)v_|C93+Yz<3$67g{QXW-9zNOt_q~XD(x>UaK zYY$enyF77Aek!1TiV~Z9Wv4_#3#;ZH92uy;8w)D%Rq=f&TW26{!Zq*r$?Q}eFB9gS zlAOL5F42>C7{X3+`}DPxEny99PbYrp7EJCmNd~)reF)9aJrQ~X<<3fu z9mNWk6O3HiBB`iZ{dn0!hb*4EdEX&KJpjeGN(i&P1ekNaI*JFSL*I8Eq4W`h(Pua- zRww%$_GO*fxDqy`1r&Oi;g1SH+%hbW0_mmIlof+Wvv%C9!z44|YNQxcEBz^o0XP@u zZDJ?Z6ls_7Nk0JxpMIw0vM%v-Yg}_T{LWF}sY|TSqn>_8EAQ6Oj8N^sxhT=Z&Xd5{%|q$1pwFB87mxQNf1~NA zk{Oufq?vdYvYk2|KS=v^0&&*%)FkPSU&1V>{#9k_V+LC=sl%rt)M`UoQSd?GJ|lZu z@*6W8NpZ9PR!NTnn;5BejInC{pI_5a0A?et!<_Lip%ZatJzS(aP~Q?Z&yYcgzi58) zZit`ydZbTIcQY$xve%o?8U=v<3NBnZstt_en7zvsV$2Z68Esu&g4ELQ*W6?N9bMJY zykA3qpD)%fx#y+%<#)QncBHd9LB*6#K7f3v3X{W@#19hIa0?4s^z8Y@BT!RR8f1>J z{)^gji#F%m$sFTyQNm2ogbH5plyVgB2VVV{MYWDg-%JM?<7&G>I5<1OEeX!wP4Z%< zd@4utz?ZSa;la!oH(pm^2$h4{GM`vD+$nVsUgGbV&`<0@~b+ZH}>)p_C>{uGSWdl+tRZY~Oc`@%9F5Y1-JdnojvVr5^o8ez}t7(?VE z{xM(PwcoB%%u$P*ZHW9tsZYO-;B0=sauOKl;~xaT)Pzx{kOf-KJ+GKJ)<(6_oCGFJ z0+(23mi*nMdO;Fkq(x8phTB`hD%Xasil z$8%PgrwL^2^6V{|LM2-2+CpfQcQ|VjfI5;>wc4jI9h=(5A zqVci4h{7JTg_FjfUxMwN_(<{nk@ljLNCvaxQBhnh%?*-1@__z$*%uF)7PdQDTV)njOJM?R@)nj+Awi||6>){5y z>FqUU>p$L}UZ>#E+zLyp1F#UFucM=<*O*`FBVQ3MSEq2pZaR8J#flKm%>|-6cS93B z!t;21yFkY;*!ke=ceo;Dqme+UwAh`_9k83swObeNh4|n9V$l3w4sL{b10$Z=R7X?q z+aPb0o_bqQ#q_8cHzmQn9gJ&9ZNP$Nlu ztR_@7J2$dEqwiUu%hD&Jdh<(T z!?)~Q{!K{h_nGCnpbFKBp>HpSW+v>fkWW5Ayk?(>^BF^U-*^>6f!}-sf!fYSFJHbK zXfM@X3N<1NsXs{(z3x}Mdegebsl7K>-E#~T!+ldBJ3Cv8k<-bq1@V`NxZd?Ek-dHL z?p$J80bQM4M$q6@AqwrRqagy~6nvRxXYJNrinrD5CEe7d@Nd5d4E1$G(4>ao_93^V zEz6_;z%lGSsa==?nA4ySTZt2JUmwcG+y#Tdowm~tZER3$gIVhf&4Ik)oC^JSYr-M6 zl93BQf!vMl6-e7&?s%cfnD5_zw_yleZh+dQ3M*)z-~Z>b6Xu%L@g=K&bJ-~=gV{Tj zxSqS-Cji-1*m5rZOD{OC}{`p zopO%-(-)~6xH*=clXFq(furMMtxG8aVGQr{D>>XP@~XTH>Xw~WStFgCn%+T)h=^3r zm~458*GR!68BAmd9yErn;MD3aa^jj)mIk4}o@LAM3iKt9Te(5zbze8@?mFTaOVj9tV?@Jb8+tTfn(Uy zn_4d%QkHXp-lap~lYsSOz3|$|(l}7YQ_M{mI}d3!7#4^0Iq}+q;So$Mg?E1OF5Uz8 z1)U^Nb!UD3Xx9_jI9r4FGE-7GBjNl{IR(5_-#D~9I(aM5bgV=xbX_H7Z}pW9op-oe zQ6j6(&eU;%84K?#WZF3*y>)I!ZRbBCc4^b?qsp+FlLTQ$(CU^=>Ki+vm;L#{N14w>aT^MB zrU7#Yy!GXEjH>D#@Ld8El{RFO9rGgn!C|JXkGGj}sCKS<v zu6&oEk{)zwrcM4v`6~Ug$;G3+X&fr0gL2Y9!whkF4`sERuSP@k$19>hFKk(p0Ux&i^X zE`ZYD!ZQ1%K*Kqv>$A|~^`n#>1gjPVZppq?%RY){V0*{CwLfgWv}(V0>&UTpwqNI5 z!L{A|TuW7P9xt*YFmkadex_^Id^L*ya|tS-E1Ek|g2amU+D#$#G|w?{f#8zvjk@c9 zjN%^`eq=ekD7H(e;WN}nL8bSl!(5B>HP9i%x8hRn5rX8|*YXm)?2Zfhrr-clD^_ljtH(LO8Cn z`VO9)4>d|VYyb|?9;^OOV0VNd@nLeIx@sJWfv%0}uV!-w7;$hto&xM$nz<2e%!%gD z`%#ed0~_rRMb|)h^1|>F^1e&>SO{B)9>gH0_`rv~o~C_#m)|f)9U@tTTOIPv5JsXi z;L)6$ltl@aqQbK1)Q~JAEZPzti~4x z>@Tl)@&!C1vZN0LiID<(GV8Iv(O{}~@4%#j(tK~cG<5WAy$ogRICt_cX(4q@GDgwQ z?pYJN-T=?~K4*E%vnDmZ&t1+6CgP?~WK^YA^KH`?QS{*SOXiwWx1tL&I#7FXNqK45 zYmC=gZuppXCbhIrYe*t>m|(x3w)EOmKeK>TmpAC$%ird+6T0{1o+Q1+N^HSkk&s-{ z>twA5Y3f+z_PAdUkB7TiG+2ZQrwvZvv>l68bHw(q$j zvHeIt9gE!ix9^l%4J`22qI@!(61c_M|=D)woUpkeEjbQo7SfR zZb9twn|kqo=VPb?Uj<7*F&G6mfft+vO<=&Z&f%RBB{BK2&h*F0*%g-O&pJn2pJy;s zg6Dt>WP>mm0{x&1TtFQ|CTlDvvF0b4932)K^>GuQkmO2(uC+0FQ?MP@CJV#&!9H*V z{1UW-+u$?64Jz0eKJX6sIS5H?iS*}5MCkuK`8wE-Mx6AckwP&xZe0F&=Fi$>VyFf+ zpaZl4KL~;hkOK)81E(OoY(B#sNXIik zjp28L<7~_mFxqxe^XHn0^0{Ue)xhc9w*bQrz(K1nI^F~YzzF@5X#j%>{Hz1#$Pejw6FV;b0I%uS6V6}x zY4aM;YE?`}4V^~l*A)8G4P3lUWa(c-W`9AZW8Cu=u6bd}$~SWJ=ahcDTo4Gq7V z>ZPkr@#lg+f0yTNY;E&BSqg5ar0x)z~4k}|5~P6oX(646mfO-XLAcx!Cd$JmH7ol zFAEY1-M@76y7!-Ao@L-;(Ut+qD@<`|+46!y z*9Jj`Lk}+Zbaft^K*T&Q;J5J`)OhXJ1ydF5O4=M>FzmAESl zi%K>MGBOxw1oKv`-{s zw#ak85SjlY)Yd67^e>U_y)5q3%)Oz(|6TW8Jsb{?2OJLP%(?CbuNS#WUxC1Z;&yj; zU2Kk}xTFu1h`y*hdLPFUO>R;B+UrZdx?^fW-O+_k%gO>u@+SCyP5W?DKgqHKVrSI8;}_^P(?H!Fk0mV7UhOY9Oj# zbA46+9Z+cF8{8cm>g!MP1}3Ao9~JpQCyLvO;_eoCI4sj8p$GQ^J>Jg4V`HOzpYFWA zu8T**sCb;3)1X%LWj#2h_yyEiHq)W{HP=`5cY}qZFBQP6__fwI(w`~Gp7DN>&Mh)s zgTmgwa`D`+EdFZ72Yw2AE#3_AISj9Za>c(t;%}QzBzSw^20Di5RQKjn}9bgym zfPlsI$>mKVhZO%;K$fQZ4%3h?rp?@-Ofvg0YH!I?=t$u>L zlIRC`O~00?^XL7x9#CafOoxX~BlK$u{pkiyEe?WpV7G zi({o3yaXwT1Pm=B0RR6u)1r=M%%9Zr~JxJHjhq57?VP^X_Bwf0H|k z8pHoz@D1g!wal7#J&)Z4ZVCL4yRo1DMt{P&6>a{!S-u&p1~mz+PYs*@C|zm{|2;`O zLxw*!8#vv>Uha@v!Mng6%RR&Z$I2F-3rEy=ja`)EN$>~o8Ytt<{4@CaHGb`6#5rF^ zqek`fYisC_H}G@*<{vda082qF$cbTnazHK5`GAgSG5nt-wDZ#cG@r;Zk-%po(VBD< z_n;wH@hKY};CI{s+m+wvF5wQk8N35l#rQ}XACKJ)-T<3Ov;^pXPuY2+HE|DiZDam> zL7tdrFxE%vaD4`_KJW9h?Dx1XUf>5oIXLZem3?Yu4g=%^aI0RVdC$2lK<1EQqrsE zp?1@5mwmDAY2K@A_uAV(hw#p)y8dWntM#AO^>xa$O`0_6{2wvmw-fcVn05dF002ov JPDHLkV1k9ADRlq< literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/iCheck/square/yellow@2x.png b/vendor/blobt/assets/iCheck/square/yellow@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6b8e328e1abe901ffa1b472461c858516024a975 GIT binary patch literal 4385 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 M0<$r%F};)UA9(ifzyJUM literal 0 HcmV?d00001 diff --git a/vendor/blobt/assets/moment/moment.js b/vendor/blobt/assets/moment/moment.js new file mode 100644 index 0000000..1b12971 --- /dev/null +++ b/vendor/blobt/assets/moment/moment.js @@ -0,0 +1,4602 @@ +//! moment.js + +;(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.moment = factory() +}(this, (function () { 'use strict'; + + var hookCallback; + + function hooks () { + return hookCallback.apply(null, arguments); + } + + // This is done to register the method called with moment() + // without creating circular dependencies. + function setHookCallback (callback) { + hookCallback = callback; + } + + function isArray(input) { + return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; + } + + function isObject(input) { + // IE8 will treat undefined and null as object if it wasn't for + // input != null + return input != null && Object.prototype.toString.call(input) === '[object Object]'; + } + + function isObjectEmpty(obj) { + if (Object.getOwnPropertyNames) { + return (Object.getOwnPropertyNames(obj).length === 0); + } else { + var k; + for (k in obj) { + if (obj.hasOwnProperty(k)) { + return false; + } + } + return true; + } + } + + function isUndefined(input) { + return input === void 0; + } + + function isNumber(input) { + return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; + } + + function isDate(input) { + return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; + } + + function map(arr, fn) { + var res = [], i; + for (i = 0; i < arr.length; ++i) { + res.push(fn(arr[i], i)); + } + return res; + } + + function hasOwnProp(a, b) { + return Object.prototype.hasOwnProperty.call(a, b); + } + + function extend(a, b) { + for (var i in b) { + if (hasOwnProp(b, i)) { + a[i] = b[i]; + } + } + + if (hasOwnProp(b, 'toString')) { + a.toString = b.toString; + } + + if (hasOwnProp(b, 'valueOf')) { + a.valueOf = b.valueOf; + } + + return a; + } + + function createUTC (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, true).utc(); + } + + function defaultParsingFlags() { + // We need to deep clone this object. + return { + empty : false, + unusedTokens : [], + unusedInput : [], + overflow : -2, + charsLeftOver : 0, + nullInput : false, + invalidMonth : null, + invalidFormat : false, + userInvalidated : false, + iso : false, + parsedDateParts : [], + meridiem : null, + rfc2822 : false, + weekdayMismatch : false + }; + } + + function getParsingFlags(m) { + if (m._pf == null) { + m._pf = defaultParsingFlags(); + } + return m._pf; + } + + var some; + if (Array.prototype.some) { + some = Array.prototype.some; + } else { + some = function (fun) { + var t = Object(this); + var len = t.length >>> 0; + + for (var i = 0; i < len; i++) { + if (i in t && fun.call(this, t[i], i, t)) { + return true; + } + } + + return false; + }; + } + + function isValid(m) { + if (m._isValid == null) { + var flags = getParsingFlags(m); + var parsedParts = some.call(flags.parsedDateParts, function (i) { + return i != null; + }); + var isNowValid = !isNaN(m._d.getTime()) && + flags.overflow < 0 && + !flags.empty && + !flags.invalidMonth && + !flags.invalidWeekday && + !flags.weekdayMismatch && + !flags.nullInput && + !flags.invalidFormat && + !flags.userInvalidated && + (!flags.meridiem || (flags.meridiem && parsedParts)); + + if (m._strict) { + isNowValid = isNowValid && + flags.charsLeftOver === 0 && + flags.unusedTokens.length === 0 && + flags.bigHour === undefined; + } + + if (Object.isFrozen == null || !Object.isFrozen(m)) { + m._isValid = isNowValid; + } + else { + return isNowValid; + } + } + return m._isValid; + } + + function createInvalid (flags) { + var m = createUTC(NaN); + if (flags != null) { + extend(getParsingFlags(m), flags); + } + else { + getParsingFlags(m).userInvalidated = true; + } + + return m; + } + + // Plugins that add properties should also add the key here (null value), + // so we can properly clone ourselves. + var momentProperties = hooks.momentProperties = []; + + function copyConfig(to, from) { + var i, prop, val; + + if (!isUndefined(from._isAMomentObject)) { + to._isAMomentObject = from._isAMomentObject; + } + if (!isUndefined(from._i)) { + to._i = from._i; + } + if (!isUndefined(from._f)) { + to._f = from._f; + } + if (!isUndefined(from._l)) { + to._l = from._l; + } + if (!isUndefined(from._strict)) { + to._strict = from._strict; + } + if (!isUndefined(from._tzm)) { + to._tzm = from._tzm; + } + if (!isUndefined(from._isUTC)) { + to._isUTC = from._isUTC; + } + if (!isUndefined(from._offset)) { + to._offset = from._offset; + } + if (!isUndefined(from._pf)) { + to._pf = getParsingFlags(from); + } + if (!isUndefined(from._locale)) { + to._locale = from._locale; + } + + if (momentProperties.length > 0) { + for (i = 0; i < momentProperties.length; i++) { + prop = momentProperties[i]; + val = from[prop]; + if (!isUndefined(val)) { + to[prop] = val; + } + } + } + + return to; + } + + var updateInProgress = false; + + // Moment prototype object + function Moment(config) { + copyConfig(this, config); + this._d = new Date(config._d != null ? config._d.getTime() : NaN); + if (!this.isValid()) { + this._d = new Date(NaN); + } + // Prevent infinite loop in case updateOffset creates new moment + // objects. + if (updateInProgress === false) { + updateInProgress = true; + hooks.updateOffset(this); + updateInProgress = false; + } + } + + function isMoment (obj) { + return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); + } + + function absFloor (number) { + if (number < 0) { + // -0 -> 0 + return Math.ceil(number) || 0; + } else { + return Math.floor(number); + } + } + + function toInt(argumentForCoercion) { + var coercedNumber = +argumentForCoercion, + value = 0; + + if (coercedNumber !== 0 && isFinite(coercedNumber)) { + value = absFloor(coercedNumber); + } + + return value; + } + + // compare two arrays, return the number of differences + function compareArrays(array1, array2, dontConvert) { + var len = Math.min(array1.length, array2.length), + lengthDiff = Math.abs(array1.length - array2.length), + diffs = 0, + i; + for (i = 0; i < len; i++) { + if ((dontConvert && array1[i] !== array2[i]) || + (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { + diffs++; + } + } + return diffs + lengthDiff; + } + + function warn(msg) { + if (hooks.suppressDeprecationWarnings === false && + (typeof console !== 'undefined') && console.warn) { + console.warn('Deprecation warning: ' + msg); + } + } + + function deprecate(msg, fn) { + var firstTime = true; + + return extend(function () { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(null, msg); + } + if (firstTime) { + var args = []; + var arg; + for (var i = 0; i < arguments.length; i++) { + arg = ''; + if (typeof arguments[i] === 'object') { + arg += '\n[' + i + '] '; + for (var key in arguments[0]) { + arg += key + ': ' + arguments[0][key] + ', '; + } + arg = arg.slice(0, -2); // Remove trailing comma and space + } else { + arg = arguments[i]; + } + args.push(arg); + } + warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); + firstTime = false; + } + return fn.apply(this, arguments); + }, fn); + } + + var deprecations = {}; + + function deprecateSimple(name, msg) { + if (hooks.deprecationHandler != null) { + hooks.deprecationHandler(name, msg); + } + if (!deprecations[name]) { + warn(msg); + deprecations[name] = true; + } + } + + hooks.suppressDeprecationWarnings = false; + hooks.deprecationHandler = null; + + function isFunction(input) { + return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; + } + + function set (config) { + var prop, i; + for (i in config) { + prop = config[i]; + if (isFunction(prop)) { + this[i] = prop; + } else { + this['_' + i] = prop; + } + } + this._config = config; + // Lenient ordinal parsing accepts just a number in addition to + // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. + // TODO: Remove "ordinalParse" fallback in next major release. + this._dayOfMonthOrdinalParseLenient = new RegExp( + (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + + '|' + (/\d{1,2}/).source); + } + + function mergeConfigs(parentConfig, childConfig) { + var res = extend({}, parentConfig), prop; + for (prop in childConfig) { + if (hasOwnProp(childConfig, prop)) { + if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { + res[prop] = {}; + extend(res[prop], parentConfig[prop]); + extend(res[prop], childConfig[prop]); + } else if (childConfig[prop] != null) { + res[prop] = childConfig[prop]; + } else { + delete res[prop]; + } + } + } + for (prop in parentConfig) { + if (hasOwnProp(parentConfig, prop) && + !hasOwnProp(childConfig, prop) && + isObject(parentConfig[prop])) { + // make sure changes to properties don't modify parent config + res[prop] = extend({}, res[prop]); + } + } + return res; + } + + function Locale(config) { + if (config != null) { + this.set(config); + } + } + + var keys; + + if (Object.keys) { + keys = Object.keys; + } else { + keys = function (obj) { + var i, res = []; + for (i in obj) { + if (hasOwnProp(obj, i)) { + res.push(i); + } + } + return res; + }; + } + + var defaultCalendar = { + sameDay : '[Today at] LT', + nextDay : '[Tomorrow at] LT', + nextWeek : 'dddd [at] LT', + lastDay : '[Yesterday at] LT', + lastWeek : '[Last] dddd [at] LT', + sameElse : 'L' + }; + + function calendar (key, mom, now) { + var output = this._calendar[key] || this._calendar['sameElse']; + return isFunction(output) ? output.call(mom, now) : output; + } + + var defaultLongDateFormat = { + LTS : 'h:mm:ss A', + LT : 'h:mm A', + L : 'MM/DD/YYYY', + LL : 'MMMM D, YYYY', + LLL : 'MMMM D, YYYY h:mm A', + LLLL : 'dddd, MMMM D, YYYY h:mm A' + }; + + function longDateFormat (key) { + var format = this._longDateFormat[key], + formatUpper = this._longDateFormat[key.toUpperCase()]; + + if (format || !formatUpper) { + return format; + } + + this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { + return val.slice(1); + }); + + return this._longDateFormat[key]; + } + + var defaultInvalidDate = 'Invalid date'; + + function invalidDate () { + return this._invalidDate; + } + + var defaultOrdinal = '%d'; + var defaultDayOfMonthOrdinalParse = /\d{1,2}/; + + function ordinal (number) { + return this._ordinal.replace('%d', number); + } + + var defaultRelativeTime = { + future : 'in %s', + past : '%s ago', + s : 'a few seconds', + ss : '%d seconds', + m : 'a minute', + mm : '%d minutes', + h : 'an hour', + hh : '%d hours', + d : 'a day', + dd : '%d days', + M : 'a month', + MM : '%d months', + y : 'a year', + yy : '%d years' + }; + + function relativeTime (number, withoutSuffix, string, isFuture) { + var output = this._relativeTime[string]; + return (isFunction(output)) ? + output(number, withoutSuffix, string, isFuture) : + output.replace(/%d/i, number); + } + + function pastFuture (diff, output) { + var format = this._relativeTime[diff > 0 ? 'future' : 'past']; + return isFunction(format) ? format(output) : format.replace(/%s/i, output); + } + + var aliases = {}; + + function addUnitAlias (unit, shorthand) { + var lowerCase = unit.toLowerCase(); + aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; + } + + function normalizeUnits(units) { + return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; + } + + function normalizeObjectUnits(inputObject) { + var normalizedInput = {}, + normalizedProp, + prop; + + for (prop in inputObject) { + if (hasOwnProp(inputObject, prop)) { + normalizedProp = normalizeUnits(prop); + if (normalizedProp) { + normalizedInput[normalizedProp] = inputObject[prop]; + } + } + } + + return normalizedInput; + } + + var priorities = {}; + + function addUnitPriority(unit, priority) { + priorities[unit] = priority; + } + + function getPrioritizedUnits(unitsObj) { + var units = []; + for (var u in unitsObj) { + units.push({unit: u, priority: priorities[u]}); + } + units.sort(function (a, b) { + return a.priority - b.priority; + }); + return units; + } + + function zeroFill(number, targetLength, forceSign) { + var absNumber = '' + Math.abs(number), + zerosToFill = targetLength - absNumber.length, + sign = number >= 0; + return (sign ? (forceSign ? '+' : '') : '-') + + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; + } + + var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; + + var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; + + var formatFunctions = {}; + + var formatTokenFunctions = {}; + + // token: 'M' + // padded: ['MM', 2] + // ordinal: 'Mo' + // callback: function () { this.month() + 1 } + function addFormatToken (token, padded, ordinal, callback) { + var func = callback; + if (typeof callback === 'string') { + func = function () { + return this[callback](); + }; + } + if (token) { + formatTokenFunctions[token] = func; + } + if (padded) { + formatTokenFunctions[padded[0]] = function () { + return zeroFill(func.apply(this, arguments), padded[1], padded[2]); + }; + } + if (ordinal) { + formatTokenFunctions[ordinal] = function () { + return this.localeData().ordinal(func.apply(this, arguments), token); + }; + } + } + + function removeFormattingTokens(input) { + if (input.match(/\[[\s\S]/)) { + return input.replace(/^\[|\]$/g, ''); + } + return input.replace(/\\/g, ''); + } + + function makeFormatFunction(format) { + var array = format.match(formattingTokens), i, length; + + for (i = 0, length = array.length; i < length; i++) { + if (formatTokenFunctions[array[i]]) { + array[i] = formatTokenFunctions[array[i]]; + } else { + array[i] = removeFormattingTokens(array[i]); + } + } + + return function (mom) { + var output = '', i; + for (i = 0; i < length; i++) { + output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; + } + return output; + }; + } + + // format date using native date object + function formatMoment(m, format) { + if (!m.isValid()) { + return m.localeData().invalidDate(); + } + + format = expandFormat(format, m.localeData()); + formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); + + return formatFunctions[format](m); + } + + function expandFormat(format, locale) { + var i = 5; + + function replaceLongDateFormatTokens(input) { + return locale.longDateFormat(input) || input; + } + + localFormattingTokens.lastIndex = 0; + while (i >= 0 && localFormattingTokens.test(format)) { + format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); + localFormattingTokens.lastIndex = 0; + i -= 1; + } + + return format; + } + + var match1 = /\d/; // 0 - 9 + var match2 = /\d\d/; // 00 - 99 + var match3 = /\d{3}/; // 000 - 999 + var match4 = /\d{4}/; // 0000 - 9999 + var match6 = /[+-]?\d{6}/; // -999999 - 999999 + var match1to2 = /\d\d?/; // 0 - 99 + var match3to4 = /\d\d\d\d?/; // 999 - 9999 + var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 + var match1to3 = /\d{1,3}/; // 0 - 999 + var match1to4 = /\d{1,4}/; // 0 - 9999 + var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 + + var matchUnsigned = /\d+/; // 0 - inf + var matchSigned = /[+-]?\d+/; // -inf - inf + + var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z + var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z + + var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 + + // any word (or two) characters or numbers including two/three word month in arabic. + // includes scottish gaelic two word and hyphenated months + var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; + + var regexes = {}; + + function addRegexToken (token, regex, strictRegex) { + regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { + return (isStrict && strictRegex) ? strictRegex : regex; + }; + } + + function getParseRegexForToken (token, config) { + if (!hasOwnProp(regexes, token)) { + return new RegExp(unescapeFormat(token)); + } + + return regexes[token](config._strict, config._locale); + } + + // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript + function unescapeFormat(s) { + return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { + return p1 || p2 || p3 || p4; + })); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + var tokens = {}; + + function addParseToken (token, callback) { + var i, func = callback; + if (typeof token === 'string') { + token = [token]; + } + if (isNumber(callback)) { + func = function (input, array) { + array[callback] = toInt(input); + }; + } + for (i = 0; i < token.length; i++) { + tokens[token[i]] = func; + } + } + + function addWeekParseToken (token, callback) { + addParseToken(token, function (input, array, config, token) { + config._w = config._w || {}; + callback(input, config._w, config, token); + }); + } + + function addTimeToArrayFromToken(token, input, config) { + if (input != null && hasOwnProp(tokens, token)) { + tokens[token](input, config._a, config, token); + } + } + + var YEAR = 0; + var MONTH = 1; + var DATE = 2; + var HOUR = 3; + var MINUTE = 4; + var SECOND = 5; + var MILLISECOND = 6; + var WEEK = 7; + var WEEKDAY = 8; + + // FORMATTING + + addFormatToken('Y', 0, 0, function () { + var y = this.year(); + return y <= 9999 ? '' + y : '+' + y; + }); + + addFormatToken(0, ['YY', 2], 0, function () { + return this.year() % 100; + }); + + addFormatToken(0, ['YYYY', 4], 0, 'year'); + addFormatToken(0, ['YYYYY', 5], 0, 'year'); + addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); + + // ALIASES + + addUnitAlias('year', 'y'); + + // PRIORITIES + + addUnitPriority('year', 1); + + // PARSING + + addRegexToken('Y', matchSigned); + addRegexToken('YY', match1to2, match2); + addRegexToken('YYYY', match1to4, match4); + addRegexToken('YYYYY', match1to6, match6); + addRegexToken('YYYYYY', match1to6, match6); + + addParseToken(['YYYYY', 'YYYYYY'], YEAR); + addParseToken('YYYY', function (input, array) { + array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); + }); + addParseToken('YY', function (input, array) { + array[YEAR] = hooks.parseTwoDigitYear(input); + }); + addParseToken('Y', function (input, array) { + array[YEAR] = parseInt(input, 10); + }); + + // HELPERS + + function daysInYear(year) { + return isLeapYear(year) ? 366 : 365; + } + + function isLeapYear(year) { + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; + } + + // HOOKS + + hooks.parseTwoDigitYear = function (input) { + return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); + }; + + // MOMENTS + + var getSetYear = makeGetSet('FullYear', true); + + function getIsLeapYear () { + return isLeapYear(this.year()); + } + + function makeGetSet (unit, keepTime) { + return function (value) { + if (value != null) { + set$1(this, unit, value); + hooks.updateOffset(this, keepTime); + return this; + } else { + return get(this, unit); + } + }; + } + + function get (mom, unit) { + return mom.isValid() ? + mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; + } + + function set$1 (mom, unit, value) { + if (mom.isValid() && !isNaN(value)) { + if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); + } + else { + mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); + } + } + } + + // MOMENTS + + function stringGet (units) { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](); + } + return this; + } + + + function stringSet (units, value) { + if (typeof units === 'object') { + units = normalizeObjectUnits(units); + var prioritized = getPrioritizedUnits(units); + for (var i = 0; i < prioritized.length; i++) { + this[prioritized[i].unit](units[prioritized[i].unit]); + } + } else { + units = normalizeUnits(units); + if (isFunction(this[units])) { + return this[units](value); + } + } + return this; + } + + function mod(n, x) { + return ((n % x) + x) % x; + } + + var indexOf; + + if (Array.prototype.indexOf) { + indexOf = Array.prototype.indexOf; + } else { + indexOf = function (o) { + // I know + var i; + for (i = 0; i < this.length; ++i) { + if (this[i] === o) { + return i; + } + } + return -1; + }; + } + + function daysInMonth(year, month) { + if (isNaN(year) || isNaN(month)) { + return NaN; + } + var modMonth = mod(month, 12); + year += (month - modMonth) / 12; + return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); + } + + // FORMATTING + + addFormatToken('M', ['MM', 2], 'Mo', function () { + return this.month() + 1; + }); + + addFormatToken('MMM', 0, 0, function (format) { + return this.localeData().monthsShort(this, format); + }); + + addFormatToken('MMMM', 0, 0, function (format) { + return this.localeData().months(this, format); + }); + + // ALIASES + + addUnitAlias('month', 'M'); + + // PRIORITY + + addUnitPriority('month', 8); + + // PARSING + + addRegexToken('M', match1to2); + addRegexToken('MM', match1to2, match2); + addRegexToken('MMM', function (isStrict, locale) { + return locale.monthsShortRegex(isStrict); + }); + addRegexToken('MMMM', function (isStrict, locale) { + return locale.monthsRegex(isStrict); + }); + + addParseToken(['M', 'MM'], function (input, array) { + array[MONTH] = toInt(input) - 1; + }); + + addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { + var month = config._locale.monthsParse(input, token, config._strict); + // if we didn't find a month name, mark the date as invalid. + if (month != null) { + array[MONTH] = month; + } else { + getParsingFlags(config).invalidMonth = input; + } + }); + + // LOCALES + + var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; + var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); + function localeMonths (m, format) { + if (!m) { + return isArray(this._months) ? this._months : + this._months['standalone']; + } + return isArray(this._months) ? this._months[m.month()] : + this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; + } + + var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); + function localeMonthsShort (m, format) { + if (!m) { + return isArray(this._monthsShort) ? this._monthsShort : + this._monthsShort['standalone']; + } + return isArray(this._monthsShort) ? this._monthsShort[m.month()] : + this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; + } + + function handleStrictParse(monthName, format, strict) { + var i, ii, mom, llc = monthName.toLocaleLowerCase(); + if (!this._monthsParse) { + // this is not used + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + for (i = 0; i < 12; ++i) { + mom = createUTC([2000, i]); + this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); + this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'MMM') { + ii = indexOf.call(this._shortMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._longMonthsParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._longMonthsParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortMonthsParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeMonthsParse (monthName, format, strict) { + var i, mom, regex; + + if (this._monthsParseExact) { + return handleStrictParse.call(this, monthName, format, strict); + } + + if (!this._monthsParse) { + this._monthsParse = []; + this._longMonthsParse = []; + this._shortMonthsParse = []; + } + + // TODO: add sorting + // Sorting makes sure if one month (or abbr) is a prefix of another + // see sorting in computeMonthsParse + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + if (strict && !this._longMonthsParse[i]) { + this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); + this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); + } + if (!strict && !this._monthsParse[i]) { + regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); + this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { + return i; + } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { + return i; + } else if (!strict && this._monthsParse[i].test(monthName)) { + return i; + } + } + } + + // MOMENTS + + function setMonth (mom, value) { + var dayOfMonth; + + if (!mom.isValid()) { + // No op + return mom; + } + + if (typeof value === 'string') { + if (/^\d+$/.test(value)) { + value = toInt(value); + } else { + value = mom.localeData().monthsParse(value); + // TODO: Another silent failure? + if (!isNumber(value)) { + return mom; + } + } + } + + dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); + mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); + return mom; + } + + function getSetMonth (value) { + if (value != null) { + setMonth(this, value); + hooks.updateOffset(this, true); + return this; + } else { + return get(this, 'Month'); + } + } + + function getDaysInMonth () { + return daysInMonth(this.year(), this.month()); + } + + var defaultMonthsShortRegex = matchWord; + function monthsShortRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsShortStrictRegex; + } else { + return this._monthsShortRegex; + } + } else { + if (!hasOwnProp(this, '_monthsShortRegex')) { + this._monthsShortRegex = defaultMonthsShortRegex; + } + return this._monthsShortStrictRegex && isStrict ? + this._monthsShortStrictRegex : this._monthsShortRegex; + } + } + + var defaultMonthsRegex = matchWord; + function monthsRegex (isStrict) { + if (this._monthsParseExact) { + if (!hasOwnProp(this, '_monthsRegex')) { + computeMonthsParse.call(this); + } + if (isStrict) { + return this._monthsStrictRegex; + } else { + return this._monthsRegex; + } + } else { + if (!hasOwnProp(this, '_monthsRegex')) { + this._monthsRegex = defaultMonthsRegex; + } + return this._monthsStrictRegex && isStrict ? + this._monthsStrictRegex : this._monthsRegex; + } + } + + function computeMonthsParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var shortPieces = [], longPieces = [], mixedPieces = [], + i, mom; + for (i = 0; i < 12; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, i]); + shortPieces.push(this.monthsShort(mom, '')); + longPieces.push(this.months(mom, '')); + mixedPieces.push(this.months(mom, '')); + mixedPieces.push(this.monthsShort(mom, '')); + } + // Sorting makes sure if one month (or abbr) is a prefix of another it + // will match the longer piece. + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 12; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + } + for (i = 0; i < 24; i++) { + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._monthsShortRegex = this._monthsRegex; + this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + } + + function createDate (y, m, d, h, M, s, ms) { + // can't just apply() to create a date: + // https://stackoverflow.com/q/181348 + var date; + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + date = new Date(y + 400, m, d, h, M, s, ms); + if (isFinite(date.getFullYear())) { + date.setFullYear(y); + } + } else { + date = new Date(y, m, d, h, M, s, ms); + } + + return date; + } + + function createUTCDate (y) { + var date; + // the Date.UTC function remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + var args = Array.prototype.slice.call(arguments); + // preserve leap years using a full 400 year cycle, then reset + args[0] = y + 400; + date = new Date(Date.UTC.apply(null, args)); + if (isFinite(date.getUTCFullYear())) { + date.setUTCFullYear(y); + } + } else { + date = new Date(Date.UTC.apply(null, arguments)); + } + + return date; + } + + // start-of-first-week - start-of-year + function firstWeekOffset(year, dow, doy) { + var // first-week day -- which january is always in the first week (4 for iso, 1 for other) + fwd = 7 + dow - doy, + // first-week day local weekday -- which local weekday is fwd + fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; + + return -fwdlw + fwd - 1; + } + + // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday + function dayOfYearFromWeeks(year, week, weekday, dow, doy) { + var localWeekday = (7 + weekday - dow) % 7, + weekOffset = firstWeekOffset(year, dow, doy), + dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, + resYear, resDayOfYear; + + if (dayOfYear <= 0) { + resYear = year - 1; + resDayOfYear = daysInYear(resYear) + dayOfYear; + } else if (dayOfYear > daysInYear(year)) { + resYear = year + 1; + resDayOfYear = dayOfYear - daysInYear(year); + } else { + resYear = year; + resDayOfYear = dayOfYear; + } + + return { + year: resYear, + dayOfYear: resDayOfYear + }; + } + + function weekOfYear(mom, dow, doy) { + var weekOffset = firstWeekOffset(mom.year(), dow, doy), + week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, + resWeek, resYear; + + if (week < 1) { + resYear = mom.year() - 1; + resWeek = week + weeksInYear(resYear, dow, doy); + } else if (week > weeksInYear(mom.year(), dow, doy)) { + resWeek = week - weeksInYear(mom.year(), dow, doy); + resYear = mom.year() + 1; + } else { + resYear = mom.year(); + resWeek = week; + } + + return { + week: resWeek, + year: resYear + }; + } + + function weeksInYear(year, dow, doy) { + var weekOffset = firstWeekOffset(year, dow, doy), + weekOffsetNext = firstWeekOffset(year + 1, dow, doy); + return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; + } + + // FORMATTING + + addFormatToken('w', ['ww', 2], 'wo', 'week'); + addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); + + // ALIASES + + addUnitAlias('week', 'w'); + addUnitAlias('isoWeek', 'W'); + + // PRIORITIES + + addUnitPriority('week', 5); + addUnitPriority('isoWeek', 5); + + // PARSING + + addRegexToken('w', match1to2); + addRegexToken('ww', match1to2, match2); + addRegexToken('W', match1to2); + addRegexToken('WW', match1to2, match2); + + addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { + week[token.substr(0, 1)] = toInt(input); + }); + + // HELPERS + + // LOCALES + + function localeWeek (mom) { + return weekOfYear(mom, this._week.dow, this._week.doy).week; + } + + var defaultLocaleWeek = { + dow : 0, // Sunday is the first day of the week. + doy : 6 // The week that contains Jan 6th is the first week of the year. + }; + + function localeFirstDayOfWeek () { + return this._week.dow; + } + + function localeFirstDayOfYear () { + return this._week.doy; + } + + // MOMENTS + + function getSetWeek (input) { + var week = this.localeData().week(this); + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + function getSetISOWeek (input) { + var week = weekOfYear(this, 1, 4).week; + return input == null ? week : this.add((input - week) * 7, 'd'); + } + + // FORMATTING + + addFormatToken('d', 0, 'do', 'day'); + + addFormatToken('dd', 0, 0, function (format) { + return this.localeData().weekdaysMin(this, format); + }); + + addFormatToken('ddd', 0, 0, function (format) { + return this.localeData().weekdaysShort(this, format); + }); + + addFormatToken('dddd', 0, 0, function (format) { + return this.localeData().weekdays(this, format); + }); + + addFormatToken('e', 0, 0, 'weekday'); + addFormatToken('E', 0, 0, 'isoWeekday'); + + // ALIASES + + addUnitAlias('day', 'd'); + addUnitAlias('weekday', 'e'); + addUnitAlias('isoWeekday', 'E'); + + // PRIORITY + addUnitPriority('day', 11); + addUnitPriority('weekday', 11); + addUnitPriority('isoWeekday', 11); + + // PARSING + + addRegexToken('d', match1to2); + addRegexToken('e', match1to2); + addRegexToken('E', match1to2); + addRegexToken('dd', function (isStrict, locale) { + return locale.weekdaysMinRegex(isStrict); + }); + addRegexToken('ddd', function (isStrict, locale) { + return locale.weekdaysShortRegex(isStrict); + }); + addRegexToken('dddd', function (isStrict, locale) { + return locale.weekdaysRegex(isStrict); + }); + + addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { + var weekday = config._locale.weekdaysParse(input, token, config._strict); + // if we didn't get a weekday name, mark the date as invalid + if (weekday != null) { + week.d = weekday; + } else { + getParsingFlags(config).invalidWeekday = input; + } + }); + + addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { + week[token] = toInt(input); + }); + + // HELPERS + + function parseWeekday(input, locale) { + if (typeof input !== 'string') { + return input; + } + + if (!isNaN(input)) { + return parseInt(input, 10); + } + + input = locale.weekdaysParse(input); + if (typeof input === 'number') { + return input; + } + + return null; + } + + function parseIsoWeekday(input, locale) { + if (typeof input === 'string') { + return locale.weekdaysParse(input) % 7 || 7; + } + return isNaN(input) ? null : input; + } + + // LOCALES + function shiftWeekdays (ws, n) { + return ws.slice(n, 7).concat(ws.slice(0, n)); + } + + var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); + function localeWeekdays (m, format) { + var weekdays = isArray(this._weekdays) ? this._weekdays : + this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; + return (m === true) ? shiftWeekdays(weekdays, this._week.dow) + : (m) ? weekdays[m.day()] : weekdays; + } + + var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); + function localeWeekdaysShort (m) { + return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) + : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; + } + + var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); + function localeWeekdaysMin (m) { + return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) + : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; + } + + function handleStrictParse$1(weekdayName, format, strict) { + var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._shortWeekdaysParse = []; + this._minWeekdaysParse = []; + + for (i = 0; i < 7; ++i) { + mom = createUTC([2000, 1]).day(i); + this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); + this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); + this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); + } + } + + if (strict) { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } else { + if (format === 'dddd') { + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else if (format === 'ddd') { + ii = indexOf.call(this._shortWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._minWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } else { + ii = indexOf.call(this._minWeekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._weekdaysParse, llc); + if (ii !== -1) { + return ii; + } + ii = indexOf.call(this._shortWeekdaysParse, llc); + return ii !== -1 ? ii : null; + } + } + } + + function localeWeekdaysParse (weekdayName, format, strict) { + var i, mom, regex; + + if (this._weekdaysParseExact) { + return handleStrictParse$1.call(this, weekdayName, format, strict); + } + + if (!this._weekdaysParse) { + this._weekdaysParse = []; + this._minWeekdaysParse = []; + this._shortWeekdaysParse = []; + this._fullWeekdaysParse = []; + } + + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + + mom = createUTC([2000, 1]).day(i); + if (strict && !this._fullWeekdaysParse[i]) { + this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); + this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); + this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); + } + if (!this._weekdaysParse[i]) { + regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); + this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); + } + // test the regex + if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { + return i; + } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { + return i; + } + } + } + + // MOMENTS + + function getSetDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); + if (input != null) { + input = parseWeekday(input, this.localeData()); + return this.add(input - day, 'd'); + } else { + return day; + } + } + + function getSetLocaleDayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; + return input == null ? weekday : this.add(input - weekday, 'd'); + } + + function getSetISODayOfWeek (input) { + if (!this.isValid()) { + return input != null ? this : NaN; + } + + // behaves the same as moment#day except + // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) + // as a setter, sunday should belong to the previous week. + + if (input != null) { + var weekday = parseIsoWeekday(input, this.localeData()); + return this.day(this.day() % 7 ? weekday : weekday - 7); + } else { + return this.day() || 7; + } + } + + var defaultWeekdaysRegex = matchWord; + function weekdaysRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysStrictRegex; + } else { + return this._weekdaysRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysRegex')) { + this._weekdaysRegex = defaultWeekdaysRegex; + } + return this._weekdaysStrictRegex && isStrict ? + this._weekdaysStrictRegex : this._weekdaysRegex; + } + } + + var defaultWeekdaysShortRegex = matchWord; + function weekdaysShortRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysShortStrictRegex; + } else { + return this._weekdaysShortRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysShortRegex')) { + this._weekdaysShortRegex = defaultWeekdaysShortRegex; + } + return this._weekdaysShortStrictRegex && isStrict ? + this._weekdaysShortStrictRegex : this._weekdaysShortRegex; + } + } + + var defaultWeekdaysMinRegex = matchWord; + function weekdaysMinRegex (isStrict) { + if (this._weekdaysParseExact) { + if (!hasOwnProp(this, '_weekdaysRegex')) { + computeWeekdaysParse.call(this); + } + if (isStrict) { + return this._weekdaysMinStrictRegex; + } else { + return this._weekdaysMinRegex; + } + } else { + if (!hasOwnProp(this, '_weekdaysMinRegex')) { + this._weekdaysMinRegex = defaultWeekdaysMinRegex; + } + return this._weekdaysMinStrictRegex && isStrict ? + this._weekdaysMinStrictRegex : this._weekdaysMinRegex; + } + } + + + function computeWeekdaysParse () { + function cmpLenRev(a, b) { + return b.length - a.length; + } + + var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], + i, mom, minp, shortp, longp; + for (i = 0; i < 7; i++) { + // make the regex if we don't have it already + mom = createUTC([2000, 1]).day(i); + minp = this.weekdaysMin(mom, ''); + shortp = this.weekdaysShort(mom, ''); + longp = this.weekdays(mom, ''); + minPieces.push(minp); + shortPieces.push(shortp); + longPieces.push(longp); + mixedPieces.push(minp); + mixedPieces.push(shortp); + mixedPieces.push(longp); + } + // Sorting makes sure if one weekday (or abbr) is a prefix of another it + // will match the longer piece. + minPieces.sort(cmpLenRev); + shortPieces.sort(cmpLenRev); + longPieces.sort(cmpLenRev); + mixedPieces.sort(cmpLenRev); + for (i = 0; i < 7; i++) { + shortPieces[i] = regexEscape(shortPieces[i]); + longPieces[i] = regexEscape(longPieces[i]); + mixedPieces[i] = regexEscape(mixedPieces[i]); + } + + this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); + this._weekdaysShortRegex = this._weekdaysRegex; + this._weekdaysMinRegex = this._weekdaysRegex; + + this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); + this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); + this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); + } + + // FORMATTING + + function hFormat() { + return this.hours() % 12 || 12; + } + + function kFormat() { + return this.hours() || 24; + } + + addFormatToken('H', ['HH', 2], 0, 'hour'); + addFormatToken('h', ['hh', 2], 0, hFormat); + addFormatToken('k', ['kk', 2], 0, kFormat); + + addFormatToken('hmm', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); + }); + + addFormatToken('hmmss', 0, 0, function () { + return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + addFormatToken('Hmm', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2); + }); + + addFormatToken('Hmmss', 0, 0, function () { + return '' + this.hours() + zeroFill(this.minutes(), 2) + + zeroFill(this.seconds(), 2); + }); + + function meridiem (token, lowercase) { + addFormatToken(token, 0, 0, function () { + return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); + }); + } + + meridiem('a', true); + meridiem('A', false); + + // ALIASES + + addUnitAlias('hour', 'h'); + + // PRIORITY + addUnitPriority('hour', 13); + + // PARSING + + function matchMeridiem (isStrict, locale) { + return locale._meridiemParse; + } + + addRegexToken('a', matchMeridiem); + addRegexToken('A', matchMeridiem); + addRegexToken('H', match1to2); + addRegexToken('h', match1to2); + addRegexToken('k', match1to2); + addRegexToken('HH', match1to2, match2); + addRegexToken('hh', match1to2, match2); + addRegexToken('kk', match1to2, match2); + + addRegexToken('hmm', match3to4); + addRegexToken('hmmss', match5to6); + addRegexToken('Hmm', match3to4); + addRegexToken('Hmmss', match5to6); + + addParseToken(['H', 'HH'], HOUR); + addParseToken(['k', 'kk'], function (input, array, config) { + var kInput = toInt(input); + array[HOUR] = kInput === 24 ? 0 : kInput; + }); + addParseToken(['a', 'A'], function (input, array, config) { + config._isPm = config._locale.isPM(input); + config._meridiem = input; + }); + addParseToken(['h', 'hh'], function (input, array, config) { + array[HOUR] = toInt(input); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + getParsingFlags(config).bigHour = true; + }); + addParseToken('Hmm', function (input, array, config) { + var pos = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos)); + array[MINUTE] = toInt(input.substr(pos)); + }); + addParseToken('Hmmss', function (input, array, config) { + var pos1 = input.length - 4; + var pos2 = input.length - 2; + array[HOUR] = toInt(input.substr(0, pos1)); + array[MINUTE] = toInt(input.substr(pos1, 2)); + array[SECOND] = toInt(input.substr(pos2)); + }); + + // LOCALES + + function localeIsPM (input) { + // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays + // Using charAt should be more compatible. + return ((input + '').toLowerCase().charAt(0) === 'p'); + } + + var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; + function localeMeridiem (hours, minutes, isLower) { + if (hours > 11) { + return isLower ? 'pm' : 'PM'; + } else { + return isLower ? 'am' : 'AM'; + } + } + + + // MOMENTS + + // Setting the hour should keep the time, because the user explicitly + // specified which hour they want. So trying to maintain the same hour (in + // a new timezone) makes sense. Adding/subtracting hours does not follow + // this rule. + var getSetHour = makeGetSet('Hours', true); + + var baseConfig = { + calendar: defaultCalendar, + longDateFormat: defaultLongDateFormat, + invalidDate: defaultInvalidDate, + ordinal: defaultOrdinal, + dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, + relativeTime: defaultRelativeTime, + + months: defaultLocaleMonths, + monthsShort: defaultLocaleMonthsShort, + + week: defaultLocaleWeek, + + weekdays: defaultLocaleWeekdays, + weekdaysMin: defaultLocaleWeekdaysMin, + weekdaysShort: defaultLocaleWeekdaysShort, + + meridiemParse: defaultLocaleMeridiemParse + }; + + // internal storage for locale config files + var locales = {}; + var localeFamilies = {}; + var globalLocale; + + function normalizeLocale(key) { + return key ? key.toLowerCase().replace('_', '-') : key; + } + + // pick the locale from the array + // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each + // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root + function chooseLocale(names) { + var i = 0, j, next, locale, split; + + while (i < names.length) { + split = normalizeLocale(names[i]).split('-'); + j = split.length; + next = normalizeLocale(names[i + 1]); + next = next ? next.split('-') : null; + while (j > 0) { + locale = loadLocale(split.slice(0, j).join('-')); + if (locale) { + return locale; + } + if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { + //the next array item is better than a shallower substring of this one + break; + } + j--; + } + i++; + } + return globalLocale; + } + + function loadLocale(name) { + var oldLocale = null; + // TODO: Find a better way to register and load all the locales in Node + if (!locales[name] && (typeof module !== 'undefined') && + module && module.exports) { + try { + oldLocale = globalLocale._abbr; + var aliasedRequire = require; + aliasedRequire('./locale/' + name); + getSetGlobalLocale(oldLocale); + } catch (e) {} + } + return locales[name]; + } + + // This function will load locale and then set the global locale. If + // no arguments are passed in, it will simply return the current global + // locale key. + function getSetGlobalLocale (key, values) { + var data; + if (key) { + if (isUndefined(values)) { + data = getLocale(key); + } + else { + data = defineLocale(key, values); + } + + if (data) { + // moment.duration._locale = moment._locale = data; + globalLocale = data; + } + else { + if ((typeof console !== 'undefined') && console.warn) { + //warn user if arguments are passed but the locale could not be set + console.warn('Locale ' + key + ' not found. Did you forget to load it?'); + } + } + } + + return globalLocale._abbr; + } + + function defineLocale (name, config) { + if (config !== null) { + var locale, parentConfig = baseConfig; + config.abbr = name; + if (locales[name] != null) { + deprecateSimple('defineLocaleOverride', + 'use moment.updateLocale(localeName, config) to change ' + + 'an existing locale. moment.defineLocale(localeName, ' + + 'config) should only be used for creating a new locale ' + + 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); + parentConfig = locales[name]._config; + } else if (config.parentLocale != null) { + if (locales[config.parentLocale] != null) { + parentConfig = locales[config.parentLocale]._config; + } else { + locale = loadLocale(config.parentLocale); + if (locale != null) { + parentConfig = locale._config; + } else { + if (!localeFamilies[config.parentLocale]) { + localeFamilies[config.parentLocale] = []; + } + localeFamilies[config.parentLocale].push({ + name: name, + config: config + }); + return null; + } + } + } + locales[name] = new Locale(mergeConfigs(parentConfig, config)); + + if (localeFamilies[name]) { + localeFamilies[name].forEach(function (x) { + defineLocale(x.name, x.config); + }); + } + + // backwards compat for now: also set the locale + // make sure we set the locale AFTER all child locales have been + // created, so we won't end up with the child locale set. + getSetGlobalLocale(name); + + + return locales[name]; + } else { + // useful for testing + delete locales[name]; + return null; + } + } + + function updateLocale(name, config) { + if (config != null) { + var locale, tmpLocale, parentConfig = baseConfig; + // MERGE + tmpLocale = loadLocale(name); + if (tmpLocale != null) { + parentConfig = tmpLocale._config; + } + config = mergeConfigs(parentConfig, config); + locale = new Locale(config); + locale.parentLocale = locales[name]; + locales[name] = locale; + + // backwards compat for now: also set the locale + getSetGlobalLocale(name); + } else { + // pass null for config to unupdate, useful for tests + if (locales[name] != null) { + if (locales[name].parentLocale != null) { + locales[name] = locales[name].parentLocale; + } else if (locales[name] != null) { + delete locales[name]; + } + } + } + return locales[name]; + } + + // returns locale data + function getLocale (key) { + var locale; + + if (key && key._locale && key._locale._abbr) { + key = key._locale._abbr; + } + + if (!key) { + return globalLocale; + } + + if (!isArray(key)) { + //short-circuit everything else + locale = loadLocale(key); + if (locale) { + return locale; + } + key = [key]; + } + + return chooseLocale(key); + } + + function listLocales() { + return keys(locales); + } + + function checkOverflow (m) { + var overflow; + var a = m._a; + + if (a && getParsingFlags(m).overflow === -2) { + overflow = + a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : + a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : + a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : + a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : + a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : + a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : + -1; + + if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { + overflow = DATE; + } + if (getParsingFlags(m)._overflowWeeks && overflow === -1) { + overflow = WEEK; + } + if (getParsingFlags(m)._overflowWeekday && overflow === -1) { + overflow = WEEKDAY; + } + + getParsingFlags(m).overflow = overflow; + } + + return m; + } + + // Pick the first defined of two or three arguments. + function defaults(a, b, c) { + if (a != null) { + return a; + } + if (b != null) { + return b; + } + return c; + } + + function currentDateArray(config) { + // hooks is actually the exported moment object + var nowValue = new Date(hooks.now()); + if (config._useUTC) { + return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; + } + return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; + } + + // convert an array to a date. + // the array should mirror the parameters below + // note: all values past the year are optional and will default to the lowest possible value. + // [year, month, day , hour, minute, second, millisecond] + function configFromArray (config) { + var i, date, input = [], currentDate, expectedWeekday, yearToUse; + + if (config._d) { + return; + } + + currentDate = currentDateArray(config); + + //compute day of the year from weeks and weekdays + if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { + dayOfYearFromWeekInfo(config); + } + + //if the day of the year is set, figure out what it is + if (config._dayOfYear != null) { + yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); + + if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { + getParsingFlags(config)._overflowDayOfYear = true; + } + + date = createUTCDate(yearToUse, 0, config._dayOfYear); + config._a[MONTH] = date.getUTCMonth(); + config._a[DATE] = date.getUTCDate(); + } + + // Default to current date. + // * if no year, month, day of month are given, default to today + // * if day of month is given, default month and year + // * if month is given, default only year + // * if year is given, don't default anything + for (i = 0; i < 3 && config._a[i] == null; ++i) { + config._a[i] = input[i] = currentDate[i]; + } + + // Zero out whatever was not defaulted, including time + for (; i < 7; i++) { + config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; + } + + // Check for 24:00:00.000 + if (config._a[HOUR] === 24 && + config._a[MINUTE] === 0 && + config._a[SECOND] === 0 && + config._a[MILLISECOND] === 0) { + config._nextDay = true; + config._a[HOUR] = 0; + } + + config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); + expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); + + // Apply timezone offset from input. The actual utcOffset can be changed + // with parseZone. + if (config._tzm != null) { + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + } + + if (config._nextDay) { + config._a[HOUR] = 24; + } + + // check for mismatching day of week + if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { + getParsingFlags(config).weekdayMismatch = true; + } + } + + function dayOfYearFromWeekInfo(config) { + var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; + + w = config._w; + if (w.GG != null || w.W != null || w.E != null) { + dow = 1; + doy = 4; + + // TODO: We need to take the current isoWeekYear, but that depends on + // how we interpret now (local, utc, fixed offset). So create + // a now version of current config (take local/utc/offset flags, and + // create now). + weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); + week = defaults(w.W, 1); + weekday = defaults(w.E, 1); + if (weekday < 1 || weekday > 7) { + weekdayOverflow = true; + } + } else { + dow = config._locale._week.dow; + doy = config._locale._week.doy; + + var curWeek = weekOfYear(createLocal(), dow, doy); + + weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); + + // Default to current week. + week = defaults(w.w, curWeek.week); + + if (w.d != null) { + // weekday -- low day numbers are considered next week + weekday = w.d; + if (weekday < 0 || weekday > 6) { + weekdayOverflow = true; + } + } else if (w.e != null) { + // local weekday -- counting starts from beginning of week + weekday = w.e + dow; + if (w.e < 0 || w.e > 6) { + weekdayOverflow = true; + } + } else { + // default to beginning of week + weekday = dow; + } + } + if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { + getParsingFlags(config)._overflowWeeks = true; + } else if (weekdayOverflow != null) { + getParsingFlags(config)._overflowWeekday = true; + } else { + temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); + config._a[YEAR] = temp.year; + config._dayOfYear = temp.dayOfYear; + } + } + + // iso 8601 regex + // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00) + var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/; + + var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; + + var isoDates = [ + ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], + ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], + ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], + ['GGGG-[W]WW', /\d{4}-W\d\d/, false], + ['YYYY-DDD', /\d{4}-\d{3}/], + ['YYYY-MM', /\d{4}-\d\d/, false], + ['YYYYYYMMDD', /[+-]\d{10}/], + ['YYYYMMDD', /\d{8}/], + // YYYYMM is NOT allowed by the standard + ['GGGG[W]WWE', /\d{4}W\d{3}/], + ['GGGG[W]WW', /\d{4}W\d{2}/, false], + ['YYYYDDD', /\d{7}/] + ]; + + // iso time formats and regexes + var isoTimes = [ + ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], + ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], + ['HH:mm:ss', /\d\d:\d\d:\d\d/], + ['HH:mm', /\d\d:\d\d/], + ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], + ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], + ['HHmmss', /\d\d\d\d\d\d/], + ['HHmm', /\d\d\d\d/], + ['HH', /\d\d/] + ]; + + var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; + + // date from iso format + function configFromISO(config) { + var i, l, + string = config._i, + match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), + allowTime, dateFormat, timeFormat, tzFormat; + + if (match) { + getParsingFlags(config).iso = true; + + for (i = 0, l = isoDates.length; i < l; i++) { + if (isoDates[i][1].exec(match[1])) { + dateFormat = isoDates[i][0]; + allowTime = isoDates[i][2] !== false; + break; + } + } + if (dateFormat == null) { + config._isValid = false; + return; + } + if (match[3]) { + for (i = 0, l = isoTimes.length; i < l; i++) { + if (isoTimes[i][1].exec(match[3])) { + // match[2] should be 'T' or space + timeFormat = (match[2] || ' ') + isoTimes[i][0]; + break; + } + } + if (timeFormat == null) { + config._isValid = false; + return; + } + } + if (!allowTime && timeFormat != null) { + config._isValid = false; + return; + } + if (match[4]) { + if (tzRegex.exec(match[4])) { + tzFormat = 'Z'; + } else { + config._isValid = false; + return; + } + } + config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); + configFromStringAndFormat(config); + } else { + config._isValid = false; + } + } + + // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 + var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; + + function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { + var result = [ + untruncateYear(yearStr), + defaultLocaleMonthsShort.indexOf(monthStr), + parseInt(dayStr, 10), + parseInt(hourStr, 10), + parseInt(minuteStr, 10) + ]; + + if (secondStr) { + result.push(parseInt(secondStr, 10)); + } + + return result; + } + + function untruncateYear(yearStr) { + var year = parseInt(yearStr, 10); + if (year <= 49) { + return 2000 + year; + } else if (year <= 999) { + return 1900 + year; + } + return year; + } + + function preprocessRFC2822(s) { + // Remove comments and folding whitespace and replace multiple-spaces with a single space + return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); + } + + function checkWeekday(weekdayStr, parsedInput, config) { + if (weekdayStr) { + // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. + var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), + weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); + if (weekdayProvided !== weekdayActual) { + getParsingFlags(config).weekdayMismatch = true; + config._isValid = false; + return false; + } + } + return true; + } + + var obsOffsets = { + UT: 0, + GMT: 0, + EDT: -4 * 60, + EST: -5 * 60, + CDT: -5 * 60, + CST: -6 * 60, + MDT: -6 * 60, + MST: -7 * 60, + PDT: -7 * 60, + PST: -8 * 60 + }; + + function calculateOffset(obsOffset, militaryOffset, numOffset) { + if (obsOffset) { + return obsOffsets[obsOffset]; + } else if (militaryOffset) { + // the only allowed military tz is Z + return 0; + } else { + var hm = parseInt(numOffset, 10); + var m = hm % 100, h = (hm - m) / 100; + return h * 60 + m; + } + } + + // date and time from ref 2822 format + function configFromRFC2822(config) { + var match = rfc2822.exec(preprocessRFC2822(config._i)); + if (match) { + var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); + if (!checkWeekday(match[1], parsedArray, config)) { + return; + } + + config._a = parsedArray; + config._tzm = calculateOffset(match[8], match[9], match[10]); + + config._d = createUTCDate.apply(null, config._a); + config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); + + getParsingFlags(config).rfc2822 = true; + } else { + config._isValid = false; + } + } + + // date from iso format or fallback + function configFromString(config) { + var matched = aspNetJsonRegex.exec(config._i); + + if (matched !== null) { + config._d = new Date(+matched[1]); + return; + } + + configFromISO(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + configFromRFC2822(config); + if (config._isValid === false) { + delete config._isValid; + } else { + return; + } + + // Final attempt, use Input Fallback + hooks.createFromInputFallback(config); + } + + hooks.createFromInputFallback = deprecate( + 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + + 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + + 'discouraged and will be removed in an upcoming major release. Please refer to ' + + 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', + function (config) { + config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); + } + ); + + // constant that refers to the ISO standard + hooks.ISO_8601 = function () {}; + + // constant that refers to the RFC 2822 form + hooks.RFC_2822 = function () {}; + + // date from string and format string + function configFromStringAndFormat(config) { + // TODO: Move this to another part of the creation flow to prevent circular deps + if (config._f === hooks.ISO_8601) { + configFromISO(config); + return; + } + if (config._f === hooks.RFC_2822) { + configFromRFC2822(config); + return; + } + config._a = []; + getParsingFlags(config).empty = true; + + // This array is used to make a Date, either with `new Date` or `Date.UTC` + var string = '' + config._i, + i, parsedInput, tokens, token, skipped, + stringLength = string.length, + totalParsedInputLength = 0; + + tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; + // console.log('token', token, 'parsedInput', parsedInput, + // 'regex', getParseRegexForToken(token, config)); + if (parsedInput) { + skipped = string.substr(0, string.indexOf(parsedInput)); + if (skipped.length > 0) { + getParsingFlags(config).unusedInput.push(skipped); + } + string = string.slice(string.indexOf(parsedInput) + parsedInput.length); + totalParsedInputLength += parsedInput.length; + } + // don't parse if it's not a known token + if (formatTokenFunctions[token]) { + if (parsedInput) { + getParsingFlags(config).empty = false; + } + else { + getParsingFlags(config).unusedTokens.push(token); + } + addTimeToArrayFromToken(token, parsedInput, config); + } + else if (config._strict && !parsedInput) { + getParsingFlags(config).unusedTokens.push(token); + } + } + + // add remaining unparsed input length to the string + getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; + if (string.length > 0) { + getParsingFlags(config).unusedInput.push(string); + } + + // clear _12h flag if hour is <= 12 + if (config._a[HOUR] <= 12 && + getParsingFlags(config).bigHour === true && + config._a[HOUR] > 0) { + getParsingFlags(config).bigHour = undefined; + } + + getParsingFlags(config).parsedDateParts = config._a.slice(0); + getParsingFlags(config).meridiem = config._meridiem; + // handle meridiem + config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); + + configFromArray(config); + checkOverflow(config); + } + + + function meridiemFixWrap (locale, hour, meridiem) { + var isPm; + + if (meridiem == null) { + // nothing to do + return hour; + } + if (locale.meridiemHour != null) { + return locale.meridiemHour(hour, meridiem); + } else if (locale.isPM != null) { + // Fallback + isPm = locale.isPM(meridiem); + if (isPm && hour < 12) { + hour += 12; + } + if (!isPm && hour === 12) { + hour = 0; + } + return hour; + } else { + // this is not supposed to happen + return hour; + } + } + + // date from string and array of format strings + function configFromStringAndArray(config) { + var tempConfig, + bestMoment, + + scoreToBeat, + i, + currentScore; + + if (config._f.length === 0) { + getParsingFlags(config).invalidFormat = true; + config._d = new Date(NaN); + return; + } + + for (i = 0; i < config._f.length; i++) { + currentScore = 0; + tempConfig = copyConfig({}, config); + if (config._useUTC != null) { + tempConfig._useUTC = config._useUTC; + } + tempConfig._f = config._f[i]; + configFromStringAndFormat(tempConfig); + + if (!isValid(tempConfig)) { + continue; + } + + // if there is any input that was not parsed add a penalty for that format + currentScore += getParsingFlags(tempConfig).charsLeftOver; + + //or tokens + currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; + + getParsingFlags(tempConfig).score = currentScore; + + if (scoreToBeat == null || currentScore < scoreToBeat) { + scoreToBeat = currentScore; + bestMoment = tempConfig; + } + } + + extend(config, bestMoment || tempConfig); + } + + function configFromObject(config) { + if (config._d) { + return; + } + + var i = normalizeObjectUnits(config._i); + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); + + configFromArray(config); + } + + function createFromConfig (config) { + var res = new Moment(checkOverflow(prepareConfig(config))); + if (res._nextDay) { + // Adding is smart enough around DST + res.add(1, 'd'); + res._nextDay = undefined; + } + + return res; + } + + function prepareConfig (config) { + var input = config._i, + format = config._f; + + config._locale = config._locale || getLocale(config._l); + + if (input === null || (format === undefined && input === '')) { + return createInvalid({nullInput: true}); + } + + if (typeof input === 'string') { + config._i = input = config._locale.preparse(input); + } + + if (isMoment(input)) { + return new Moment(checkOverflow(input)); + } else if (isDate(input)) { + config._d = input; + } else if (isArray(format)) { + configFromStringAndArray(config); + } else if (format) { + configFromStringAndFormat(config); + } else { + configFromInput(config); + } + + if (!isValid(config)) { + config._d = null; + } + + return config; + } + + function configFromInput(config) { + var input = config._i; + if (isUndefined(input)) { + config._d = new Date(hooks.now()); + } else if (isDate(input)) { + config._d = new Date(input.valueOf()); + } else if (typeof input === 'string') { + configFromString(config); + } else if (isArray(input)) { + config._a = map(input.slice(0), function (obj) { + return parseInt(obj, 10); + }); + configFromArray(config); + } else if (isObject(input)) { + configFromObject(config); + } else if (isNumber(input)) { + // from milliseconds + config._d = new Date(input); + } else { + hooks.createFromInputFallback(config); + } + } + + function createLocalOrUTC (input, format, locale, strict, isUTC) { + var c = {}; + + if (locale === true || locale === false) { + strict = locale; + locale = undefined; + } + + if ((isObject(input) && isObjectEmpty(input)) || + (isArray(input) && input.length === 0)) { + input = undefined; + } + // object construction must be done this way. + // https://github.com/moment/moment/issues/1423 + c._isAMomentObject = true; + c._useUTC = c._isUTC = isUTC; + c._l = locale; + c._i = input; + c._f = format; + c._strict = strict; + + return createFromConfig(c); + } + + function createLocal (input, format, locale, strict) { + return createLocalOrUTC(input, format, locale, strict, false); + } + + var prototypeMin = deprecate( + 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other < this ? this : other; + } else { + return createInvalid(); + } + } + ); + + var prototypeMax = deprecate( + 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', + function () { + var other = createLocal.apply(null, arguments); + if (this.isValid() && other.isValid()) { + return other > this ? this : other; + } else { + return createInvalid(); + } + } + ); + + // Pick a moment m from moments so that m[fn](other) is true for all + // other. This relies on the function fn to be transitive. + // + // moments should either be an array of moment objects or an array, whose + // first element is an array of moment objects. + function pickBy(fn, moments) { + var res, i; + if (moments.length === 1 && isArray(moments[0])) { + moments = moments[0]; + } + if (!moments.length) { + return createLocal(); + } + res = moments[0]; + for (i = 1; i < moments.length; ++i) { + if (!moments[i].isValid() || moments[i][fn](res)) { + res = moments[i]; + } + } + return res; + } + + // TODO: Use [].sort instead? + function min () { + var args = [].slice.call(arguments, 0); + + return pickBy('isBefore', args); + } + + function max () { + var args = [].slice.call(arguments, 0); + + return pickBy('isAfter', args); + } + + var now = function () { + return Date.now ? Date.now() : +(new Date()); + }; + + var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; + + function isDurationValid(m) { + for (var key in m) { + if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { + return false; + } + } + + var unitHasDecimal = false; + for (var i = 0; i < ordering.length; ++i) { + if (m[ordering[i]]) { + if (unitHasDecimal) { + return false; // only allow non-integers for smallest unit + } + if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { + unitHasDecimal = true; + } + } + } + + return true; + } + + function isValid$1() { + return this._isValid; + } + + function createInvalid$1() { + return createDuration(NaN); + } + + function Duration (duration) { + var normalizedInput = normalizeObjectUnits(duration), + years = normalizedInput.year || 0, + quarters = normalizedInput.quarter || 0, + months = normalizedInput.month || 0, + weeks = normalizedInput.week || normalizedInput.isoWeek || 0, + days = normalizedInput.day || 0, + hours = normalizedInput.hour || 0, + minutes = normalizedInput.minute || 0, + seconds = normalizedInput.second || 0, + milliseconds = normalizedInput.millisecond || 0; + + this._isValid = isDurationValid(normalizedInput); + + // representation for dateAddRemove + this._milliseconds = +milliseconds + + seconds * 1e3 + // 1000 + minutes * 6e4 + // 1000 * 60 + hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 + // Because of dateAddRemove treats 24 hours as different from a + // day when working around DST, we need to store them separately + this._days = +days + + weeks * 7; + // It is impossible to translate months into days without knowing + // which months you are are talking about, so we have to store + // it separately. + this._months = +months + + quarters * 3 + + years * 12; + + this._data = {}; + + this._locale = getLocale(); + + this._bubble(); + } + + function isDuration (obj) { + return obj instanceof Duration; + } + + function absRound (number) { + if (number < 0) { + return Math.round(-1 * number) * -1; + } else { + return Math.round(number); + } + } + + // FORMATTING + + function offset (token, separator) { + addFormatToken(token, 0, 0, function () { + var offset = this.utcOffset(); + var sign = '+'; + if (offset < 0) { + offset = -offset; + sign = '-'; + } + return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); + }); + } + + offset('Z', ':'); + offset('ZZ', ''); + + // PARSING + + addRegexToken('Z', matchShortOffset); + addRegexToken('ZZ', matchShortOffset); + addParseToken(['Z', 'ZZ'], function (input, array, config) { + config._useUTC = true; + config._tzm = offsetFromString(matchShortOffset, input); + }); + + // HELPERS + + // timezone chunker + // '+10:00' > ['10', '00'] + // '-1530' > ['-15', '30'] + var chunkOffset = /([\+\-]|\d\d)/gi; + + function offsetFromString(matcher, string) { + var matches = (string || '').match(matcher); + + if (matches === null) { + return null; + } + + var chunk = matches[matches.length - 1] || []; + var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; + var minutes = +(parts[1] * 60) + toInt(parts[2]); + + return minutes === 0 ? + 0 : + parts[0] === '+' ? minutes : -minutes; + } + + // Return a moment from input, that is local/utc/zone equivalent to model. + function cloneWithOffset(input, model) { + var res, diff; + if (model._isUTC) { + res = model.clone(); + diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); + // Use low-level api, because this fn is low-level api. + res._d.setTime(res._d.valueOf() + diff); + hooks.updateOffset(res, false); + return res; + } else { + return createLocal(input).local(); + } + } + + function getDateOffset (m) { + // On Firefox.24 Date#getTimezoneOffset returns a floating point. + // https://github.com/moment/moment/pull/1871 + return -Math.round(m._d.getTimezoneOffset() / 15) * 15; + } + + // HOOKS + + // This function will be called whenever a moment is mutated. + // It is intended to keep the offset in sync with the timezone. + hooks.updateOffset = function () {}; + + // MOMENTS + + // keepLocalTime = true means only change the timezone, without + // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> + // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset + // +0200, so we adjust the time as needed, to be valid. + // + // Keeping the time actually adds/subtracts (one hour) + // from the actual represented time. That is why we call updateOffset + // a second time. In case it wants us to change the offset again + // _changeInProgress == true case, then we have to adjust, because + // there is no such time in the given timezone. + function getSetOffset (input, keepLocalTime, keepMinutes) { + var offset = this._offset || 0, + localAdjust; + if (!this.isValid()) { + return input != null ? this : NaN; + } + if (input != null) { + if (typeof input === 'string') { + input = offsetFromString(matchShortOffset, input); + if (input === null) { + return this; + } + } else if (Math.abs(input) < 16 && !keepMinutes) { + input = input * 60; + } + if (!this._isUTC && keepLocalTime) { + localAdjust = getDateOffset(this); + } + this._offset = input; + this._isUTC = true; + if (localAdjust != null) { + this.add(localAdjust, 'm'); + } + if (offset !== input) { + if (!keepLocalTime || this._changeInProgress) { + addSubtract(this, createDuration(input - offset, 'm'), 1, false); + } else if (!this._changeInProgress) { + this._changeInProgress = true; + hooks.updateOffset(this, true); + this._changeInProgress = null; + } + } + return this; + } else { + return this._isUTC ? offset : getDateOffset(this); + } + } + + function getSetZone (input, keepLocalTime) { + if (input != null) { + if (typeof input !== 'string') { + input = -input; + } + + this.utcOffset(input, keepLocalTime); + + return this; + } else { + return -this.utcOffset(); + } + } + + function setOffsetToUTC (keepLocalTime) { + return this.utcOffset(0, keepLocalTime); + } + + function setOffsetToLocal (keepLocalTime) { + if (this._isUTC) { + this.utcOffset(0, keepLocalTime); + this._isUTC = false; + + if (keepLocalTime) { + this.subtract(getDateOffset(this), 'm'); + } + } + return this; + } + + function setOffsetToParsedOffset () { + if (this._tzm != null) { + this.utcOffset(this._tzm, false, true); + } else if (typeof this._i === 'string') { + var tZone = offsetFromString(matchOffset, this._i); + if (tZone != null) { + this.utcOffset(tZone); + } + else { + this.utcOffset(0, true); + } + } + return this; + } + + function hasAlignedHourOffset (input) { + if (!this.isValid()) { + return false; + } + input = input ? createLocal(input).utcOffset() : 0; + + return (this.utcOffset() - input) % 60 === 0; + } + + function isDaylightSavingTime () { + return ( + this.utcOffset() > this.clone().month(0).utcOffset() || + this.utcOffset() > this.clone().month(5).utcOffset() + ); + } + + function isDaylightSavingTimeShifted () { + if (!isUndefined(this._isDSTShifted)) { + return this._isDSTShifted; + } + + var c = {}; + + copyConfig(c, this); + c = prepareConfig(c); + + if (c._a) { + var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); + this._isDSTShifted = this.isValid() && + compareArrays(c._a, other.toArray()) > 0; + } else { + this._isDSTShifted = false; + } + + return this._isDSTShifted; + } + + function isLocal () { + return this.isValid() ? !this._isUTC : false; + } + + function isUtcOffset () { + return this.isValid() ? this._isUTC : false; + } + + function isUtc () { + return this.isValid() ? this._isUTC && this._offset === 0 : false; + } + + // ASP.NET json date format regex + var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; + + // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html + // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere + // and further modified to allow for strings containing both week and day + var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; + + function createDuration (input, key) { + var duration = input, + // matching against regexp is expensive, do it on demand + match = null, + sign, + ret, + diffRes; + + if (isDuration(input)) { + duration = { + ms : input._milliseconds, + d : input._days, + M : input._months + }; + } else if (isNumber(input)) { + duration = {}; + if (key) { + duration[key] = input; + } else { + duration.milliseconds = input; + } + } else if (!!(match = aspNetRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : 0, + d : toInt(match[DATE]) * sign, + h : toInt(match[HOUR]) * sign, + m : toInt(match[MINUTE]) * sign, + s : toInt(match[SECOND]) * sign, + ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match + }; + } else if (!!(match = isoRegex.exec(input))) { + sign = (match[1] === '-') ? -1 : 1; + duration = { + y : parseIso(match[2], sign), + M : parseIso(match[3], sign), + w : parseIso(match[4], sign), + d : parseIso(match[5], sign), + h : parseIso(match[6], sign), + m : parseIso(match[7], sign), + s : parseIso(match[8], sign) + }; + } else if (duration == null) {// checks for null or undefined + duration = {}; + } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { + diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); + + duration = {}; + duration.ms = diffRes.milliseconds; + duration.M = diffRes.months; + } + + ret = new Duration(duration); + + if (isDuration(input) && hasOwnProp(input, '_locale')) { + ret._locale = input._locale; + } + + return ret; + } + + createDuration.fn = Duration.prototype; + createDuration.invalid = createInvalid$1; + + function parseIso (inp, sign) { + // We'd normally use ~~inp for this, but unfortunately it also + // converts floats to ints. + // inp may be undefined, so careful calling replace on it. + var res = inp && parseFloat(inp.replace(',', '.')); + // apply sign while we're at it + return (isNaN(res) ? 0 : res) * sign; + } + + function positiveMomentsDifference(base, other) { + var res = {}; + + res.months = other.month() - base.month() + + (other.year() - base.year()) * 12; + if (base.clone().add(res.months, 'M').isAfter(other)) { + --res.months; + } + + res.milliseconds = +other - +(base.clone().add(res.months, 'M')); + + return res; + } + + function momentsDifference(base, other) { + var res; + if (!(base.isValid() && other.isValid())) { + return {milliseconds: 0, months: 0}; + } + + other = cloneWithOffset(other, base); + if (base.isBefore(other)) { + res = positiveMomentsDifference(base, other); + } else { + res = positiveMomentsDifference(other, base); + res.milliseconds = -res.milliseconds; + res.months = -res.months; + } + + return res; + } + + // TODO: remove 'name' arg after deprecation is removed + function createAdder(direction, name) { + return function (val, period) { + var dur, tmp; + //invert the arguments, but complain about it + if (period !== null && !isNaN(+period)) { + deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); + tmp = val; val = period; period = tmp; + } + + val = typeof val === 'string' ? +val : val; + dur = createDuration(val, period); + addSubtract(this, dur, direction); + return this; + }; + } + + function addSubtract (mom, duration, isAdding, updateOffset) { + var milliseconds = duration._milliseconds, + days = absRound(duration._days), + months = absRound(duration._months); + + if (!mom.isValid()) { + // No op + return; + } + + updateOffset = updateOffset == null ? true : updateOffset; + + if (months) { + setMonth(mom, get(mom, 'Month') + months * isAdding); + } + if (days) { + set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); + } + if (milliseconds) { + mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); + } + if (updateOffset) { + hooks.updateOffset(mom, days || months); + } + } + + var add = createAdder(1, 'add'); + var subtract = createAdder(-1, 'subtract'); + + function getCalendarFormat(myMoment, now) { + var diff = myMoment.diff(now, 'days', true); + return diff < -6 ? 'sameElse' : + diff < -1 ? 'lastWeek' : + diff < 0 ? 'lastDay' : + diff < 1 ? 'sameDay' : + diff < 2 ? 'nextDay' : + diff < 7 ? 'nextWeek' : 'sameElse'; + } + + function calendar$1 (time, formats) { + // We want to compare the start of today, vs this. + // Getting start-of-today depends on whether we're local/utc/offset or not. + var now = time || createLocal(), + sod = cloneWithOffset(now, this).startOf('day'), + format = hooks.calendarFormat(this, sod) || 'sameElse'; + + var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); + + return this.format(output || this.localeData().calendar(format, this, createLocal(now))); + } + + function clone () { + return new Moment(this); + } + + function isAfter (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() > localInput.valueOf(); + } else { + return localInput.valueOf() < this.clone().startOf(units).valueOf(); + } + } + + function isBefore (input, units) { + var localInput = isMoment(input) ? input : createLocal(input); + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() < localInput.valueOf(); + } else { + return this.clone().endOf(units).valueOf() < localInput.valueOf(); + } + } + + function isBetween (from, to, units, inclusivity) { + var localFrom = isMoment(from) ? from : createLocal(from), + localTo = isMoment(to) ? to : createLocal(to); + if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { + return false; + } + inclusivity = inclusivity || '()'; + return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && + (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); + } + + function isSame (input, units) { + var localInput = isMoment(input) ? input : createLocal(input), + inputMs; + if (!(this.isValid() && localInput.isValid())) { + return false; + } + units = normalizeUnits(units) || 'millisecond'; + if (units === 'millisecond') { + return this.valueOf() === localInput.valueOf(); + } else { + inputMs = localInput.valueOf(); + return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); + } + } + + function isSameOrAfter (input, units) { + return this.isSame(input, units) || this.isAfter(input, units); + } + + function isSameOrBefore (input, units) { + return this.isSame(input, units) || this.isBefore(input, units); + } + + function diff (input, units, asFloat) { + var that, + zoneDelta, + output; + + if (!this.isValid()) { + return NaN; + } + + that = cloneWithOffset(input, this); + + if (!that.isValid()) { + return NaN; + } + + zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; + + units = normalizeUnits(units); + + switch (units) { + case 'year': output = monthDiff(this, that) / 12; break; + case 'month': output = monthDiff(this, that); break; + case 'quarter': output = monthDiff(this, that) / 3; break; + case 'second': output = (this - that) / 1e3; break; // 1000 + case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 + case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 + case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst + case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst + default: output = this - that; + } + + return asFloat ? output : absFloor(output); + } + + function monthDiff (a, b) { + // difference in months + var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), + // b is in (anchor - 1 month, anchor + 1 month) + anchor = a.clone().add(wholeMonthDiff, 'months'), + anchor2, adjust; + + if (b - anchor < 0) { + anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor - anchor2); + } else { + anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); + // linear across the month + adjust = (b - anchor) / (anchor2 - anchor); + } + + //check for negative zero, return zero if negative zero + return -(wholeMonthDiff + adjust) || 0; + } + + hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; + hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; + + function toString () { + return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); + } + + function toISOString(keepOffset) { + if (!this.isValid()) { + return null; + } + var utc = keepOffset !== true; + var m = utc ? this.clone().utc() : this; + if (m.year() < 0 || m.year() > 9999) { + return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + if (isFunction(Date.prototype.toISOString)) { + // native implementation is ~50x faster, use it when we can + if (utc) { + return this.toDate().toISOString(); + } else { + return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); + } + } + return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); + } + + /** + * Return a human readable representation of a moment that can + * also be evaluated to get a new moment which is the same + * + * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects + */ + function inspect () { + if (!this.isValid()) { + return 'moment.invalid(/* ' + this._i + ' */)'; + } + var func = 'moment'; + var zone = ''; + if (!this.isLocal()) { + func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; + zone = 'Z'; + } + var prefix = '[' + func + '("]'; + var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; + var datetime = '-MM-DD[T]HH:mm:ss.SSS'; + var suffix = zone + '[")]'; + + return this.format(prefix + year + datetime + suffix); + } + + function format (inputString) { + if (!inputString) { + inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; + } + var output = formatMoment(this, inputString); + return this.localeData().postformat(output); + } + + function from (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function fromNow (withoutSuffix) { + return this.from(createLocal(), withoutSuffix); + } + + function to (time, withoutSuffix) { + if (this.isValid() && + ((isMoment(time) && time.isValid()) || + createLocal(time).isValid())) { + return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); + } else { + return this.localeData().invalidDate(); + } + } + + function toNow (withoutSuffix) { + return this.to(createLocal(), withoutSuffix); + } + + // If passed a locale key, it will set the locale for this + // instance. Otherwise, it will return the locale configuration + // variables for this instance. + function locale (key) { + var newLocaleData; + + if (key === undefined) { + return this._locale._abbr; + } else { + newLocaleData = getLocale(key); + if (newLocaleData != null) { + this._locale = newLocaleData; + } + return this; + } + } + + var lang = deprecate( + 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', + function (key) { + if (key === undefined) { + return this.localeData(); + } else { + return this.locale(key); + } + } + ); + + function localeData () { + return this._locale; + } + + var MS_PER_SECOND = 1000; + var MS_PER_MINUTE = 60 * MS_PER_SECOND; + var MS_PER_HOUR = 60 * MS_PER_MINUTE; + var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; + + // actual modulo - handles negative numbers (for dates before 1970): + function mod$1(dividend, divisor) { + return (dividend % divisor + divisor) % divisor; + } + + function localStartOfDate(y, m, d) { + // the date constructor remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return new Date(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return new Date(y, m, d).valueOf(); + } + } + + function utcStartOfDate(y, m, d) { + // Date.UTC remaps years 0-99 to 1900-1999 + if (y < 100 && y >= 0) { + // preserve leap years using a full 400 year cycle, then reset + return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; + } else { + return Date.UTC(y, m, d); + } + } + + function startOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year(), 0, 1); + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3, 1); + break; + case 'month': + time = startOfDate(this.year(), this.month(), 1); + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date()); + break; + case 'hour': + time = this._d.valueOf(); + time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); + break; + case 'minute': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_MINUTE); + break; + case 'second': + time = this._d.valueOf(); + time -= mod$1(time, MS_PER_SECOND); + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function endOf (units) { + var time; + units = normalizeUnits(units); + if (units === undefined || units === 'millisecond' || !this.isValid()) { + return this; + } + + var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; + + switch (units) { + case 'year': + time = startOfDate(this.year() + 1, 0, 1) - 1; + break; + case 'quarter': + time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; + break; + case 'month': + time = startOfDate(this.year(), this.month() + 1, 1) - 1; + break; + case 'week': + time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; + break; + case 'isoWeek': + time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; + break; + case 'day': + case 'date': + time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; + break; + case 'hour': + time = this._d.valueOf(); + time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; + break; + case 'minute': + time = this._d.valueOf(); + time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; + break; + case 'second': + time = this._d.valueOf(); + time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; + break; + } + + this._d.setTime(time); + hooks.updateOffset(this, true); + return this; + } + + function valueOf () { + return this._d.valueOf() - ((this._offset || 0) * 60000); + } + + function unix () { + return Math.floor(this.valueOf() / 1000); + } + + function toDate () { + return new Date(this.valueOf()); + } + + function toArray () { + var m = this; + return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; + } + + function toObject () { + var m = this; + return { + years: m.year(), + months: m.month(), + date: m.date(), + hours: m.hours(), + minutes: m.minutes(), + seconds: m.seconds(), + milliseconds: m.milliseconds() + }; + } + + function toJSON () { + // new Date(NaN).toJSON() === null + return this.isValid() ? this.toISOString() : null; + } + + function isValid$2 () { + return isValid(this); + } + + function parsingFlags () { + return extend({}, getParsingFlags(this)); + } + + function invalidAt () { + return getParsingFlags(this).overflow; + } + + function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC, + strict: this._strict + }; + } + + // FORMATTING + + addFormatToken(0, ['gg', 2], 0, function () { + return this.weekYear() % 100; + }); + + addFormatToken(0, ['GG', 2], 0, function () { + return this.isoWeekYear() % 100; + }); + + function addWeekYearFormatToken (token, getter) { + addFormatToken(0, [token, token.length], 0, getter); + } + + addWeekYearFormatToken('gggg', 'weekYear'); + addWeekYearFormatToken('ggggg', 'weekYear'); + addWeekYearFormatToken('GGGG', 'isoWeekYear'); + addWeekYearFormatToken('GGGGG', 'isoWeekYear'); + + // ALIASES + + addUnitAlias('weekYear', 'gg'); + addUnitAlias('isoWeekYear', 'GG'); + + // PRIORITY + + addUnitPriority('weekYear', 1); + addUnitPriority('isoWeekYear', 1); + + + // PARSING + + addRegexToken('G', matchSigned); + addRegexToken('g', matchSigned); + addRegexToken('GG', match1to2, match2); + addRegexToken('gg', match1to2, match2); + addRegexToken('GGGG', match1to4, match4); + addRegexToken('gggg', match1to4, match4); + addRegexToken('GGGGG', match1to6, match6); + addRegexToken('ggggg', match1to6, match6); + + addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { + week[token.substr(0, 2)] = toInt(input); + }); + + addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { + week[token] = hooks.parseTwoDigitYear(input); + }); + + // MOMENTS + + function getSetWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, + this.week(), + this.weekday(), + this.localeData()._week.dow, + this.localeData()._week.doy); + } + + function getSetISOWeekYear (input) { + return getSetWeekYearHelper.call(this, + input, this.isoWeek(), this.isoWeekday(), 1, 4); + } + + function getISOWeeksInYear () { + return weeksInYear(this.year(), 1, 4); + } + + function getWeeksInYear () { + var weekInfo = this.localeData()._week; + return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); + } + + function getSetWeekYearHelper(input, week, weekday, dow, doy) { + var weeksTarget; + if (input == null) { + return weekOfYear(this, dow, doy).year; + } else { + weeksTarget = weeksInYear(input, dow, doy); + if (week > weeksTarget) { + week = weeksTarget; + } + return setWeekAll.call(this, input, week, weekday, dow, doy); + } + } + + function setWeekAll(weekYear, week, weekday, dow, doy) { + var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), + date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); + + this.year(date.getUTCFullYear()); + this.month(date.getUTCMonth()); + this.date(date.getUTCDate()); + return this; + } + + // FORMATTING + + addFormatToken('Q', 0, 'Qo', 'quarter'); + + // ALIASES + + addUnitAlias('quarter', 'Q'); + + // PRIORITY + + addUnitPriority('quarter', 7); + + // PARSING + + addRegexToken('Q', match1); + addParseToken('Q', function (input, array) { + array[MONTH] = (toInt(input) - 1) * 3; + }); + + // MOMENTS + + function getSetQuarter (input) { + return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); + } + + // FORMATTING + + addFormatToken('D', ['DD', 2], 'Do', 'date'); + + // ALIASES + + addUnitAlias('date', 'D'); + + // PRIORITY + addUnitPriority('date', 9); + + // PARSING + + addRegexToken('D', match1to2); + addRegexToken('DD', match1to2, match2); + addRegexToken('Do', function (isStrict, locale) { + // TODO: Remove "ordinalParse" fallback in next major release. + return isStrict ? + (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : + locale._dayOfMonthOrdinalParseLenient; + }); + + addParseToken(['D', 'DD'], DATE); + addParseToken('Do', function (input, array) { + array[DATE] = toInt(input.match(match1to2)[0]); + }); + + // MOMENTS + + var getSetDayOfMonth = makeGetSet('Date', true); + + // FORMATTING + + addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); + + // ALIASES + + addUnitAlias('dayOfYear', 'DDD'); + + // PRIORITY + addUnitPriority('dayOfYear', 4); + + // PARSING + + addRegexToken('DDD', match1to3); + addRegexToken('DDDD', match3); + addParseToken(['DDD', 'DDDD'], function (input, array, config) { + config._dayOfYear = toInt(input); + }); + + // HELPERS + + // MOMENTS + + function getSetDayOfYear (input) { + var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; + return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); + } + + // FORMATTING + + addFormatToken('m', ['mm', 2], 0, 'minute'); + + // ALIASES + + addUnitAlias('minute', 'm'); + + // PRIORITY + + addUnitPriority('minute', 14); + + // PARSING + + addRegexToken('m', match1to2); + addRegexToken('mm', match1to2, match2); + addParseToken(['m', 'mm'], MINUTE); + + // MOMENTS + + var getSetMinute = makeGetSet('Minutes', false); + + // FORMATTING + + addFormatToken('s', ['ss', 2], 0, 'second'); + + // ALIASES + + addUnitAlias('second', 's'); + + // PRIORITY + + addUnitPriority('second', 15); + + // PARSING + + addRegexToken('s', match1to2); + addRegexToken('ss', match1to2, match2); + addParseToken(['s', 'ss'], SECOND); + + // MOMENTS + + var getSetSecond = makeGetSet('Seconds', false); + + // FORMATTING + + addFormatToken('S', 0, 0, function () { + return ~~(this.millisecond() / 100); + }); + + addFormatToken(0, ['SS', 2], 0, function () { + return ~~(this.millisecond() / 10); + }); + + addFormatToken(0, ['SSS', 3], 0, 'millisecond'); + addFormatToken(0, ['SSSS', 4], 0, function () { + return this.millisecond() * 10; + }); + addFormatToken(0, ['SSSSS', 5], 0, function () { + return this.millisecond() * 100; + }); + addFormatToken(0, ['SSSSSS', 6], 0, function () { + return this.millisecond() * 1000; + }); + addFormatToken(0, ['SSSSSSS', 7], 0, function () { + return this.millisecond() * 10000; + }); + addFormatToken(0, ['SSSSSSSS', 8], 0, function () { + return this.millisecond() * 100000; + }); + addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { + return this.millisecond() * 1000000; + }); + + + // ALIASES + + addUnitAlias('millisecond', 'ms'); + + // PRIORITY + + addUnitPriority('millisecond', 16); + + // PARSING + + addRegexToken('S', match1to3, match1); + addRegexToken('SS', match1to3, match2); + addRegexToken('SSS', match1to3, match3); + + var token; + for (token = 'SSSS'; token.length <= 9; token += 'S') { + addRegexToken(token, matchUnsigned); + } + + function parseMs(input, array) { + array[MILLISECOND] = toInt(('0.' + input) * 1000); + } + + for (token = 'S'; token.length <= 9; token += 'S') { + addParseToken(token, parseMs); + } + // MOMENTS + + var getSetMillisecond = makeGetSet('Milliseconds', false); + + // FORMATTING + + addFormatToken('z', 0, 0, 'zoneAbbr'); + addFormatToken('zz', 0, 0, 'zoneName'); + + // MOMENTS + + function getZoneAbbr () { + return this._isUTC ? 'UTC' : ''; + } + + function getZoneName () { + return this._isUTC ? 'Coordinated Universal Time' : ''; + } + + var proto = Moment.prototype; + + proto.add = add; + proto.calendar = calendar$1; + proto.clone = clone; + proto.diff = diff; + proto.endOf = endOf; + proto.format = format; + proto.from = from; + proto.fromNow = fromNow; + proto.to = to; + proto.toNow = toNow; + proto.get = stringGet; + proto.invalidAt = invalidAt; + proto.isAfter = isAfter; + proto.isBefore = isBefore; + proto.isBetween = isBetween; + proto.isSame = isSame; + proto.isSameOrAfter = isSameOrAfter; + proto.isSameOrBefore = isSameOrBefore; + proto.isValid = isValid$2; + proto.lang = lang; + proto.locale = locale; + proto.localeData = localeData; + proto.max = prototypeMax; + proto.min = prototypeMin; + proto.parsingFlags = parsingFlags; + proto.set = stringSet; + proto.startOf = startOf; + proto.subtract = subtract; + proto.toArray = toArray; + proto.toObject = toObject; + proto.toDate = toDate; + proto.toISOString = toISOString; + proto.inspect = inspect; + proto.toJSON = toJSON; + proto.toString = toString; + proto.unix = unix; + proto.valueOf = valueOf; + proto.creationData = creationData; + proto.year = getSetYear; + proto.isLeapYear = getIsLeapYear; + proto.weekYear = getSetWeekYear; + proto.isoWeekYear = getSetISOWeekYear; + proto.quarter = proto.quarters = getSetQuarter; + proto.month = getSetMonth; + proto.daysInMonth = getDaysInMonth; + proto.week = proto.weeks = getSetWeek; + proto.isoWeek = proto.isoWeeks = getSetISOWeek; + proto.weeksInYear = getWeeksInYear; + proto.isoWeeksInYear = getISOWeeksInYear; + proto.date = getSetDayOfMonth; + proto.day = proto.days = getSetDayOfWeek; + proto.weekday = getSetLocaleDayOfWeek; + proto.isoWeekday = getSetISODayOfWeek; + proto.dayOfYear = getSetDayOfYear; + proto.hour = proto.hours = getSetHour; + proto.minute = proto.minutes = getSetMinute; + proto.second = proto.seconds = getSetSecond; + proto.millisecond = proto.milliseconds = getSetMillisecond; + proto.utcOffset = getSetOffset; + proto.utc = setOffsetToUTC; + proto.local = setOffsetToLocal; + proto.parseZone = setOffsetToParsedOffset; + proto.hasAlignedHourOffset = hasAlignedHourOffset; + proto.isDST = isDaylightSavingTime; + proto.isLocal = isLocal; + proto.isUtcOffset = isUtcOffset; + proto.isUtc = isUtc; + proto.isUTC = isUtc; + proto.zoneAbbr = getZoneAbbr; + proto.zoneName = getZoneName; + proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); + proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); + proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); + proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); + proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); + + function createUnix (input) { + return createLocal(input * 1000); + } + + function createInZone () { + return createLocal.apply(null, arguments).parseZone(); + } + + function preParsePostFormat (string) { + return string; + } + + var proto$1 = Locale.prototype; + + proto$1.calendar = calendar; + proto$1.longDateFormat = longDateFormat; + proto$1.invalidDate = invalidDate; + proto$1.ordinal = ordinal; + proto$1.preparse = preParsePostFormat; + proto$1.postformat = preParsePostFormat; + proto$1.relativeTime = relativeTime; + proto$1.pastFuture = pastFuture; + proto$1.set = set; + + proto$1.months = localeMonths; + proto$1.monthsShort = localeMonthsShort; + proto$1.monthsParse = localeMonthsParse; + proto$1.monthsRegex = monthsRegex; + proto$1.monthsShortRegex = monthsShortRegex; + proto$1.week = localeWeek; + proto$1.firstDayOfYear = localeFirstDayOfYear; + proto$1.firstDayOfWeek = localeFirstDayOfWeek; + + proto$1.weekdays = localeWeekdays; + proto$1.weekdaysMin = localeWeekdaysMin; + proto$1.weekdaysShort = localeWeekdaysShort; + proto$1.weekdaysParse = localeWeekdaysParse; + + proto$1.weekdaysRegex = weekdaysRegex; + proto$1.weekdaysShortRegex = weekdaysShortRegex; + proto$1.weekdaysMinRegex = weekdaysMinRegex; + + proto$1.isPM = localeIsPM; + proto$1.meridiem = localeMeridiem; + + function get$1 (format, index, field, setter) { + var locale = getLocale(); + var utc = createUTC().set(setter, index); + return locale[field](utc, format); + } + + function listMonthsImpl (format, index, field) { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + + if (index != null) { + return get$1(format, index, field, 'month'); + } + + var i; + var out = []; + for (i = 0; i < 12; i++) { + out[i] = get$1(format, i, field, 'month'); + } + return out; + } + + // () + // (5) + // (fmt, 5) + // (fmt) + // (true) + // (true, 5) + // (true, fmt, 5) + // (true, fmt) + function listWeekdaysImpl (localeSorted, format, index, field) { + if (typeof localeSorted === 'boolean') { + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } else { + format = localeSorted; + index = format; + localeSorted = false; + + if (isNumber(format)) { + index = format; + format = undefined; + } + + format = format || ''; + } + + var locale = getLocale(), + shift = localeSorted ? locale._week.dow : 0; + + if (index != null) { + return get$1(format, (index + shift) % 7, field, 'day'); + } + + var i; + var out = []; + for (i = 0; i < 7; i++) { + out[i] = get$1(format, (i + shift) % 7, field, 'day'); + } + return out; + } + + function listMonths (format, index) { + return listMonthsImpl(format, index, 'months'); + } + + function listMonthsShort (format, index) { + return listMonthsImpl(format, index, 'monthsShort'); + } + + function listWeekdays (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); + } + + function listWeekdaysShort (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); + } + + function listWeekdaysMin (localeSorted, format, index) { + return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); + } + + getSetGlobalLocale('en', { + dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, + ordinal : function (number) { + var b = number % 10, + output = (toInt(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + return number + output; + } + }); + + // Side effect imports + + hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); + hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); + + var mathAbs = Math.abs; + + function abs () { + var data = this._data; + + this._milliseconds = mathAbs(this._milliseconds); + this._days = mathAbs(this._days); + this._months = mathAbs(this._months); + + data.milliseconds = mathAbs(data.milliseconds); + data.seconds = mathAbs(data.seconds); + data.minutes = mathAbs(data.minutes); + data.hours = mathAbs(data.hours); + data.months = mathAbs(data.months); + data.years = mathAbs(data.years); + + return this; + } + + function addSubtract$1 (duration, input, value, direction) { + var other = createDuration(input, value); + + duration._milliseconds += direction * other._milliseconds; + duration._days += direction * other._days; + duration._months += direction * other._months; + + return duration._bubble(); + } + + // supports only 2.0-style add(1, 's') or add(duration) + function add$1 (input, value) { + return addSubtract$1(this, input, value, 1); + } + + // supports only 2.0-style subtract(1, 's') or subtract(duration) + function subtract$1 (input, value) { + return addSubtract$1(this, input, value, -1); + } + + function absCeil (number) { + if (number < 0) { + return Math.floor(number); + } else { + return Math.ceil(number); + } + } + + function bubble () { + var milliseconds = this._milliseconds; + var days = this._days; + var months = this._months; + var data = this._data; + var seconds, minutes, hours, years, monthsFromDays; + + // if we have a mix of positive and negative values, bubble down first + // check: https://github.com/moment/moment/issues/2166 + if (!((milliseconds >= 0 && days >= 0 && months >= 0) || + (milliseconds <= 0 && days <= 0 && months <= 0))) { + milliseconds += absCeil(monthsToDays(months) + days) * 864e5; + days = 0; + months = 0; + } + + // The following code bubbles up values, see the tests for + // examples of what that means. + data.milliseconds = milliseconds % 1000; + + seconds = absFloor(milliseconds / 1000); + data.seconds = seconds % 60; + + minutes = absFloor(seconds / 60); + data.minutes = minutes % 60; + + hours = absFloor(minutes / 60); + data.hours = hours % 24; + + days += absFloor(hours / 24); + + // convert days to months + monthsFromDays = absFloor(daysToMonths(days)); + months += monthsFromDays; + days -= absCeil(monthsToDays(monthsFromDays)); + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + data.days = days; + data.months = months; + data.years = years; + + return this; + } + + function daysToMonths (days) { + // 400 years have 146097 days (taking into account leap year rules) + // 400 years have 12 months === 4800 + return days * 4800 / 146097; + } + + function monthsToDays (months) { + // the reverse of daysToMonths + return months * 146097 / 4800; + } + + function as (units) { + if (!this.isValid()) { + return NaN; + } + var days; + var months; + var milliseconds = this._milliseconds; + + units = normalizeUnits(units); + + if (units === 'month' || units === 'quarter' || units === 'year') { + days = this._days + milliseconds / 864e5; + months = this._months + daysToMonths(days); + switch (units) { + case 'month': return months; + case 'quarter': return months / 3; + case 'year': return months / 12; + } + } else { + // handle milliseconds separately because of floating point math errors (issue #1867) + days = this._days + Math.round(monthsToDays(this._months)); + switch (units) { + case 'week' : return days / 7 + milliseconds / 6048e5; + case 'day' : return days + milliseconds / 864e5; + case 'hour' : return days * 24 + milliseconds / 36e5; + case 'minute' : return days * 1440 + milliseconds / 6e4; + case 'second' : return days * 86400 + milliseconds / 1000; + // Math.floor prevents floating point math errors here + case 'millisecond': return Math.floor(days * 864e5) + milliseconds; + default: throw new Error('Unknown unit ' + units); + } + } + } + + // TODO: Use this.as('ms')? + function valueOf$1 () { + if (!this.isValid()) { + return NaN; + } + return ( + this._milliseconds + + this._days * 864e5 + + (this._months % 12) * 2592e6 + + toInt(this._months / 12) * 31536e6 + ); + } + + function makeAs (alias) { + return function () { + return this.as(alias); + }; + } + + var asMilliseconds = makeAs('ms'); + var asSeconds = makeAs('s'); + var asMinutes = makeAs('m'); + var asHours = makeAs('h'); + var asDays = makeAs('d'); + var asWeeks = makeAs('w'); + var asMonths = makeAs('M'); + var asQuarters = makeAs('Q'); + var asYears = makeAs('y'); + + function clone$1 () { + return createDuration(this); + } + + function get$2 (units) { + units = normalizeUnits(units); + return this.isValid() ? this[units + 's']() : NaN; + } + + function makeGetter(name) { + return function () { + return this.isValid() ? this._data[name] : NaN; + }; + } + + var milliseconds = makeGetter('milliseconds'); + var seconds = makeGetter('seconds'); + var minutes = makeGetter('minutes'); + var hours = makeGetter('hours'); + var days = makeGetter('days'); + var months = makeGetter('months'); + var years = makeGetter('years'); + + function weeks () { + return absFloor(this.days() / 7); + } + + var round = Math.round; + var thresholds = { + ss: 44, // a few seconds to seconds + s : 45, // seconds to minute + m : 45, // minutes to hour + h : 22, // hours to day + d : 26, // days to month + M : 11 // months to year + }; + + // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize + function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { + return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); + } + + function relativeTime$1 (posNegDuration, withoutSuffix, locale) { + var duration = createDuration(posNegDuration).abs(); + var seconds = round(duration.as('s')); + var minutes = round(duration.as('m')); + var hours = round(duration.as('h')); + var days = round(duration.as('d')); + var months = round(duration.as('M')); + var years = round(duration.as('y')); + + var a = seconds <= thresholds.ss && ['s', seconds] || + seconds < thresholds.s && ['ss', seconds] || + minutes <= 1 && ['m'] || + minutes < thresholds.m && ['mm', minutes] || + hours <= 1 && ['h'] || + hours < thresholds.h && ['hh', hours] || + days <= 1 && ['d'] || + days < thresholds.d && ['dd', days] || + months <= 1 && ['M'] || + months < thresholds.M && ['MM', months] || + years <= 1 && ['y'] || ['yy', years]; + + a[2] = withoutSuffix; + a[3] = +posNegDuration > 0; + a[4] = locale; + return substituteTimeAgo.apply(null, a); + } + + // This function allows you to set the rounding function for relative time strings + function getSetRelativeTimeRounding (roundingFunction) { + if (roundingFunction === undefined) { + return round; + } + if (typeof(roundingFunction) === 'function') { + round = roundingFunction; + return true; + } + return false; + } + + // This function allows you to set a threshold for relative time strings + function getSetRelativeTimeThreshold (threshold, limit) { + if (thresholds[threshold] === undefined) { + return false; + } + if (limit === undefined) { + return thresholds[threshold]; + } + thresholds[threshold] = limit; + if (threshold === 's') { + thresholds.ss = limit - 1; + } + return true; + } + + function humanize (withSuffix) { + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var locale = this.localeData(); + var output = relativeTime$1(this, !withSuffix, locale); + + if (withSuffix) { + output = locale.pastFuture(+this, output); + } + + return locale.postformat(output); + } + + var abs$1 = Math.abs; + + function sign(x) { + return ((x > 0) - (x < 0)) || +x; + } + + function toISOString$1() { + // for ISO strings we do not use the normal bubbling rules: + // * milliseconds bubble up until they become hours + // * days do not bubble at all + // * months bubble up until they become years + // This is because there is no context-free conversion between hours and days + // (think of clock changes) + // and also not between days and months (28-31 days per month) + if (!this.isValid()) { + return this.localeData().invalidDate(); + } + + var seconds = abs$1(this._milliseconds) / 1000; + var days = abs$1(this._days); + var months = abs$1(this._months); + var minutes, hours, years; + + // 3600 seconds -> 60 minutes -> 1 hour + minutes = absFloor(seconds / 60); + hours = absFloor(minutes / 60); + seconds %= 60; + minutes %= 60; + + // 12 months -> 1 year + years = absFloor(months / 12); + months %= 12; + + + // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js + var Y = years; + var M = months; + var D = days; + var h = hours; + var m = minutes; + var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; + var total = this.asSeconds(); + + if (!total) { + // this is the same as C#'s (Noda) and python (isodate)... + // but not other JS (goog.date) + return 'P0D'; + } + + var totalSign = total < 0 ? '-' : ''; + var ymSign = sign(this._months) !== sign(total) ? '-' : ''; + var daysSign = sign(this._days) !== sign(total) ? '-' : ''; + var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; + + return totalSign + 'P' + + (Y ? ymSign + Y + 'Y' : '') + + (M ? ymSign + M + 'M' : '') + + (D ? daysSign + D + 'D' : '') + + ((h || m || s) ? 'T' : '') + + (h ? hmsSign + h + 'H' : '') + + (m ? hmsSign + m + 'M' : '') + + (s ? hmsSign + s + 'S' : ''); + } + + var proto$2 = Duration.prototype; + + proto$2.isValid = isValid$1; + proto$2.abs = abs; + proto$2.add = add$1; + proto$2.subtract = subtract$1; + proto$2.as = as; + proto$2.asMilliseconds = asMilliseconds; + proto$2.asSeconds = asSeconds; + proto$2.asMinutes = asMinutes; + proto$2.asHours = asHours; + proto$2.asDays = asDays; + proto$2.asWeeks = asWeeks; + proto$2.asMonths = asMonths; + proto$2.asQuarters = asQuarters; + proto$2.asYears = asYears; + proto$2.valueOf = valueOf$1; + proto$2._bubble = bubble; + proto$2.clone = clone$1; + proto$2.get = get$2; + proto$2.milliseconds = milliseconds; + proto$2.seconds = seconds; + proto$2.minutes = minutes; + proto$2.hours = hours; + proto$2.days = days; + proto$2.weeks = weeks; + proto$2.months = months; + proto$2.years = years; + proto$2.humanize = humanize; + proto$2.toISOString = toISOString$1; + proto$2.toString = toISOString$1; + proto$2.toJSON = toISOString$1; + proto$2.locale = locale; + proto$2.localeData = localeData; + + proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); + proto$2.lang = lang; + + // Side effect imports + + // FORMATTING + + addFormatToken('X', 0, 0, 'unix'); + addFormatToken('x', 0, 0, 'valueOf'); + + // PARSING + + addRegexToken('x', matchSigned); + addRegexToken('X', matchTimestamp); + addParseToken('X', function (input, array, config) { + config._d = new Date(parseFloat(input, 10) * 1000); + }); + addParseToken('x', function (input, array, config) { + config._d = new Date(toInt(input)); + }); + + // Side effect imports + + + hooks.version = '2.24.0'; + + setHookCallback(createLocal); + + hooks.fn = proto; + hooks.min = min; + hooks.max = max; + hooks.now = now; + hooks.utc = createUTC; + hooks.unix = createUnix; + hooks.months = listMonths; + hooks.isDate = isDate; + hooks.locale = getSetGlobalLocale; + hooks.invalid = createInvalid; + hooks.duration = createDuration; + hooks.isMoment = isMoment; + hooks.weekdays = listWeekdays; + hooks.parseZone = createInZone; + hooks.localeData = getLocale; + hooks.isDuration = isDuration; + hooks.monthsShort = listMonthsShort; + hooks.weekdaysMin = listWeekdaysMin; + hooks.defineLocale = defineLocale; + hooks.updateLocale = updateLocale; + hooks.locales = listLocales; + hooks.weekdaysShort = listWeekdaysShort; + hooks.normalizeUnits = normalizeUnits; + hooks.relativeTimeRounding = getSetRelativeTimeRounding; + hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; + hooks.calendarFormat = getCalendarFormat; + hooks.prototype = proto; + + // currently HTML5 input type only supports 24-hour formats + hooks.HTML5_FMT = { + DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // + DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // + DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // + DATE: 'YYYY-MM-DD', // + TIME: 'HH:mm', // + TIME_SECONDS: 'HH:mm:ss', // + TIME_MS: 'HH:mm:ss.SSS', // + WEEK: 'GGGG-[W]WW', // + MONTH: 'YYYY-MM' // + }; + + return hooks; + +}))); diff --git a/vendor/blobt/grid/CheckboxColumn.php b/vendor/blobt/grid/CheckboxColumn.php index 0afefc6..8254f5d 100644 --- a/vendor/blobt/grid/CheckboxColumn.php +++ b/vendor/blobt/grid/CheckboxColumn.php @@ -87,17 +87,11 @@ class CheckboxColumn extends Column { } /** - * Renders the header cell content. - * The default implementation simply renders [[header]]. - * This method may be overridden to customize the rendering of the header cell. - * @return string the rendering result + * 行头输出内容 + * @return type */ protected function renderHeaderCellContent() { - if ($this->header !== null || !$this->multiple) { - return parent::renderHeaderCellContent(); - } - - return Html::checkbox($this->getHeaderCheckBoxName(), false, ['class' => 'select-on-check-all']); + return; } /** diff --git a/vendor/blobt/web/AlertifyAsset.php b/vendor/blobt/web/AlertifyAsset.php index e69de29..763f39b 100644 --- a/vendor/blobt/web/AlertifyAsset.php +++ b/vendor/blobt/web/AlertifyAsset.php @@ -0,0 +1,48 @@ + Date: Thu, 29 Aug 2019 14:14:01 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=B7=BB=E5=8A=A0datetimepicker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../css/bootstrap-datetimepicker.css | 418 ++ .../css/bootstrap-datetimepicker.min.css | 9 + .../js/bootstrap-datetimepicker.js | 1967 +++++ .../js/bootstrap-datetimepicker.min.js | 1 + .../js/locales/bootstrap-datetimepicker.ar.js | 17 + .../js/locales/bootstrap-datetimepicker.az.js | 16 + .../js/locales/bootstrap-datetimepicker.bg.js | 16 + .../js/locales/bootstrap-datetimepicker.bn.js | 16 + .../js/locales/bootstrap-datetimepicker.ca.js | 16 + .../js/locales/bootstrap-datetimepicker.cs.js | 19 + .../js/locales/bootstrap-datetimepicker.da.js | 16 + .../js/locales/bootstrap-datetimepicker.de.js | 18 + .../js/locales/bootstrap-datetimepicker.ee.js | 18 + .../js/locales/bootstrap-datetimepicker.el.js | 15 + .../js/locales/bootstrap-datetimepicker.es.js | 16 + .../js/locales/bootstrap-datetimepicker.fi.js | 16 + .../js/locales/bootstrap-datetimepicker.fr.js | 18 + .../js/locales/bootstrap-datetimepicker.he.js | 17 + .../js/locales/bootstrap-datetimepicker.hr.js | 15 + .../js/locales/bootstrap-datetimepicker.hu.js | 17 + .../js/locales/bootstrap-datetimepicker.hy.js | 16 + .../js/locales/bootstrap-datetimepicker.id.js | 19 + .../js/locales/bootstrap-datetimepicker.is.js | 16 + .../js/locales/bootstrap-datetimepicker.it.js | 18 + .../js/locales/bootstrap-datetimepicker.ja.js | 16 + .../js/locales/bootstrap-datetimepicker.ka.js | 16 + .../js/locales/bootstrap-datetimepicker.ko.js | 17 + .../js/locales/bootstrap-datetimepicker.lt.js | 18 + .../js/locales/bootstrap-datetimepicker.lv.js | 18 + .../js/locales/bootstrap-datetimepicker.ms.js | 16 + .../js/locales/bootstrap-datetimepicker.nb.js | 16 + .../js/locales/bootstrap-datetimepicker.nl.js | 16 + .../js/locales/bootstrap-datetimepicker.no.js | 16 + .../js/locales/bootstrap-datetimepicker.pl.js | 17 + .../locales/bootstrap-datetimepicker.pt-BR.js | 17 + .../js/locales/bootstrap-datetimepicker.pt.js | 17 + .../js/locales/bootstrap-datetimepicker.ro.js | 17 + .../bootstrap-datetimepicker.rs-latin.js | 16 + .../js/locales/bootstrap-datetimepicker.rs.js | 16 + .../js/locales/bootstrap-datetimepicker.ru.js | 16 + .../js/locales/bootstrap-datetimepicker.sk.js | 19 + .../js/locales/bootstrap-datetimepicker.sl.js | 16 + .../js/locales/bootstrap-datetimepicker.sv.js | 16 + .../js/locales/bootstrap-datetimepicker.sw.js | 17 + .../js/locales/bootstrap-datetimepicker.th.js | 16 + .../js/locales/bootstrap-datetimepicker.tr.js | 17 + .../js/locales/bootstrap-datetimepicker.ua.js | 15 + .../js/locales/bootstrap-datetimepicker.uk.js | 16 + .../locales/bootstrap-datetimepicker.zh-CN.js | 16 + .../locales/bootstrap-datetimepicker.zh-TW.js | 16 + vendor/blobt/assets/select2/css/select2.css | 484 ++ .../blobt/assets/select2/css/select2.min.css | 1 + vendor/blobt/assets/select2/js/i18n/af.js | 3 + vendor/blobt/assets/select2/js/i18n/ar.js | 3 + vendor/blobt/assets/select2/js/i18n/az.js | 3 + vendor/blobt/assets/select2/js/i18n/bg.js | 3 + vendor/blobt/assets/select2/js/i18n/bn.js | 3 + vendor/blobt/assets/select2/js/i18n/bs.js | 3 + vendor/blobt/assets/select2/js/i18n/ca.js | 3 + vendor/blobt/assets/select2/js/i18n/cs.js | 3 + vendor/blobt/assets/select2/js/i18n/da.js | 3 + vendor/blobt/assets/select2/js/i18n/de.js | 3 + vendor/blobt/assets/select2/js/i18n/dsb.js | 3 + vendor/blobt/assets/select2/js/i18n/el.js | 3 + vendor/blobt/assets/select2/js/i18n/en.js | 3 + vendor/blobt/assets/select2/js/i18n/es.js | 3 + vendor/blobt/assets/select2/js/i18n/et.js | 3 + vendor/blobt/assets/select2/js/i18n/eu.js | 3 + vendor/blobt/assets/select2/js/i18n/fa.js | 3 + vendor/blobt/assets/select2/js/i18n/fi.js | 3 + vendor/blobt/assets/select2/js/i18n/fr.js | 3 + vendor/blobt/assets/select2/js/i18n/gl.js | 3 + vendor/blobt/assets/select2/js/i18n/he.js | 3 + vendor/blobt/assets/select2/js/i18n/hi.js | 3 + vendor/blobt/assets/select2/js/i18n/hr.js | 3 + vendor/blobt/assets/select2/js/i18n/hsb.js | 3 + vendor/blobt/assets/select2/js/i18n/hu.js | 3 + vendor/blobt/assets/select2/js/i18n/hy.js | 3 + vendor/blobt/assets/select2/js/i18n/id.js | 3 + vendor/blobt/assets/select2/js/i18n/is.js | 3 + vendor/blobt/assets/select2/js/i18n/it.js | 3 + vendor/blobt/assets/select2/js/i18n/ja.js | 3 + vendor/blobt/assets/select2/js/i18n/ka.js | 3 + vendor/blobt/assets/select2/js/i18n/km.js | 3 + vendor/blobt/assets/select2/js/i18n/ko.js | 3 + vendor/blobt/assets/select2/js/i18n/lt.js | 3 + vendor/blobt/assets/select2/js/i18n/lv.js | 3 + vendor/blobt/assets/select2/js/i18n/mk.js | 3 + vendor/blobt/assets/select2/js/i18n/ms.js | 3 + vendor/blobt/assets/select2/js/i18n/nb.js | 3 + vendor/blobt/assets/select2/js/i18n/ne.js | 3 + vendor/blobt/assets/select2/js/i18n/nl.js | 3 + vendor/blobt/assets/select2/js/i18n/pl.js | 3 + vendor/blobt/assets/select2/js/i18n/ps.js | 3 + vendor/blobt/assets/select2/js/i18n/pt-BR.js | 3 + vendor/blobt/assets/select2/js/i18n/pt.js | 3 + vendor/blobt/assets/select2/js/i18n/ro.js | 3 + vendor/blobt/assets/select2/js/i18n/ru.js | 3 + vendor/blobt/assets/select2/js/i18n/sk.js | 3 + vendor/blobt/assets/select2/js/i18n/sl.js | 3 + vendor/blobt/assets/select2/js/i18n/sq.js | 3 + .../blobt/assets/select2/js/i18n/sr-Cyrl.js | 3 + vendor/blobt/assets/select2/js/i18n/sr.js | 3 + vendor/blobt/assets/select2/js/i18n/sv.js | 3 + vendor/blobt/assets/select2/js/i18n/th.js | 3 + vendor/blobt/assets/select2/js/i18n/tk.js | 3 + vendor/blobt/assets/select2/js/i18n/tr.js | 3 + vendor/blobt/assets/select2/js/i18n/uk.js | 3 + vendor/blobt/assets/select2/js/i18n/vi.js | 3 + vendor/blobt/assets/select2/js/i18n/zh-CN.js | 3 + vendor/blobt/assets/select2/js/i18n/zh-TW.js | 3 + .../blobt/assets/select2/js/select2.full.js | 6597 +++++++++++++++++ .../assets/select2/js/select2.full.min.js | 1 + vendor/blobt/assets/select2/js/select2.js | 5885 +++++++++++++++ vendor/blobt/assets/select2/js/select2.min.js | 1 + .../blobt/web/DatetimepickBootstrapAsset.php | 51 + vendor/blobt/web/Select2Asset.php | 48 + vendor/blobt/widgets/DatetimePicker.php | 164 + 118 files changed, 16568 insertions(+) create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js create mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js create mode 100644 vendor/blobt/assets/select2/css/select2.css create mode 100644 vendor/blobt/assets/select2/css/select2.min.css create mode 100644 vendor/blobt/assets/select2/js/i18n/af.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ar.js create mode 100644 vendor/blobt/assets/select2/js/i18n/az.js create mode 100644 vendor/blobt/assets/select2/js/i18n/bg.js create mode 100644 vendor/blobt/assets/select2/js/i18n/bn.js create mode 100644 vendor/blobt/assets/select2/js/i18n/bs.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ca.js create mode 100644 vendor/blobt/assets/select2/js/i18n/cs.js create mode 100644 vendor/blobt/assets/select2/js/i18n/da.js create mode 100644 vendor/blobt/assets/select2/js/i18n/de.js create mode 100644 vendor/blobt/assets/select2/js/i18n/dsb.js create mode 100644 vendor/blobt/assets/select2/js/i18n/el.js create mode 100644 vendor/blobt/assets/select2/js/i18n/en.js create mode 100644 vendor/blobt/assets/select2/js/i18n/es.js create mode 100644 vendor/blobt/assets/select2/js/i18n/et.js create mode 100644 vendor/blobt/assets/select2/js/i18n/eu.js create mode 100644 vendor/blobt/assets/select2/js/i18n/fa.js create mode 100644 vendor/blobt/assets/select2/js/i18n/fi.js create mode 100644 vendor/blobt/assets/select2/js/i18n/fr.js create mode 100644 vendor/blobt/assets/select2/js/i18n/gl.js create mode 100644 vendor/blobt/assets/select2/js/i18n/he.js create mode 100644 vendor/blobt/assets/select2/js/i18n/hi.js create mode 100644 vendor/blobt/assets/select2/js/i18n/hr.js create mode 100644 vendor/blobt/assets/select2/js/i18n/hsb.js create mode 100644 vendor/blobt/assets/select2/js/i18n/hu.js create mode 100644 vendor/blobt/assets/select2/js/i18n/hy.js create mode 100644 vendor/blobt/assets/select2/js/i18n/id.js create mode 100644 vendor/blobt/assets/select2/js/i18n/is.js create mode 100644 vendor/blobt/assets/select2/js/i18n/it.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ja.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ka.js create mode 100644 vendor/blobt/assets/select2/js/i18n/km.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ko.js create mode 100644 vendor/blobt/assets/select2/js/i18n/lt.js create mode 100644 vendor/blobt/assets/select2/js/i18n/lv.js create mode 100644 vendor/blobt/assets/select2/js/i18n/mk.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ms.js create mode 100644 vendor/blobt/assets/select2/js/i18n/nb.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ne.js create mode 100644 vendor/blobt/assets/select2/js/i18n/nl.js create mode 100644 vendor/blobt/assets/select2/js/i18n/pl.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ps.js create mode 100644 vendor/blobt/assets/select2/js/i18n/pt-BR.js create mode 100644 vendor/blobt/assets/select2/js/i18n/pt.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ro.js create mode 100644 vendor/blobt/assets/select2/js/i18n/ru.js create mode 100644 vendor/blobt/assets/select2/js/i18n/sk.js create mode 100644 vendor/blobt/assets/select2/js/i18n/sl.js create mode 100644 vendor/blobt/assets/select2/js/i18n/sq.js create mode 100644 vendor/blobt/assets/select2/js/i18n/sr-Cyrl.js create mode 100644 vendor/blobt/assets/select2/js/i18n/sr.js create mode 100644 vendor/blobt/assets/select2/js/i18n/sv.js create mode 100644 vendor/blobt/assets/select2/js/i18n/th.js create mode 100644 vendor/blobt/assets/select2/js/i18n/tk.js create mode 100644 vendor/blobt/assets/select2/js/i18n/tr.js create mode 100644 vendor/blobt/assets/select2/js/i18n/uk.js create mode 100644 vendor/blobt/assets/select2/js/i18n/vi.js create mode 100644 vendor/blobt/assets/select2/js/i18n/zh-CN.js create mode 100644 vendor/blobt/assets/select2/js/i18n/zh-TW.js create mode 100644 vendor/blobt/assets/select2/js/select2.full.js create mode 100644 vendor/blobt/assets/select2/js/select2.full.min.js create mode 100644 vendor/blobt/assets/select2/js/select2.js create mode 100644 vendor/blobt/assets/select2/js/select2.min.js create mode 100644 vendor/blobt/web/DatetimepickBootstrapAsset.php create mode 100644 vendor/blobt/widgets/DatetimePicker.php diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css b/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css new file mode 100644 index 0000000..537c6a4 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css @@ -0,0 +1,418 @@ +/*! + * Datetimepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */ +.datetimepicker { + padding: 4px; + margin-top: 1px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + direction: ltr; +} + +.datetimepicker-inline { + width: 220px; +} + +.datetimepicker.datetimepicker-rtl { + direction: rtl; +} + +.datetimepicker.datetimepicker-rtl table tr td span { + float: right; +} + +.datetimepicker-dropdown, .datetimepicker-dropdown-left { + top: 0; + left: 0; +} + +[class*=" datetimepicker-dropdown"]:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #cccccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; +} + +[class*=" datetimepicker-dropdown"]:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; +} + +[class*=" datetimepicker-dropdown-top"]:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-top: 7px solid #cccccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; +} + +[class*=" datetimepicker-dropdown-top"]:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.datetimepicker-dropdown-bottom-left:before { + top: -7px; + right: 6px; +} + +.datetimepicker-dropdown-bottom-left:after { + top: -6px; + right: 7px; +} + +.datetimepicker-dropdown-bottom-right:before { + top: -7px; + left: 6px; +} + +.datetimepicker-dropdown-bottom-right:after { + top: -6px; + left: 7px; +} + +.datetimepicker-dropdown-top-left:before { + bottom: -7px; + right: 6px; +} + +.datetimepicker-dropdown-top-left:after { + bottom: -6px; + right: 7px; +} + +.datetimepicker-dropdown-top-right:before { + bottom: -7px; + left: 6px; +} + +.datetimepicker-dropdown-top-right:after { + bottom: -6px; + left: 7px; +} + +.datetimepicker > div { + display: none; +} + +.datetimepicker.minutes div.datetimepicker-minutes { + display: block; +} + +.datetimepicker.hours div.datetimepicker-hours { + display: block; +} + +.datetimepicker.days div.datetimepicker-days { + display: block; +} + +.datetimepicker.months div.datetimepicker-months { + display: block; +} + +.datetimepicker.years div.datetimepicker-years { + display: block; +} + +.datetimepicker table { + margin: 0; +} + +.datetimepicker td, +.datetimepicker th { + text-align: center; + width: 20px; + height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + border: none; +} + +.table-striped .datetimepicker table tr td, +.table-striped .datetimepicker table tr th { + background-color: transparent; +} + +.datetimepicker table tr td.minute:hover { + background: #eeeeee; + cursor: pointer; +} + +.datetimepicker table tr td.hour:hover { + background: #eeeeee; + cursor: pointer; +} + +.datetimepicker table tr td.day:hover { + background: #eeeeee; + cursor: pointer; +} + +.datetimepicker table tr td.old, +.datetimepicker table tr td.new { + color: #999999; +} + +.datetimepicker table tr td.disabled, +.datetimepicker table tr td.disabled:hover { + background: none; + color: #999999; + cursor: default; +} + +.datetimepicker table tr td.today, +.datetimepicker table tr td.today:hover, +.datetimepicker table tr td.today.disabled, +.datetimepicker table tr td.today.disabled:hover { + background-color: #fde19a; + background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); + background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); + background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); + background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); + border-color: #fdf59a #fdf59a #fbed50; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.datetimepicker table tr td.today:hover, +.datetimepicker table tr td.today:hover:hover, +.datetimepicker table tr td.today.disabled:hover, +.datetimepicker table tr td.today.disabled:hover:hover, +.datetimepicker table tr td.today:active, +.datetimepicker table tr td.today:hover:active, +.datetimepicker table tr td.today.disabled:active, +.datetimepicker table tr td.today.disabled:hover:active, +.datetimepicker table tr td.today.active, +.datetimepicker table tr td.today:hover.active, +.datetimepicker table tr td.today.disabled.active, +.datetimepicker table tr td.today.disabled:hover.active, +.datetimepicker table tr td.today.disabled, +.datetimepicker table tr td.today:hover.disabled, +.datetimepicker table tr td.today.disabled.disabled, +.datetimepicker table tr td.today.disabled:hover.disabled, +.datetimepicker table tr td.today[disabled], +.datetimepicker table tr td.today:hover[disabled], +.datetimepicker table tr td.today.disabled[disabled], +.datetimepicker table tr td.today.disabled:hover[disabled] { + background-color: #fdf59a; +} + +.datetimepicker table tr td.today:active, +.datetimepicker table tr td.today:hover:active, +.datetimepicker table tr td.today.disabled:active, +.datetimepicker table tr td.today.disabled:hover:active, +.datetimepicker table tr td.today.active, +.datetimepicker table tr td.today:hover.active, +.datetimepicker table tr td.today.disabled.active, +.datetimepicker table tr td.today.disabled:hover.active { + background-color: #fbf069; +} + +.datetimepicker table tr td.active, +.datetimepicker table tr td.active:hover, +.datetimepicker table tr td.active.disabled, +.datetimepicker table tr td.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.datetimepicker table tr td.active:hover, +.datetimepicker table tr td.active:hover:hover, +.datetimepicker table tr td.active.disabled:hover, +.datetimepicker table tr td.active.disabled:hover:hover, +.datetimepicker table tr td.active:active, +.datetimepicker table tr td.active:hover:active, +.datetimepicker table tr td.active.disabled:active, +.datetimepicker table tr td.active.disabled:hover:active, +.datetimepicker table tr td.active.active, +.datetimepicker table tr td.active:hover.active, +.datetimepicker table tr td.active.disabled.active, +.datetimepicker table tr td.active.disabled:hover.active, +.datetimepicker table tr td.active.disabled, +.datetimepicker table tr td.active:hover.disabled, +.datetimepicker table tr td.active.disabled.disabled, +.datetimepicker table tr td.active.disabled:hover.disabled, +.datetimepicker table tr td.active[disabled], +.datetimepicker table tr td.active:hover[disabled], +.datetimepicker table tr td.active.disabled[disabled], +.datetimepicker table tr td.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +.datetimepicker table tr td.active:active, +.datetimepicker table tr td.active:hover:active, +.datetimepicker table tr td.active.disabled:active, +.datetimepicker table tr td.active.disabled:hover:active, +.datetimepicker table tr td.active.active, +.datetimepicker table tr td.active:hover.active, +.datetimepicker table tr td.active.disabled.active, +.datetimepicker table tr td.active.disabled:hover.active { + background-color: #003399; +} + +.datetimepicker table tr td span { + display: block; + width: 23%; + height: 54px; + line-height: 54px; + float: left; + margin: 1%; + cursor: pointer; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.datetimepicker .datetimepicker-hours span { + height: 26px; + line-height: 26px; +} + +.datetimepicker .datetimepicker-hours table tr td span.hour_am, +.datetimepicker .datetimepicker-hours table tr td span.hour_pm { + width: 14.6%; +} + +.datetimepicker .datetimepicker-hours fieldset legend, +.datetimepicker .datetimepicker-minutes fieldset legend { + margin-bottom: inherit; + line-height: 30px; +} + +.datetimepicker .datetimepicker-minutes span { + height: 26px; + line-height: 26px; +} + +.datetimepicker table tr td span:hover { + background: #eeeeee; +} + +.datetimepicker table tr td span.disabled, +.datetimepicker table tr td span.disabled:hover { + background: none; + color: #999999; + cursor: default; +} + +.datetimepicker table tr td span.active, +.datetimepicker table tr td span.active:hover, +.datetimepicker table tr td span.active.disabled, +.datetimepicker table tr td span.active.disabled:hover { + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -ms-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.datetimepicker table tr td span.active:hover, +.datetimepicker table tr td span.active:hover:hover, +.datetimepicker table tr td span.active.disabled:hover, +.datetimepicker table tr td span.active.disabled:hover:hover, +.datetimepicker table tr td span.active:active, +.datetimepicker table tr td span.active:hover:active, +.datetimepicker table tr td span.active.disabled:active, +.datetimepicker table tr td span.active.disabled:hover:active, +.datetimepicker table tr td span.active.active, +.datetimepicker table tr td span.active:hover.active, +.datetimepicker table tr td span.active.disabled.active, +.datetimepicker table tr td span.active.disabled:hover.active, +.datetimepicker table tr td span.active.disabled, +.datetimepicker table tr td span.active:hover.disabled, +.datetimepicker table tr td span.active.disabled.disabled, +.datetimepicker table tr td span.active.disabled:hover.disabled, +.datetimepicker table tr td span.active[disabled], +.datetimepicker table tr td span.active:hover[disabled], +.datetimepicker table tr td span.active.disabled[disabled], +.datetimepicker table tr td span.active.disabled:hover[disabled] { + background-color: #0044cc; +} + +.datetimepicker table tr td span.active:active, +.datetimepicker table tr td span.active:hover:active, +.datetimepicker table tr td span.active.disabled:active, +.datetimepicker table tr td span.active.disabled:hover:active, +.datetimepicker table tr td span.active.active, +.datetimepicker table tr td span.active:hover.active, +.datetimepicker table tr td span.active.disabled.active, +.datetimepicker table tr td span.active.disabled:hover.active { + background-color: #003399; +} + +.datetimepicker table tr td span.old { + color: #999999; +} + +.datetimepicker th.switch { + width: 145px; +} + +.datetimepicker th span.glyphicon { + pointer-events: none; +} + +.datetimepicker thead tr:first-child th, +.datetimepicker tfoot th { + cursor: pointer; +} + +.datetimepicker thead tr:first-child th:hover, +.datetimepicker tfoot th:hover { + background: #eeeeee; +} + +.input-append.date .add-on i, +.input-prepend.date .add-on i, +.input-group.date .input-group-addon span { + cursor: pointer; + width: 14px; + height: 14px; +} diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css b/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css new file mode 100644 index 0000000..78485fe --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css @@ -0,0 +1,9 @@ +/*! + * Datetimepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px} \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js new file mode 100644 index 0000000..f66d69c --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js @@ -0,0 +1,1967 @@ +/* ========================================================= + * bootstrap-datetimepicker.js + * ========================================================= + * Copyright 2012 Stefan Petre + * + * Improvements by Andrew Rowls + * Improvements by Sébastien Malot + * Improvements by Yun Lai + * Improvements by Kenneth Henderick + * Improvements by CuGBabyBeaR + * Improvements by Christian Vaas + * + * Project URL : http://www.malot.fr/bootstrap-datetimepicker + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +(function(factory){ + if (typeof define === 'function' && define.amd) + define(['jquery'], factory); + else if (typeof exports === 'object') + factory(require('jquery')); + else + factory(jQuery); + +}(function($, undefined){ + + // Add ECMA262-5 Array methods if not supported natively (IE8) + if (!('indexOf' in Array.prototype)) { + Array.prototype.indexOf = function (find, i) { + if (i === undefined) i = 0; + if (i < 0) i += this.length; + if (i < 0) i = 0; + for (var n = this.length; i < n; i++) { + if (i in this && this[i] === find) { + return i; + } + } + return -1; + } + } + + // Add timezone abbreviation support for ie6+, Chrome, Firefox + function timeZoneAbbreviation() { + var abbreviation, date, formattedStr, i, len, matchedStrings, ref, str; + date = (new Date()).toString(); + formattedStr = ((ref = date.split('(')[1]) != null ? ref.slice(0, -1) : 0) || date.split(' '); + if (formattedStr instanceof Array) { + matchedStrings = []; + for (var i = 0, len = formattedStr.length; i < len; i++) { + str = formattedStr[i]; + if ((abbreviation = (ref = str.match(/\b[A-Z]+\b/)) !== null) ? ref[0] : 0) { + matchedStrings.push(abbreviation); + } + } + formattedStr = matchedStrings.pop(); + } + return formattedStr; + } + + function UTCDate() { + return new Date(Date.UTC.apply(Date, arguments)); + } + + // Picker object + var Datetimepicker = function (element, options) { + var that = this; + + this.element = $(element); + + // add container for single page application + // when page switch the datetimepicker div will be removed also. + this.container = options.container || 'body'; + + this.language = options.language || this.element.data('date-language') || 'en'; + this.language = this.language in dates ? this.language : this.language.split('-')[0]; // fr-CA fallback to fr + this.language = this.language in dates ? this.language : 'en'; + this.isRTL = dates[this.language].rtl || false; + this.formatType = options.formatType || this.element.data('format-type') || 'standard'; + this.format = DPGlobal.parseFormat(options.format || this.element.data('date-format') || dates[this.language].format || DPGlobal.getDefaultFormat(this.formatType, 'input'), this.formatType); + this.isInline = false; + this.isVisible = false; + this.isInput = this.element.is('input'); + this.fontAwesome = options.fontAwesome || this.element.data('font-awesome') || false; + + this.bootcssVer = options.bootcssVer || (this.isInput ? (this.element.is('.form-control') ? 3 : 2) : ( this.bootcssVer = this.element.is('.input-group') ? 3 : 2 )); + + this.component = this.element.is('.date') ? ( this.bootcssVer === 3 ? this.element.find('.input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o').parent() : this.element.find('.add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o').parent()) : false; + this.componentReset = this.element.is('.date') ? ( this.bootcssVer === 3 ? this.element.find('.input-group-addon .glyphicon-remove, .input-group-addon .fa-times').parent():this.element.find('.add-on .icon-remove, .add-on .fa-times').parent()) : false; + this.hasInput = this.component && this.element.find('input').length; + if (this.component && this.component.length === 0) { + this.component = false; + } + this.linkField = options.linkField || this.element.data('link-field') || false; + this.linkFormat = DPGlobal.parseFormat(options.linkFormat || this.element.data('link-format') || DPGlobal.getDefaultFormat(this.formatType, 'link'), this.formatType); + this.minuteStep = options.minuteStep || this.element.data('minute-step') || 5; + this.pickerPosition = options.pickerPosition || this.element.data('picker-position') || 'bottom-right'; + this.showMeridian = options.showMeridian || this.element.data('show-meridian') || false; + this.initialDate = options.initialDate || new Date(); + this.zIndex = options.zIndex || this.element.data('z-index') || undefined; + this.title = typeof options.title === 'undefined' ? false : options.title; + this.timezone = options.timezone || timeZoneAbbreviation(); + + this.icons = { + leftArrow: this.fontAwesome ? 'fa-arrow-left' : (this.bootcssVer === 3 ? 'glyphicon-arrow-left' : 'icon-arrow-left'), + rightArrow: this.fontAwesome ? 'fa-arrow-right' : (this.bootcssVer === 3 ? 'glyphicon-arrow-right' : 'icon-arrow-right') + } + this.icontype = this.fontAwesome ? 'fa' : 'glyphicon'; + + this._attachEvents(); + + this.clickedOutside = function (e) { + // Clicked outside the datetimepicker, hide it + if ($(e.target).closest('.datetimepicker').length === 0) { + that.hide(); + } + } + + this.formatViewType = 'datetime'; + if ('formatViewType' in options) { + this.formatViewType = options.formatViewType; + } else if ('formatViewType' in this.element.data()) { + this.formatViewType = this.element.data('formatViewType'); + } + + this.minView = 0; + if ('minView' in options) { + this.minView = options.minView; + } else if ('minView' in this.element.data()) { + this.minView = this.element.data('min-view'); + } + this.minView = DPGlobal.convertViewMode(this.minView); + + this.maxView = DPGlobal.modes.length - 1; + if ('maxView' in options) { + this.maxView = options.maxView; + } else if ('maxView' in this.element.data()) { + this.maxView = this.element.data('max-view'); + } + this.maxView = DPGlobal.convertViewMode(this.maxView); + + this.wheelViewModeNavigation = false; + if ('wheelViewModeNavigation' in options) { + this.wheelViewModeNavigation = options.wheelViewModeNavigation; + } else if ('wheelViewModeNavigation' in this.element.data()) { + this.wheelViewModeNavigation = this.element.data('view-mode-wheel-navigation'); + } + + this.wheelViewModeNavigationInverseDirection = false; + + if ('wheelViewModeNavigationInverseDirection' in options) { + this.wheelViewModeNavigationInverseDirection = options.wheelViewModeNavigationInverseDirection; + } else if ('wheelViewModeNavigationInverseDirection' in this.element.data()) { + this.wheelViewModeNavigationInverseDirection = this.element.data('view-mode-wheel-navigation-inverse-dir'); + } + + this.wheelViewModeNavigationDelay = 100; + if ('wheelViewModeNavigationDelay' in options) { + this.wheelViewModeNavigationDelay = options.wheelViewModeNavigationDelay; + } else if ('wheelViewModeNavigationDelay' in this.element.data()) { + this.wheelViewModeNavigationDelay = this.element.data('view-mode-wheel-navigation-delay'); + } + + this.startViewMode = 2; + if ('startView' in options) { + this.startViewMode = options.startView; + } else if ('startView' in this.element.data()) { + this.startViewMode = this.element.data('start-view'); + } + this.startViewMode = DPGlobal.convertViewMode(this.startViewMode); + this.viewMode = this.startViewMode; + + this.viewSelect = this.minView; + if ('viewSelect' in options) { + this.viewSelect = options.viewSelect; + } else if ('viewSelect' in this.element.data()) { + this.viewSelect = this.element.data('view-select'); + } + this.viewSelect = DPGlobal.convertViewMode(this.viewSelect); + + this.forceParse = true; + if ('forceParse' in options) { + this.forceParse = options.forceParse; + } else if ('dateForceParse' in this.element.data()) { + this.forceParse = this.element.data('date-force-parse'); + } + var template = this.bootcssVer === 3 ? DPGlobal.templateV3 : DPGlobal.template; + while (template.indexOf('{iconType}') !== -1) { + template = template.replace('{iconType}', this.icontype); + } + while (template.indexOf('{leftArrow}') !== -1) { + template = template.replace('{leftArrow}', this.icons.leftArrow); + } + while (template.indexOf('{rightArrow}') !== -1) { + template = template.replace('{rightArrow}', this.icons.rightArrow); + } + this.picker = $(template) + .appendTo(this.isInline ? this.element : this.container) // 'body') + .on({ + click: $.proxy(this.click, this), + mousedown: $.proxy(this.mousedown, this) + }); + + if (this.wheelViewModeNavigation) { + if ($.fn.mousewheel) { + this.picker.on({mousewheel: $.proxy(this.mousewheel, this)}); + } else { + console.log('Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option'); + } + } + + if (this.isInline) { + this.picker.addClass('datetimepicker-inline'); + } else { + this.picker.addClass('datetimepicker-dropdown-' + this.pickerPosition + ' dropdown-menu'); + } + if (this.isRTL) { + this.picker.addClass('datetimepicker-rtl'); + var selector = this.bootcssVer === 3 ? '.prev span, .next span' : '.prev i, .next i'; + this.picker.find(selector).toggleClass(this.icons.leftArrow + ' ' + this.icons.rightArrow); + } + + $(document).on('mousedown touchend', this.clickedOutside); + + this.autoclose = false; + if ('autoclose' in options) { + this.autoclose = options.autoclose; + } else if ('dateAutoclose' in this.element.data()) { + this.autoclose = this.element.data('date-autoclose'); + } + + this.keyboardNavigation = true; + if ('keyboardNavigation' in options) { + this.keyboardNavigation = options.keyboardNavigation; + } else if ('dateKeyboardNavigation' in this.element.data()) { + this.keyboardNavigation = this.element.data('date-keyboard-navigation'); + } + + this.todayBtn = (options.todayBtn || this.element.data('date-today-btn') || false); + this.clearBtn = (options.clearBtn || this.element.data('date-clear-btn') || false); + this.todayHighlight = (options.todayHighlight || this.element.data('date-today-highlight') || false); + + this.weekStart = 0; + if (typeof options.weekStart !== 'undefined') { + this.weekStart = options.weekStart; + } else if (typeof this.element.data('date-weekstart') !== 'undefined') { + this.weekStart = this.element.data('date-weekstart'); + } else if (typeof dates[this.language].weekStart !== 'undefined') { + this.weekStart = dates[this.language].weekStart; + } + this.weekStart = this.weekStart % 7; + this.weekEnd = ((this.weekStart + 6) % 7); + this.onRenderDay = function (date) { + var render = (options.onRenderDay || function () { return []; })(date); + if (typeof render === 'string') { + render = [render]; + } + var res = ['day']; + return res.concat((render ? render : [])); + }; + this.onRenderHour = function (date) { + var render = (options.onRenderHour || function () { return []; })(date); + var res = ['hour']; + if (typeof render === 'string') { + render = [render]; + } + return res.concat((render ? render : [])); + }; + this.onRenderMinute = function (date) { + var render = (options.onRenderMinute || function () { return []; })(date); + var res = ['minute']; + if (typeof render === 'string') { + render = [render]; + } + if (date < this.startDate || date > this.endDate) { + res.push('disabled'); + } else if (Math.floor(this.date.getUTCMinutes() / this.minuteStep) === Math.floor(date.getUTCMinutes() / this.minuteStep)) { + res.push('active'); + } + return res.concat((render ? render : [])); + }; + this.onRenderYear = function (date) { + var render = (options.onRenderYear || function () { return []; })(date); + var res = ['year']; + if (typeof render === 'string') { + render = [render]; + } + if (this.date.getUTCFullYear() === date.getUTCFullYear()) { + res.push('active'); + } + var currentYear = date.getUTCFullYear(); + var endYear = this.endDate.getUTCFullYear(); + if (date < this.startDate || currentYear > endYear) { + res.push('disabled'); + } + return res.concat((render ? render : [])); + } + this.onRenderMonth = function (date) { + var render = (options.onRenderMonth || function () { return []; })(date); + var res = ['month']; + if (typeof render === 'string') { + render = [render]; + } + return res.concat((render ? render : [])); + } + this.startDate = new Date(-8639968443048000); + this.endDate = new Date(8639968443048000); + this.datesDisabled = []; + this.daysOfWeekDisabled = []; + this.setStartDate(options.startDate || this.element.data('date-startdate')); + this.setEndDate(options.endDate || this.element.data('date-enddate')); + this.setDatesDisabled(options.datesDisabled || this.element.data('date-dates-disabled')); + this.setDaysOfWeekDisabled(options.daysOfWeekDisabled || this.element.data('date-days-of-week-disabled')); + this.setMinutesDisabled(options.minutesDisabled || this.element.data('date-minute-disabled')); + this.setHoursDisabled(options.hoursDisabled || this.element.data('date-hour-disabled')); + this.fillDow(); + this.fillMonths(); + this.update(); + this.showMode(); + + if (this.isInline) { + this.show(); + } + }; + + Datetimepicker.prototype = { + constructor: Datetimepicker, + + _events: [], + _attachEvents: function () { + this._detachEvents(); + if (this.isInput) { // single input + this._events = [ + [this.element, { + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this), + keydown: $.proxy(this.keydown, this) + }] + ]; + } + else if (this.component && this.hasInput) { // component: input + button + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.element.find('input'), { + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this), + keydown: $.proxy(this.keydown, this) + }], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + if (this.componentReset) { + this._events.push([ + this.componentReset, + {click: $.proxy(this.reset, this)} + ]); + } + } + else if (this.element.is('div')) { // inline datetimepicker + this.isInline = true; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this) + }] + ]; + } + for (var i = 0, el, ev; i < this._events.length; i++) { + el = this._events[i][0]; + ev = this._events[i][1]; + el.on(ev); + } + }, + + _detachEvents: function () { + for (var i = 0, el, ev; i < this._events.length; i++) { + el = this._events[i][0]; + ev = this._events[i][1]; + el.off(ev); + } + this._events = []; + }, + + show: function (e) { + this.picker.show(); + this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); + if (this.forceParse) { + this.update(); + } + this.place(); + $(window).on('resize', $.proxy(this.place, this)); + if (e) { + e.stopPropagation(); + e.preventDefault(); + } + this.isVisible = true; + this.element.trigger({ + type: 'show', + date: this.date + }); + }, + + hide: function () { + if (!this.isVisible) return; + if (this.isInline) return; + this.picker.hide(); + $(window).off('resize', this.place); + this.viewMode = this.startViewMode; + this.showMode(); + if (!this.isInput) { + $(document).off('mousedown', this.hide); + } + + if ( + this.forceParse && + ( + this.isInput && this.element.val() || + this.hasInput && this.element.find('input').val() + ) + ) + this.setValue(); + this.isVisible = false; + this.element.trigger({ + type: 'hide', + date: this.date + }); + }, + + remove: function () { + this._detachEvents(); + $(document).off('mousedown', this.clickedOutside); + this.picker.remove(); + delete this.picker; + delete this.element.data().datetimepicker; + }, + + getDate: function () { + var d = this.getUTCDate(); + if (d === null) { + return null; + } + return new Date(d.getTime() + (d.getTimezoneOffset() * 60000)); + }, + + getUTCDate: function () { + return this.date; + }, + + getInitialDate: function () { + return this.initialDate + }, + + setInitialDate: function (initialDate) { + this.initialDate = initialDate; + }, + + setDate: function (d) { + this.setUTCDate(new Date(d.getTime() - (d.getTimezoneOffset() * 60000))); + }, + + setUTCDate: function (d) { + if (d >= this.startDate && d <= this.endDate) { + this.date = d; + this.setValue(); + this.viewDate = this.date; + this.fill(); + } else { + this.element.trigger({ + type: 'outOfRange', + date: d, + startDate: this.startDate, + endDate: this.endDate + }); + } + }, + + setFormat: function (format) { + this.format = DPGlobal.parseFormat(format, this.formatType); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + if (element && element.val()) { + this.setValue(); + } + }, + + setValue: function () { + var formatted = this.getFormattedDate(); + if (!this.isInput) { + if (this.component) { + this.element.find('input').val(formatted); + } + this.element.data('date', formatted); + } else { + this.element.val(formatted); + } + if (this.linkField) { + $('#' + this.linkField).val(this.getFormattedDate(this.linkFormat)); + } + }, + + getFormattedDate: function (format) { + format = format || this.format; + return DPGlobal.formatDate(this.date, format, this.language, this.formatType, this.timezone); + }, + + setStartDate: function (startDate) { + this.startDate = startDate || this.startDate; + if (this.startDate.valueOf() !== 8639968443048000) { + this.startDate = DPGlobal.parseDate(this.startDate, this.format, this.language, this.formatType, this.timezone); + } + this.update(); + this.updateNavArrows(); + }, + + setEndDate: function (endDate) { + this.endDate = endDate || this.endDate; + if (this.endDate.valueOf() !== 8639968443048000) { + this.endDate = DPGlobal.parseDate(this.endDate, this.format, this.language, this.formatType, this.timezone); + } + this.update(); + this.updateNavArrows(); + }, + + setDatesDisabled: function (datesDisabled) { + this.datesDisabled = datesDisabled || []; + if (!$.isArray(this.datesDisabled)) { + this.datesDisabled = this.datesDisabled.split(/,\s*/); + } + var mThis = this; + this.datesDisabled = $.map(this.datesDisabled, function (d) { + return DPGlobal.parseDate(d, mThis.format, mThis.language, mThis.formatType, mThis.timezone).toDateString(); + }); + this.update(); + this.updateNavArrows(); + }, + + setTitle: function (selector, value) { + return this.picker.find(selector) + .find('th:eq(1)') + .text(this.title === false ? value : this.title); + }, + + setDaysOfWeekDisabled: function (daysOfWeekDisabled) { + this.daysOfWeekDisabled = daysOfWeekDisabled || []; + if (!$.isArray(this.daysOfWeekDisabled)) { + this.daysOfWeekDisabled = this.daysOfWeekDisabled.split(/,\s*/); + } + this.daysOfWeekDisabled = $.map(this.daysOfWeekDisabled, function (d) { + return parseInt(d, 10); + }); + this.update(); + this.updateNavArrows(); + }, + + setMinutesDisabled: function (minutesDisabled) { + this.minutesDisabled = minutesDisabled || []; + if (!$.isArray(this.minutesDisabled)) { + this.minutesDisabled = this.minutesDisabled.split(/,\s*/); + } + this.minutesDisabled = $.map(this.minutesDisabled, function (d) { + return parseInt(d, 10); + }); + this.update(); + this.updateNavArrows(); + }, + + setHoursDisabled: function (hoursDisabled) { + this.hoursDisabled = hoursDisabled || []; + if (!$.isArray(this.hoursDisabled)) { + this.hoursDisabled = this.hoursDisabled.split(/,\s*/); + } + this.hoursDisabled = $.map(this.hoursDisabled, function (d) { + return parseInt(d, 10); + }); + this.update(); + this.updateNavArrows(); + }, + + place: function () { + if (this.isInline) return; + + if (!this.zIndex) { + var index_highest = 0; + $('div').each(function () { + var index_current = parseInt($(this).css('zIndex'), 10); + if (index_current > index_highest) { + index_highest = index_current; + } + }); + this.zIndex = index_highest + 10; + } + + var offset, top, left, containerOffset; + if (this.container instanceof $) { + containerOffset = this.container.offset(); + } else { + containerOffset = $(this.container).offset(); + } + + if (this.component) { + offset = this.component.offset(); + left = offset.left; + if (this.pickerPosition === 'bottom-left' || this.pickerPosition === 'top-left') { + left += this.component.outerWidth() - this.picker.outerWidth(); + } + } else { + offset = this.element.offset(); + left = offset.left; + if (this.pickerPosition === 'bottom-left' || this.pickerPosition === 'top-left') { + left += this.element.outerWidth() - this.picker.outerWidth(); + } + } + + var bodyWidth = document.body.clientWidth || window.innerWidth; + if (left + 220 > bodyWidth) { + left = bodyWidth - 220; + } + + if (this.pickerPosition === 'top-left' || this.pickerPosition === 'top-right') { + top = offset.top - this.picker.outerHeight(); + } else { + top = offset.top + this.height; + } + + top = top - containerOffset.top; + left = left - containerOffset.left; + + this.picker.css({ + top: top, + left: left, + zIndex: this.zIndex + }); + }, + + hour_minute: "^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]", + + update: function () { + var date, fromArgs = false; + if (arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) { + date = arguments[0]; + fromArgs = true; + } else { + date = (this.isInput ? this.element.val() : this.element.find('input').val()) || this.element.data('date') || this.initialDate; + if (typeof date === 'string') { + date = date.replace(/^\s+|\s+$/g,''); + } + } + + if (!date) { + date = new Date(); + fromArgs = false; + } + + if (typeof date === "string") { + if (new RegExp(this.hour_minute).test(date) || new RegExp(this.hour_minute + ":[0-5][0-9]").test(date)) { + date = this.getDate() + } + } + + this.date = DPGlobal.parseDate(date, this.format, this.language, this.formatType, this.timezone); + + if (fromArgs) this.setValue(); + + if (this.date < this.startDate) { + this.viewDate = new Date(this.startDate); + } else if (this.date > this.endDate) { + this.viewDate = new Date(this.endDate); + } else { + this.viewDate = new Date(this.date); + } + this.fill(); + }, + + fillDow: function () { + var dowCnt = this.weekStart, + html = ''; + while (dowCnt < this.weekStart + 7) { + html += '' + dates[this.language].daysMin[(dowCnt++) % 7] + ''; + } + html += ''; + this.picker.find('.datetimepicker-days thead').append(html); + }, + + fillMonths: function () { + var html = ''; + var d = new Date(this.viewDate); + for (var i = 0; i < 12; i++) { + d.setUTCMonth(i); + var classes = this.onRenderMonth(d); + html += '' + dates[this.language].monthsShort[i] + ''; + } + this.picker.find('.datetimepicker-months td').html(html); + }, + + fill: function () { + if (!this.date || !this.viewDate) { + return; + } + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + dayMonth = d.getUTCDate(), + hours = d.getUTCHours(), + startYear = this.startDate.getUTCFullYear(), + startMonth = this.startDate.getUTCMonth(), + endYear = this.endDate.getUTCFullYear(), + endMonth = this.endDate.getUTCMonth() + 1, + currentDate = (new UTCDate(this.date.getUTCFullYear(), this.date.getUTCMonth(), this.date.getUTCDate())).valueOf(), + today = new Date(); + this.setTitle('.datetimepicker-days', dates[this.language].months[month] + ' ' + year) + if (this.formatViewType === 'time') { + var formatted = this.getFormattedDate(); + this.setTitle('.datetimepicker-hours', formatted); + this.setTitle('.datetimepicker-minutes', formatted); + } else { + this.setTitle('.datetimepicker-hours', dayMonth + ' ' + dates[this.language].months[month] + ' ' + year); + this.setTitle('.datetimepicker-minutes', dayMonth + ' ' + dates[this.language].months[month] + ' ' + year); + } + this.picker.find('tfoot th.today') + .text(dates[this.language].today || dates['en'].today) + .toggle(this.todayBtn !== false); + this.picker.find('tfoot th.clear') + .text(dates[this.language].clear || dates['en'].clear) + .toggle(this.clearBtn !== false); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month - 1, 28, 0, 0, 0, 0), + day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); + prevMonth.setUTCDate(day); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.weekStart + 7) % 7); + var nextMonth = new Date(prevMonth); + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var classes; + while (prevMonth.valueOf() < nextMonth) { + if (prevMonth.getUTCDay() === this.weekStart) { + html.push(''); + } + classes = this.onRenderDay(prevMonth); + if (prevMonth.getUTCFullYear() < year || (prevMonth.getUTCFullYear() === year && prevMonth.getUTCMonth() < month)) { + classes.push('old'); + } else if (prevMonth.getUTCFullYear() > year || (prevMonth.getUTCFullYear() === year && prevMonth.getUTCMonth() > month)) { + classes.push('new'); + } + // Compare internal UTC date with local today, not UTC today + if (this.todayHighlight && + prevMonth.getUTCFullYear() === today.getFullYear() && + prevMonth.getUTCMonth() === today.getMonth() && + prevMonth.getUTCDate() === today.getDate()) { + classes.push('today'); + } + if (prevMonth.valueOf() === currentDate) { + classes.push('active'); + } + if ((prevMonth.valueOf() + 86400000) <= this.startDate || prevMonth.valueOf() > this.endDate || + $.inArray(prevMonth.getUTCDay(), this.daysOfWeekDisabled) !== -1 || + $.inArray(prevMonth.toDateString(), this.datesDisabled) !== -1) { + classes.push('disabled'); + } + html.push('' + prevMonth.getUTCDate() + ''); + if (prevMonth.getUTCDay() === this.weekEnd) { + html.push(''); + } + prevMonth.setUTCDate(prevMonth.getUTCDate() + 1); + } + this.picker.find('.datetimepicker-days tbody').empty().append(html.join('')); + + html = []; + var txt = '', meridian = '', meridianOld = ''; + var hoursDisabled = this.hoursDisabled || []; + d = new Date(this.viewDate) + for (var i = 0; i < 24; i++) { + d.setUTCHours(i); + classes = this.onRenderHour(d); + if (hoursDisabled.indexOf(i) !== -1) { + classes.push('disabled'); + } + var actual = UTCDate(year, month, dayMonth, i); + // We want the previous hour for the startDate + if ((actual.valueOf() + 3600000) <= this.startDate || actual.valueOf() > this.endDate) { + classes.push('disabled'); + } else if (hours === i) { + classes.push('active'); + } + if (this.showMeridian && dates[this.language].meridiem.length === 2) { + meridian = (i < 12 ? dates[this.language].meridiem[0] : dates[this.language].meridiem[1]); + if (meridian !== meridianOld) { + if (meridianOld !== '') { + html.push(''); + } + html.push('
' + meridian.toUpperCase() + ''); + } + meridianOld = meridian; + txt = (i % 12 ? i % 12 : 12); + if (i < 12) { + classes.push('hour_am'); + } else { + classes.push('hour_pm'); + } + html.push('' + txt + ''); + if (i === 23) { + html.push('
'); + } + } else { + txt = i + ':00'; + html.push('' + txt + ''); + } + } + this.picker.find('.datetimepicker-hours td').html(html.join('')); + + html = []; + txt = ''; + meridian = ''; + meridianOld = ''; + var minutesDisabled = this.minutesDisabled || []; + d = new Date(this.viewDate); + for (var i = 0; i < 60; i += this.minuteStep) { + if (minutesDisabled.indexOf(i) !== -1) continue; + d.setUTCMinutes(i); + d.setUTCSeconds(0); + classes = this.onRenderMinute(d); + if (this.showMeridian && dates[this.language].meridiem.length === 2) { + meridian = (hours < 12 ? dates[this.language].meridiem[0] : dates[this.language].meridiem[1]); + if (meridian !== meridianOld) { + if (meridianOld !== '') { + html.push(''); + } + html.push('
' + meridian.toUpperCase() + ''); + } + meridianOld = meridian; + txt = (hours % 12 ? hours % 12 : 12); + html.push('' + txt + ':' + (i < 10 ? '0' + i : i) + ''); + if (i === 59) { + html.push('
'); + } + } else { + txt = i + ':00'; + html.push('' + hours + ':' + (i < 10 ? '0' + i : i) + ''); + } + } + this.picker.find('.datetimepicker-minutes td').html(html.join('')); + + var currentYear = this.date.getUTCFullYear(); + var months = this.setTitle('.datetimepicker-months', year) + .end() + .find('.month').removeClass('active'); + if (currentYear === year) { + // getUTCMonths() returns 0 based, and we need to select the next one + // To cater bootstrap 2 we don't need to select the next one + months.eq(this.date.getUTCMonth()).addClass('active'); + } + if (year < startYear || year > endYear) { + months.addClass('disabled'); + } + if (year === startYear) { + months.slice(0, startMonth).addClass('disabled'); + } + if (year === endYear) { + months.slice(endMonth).addClass('disabled'); + } + + html = ''; + year = parseInt(year / 10, 10) * 10; + var yearCont = this.setTitle('.datetimepicker-years', year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + d = new Date(this.viewDate); + for (var i = -1; i < 11; i++) { + d.setUTCFullYear(year); + classes = this.onRenderYear(d); + if (i === -1 || i === 10) { + classes.push(old); + } + html += '' + year + ''; + year += 1; + } + yearCont.html(html); + this.place(); + }, + + updateNavArrows: function () { + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + day = d.getUTCDate(), + hour = d.getUTCHours(); + switch (this.viewMode) { + case 0: + if (year <= this.startDate.getUTCFullYear() + && month <= this.startDate.getUTCMonth() + && day <= this.startDate.getUTCDate() + && hour <= this.startDate.getUTCHours()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear() + && month >= this.endDate.getUTCMonth() + && day >= this.endDate.getUTCDate() + && hour >= this.endDate.getUTCHours()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 1: + if (year <= this.startDate.getUTCFullYear() + && month <= this.startDate.getUTCMonth() + && day <= this.startDate.getUTCDate()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear() + && month >= this.endDate.getUTCMonth() + && day >= this.endDate.getUTCDate()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 2: + if (year <= this.startDate.getUTCFullYear() + && month <= this.startDate.getUTCMonth()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear() + && month >= this.endDate.getUTCMonth()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 3: + case 4: + if (year <= this.startDate.getUTCFullYear()) { + this.picker.find('.prev').css({visibility: 'hidden'}); + } else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (year >= this.endDate.getUTCFullYear()) { + this.picker.find('.next').css({visibility: 'hidden'}); + } else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + } + }, + + mousewheel: function (e) { + + e.preventDefault(); + e.stopPropagation(); + + if (this.wheelPause) { + return; + } + + this.wheelPause = true; + + var originalEvent = e.originalEvent; + + var delta = originalEvent.wheelDelta; + + var mode = delta > 0 ? 1 : (delta === 0) ? 0 : -1; + + if (this.wheelViewModeNavigationInverseDirection) { + mode = -mode; + } + + this.showMode(mode); + + setTimeout($.proxy(function () { + + this.wheelPause = false + + }, this), this.wheelViewModeNavigationDelay); + + }, + + click: function (e) { + e.stopPropagation(); + e.preventDefault(); + var target = $(e.target).closest('span, td, th, legend'); + if (target.is('.' + this.icontype)) { + target = $(target).parent().closest('span, td, th, legend'); + } + if (target.length === 1) { + if (target.is('.disabled')) { + this.element.trigger({ + type: 'outOfRange', + date: this.viewDate, + startDate: this.startDate, + endDate: this.endDate + }); + return; + } + switch (target[0].nodeName.toLowerCase()) { + case 'th': + switch (target[0].className) { + case 'switch': + this.showMode(1); + break; + case 'prev': + case 'next': + var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1); + switch (this.viewMode) { + case 0: + this.viewDate = this.moveHour(this.viewDate, dir); + break; + case 1: + this.viewDate = this.moveDate(this.viewDate, dir); + break; + case 2: + this.viewDate = this.moveMonth(this.viewDate, dir); + break; + case 3: + case 4: + this.viewDate = this.moveYear(this.viewDate, dir); + break; + } + this.fill(); + this.element.trigger({ + type: target[0].className + ':' + this.convertViewModeText(this.viewMode), + date: this.viewDate, + startDate: this.startDate, + endDate: this.endDate + }); + break; + case 'clear': + this.reset(); + if (this.autoclose) { + this.hide(); + } + break; + case 'today': + var date = new Date(); + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0); + + // Respect startDate and endDate. + if (date < this.startDate) date = this.startDate; + else if (date > this.endDate) date = this.endDate; + + this.viewMode = this.startViewMode; + this.showMode(0); + this._setDate(date); + this.fill(); + if (this.autoclose) { + this.hide(); + } + break; + } + break; + case 'span': + if (!target.is('.disabled')) { + var year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + day = this.viewDate.getUTCDate(), + hours = this.viewDate.getUTCHours(), + minutes = this.viewDate.getUTCMinutes(), + seconds = this.viewDate.getUTCSeconds(); + + if (target.is('.month')) { + this.viewDate.setUTCDate(1); + month = target.parent().find('span').index(target); + day = this.viewDate.getUTCDate(); + this.viewDate.setUTCMonth(month); + this.element.trigger({ + type: 'changeMonth', + date: this.viewDate + }); + if (this.viewSelect >= 3) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } else if (target.is('.year')) { + this.viewDate.setUTCDate(1); + year = parseInt(target.text(), 10) || 0; + this.viewDate.setUTCFullYear(year); + this.element.trigger({ + type: 'changeYear', + date: this.viewDate + }); + if (this.viewSelect >= 4) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } else if (target.is('.hour')) { + hours = parseInt(target.text(), 10) || 0; + if (target.hasClass('hour_am') || target.hasClass('hour_pm')) { + if (hours === 12 && target.hasClass('hour_am')) { + hours = 0; + } else if (hours !== 12 && target.hasClass('hour_pm')) { + hours += 12; + } + } + this.viewDate.setUTCHours(hours); + this.element.trigger({ + type: 'changeHour', + date: this.viewDate + }); + if (this.viewSelect >= 1) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } else if (target.is('.minute')) { + minutes = parseInt(target.text().substr(target.text().indexOf(':') + 1), 10) || 0; + this.viewDate.setUTCMinutes(minutes); + this.element.trigger({ + type: 'changeMinute', + date: this.viewDate + }); + if (this.viewSelect >= 0) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } + if (this.viewMode !== 0) { + var oldViewMode = this.viewMode; + this.showMode(-1); + this.fill(); + if (oldViewMode === this.viewMode && this.autoclose) { + this.hide(); + } + } else { + this.fill(); + if (this.autoclose) { + this.hide(); + } + } + } + break; + case 'td': + if (target.is('.day') && !target.is('.disabled')) { + var day = parseInt(target.text(), 10) || 1; + var year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + hours = this.viewDate.getUTCHours(), + minutes = this.viewDate.getUTCMinutes(), + seconds = this.viewDate.getUTCSeconds(); + if (target.is('.old')) { + if (month === 0) { + month = 11; + year -= 1; + } else { + month -= 1; + } + } else if (target.is('.new')) { + if (month === 11) { + month = 0; + year += 1; + } else { + month += 1; + } + } + this.viewDate.setUTCFullYear(year); + this.viewDate.setUTCMonth(month, day); + this.element.trigger({ + type: 'changeDay', + date: this.viewDate + }); + if (this.viewSelect >= 2) { + this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); + } + } + var oldViewMode = this.viewMode; + this.showMode(-1); + this.fill(); + if (oldViewMode === this.viewMode && this.autoclose) { + this.hide(); + } + break; + } + } + }, + + _setDate: function (date, which) { + if (!which || which === 'date') + this.date = date; + if (!which || which === 'view') + this.viewDate = date; + this.fill(); + this.setValue(); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + if (element) { + element.change(); + } + this.element.trigger({ + type: 'changeDate', + date: this.getDate() + }); + if(date === null) + this.date = this.viewDate; + }, + + moveMinute: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()); + //dir = dir > 0 ? 1 : -1; + new_date.setUTCMinutes(new_date.getUTCMinutes() + (dir * this.minuteStep)); + return new_date; + }, + + moveHour: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()); + //dir = dir > 0 ? 1 : -1; + new_date.setUTCHours(new_date.getUTCHours() + dir); + return new_date; + }, + + moveDate: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()); + //dir = dir > 0 ? 1 : -1; + new_date.setUTCDate(new_date.getUTCDate() + dir); + return new_date; + }, + + moveMonth: function (date, dir) { + if (!dir) return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag === 1) { + test = dir === -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 === Feb 28, not Mar 02) + ? function () { + return new_date.getUTCMonth() === month; + } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 === Feb 28, not Mar 02) + : function () { + return new_date.getUTCMonth() !== new_month; + }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + if (new_month < 0 || new_month > 11) + new_month = (new_month + 12) % 12; + } else { + // For magnitudes >1, move one month at a time... + for (var i = 0; i < mag; i++) + // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... + new_date = this.moveMonth(new_date, dir); + // ...then reset the day, keeping it in the new month + new_month = new_date.getUTCMonth(); + new_date.setUTCDate(day); + test = function () { + return new_month !== new_date.getUTCMonth(); + }; + } + // Common date-resetting loop -- if date is beyond end of month, make it + // end of month + while (test()) { + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); + } + return new_date; + }, + + moveYear: function (date, dir) { + return this.moveMonth(date, dir * 12); + }, + + dateWithinRange: function (date) { + return date >= this.startDate && date <= this.endDate; + }, + + keydown: function (e) { + if (this.picker.is(':not(:visible)')) { + if (e.keyCode === 27) // allow escape to hide and re-show picker + this.show(); + return; + } + var dateChanged = false, + dir, newDate, newViewDate; + switch (e.keyCode) { + case 27: // escape + this.hide(); + e.preventDefault(); + break; + case 37: // left + case 39: // right + if (!this.keyboardNavigation) break; + dir = e.keyCode === 37 ? -1 : 1; + var viewMode = this.viewMode; + if (e.ctrlKey) { + viewMode += 2; + } else if (e.shiftKey) { + viewMode += 1; + } + if (viewMode === 4) { + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); + } else if (viewMode === 3) { + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); + } else if (viewMode === 2) { + newDate = this.moveDate(this.date, dir); + newViewDate = this.moveDate(this.viewDate, dir); + } else if (viewMode === 1) { + newDate = this.moveHour(this.date, dir); + newViewDate = this.moveHour(this.viewDate, dir); + } else if (viewMode === 0) { + newDate = this.moveMinute(this.date, dir); + newViewDate = this.moveMinute(this.viewDate, dir); + } + if (this.dateWithinRange(newDate)) { + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; + } + break; + case 38: // up + case 40: // down + if (!this.keyboardNavigation) break; + dir = e.keyCode === 38 ? -1 : 1; + viewMode = this.viewMode; + if (e.ctrlKey) { + viewMode += 2; + } else if (e.shiftKey) { + viewMode += 1; + } + if (viewMode === 4) { + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); + } else if (viewMode === 3) { + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); + } else if (viewMode === 2) { + newDate = this.moveDate(this.date, dir * 7); + newViewDate = this.moveDate(this.viewDate, dir * 7); + } else if (viewMode === 1) { + if (this.showMeridian) { + newDate = this.moveHour(this.date, dir * 6); + newViewDate = this.moveHour(this.viewDate, dir * 6); + } else { + newDate = this.moveHour(this.date, dir * 4); + newViewDate = this.moveHour(this.viewDate, dir * 4); + } + } else if (viewMode === 0) { + newDate = this.moveMinute(this.date, dir * 4); + newViewDate = this.moveMinute(this.viewDate, dir * 4); + } + if (this.dateWithinRange(newDate)) { + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; + } + break; + case 13: // enter + if (this.viewMode !== 0) { + var oldViewMode = this.viewMode; + this.showMode(-1); + this.fill(); + if (oldViewMode === this.viewMode && this.autoclose) { + this.hide(); + } + } else { + this.fill(); + if (this.autoclose) { + this.hide(); + } + } + e.preventDefault(); + break; + case 9: // tab + this.hide(); + break; + } + if (dateChanged) { + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + if (element) { + element.change(); + } + this.element.trigger({ + type: 'changeDate', + date: this.getDate() + }); + } + }, + + showMode: function (dir) { + if (dir) { + var newViewMode = Math.max(0, Math.min(DPGlobal.modes.length - 1, this.viewMode + dir)); + if (newViewMode >= this.minView && newViewMode <= this.maxView) { + this.element.trigger({ + type: 'changeMode', + date: this.viewDate, + oldViewMode: this.viewMode, + newViewMode: newViewMode + }); + + this.viewMode = newViewMode; + } + } + /* + vitalets: fixing bug of very special conditions: + jquery 1.7.1 + webkit + show inline datetimepicker in bootstrap popover. + Method show() does not set display css correctly and datetimepicker is not shown. + Changed to .css('display', 'block') solve the problem. + See https://github.com/vitalets/x-editable/issues/37 + + In jquery 1.7.2+ everything works fine. + */ + //this.picker.find('>div').hide().filter('.datetimepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); + this.picker.find('>div').hide().filter('.datetimepicker-' + DPGlobal.modes[this.viewMode].clsName).css('display', 'block'); + this.updateNavArrows(); + }, + + reset: function () { + this._setDate(null, 'date'); + }, + + convertViewModeText: function (viewMode) { + switch (viewMode) { + case 4: + return 'decade'; + case 3: + return 'year'; + case 2: + return 'month'; + case 1: + return 'day'; + case 0: + return 'hour'; + } + } + }; + + var old = $.fn.datetimepicker; + $.fn.datetimepicker = function (option) { + var args = Array.apply(null, arguments); + args.shift(); + var internal_return; + this.each(function () { + var $this = $(this), + data = $this.data('datetimepicker'), + options = typeof option === 'object' && option; + if (!data) { + $this.data('datetimepicker', (data = new Datetimepicker(this, $.extend({}, $.fn.datetimepicker.defaults, options)))); + } + if (typeof option === 'string' && typeof data[option] === 'function') { + internal_return = data[option].apply(data, args); + if (internal_return !== undefined) { + return false; + } + } + }); + if (internal_return !== undefined) + return internal_return; + else + return this; + }; + + $.fn.datetimepicker.defaults = { + }; + $.fn.datetimepicker.Constructor = Datetimepicker; + var dates = $.fn.datetimepicker.dates = { + en: { + days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], + daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + meridiem: ['am', 'pm'], + suffix: ['st', 'nd', 'rd', 'th'], + today: 'Today', + clear: 'Clear' + } + }; + + var DPGlobal = { + modes: [ + { + clsName: 'minutes', + navFnc: 'Hours', + navStep: 1 + }, + { + clsName: 'hours', + navFnc: 'Date', + navStep: 1 + }, + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + } + ], + isLeapYear: function (year) { + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) + }, + getDaysInMonth: function (year, month) { + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] + }, + getDefaultFormat: function (type, field) { + if (type === 'standard') { + if (field === 'input') + return 'yyyy-mm-dd hh:ii'; + else + return 'yyyy-mm-dd hh:ii:ss'; + } else if (type === 'php') { + if (field === 'input') + return 'Y-m-d H:i'; + else + return 'Y-m-d H:i:s'; + } else { + throw new Error('Invalid format type.'); + } + }, + validParts: function (type) { + if (type === 'standard') { + return /t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g; + } else if (type === 'php') { + return /[dDjlNwzFmMnStyYaABgGhHis]/g; + } else { + throw new Error('Invalid format type.'); + } + }, + nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\rTZ]+/g, + parseFormat: function (format, type) { + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts(type), '\0').split('\0'), + parts = format.match(this.validParts(type)); + if (!separators || !separators.length || !parts || parts.length === 0) { + throw new Error('Invalid date format.'); + } + return {separators: separators, parts: parts}; + }, + parseDate: function (date, format, language, type, timezone) { + if (date instanceof Date) { + var dateUTC = new Date(date.valueOf() - date.getTimezoneOffset() * 60000); + dateUTC.setMilliseconds(0); + return dateUTC; + } + if (/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(date)) { + format = this.parseFormat('yyyy-mm-dd', type); + } + if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(date)) { + format = this.parseFormat('yyyy-mm-dd hh:ii', type); + } + if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(date)) { + format = this.parseFormat('yyyy-mm-dd hh:ii:ss', type); + } + if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) { + var part_re = /([-+]\d+)([dmwy])/, + parts = date.match(/([-+]\d+)([dmwy])/g), + part, dir; + date = new Date(); + for (var i = 0; i < parts.length; i++) { + part = part_re.exec(parts[i]); + dir = parseInt(part[1]); + switch (part[2]) { + case 'd': + date.setUTCDate(date.getUTCDate() + dir); + break; + case 'm': + date = Datetimepicker.prototype.moveMonth.call(Datetimepicker.prototype, date, dir); + break; + case 'w': + date.setUTCDate(date.getUTCDate() + dir * 7); + break; + case 'y': + date = Datetimepicker.prototype.moveYear.call(Datetimepicker.prototype, date, dir); + break; + } + } + return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), 0); + } + var parts = date && date.toString().match(this.nonpunctuation) || [], + date = new Date(0, 0, 0, 0, 0, 0, 0), + parsed = {}, + setters_order = ['hh', 'h', 'ii', 'i', 'ss', 's', 'yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'D', 'DD', 'd', 'dd', 'H', 'HH', 'p', 'P', 'z', 'Z'], + setters_map = { + hh: function (d, v) { + return d.setUTCHours(v); + }, + h: function (d, v) { + return d.setUTCHours(v); + }, + HH: function (d, v) { + return d.setUTCHours(v === 12 ? 0 : v); + }, + H: function (d, v) { + return d.setUTCHours(v === 12 ? 0 : v); + }, + ii: function (d, v) { + return d.setUTCMinutes(v); + }, + i: function (d, v) { + return d.setUTCMinutes(v); + }, + ss: function (d, v) { + return d.setUTCSeconds(v); + }, + s: function (d, v) { + return d.setUTCSeconds(v); + }, + yyyy: function (d, v) { + return d.setUTCFullYear(v); + }, + yy: function (d, v) { + return d.setUTCFullYear(2000 + v); + }, + m: function (d, v) { + v -= 1; + while (v < 0) v += 12; + v %= 12; + d.setUTCMonth(v); + while (d.getUTCMonth() !== v) + if (isNaN(d.getUTCMonth())) + return d; + else + d.setUTCDate(d.getUTCDate() - 1); + return d; + }, + d: function (d, v) { + return d.setUTCDate(v); + }, + p: function (d, v) { + return d.setUTCHours(v === 1 ? d.getUTCHours() + 12 : d.getUTCHours()); + }, + z: function () { + return timezone + } + }, + val, filtered, part; + setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; + setters_map['dd'] = setters_map['d']; + setters_map['P'] = setters_map['p']; + setters_map['Z'] = setters_map['z']; + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()); + if (parts.length === format.parts.length) { + for (var i = 0, cnt = format.parts.length; i < cnt; i++) { + val = parseInt(parts[i], 10); + part = format.parts[i]; + if (isNaN(val)) { + switch (part) { + case 'MM': + filtered = $(dates[language].months).filter(function () { + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m === p; + }); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(function () { + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m.toLowerCase() === p.toLowerCase(); + }); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + case 'p': + case 'P': + val = $.inArray(parts[i].toLowerCase(), dates[language].meridiem); + break; + case 'z': + case 'Z': + timezone; + break; + + } + } + parsed[part] = val; + } + for (var i = 0, s; i < setters_order.length; i++) { + s = setters_order[i]; + if (s in parsed && !isNaN(parsed[s])) + setters_map[s](date, parsed[s]) + } + } + return date; + }, + formatDate: function (date, format, language, type, timezone) { + if (date === null) { + return ''; + } + var val; + if (type === 'standard') { + val = { + t: date.getTime(), + // year + yy: date.getUTCFullYear().toString().substring(2), + yyyy: date.getUTCFullYear(), + // month + m: date.getUTCMonth() + 1, + M: dates[language].monthsShort[date.getUTCMonth()], + MM: dates[language].months[date.getUTCMonth()], + // day + d: date.getUTCDate(), + D: dates[language].daysShort[date.getUTCDay()], + DD: dates[language].days[date.getUTCDay()], + p: (dates[language].meridiem.length === 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''), + // hour + h: date.getUTCHours(), + // minute + i: date.getUTCMinutes(), + // second + s: date.getUTCSeconds(), + // timezone + z: timezone + }; + + if (dates[language].meridiem.length === 2) { + val.H = (val.h % 12 === 0 ? 12 : val.h % 12); + } + else { + val.H = val.h; + } + val.HH = (val.H < 10 ? '0' : '') + val.H; + val.P = val.p.toUpperCase(); + val.Z = val.z; + val.hh = (val.h < 10 ? '0' : '') + val.h; + val.ii = (val.i < 10 ? '0' : '') + val.i; + val.ss = (val.s < 10 ? '0' : '') + val.s; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + } else if (type === 'php') { + // php format + val = { + // year + y: date.getUTCFullYear().toString().substring(2), + Y: date.getUTCFullYear(), + // month + F: dates[language].months[date.getUTCMonth()], + M: dates[language].monthsShort[date.getUTCMonth()], + n: date.getUTCMonth() + 1, + t: DPGlobal.getDaysInMonth(date.getUTCFullYear(), date.getUTCMonth()), + // day + j: date.getUTCDate(), + l: dates[language].days[date.getUTCDay()], + D: dates[language].daysShort[date.getUTCDay()], + w: date.getUTCDay(), // 0 -> 6 + N: (date.getUTCDay() === 0 ? 7 : date.getUTCDay()), // 1 -> 7 + S: (date.getUTCDate() % 10 <= dates[language].suffix.length ? dates[language].suffix[date.getUTCDate() % 10 - 1] : ''), + // hour + a: (dates[language].meridiem.length === 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''), + g: (date.getUTCHours() % 12 === 0 ? 12 : date.getUTCHours() % 12), + G: date.getUTCHours(), + // minute + i: date.getUTCMinutes(), + // second + s: date.getUTCSeconds() + }; + val.m = (val.n < 10 ? '0' : '') + val.n; + val.d = (val.j < 10 ? '0' : '') + val.j; + val.A = val.a.toString().toUpperCase(); + val.h = (val.g < 10 ? '0' : '') + val.g; + val.H = (val.G < 10 ? '0' : '') + val.G; + val.i = (val.i < 10 ? '0' : '') + val.i; + val.s = (val.s < 10 ? '0' : '') + val.s; + } else { + throw new Error('Invalid format type.'); + } + var date = [], + seps = $.extend([], format.separators); + for (var i = 0, cnt = format.parts.length; i < cnt; i++) { + if (seps.length) { + date.push(seps.shift()); + } + date.push(val[format.parts[i]]); + } + if (seps.length) { + date.push(seps.shift()); + } + return date.join(''); + }, + convertViewMode: function (viewMode) { + switch (viewMode) { + case 4: + case 'decade': + viewMode = 4; + break; + case 3: + case 'year': + viewMode = 3; + break; + case 2: + case 'month': + viewMode = 2; + break; + case 1: + case 'day': + viewMode = 1; + break; + case 0: + case 'hour': + viewMode = 0; + break; + } + + return viewMode; + }, + headTemplate: '' + + '' + + '' + + '' + + '' + + '' + + '', + headTemplateV3: '' + + '' + + ' ' + + '' + + ' ' + + '' + + '', + contTemplate: '', + footTemplate: '' + + '' + + '' + + '' + }; + DPGlobal.template = '
' + + '
' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplate + + '' + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplate + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
'; + DPGlobal.templateV3 = '
' + + '
' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplateV3 + + '' + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
' + + '' + + DPGlobal.headTemplateV3 + + DPGlobal.contTemplate + + DPGlobal.footTemplate + + '
' + + '
' + + '
'; + $.fn.datetimepicker.DPGlobal = DPGlobal; + + /* DATETIMEPICKER NO CONFLICT + * =================== */ + + $.fn.datetimepicker.noConflict = function () { + $.fn.datetimepicker = old; + return this; + }; + + /* DATETIMEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datetimepicker.data-api click.datetimepicker.data-api', + '[data-provide="datetimepicker"]', + function (e) { + var $this = $(this); + if ($this.data('datetimepicker')) return; + e.preventDefault(); + // component click requires us to explicitly show it + $this.datetimepicker('show'); + } + ); + $(function () { + $('[data-provide="datetimepicker-inline"]').datetimepicker(); + }); + +})); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js new file mode 100644 index 0000000..eba15ce --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js @@ -0,0 +1 @@ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof exports==="object"){a(require("jquery"))}else{a(jQuery)}}}(function(d,f){if(!("indexOf" in Array.prototype)){Array.prototype.indexOf=function(k,j){if(j===f){j=0}if(j<0){j+=this.length}if(j<0){j=0}for(var l=this.length;jthis.endDate){o.push("disabled")}else{if(Math.floor(this.date.getUTCMinutes()/this.minuteStep)===Math.floor(n.getUTCMinutes()/this.minuteStep)){o.push("active")}}return o.concat((p?p:[]))};this.onRenderYear=function(o){var q=(j.onRenderYear||function(){return[]})(o);var p=["year"];if(typeof q==="string"){q=[q]}if(this.date.getUTCFullYear()===o.getUTCFullYear()){p.push("active")}var n=o.getUTCFullYear();var r=this.endDate.getUTCFullYear();if(or){p.push("disabled")}return p.concat((q?q:[]))};this.onRenderMonth=function(n){var p=(j.onRenderMonth||function(){return[]})(n);var o=["month"];if(typeof p==="string"){p=[p]}return o.concat((p?p:[]))};this.startDate=new Date(-8639968443048000);this.endDate=new Date(8639968443048000);this.datesDisabled=[];this.daysOfWeekDisabled=[];this.setStartDate(j.startDate||this.element.data("date-startdate"));this.setEndDate(j.endDate||this.element.data("date-enddate"));this.setDatesDisabled(j.datesDisabled||this.element.data("date-dates-disabled"));this.setDaysOfWeekDisabled(j.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled"));this.setMinutesDisabled(j.minutesDisabled||this.element.data("date-minute-disabled"));this.setHoursDisabled(j.hoursDisabled||this.element.data("date-hour-disabled"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};g.prototype={constructor:g,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}],[this.component,{click:d.proxy(this.show,this)}]];if(this.componentReset){this._events.push([this.componentReset,{click:d.proxy(this.reset,this)}])}}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:d.proxy(this.show,this)}]]}}}for(var j=0,k,l;j=this.startDate&&i<=this.endDate){this.date=i;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:"outOfRange",date:i,startDate:this.startDate,endDate:this.endDate})}},setFormat:function(j){this.format=c.parseFormat(j,this.formatType);var i;if(this.isInput){i=this.element}else{if(this.component){i=this.element.find("input")}}if(i&&i.val()){this.setValue()}},setValue:function(){var i=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(i)}this.element.data("date",i)}else{this.element.val(i)}if(this.linkField){d("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(i){i=i||this.format;return c.formatDate(this.date,i,this.language,this.formatType,this.timezone)},setStartDate:function(i){this.startDate=i||this.startDate;if(this.startDate.valueOf()!==8639968443048000){this.startDate=c.parseDate(this.startDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setEndDate:function(i){this.endDate=i||this.endDate;if(this.endDate.valueOf()!==8639968443048000){this.endDate=c.parseDate(this.endDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setDatesDisabled:function(j){this.datesDisabled=j||[];if(!d.isArray(this.datesDisabled)){this.datesDisabled=this.datesDisabled.split(/,\s*/)}var i=this;this.datesDisabled=d.map(this.datesDisabled,function(k){return c.parseDate(k,i.format,i.language,i.formatType,i.timezone).toDateString()});this.update();this.updateNavArrows()},setTitle:function(i,j){return this.picker.find(i).find("th:eq(1)").text(this.title===false?j:this.title)},setDaysOfWeekDisabled:function(i){this.daysOfWeekDisabled=i||[];if(!d.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=d.map(this.daysOfWeekDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setMinutesDisabled:function(i){this.minutesDisabled=i||[];if(!d.isArray(this.minutesDisabled)){this.minutesDisabled=this.minutesDisabled.split(/,\s*/)}this.minutesDisabled=d.map(this.minutesDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setHoursDisabled:function(i){this.hoursDisabled=i||[];if(!d.isArray(this.hoursDisabled)){this.hoursDisabled=this.hoursDisabled.split(/,\s*/)}this.hoursDisabled=d.map(this.hoursDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}if(!this.zIndex){var j=0;d("div").each(function(){var o=parseInt(d(this).css("zIndex"),10);if(o>j){j=o}});this.zIndex=j+10}var n,m,l,k;if(this.container instanceof d){k=this.container.offset()}else{k=d(this.container).offset()}if(this.component){n=this.component.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.component.outerWidth()-this.picker.outerWidth()}}else{n=this.element.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.element.outerWidth()-this.picker.outerWidth()}}var i=document.body.clientWidth||window.innerWidth;if(l+220>i){l=i-220}if(this.pickerPosition==="top-left"||this.pickerPosition==="top-right"){m=n.top-this.picker.outerHeight()}else{m=n.top+this.height}m=m-k.top;l=l-k.left;this.picker.css({top:m,left:l,zIndex:this.zIndex})},hour_minute:"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]",update:function(){var i,j=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){i=arguments[0];j=true}else{i=(this.isInput?this.element.val():this.element.find("input").val())||this.element.data("date")||this.initialDate;if(typeof i==="string"){i=i.replace(/^\s+|\s+$/g,"")}}if(!i){i=new Date();j=false}if(typeof i==="string"){if(new RegExp(this.hour_minute).test(i)||new RegExp(this.hour_minute+":[0-5][0-9]").test(i)){i=this.getDate()}}this.date=c.parseDate(i,this.format,this.language,this.formatType,this.timezone);if(j){this.setValue()}if(this.datethis.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var i=this.weekStart,j="";while(i'+e[this.language].daysMin[(i++)%7]+""}j+="";this.picker.find(".datetimepicker-days thead").append(j)},fillMonths:function(){var l="";var m=new Date(this.viewDate);for(var k=0;k<12;k++){m.setUTCMonth(k);var j=this.onRenderMonth(m);l+=''+e[this.language].monthsShort[k]+""}this.picker.find(".datetimepicker-months td").html(l)},fill:function(){if(!this.date||!this.viewDate){return}var E=new Date(this.viewDate),t=E.getUTCFullYear(),G=E.getUTCMonth(),n=E.getUTCDate(),A=E.getUTCHours(),w=this.startDate.getUTCFullYear(),B=this.startDate.getUTCMonth(),p=this.endDate.getUTCFullYear(),x=this.endDate.getUTCMonth()+1,q=(new h(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),D=new Date();this.setTitle(".datetimepicker-days",e[this.language].months[G]+" "+t);if(this.formatViewType==="time"){var k=this.getFormattedDate();this.setTitle(".datetimepicker-hours",k);this.setTitle(".datetimepicker-minutes",k)}else{this.setTitle(".datetimepicker-hours",n+" "+e[this.language].months[G]+" "+t);this.setTitle(".datetimepicker-minutes",n+" "+e[this.language].months[G]+" "+t)}this.picker.find("tfoot th.today").text(e[this.language].today||e.en.today).toggle(this.todayBtn!==false);this.picker.find("tfoot th.clear").text(e[this.language].clear||e.en.clear).toggle(this.clearBtn!==false);this.updateNavArrows();this.fillMonths();var I=h(t,G-1,28,0,0,0,0),z=c.getDaysInMonth(I.getUTCFullYear(),I.getUTCMonth());I.setUTCDate(z);I.setUTCDate(z-(I.getUTCDay()-this.weekStart+7)%7);var j=new Date(I);j.setUTCDate(j.getUTCDate()+42);j=j.valueOf();var r=[];var F;while(I.valueOf()")}F=this.onRenderDay(I);if(I.getUTCFullYear()t||(I.getUTCFullYear()===t&&I.getUTCMonth()>G)){F.push("new")}}if(this.todayHighlight&&I.getUTCFullYear()===D.getFullYear()&&I.getUTCMonth()===D.getMonth()&&I.getUTCDate()===D.getDate()){F.push("today")}if(I.valueOf()===q){F.push("active")}if((I.valueOf()+86400000)<=this.startDate||I.valueOf()>this.endDate||d.inArray(I.getUTCDay(),this.daysOfWeekDisabled)!==-1||d.inArray(I.toDateString(),this.datesDisabled)!==-1){F.push("disabled")}r.push(''+I.getUTCDate()+"");if(I.getUTCDay()===this.weekEnd){r.push("")}I.setUTCDate(I.getUTCDate()+1)}this.picker.find(".datetimepicker-days tbody").empty().append(r.join(""));r=[];var u="",C="",s="";var l=this.hoursDisabled||[];E=new Date(this.viewDate);for(var y=0;y<24;y++){E.setUTCHours(y);F=this.onRenderHour(E);if(l.indexOf(y)!==-1){F.push("disabled")}var v=h(t,G,n,y);if((v.valueOf()+3600000)<=this.startDate||v.valueOf()>this.endDate){F.push("disabled")}else{if(A===y){F.push("active")}}if(this.showMeridian&&e[this.language].meridiem.length===2){C=(y<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("")}r.push('
'+C.toUpperCase()+"")}s=C;u=(y%12?y%12:12);if(y<12){F.push("hour_am")}else{F.push("hour_pm")}r.push(''+u+"");if(y===23){r.push("
")}}else{u=y+":00";r.push(''+u+"")}}this.picker.find(".datetimepicker-hours td").html(r.join(""));r=[];u="";C="";s="";var m=this.minutesDisabled||[];E=new Date(this.viewDate);for(var y=0;y<60;y+=this.minuteStep){if(m.indexOf(y)!==-1){continue}E.setUTCMinutes(y);E.setUTCSeconds(0);F=this.onRenderMinute(E);if(this.showMeridian&&e[this.language].meridiem.length===2){C=(A<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("")}r.push('
'+C.toUpperCase()+"")}s=C;u=(A%12?A%12:12);r.push(''+u+":"+(y<10?"0"+y:y)+"");if(y===59){r.push("
")}}else{u=y+":00";r.push(''+A+":"+(y<10?"0"+y:y)+"")}}this.picker.find(".datetimepicker-minutes td").html(r.join(""));var J=this.date.getUTCFullYear();var o=this.setTitle(".datetimepicker-months",t).end().find(".month").removeClass("active");if(J===t){o.eq(this.date.getUTCMonth()).addClass("active")}if(tp){o.addClass("disabled")}if(t===w){o.slice(0,B).addClass("disabled")}if(t===p){o.slice(x).addClass("disabled")}r="";t=parseInt(t/10,10)*10;var H=this.setTitle(".datetimepicker-years",t+"-"+(t+9)).end().find("td");t-=1;E=new Date(this.viewDate);for(var y=-1;y<11;y++){E.setUTCFullYear(t);F=this.onRenderYear(E);if(y===-1||y===10){F.push(b)}r+=''+t+"";t+=1}H.html(r);this.place()},updateNavArrows:function(){var m=new Date(this.viewDate),k=m.getUTCFullYear(),l=m.getUTCMonth(),j=m.getUTCDate(),i=m.getUTCHours();switch(this.viewMode){case 0:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()&&i<=this.startDate.getUTCHours()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()&&i>=this.endDate.getUTCHours()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 2:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 3:case 4:if(k<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},mousewheel:function(j){j.preventDefault();j.stopPropagation();if(this.wheelPause){return}this.wheelPause=true;var i=j.originalEvent;var l=i.wheelDelta;var k=l>0?1:(l===0)?0:-1;if(this.wheelViewModeNavigationInverseDirection){k=-k}this.showMode(k);setTimeout(d.proxy(function(){this.wheelPause=false},this),this.wheelViewModeNavigationDelay)},click:function(m){m.stopPropagation();m.preventDefault();var n=d(m.target).closest("span, td, th, legend");if(n.is("."+this.icontype)){n=d(n).parent().closest("span, td, th, legend")}if(n.length===1){if(n.is(".disabled")){this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(n[0].nodeName.toLowerCase()){case"th":switch(n[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var i=c.modes[this.viewMode].navStep*(n[0].className==="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,i);break;case 1:this.viewDate=this.moveDate(this.viewDate,i);break;case 2:this.viewDate=this.moveMonth(this.viewDate,i);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,i);break}this.fill();this.element.trigger({type:n[0].className+":"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case"clear":this.reset();if(this.autoclose){this.hide()}break;case"today":var j=new Date();j=h(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),0);if(jthis.endDate){j=this.endDate}}this.viewMode=this.startViewMode;this.showMode(0);this._setDate(j);this.fill();if(this.autoclose){this.hide()}break}break;case"span":if(!n.is(".disabled")){var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),q=this.viewDate.getUTCDate(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".month")){this.viewDate.setUTCDate(1);o=n.parent().find("span").index(n);q=this.viewDate.getUTCDate();this.viewDate.setUTCMonth(o);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.viewSelect>=3){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".year")){this.viewDate.setUTCDate(1);p=parseInt(n.text(),10)||0;this.viewDate.setUTCFullYear(p);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.viewSelect>=4){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".hour")){r=parseInt(n.text(),10)||0;if(n.hasClass("hour_am")||n.hasClass("hour_pm")){if(r===12&&n.hasClass("hour_am")){r=0}else{if(r!==12&&n.hasClass("hour_pm")){r+=12}}}this.viewDate.setUTCHours(r);this.element.trigger({type:"changeHour",date:this.viewDate});if(this.viewSelect>=1){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".minute")){k=parseInt(n.text().substr(n.text().indexOf(":")+1),10)||0;this.viewDate.setUTCMinutes(k);this.element.trigger({type:"changeMinute",date:this.viewDate});if(this.viewSelect>=0){this._setDate(h(p,o,q,r,k,s,0))}}}}}if(this.viewMode!==0){var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case"td":if(n.is(".day")&&!n.is(".disabled")){var q=parseInt(n.text(),10)||1;var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".old")){if(o===0){o=11;p-=1}else{o-=1}}else{if(n.is(".new")){if(o===11){o=0;p+=1}else{o+=1}}}this.viewDate.setUTCFullYear(p);this.viewDate.setUTCMonth(o,q);this.element.trigger({type:"changeDay",date:this.viewDate});if(this.viewSelect>=2){this._setDate(h(p,o,q,r,k,s,0))}}var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(i,k){if(!k||k==="date"){this.date=i}if(!k||k==="view"){this.viewDate=i}this.fill();this.setValue();var j;if(this.isInput){j=this.element}else{if(this.component){j=this.element.find("input")}}if(j){j.change()}this.element.trigger({type:"changeDate",date:this.getDate()});if(i===null){this.date=this.viewDate}},moveMinute:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCMinutes(k.getUTCMinutes()+(i*this.minuteStep));return k},moveHour:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCHours(k.getUTCHours()+i);return k},moveDate:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCDate(k.getUTCDate()+i);return k},moveMonth:function(j,k){if(!k){return j}var n=new Date(j.valueOf()),r=n.getUTCDate(),o=n.getUTCMonth(),m=Math.abs(k),q,p;k=k>0?1:-1;if(m===1){p=k===-1?function(){return n.getUTCMonth()===o}:function(){return n.getUTCMonth()!==q};q=o+k;n.setUTCMonth(q);if(q<0||q>11){q=(q+12)%12}}else{for(var l=0;l=this.startDate&&i<=this.endDate},keydown:function(o){if(this.picker.is(":not(:visible)")){if(o.keyCode===27){this.show()}return}var k=false,j,i,n;switch(o.keyCode){case 27:this.hide();o.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}j=o.keyCode===37?-1:1;var m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j);n=this.moveDate(this.viewDate,j)}else{if(m===1){i=this.moveHour(this.date,j);n=this.moveHour(this.viewDate,j)}else{if(m===0){i=this.moveMinute(this.date,j);n=this.moveMinute(this.viewDate,j)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 38:case 40:if(!this.keyboardNavigation){break}j=o.keyCode===38?-1:1;m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j*7);n=this.moveDate(this.viewDate,j*7)}else{if(m===1){if(this.showMeridian){i=this.moveHour(this.date,j*6);n=this.moveHour(this.viewDate,j*6)}else{i=this.moveHour(this.date,j*4);n=this.moveHour(this.viewDate,j*4)}}else{if(m===0){i=this.moveMinute(this.date,j*4);n=this.moveMinute(this.viewDate,j*4)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 13:if(this.viewMode!==0){var p=this.viewMode;this.showMode(-1);this.fill();if(p===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}o.preventDefault();break;case 9:this.hide();break}if(k){var l;if(this.isInput){l=this.element}else{if(this.component){l=this.element.find("input")}}if(l){l.change()}this.element.trigger({type:"changeDate",date:this.getDate()})}},showMode:function(i){if(i){var j=Math.max(0,Math.min(c.modes.length-1,this.viewMode+i));if(j>=this.minView&&j<=this.maxView){this.element.trigger({type:"changeMode",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:j});this.viewMode=j}}this.picker.find(">div").hide().filter(".datetimepicker-"+c.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()},reset:function(){this._setDate(null,"date")},convertViewModeText:function(i){switch(i){case 4:return"decade";case 3:return"year";case 2:return"month";case 1:return"day";case 0:return"hour"}}};var b=d.fn.datetimepicker;d.fn.datetimepicker=function(k){var i=Array.apply(null,arguments);i.shift();var j;this.each(function(){var n=d(this),m=n.data("datetimepicker"),l=typeof k==="object"&&k;if(!m){n.data("datetimepicker",(m=new g(this,d.extend({},d.fn.datetimepicker.defaults,l))))}if(typeof k==="string"&&typeof m[k]==="function"){j=m[k].apply(m,i);if(j!==f){return false}}});if(j!==f){return j}else{return this}};d.fn.datetimepicker.defaults={};d.fn.datetimepicker.Constructor=g;var e=d.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today",clear:"Clear"}};var c={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(i){return(((i%4===0)&&(i%100!==0))||(i%400===0))},getDaysInMonth:function(i,j){return[31,(c.isLeapYear(i)?29:28),31,30,31,30,31,31,30,31,30,31][j]},getDefaultFormat:function(i,j){if(i==="standard"){if(j==="input"){return"yyyy-mm-dd hh:ii"}else{return"yyyy-mm-dd hh:ii:ss"}}else{if(i==="php"){if(j==="input"){return"Y-m-d H:i"}else{return"Y-m-d H:i:s"}}else{throw new Error("Invalid format type.")}}},validParts:function(i){if(i==="standard"){return/t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(i==="php"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error("Invalid format type.")}}},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(l,j){var i=l.replace(this.validParts(j),"\0").split("\0"),k=l.match(this.validParts(j));if(!i||!i.length||!k||k.length===0){throw new Error("Invalid date format.")}return{separators:i,parts:k}},parseDate:function(A,y,v,j,r){if(A instanceof Date){var u=new Date(A.valueOf()-A.getTimezoneOffset()*60000);u.setMilliseconds(0);return u}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii:ss",j)}if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(A)){var l=/([-+]\d+)([dmwy])/,q=A.match(/([-+]\d+)([dmwy])/g),t,p;A=new Date();for(var x=0;x',headTemplateV3:' ',contTemplate:'',footTemplate:''};c.template='
'+c.headTemplate+c.contTemplate+c.footTemplate+'
'+c.headTemplate+c.contTemplate+c.footTemplate+'
'+c.headTemplate+""+c.footTemplate+'
'+c.headTemplate+c.contTemplate+c.footTemplate+'
'+c.headTemplate+c.contTemplate+c.footTemplate+"
";c.templateV3='
'+c.headTemplateV3+c.contTemplate+c.footTemplate+'
'+c.headTemplateV3+c.contTemplate+c.footTemplate+'
'+c.headTemplateV3+""+c.footTemplate+'
'+c.headTemplateV3+c.contTemplate+c.footTemplate+'
'+c.headTemplateV3+c.contTemplate+c.footTemplate+"
";d.fn.datetimepicker.DPGlobal=c;d.fn.datetimepicker.noConflict=function(){d.fn.datetimepicker=b;return this};d(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api",'[data-provide="datetimepicker"]',function(j){var i=d(this);if(i.data("datetimepicker")){return}j.preventDefault();i.datetimepicker("show")});d(function(){d('[data-provide="datetimepicker-inline"]').datetimepicker()})})); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js new file mode 100644 index 0000000..a709e52 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js @@ -0,0 +1,17 @@ +/** +* Arabic translation for bootstrap-datetimepicker +* Ala' Mohammad +*/ +;(function($){ + $.fn.datetimepicker.dates['ar'] = { + days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], + daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], + daysMin: ["أح", "إث", "ث", "أر", "خ", "ج", "س", "أح"], + months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], + monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], + today: "هذا اليوم", + suffix: [], + meridiem: [], + rtl: true + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js new file mode 100644 index 0000000..ddc6883 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js @@ -0,0 +1,16 @@ +/** + * Azerbaijani translation for bootstrap-datetimepicker + * Konstantin Kaluzhnikov + */ +;(function($){ + $.fn.datetimepicker.dates['az'] = { + days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], + daysShort: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"], + daysMin: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"], + months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], + monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], + today: "Bugün", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js new file mode 100644 index 0000000..6a11680 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js @@ -0,0 +1,16 @@ +/** + * Bulgarian translation for bootstrap-datetimepicker + * Apostol Apostolov + */ +;(function($){ + $.fn.datetimepicker.dates['bg'] = { + days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], + daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], + daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], + months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], + monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], + today: "днес", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js new file mode 100644 index 0000000..bd00e48 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js @@ -0,0 +1,16 @@ +/** + * Bangla(Bangladesh) translation for bootstrap-datetimepicker + * Mahbub Rabbani + */ +;(function($){ + $.fn.datetimepicker.dates['bn'] = { + days: ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহষ্পতিবার", "শুক্রবার", "শনিবার", "রবিবার"], + daysShort: ["রবি", "সোম", "মঙ্গল", "বুধ", " বৃহঃ", "শুক্র", "শনি", "রবি"], + daysMin: ["রবি", "সোম", "মঙ্গ", "বুধ", "বৃহ", "শুক্র", "শনি", "রবি"], + months: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'অগাস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর' ], + monthsShort: ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলা', 'অগা', 'সেপ্টে', 'অক্টো', 'নভে', 'ডিসে' ], + today: "আজ", + suffix: [], + meridiem: ['পূর্বাহ্ণ', 'অপরাহ্ন'] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js new file mode 100644 index 0000000..dd3a5e0 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js @@ -0,0 +1,16 @@ +/** + * Catalan translation for bootstrap-datetimepicker + * J. Garcia + */ +;(function($){ + $.fn.datetimepicker.dates['ca'] = { + days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], + daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], + daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], + months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], + monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], + today: "Avui", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js new file mode 100644 index 0000000..4a67804 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js @@ -0,0 +1,19 @@ +/** + * Czech translation for bootstrap-datetimepicker + * Matěj Koubík + * Fixes by Michal Remiš + */ +;(function($){ + $.fn.datetimepicker.dates['cs'] = { + days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], + daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], + daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], + months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], + monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], + today: "Dnes", + suffix: [], + meridiem: [], + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js new file mode 100644 index 0000000..067322d --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js @@ -0,0 +1,16 @@ +/** + * Danish translation for bootstrap-datetimepicker + * Christian Pedersen + */ +;(function($){ + $.fn.datetimepicker.dates['da'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "I Dag", + suffix: [], + meridiem: [] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js new file mode 100644 index 0000000..7327596 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js @@ -0,0 +1,18 @@ +/** + * German translation for bootstrap-datetimepicker + * Sam Zurcher + */ +;(function($){ + $.fn.datetimepicker.dates['de'] = { + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], + daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], + daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], + today: "Heute", + suffix: [], + meridiem: [], + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js new file mode 100644 index 0000000..345b7a3 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js @@ -0,0 +1,18 @@ +/** + * Estonian translation for bootstrap-datetimepicker + * Rene Korss + */ +;(function($){ + $.fn.datetimepicker.dates['ee'] = { + days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], + daysShort: ["P", "E", "T", "K", "N", "R", "L", "P"], + daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], + months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], + monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], + today: "Täna", + suffix: [], + meridiem: [], + weekStart: 1, + format: "dd.mm.yyyy hh:ii" + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js new file mode 100644 index 0000000..e3c93d3 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js @@ -0,0 +1,15 @@ +/** +* Greek translation for bootstrap-datetimepicker +*/ +;(function($){ + $.fn.datetimepicker.dates['el'] = { + days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], + daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], + daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], + months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], + monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], + today: "Σήμερα", + suffix: [], + meridiem: [] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js new file mode 100644 index 0000000..8a76879 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js @@ -0,0 +1,16 @@ +/** + * Spanish translation for bootstrap-datetimepicker + * Bruno Bonamin + */ +;(function($){ + $.fn.datetimepicker.dates['es'] = { + days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], + daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], + months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], + monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], + today: "Hoy", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js new file mode 100644 index 0000000..85c1df5 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js @@ -0,0 +1,16 @@ +/** + * Finnish translation for bootstrap-datetimepicker + * Jaakko Salonen + */ +;(function($){ + $.fn.datetimepicker.dates['fi'] = { + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], + daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], + daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], + months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], + monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], + today: "tänään", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js new file mode 100644 index 0000000..7ca19bc --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js @@ -0,0 +1,18 @@ +/** + * French translation for bootstrap-datetimepicker + * Nico Mollet + */ +;(function($){ + $.fn.datetimepicker.dates['fr'] = { + days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], + daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], + daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], + months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], + monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], + today: "Aujourd'hui", + suffix: [], + meridiem: ["am", "pm"], + weekStart: 1, + format: "dd/mm/yyyy hh:ii" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js new file mode 100644 index 0000000..4b17e63 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js @@ -0,0 +1,17 @@ +/** + * Hebrew translation for bootstrap-datetimepicker + * Sagie Maoz + */ +;(function($){ + $.fn.datetimepicker.dates['he'] = { + days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], + daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], + daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], + months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], + monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], + today: "היום", + suffix: [], + meridiem: [], + rtl: true + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js new file mode 100644 index 0000000..b79a2c6 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js @@ -0,0 +1,15 @@ +/** + * Croatian localisation + */ +;(function($){ + $.fn.datetimepicker.dates['hr'] = { + days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"], + daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], + months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], + monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"], + today: "Danas", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js new file mode 100644 index 0000000..156e770 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js @@ -0,0 +1,17 @@ +/** + * Hungarian translation for bootstrap-datetimepicker + * darevish + */ +;(function($){ + $.fn.datetimepicker.dates['hu'] = { + days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], + daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], + daysMin: ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"], + months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], + today: "Ma", + suffix: [], + meridiem: [], + weekStart: 1 + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js new file mode 100644 index 0000000..e2c601b --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js @@ -0,0 +1,16 @@ +/** + * Armenian translation for bootstrap-datepicker + * Hayk Chamyan + */ +;(function($){ + $.fn.datetimepicker.dates['hy'] = { + days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ", "Կիրակի"], + daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ", "Կիր"], + daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա", "Կի"], + months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"], + monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"], + today: "Այսօր", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js new file mode 100644 index 0000000..d22dff0 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js @@ -0,0 +1,19 @@ +/** + * Bahasa translation for bootstrap-datetimepicker + * Azwar Akbar + * Addtional by Yulian Sutopo + */ +;(function($){ + $.fn.datetimepicker.dates['id'] = { + days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], + daysShort: ["Mng", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mng"], + daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], + months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], + today: "Hari Ini", + suffix: [], + meridiem: [], + weekStart: 1, + format: "dd/mm/yyyy hh:ii:ss" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js new file mode 100644 index 0000000..fc9173c --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js @@ -0,0 +1,16 @@ +/** + * Icelandic translation for bootstrap-datetimepicker + * Hinrik Örn Sigurðsson + */ +;(function($){ + $.fn.datetimepicker.dates['is'] = { + days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], + daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], + daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], + months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], + today: "Í Dag", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js new file mode 100644 index 0000000..030d3e7 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js @@ -0,0 +1,18 @@ +/** + * Italian translation for bootstrap-datetimepicker + * Enrico Rubboli + */ +;(function($){ + $.fn.datetimepicker.dates['it'] = { + days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], + today: "Oggi", + suffix: [], + meridiem: [], + weekStart: 1, + format: "dd/mm/yyyy hh:ii:ss" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js new file mode 100644 index 0000000..d079610 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js @@ -0,0 +1,16 @@ +/** + * Japanese translation for bootstrap-datetimepicker + * Norio Suzuki + */ +;(function($){ + $.fn.datetimepicker.dates['ja'] = { + days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], + daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], + daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], + months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + today: "今日", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js new file mode 100644 index 0000000..740740d --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js @@ -0,0 +1,16 @@ +/** + * Georgian translation for bootstrap-datetimepicker + * Zura Jijavadze + */ +;(function($){ + $.fn.datetimepicker.dates['ka'] = { + days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], + daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], + daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], + months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომბერი", "ნოემბერი", "დეკემბერი"], + monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], + today: "დღეს", + suffix: [], + meridiem: [] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js new file mode 100644 index 0000000..1d007a7 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js @@ -0,0 +1,17 @@ +/** + * Korean translation for bootstrap-datetimepicker + * Gu Youn + * Baekjoon Choi + */ +;(function($){ + $.fn.datetimepicker.dates['ko'] = { + days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], + daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], + daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], + months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + suffix: [], + meridiem: ["오전", "오후"], + today: "오늘", + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js new file mode 100644 index 0000000..8018a70 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js @@ -0,0 +1,18 @@ +/** + * Lithuanian translation for bootstrap-datetimepicker + * Šarūnas Gliebus + */ + +;(function($){ + $.fn.datetimepicker.dates['lt'] = { + days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], + daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], + daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], + months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], + monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], + today: "Šiandien", + suffix: [], + meridiem: [], + weekStart: 1 + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js new file mode 100644 index 0000000..333156b --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js @@ -0,0 +1,18 @@ +/** + * Latvian translation for bootstrap-datetimepicker + * Artis Avotins + */ + +;(function($){ + $.fn.datetimepicker.dates['lv'] = { + days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], + daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], + daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"], + months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."], + today: "Šodien", + suffix: [], + meridiem: [], + weekStart: 1 + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js new file mode 100644 index 0000000..11b4f98 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js @@ -0,0 +1,16 @@ +/** + * Malay translation for bootstrap-datetimepicker + * Ateman Faiz + */ +;(function($){ + $.fn.datetimepicker.dates['ms'] = { + days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], + daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], + daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], + months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], + today: "Hari Ini", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js new file mode 100644 index 0000000..0b26ea6 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js @@ -0,0 +1,16 @@ +/** + * Norwegian (bokmål) translation for bootstrap-datetimepicker + * Fredrik Sundmyhr + */ +;(function($){ + $.fn.datetimepicker.dates['nb'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "I Dag", + suffix: [], + meridiem: [] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js new file mode 100644 index 0000000..5950f1c --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js @@ -0,0 +1,16 @@ +/** + * Dutch translation for bootstrap-datetimepicker + * Reinier Goltstein + */ +;(function($){ + $.fn.datetimepicker.dates['nl'] = { + days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], + daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Vandaag", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js new file mode 100644 index 0000000..8685745 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js @@ -0,0 +1,16 @@ +/** + * Norwegian translation for bootstrap-datetimepicker + * Rune Warhuus + */ +;(function($){ + $.fn.datetimepicker.dates['no'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "I Dag", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js new file mode 100644 index 0000000..806b55d --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js @@ -0,0 +1,17 @@ +/** + * Polish translation for bootstrap-datetimepicker + * Robert + */ +;(function($){ +$.fn.datetimepicker.dates['pl'] = { + days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], + daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], + daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], + months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], + monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], + today: "Dzisiaj", + suffix: [], + meridiem: [], + weekStart: 1 +}; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js new file mode 100644 index 0000000..6828698 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js @@ -0,0 +1,17 @@ +/** + * Brazilian translation for bootstrap-datetimepicker + * Cauan Cabral + */ +;(function($){ + $.fn.datetimepicker.dates['pt-BR'] = { + format: 'dd/mm/yyyy', + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js new file mode 100644 index 0000000..36e9787 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js @@ -0,0 +1,17 @@ +/** + * Portuguese translation for bootstrap-datetimepicker + * Original code: Cauan Cabral + * Tiago Melo + */ +;(function($){ + $.fn.datetimepicker.dates['pt'] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + suffix: [], + meridiem: [], + today: "Hoje" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js new file mode 100644 index 0000000..55436ae --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js @@ -0,0 +1,17 @@ +/** + * Romanian translation for bootstrap-datetimepicker + * Cristian Vasile + */ +;(function($){ + $.fn.datetimepicker.dates['ro'] = { + days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], + daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], + daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], + months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], + monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Astăzi", + suffix: [], + meridiem: [], + weekStart: 1 + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js new file mode 100644 index 0000000..91b3cac --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js @@ -0,0 +1,16 @@ +/** + * Serbian latin translation for bootstrap-datetimepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datetimepicker.dates['rs'] = { + days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], + daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js new file mode 100644 index 0000000..e49d10e --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js @@ -0,0 +1,16 @@ +/** + * Serbian cyrillic translation for bootstrap-datetimepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datetimepicker.dates['rs'] = { + days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], + daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], + daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], + months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], + monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], + today: "Данас", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js new file mode 100644 index 0000000..8873e95 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js @@ -0,0 +1,16 @@ +/** + * Russian translation for bootstrap-datetimepicker + * Victor Taranenko + */ +;(function($){ + $.fn.datetimepicker.dates['ru'] = { + days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], + daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], + daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], + months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], + monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], + today: "Сегодня", + suffix: [], + meridiem: [] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js new file mode 100644 index 0000000..15596be --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js @@ -0,0 +1,19 @@ +/** + * Slovak translation for bootstrap-datetimepicker + * Marek Lichtner + * Fixes by Michal Remiš + */ +;(function($){ + $.fn.datetimepicker.dates["sk"] = { + days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], + daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], + daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So", "Ne"], + months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Dnes", + suffix: [], + meridiem: [], + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js new file mode 100644 index 0000000..69bae12 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js @@ -0,0 +1,16 @@ +/** + * Slovene translation for bootstrap-datetimepicker + * Gregor Rudolf + */ +;(function($){ + $.fn.datetimepicker.dates['sl'] = { + days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], + daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], + daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], + months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danes", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js new file mode 100644 index 0000000..9892999 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js @@ -0,0 +1,16 @@ +/** + * Swedish translation for bootstrap-datetimepicker + * Patrik Ragnarsson + */ +;(function($){ + $.fn.datetimepicker.dates['sv'] = { + days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], + daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], + daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], + months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "I Dag", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js new file mode 100644 index 0000000..e2286a5 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js @@ -0,0 +1,17 @@ +/** + * Swahili translation for bootstrap-datetimepicker + * Edwin Mugendi + * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku + */ +;(function($){ + $.fn.datetimepicker.dates['sw'] = { + days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], + daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], + daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], + months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], + monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], + today: "Leo", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js new file mode 100644 index 0000000..9a0fd38 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js @@ -0,0 +1,16 @@ +/** + * Thai translation for bootstrap-datetimepicker + * Suchau Jiraprapot + */ +;(function($){ + $.fn.datetimepicker.dates['th'] = { + days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], + daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], + monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], + today: "วันนี้", + suffix: [], + meridiem: [] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js new file mode 100644 index 0000000..4536b2e --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js @@ -0,0 +1,17 @@ +/** + * Turkish translation for bootstrap-datetimepicker + * Serkan Algur + */ +;(function($){ + $.fn.datetimepicker.dates['tr'] = { + days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], + daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], + daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], + months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], + monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], + today: "Bugün", + suffix: [], + meridiem: [] + }; +}(jQuery)); + diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js new file mode 100644 index 0000000..3a0cbfb --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js @@ -0,0 +1,15 @@ +/** + * Ukrainian translation for bootstrap-datepicker + * Igor Polynets + */ +;(function($){ + $.fn.datetimepicker.dates['ua'] = { + days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четверг", "П'ятниця", "Субота", "Неділя"], + daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], + daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], + months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], + monthsShort: ["Січ", "Лют", "Бер", "Квт", "Трв", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Грд"], + today: "Сьогодні", + weekStart: 1 + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js new file mode 100644 index 0000000..232518d --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js @@ -0,0 +1,16 @@ +/** + * Ukrainian translation for bootstrap-datetimepicker + * Andrey Vityuk + */ +;(function($){ + $.fn.datetimepicker.dates['uk'] = { + days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], + daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], + daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], + months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], + monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], + today: "Сьогодні", + suffix: [], + meridiem: [] + }; +}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js new file mode 100644 index 0000000..418fb30 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js @@ -0,0 +1,16 @@ +/** + * Simplified Chinese translation for bootstrap-datetimepicker + * Yuan Cheung + */ +;(function($){ + $.fn.datetimepicker.dates['zh-CN'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], + daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + today: "今天", + suffix: [], + meridiem: ["上午", "下午"] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js new file mode 100644 index 0000000..6d1ed20 --- /dev/null +++ b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js @@ -0,0 +1,16 @@ +/** + * Traditional Chinese translation for bootstrap-datetimepicker + * Rung-Sheng Jang + */ +;(function($){ + $.fn.datetimepicker.dates['zh-TW'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], + daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + today: "今天", + suffix: [], + meridiem: ["上午", "下午"] + }; +}(jQuery)); diff --git a/vendor/blobt/assets/select2/css/select2.css b/vendor/blobt/assets/select2/css/select2.css new file mode 100644 index 0000000..ce3afd1 --- /dev/null +++ b/vendor/blobt/assets/select2/css/select2.css @@ -0,0 +1,484 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/vendor/blobt/assets/select2/css/select2.min.css b/vendor/blobt/assets/select2/css/select2.min.css new file mode 100644 index 0000000..60d5990 --- /dev/null +++ b/vendor/blobt/assets/select2/css/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/vendor/blobt/assets/select2/js/i18n/af.js b/vendor/blobt/assets/select2/js/i18n/af.js new file mode 100644 index 0000000..5f9e40a --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/af.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Verwyders asseblief "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Voer asseblief "+t+" of meer karakters";return n},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var t="Kies asseblief net "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ar.js b/vendor/blobt/assets/select2/js/i18n/ar.js new file mode 100644 index 0000000..8004fac --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ar.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/az.js b/vendor/blobt/assets/select2/js/i18n/az.js new file mode 100644 index 0000000..7055763 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/az.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/bg.js b/vendor/blobt/assets/select2/js/i18n/bg.js new file mode 100644 index 0000000..1d8b721 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/bg.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/bn.js b/vendor/blobt/assets/select2/js/i18n/bn.js new file mode 100644 index 0000000..4b0e03e --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/bn.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="অনুগ্রহ করে "+t+" টি অক্ষর মুছে দিন।";return t!=1&&(n="অনুগ্রহ করে "+t+" টি অক্ষর মুছে দিন।"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n=t+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।";return n},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(e){var t=e.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return e.maximum!=1&&(t=e.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),t},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/bs.js b/vendor/blobt/assets/select2/js/i18n/bs.js new file mode 100644 index 0000000..c9a013c --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/bs.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bs",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ca.js b/vendor/blobt/assets/select2/js/i18n/ca.js new file mode 100644 index 0000000..acb7af6 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ca.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/cs.js b/vendor/blobt/assets/select2/js/i18n/cs.js new file mode 100644 index 0000000..e7cbd27 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/cs.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadejte o jeden znak méně.":n<=4?"Prosím, zadejte o "+e(n,!0)+" znaky méně.":"Prosím, zadejte o "+n+" znaků méně."},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadejte ještě jeden znak.":n<=4?"Prosím, zadejte ještě další "+e(n,!0)+" znaky.":"Prosím, zadejte ještě dalších "+n+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku.":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky.":"Můžete zvolit maximálně "+n+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/da.js b/vendor/blobt/assets/select2/js/i18n/da.js new file mode 100644 index 0000000..2692bd0 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/da.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/de.js b/vendor/blobt/assets/select2/js/i18n/de.js new file mode 100644 index 0000000..8257c6f --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/de.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Gegenstände"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/dsb.js b/vendor/blobt/assets/select2/js/i18n/dsb.js new file mode 100644 index 0000000..242df33 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/dsb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/dsb",[],function(){var e=["znamuško","znamušce","znamuška","znamuškow"],t=["zapisk","zapiska","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Pšosym lašuj "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Pšosym zapódaj nanejmjenjej "+r+" "+n(r,e)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(e){return"Móžoš jano "+e.maximum+" "+n(e.maximum,t)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/el.js b/vendor/blobt/assets/select2/js/i18n/el.js new file mode 100644 index 0000000..46503bc --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/el.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/en.js b/vendor/blobt/assets/select2/js/i18n/en.js new file mode 100644 index 0000000..caa668c --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/en.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/es.js b/vendor/blobt/assets/select2/js/i18n/es.js new file mode 100644 index 0000000..b4d6965 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/es.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/et.js b/vendor/blobt/assets/select2/js/i18n/et.js new file mode 100644 index 0000000..08ef436 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/et.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/eu.js b/vendor/blobt/assets/select2/js/i18n/eu.js new file mode 100644 index 0000000..56bb78b --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/eu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/fa.js b/vendor/blobt/assets/select2/js/i18n/fa.js new file mode 100644 index 0000000..7ea1ae2 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/fa.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/fi.js b/vendor/blobt/assets/select2/js/i18n/fi.js new file mode 100644 index 0000000..31eeeb5 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/fi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/fr.js b/vendor/blobt/assets/select2/js/i18n/fr.js new file mode 100644 index 0000000..250a4ef --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/fr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Supprimez "+t+" caractère"+(t>1?"s":"")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Saisissez au moins "+t+" caractère"+(t>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les articles"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/gl.js b/vendor/blobt/assets/select2/js/i18n/gl.js new file mode 100644 index 0000000..271050f --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/gl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/he.js b/vendor/blobt/assets/select2/js/i18n/he.js new file mode 100644 index 0000000..20254b5 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/he.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/hi.js b/vendor/blobt/assets/select2/js/i18n/hi.js new file mode 100644 index 0000000..521088f --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/hi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/hr.js b/vendor/blobt/assets/select2/js/i18n/hr.js new file mode 100644 index 0000000..eddd056 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/hr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/hsb.js b/vendor/blobt/assets/select2/js/i18n/hsb.js new file mode 100644 index 0000000..2542aa4 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/hsb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hsb",[],function(){var e=["znamješko","znamješce","znamješka","znamješkow"],t=["zapisk","zapiskaj","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Prošu zhašej "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Prošu zapodaj znajmjeńša "+r+" "+n(r,e)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(e){return"Móžeš jenož "+e.maximum+" "+n(e.maximum,t)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/hu.js b/vendor/blobt/assets/select2/js/i18n/hu.js new file mode 100644 index 0000000..2bdbbe9 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/hu.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/hy.js b/vendor/blobt/assets/select2/js/i18n/hy.js new file mode 100644 index 0000000..b9a1cae --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/hy.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Խնդրում ենք հեռացնել "+t+" նշան";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Խնդրում ենք մուտքագրել "+t+" կամ ավել նշաններ";return n},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(e){var t="Դուք կարող եք ընտրել առավելագույնը "+e.maximum+" կետ";return t},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/id.js b/vendor/blobt/assets/select2/js/i18n/id.js new file mode 100644 index 0000000..c622da9 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/id.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/is.js b/vendor/blobt/assets/select2/js/i18n/is.js new file mode 100644 index 0000000..c703bf4 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/is.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/it.js b/vendor/blobt/assets/select2/js/i18n/it.js new file mode 100644 index 0000000..799a7c8 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/it.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ja.js b/vendor/blobt/assets/select2/js/i18n/ja.js new file mode 100644 index 0000000..9a6c299 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ja.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ka.js b/vendor/blobt/assets/select2/js/i18n/ka.js new file mode 100644 index 0000000..1a8bf91 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ka.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="გთხოვთ აკრიფეთ "+t+" სიმბოლოთი ნაკლები";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="გთხოვთ აკრიფეთ "+t+" სიმბოლო ან მეტი";return n},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(e){var t="თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+e.maximum+" ელემენტი";return t},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/km.js b/vendor/blobt/assets/select2/js/i18n/km.js new file mode 100644 index 0000000..e918d4f --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/km.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ko.js b/vendor/blobt/assets/select2/js/i18n/ko.js new file mode 100644 index 0000000..cc62730 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ko.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/lt.js b/vendor/blobt/assets/select2/js/i18n/lt.js new file mode 100644 index 0000000..3c3dc32 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/lt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/lv.js b/vendor/blobt/assets/select2/js/i18n/lv.js new file mode 100644 index 0000000..9e62a3b --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/lv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/mk.js b/vendor/blobt/assets/select2/js/i18n/mk.js new file mode 100644 index 0000000..6f78a6b --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/mk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ms.js b/vendor/blobt/assets/select2/js/i18n/ms.js new file mode 100644 index 0000000..55411d4 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ms.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/nb.js b/vendor/blobt/assets/select2/js/i18n/nb.js new file mode 100644 index 0000000..4d6ffc9 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/nb.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Vennligst skriv inn "+t+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ne.js b/vendor/blobt/assets/select2/js/i18n/ne.js new file mode 100644 index 0000000..ed48b1d --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ne.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="कृपया "+t+" अक्षर मेटाउनुहोस्।";return t!=1&&(n+="कृपया "+t+" अक्षरहरु मेटाउनुहोस्।"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया बाँकी रहेका "+t+" वा अरु धेरै अक्षरहरु भर्नुहोस्।";return n},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(e){var t="तँपाई "+e.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return e.maximum!=1&&(t="तँपाई "+e.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),t},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/nl.js b/vendor/blobt/assets/select2/js/i18n/nl.js new file mode 100644 index 0000000..00479f8 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/nl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/pl.js b/vendor/blobt/assets/select2/js/i18n/pl.js new file mode 100644 index 0000000..b611a25 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/pl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ps.js b/vendor/blobt/assets/select2/js/i18n/ps.js new file mode 100644 index 0000000..3ddcd2a --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ps.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="د مهربانۍ لمخي "+t+" توری ړنګ کړئ";return t!=1&&(n=n.replace("توری","توري")),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لږ تر لږه "+t+" يا ډېر توري وليکئ";return n},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(e){var t="تاسو يوازي "+e.maximum+" قلم په نښه کولای سی";return e.maximum!=1&&(t=t.replace("قلم","قلمونه")),t},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/pt-BR.js b/vendor/blobt/assets/select2/js/i18n/pt-BR.js new file mode 100644 index 0000000..5b216a8 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/pt-BR.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/pt.js b/vendor/blobt/assets/select2/js/i18n/pt.js new file mode 100644 index 0000000..cdecbc5 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/pt.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"caractere",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ro.js b/vendor/blobt/assets/select2/js/i18n/ro.js new file mode 100644 index 0000000..d8e674d --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ro.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+" sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/ru.js b/vendor/blobt/assets/select2/js/i18n/ru.js new file mode 100644 index 0000000..abc73ff --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/ru.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите ещё хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/sk.js b/vendor/blobt/assets/select2/js/i18n/sk.js new file mode 100644 index 0000000..6539dfc --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/sk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/sl.js b/vendor/blobt/assets/select2/js/i18n/sl.js new file mode 100644 index 0000000..98e783d --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/sl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbrišite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpišite še "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var t="Označite lahko največ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/sq.js b/vendor/blobt/assets/select2/js/i18n/sq.js new file mode 100644 index 0000000..ad367b1 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/sq.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Të lutem fshi "+t+" karakter";return t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Të lutem shkruaj "+t+" ose më shumë karaktere";return n},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var t="Mund të zgjedhësh vetëm "+e.maximum+" element";return e.maximum!=1&&(t+="e"),t},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/sr-Cyrl.js b/vendor/blobt/assets/select2/js/i18n/sr-Cyrl.js new file mode 100644 index 0000000..0719ff0 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/sr-Cyrl.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/sr.js b/vendor/blobt/assets/select2/js/i18n/sr.js new file mode 100644 index 0000000..ec50c99 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/sr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/sv.js b/vendor/blobt/assets/select2/js/i18n/sv.js new file mode 100644 index 0000000..567f584 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/sv.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/th.js b/vendor/blobt/assets/select2/js/i18n/th.js new file mode 100644 index 0000000..7d5a0e0 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/th.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/tk.js b/vendor/blobt/assets/select2/js/i18n/tk.js new file mode 100644 index 0000000..f3da111 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/tk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" harp bozuň.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ýene-de iň az "+t+" harp ýazyň.";return n},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){var t="Diňe "+e.maximum+" sanysyny saýlaň.";return t},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/tr.js b/vendor/blobt/assets/select2/js/i18n/tr.js new file mode 100644 index 0000000..acdfea6 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/tr.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/uk.js b/vendor/blobt/assets/select2/js/i18n/uk.js new file mode 100644 index 0000000..1e0cafe --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/uk.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/vi.js b/vendor/blobt/assets/select2/js/i18n/vi.js new file mode 100644 index 0000000..a24fbe5 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/vi.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng xóa bớt "+t+" ký tự";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập thêm từ "+t+" ký tự trở lên";return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/zh-CN.js b/vendor/blobt/assets/select2/js/i18n/zh-CN.js new file mode 100644 index 0000000..a037e7b --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/zh-CN.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/i18n/zh-TW.js b/vendor/blobt/assets/select2/js/i18n/zh-TW.js new file mode 100644 index 0000000..116eda1 --- /dev/null +++ b/vendor/blobt/assets/select2/js/i18n/zh-TW.js @@ -0,0 +1,3 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ + +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/vendor/blobt/assets/select2/js/select2.full.js b/vendor/blobt/assets/select2/js/select2.full.js new file mode 100644 index 0000000..f3a20b9 --- /dev/null +++ b/vendor/blobt/assets/select2/js/select2.full.js @@ -0,0 +1,6597 @@ +/*! + * Select2 4.0.7 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ +;(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. + * Released under MIT license, http://github.com/requirejs/almond/LICENSE + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + //start trimDots + for (i = 0; i < name.length; i++) { + part = name[i]; + if (part === '.') { + name.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { + continue; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join('/'); + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + //Creates a parts array for a relName where first part is plugin ID, + //second part is resource ID. Assumes relName has already been normalized. + function makeRelParts(relName) { + return relName ? splitPrefix(relName) : []; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relParts) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0], + relResourceName = relParts[1]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relResourceName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relResourceName)); + } else { + name = normalize(name, relResourceName); + } + } else { + name = normalize(name, relResourceName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, relParts, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + relParts = makeRelParts(relName); + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relParts); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, makeRelParts(callback)).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + // Cache objects in Utils.__cache instead of $.data (see #4346) + Utils.__cache = {}; + + var id = 0; + Utils.GetUniqueElementId = function (element) { + // Get a unique element Id. If element has no id, + // creates a new unique number, stores it in the id + // attribute and returns the new id. + // If an id already exists, it simply returns it. + + var select2Id = element.getAttribute('data-select2-id'); + if (select2Id == null) { + // If element has id, use it. + if (element.id) { + select2Id = element.id; + element.setAttribute('data-select2-id', select2Id); + } else { + element.setAttribute('data-select2-id', ++id); + select2Id = id.toString(); + } + } + return select2Id; + }; + + Utils.StoreData = function (element, name, value) { + // Stores an item in the cache for a specified element. + // name is the cache key. + var id = Utils.GetUniqueElementId(element); + if (!Utils.__cache[id]) { + Utils.__cache[id] = {}; + } + + Utils.__cache[id][name] = value; + }; + + Utils.GetData = function (element, name) { + // Retrieves a value from the cache by its key (name) + // name is optional. If no name specified, return + // all cache items for the specified element. + // and for a specified element. + var id = Utils.GetUniqueElementId(element); + if (name) { + if (Utils.__cache[id]) { + if (Utils.__cache[id][name] != null) { + return Utils.__cache[id][name]; + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } else { + return Utils.__cache[id]; + } + }; + + Utils.RemoveData = function (element) { + // Removes all cached items for a specified element. + var id = Utils.GetUniqueElementId(element); + if (Utils.__cache[id] != null) { + delete Utils.__cache[id]; + } + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '
    ' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '
  • ' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = Utils.GetData(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + if (data.disabled) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('
      ', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + Utils.StoreData(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = Utils.GetData($highlighted[0], 'data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at the top, don't move further + // If no options, currentIndex will be -1 + if (currentIndex <= 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = Utils.GetData(this, 'data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = Utils.GetData(this, 'data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '' + ); + + this._tabindex = 0; + + if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { + this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + window.setTimeout(function () { + self.$selection.focus(); + }, 0); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = Utils.GetData(this, 'element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '' + + '' + + '' + + '' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered') + .attr('id', id) + .attr('role', 'textbox') + .attr('aria-readonly', 'true'); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.focus(); + } + }); + }; + + SingleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); // clear tooltip on empty + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $(''); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.attr('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '
        ' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = Utils.GetData($selection[0], 'data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '
      • ' + + '' + + '×' + + '' + + '
      • ' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.attr('title', selection.title || selection.text); + + Utils.StoreData($selection[0], 'data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys', + '../utils' +], function ($, KEYS, Utils) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (this.options.get('debug') && window.console && console.error) { + console.error( + 'Select2: The `allowClear` option should be used in combination ' + + 'with the `placeholder` option.' + ); + } + } + + this.$selection.on('mousedown', '.select2-selection__clear', + function (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = Utils.GetData($clear[0], 'data'); + + var previousVal = this.$element.val(); + this.$element.val(this.placeholder.id); + + var unselectData = { + data: data + }; + this.trigger('clear', unselectData); + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + + for (var d = 0; d < data.length; d++) { + unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + } + + this.$element.trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var removeAll = this.options.get('translations').get('removeAllItems'); + + var $remove = $( + '' + + '×' + + '' + ); + Utils.StoreData($remove[0], 'data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + var isTagInput = this.$element.find('[data-select2-tag]').length; + if (isTagInput) { + // fix IE11 bug where tag input lost focus + this.$element.focus(); + } else { + this.$search.focus(); + } + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '' + + '' + + '' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '' + + '' + + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + self.$search.blur(); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '
      • ' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $(''); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.RemoveData(this.$element[0]); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '' + + '' + + '' + + '' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('select2/compat/utils',[ + 'jquery' +], function ($) { + function syncCssClasses ($dest, $src, adapter) { + var classes, replacements = [], adapted; + + classes = $.trim($dest.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Save all Select2 classes + if (this.indexOf('select2-') === 0) { + replacements.push(this); + } + }); + } + + classes = $.trim($src.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Only adapt non-Select2 classes + if (this.indexOf('select2-') !== 0) { + adapted = adapter(this); + + if (adapted != null) { + replacements.push(adapted); + } + } + }); + } + + $dest.attr('class', replacements.join(' ')); + } + + return { + syncCssClasses: syncCssClasses + }; +}); + +S2.define('select2/compat/containerCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _containerAdapter (clazz) { + return null; + } + + function ContainerCSS () { } + + ContainerCSS.prototype.render = function (decorated) { + var $container = decorated.call(this); + + var containerCssClass = this.options.get('containerCssClass') || ''; + + if ($.isFunction(containerCssClass)) { + containerCssClass = containerCssClass(this.$element); + } + + var containerCssAdapter = this.options.get('adaptContainerCssClass'); + containerCssAdapter = containerCssAdapter || _containerAdapter; + + if (containerCssClass.indexOf(':all:') !== -1) { + containerCssClass = containerCssClass.replace(':all:', ''); + + var _cssAdapter = containerCssAdapter; + + containerCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var containerCss = this.options.get('containerCss') || {}; + + if ($.isFunction(containerCss)) { + containerCss = containerCss(this.$element); + } + + CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); + + $container.css(containerCss); + $container.addClass(containerCssClass); + + return $container; + }; + + return ContainerCSS; +}); + +S2.define('select2/compat/dropdownCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _dropdownAdapter (clazz) { + return null; + } + + function DropdownCSS () { } + + DropdownCSS.prototype.render = function (decorated) { + var $dropdown = decorated.call(this); + + var dropdownCssClass = this.options.get('dropdownCssClass') || ''; + + if ($.isFunction(dropdownCssClass)) { + dropdownCssClass = dropdownCssClass(this.$element); + } + + var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); + dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; + + if (dropdownCssClass.indexOf(':all:') !== -1) { + dropdownCssClass = dropdownCssClass.replace(':all:', ''); + + var _cssAdapter = dropdownCssAdapter; + + dropdownCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var dropdownCss = this.options.get('dropdownCss') || {}; + + if ($.isFunction(dropdownCss)) { + dropdownCss = dropdownCss(this.$element); + } + + CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); + + $dropdown.css(dropdownCss); + $dropdown.addClass(dropdownCssClass); + + return $dropdown; + }; + + return DropdownCSS; +}); + +S2.define('select2/compat/initSelection',[ + 'jquery' +], function ($) { + function InitSelection (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `initSelection` option has been deprecated in favor' + + ' of a custom data adapter that overrides the `current` method. ' + + 'This method is now called multiple times instead of a single ' + + 'time when the instance is initialized. Support will be removed ' + + 'for the `initSelection` option in future versions of Select2' + ); + } + + this.initSelection = options.get('initSelection'); + this._isInitialized = false; + + decorated.call(this, $element, options); + } + + InitSelection.prototype.current = function (decorated, callback) { + var self = this; + + if (this._isInitialized) { + decorated.call(this, callback); + + return; + } + + this.initSelection.call(null, this.$element, function (data) { + self._isInitialized = true; + + if (!$.isArray(data)) { + data = [data]; + } + + callback(data); + }); + }; + + return InitSelection; +}); + +S2.define('select2/compat/inputData',[ + 'jquery', + '../utils' +], function ($, Utils) { + function InputData (decorated, $element, options) { + this._currentData = []; + this._valueSeparator = options.get('valueSeparator') || ','; + + if ($element.prop('type') === 'hidden') { + if (options.get('debug') && console && console.warn) { + console.warn( + 'Select2: Using a hidden input with Select2 is no longer ' + + 'supported and may stop working in the future. It is recommended ' + + 'to use a `');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
      • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){function c(a,b){return b.toUpperCase()}var e=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));for(var f={},g=0;g-1||(b.isPlainObject(this.options[m])?b.extend(this.options[m],l[m]):this.options[m]=l[m]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(f=d(this))&&g.push(f)})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;if(this._isInitialized)return void b.call(this,c);this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery","../utils"],function(a,b){function c(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `' + + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + var isTagInput = this.$element.find('[data-select2-tag]').length; + if (isTagInput) { + // fix IE11 bug where tag input lost focus + this.$element.focus(); + } else { + this.$search.focus(); + } + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '' + + '' + + '' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '' + + '' + + '' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + self.$search.blur(); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '
      • ' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $(''); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-select2-tags` attribute has been changed to ' + + 'use the `data-data` and `data-tags="true"` attributes and will be ' + + 'removed in future versions of Select2.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.prototype._bindAdapters = function () { + this.dataAdapter.bind(this, this.$container); + this.selection.bind(this, this.$container); + + this.dropdown.bind(this, this.$container); + this.results.bind(this, this.$container); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("enable")` method has been deprecated and will' + + ' be removed in later Select2 versions. Use $element.prop("disabled")' + + ' instead.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (this.options.get('debug') && + arguments.length > 0 && window.console && console.warn) { + console.warn( + 'Select2: Data can no longer be set using `select2("data")`. You ' + + 'should consider setting the value instead using `$element.val()`.' + ); + } + + var data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + if (this.options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `select2("val")` method has been deprecated and will be' + + ' removed in later Select2 versions. Use $element.val() instead.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.RemoveData(this.$element[0]); + this.$element.removeData('select2'); + + this.dataAdapter.destroy(); + this.selection.destroy(); + this.dropdown.destroy(); + this.results.destroy(); + + this.dataAdapter = null; + this.selection = null; + this.dropdown = null; + this.results = null; + }; + + Select2.prototype.render = function () { + var $container = $( + '' + + '' + + '' + + '' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('jquery-mousewheel',[ + 'jquery' +], function ($) { + // Used to shim jQuery.mousewheel for non-full builds. + return $; +}); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults', + './select2/utils' +], function ($, _, Select2, Defaults, Utils) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = Utils.GetData(this, 'select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); diff --git a/vendor/blobt/assets/select2/js/select2.min.js b/vendor/blobt/assets/select2/js/select2.min.js new file mode 100644 index 0000000..184bc49 --- /dev/null +++ b/vendor/blobt/assets/select2/js/select2.min.js @@ -0,0 +1 @@ +/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('
          ');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('
        • '),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.options.get("scrollAfterSelect")&&e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.options.get("scrollAfterSelect")&&e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(!(c<=0)){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),window.setTimeout(function(){d.$selection.focus()},0),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html(''),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('
            '),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('
          • ×
          • ')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h0||0===d.length)){var e=this.options.get("translations").get("removeAllItems"),f=a('×');c.StoreData(f[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(f)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
          • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){function c(a,b){return b.toUpperCase()}var e=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));for(var f={},g=0;g-1||(b.isPlainObject(this.options[m])?b.extend(this.options[m],l[m]):this.options[m]=l[m]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/vendor/blobt/web/DatetimepickBootstrapAsset.php b/vendor/blobt/web/DatetimepickBootstrapAsset.php new file mode 100644 index 0000000..cc56447 --- /dev/null +++ b/vendor/blobt/web/DatetimepickBootstrapAsset.php @@ -0,0 +1,51 @@ +initSetting(); + echo $this->renderDatetimePickerInput(); + $this->registerAsset(); + } + + /** + * 初始化小物件的配置 + */ + protected function initSetting() { + //初始化日期格式 + if (empty($this->format)) { + $this->format = Yii::$app->formatter->dateFormat; + } + + //关闭自动完成 + $this->options["autocomplete"] = "off"; + + //生成一个picker input的 id + $this->pickerInputId = $this->options['id'] . "_" . Yii::$app->security->generateRandomString(4); + } + + /** + * 注册js和css + */ + protected function registerAsset() { + $view = $this->getView(); + DatetimepickBootstrapAsset::register($view); + + $options = [ + "format" => $this->convertDateFormat($this->format), + "language" => "zh-CN" + ]; + $jsOptions = Json::encode($options); + + + $js = <<< SCRIPT + $('#{$this->pickerInputId}').datetimepicker({$jsOptions}).on('changeDate', function(e) { + $('#{$this->options['id']}').val(String(e.date.getTime()).substring(0,10)); + });; +SCRIPT; + $view->registerJs($js); + } + + /** + * 渲染一个用作保存Datepicker Unix时间错的hidden input + * @return string + */ + protected function renderHiddenInput() { + if ($this->hasModel()) { + return Html::activeInput('hidden', $this->model, $this->attribute, $this->options); + } + return Html::input('hidden', $this->name, $this->value, $this->options); + } + + /** + * TODO:自动填充了今天为默认日期 + * 渲染一个用作显示日期的字符格式 text input + * @return string + */ + protected function renderDatetimepickerInput() { + $value = ''; + $options = $this->options; + $options['id'] = $this->pickerInputId; + + if ($this->hasModel()) { + $timestamp = ArrayHelper::getValue($this->model, $this->attribute); + } + + if (empty($timestamp) && $this->autoFill) { + $timestamp = time(); + $value = date($this->format, $timestamp); + } + + return Html::input('text', $this->name, $value, $options); + } + + /** + * 转换php日期格式为bootstrap日期格式 + * + * TODO:没有弄清所有格式的转换,后续添加 + * + * @param string $format PHP日期格式字符串 + * @return string + */ + protected static function convertDateFormat($format) { + $conversions = [ + 'd' => 'dd', + 'm' => 'mm', + 'Y' => 'yyyy', + 'h' => 'hh', + 'i' => 'ii' + ]; + return strtr($format, $conversions); + } + +} From 43f1bdf3116dd9c5d60c00b9340ff27883fa4254 Mon Sep 17 00:00:00 2001 From: blobt <380255922@qq.com> Date: Thu, 29 Aug 2019 14:18:11 +0800 Subject: [PATCH 03/10] update .gitignore --- .gitignore | 2 +- .../assets/adminlte/css/AdminLTE.min.css | 8 - .../adminlte/css/skins/_all-skins.min.css | 1 - vendor/blobt/assets/adminlte/js/adminlte.js | 1149 --- .../blobt/assets/adminlte/js/adminlte.min.js | 13 - vendor/blobt/assets/alertifyjs/alertify.js | 3609 --------- .../blobt/assets/alertifyjs/alertify.min.js | 3 - .../blobt/assets/alertifyjs/css/alertify.css | 938 --- .../assets/alertifyjs/css/alertify.min.css | 6 - .../assets/alertifyjs/css/alertify.rtl.css | 938 --- .../alertifyjs/css/alertify.rtl.min.css | 6 - .../alertifyjs/css/themes/bootstrap.css | 61 - .../alertifyjs/css/themes/bootstrap.min.css | 6 - .../alertifyjs/css/themes/bootstrap.rtl.css | 61 - .../css/themes/bootstrap.rtl.min.css | 6 - .../assets/alertifyjs/css/themes/default.css | 69 - .../alertifyjs/css/themes/default.min.css | 6 - .../alertifyjs/css/themes/default.rtl.css | 69 - .../alertifyjs/css/themes/default.rtl.min.css | 6 - .../assets/alertifyjs/css/themes/semantic.css | 89 - .../alertifyjs/css/themes/semantic.min.css | 6 - .../alertifyjs/css/themes/semantic.rtl.css | 89 - .../css/themes/semantic.rtl.min.css | 6 - .../css/daterangepicker.css | 269 - .../js/daterangepicker.js | 1653 ----- .../css/bootstrap-datetimepicker.css | 418 -- .../css/bootstrap-datetimepicker.min.css | 9 - .../js/bootstrap-datetimepicker.js | 1967 ----- .../js/bootstrap-datetimepicker.min.js | 1 - .../js/locales/bootstrap-datetimepicker.ar.js | 17 - .../js/locales/bootstrap-datetimepicker.az.js | 16 - .../js/locales/bootstrap-datetimepicker.bg.js | 16 - .../js/locales/bootstrap-datetimepicker.bn.js | 16 - .../js/locales/bootstrap-datetimepicker.ca.js | 16 - .../js/locales/bootstrap-datetimepicker.cs.js | 19 - .../js/locales/bootstrap-datetimepicker.da.js | 16 - .../js/locales/bootstrap-datetimepicker.de.js | 18 - .../js/locales/bootstrap-datetimepicker.ee.js | 18 - .../js/locales/bootstrap-datetimepicker.el.js | 15 - .../js/locales/bootstrap-datetimepicker.es.js | 16 - .../js/locales/bootstrap-datetimepicker.fi.js | 16 - .../js/locales/bootstrap-datetimepicker.fr.js | 18 - .../js/locales/bootstrap-datetimepicker.he.js | 17 - .../js/locales/bootstrap-datetimepicker.hr.js | 15 - .../js/locales/bootstrap-datetimepicker.hu.js | 17 - .../js/locales/bootstrap-datetimepicker.hy.js | 16 - .../js/locales/bootstrap-datetimepicker.id.js | 19 - .../js/locales/bootstrap-datetimepicker.is.js | 16 - .../js/locales/bootstrap-datetimepicker.it.js | 18 - .../js/locales/bootstrap-datetimepicker.ja.js | 16 - .../js/locales/bootstrap-datetimepicker.ka.js | 16 - .../js/locales/bootstrap-datetimepicker.ko.js | 17 - .../js/locales/bootstrap-datetimepicker.lt.js | 18 - .../js/locales/bootstrap-datetimepicker.lv.js | 18 - .../js/locales/bootstrap-datetimepicker.ms.js | 16 - .../js/locales/bootstrap-datetimepicker.nb.js | 16 - .../js/locales/bootstrap-datetimepicker.nl.js | 16 - .../js/locales/bootstrap-datetimepicker.no.js | 16 - .../js/locales/bootstrap-datetimepicker.pl.js | 17 - .../locales/bootstrap-datetimepicker.pt-BR.js | 17 - .../js/locales/bootstrap-datetimepicker.pt.js | 17 - .../js/locales/bootstrap-datetimepicker.ro.js | 17 - .../bootstrap-datetimepicker.rs-latin.js | 16 - .../js/locales/bootstrap-datetimepicker.rs.js | 16 - .../js/locales/bootstrap-datetimepicker.ru.js | 16 - .../js/locales/bootstrap-datetimepicker.sk.js | 19 - .../js/locales/bootstrap-datetimepicker.sl.js | 16 - .../js/locales/bootstrap-datetimepicker.sv.js | 16 - .../js/locales/bootstrap-datetimepicker.sw.js | 17 - .../js/locales/bootstrap-datetimepicker.th.js | 16 - .../js/locales/bootstrap-datetimepicker.tr.js | 17 - .../js/locales/bootstrap-datetimepicker.ua.js | 15 - .../js/locales/bootstrap-datetimepicker.uk.js | 16 - .../locales/bootstrap-datetimepicker.zh-CN.js | 16 - .../locales/bootstrap-datetimepicker.zh-TW.js | 16 - vendor/blobt/assets/datatables/.bower.json | 48 - .../datatables/css/dataTables.bootstrap.css | 184 - .../css/dataTables.bootstrap.min.css | 1 - .../datatables/js/dataTables.bootstrap.js | 182 - .../datatables/js/dataTables.bootstrap.min.js | 8 - .../datatables/js/jquery.dataTables.min.js | 166 - .../assets/font-awesome/css/font-awesome.css | 2337 ------ .../font-awesome/css/font-awesome.min.css | 4 - .../assets/font-awesome/fonts/FontAwesome.otf | Bin 134808 -> 0 bytes .../fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../fonts/fontawesome-webfont.svg | 2671 ------- .../fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes vendor/blobt/assets/grid/css/grid.css | 65 - vendor/blobt/assets/iCheck/all.css | 61 - vendor/blobt/assets/iCheck/flat/_all.css | 560 -- vendor/blobt/assets/iCheck/flat/aero.css | 56 - vendor/blobt/assets/iCheck/flat/aero.png | Bin 1520 -> 0 bytes vendor/blobt/assets/iCheck/flat/aero@2x.png | Bin 3218 -> 0 bytes vendor/blobt/assets/iCheck/flat/blue.css | 56 - vendor/blobt/assets/iCheck/flat/blue.png | Bin 1518 -> 0 bytes vendor/blobt/assets/iCheck/flat/blue@2x.png | Bin 3217 -> 0 bytes vendor/blobt/assets/iCheck/flat/flat.css | 56 - vendor/blobt/assets/iCheck/flat/flat.png | Bin 1515 -> 0 bytes vendor/blobt/assets/iCheck/flat/flat@2x.png | Bin 3217 -> 0 bytes vendor/blobt/assets/iCheck/flat/green.css | 56 - vendor/blobt/assets/iCheck/flat/green.png | Bin 1444 -> 0 bytes vendor/blobt/assets/iCheck/flat/green@2x.png | Bin 3117 -> 0 bytes vendor/blobt/assets/iCheck/flat/grey.css | 56 - vendor/blobt/assets/iCheck/flat/grey.png | Bin 1516 -> 0 bytes vendor/blobt/assets/iCheck/flat/grey@2x.png | Bin 3217 -> 0 bytes vendor/blobt/assets/iCheck/flat/orange.css | 56 - vendor/blobt/assets/iCheck/flat/orange.png | Bin 1518 -> 0 bytes vendor/blobt/assets/iCheck/flat/orange@2x.png | Bin 3275 -> 0 bytes vendor/blobt/assets/iCheck/flat/pink.css | 56 - vendor/blobt/assets/iCheck/flat/pink.png | Bin 1522 -> 0 bytes vendor/blobt/assets/iCheck/flat/pink@2x.png | Bin 3218 -> 0 bytes vendor/blobt/assets/iCheck/flat/purple.css | 56 - vendor/blobt/assets/iCheck/flat/purple.png | Bin 1519 -> 0 bytes vendor/blobt/assets/iCheck/flat/purple@2x.png | Bin 3218 -> 0 bytes vendor/blobt/assets/iCheck/flat/red.css | 56 - vendor/blobt/assets/iCheck/flat/red.png | Bin 1516 -> 0 bytes vendor/blobt/assets/iCheck/flat/red@2x.png | Bin 3276 -> 0 bytes vendor/blobt/assets/iCheck/flat/yellow.css | 56 - vendor/blobt/assets/iCheck/flat/yellow.png | Bin 1516 -> 0 bytes vendor/blobt/assets/iCheck/flat/yellow@2x.png | Bin 3216 -> 0 bytes .../blobt/assets/iCheck/futurico/futurico.css | 56 - .../blobt/assets/iCheck/futurico/futurico.png | Bin 1734 -> 0 bytes .../assets/iCheck/futurico/futurico@2x.png | Bin 3446 -> 0 bytes vendor/blobt/assets/iCheck/icheck.js | 478 -- vendor/blobt/assets/iCheck/icheck.min.js | 10 - vendor/blobt/assets/iCheck/line/_all.css | 740 -- vendor/blobt/assets/iCheck/line/aero.css | 74 - vendor/blobt/assets/iCheck/line/blue.css | 74 - vendor/blobt/assets/iCheck/line/green.css | 74 - vendor/blobt/assets/iCheck/line/grey.css | 74 - vendor/blobt/assets/iCheck/line/line.css | 74 - vendor/blobt/assets/iCheck/line/line.png | Bin 588 -> 0 bytes vendor/blobt/assets/iCheck/line/line@2x.png | Bin 1073 -> 0 bytes vendor/blobt/assets/iCheck/line/orange.css | 74 - vendor/blobt/assets/iCheck/line/pink.css | 74 - vendor/blobt/assets/iCheck/line/purple.css | 74 - vendor/blobt/assets/iCheck/line/red.css | 74 - vendor/blobt/assets/iCheck/line/yellow.css | 74 - vendor/blobt/assets/iCheck/minimal/_all.css | 557 -- vendor/blobt/assets/iCheck/minimal/aero.css | 62 - vendor/blobt/assets/iCheck/minimal/aero.png | Bin 1151 -> 0 bytes .../blobt/assets/iCheck/minimal/aero@2x.png | Bin 1409 -> 0 bytes vendor/blobt/assets/iCheck/minimal/blue.css | 62 - vendor/blobt/assets/iCheck/minimal/blue.png | Bin 1132 -> 0 bytes .../blobt/assets/iCheck/minimal/blue@2x.png | Bin 1410 -> 0 bytes vendor/blobt/assets/iCheck/minimal/green.css | 62 - vendor/blobt/assets/iCheck/minimal/green.png | Bin 1143 -> 0 bytes .../blobt/assets/iCheck/minimal/green@2x.png | Bin 1408 -> 0 bytes vendor/blobt/assets/iCheck/minimal/grey.css | 62 - vendor/blobt/assets/iCheck/minimal/grey.png | Bin 1142 -> 0 bytes .../blobt/assets/iCheck/minimal/grey@2x.png | Bin 1407 -> 0 bytes .../blobt/assets/iCheck/minimal/minimal.css | 62 - .../blobt/assets/iCheck/minimal/minimal.png | Bin 1114 -> 0 bytes .../assets/iCheck/minimal/minimal@2x.png | Bin 1410 -> 0 bytes vendor/blobt/assets/iCheck/minimal/orange.css | 62 - vendor/blobt/assets/iCheck/minimal/orange.png | Bin 1139 -> 0 bytes .../blobt/assets/iCheck/minimal/orange@2x.png | Bin 1407 -> 0 bytes vendor/blobt/assets/iCheck/minimal/pink.css | 62 - vendor/blobt/assets/iCheck/minimal/pink.png | Bin 1150 -> 0 bytes .../blobt/assets/iCheck/minimal/pink@2x.png | Bin 1409 -> 0 bytes vendor/blobt/assets/iCheck/minimal/purple.css | 62 - vendor/blobt/assets/iCheck/minimal/purple.png | Bin 1132 -> 0 bytes .../blobt/assets/iCheck/minimal/purple@2x.png | Bin 1409 -> 0 bytes vendor/blobt/assets/iCheck/minimal/red.css | 62 - vendor/blobt/assets/iCheck/minimal/red.png | Bin 1130 -> 0 bytes vendor/blobt/assets/iCheck/minimal/red@2x.png | Bin 1410 -> 0 bytes vendor/blobt/assets/iCheck/minimal/yellow.css | 62 - vendor/blobt/assets/iCheck/minimal/yellow.png | Bin 1135 -> 0 bytes .../blobt/assets/iCheck/minimal/yellow@2x.png | Bin 1406 -> 0 bytes .../blobt/assets/iCheck/polaris/polaris.css | 62 - .../blobt/assets/iCheck/polaris/polaris.png | Bin 6401 -> 0 bytes .../assets/iCheck/polaris/polaris@2x.png | Bin 16760 -> 0 bytes vendor/blobt/assets/iCheck/square/_all.css | 620 -- vendor/blobt/assets/iCheck/square/aero.css | 62 - vendor/blobt/assets/iCheck/square/aero.png | Bin 2167 -> 0 bytes vendor/blobt/assets/iCheck/square/aero@2x.png | Bin 4455 -> 0 bytes vendor/blobt/assets/iCheck/square/blue.css | 62 - vendor/blobt/assets/iCheck/square/blue.png | Bin 2185 -> 0 bytes vendor/blobt/assets/iCheck/square/blue@2x.png | Bin 4485 -> 0 bytes vendor/blobt/assets/iCheck/square/green.css | 62 - vendor/blobt/assets/iCheck/square/green.png | Bin 2193 -> 0 bytes .../blobt/assets/iCheck/square/green@2x.png | Bin 4498 -> 0 bytes vendor/blobt/assets/iCheck/square/grey.css | 62 - vendor/blobt/assets/iCheck/square/grey.png | Bin 2186 -> 0 bytes vendor/blobt/assets/iCheck/square/grey@2x.png | Bin 4483 -> 0 bytes vendor/blobt/assets/iCheck/square/orange.css | 62 - vendor/blobt/assets/iCheck/square/orange.png | Bin 2181 -> 0 bytes .../blobt/assets/iCheck/square/orange@2x.png | Bin 4474 -> 0 bytes vendor/blobt/assets/iCheck/square/pink.css | 62 - vendor/blobt/assets/iCheck/square/pink.png | Bin 2189 -> 0 bytes vendor/blobt/assets/iCheck/square/pink@2x.png | Bin 4479 -> 0 bytes vendor/blobt/assets/iCheck/square/purple.css | 62 - vendor/blobt/assets/iCheck/square/purple.png | Bin 2188 -> 0 bytes .../blobt/assets/iCheck/square/purple@2x.png | Bin 4501 -> 0 bytes vendor/blobt/assets/iCheck/square/red.css | 62 - vendor/blobt/assets/iCheck/square/red.png | Bin 2190 -> 0 bytes vendor/blobt/assets/iCheck/square/red@2x.png | Bin 4490 -> 0 bytes vendor/blobt/assets/iCheck/square/square.css | 62 - vendor/blobt/assets/iCheck/square/square.png | Bin 2175 -> 0 bytes .../blobt/assets/iCheck/square/square@2x.png | Bin 4478 -> 0 bytes vendor/blobt/assets/iCheck/square/yellow.css | 62 - vendor/blobt/assets/iCheck/square/yellow.png | Bin 2131 -> 0 bytes .../blobt/assets/iCheck/square/yellow@2x.png | Bin 4385 -> 0 bytes vendor/blobt/assets/ionicons/css/ionicons.css | 1480 ---- .../assets/ionicons/css/ionicons.min.css | 11 - .../blobt/assets/ionicons/fonts/ionicons.eot | Bin 120724 -> 0 bytes .../blobt/assets/ionicons/fonts/ionicons.svg | 2230 ------ .../blobt/assets/ionicons/fonts/ionicons.ttf | Bin 188508 -> 0 bytes .../blobt/assets/ionicons/fonts/ionicons.woff | Bin 67904 -> 0 bytes vendor/blobt/assets/moment/moment.js | 4602 ------------ vendor/blobt/assets/select2/css/select2.css | 484 -- .../blobt/assets/select2/css/select2.min.css | 1 - vendor/blobt/assets/select2/js/i18n/af.js | 3 - vendor/blobt/assets/select2/js/i18n/ar.js | 3 - vendor/blobt/assets/select2/js/i18n/az.js | 3 - vendor/blobt/assets/select2/js/i18n/bg.js | 3 - vendor/blobt/assets/select2/js/i18n/bn.js | 3 - vendor/blobt/assets/select2/js/i18n/bs.js | 3 - vendor/blobt/assets/select2/js/i18n/ca.js | 3 - vendor/blobt/assets/select2/js/i18n/cs.js | 3 - vendor/blobt/assets/select2/js/i18n/da.js | 3 - vendor/blobt/assets/select2/js/i18n/de.js | 3 - vendor/blobt/assets/select2/js/i18n/dsb.js | 3 - vendor/blobt/assets/select2/js/i18n/el.js | 3 - vendor/blobt/assets/select2/js/i18n/en.js | 3 - vendor/blobt/assets/select2/js/i18n/es.js | 3 - vendor/blobt/assets/select2/js/i18n/et.js | 3 - vendor/blobt/assets/select2/js/i18n/eu.js | 3 - vendor/blobt/assets/select2/js/i18n/fa.js | 3 - vendor/blobt/assets/select2/js/i18n/fi.js | 3 - vendor/blobt/assets/select2/js/i18n/fr.js | 3 - vendor/blobt/assets/select2/js/i18n/gl.js | 3 - vendor/blobt/assets/select2/js/i18n/he.js | 3 - vendor/blobt/assets/select2/js/i18n/hi.js | 3 - vendor/blobt/assets/select2/js/i18n/hr.js | 3 - vendor/blobt/assets/select2/js/i18n/hsb.js | 3 - vendor/blobt/assets/select2/js/i18n/hu.js | 3 - vendor/blobt/assets/select2/js/i18n/hy.js | 3 - vendor/blobt/assets/select2/js/i18n/id.js | 3 - vendor/blobt/assets/select2/js/i18n/is.js | 3 - vendor/blobt/assets/select2/js/i18n/it.js | 3 - vendor/blobt/assets/select2/js/i18n/ja.js | 3 - vendor/blobt/assets/select2/js/i18n/ka.js | 3 - vendor/blobt/assets/select2/js/i18n/km.js | 3 - vendor/blobt/assets/select2/js/i18n/ko.js | 3 - vendor/blobt/assets/select2/js/i18n/lt.js | 3 - vendor/blobt/assets/select2/js/i18n/lv.js | 3 - vendor/blobt/assets/select2/js/i18n/mk.js | 3 - vendor/blobt/assets/select2/js/i18n/ms.js | 3 - vendor/blobt/assets/select2/js/i18n/nb.js | 3 - vendor/blobt/assets/select2/js/i18n/ne.js | 3 - vendor/blobt/assets/select2/js/i18n/nl.js | 3 - vendor/blobt/assets/select2/js/i18n/pl.js | 3 - vendor/blobt/assets/select2/js/i18n/ps.js | 3 - vendor/blobt/assets/select2/js/i18n/pt-BR.js | 3 - vendor/blobt/assets/select2/js/i18n/pt.js | 3 - vendor/blobt/assets/select2/js/i18n/ro.js | 3 - vendor/blobt/assets/select2/js/i18n/ru.js | 3 - vendor/blobt/assets/select2/js/i18n/sk.js | 3 - vendor/blobt/assets/select2/js/i18n/sl.js | 3 - vendor/blobt/assets/select2/js/i18n/sq.js | 3 - .../blobt/assets/select2/js/i18n/sr-Cyrl.js | 3 - vendor/blobt/assets/select2/js/i18n/sr.js | 3 - vendor/blobt/assets/select2/js/i18n/sv.js | 3 - vendor/blobt/assets/select2/js/i18n/th.js | 3 - vendor/blobt/assets/select2/js/i18n/tk.js | 3 - vendor/blobt/assets/select2/js/i18n/tr.js | 3 - vendor/blobt/assets/select2/js/i18n/uk.js | 3 - vendor/blobt/assets/select2/js/i18n/vi.js | 3 - vendor/blobt/assets/select2/js/i18n/zh-CN.js | 3 - vendor/blobt/assets/select2/js/i18n/zh-TW.js | 3 - .../blobt/assets/select2/js/select2.full.js | 6597 ----------------- .../assets/select2/js/select2.full.min.js | 1 - vendor/blobt/assets/select2/js/select2.js | 5885 --------------- vendor/blobt/assets/select2/js/select2.min.js | 1 - vendor/blobt/grid/ActionColumn.php | 203 - vendor/blobt/grid/CheckboxColumn.php | 156 - vendor/blobt/grid/Column.php | 57 - vendor/blobt/grid/DataColumn.php | 195 - vendor/blobt/grid/GridView.php | 641 -- vendor/blobt/web/AdminlteAsset.php | 52 - vendor/blobt/web/AlertifyAsset.php | 48 - vendor/blobt/web/DataTablesAsset.php | 53 - vendor/blobt/web/DatePickerAsset.php | 0 vendor/blobt/web/DaterangeBootstrapAsset.php | 53 - .../blobt/web/DatetimepickBootstrapAsset.php | 51 - vendor/blobt/web/FontAwesomeAsset.php | 47 - vendor/blobt/web/GridViewAsset.php | 57 - vendor/blobt/web/IcheckAsset.php | 48 - vendor/blobt/web/IoniconsAsset.php | 47 - vendor/blobt/web/MomentAsset.php | 45 - vendor/blobt/web/Select2Asset.php | 48 - vendor/blobt/widgets/DatePicker.php | 163 - vendor/blobt/widgets/DateRangePicker.php | 277 - vendor/blobt/widgets/DatetimePicker.php | 164 - vendor/blobt/widgets/Menu.php | 332 - vendor/blobt/widgets/Select2.php | 101 - 299 files changed, 1 insertion(+), 47884 deletions(-) delete mode 100644 vendor/blobt/assets/adminlte/css/AdminLTE.min.css delete mode 100644 vendor/blobt/assets/adminlte/css/skins/_all-skins.min.css delete mode 100644 vendor/blobt/assets/adminlte/js/adminlte.js delete mode 100644 vendor/blobt/assets/adminlte/js/adminlte.min.js delete mode 100644 vendor/blobt/assets/alertifyjs/alertify.js delete mode 100644 vendor/blobt/assets/alertifyjs/alertify.min.js delete mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.rtl.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css delete mode 100644 vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css delete mode 100644 vendor/blobt/assets/bootstrap-daterangepicker/css/daterangepicker.css delete mode 100644 vendor/blobt/assets/bootstrap-daterangepicker/js/daterangepicker.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js delete mode 100644 vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js delete mode 100644 vendor/blobt/assets/datatables/.bower.json delete mode 100644 vendor/blobt/assets/datatables/css/dataTables.bootstrap.css delete mode 100644 vendor/blobt/assets/datatables/css/dataTables.bootstrap.min.css delete mode 100644 vendor/blobt/assets/datatables/js/dataTables.bootstrap.js delete mode 100644 vendor/blobt/assets/datatables/js/dataTables.bootstrap.min.js delete mode 100644 vendor/blobt/assets/datatables/js/jquery.dataTables.min.js delete mode 100644 vendor/blobt/assets/font-awesome/css/font-awesome.css delete mode 100644 vendor/blobt/assets/font-awesome/css/font-awesome.min.css delete mode 100644 vendor/blobt/assets/font-awesome/fonts/FontAwesome.otf delete mode 100644 vendor/blobt/assets/font-awesome/fonts/fontawesome-webfont.eot delete mode 100644 vendor/blobt/assets/font-awesome/fonts/fontawesome-webfont.svg delete mode 100644 vendor/blobt/assets/font-awesome/fonts/fontawesome-webfont.ttf delete mode 100644 vendor/blobt/assets/font-awesome/fonts/fontawesome-webfont.woff delete mode 100644 vendor/blobt/assets/font-awesome/fonts/fontawesome-webfont.woff2 delete mode 100644 vendor/blobt/assets/grid/css/grid.css delete mode 100644 vendor/blobt/assets/iCheck/all.css delete mode 100644 vendor/blobt/assets/iCheck/flat/_all.css delete mode 100644 vendor/blobt/assets/iCheck/flat/aero.css delete mode 100644 vendor/blobt/assets/iCheck/flat/aero.png delete mode 100644 vendor/blobt/assets/iCheck/flat/aero@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/blue.css delete mode 100644 vendor/blobt/assets/iCheck/flat/blue.png delete mode 100644 vendor/blobt/assets/iCheck/flat/blue@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/flat.css delete mode 100644 vendor/blobt/assets/iCheck/flat/flat.png delete mode 100644 vendor/blobt/assets/iCheck/flat/flat@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/green.css delete mode 100644 vendor/blobt/assets/iCheck/flat/green.png delete mode 100644 vendor/blobt/assets/iCheck/flat/green@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/grey.css delete mode 100644 vendor/blobt/assets/iCheck/flat/grey.png delete mode 100644 vendor/blobt/assets/iCheck/flat/grey@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/orange.css delete mode 100644 vendor/blobt/assets/iCheck/flat/orange.png delete mode 100644 vendor/blobt/assets/iCheck/flat/orange@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/pink.css delete mode 100644 vendor/blobt/assets/iCheck/flat/pink.png delete mode 100644 vendor/blobt/assets/iCheck/flat/pink@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/purple.css delete mode 100644 vendor/blobt/assets/iCheck/flat/purple.png delete mode 100644 vendor/blobt/assets/iCheck/flat/purple@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/red.css delete mode 100644 vendor/blobt/assets/iCheck/flat/red.png delete mode 100644 vendor/blobt/assets/iCheck/flat/red@2x.png delete mode 100644 vendor/blobt/assets/iCheck/flat/yellow.css delete mode 100644 vendor/blobt/assets/iCheck/flat/yellow.png delete mode 100644 vendor/blobt/assets/iCheck/flat/yellow@2x.png delete mode 100644 vendor/blobt/assets/iCheck/futurico/futurico.css delete mode 100644 vendor/blobt/assets/iCheck/futurico/futurico.png delete mode 100644 vendor/blobt/assets/iCheck/futurico/futurico@2x.png delete mode 100644 vendor/blobt/assets/iCheck/icheck.js delete mode 100644 vendor/blobt/assets/iCheck/icheck.min.js delete mode 100644 vendor/blobt/assets/iCheck/line/_all.css delete mode 100644 vendor/blobt/assets/iCheck/line/aero.css delete mode 100644 vendor/blobt/assets/iCheck/line/blue.css delete mode 100644 vendor/blobt/assets/iCheck/line/green.css delete mode 100644 vendor/blobt/assets/iCheck/line/grey.css delete mode 100644 vendor/blobt/assets/iCheck/line/line.css delete mode 100644 vendor/blobt/assets/iCheck/line/line.png delete mode 100644 vendor/blobt/assets/iCheck/line/line@2x.png delete mode 100644 vendor/blobt/assets/iCheck/line/orange.css delete mode 100644 vendor/blobt/assets/iCheck/line/pink.css delete mode 100644 vendor/blobt/assets/iCheck/line/purple.css delete mode 100644 vendor/blobt/assets/iCheck/line/red.css delete mode 100644 vendor/blobt/assets/iCheck/line/yellow.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/_all.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/aero.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/aero.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/aero@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/blue.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/blue.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/blue@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/green.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/green.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/green@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/grey.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/grey.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/grey@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/minimal.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/minimal.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/minimal@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/orange.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/orange.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/orange@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/pink.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/pink.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/pink@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/purple.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/purple.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/purple@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/red.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/red.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/red@2x.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/yellow.css delete mode 100644 vendor/blobt/assets/iCheck/minimal/yellow.png delete mode 100644 vendor/blobt/assets/iCheck/minimal/yellow@2x.png delete mode 100644 vendor/blobt/assets/iCheck/polaris/polaris.css delete mode 100644 vendor/blobt/assets/iCheck/polaris/polaris.png delete mode 100644 vendor/blobt/assets/iCheck/polaris/polaris@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/_all.css delete mode 100644 vendor/blobt/assets/iCheck/square/aero.css delete mode 100644 vendor/blobt/assets/iCheck/square/aero.png delete mode 100644 vendor/blobt/assets/iCheck/square/aero@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/blue.css delete mode 100644 vendor/blobt/assets/iCheck/square/blue.png delete mode 100644 vendor/blobt/assets/iCheck/square/blue@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/green.css delete mode 100644 vendor/blobt/assets/iCheck/square/green.png delete mode 100644 vendor/blobt/assets/iCheck/square/green@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/grey.css delete mode 100644 vendor/blobt/assets/iCheck/square/grey.png delete mode 100644 vendor/blobt/assets/iCheck/square/grey@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/orange.css delete mode 100644 vendor/blobt/assets/iCheck/square/orange.png delete mode 100644 vendor/blobt/assets/iCheck/square/orange@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/pink.css delete mode 100644 vendor/blobt/assets/iCheck/square/pink.png delete mode 100644 vendor/blobt/assets/iCheck/square/pink@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/purple.css delete mode 100644 vendor/blobt/assets/iCheck/square/purple.png delete mode 100644 vendor/blobt/assets/iCheck/square/purple@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/red.css delete mode 100644 vendor/blobt/assets/iCheck/square/red.png delete mode 100644 vendor/blobt/assets/iCheck/square/red@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/square.css delete mode 100644 vendor/blobt/assets/iCheck/square/square.png delete mode 100644 vendor/blobt/assets/iCheck/square/square@2x.png delete mode 100644 vendor/blobt/assets/iCheck/square/yellow.css delete mode 100644 vendor/blobt/assets/iCheck/square/yellow.png delete mode 100644 vendor/blobt/assets/iCheck/square/yellow@2x.png delete mode 100644 vendor/blobt/assets/ionicons/css/ionicons.css delete mode 100644 vendor/blobt/assets/ionicons/css/ionicons.min.css delete mode 100644 vendor/blobt/assets/ionicons/fonts/ionicons.eot delete mode 100644 vendor/blobt/assets/ionicons/fonts/ionicons.svg delete mode 100644 vendor/blobt/assets/ionicons/fonts/ionicons.ttf delete mode 100644 vendor/blobt/assets/ionicons/fonts/ionicons.woff delete mode 100644 vendor/blobt/assets/moment/moment.js delete mode 100644 vendor/blobt/assets/select2/css/select2.css delete mode 100644 vendor/blobt/assets/select2/css/select2.min.css delete mode 100644 vendor/blobt/assets/select2/js/i18n/af.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ar.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/az.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/bg.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/bn.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/bs.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ca.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/cs.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/da.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/de.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/dsb.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/el.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/en.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/es.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/et.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/eu.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/fa.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/fi.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/fr.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/gl.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/he.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/hi.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/hr.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/hsb.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/hu.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/hy.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/id.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/is.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/it.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ja.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ka.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/km.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ko.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/lt.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/lv.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/mk.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ms.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/nb.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ne.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/nl.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/pl.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ps.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/pt-BR.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/pt.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ro.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/ru.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/sk.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/sl.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/sq.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/sr-Cyrl.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/sr.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/sv.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/th.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/tk.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/tr.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/uk.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/vi.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/zh-CN.js delete mode 100644 vendor/blobt/assets/select2/js/i18n/zh-TW.js delete mode 100644 vendor/blobt/assets/select2/js/select2.full.js delete mode 100644 vendor/blobt/assets/select2/js/select2.full.min.js delete mode 100644 vendor/blobt/assets/select2/js/select2.js delete mode 100644 vendor/blobt/assets/select2/js/select2.min.js delete mode 100644 vendor/blobt/grid/ActionColumn.php delete mode 100644 vendor/blobt/grid/CheckboxColumn.php delete mode 100644 vendor/blobt/grid/Column.php delete mode 100644 vendor/blobt/grid/DataColumn.php delete mode 100644 vendor/blobt/grid/GridView.php delete mode 100644 vendor/blobt/web/AdminlteAsset.php delete mode 100644 vendor/blobt/web/AlertifyAsset.php delete mode 100644 vendor/blobt/web/DataTablesAsset.php delete mode 100644 vendor/blobt/web/DatePickerAsset.php delete mode 100644 vendor/blobt/web/DaterangeBootstrapAsset.php delete mode 100644 vendor/blobt/web/DatetimepickBootstrapAsset.php delete mode 100644 vendor/blobt/web/FontAwesomeAsset.php delete mode 100644 vendor/blobt/web/GridViewAsset.php delete mode 100644 vendor/blobt/web/IcheckAsset.php delete mode 100644 vendor/blobt/web/IoniconsAsset.php delete mode 100644 vendor/blobt/web/MomentAsset.php delete mode 100644 vendor/blobt/web/Select2Asset.php delete mode 100644 vendor/blobt/widgets/DatePicker.php delete mode 100644 vendor/blobt/widgets/DateRangePicker.php delete mode 100644 vendor/blobt/widgets/DatetimePicker.php delete mode 100644 vendor/blobt/widgets/Menu.php delete mode 100644 vendor/blobt/widgets/Select2.php diff --git a/.gitignore b/.gitignore index ea46ab2..e7dedb7 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,7 @@ Thumbs.db # composer vendor dir /vendor -!/vendor/blobt +!/vendor/blobt/* # composer itself is not needed composer.phar diff --git a/vendor/blobt/assets/adminlte/css/AdminLTE.min.css b/vendor/blobt/assets/adminlte/css/AdminLTE.min.css deleted file mode 100644 index 712e761..0000000 --- a/vendor/blobt/assets/adminlte/css/AdminLTE.min.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * AdminLTE v2.4.15 - * - * Author: Colorlib - * Support: - * Repository: git://github.com/ColorlibHQ/AdminLTE.git - * License: MIT - */html,body{height:100%}.layout-boxed html,.layout-boxed body{height:100%}body{font-family:'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400;overflow-x:hidden;overflow-y:auto}.wrapper{height:100%;position:relative;overflow-x:hidden;overflow-y:auto}.wrapper:before,.wrapper:after{content:" ";display:table}.wrapper:after{clear:both}.layout-boxed .wrapper{max-width:1250px;margin:0 auto;min-height:100%;box-shadow:0 0 8px rgba(0,0,0,0.5);position:relative}.layout-boxed{background-color:#f9fafc}.content-wrapper,.main-footer{-webkit-transition:-webkit-transform .3s ease-in-out,margin .3s ease-in-out;-moz-transition:-moz-transform .3s ease-in-out,margin .3s ease-in-out;-o-transition:-o-transform .3s ease-in-out,margin .3s ease-in-out;transition:transform .3s ease-in-out,margin .3s ease-in-out;margin-left:230px;z-index:820}.layout-top-nav .content-wrapper,.layout-top-nav .main-footer{margin-left:0}@media (max-width:767px){.content-wrapper,.main-footer{margin-left:0}}@media (min-width:768px){.sidebar-collapse .content-wrapper,.sidebar-collapse .main-footer{margin-left:0}}@media (max-width:767px){.sidebar-open .content-wrapper,.sidebar-open .main-footer{-webkit-transform:translate(230px, 0);-ms-transform:translate(230px, 0);-o-transform:translate(230px, 0);transform:translate(230px, 0)}}.content-wrapper{min-height:calc(100vh - 101px);background-color:#ecf0f5;z-index:800}@media (max-width:767px){.content-wrapper{min-height:calc(100vh - 151px)}}.main-footer{background:#fff;padding:15px;color:#444;border-top:1px solid #d2d6de}.fixed .main-header,.fixed .main-sidebar,.fixed .left-side{position:fixed}.fixed .main-header{top:0;right:0;left:0}.fixed .content-wrapper,.fixed .right-side{padding-top:50px}@media (max-width:767px){.fixed .content-wrapper,.fixed .right-side{padding-top:100px}}.fixed.layout-boxed .wrapper{max-width:100%}.fixed .wrapper{overflow:hidden}.hold-transition .content-wrapper,.hold-transition .right-side,.hold-transition .main-footer,.hold-transition .main-sidebar,.hold-transition .left-side,.hold-transition .main-header .navbar,.hold-transition .main-header .logo,.hold-transition .menu-open .fa-angle-left{-webkit-transition:none;-o-transition:none;transition:none}.content{min-height:250px;padding:15px;margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Source Sans Pro',sans-serif}a{color:#3c8dbc}a:hover,a:active,a:focus{outline:none;text-decoration:none;color:#72afd2}.page-header{margin:10px 0 20px 0;font-size:22px}.page-header>small{color:#666;display:block;margin-top:5px}.main-header{position:relative;max-height:100px;z-index:1030}.main-header .navbar{-webkit-transition:margin-left .3s ease-in-out;-o-transition:margin-left .3s ease-in-out;transition:margin-left .3s ease-in-out;margin-bottom:0;margin-left:230px;border:none;min-height:50px;border-radius:0}.layout-top-nav .main-header .navbar{margin-left:0}.main-header #navbar-search-input.form-control{background:rgba(255,255,255,0.2);border-color:transparent}.main-header #navbar-search-input.form-control:focus,.main-header #navbar-search-input.form-control:active{border-color:rgba(0,0,0,0.1);background:rgba(255,255,255,0.9)}.main-header #navbar-search-input.form-control::-moz-placeholder{color:#ccc;opacity:1}.main-header #navbar-search-input.form-control:-ms-input-placeholder{color:#ccc}.main-header #navbar-search-input.form-control::-webkit-input-placeholder{color:#ccc}.main-header .navbar-custom-menu,.main-header .navbar-right{float:right}@media (max-width:991px){.main-header .navbar-custom-menu a,.main-header .navbar-right a{color:inherit;background:transparent}}@media (max-width:767px){.main-header .navbar-right{float:none}.navbar-collapse .main-header .navbar-right{margin:7.5px -15px}.main-header .navbar-right>li{color:inherit;border:0}}.main-header .sidebar-toggle{float:left;background-color:transparent;background-image:none;padding:15px 15px;font-family:fontAwesome}.main-header .sidebar-toggle:before{content:"\f0c9"}.main-header .sidebar-toggle:hover{color:#fff}.main-header .sidebar-toggle:focus,.main-header .sidebar-toggle:active{background:transparent}.main-header .sidebar-toggle.fa5{font-family:"Font Awesome\ 5 Free"}.main-header .sidebar-toggle.fa5:before{content:"\f0c9";font-weight:900}.main-header .sidebar-toggle .icon-bar{display:none}.main-header .navbar .nav>li.user>a>.fa,.main-header .navbar .nav>li.user>a>.glyphicon,.main-header .navbar .nav>li.user>a>.ion{margin-right:5px}.main-header .navbar .nav>li>a>.label{position:absolute;top:9px;right:7px;text-align:center;font-size:9px;padding:2px 3px;line-height:.9}.main-header .logo{-webkit-transition:width .3s ease-in-out;-o-transition:width .3s ease-in-out;transition:width .3s ease-in-out;display:block;float:left;height:50px;font-size:20px;line-height:50px;text-align:center;width:230px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding:0 15px;font-weight:300;overflow:hidden}.main-header .logo img{padding:4px;object-fit:contain;margin:0 auto}.main-header .logo .logo-lg{display:block}.main-header .logo .logo-lg img{max-width:200px;max-height:50px}.main-header .logo .logo-lg .brandlogo-image{margin-top:8px;margin-right:10px;margin-left:-5px}.main-header .logo .logo-mini{display:none}.main-header .logo .logo-mini img{max-width:50px;max-height:50px}.main-header .logo .logo-mini .brandlogo-image{margin-top:8px;margin-right:10px;margin-left:10px}.main-header .logo .brandlogo-image{float:left;height:34px;width:auto}.main-header .navbar-brand{color:#fff}.content-header{position:relative;padding:15px 15px 0 15px}.content-header>h1{margin:0;font-size:24px}.content-header>h1>small{font-size:15px;display:inline-block;padding-left:4px;font-weight:300}.content-header>.breadcrumb{float:right;background:transparent;margin-top:0;margin-bottom:0;font-size:12px;padding:7px 5px;position:absolute;top:15px;right:10px;border-radius:2px}.content-header>.breadcrumb>li>a{color:#444;text-decoration:none;display:inline-block}.content-header>.breadcrumb>li>a>.fa,.content-header>.breadcrumb>li>a>.glyphicon,.content-header>.breadcrumb>li>a>.ion{margin-right:5px}.content-header>.breadcrumb>li+li:before{content:'>\00a0'}@media (max-width:991px){.content-header>.breadcrumb{position:relative;margin-top:5px;top:0;right:0;float:none;background:#d2d6de;padding-left:10px}.content-header>.breadcrumb li:before{color:#97a0b3}}.navbar-toggle{color:#fff;border:0;margin:0;padding:15px 15px}@media (max-width:991px){.navbar-custom-menu .navbar-nav>li{float:left}.navbar-custom-menu .navbar-nav{margin:0;float:left}.navbar-custom-menu .navbar-nav>li>a{padding-top:15px;padding-bottom:15px;line-height:20px}}@media (max-width:767px){.main-header{position:relative}.main-header .logo,.main-header .navbar{width:100%;float:none}.main-header .navbar{margin:0}.main-header .navbar-custom-menu{float:right}}@media (max-width:991px){.navbar-collapse.pull-left{float:none !important}.navbar-collapse.pull-left+.navbar-custom-menu{display:block;position:absolute;top:0;right:40px}}.main-sidebar{position:absolute;top:0;left:0;padding-top:50px;min-height:100%;width:230px;z-index:810;-webkit-transition:-webkit-transform .3s ease-in-out,width .3s ease-in-out;-moz-transition:-moz-transform .3s ease-in-out,width .3s ease-in-out;-o-transition:-o-transform .3s ease-in-out,width .3s ease-in-out;transition:transform .3s ease-in-out,width .3s ease-in-out}@media (max-width:767px){.main-sidebar{padding-top:100px}}@media (max-width:767px){.main-sidebar{-webkit-transform:translate(-230px, 0);-ms-transform:translate(-230px, 0);-o-transform:translate(-230px, 0);transform:translate(-230px, 0)}}@media (min-width:768px){.sidebar-collapse .main-sidebar{-webkit-transform:translate(-230px, 0);-ms-transform:translate(-230px, 0);-o-transform:translate(-230px, 0);transform:translate(-230px, 0)}}@media (max-width:767px){.sidebar-open .main-sidebar{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}}.sidebar{padding-bottom:10px}.sidebar-form input:focus{border-color:transparent}.user-panel{position:relative;width:100%;padding:10px;overflow:hidden}.user-panel:before,.user-panel:after{content:" ";display:table}.user-panel:after{clear:both}.user-panel>.image>img{width:100%;max-width:45px;height:auto}.user-panel>.info{padding:5px 5px 5px 15px;line-height:1;position:absolute;left:55px}.user-panel>.info>p{font-weight:600;margin-bottom:9px}.user-panel>.info>a{text-decoration:none;padding-right:5px;margin-top:3px;font-size:11px}.user-panel>.info>a>.fa,.user-panel>.info>a>.ion,.user-panel>.info>a>.glyphicon{margin-right:3px}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-menu>li{position:relative;margin:0;padding:0}.sidebar-menu>li>a{padding:12px 5px 12px 15px;display:block}.sidebar-menu>li>a>.fa,.sidebar-menu>li>a>.glyphicon,.sidebar-menu>li>a>.ion{width:20px}.sidebar-menu>li .label,.sidebar-menu>li .badge{margin-right:5px}.sidebar-menu>li .badge{margin-top:3px}.sidebar-menu li.header{padding:10px 25px 10px 15px;font-size:12px}.sidebar-menu li>a>.fa-angle-left,.sidebar-menu li>a>.pull-right-container>.fa-angle-left{width:auto;height:auto;padding:0;margin-right:10px;-webkit-transition:transform .5s ease;-o-transition:transform .5s ease;transition:transform .5s ease}.sidebar-menu li>a>.fa-angle-left{position:absolute;top:50%;right:10px;margin-top:-8px}.sidebar-menu .menu-open>a>.fa-angle-left,.sidebar-menu .menu-open>a>.pull-right-container>.fa-angle-left{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}.sidebar-menu .active>.treeview-menu{display:block}@media (min-width:768px){.sidebar-mini.sidebar-collapse .content-wrapper,.sidebar-mini.sidebar-collapse .right-side,.sidebar-mini.sidebar-collapse .main-footer{margin-left:50px !important;z-index:840}.sidebar-mini.sidebar-collapse .main-sidebar{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0);width:50px !important;z-index:850}.sidebar-mini.sidebar-collapse .sidebar-menu>li{position:relative}.sidebar-mini.sidebar-collapse .sidebar-menu>li>a{margin-right:0}.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span{border-top-right-radius:4px}.sidebar-mini.sidebar-collapse .sidebar-menu>li:not(.treeview)>a>span{border-bottom-right-radius:4px}.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{padding-top:5px;padding-bottom:5px;border-bottom-right-radius:4px}.sidebar-mini.sidebar-collapse .main-sidebar .user-panel>.info,.sidebar-mini.sidebar-collapse .sidebar-form,.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span,.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu,.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>.pull-right,.sidebar-mini.sidebar-collapse .sidebar-menu>li>a>span>.pull-right,.sidebar-mini.sidebar-collapse .sidebar-menu li.header{display:none !important;-webkit-transform:translateZ(0)}.sidebar-mini.sidebar-collapse .main-header .logo{width:50px}.sidebar-mini.sidebar-collapse .main-header .logo>.logo-mini{display:block;margin-left:-15px;margin-right:-15px;font-size:18px}.sidebar-mini.sidebar-collapse .main-header .logo>.logo-lg{display:none}.sidebar-mini.sidebar-collapse .main-header .navbar{margin-left:50px}}@media (min-width:768px){.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span:not(.pull-right),.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu{display:block !important;position:absolute;width:180px;left:50px}.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span{top:0;margin-left:-3px;padding:12px 5px 12px 20px;background-color:inherit}.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container{position:relative !important;float:right;width:auto !important;left:180px !important;top:-22px !important;z-index:900}.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container>.label:not(:first-of-type){display:none}.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu{top:44px;margin-left:0}}.sidebar-expanded-on-hover .main-footer,.sidebar-expanded-on-hover .content-wrapper{margin-left:50px}.sidebar-expanded-on-hover .main-sidebar{box-shadow:3px 0 8px rgba(0,0,0,0.125)}.sidebar-menu,.main-sidebar .user-panel,.sidebar-menu>li.header{white-space:nowrap;overflow:hidden}.sidebar-menu:hover{overflow:visible}.sidebar-form,.sidebar-menu>li.header{overflow:hidden;text-overflow:clip}.sidebar-menu li>a{position:relative}.sidebar-menu li>a>.pull-right-container{position:absolute;right:10px;top:50%;margin-top:-7px}.control-sidebar-bg{position:fixed;z-index:1000;bottom:0}.control-sidebar-bg,.control-sidebar{top:0;right:-230px;width:230px;-webkit-transition:right .3s ease-in-out;-o-transition:right .3s ease-in-out;transition:right .3s ease-in-out}.control-sidebar{position:absolute;padding-top:50px;z-index:1010}@media (max-width:767px){.control-sidebar{padding-top:100px}}.control-sidebar>.tab-content{padding:10px 15px}.control-sidebar.control-sidebar-open,.control-sidebar.control-sidebar-open+.control-sidebar-bg{right:0}.control-sidebar-open .control-sidebar-bg,.control-sidebar-open .control-sidebar{right:0}@media (min-width:768px){.control-sidebar-open .content-wrapper,.control-sidebar-open .right-side,.control-sidebar-open .main-footer{margin-right:230px}}.fixed .control-sidebar{position:fixed;height:100%;overflow-y:auto;padding-bottom:50px}.nav-tabs.control-sidebar-tabs>li:first-of-type>a,.nav-tabs.control-sidebar-tabs>li:first-of-type>a:hover,.nav-tabs.control-sidebar-tabs>li:first-of-type>a:focus{border-left-width:0}.nav-tabs.control-sidebar-tabs>li>a{border-radius:0}.nav-tabs.control-sidebar-tabs>li>a,.nav-tabs.control-sidebar-tabs>li>a:hover{border-top:none;border-right:none;border-left:1px solid transparent;border-bottom:1px solid transparent}.nav-tabs.control-sidebar-tabs>li>a .icon{font-size:16px}.nav-tabs.control-sidebar-tabs>li.active>a,.nav-tabs.control-sidebar-tabs>li.active>a:hover,.nav-tabs.control-sidebar-tabs>li.active>a:focus,.nav-tabs.control-sidebar-tabs>li.active>a:active{border-top:none;border-right:none;border-bottom:none}@media (max-width:768px){.nav-tabs.control-sidebar-tabs{display:table}.nav-tabs.control-sidebar-tabs>li{display:table-cell}}.control-sidebar-heading{font-weight:400;font-size:16px;padding:10px 0;margin-bottom:10px}.control-sidebar-subheading{display:block;font-weight:400;font-size:14px}.control-sidebar-menu{list-style:none;padding:0;margin:0 -15px}.control-sidebar-menu>li>a{display:block;padding:10px 15px}.control-sidebar-menu>li>a:before,.control-sidebar-menu>li>a:after{content:" ";display:table}.control-sidebar-menu>li>a:after{clear:both}.control-sidebar-menu>li>a>.control-sidebar-subheading{margin-top:0}.control-sidebar-menu .menu-icon{float:left;width:35px;height:35px;border-radius:50%;text-align:center;line-height:35px}.control-sidebar-menu .menu-info{margin-left:45px;margin-top:3px}.control-sidebar-menu .menu-info>.control-sidebar-subheading{margin:0}.control-sidebar-menu .menu-info>p{margin:0;font-size:11px}.control-sidebar-menu .progress{margin:0}.control-sidebar-dark{color:#b8c7ce}.control-sidebar-dark,.control-sidebar-dark+.control-sidebar-bg{background:#222d32}.control-sidebar-dark .nav-tabs.control-sidebar-tabs{border-bottom:#1c2529}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a{background:#181f23;color:#b8c7ce}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:focus{border-left-color:#141a1d;border-bottom-color:#141a1d}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:active{background:#1c2529}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li>a:hover{color:#fff}.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:hover,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:focus,.control-sidebar-dark .nav-tabs.control-sidebar-tabs>li.active>a:active{background:#222d32;color:#fff}.control-sidebar-dark .control-sidebar-heading,.control-sidebar-dark .control-sidebar-subheading{color:#fff}.control-sidebar-dark .control-sidebar-menu>li>a:hover{background:#1e282c}.control-sidebar-dark .control-sidebar-menu>li>a .menu-info>p{color:#b8c7ce}.control-sidebar-light{color:#5e5e5e}.control-sidebar-light,.control-sidebar-light+.control-sidebar-bg{background:#f9fafc;border-left:1px solid #d2d6de}.control-sidebar-light .nav-tabs.control-sidebar-tabs{border-bottom:#d2d6de}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a{background:#e8ecf4;color:#444}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:focus{border-left-color:#d2d6de;border-bottom-color:#d2d6de}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li>a:active{background:#eff1f7}.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:hover,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:focus,.control-sidebar-light .nav-tabs.control-sidebar-tabs>li.active>a:active{background:#f9fafc;color:#111}.control-sidebar-light .control-sidebar-heading,.control-sidebar-light .control-sidebar-subheading{color:#111}.control-sidebar-light .control-sidebar-menu{margin-left:-14px}.control-sidebar-light .control-sidebar-menu>li>a:hover{background:#f4f4f5}.control-sidebar-light .control-sidebar-menu>li>a .menu-info>p{color:#5e5e5e}.dropdown-menu{box-shadow:none;border-color:#eee}.dropdown-menu>li>a{color:#777}.dropdown-menu>li>a>.glyphicon,.dropdown-menu>li>a>.fa,.dropdown-menu>li>a>.ion{margin-right:10px}.dropdown-menu>li>a:hover{background-color:#e1e3e9;color:#333}.dropdown-menu>.divider{background-color:#eee}.navbar-nav>.notifications-menu>.dropdown-menu,.navbar-nav>.messages-menu>.dropdown-menu,.navbar-nav>.tasks-menu>.dropdown-menu{width:280px;padding:0 0 0 0;margin:0;top:100%}.navbar-nav>.notifications-menu>.dropdown-menu>li,.navbar-nav>.messages-menu>.dropdown-menu>li,.navbar-nav>.tasks-menu>.dropdown-menu>li{position:relative}.navbar-nav>.notifications-menu>.dropdown-menu>li.header,.navbar-nav>.messages-menu>.dropdown-menu>li.header,.navbar-nav>.tasks-menu>.dropdown-menu>li.header{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;background-color:#ffffff;padding:7px 10px;border-bottom:1px solid #f4f4f4;color:#444444;font-size:14px}.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a,.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a,.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;font-size:12px;background-color:#fff;padding:7px 10px;border-bottom:1px solid #eeeeee;color:#444 !important;text-align:center}@media (max-width:991px){.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a,.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a,.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a{background:#fff !important;color:#444 !important}}.navbar-nav>.notifications-menu>.dropdown-menu>li.footer>a:hover,.navbar-nav>.messages-menu>.dropdown-menu>li.footer>a:hover,.navbar-nav>.tasks-menu>.dropdown-menu>li.footer>a:hover{text-decoration:none;font-weight:normal}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu,.navbar-nav>.messages-menu>.dropdown-menu>li .menu,.navbar-nav>.tasks-menu>.dropdown-menu>li .menu{max-height:200px;margin:0;padding:0;list-style:none;overflow-x:hidden}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a,.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a,.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a{display:block;white-space:nowrap;border-bottom:1px solid #f4f4f4}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a:hover,.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:hover,.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a:hover{background:#f4f4f4;text-decoration:none}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a{color:#444444;overflow:hidden;text-overflow:ellipsis;padding:10px}.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.glyphicon,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.fa,.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a>.ion{width:20px}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a{margin:0;padding:10px 10px}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>div>img{margin:auto 10px auto auto;width:40px;height:40px}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>h4{padding:0;margin:0 0 0 45px;color:#444444;font-size:15px;position:relative}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>h4>small{color:#999999;font-size:10px;position:absolute;top:0;right:0}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a>p{margin:0 0 0 45px;font-size:12px;color:#888888}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:before,.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:after{content:" ";display:table}.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a:after{clear:both}.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a{padding:10px}.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a>h3{font-size:14px;padding:0;margin:0 0 10px 0;color:#666666}.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a>.progress{padding:0;margin:0}.navbar-nav>.user-menu>.dropdown-menu{border-top-right-radius:0;border-top-left-radius:0;padding:1px 0 0 0;border-top-width:0;width:280px}.navbar-nav>.user-menu>.dropdown-menu,.navbar-nav>.user-menu>.dropdown-menu>.user-body{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header{height:175px;padding:10px;text-align:center}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>img{z-index:5;height:90px;width:90px;border:3px solid;border-color:transparent;border-color:rgba(255,255,255,0.2)}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p{z-index:5;color:#fff;color:rgba(255,255,255,0.8);font-size:17px;margin-top:10px}.navbar-nav>.user-menu>.dropdown-menu>li.user-header>p>small{display:block;font-size:12px}.navbar-nav>.user-menu>.dropdown-menu>.user-body{padding:15px;border-bottom:1px solid #f4f4f4;border-top:1px solid #dddddd}.navbar-nav>.user-menu>.dropdown-menu>.user-body:before,.navbar-nav>.user-menu>.dropdown-menu>.user-body:after{content:" ";display:table}.navbar-nav>.user-menu>.dropdown-menu>.user-body:after{clear:both}.navbar-nav>.user-menu>.dropdown-menu>.user-body a{color:#444 !important}@media (max-width:991px){.navbar-nav>.user-menu>.dropdown-menu>.user-body a{background:#fff !important;color:#444 !important}}.navbar-nav>.user-menu>.dropdown-menu>.user-footer{background-color:#f9f9f9;padding:10px}.navbar-nav>.user-menu>.dropdown-menu>.user-footer:before,.navbar-nav>.user-menu>.dropdown-menu>.user-footer:after{content:" ";display:table}.navbar-nav>.user-menu>.dropdown-menu>.user-footer:after{clear:both}.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default{color:#666666}@media (max-width:991px){.navbar-nav>.user-menu>.dropdown-menu>.user-footer .btn-default:hover{background-color:#f9f9f9}}.navbar-nav>.user-menu .user-image{float:left;width:25px;height:25px;border-radius:50%;margin-right:10px;margin-top:-2px}@media (max-width:767px){.navbar-nav>.user-menu .user-image{float:none;margin-right:0;margin-top:-8px;line-height:10px}}.open:not(.dropup)>.animated-dropdown-menu{backface-visibility:visible !important;-webkit-animation:flipInX .7s both;-o-animation:flipInX .7s both;animation:flipInX .7s both}@keyframes flipInX{0%{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);transition-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);transition-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{transform:perspective(400px)}}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);-webkit-transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);-webkit-transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}100%{-webkit-transform:perspective(400px)}}.navbar-custom-menu>.navbar-nav>li{position:relative}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:0;left:auto}@media (max-width:991px){.navbar-custom-menu>.navbar-nav{float:right}.navbar-custom-menu>.navbar-nav>li{position:static}.navbar-custom-menu>.navbar-nav>li>.dropdown-menu{position:absolute;right:5%;left:auto;border:1px solid #ddd;background:#fff}}.form-control{border-radius:0;box-shadow:none;border-color:#d2d6de}.form-control:focus{border-color:#3c8dbc;box-shadow:none}.form-control::-moz-placeholder,.form-control:-ms-input-placeholder,.form-control::-webkit-input-placeholder{color:#bbb;opacity:1}.form-control:not(select){-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group.has-success label{color:#00a65a}.form-group.has-success .form-control,.form-group.has-success .input-group-addon{border-color:#00a65a;box-shadow:none}.form-group.has-success .help-block{color:#00a65a}.form-group.has-warning label{color:#f39c12}.form-group.has-warning .form-control,.form-group.has-warning .input-group-addon{border-color:#f39c12;box-shadow:none}.form-group.has-warning .help-block{color:#f39c12}.form-group.has-error label{color:#dd4b39}.form-group.has-error .form-control,.form-group.has-error .input-group-addon{border-color:#dd4b39;box-shadow:none}.form-group.has-error .help-block{color:#dd4b39}.input-group .input-group-addon{border-radius:0;border-color:#d2d6de;background-color:#fff}.btn-group-vertical .btn.btn-flat:first-of-type,.btn-group-vertical .btn.btn-flat:last-of-type{border-radius:0}.icheck>label{padding-left:0}.form-control-feedback.fa{line-height:34px}.input-lg+.form-control-feedback.fa,.input-group-lg+.form-control-feedback.fa,.form-group-lg .form-control+.form-control-feedback.fa{line-height:46px}.input-sm+.form-control-feedback.fa,.input-group-sm+.form-control-feedback.fa,.form-group-sm .form-control+.form-control-feedback.fa{line-height:30px}.progress,.progress>.progress-bar{-webkit-box-shadow:none;box-shadow:none}.progress,.progress>.progress-bar,.progress .progress-bar,.progress>.progress-bar .progress-bar{border-radius:1px}.progress.sm,.progress-sm{height:10px}.progress.sm,.progress-sm,.progress.sm .progress-bar,.progress-sm .progress-bar{border-radius:1px}.progress.xs,.progress-xs{height:7px}.progress.xs,.progress-xs,.progress.xs .progress-bar,.progress-xs .progress-bar{border-radius:1px}.progress.xxs,.progress-xxs{height:3px}.progress.xxs,.progress-xxs,.progress.xxs .progress-bar,.progress-xxs .progress-bar{border-radius:1px}.progress.vertical{position:relative;width:30px;height:200px;display:inline-block;margin-right:10px}.progress.vertical>.progress-bar{width:100%;position:absolute;bottom:0}.progress.vertical.sm,.progress.vertical.progress-sm{width:20px}.progress.vertical.xs,.progress.vertical.progress-xs{width:10px}.progress.vertical.xxs,.progress.vertical.progress-xxs{width:3px}.progress-group .progress-text{font-weight:600}.progress-group .progress-number{float:right}.table tr>td .progress{margin:0}.progress-bar-light-blue,.progress-bar-primary{background-color:#3c8dbc}.progress-striped .progress-bar-light-blue,.progress-striped .progress-bar-primary{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-green,.progress-bar-success{background-color:#00a65a}.progress-striped .progress-bar-green,.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-aqua,.progress-bar-info{background-color:#00c0ef}.progress-striped .progress-bar-aqua,.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-yellow,.progress-bar-warning{background-color:#f39c12}.progress-striped .progress-bar-yellow,.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-red,.progress-bar-danger{background-color:#dd4b39}.progress-striped .progress-bar-red,.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)}.small-box{border-radius:2px;position:relative;display:block;margin-bottom:20px;box-shadow:0 1px 1px rgba(0,0,0,0.1)}.small-box>.inner{padding:10px}.small-box>.small-box-footer{position:relative;text-align:center;padding:3px 0;color:#fff;color:rgba(255,255,255,0.8);display:block;z-index:10;background:rgba(0,0,0,0.1);text-decoration:none}.small-box>.small-box-footer:hover{color:#fff;background:rgba(0,0,0,0.15)}.small-box h3{font-size:38px;font-weight:bold;margin:0 0 10px 0;white-space:nowrap;padding:0}.small-box p{font-size:15px}.small-box p>small{display:block;color:#f9f9f9;font-size:13px;margin-top:5px}.small-box h3,.small-box p{z-index:5}.small-box .icon{-webkit-transition:all .3s linear;-o-transition:all .3s linear;transition:all .3s linear;position:absolute;top:-10px;right:10px;z-index:0;font-size:90px;color:rgba(0,0,0,0.15)}.small-box:hover{text-decoration:none;color:#f9f9f9}.small-box:hover .icon{font-size:95px}@media (max-width:767px){.small-box{text-align:center}.small-box .icon{display:none}.small-box p{font-size:12px}}.box{position:relative;border-radius:3px;background:#ffffff;border-top:3px solid #d2d6de;margin-bottom:20px;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1)}.box.box-primary{border-top-color:#3c8dbc}.box.box-info{border-top-color:#00c0ef}.box.box-danger{border-top-color:#dd4b39}.box.box-warning{border-top-color:#f39c12}.box.box-success{border-top-color:#00a65a}.box.box-default{border-top-color:#d2d6de}.box.collapsed-box .box-body,.box.collapsed-box .box-footer{display:none}.box .nav-stacked>li{border-bottom:1px solid #f4f4f4;margin:0}.box .nav-stacked>li:last-of-type{border-bottom:none}.box.height-control .box-body{max-height:300px;overflow:auto}.box .border-right{border-right:1px solid #f4f4f4}.box .border-left{border-left:1px solid #f4f4f4}.box.box-solid{border-top:0}.box.box-solid>.box-header .btn.btn-default{background:transparent}.box.box-solid>.box-header .btn:hover,.box.box-solid>.box-header a:hover{background:rgba(0,0,0,0.1)}.box.box-solid.box-default{border:1px solid #d2d6de}.box.box-solid.box-default>.box-header{color:#444;background:#d2d6de;background-color:#d2d6de}.box.box-solid.box-default>.box-header a,.box.box-solid.box-default>.box-header .btn{color:#444}.box.box-solid.box-primary{border:1px solid #3c8dbc}.box.box-solid.box-primary>.box-header{color:#fff;background:#3c8dbc;background-color:#3c8dbc}.box.box-solid.box-primary>.box-header a,.box.box-solid.box-primary>.box-header .btn{color:#fff}.box.box-solid.box-info{border:1px solid #00c0ef}.box.box-solid.box-info>.box-header{color:#fff;background:#00c0ef;background-color:#00c0ef}.box.box-solid.box-info>.box-header a,.box.box-solid.box-info>.box-header .btn{color:#fff}.box.box-solid.box-danger{border:1px solid #dd4b39}.box.box-solid.box-danger>.box-header{color:#fff;background:#dd4b39;background-color:#dd4b39}.box.box-solid.box-danger>.box-header a,.box.box-solid.box-danger>.box-header .btn{color:#fff}.box.box-solid.box-warning{border:1px solid #f39c12}.box.box-solid.box-warning>.box-header{color:#fff;background:#f39c12;background-color:#f39c12}.box.box-solid.box-warning>.box-header a,.box.box-solid.box-warning>.box-header .btn{color:#fff}.box.box-solid.box-success{border:1px solid #00a65a}.box.box-solid.box-success>.box-header{color:#fff;background:#00a65a;background-color:#00a65a}.box.box-solid.box-success>.box-header a,.box.box-solid.box-success>.box-header .btn{color:#fff}.box.box-solid>.box-header>.box-tools .btn{border:0;box-shadow:none}.box.box-solid[class*='bg']>.box-header{color:#fff}.box .box-group>.box{margin-bottom:5px}.box .knob-label{text-align:center;color:#333;font-weight:100;font-size:12px;margin-bottom:0.3em}.box>.overlay,.overlay-wrapper>.overlay,.box>.loading-img,.overlay-wrapper>.loading-img{position:absolute;top:0;left:0;width:100%;height:100%}.box .overlay,.overlay-wrapper .overlay{z-index:50;background:rgba(255,255,255,0.7);border-radius:3px}.box .overlay>.fa,.overlay-wrapper .overlay>.fa{position:absolute;top:50%;left:50%;margin-left:-15px;margin-top:-15px;color:#000;font-size:30px}.box .overlay.dark,.overlay-wrapper .overlay.dark{background:rgba(0,0,0,0.5)}.box-header:before,.box-body:before,.box-footer:before,.box-header:after,.box-body:after,.box-footer:after{content:" ";display:table}.box-header:after,.box-body:after,.box-footer:after{clear:both}.box-header{color:#444;display:block;padding:10px;position:relative}.box-header.with-border{border-bottom:1px solid #f4f4f4}.collapsed-box .box-header.with-border{border-bottom:none}.box-header>.fa,.box-header>.glyphicon,.box-header>.ion,.box-header .box-title{display:inline-block;font-size:18px;margin:0;line-height:1}.box-header>.fa,.box-header>.glyphicon,.box-header>.ion{margin-right:5px}.box-header>.box-tools{position:absolute;right:10px;top:5px}.box-header>.box-tools [data-toggle="tooltip"]{position:relative}.box-header>.box-tools.pull-right .dropdown-menu{right:0;left:auto}.box-header>.box-tools .dropdown-menu>li>a{color:#444!important}.btn-box-tool{padding:5px;font-size:12px;background:transparent;color:#97a0b3}.open .btn-box-tool,.btn-box-tool:hover{color:#606c84}.btn-box-tool.btn:active{box-shadow:none}.box-body{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;padding:10px}.no-header .box-body{border-top-right-radius:3px;border-top-left-radius:3px}.box-body>.table{margin-bottom:0}.box-body .fc{margin-top:5px}.box-body .full-width-chart{margin:-19px}.box-body.no-padding .full-width-chart{margin:-9px}.box-body .box-pane{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:3px}.box-body .box-pane-right{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:0}.box-footer{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;border-top:1px solid #f4f4f4;padding:10px;background-color:#fff}.chart-legend{margin:10px 0}@media (max-width:991px){.chart-legend>li{float:left;margin-right:10px}}.box-comments{background:#f7f7f7}.box-comments .box-comment{padding:8px 0;border-bottom:1px solid #eee}.box-comments .box-comment:before,.box-comments .box-comment:after{content:" ";display:table}.box-comments .box-comment:after{clear:both}.box-comments .box-comment:last-of-type{border-bottom:0}.box-comments .box-comment:first-of-type{padding-top:0}.box-comments .box-comment img{float:left}.box-comments .comment-text{margin-left:40px;color:#555}.box-comments .username{color:#444;display:block;font-weight:600}.box-comments .text-muted{font-weight:400;font-size:12px}.todo-list{margin:0;padding:0;list-style:none;overflow:auto}.todo-list>li{border-radius:2px;padding:10px;background:#f4f4f4;margin-bottom:2px;border-left:2px solid #e6e7e8;color:#444}.todo-list>li:last-of-type{margin-bottom:0}.todo-list>li>input[type='checkbox']{margin:0 10px 0 5px}.todo-list>li .text{display:inline-block;margin-left:5px;font-weight:600}.todo-list>li .label{margin-left:10px;font-size:9px}.todo-list>li .tools{display:none;float:right;color:#dd4b39}.todo-list>li .tools>.fa,.todo-list>li .tools>.glyphicon,.todo-list>li .tools>.ion{margin-right:5px;cursor:pointer}.todo-list>li:hover .tools{display:inline-block}.todo-list>li.done{color:#999}.todo-list>li.done .text{text-decoration:line-through;font-weight:500}.todo-list>li.done .label{background:#d2d6de !important}.todo-list .danger{border-left-color:#dd4b39}.todo-list .warning{border-left-color:#f39c12}.todo-list .info{border-left-color:#00c0ef}.todo-list .success{border-left-color:#00a65a}.todo-list .primary{border-left-color:#3c8dbc}.todo-list .handle{display:inline-block;cursor:move;margin:0 5px}.chat{padding:5px 20px 5px 10px}.chat .item{margin-bottom:10px}.chat .item:before,.chat .item:after{content:" ";display:table}.chat .item:after{clear:both}.chat .item>img{width:40px;height:40px;border:2px solid transparent;border-radius:50%}.chat .item>.online{border:2px solid #00a65a}.chat .item>.offline{border:2px solid #dd4b39}.chat .item>.message{margin-left:55px;margin-top:-40px}.chat .item>.message>.name{display:block;font-weight:600}.chat .item>.attachment{border-radius:3px;background:#f4f4f4;margin-left:65px;margin-right:15px;padding:10px}.chat .item>.attachment>h4{margin:0 0 5px 0;font-weight:600;font-size:14px}.chat .item>.attachment>p,.chat .item>.attachment>.filename{font-weight:600;font-size:13px;font-style:italic;margin:0}.chat .item>.attachment:before,.chat .item>.attachment:after{content:" ";display:table}.chat .item>.attachment:after{clear:both}.box-input{max-width:200px}.modal .panel-body{color:#444}.info-box{display:block;min-height:90px;background:#fff;width:100%;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:2px;margin-bottom:15px}.info-box small{font-size:14px}.info-box .progress{background:rgba(0,0,0,0.2);margin:5px -10px 5px -10px;height:2px}.info-box .progress,.info-box .progress .progress-bar{border-radius:0}.info-box .progress .progress-bar{background:#fff}.info-box-icon{border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px;display:block;float:left;height:90px;width:90px;text-align:center;font-size:45px;line-height:90px;background:rgba(0,0,0,0.2)}.info-box-icon>img{max-width:100%}.info-box-content{padding:5px 10px;margin-left:90px}.info-box-number{display:block;font-weight:bold;font-size:18px}.progress-description,.info-box-text{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-box-text{text-transform:uppercase}.info-box-more{display:block}.progress-description{margin:0}.timeline{position:relative;margin:0 0 30px 0;padding:0;list-style:none}.timeline:before{content:'';position:absolute;top:0;bottom:0;width:4px;background:#ddd;left:31px;margin:0;border-radius:2px}.timeline>li{position:relative;margin-right:10px;margin-bottom:15px}.timeline>li:before,.timeline>li:after{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li>.timeline-item{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;margin-top:0;background:#fff;color:#444;margin-left:60px;margin-right:15px;padding:0;position:relative}.timeline>li>.timeline-item>.time{color:#999;float:right;padding:10px;font-size:12px}.timeline>li>.timeline-item>.timeline-header{margin:0;color:#555;border-bottom:1px solid #f4f4f4;padding:10px;font-size:16px;line-height:1.1}.timeline>li>.timeline-item>.timeline-header>a{font-weight:600}.timeline>li>.timeline-item>.timeline-body,.timeline>li>.timeline-item>.timeline-footer{padding:10px}.timeline>li>.fa,.timeline>li>.glyphicon,.timeline>li>.ion{width:30px;height:30px;font-size:15px;line-height:30px;position:absolute;color:#666;background:#d2d6de;border-radius:50%;text-align:center;left:18px;top:0}.timeline>.time-label>span{font-weight:600;padding:5px;display:inline-block;background-color:#fff;border-radius:4px}.timeline-inverse>li>.timeline-item{background:#f0f0f0;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none}.timeline-inverse>li>.timeline-item>.timeline-header{border-bottom-color:#ddd}.btn{border-radius:3px;-webkit-box-shadow:none;box-shadow:none;border:1px solid transparent}.btn.uppercase{text-transform:uppercase}.btn.btn-flat{border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-width:1px}.btn:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);-moz-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:focus{outline:none}.btn.btn-file{position:relative;overflow:hidden}.btn.btn-file>input[type='file']{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;opacity:0;filter:alpha(opacity=0);outline:none;background:white;cursor:inherit;display:block}.btn-default{background-color:#f4f4f4;color:#444;border-color:#ddd}.btn-default:hover,.btn-default:active,.btn-default.hover{background-color:#e7e7e7}.btn-primary{background-color:#3c8dbc;border-color:#367fa9}.btn-primary:hover,.btn-primary:active,.btn-primary.hover{background-color:#367fa9}.btn-success{background-color:#00a65a;border-color:#008d4c}.btn-success:hover,.btn-success:active,.btn-success.hover{background-color:#008d4c}.btn-info{background-color:#00c0ef;border-color:#00acd6}.btn-info:hover,.btn-info:active,.btn-info.hover{background-color:#00acd6}.btn-danger{background-color:#dd4b39;border-color:#d73925}.btn-danger:hover,.btn-danger:active,.btn-danger.hover{background-color:#d73925}.btn-warning{background-color:#f39c12;border-color:#e08e0b}.btn-warning:hover,.btn-warning:active,.btn-warning.hover{background-color:#e08e0b}.btn-outline{border:1px solid #fff;background:transparent;color:#fff}.btn-outline:hover,.btn-outline:focus,.btn-outline:active{color:rgba(255,255,255,0.7);border-color:rgba(255,255,255,0.7)}.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn[class*='bg-']:hover{-webkit-box-shadow:inset 0 0 100px rgba(0,0,0,0.2);box-shadow:inset 0 0 100px rgba(0,0,0,0.2)}.btn-app{border-radius:3px;position:relative;padding:15px 5px;margin:0 0 10px 10px;min-width:80px;height:60px;text-align:center;color:#666;border:1px solid #ddd;background-color:#f4f4f4;font-size:12px}.btn-app>.fa,.btn-app>.glyphicon,.btn-app>.ion{font-size:20px;display:block}.btn-app:hover{background:#f4f4f4;color:#444;border-color:#aaa}.btn-app:active,.btn-app:focus{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);-moz-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-app>.badge{position:absolute;top:-3px;right:-10px;font-size:10px;font-weight:400}.callout{border-radius:3px;margin:0 0 20px 0;padding:15px 30px 15px 15px;border-left:5px solid #eee}.callout a{color:#fff;text-decoration:underline}.callout a:hover{color:#eee}.callout h4{margin-top:0;font-weight:600}.callout p:last-child{margin-bottom:0}.callout code,.callout .highlight{background-color:#fff}.callout.callout-danger{border-color:#c23321}.callout.callout-warning{border-color:#c87f0a}.callout.callout-info{border-color:#0097bc}.callout.callout-success{border-color:#00733e}.alert{border-radius:3px}.alert h4{font-weight:600}.alert .icon{margin-right:10px}.alert .close{color:#000;opacity:.2;filter:alpha(opacity=20)}.alert .close:hover{opacity:.5;filter:alpha(opacity=50)}.alert a{color:#fff;text-decoration:underline}.alert-success{border-color:#008d4c}.alert-danger,.alert-error{border-color:#d73925}.alert-warning{border-color:#e08e0b}.alert-info{border-color:#00acd6}.nav>li>a:hover,.nav>li>a:active,.nav>li>a:focus{color:#444;background:#f7f7f7}.nav-pills>li>a{border-radius:0;border-top:3px solid transparent;color:#444}.nav-pills>li>a>.fa,.nav-pills>li>a>.glyphicon,.nav-pills>li>a>.ion{margin-right:5px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{border-top-color:#3c8dbc}.nav-pills>li.active>a{font-weight:600}.nav-stacked>li>a{border-radius:0;border-top:0;border-left:3px solid transparent;color:#444}.nav-stacked>li.active>a,.nav-stacked>li.active>a:hover{background:transparent;color:#444;border-top:0;border-left-color:#3c8dbc}.nav-stacked>li.header{border-bottom:1px solid #ddd;color:#777;margin-bottom:10px;padding:5px 10px;text-transform:uppercase}.nav-tabs-custom{margin-bottom:20px;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px}.nav-tabs-custom>.nav-tabs{margin:0;border-bottom-color:#f4f4f4;border-top-right-radius:3px;border-top-left-radius:3px}.nav-tabs-custom>.nav-tabs>li{border-top:3px solid transparent;margin-bottom:-2px;margin-right:5px}.nav-tabs-custom>.nav-tabs>li.disabled>a{color:#777}.nav-tabs-custom>.nav-tabs>li>a{color:#444;border-radius:0}.nav-tabs-custom>.nav-tabs>li>a.text-muted{color:#999}.nav-tabs-custom>.nav-tabs>li>a,.nav-tabs-custom>.nav-tabs>li>a:hover{background:transparent;margin:0}.nav-tabs-custom>.nav-tabs>li>a:hover{color:#999}.nav-tabs-custom>.nav-tabs>li:not(.active)>a:hover,.nav-tabs-custom>.nav-tabs>li:not(.active)>a:focus,.nav-tabs-custom>.nav-tabs>li:not(.active)>a:active{border-color:transparent}.nav-tabs-custom>.nav-tabs>li.active{border-top-color:#3c8dbc}.nav-tabs-custom>.nav-tabs>li.active>a,.nav-tabs-custom>.nav-tabs>li.active:hover>a{background-color:#fff;color:#444}.nav-tabs-custom>.nav-tabs>li.active>a{border-top-color:transparent;border-left-color:#f4f4f4;border-right-color:#f4f4f4}.nav-tabs-custom>.nav-tabs>li:first-of-type{margin-left:0}.nav-tabs-custom>.nav-tabs>li:first-of-type.active>a{border-left-color:transparent}.nav-tabs-custom>.nav-tabs.pull-right{float:none !important}.nav-tabs-custom>.nav-tabs.pull-right>li{float:right}.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type{margin-right:0}.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type>a{border-left-width:1px}.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type.active>a{border-left-color:#f4f4f4;border-right-color:transparent}.nav-tabs-custom>.nav-tabs>li.header{line-height:35px;padding:0 10px;font-size:20px;color:#444}.nav-tabs-custom>.nav-tabs>li.header>.fa,.nav-tabs-custom>.nav-tabs>li.header>.glyphicon,.nav-tabs-custom>.nav-tabs>li.header>.ion{margin-right:5px}.nav-tabs-custom>.tab-content{background:#fff;padding:10px;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.nav-tabs-custom .dropdown.open>a:active,.nav-tabs-custom .dropdown.open>a:focus{background:transparent;color:#999}.nav-tabs-custom.tab-primary>.nav-tabs>li.active{border-top-color:#3c8dbc}.nav-tabs-custom.tab-info>.nav-tabs>li.active{border-top-color:#00c0ef}.nav-tabs-custom.tab-danger>.nav-tabs>li.active{border-top-color:#dd4b39}.nav-tabs-custom.tab-warning>.nav-tabs>li.active{border-top-color:#f39c12}.nav-tabs-custom.tab-success>.nav-tabs>li.active{border-top-color:#00a65a}.nav-tabs-custom.tab-default>.nav-tabs>li.active{border-top-color:#d2d6de}.pagination>li>a{background:#fafafa;color:#666}.pagination.pagination-flat>li>a{border-radius:0 !important}.products-list{list-style:none;margin:0;padding:0}.products-list>.item{border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.1);box-shadow:0 1px 1px rgba(0,0,0,0.1);padding:10px 0;background:#fff}.products-list>.item:before,.products-list>.item:after{content:" ";display:table}.products-list>.item:after{clear:both}.products-list .product-img{float:left}.products-list .product-img img{width:50px;height:50px}.products-list .product-info{margin-left:60px}.products-list .product-title{font-weight:600}.products-list .product-description{display:block;color:#999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.product-list-in-box>.item{-webkit-box-shadow:none;box-shadow:none;border-radius:0;border-bottom:1px solid #f4f4f4}.product-list-in-box>.item:last-of-type{border-bottom-width:0}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{border-top:1px solid #f4f4f4}.table>thead>tr>th{border-bottom:2px solid #f4f4f4}.table tr td .progress{margin-top:5px}.table-bordered{border:1px solid #f4f4f4}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #f4f4f4}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table.no-border,.table.no-border td,.table.no-border th{border:0}table.text-center,table.text-center td,table.text-center th{text-align:center}.table.align th{text-align:left}.table.align td{text-align:right}.label-default{background-color:#d2d6de;color:#444}.direct-chat .box-body{border-bottom-right-radius:0;border-bottom-left-radius:0;position:relative;overflow-x:hidden;padding:0}.direct-chat.chat-pane-open .direct-chat-contacts{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.direct-chat-messages{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0);padding:10px;height:250px;overflow:auto}.direct-chat-msg,.direct-chat-text{display:block}.direct-chat-msg{margin-bottom:10px}.direct-chat-msg:before,.direct-chat-msg:after{content:" ";display:table}.direct-chat-msg:after{clear:both}.direct-chat-messages,.direct-chat-contacts{-webkit-transition:-webkit-transform .5s ease-in-out;-moz-transition:-moz-transform .5s ease-in-out;-o-transition:-o-transform .5s ease-in-out;transition:transform .5s ease-in-out}.direct-chat-text{border-radius:5px;position:relative;padding:5px 10px;background:#d2d6de;border:1px solid #d2d6de;margin:5px 0 0 50px;color:#444}.direct-chat-text:after,.direct-chat-text:before{position:absolute;right:100%;top:15px;border:solid transparent;border-right-color:#d2d6de;content:' ';height:0;width:0;pointer-events:none}.direct-chat-text:after{border-width:5px;margin-top:-5px}.direct-chat-text:before{border-width:6px;margin-top:-6px}.right .direct-chat-text{margin-right:50px;margin-left:0}.right .direct-chat-text:after,.right .direct-chat-text:before{right:auto;left:100%;border-right-color:transparent;border-left-color:#d2d6de}.direct-chat-img{border-radius:50%;float:left;width:40px;height:40px}.right .direct-chat-img{float:right}.direct-chat-info{display:block;margin-bottom:2px;font-size:12px}.direct-chat-name{font-weight:600}.direct-chat-timestamp{color:#999}.direct-chat-contacts-open .direct-chat-contacts{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.direct-chat-contacts{-webkit-transform:translate(101%, 0);-ms-transform:translate(101%, 0);-o-transform:translate(101%, 0);transform:translate(101%, 0);position:absolute;top:0;bottom:0;height:250px;width:100%;background:#222d32;color:#fff;overflow:auto}.contacts-list>li{border-bottom:1px solid rgba(0,0,0,0.2);padding:10px;margin:0}.contacts-list>li:before,.contacts-list>li:after{content:" ";display:table}.contacts-list>li:after{clear:both}.contacts-list>li:last-of-type{border-bottom:none}.contacts-list-img{border-radius:50%;width:40px;float:left}.contacts-list-info{margin-left:45px;color:#fff}.contacts-list-name,.contacts-list-status{display:block}.contacts-list-name{font-weight:600}.contacts-list-status{font-size:12px}.contacts-list-date{color:#aaa;font-weight:normal}.contacts-list-msg{color:#999}.direct-chat-danger .right>.direct-chat-text{background:#dd4b39;border-color:#dd4b39;color:#fff}.direct-chat-danger .right>.direct-chat-text:after,.direct-chat-danger .right>.direct-chat-text:before{border-left-color:#dd4b39}.direct-chat-primary .right>.direct-chat-text{background:#3c8dbc;border-color:#3c8dbc;color:#fff}.direct-chat-primary .right>.direct-chat-text:after,.direct-chat-primary .right>.direct-chat-text:before{border-left-color:#3c8dbc}.direct-chat-warning .right>.direct-chat-text{background:#f39c12;border-color:#f39c12;color:#fff}.direct-chat-warning .right>.direct-chat-text:after,.direct-chat-warning .right>.direct-chat-text:before{border-left-color:#f39c12}.direct-chat-info .right>.direct-chat-text{background:#00c0ef;border-color:#00c0ef;color:#fff}.direct-chat-info .right>.direct-chat-text:after,.direct-chat-info .right>.direct-chat-text:before{border-left-color:#00c0ef}.direct-chat-success .right>.direct-chat-text{background:#00a65a;border-color:#00a65a;color:#fff}.direct-chat-success .right>.direct-chat-text:after,.direct-chat-success .right>.direct-chat-text:before{border-left-color:#00a65a}.users-list>li{width:25%;float:left;padding:10px;text-align:center}.users-list>li img{border-radius:50%;max-width:100%;height:auto}.users-list>li>a:hover,.users-list>li>a:hover .users-list-name{color:#999}.users-list-name,.users-list-date{display:block}.users-list-name{font-weight:600;color:#444;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.users-list-date{color:#999;font-size:12px}.carousel-control.left,.carousel-control.right{background-image:none}.carousel-control>.fa{font-size:40px;position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-20px}.modal{background:rgba(0,0,0,0.3)}.modal-content{border-radius:0;-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.125);box-shadow:0 2px 3px rgba(0,0,0,0.125);border:0}@media (min-width:768px){.modal-content{-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.125);box-shadow:0 2px 3px rgba(0,0,0,0.125)}}.modal-header{border-bottom-color:#f4f4f4}.modal-footer{border-top-color:#f4f4f4}.modal-primary .modal-header,.modal-primary .modal-footer{border-color:#307095}.modal-warning .modal-header,.modal-warning .modal-footer{border-color:#c87f0a}.modal-info .modal-header,.modal-info .modal-footer{border-color:#0097bc}.modal-success .modal-header,.modal-success .modal-footer{border-color:#00733e}.modal-danger .modal-header,.modal-danger .modal-footer{border-color:#c23321}.box-widget{border:none;position:relative}.widget-user .widget-user-header{padding:20px;height:120px;border-top-right-radius:3px;border-top-left-radius:3px}.widget-user .widget-user-username{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,0.2)}.widget-user .widget-user-desc{margin-top:0}.widget-user .widget-user-image{position:absolute;top:65px;left:50%;margin-left:-45px}.widget-user .widget-user-image>img{width:90px;height:auto;border:3px solid #fff}.widget-user .box-footer{padding-top:30px}.widget-user-2 .widget-user-header{padding:20px;border-top-right-radius:3px;border-top-left-radius:3px}.widget-user-2 .widget-user-username{margin-top:5px;margin-bottom:5px;font-size:25px;font-weight:300}.widget-user-2 .widget-user-desc{margin-top:0}.widget-user-2 .widget-user-username,.widget-user-2 .widget-user-desc{margin-left:75px}.widget-user-2 .widget-user-image>img{width:65px;height:auto;float:left}.treeview-menu{display:none;list-style:none;padding:0;margin:0;padding-left:5px}.treeview-menu .treeview-menu{padding-left:20px}.treeview-menu>li{margin:0}.treeview-menu>li>a{padding:5px 5px 5px 15px;display:block;font-size:14px}.treeview-menu>li>a>.fa,.treeview-menu>li>a>.glyphicon,.treeview-menu>li>a>.ion{width:20px}.treeview-menu>li>a>.pull-right-container>.fa-angle-left,.treeview-menu>li>a>.pull-right-container>.fa-angle-down,.treeview-menu>li>a>.fa-angle-left,.treeview-menu>li>a>.fa-angle-down{width:auto}.treeview>ul.treeview-menu{overflow:hidden;height:auto;padding-top:0px !important;padding-bottom:0px !important}.treeview.menu-open>ul.treeview-menu{overflow:visible;height:auto}.mailbox-messages>.table{margin:0}.mailbox-controls{padding:5px}.mailbox-controls.with-border{border-bottom:1px solid #f4f4f4}.mailbox-read-info{border-bottom:1px solid #f4f4f4;padding:10px}.mailbox-read-info h3{font-size:20px;margin:0}.mailbox-read-info h5{margin:0;padding:5px 0 0 0}.mailbox-read-time{color:#999;font-size:13px}.mailbox-read-message{padding:10px}.mailbox-attachments li{float:left;width:200px;border:1px solid #eee;margin-bottom:10px;margin-right:10px}.mailbox-attachment-name{font-weight:bold;color:#666}.mailbox-attachment-icon,.mailbox-attachment-info,.mailbox-attachment-size{display:block}.mailbox-attachment-info{padding:10px;background:#f4f4f4}.mailbox-attachment-size{color:#999;font-size:12px}.mailbox-attachment-icon{text-align:center;font-size:65px;color:#666;padding:20px 10px}.mailbox-attachment-icon.has-img{padding:0}.mailbox-attachment-icon.has-img>img{max-width:100%;height:auto}.lockscreen{background:#d2d6de}.lockscreen-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300}.lockscreen-logo a{color:#444}.lockscreen-wrapper{max-width:400px;margin:0 auto;margin-top:10%}.lockscreen .lockscreen-name{text-align:center;font-weight:600}.lockscreen-item{border-radius:4px;padding:0;background:#fff;position:relative;margin:10px auto 30px auto;width:290px}.lockscreen-image{border-radius:50%;position:absolute;left:-10px;top:-25px;background:#fff;padding:5px;z-index:10}.lockscreen-image>img{border-radius:50%;width:70px;height:70px}.lockscreen-credentials{margin-left:70px}.lockscreen-credentials .form-control{border:0}.lockscreen-credentials .btn{background-color:#fff;border:0;padding:0 10px}.lockscreen-footer{margin-top:10px}.login-logo,.register-logo{font-size:35px;text-align:center;margin-bottom:25px;font-weight:300}.login-logo a,.register-logo a{color:#444}.login-page,.register-page{height:auto;background:#d2d6de}.login-box,.register-box{width:360px;margin:7% auto}@media (max-width:768px){.login-box,.register-box{width:90%;margin-top:20px}}.login-box-body,.register-box-body{background:#fff;padding:20px;border-top:0;color:#666}.login-box-body .form-control-feedback,.register-box-body .form-control-feedback{color:#777}.login-box-msg,.register-box-msg{margin:0;text-align:center;padding:0 20px 20px 20px}.social-auth-links{margin:10px 0}.error-page{width:600px;margin:20px auto 0 auto}@media (max-width:991px){.error-page{width:100%}}.error-page>.headline{float:left;font-size:100px;font-weight:300}@media (max-width:991px){.error-page>.headline{float:none;text-align:center}}.error-page>.error-content{margin-left:190px;display:block}@media (max-width:991px){.error-page>.error-content{margin-left:0}}.error-page>.error-content>h3{font-weight:300;font-size:25px}@media (max-width:991px){.error-page>.error-content>h3{text-align:center}}.invoice{position:relative;background:#fff;border:1px solid #f4f4f4;padding:20px;margin:10px 25px}.invoice-title{margin-top:0}.profile-user-img{margin:0 auto;width:100px;padding:3px;border:3px solid #d2d6de}.profile-username{font-size:21px;margin-top:5px}.post{border-bottom:1px solid #d2d6de;margin-bottom:15px;padding-bottom:15px;color:#666}.post:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}.post .user-block{margin-bottom:15px}.btn-social{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-social>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)}.btn-social.btn-lg{padding-left:61px}.btn-social.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em}.btn-social.btn-sm{padding-left:38px}.btn-social.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em}.btn-social.btn-xs{padding-left:30px}.btn-social.btn-xs>:first-child{line-height:20px;width:20px;font-size:1.2em}.btn-social-icon{position:relative;padding-left:44px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:34px;width:34px;padding:0}.btn-social-icon>:first-child{position:absolute;left:0;top:0;bottom:0;width:32px;line-height:34px;font-size:1.6em;text-align:center;border-right:1px solid rgba(0,0,0,0.2)}.btn-social-icon.btn-lg{padding-left:61px}.btn-social-icon.btn-lg>:first-child{line-height:45px;width:45px;font-size:1.8em}.btn-social-icon.btn-sm{padding-left:38px}.btn-social-icon.btn-sm>:first-child{line-height:28px;width:28px;font-size:1.4em}.btn-social-icon.btn-xs{padding-left:30px}.btn-social-icon.btn-xs>:first-child{line-height:20px;width:20px;font-size:1.2em}.btn-social-icon>:first-child{border:none;text-align:center;width:100%}.btn-social-icon.btn-lg{height:45px;width:45px;padding-left:0;padding-right:0}.btn-social-icon.btn-sm{height:30px;width:30px;padding-left:0;padding-right:0}.btn-social-icon.btn-xs{height:22px;width:22px;padding-left:0;padding-right:0}.btn-adn{color:#fff;background-color:#d87a68;border-color:rgba(0,0,0,0.2)}.btn-adn:focus,.btn-adn.focus{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)}.btn-adn:hover{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)}.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{color:#fff;background-color:#ce563f;border-color:rgba(0,0,0,0.2)}.btn-adn:active,.btn-adn.active,.open>.dropdown-toggle.btn-adn{background-image:none}.btn-adn .badge{color:#d87a68;background-color:#fff}.btn-bitbucket{color:#fff;background-color:#205081;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:focus,.btn-bitbucket.focus{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:hover{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{color:#fff;background-color:#163758;border-color:rgba(0,0,0,0.2)}.btn-bitbucket:active,.btn-bitbucket.active,.open>.dropdown-toggle.btn-bitbucket{background-image:none}.btn-bitbucket .badge{color:#205081;background-color:#fff}.btn-dropbox{color:#fff;background-color:#1087dd;border-color:rgba(0,0,0,0.2)}.btn-dropbox:focus,.btn-dropbox.focus{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)}.btn-dropbox:hover{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)}.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{color:#fff;background-color:#0d6aad;border-color:rgba(0,0,0,0.2)}.btn-dropbox:active,.btn-dropbox.active,.open>.dropdown-toggle.btn-dropbox{background-image:none}.btn-dropbox .badge{color:#1087dd;background-color:#fff}.btn-facebook{color:#fff;background-color:#3b5998;border-color:rgba(0,0,0,0.2)}.btn-facebook:focus,.btn-facebook.focus{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)}.btn-facebook:hover{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)}.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{color:#fff;background-color:#2d4373;border-color:rgba(0,0,0,0.2)}.btn-facebook:active,.btn-facebook.active,.open>.dropdown-toggle.btn-facebook{background-image:none}.btn-facebook .badge{color:#3b5998;background-color:#fff}.btn-flickr{color:#fff;background-color:#ff0084;border-color:rgba(0,0,0,0.2)}.btn-flickr:focus,.btn-flickr.focus{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)}.btn-flickr:hover{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)}.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{color:#fff;background-color:#cc006a;border-color:rgba(0,0,0,0.2)}.btn-flickr:active,.btn-flickr.active,.open>.dropdown-toggle.btn-flickr{background-image:none}.btn-flickr .badge{color:#ff0084;background-color:#fff}.btn-foursquare{color:#fff;background-color:#f94877;border-color:rgba(0,0,0,0.2)}.btn-foursquare:focus,.btn-foursquare.focus{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)}.btn-foursquare:hover{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)}.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{color:#fff;background-color:#f71752;border-color:rgba(0,0,0,0.2)}.btn-foursquare:active,.btn-foursquare.active,.open>.dropdown-toggle.btn-foursquare{background-image:none}.btn-foursquare .badge{color:#f94877;background-color:#fff}.btn-github{color:#fff;background-color:#444;border-color:rgba(0,0,0,0.2)}.btn-github:focus,.btn-github.focus{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)}.btn-github:hover{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)}.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{color:#fff;background-color:#2b2b2b;border-color:rgba(0,0,0,0.2)}.btn-github:active,.btn-github.active,.open>.dropdown-toggle.btn-github{background-image:none}.btn-github .badge{color:#444;background-color:#fff}.btn-google{color:#fff;background-color:#dd4b39;border-color:rgba(0,0,0,0.2)}.btn-google:focus,.btn-google.focus{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)}.btn-google:hover{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)}.btn-google:active,.btn-google.active,.open>.dropdown-toggle.btn-google{color:#fff;background-color:#c23321;border-color:rgba(0,0,0,0.2)}.btn-google:active,.btn-google.active,.open>.dropdown-toggle.btn-google{background-image:none}.btn-google .badge{color:#dd4b39;background-color:#fff}.btn-instagram{color:#fff;background-color:#3f729b;border-color:rgba(0,0,0,0.2)}.btn-instagram:focus,.btn-instagram.focus{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)}.btn-instagram:hover{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)}.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{color:#fff;background-color:#305777;border-color:rgba(0,0,0,0.2)}.btn-instagram:active,.btn-instagram.active,.open>.dropdown-toggle.btn-instagram{background-image:none}.btn-instagram .badge{color:#3f729b;background-color:#fff}.btn-linkedin{color:#fff;background-color:#007bb6;border-color:rgba(0,0,0,0.2)}.btn-linkedin:focus,.btn-linkedin.focus{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)}.btn-linkedin:hover{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)}.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{color:#fff;background-color:#005983;border-color:rgba(0,0,0,0.2)}.btn-linkedin:active,.btn-linkedin.active,.open>.dropdown-toggle.btn-linkedin{background-image:none}.btn-linkedin .badge{color:#007bb6;background-color:#fff}.btn-microsoft{color:#fff;background-color:#2672ec;border-color:rgba(0,0,0,0.2)}.btn-microsoft:focus,.btn-microsoft.focus{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)}.btn-microsoft:hover{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)}.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{color:#fff;background-color:#125acd;border-color:rgba(0,0,0,0.2)}.btn-microsoft:active,.btn-microsoft.active,.open>.dropdown-toggle.btn-microsoft{background-image:none}.btn-microsoft .badge{color:#2672ec;background-color:#fff}.btn-openid{color:#fff;background-color:#f7931e;border-color:rgba(0,0,0,0.2)}.btn-openid:focus,.btn-openid.focus{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)}.btn-openid:hover{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)}.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{color:#fff;background-color:#da7908;border-color:rgba(0,0,0,0.2)}.btn-openid:active,.btn-openid.active,.open>.dropdown-toggle.btn-openid{background-image:none}.btn-openid .badge{color:#f7931e;background-color:#fff}.btn-pinterest{color:#fff;background-color:#cb2027;border-color:rgba(0,0,0,0.2)}.btn-pinterest:focus,.btn-pinterest.focus{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)}.btn-pinterest:hover{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)}.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{color:#fff;background-color:#9f191f;border-color:rgba(0,0,0,0.2)}.btn-pinterest:active,.btn-pinterest.active,.open>.dropdown-toggle.btn-pinterest{background-image:none}.btn-pinterest .badge{color:#cb2027;background-color:#fff}.btn-reddit{color:#000;background-color:#eff7ff;border-color:rgba(0,0,0,0.2)}.btn-reddit:focus,.btn-reddit.focus{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)}.btn-reddit:hover{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)}.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{color:#000;background-color:#bcddff;border-color:rgba(0,0,0,0.2)}.btn-reddit:active,.btn-reddit.active,.open>.dropdown-toggle.btn-reddit{background-image:none}.btn-reddit .badge{color:#eff7ff;background-color:#000}.btn-soundcloud{color:#fff;background-color:#f50;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:focus,.btn-soundcloud.focus{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:hover{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{color:#fff;background-color:#c40;border-color:rgba(0,0,0,0.2)}.btn-soundcloud:active,.btn-soundcloud.active,.open>.dropdown-toggle.btn-soundcloud{background-image:none}.btn-soundcloud .badge{color:#f50;background-color:#fff}.btn-tumblr{color:#fff;background-color:#2c4762;border-color:rgba(0,0,0,0.2)}.btn-tumblr:focus,.btn-tumblr.focus{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)}.btn-tumblr:hover{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)}.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{color:#fff;background-color:#1c2d3f;border-color:rgba(0,0,0,0.2)}.btn-tumblr:active,.btn-tumblr.active,.open>.dropdown-toggle.btn-tumblr{background-image:none}.btn-tumblr .badge{color:#2c4762;background-color:#fff}.btn-twitter{color:#fff;background-color:#55acee;border-color:rgba(0,0,0,0.2)}.btn-twitter:focus,.btn-twitter.focus{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)}.btn-twitter:hover{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)}.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{color:#fff;background-color:#2795e9;border-color:rgba(0,0,0,0.2)}.btn-twitter:active,.btn-twitter.active,.open>.dropdown-toggle.btn-twitter{background-image:none}.btn-twitter .badge{color:#55acee;background-color:#fff}.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:rgba(0,0,0,0.2)}.btn-vimeo:focus,.btn-vimeo.focus{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)}.btn-vimeo:hover{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)}.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{color:#fff;background-color:#1295bf;border-color:rgba(0,0,0,0.2)}.btn-vimeo:active,.btn-vimeo.active,.open>.dropdown-toggle.btn-vimeo{background-image:none}.btn-vimeo .badge{color:#1ab7ea;background-color:#fff}.btn-vk{color:#fff;background-color:#587ea3;border-color:rgba(0,0,0,0.2)}.btn-vk:focus,.btn-vk.focus{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)}.btn-vk:hover{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)}.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{color:#fff;background-color:#466482;border-color:rgba(0,0,0,0.2)}.btn-vk:active,.btn-vk.active,.open>.dropdown-toggle.btn-vk{background-image:none}.btn-vk .badge{color:#587ea3;background-color:#fff}.btn-yahoo{color:#fff;background-color:#720e9e;border-color:rgba(0,0,0,0.2)}.btn-yahoo:focus,.btn-yahoo.focus{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)}.btn-yahoo:hover{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)}.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{color:#fff;background-color:#500a6f;border-color:rgba(0,0,0,0.2)}.btn-yahoo:active,.btn-yahoo.active,.open>.dropdown-toggle.btn-yahoo{background-image:none}.btn-yahoo .badge{color:#720e9e;background-color:#fff}.fc-button{background:#f4f4f4;background-image:none;color:#444;border-color:#ddd;border-bottom-color:#ddd}.fc-button:hover,.fc-button:active,.fc-button.hover{background-color:#e9e9e9}.fc-header-title h2{font-size:15px;line-height:1.6em;color:#666;margin-left:10px}.fc-header-right{padding-right:10px}.fc-header-left{padding-left:10px}.fc-widget-header{background:#fafafa}.fc-grid{width:100%;border:0}.fc-widget-header:first-of-type,.fc-widget-content:first-of-type{border-left:0;border-right:0}.fc-widget-header:last-of-type,.fc-widget-content:last-of-type{border-right:0}.fc-toolbar{padding:10px;margin:0}.fc-day-number{font-size:20px;font-weight:300;padding-right:10px}.fc-color-picker{list-style:none;margin:0;padding:0}.fc-color-picker>li{float:left;font-size:30px;margin-right:5px;line-height:30px}.fc-color-picker>li .fa{-webkit-transition:-webkit-transform linear .3s;-moz-transition:-moz-transform linear .3s;-o-transition:-o-transform linear .3s;transition:transform linear .3s}.fc-color-picker>li .fa:hover{-webkit-transform:rotate(30deg);-ms-transform:rotate(30deg);-o-transform:rotate(30deg);transform:rotate(30deg)}#add-new-event{-webkit-transition:all linear .3s;-o-transition:all linear .3s;transition:all linear .3s}.external-event{padding:5px 10px;font-weight:bold;margin-bottom:4px;box-shadow:0 1px 1px rgba(0,0,0,0.1);text-shadow:0 1px 1px rgba(0,0,0,0.1);border-radius:3px;cursor:move}.external-event:hover{box-shadow:inset 0 0 90px rgba(0,0,0,0.2)}.select2-container--default.select2-container--focus,.select2-selection.select2-container--focus,.select2-container--default:focus,.select2-selection:focus,.select2-container--default:active,.select2-selection:active{outline:none}.select2-container--default .select2-selection--single,.select2-selection .select2-selection--single{border:1px solid #d2d6de;border-radius:0;padding:6px 12px;height:34px}.select2-container--default.select2-container--open{border-color:#3c8dbc}.select2-dropdown{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#3c8dbc;color:white}.select2-results__option{padding:6px 12px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0;height:auto;margin-top:-4px}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:6px;padding-left:20px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:28px;right:3px}.select2-container--default .select2-selection--single .select2-selection__arrow b{margin-top:0}.select2-dropdown .select2-search__field,.select2-search--inline .select2-search__field{border:1px solid #d2d6de}.select2-dropdown .select2-search__field:focus,.select2-search--inline .select2-search__field:focus{outline:none}.select2-container--default.select2-container--focus .select2-selection--multiple,.select2-container--default .select2-search--dropdown .select2-search__field{border-color:#3c8dbc !important}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[aria-selected=true]:hover{color:#444}.select2-container--default .select2-selection--multiple{border:1px solid #d2d6de;border-radius:0}.select2-container--default .select2-selection--multiple:focus{border-color:#3c8dbc}.select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#d2d6de}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#3c8dbc;border-color:#367fa9;padding:1px 10px;color:#fff}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{margin-right:5px;color:rgba(255,255,255,0.7)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-selection--single .select2-selection__rendered{padding-right:10px}.box .datepicker-inline,.box .datepicker-inline .datepicker-days,.box .datepicker-inline>table,.box .datepicker-inline .datepicker-days>table{width:100%}.box .datepicker-inline td:hover,.box .datepicker-inline .datepicker-days td:hover,.box .datepicker-inline>table td:hover,.box .datepicker-inline .datepicker-days>table td:hover{background-color:rgba(255,255,255,0.3)}.box .datepicker-inline td.day.old,.box .datepicker-inline .datepicker-days td.day.old,.box .datepicker-inline>table td.day.old,.box .datepicker-inline .datepicker-days>table td.day.old,.box .datepicker-inline td.day.new,.box .datepicker-inline .datepicker-days td.day.new,.box .datepicker-inline>table td.day.new,.box .datepicker-inline .datepicker-days>table td.day.new{color:#777}.pad{padding:10px}.margin{margin:10px}.margin-bottom{margin-bottom:20px}.margin-bottom-none{margin-bottom:0}.margin-r-5{margin-right:5px}.inline{display:inline}.description-block{display:block;margin:10px 0;text-align:center}.description-block.margin-bottom{margin-bottom:25px}.description-block>.description-header{margin:0;padding:0;font-weight:600;font-size:16px}.description-block>.description-text{text-transform:uppercase}.bg-red,.bg-yellow,.bg-aqua,.bg-blue,.bg-light-blue,.bg-green,.bg-navy,.bg-teal,.bg-olive,.bg-lime,.bg-orange,.bg-fuchsia,.bg-purple,.bg-maroon,.bg-black,.bg-red-active,.bg-yellow-active,.bg-aqua-active,.bg-blue-active,.bg-light-blue-active,.bg-green-active,.bg-navy-active,.bg-teal-active,.bg-olive-active,.bg-lime-active,.bg-orange-active,.bg-fuchsia-active,.bg-purple-active,.bg-maroon-active,.bg-black-active,.callout.callout-danger,.callout.callout-warning,.callout.callout-info,.callout.callout-success,.alert-success,.alert-danger,.alert-error,.alert-warning,.alert-info,.label-danger,.label-info,.label-warning,.label-primary,.label-success,.modal-primary .modal-body,.modal-primary .modal-header,.modal-primary .modal-footer,.modal-warning .modal-body,.modal-warning .modal-header,.modal-warning .modal-footer,.modal-info .modal-body,.modal-info .modal-header,.modal-info .modal-footer,.modal-success .modal-body,.modal-success .modal-header,.modal-success .modal-footer,.modal-danger .modal-body,.modal-danger .modal-header,.modal-danger .modal-footer{color:#fff !important}.bg-gray{color:#000;background-color:#d2d6de !important}.bg-gray-light{background-color:#f7f7f7}.bg-black{background-color:#111 !important}.bg-red,.callout.callout-danger,.alert-danger,.alert-error,.label-danger,.modal-danger .modal-body{background-color:#dd4b39 !important}.bg-yellow,.callout.callout-warning,.alert-warning,.label-warning,.modal-warning .modal-body{background-color:#f39c12 !important}.bg-aqua,.callout.callout-info,.alert-info,.label-info,.modal-info .modal-body{background-color:#00c0ef !important}.bg-blue{background-color:#0073b7 !important}.bg-light-blue,.label-primary,.modal-primary .modal-body{background-color:#3c8dbc !important}.bg-green,.callout.callout-success,.alert-success,.label-success,.modal-success .modal-body{background-color:#00a65a !important}.bg-navy{background-color:#001f3f !important}.bg-teal{background-color:#39cccc !important}.bg-olive{background-color:#3d9970 !important}.bg-lime{background-color:#01ff70 !important}.bg-orange{background-color:#ff851b !important}.bg-fuchsia{background-color:#f012be !important}.bg-purple{background-color:#605ca8 !important}.bg-maroon{background-color:#d81b60 !important}.bg-gray-active{color:#000;background-color:#b5bbc8 !important}.bg-black-active{background-color:#000 !important}.bg-red-active,.modal-danger .modal-header,.modal-danger .modal-footer{background-color:#d33724 !important}.bg-yellow-active,.modal-warning .modal-header,.modal-warning .modal-footer{background-color:#db8b0b !important}.bg-aqua-active,.modal-info .modal-header,.modal-info .modal-footer{background-color:#00a7d0 !important}.bg-blue-active{background-color:#005384 !important}.bg-light-blue-active,.modal-primary .modal-header,.modal-primary .modal-footer{background-color:#357ca5 !important}.bg-green-active,.modal-success .modal-header,.modal-success .modal-footer{background-color:#008d4c !important}.bg-navy-active{background-color:#001a35 !important}.bg-teal-active{background-color:#30bbbb !important}.bg-olive-active{background-color:#368763 !important}.bg-lime-active{background-color:#00e765 !important}.bg-orange-active{background-color:#ff7701 !important}.bg-fuchsia-active{background-color:#db0ead !important}.bg-purple-active{background-color:#555299 !important}.bg-maroon-active{background-color:#ca195a !important}[class^="bg-"].disabled{opacity:.65;filter:alpha(opacity=65)}.text-red{color:#dd4b39 !important}.text-yellow{color:#f39c12 !important}.text-aqua{color:#00c0ef !important}.text-blue{color:#0073b7 !important}.text-black{color:#111 !important}.text-light-blue{color:#3c8dbc !important}.text-green{color:#00a65a !important}.text-gray{color:#d2d6de !important}.text-navy{color:#001f3f !important}.text-teal{color:#39cccc !important}.text-olive{color:#3d9970 !important}.text-lime{color:#01ff70 !important}.text-orange{color:#ff851b !important}.text-fuchsia{color:#f012be !important}.text-purple{color:#605ca8 !important}.text-maroon{color:#d81b60 !important}.link-muted{color:#7a869d}.link-muted:hover,.link-muted:focus{color:#606c84}.link-black{color:#666}.link-black:hover,.link-black:focus{color:#999}.hide{display:none !important}.no-border{border:0 !important}.no-padding{padding:0 !important}.no-margin{margin:0 !important}.no-shadow{box-shadow:none !important}.list-unstyled,.chart-legend,.contacts-list,.users-list,.mailbox-attachments{list-style:none;margin:0;padding:0}.list-group-unbordered>.list-group-item{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}.flat{border-radius:0 !important}.text-bold,.text-bold.table td,.text-bold.table th{font-weight:700}.text-sm{font-size:12px}.jqstooltip{padding:5px !important;width:auto !important;height:auto !important}.bg-teal-gradient{background:#39cccc !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #39cccc), color-stop(1, #7adddd)) !important;background:-ms-linear-gradient(bottom, #39cccc, #7adddd) !important;background:-moz-linear-gradient(center bottom, #39cccc 0, #7adddd 100%) !important;background:-o-linear-gradient(#7adddd, #39cccc) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#7adddd', endColorstr='#39cccc', GradientType=0) !important;color:#fff}.bg-light-blue-gradient{background:#3c8dbc !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #3c8dbc), color-stop(1, #67a8ce)) !important;background:-ms-linear-gradient(bottom, #3c8dbc, #67a8ce) !important;background:-moz-linear-gradient(center bottom, #3c8dbc 0, #67a8ce 100%) !important;background:-o-linear-gradient(#67a8ce, #3c8dbc) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#67a8ce', endColorstr='#3c8dbc', GradientType=0) !important;color:#fff}.bg-blue-gradient{background:#0073b7 !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #0073b7), color-stop(1, #0089db)) !important;background:-ms-linear-gradient(bottom, #0073b7, #0089db) !important;background:-moz-linear-gradient(center bottom, #0073b7 0, #0089db 100%) !important;background:-o-linear-gradient(#0089db, #0073b7) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0089db', endColorstr='#0073b7', GradientType=0) !important;color:#fff}.bg-aqua-gradient{background:#00c0ef !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #00c0ef), color-stop(1, #14d1ff)) !important;background:-ms-linear-gradient(bottom, #00c0ef, #14d1ff) !important;background:-moz-linear-gradient(center bottom, #00c0ef 0, #14d1ff 100%) !important;background:-o-linear-gradient(#14d1ff, #00c0ef) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#14d1ff', endColorstr='#00c0ef', GradientType=0) !important;color:#fff}.bg-yellow-gradient{background:#f39c12 !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #f39c12), color-stop(1, #f7bc60)) !important;background:-ms-linear-gradient(bottom, #f39c12, #f7bc60) !important;background:-moz-linear-gradient(center bottom, #f39c12 0, #f7bc60 100%) !important;background:-o-linear-gradient(#f7bc60, #f39c12) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f7bc60', endColorstr='#f39c12', GradientType=0) !important;color:#fff}.bg-purple-gradient{background:#605ca8 !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #605ca8), color-stop(1, #9491c4)) !important;background:-ms-linear-gradient(bottom, #605ca8, #9491c4) !important;background:-moz-linear-gradient(center bottom, #605ca8 0, #9491c4 100%) !important;background:-o-linear-gradient(#9491c4, #605ca8) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9491c4', endColorstr='#605ca8', GradientType=0) !important;color:#fff}.bg-green-gradient{background:#00a65a !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #00a65a), color-stop(1, #00ca6d)) !important;background:-ms-linear-gradient(bottom, #00a65a, #00ca6d) !important;background:-moz-linear-gradient(center bottom, #00a65a 0, #00ca6d 100%) !important;background:-o-linear-gradient(#00ca6d, #00a65a) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ca6d', endColorstr='#00a65a', GradientType=0) !important;color:#fff}.bg-red-gradient{background:#dd4b39 !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #dd4b39), color-stop(1, #e47365)) !important;background:-ms-linear-gradient(bottom, #dd4b39, #e47365) !important;background:-moz-linear-gradient(center bottom, #dd4b39 0, #e47365 100%) !important;background:-o-linear-gradient(#e47365, #dd4b39) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e47365', endColorstr='#dd4b39', GradientType=0) !important;color:#fff}.bg-black-gradient{background:#111 !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #111), color-stop(1, #2b2b2b)) !important;background:-ms-linear-gradient(bottom, #111, #2b2b2b) !important;background:-moz-linear-gradient(center bottom, #111 0, #2b2b2b 100%) !important;background:-o-linear-gradient(#2b2b2b, #111) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b2b2b', endColorstr='#111111', GradientType=0) !important;color:#fff}.bg-maroon-gradient{background:#d81b60 !important;background:-webkit-gradient(linear, left bottom, left top, color-stop(0, #d81b60), color-stop(1, #e73f7c)) !important;background:-ms-linear-gradient(bottom, #d81b60, #e73f7c) !important;background:-moz-linear-gradient(center bottom, #d81b60 0, #e73f7c 100%) !important;background:-o-linear-gradient(#e73f7c, #d81b60) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e73f7c', endColorstr='#d81b60', GradientType=0) !important;color:#fff}.description-block .description-icon{font-size:16px}.no-pad-top{padding-top:0}.position-static{position:static !important}.list-header{font-size:15px;padding:10px 4px;font-weight:bold;color:#666}.list-seperator{height:1px;background:#f4f4f4;margin:15px 0 9px 0}.list-link>a{padding:4px;color:#777}.list-link>a:hover{color:#222}.font-light{font-weight:300}.user-block:before,.user-block:after{content:" ";display:table}.user-block:after{clear:both}.user-block img{width:40px;height:40px;float:left}.user-block .username,.user-block .description,.user-block .comment{display:block;margin-left:50px}.user-block .username{font-size:16px;font-weight:600}.user-block .description{color:#999;font-size:13px}.user-block.user-block-sm .username,.user-block.user-block-sm .description,.user-block.user-block-sm .comment{margin-left:40px}.user-block.user-block-sm .username{font-size:14px}.img-sm,.img-md,.img-lg,.box-comments .box-comment img,.user-block.user-block-sm img{float:left}.img-sm,.box-comments .box-comment img,.user-block.user-block-sm img{width:30px !important;height:30px !important}.img-sm+.img-push{margin-left:40px}.img-md{width:60px;height:60px}.img-md+.img-push{margin-left:70px}.img-lg{width:100px;height:100px}.img-lg+.img-push{margin-left:110px}.img-bordered{border:3px solid #d2d6de;padding:3px}.img-bordered-sm{border:2px solid #d2d6de;padding:2px}.attachment-block{border:1px solid #f4f4f4;padding:5px;margin-bottom:10px;background:#f7f7f7}.attachment-block .attachment-img{max-width:100px;max-height:100px;height:auto;float:left}.attachment-block .attachment-pushed{margin-left:110px}.attachment-block .attachment-heading{margin:0}.attachment-block .attachment-text{color:#555}.connectedSortable{min-height:100px}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sort-highlight{background:#f4f4f4;border:1px dashed #ddd;margin-bottom:10px}.full-opacity-hover{opacity:.65;filter:alpha(opacity=65)}.full-opacity-hover:hover{opacity:1;filter:alpha(opacity=100)}.chart{position:relative;overflow:hidden;width:100%}.chart svg,.chart canvas{width:100% !important}hr{border-top:1px solid #555}@media print{.no-print,.main-sidebar,.left-side,.main-header,.content-header{display:none !important}.content-wrapper,.right-side,.main-footer{margin-left:0 !important;min-height:0 !important;-webkit-transform:translate(0, 0) !important;-ms-transform:translate(0, 0) !important;-o-transform:translate(0, 0) !important;transform:translate(0, 0) !important}.fixed .content-wrapper,.fixed .right-side{padding-top:0 !important}.invoice{width:100%;border:0;margin:0;padding:0}.invoice-col{float:left;width:33.3333333%}.table-responsive{overflow:auto}.table-responsive>.table tr th,.table-responsive>.table tr td{white-space:normal !important}} \ No newline at end of file diff --git a/vendor/blobt/assets/adminlte/css/skins/_all-skins.min.css b/vendor/blobt/assets/adminlte/css/skins/_all-skins.min.css deleted file mode 100644 index 5c98c67..0000000 --- a/vendor/blobt/assets/adminlte/css/skins/_all-skins.min.css +++ /dev/null @@ -1 +0,0 @@ -.skin-blue .main-header .navbar{background-color:#3c8dbc}.skin-blue .main-header .navbar .nav>li>a{color:#fff}.skin-blue .main-header .navbar .nav>li>a:hover,.skin-blue .main-header .navbar .nav>li>a:active,.skin-blue .main-header .navbar .nav>li>a:focus,.skin-blue .main-header .navbar .nav .open>a,.skin-blue .main-header .navbar .nav .open>a:hover,.skin-blue .main-header .navbar .nav .open>a:focus,.skin-blue .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-blue .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-blue .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue .main-header .logo{background-color:#367fa9;color:#fff;border-bottom:0 solid transparent}.skin-blue .main-header .logo:hover{background-color:#357ca5}.skin-blue .main-header li.user-header{background-color:#3c8dbc}.skin-blue .content-header{background:transparent}.skin-blue .wrapper,.skin-blue .main-sidebar,.skin-blue .left-side{background-color:#222d32}.skin-blue .user-panel>.info,.skin-blue .user-panel>.info>a{color:#fff}.skin-blue .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-blue .sidebar-menu>li>a{border-left:3px solid transparent}.skin-blue .sidebar-menu>li:hover>a,.skin-blue .sidebar-menu>li.active>a,.skin-blue .sidebar-menu>li.menu-open>a{color:#fff;background:#1e282c}.skin-blue .sidebar-menu>li.active>a{border-left-color:#3c8dbc}.skin-blue .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-blue .sidebar a{color:#b8c7ce}.skin-blue .sidebar a:hover{text-decoration:none}.skin-blue .sidebar-menu .treeview-menu>li>a{color:#8aa4af}.skin-blue .sidebar-menu .treeview-menu>li.active>a,.skin-blue .sidebar-menu .treeview-menu>li>a:hover{color:#fff}.skin-blue .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-blue .sidebar-form input[type="text"],.skin-blue .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-blue .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue .sidebar-form input[type="text"]:focus,.skin-blue .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}.skin-blue-light .main-header .navbar{background-color:#3c8dbc}.skin-blue-light .main-header .navbar .nav>li>a{color:#fff}.skin-blue-light .main-header .navbar .nav>li>a:hover,.skin-blue-light .main-header .navbar .nav>li>a:active,.skin-blue-light .main-header .navbar .nav>li>a:focus,.skin-blue-light .main-header .navbar .nav .open>a,.skin-blue-light .main-header .navbar .nav .open>a:hover,.skin-blue-light .main-header .navbar .nav .open>a:focus,.skin-blue-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-blue-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-blue-light .main-header .navbar .sidebar-toggle:hover{background-color:#367fa9}@media (max-width:767px){.skin-blue-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-blue-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-blue-light .main-header .navbar .dropdown-menu li a:hover{background:#367fa9}}.skin-blue-light .main-header .logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue-light .main-header .logo:hover{background-color:#3b8ab8}.skin-blue-light .main-header li.user-header{background-color:#3c8dbc}.skin-blue-light .content-header{background:transparent}.skin-blue-light .wrapper,.skin-blue-light .main-sidebar,.skin-blue-light .left-side{background-color:#f9fafc}.skin-blue-light .main-sidebar{border-right:1px solid #d2d6de}.skin-blue-light .user-panel>.info,.skin-blue-light .user-panel>.info>a{color:#444}.skin-blue-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-blue-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-blue-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-blue-light .sidebar-menu>li:hover>a,.skin-blue-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-blue-light .sidebar-menu>li.active{border-left-color:#3c8dbc}.skin-blue-light .sidebar-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-blue-light .sidebar a{color:#444}.skin-blue-light .sidebar a:hover{text-decoration:none}.skin-blue-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-blue-light .sidebar-menu .treeview-menu>li.active>a,.skin-blue-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-blue-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-blue-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-blue-light .sidebar-form input[type="text"],.skin-blue-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-blue-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-blue-light .sidebar-form input[type="text"]:focus,.skin-blue-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-blue-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-blue-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-blue-light .main-footer{border-top-color:#d2d6de}.skin-blue.layout-top-nav .main-header>.logo{background-color:#3c8dbc;color:#fff;border-bottom:0 solid transparent}.skin-blue.layout-top-nav .main-header>.logo:hover{background-color:#3b8ab8}.skin-black .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.skin-black .main-header .navbar-toggle{color:#333}.skin-black .main-header .navbar-brand{color:#333;border-right:1px solid #eee}.skin-black .main-header .navbar{background-color:#fff}.skin-black .main-header .navbar .nav>li>a{color:#333}.skin-black .main-header .navbar .nav>li>a:hover,.skin-black .main-header .navbar .nav>li>a:active,.skin-black .main-header .navbar .nav>li>a:focus,.skin-black .main-header .navbar .nav .open>a,.skin-black .main-header .navbar .nav .open>a:hover,.skin-black .main-header .navbar .nav .open>a:focus,.skin-black .main-header .navbar .nav>.active>a{background:#fff;color:#999}.skin-black .main-header .navbar .sidebar-toggle{color:#333}.skin-black .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #eee}.skin-black .main-header .navbar .navbar-nav>li>a{border-right:1px solid #eee}.skin-black .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black .main-header .navbar .navbar-right>li>a{border-left:1px solid #eee;border-right-width:0}.skin-black .main-header .logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #eee}.skin-black .main-header .logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black .main-header .logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black .main-header .logo:hover{background-color:#1f1f1f}}.skin-black .main-header li.user-header{background-color:#222}.skin-black .content-header{background:transparent;box-shadow:none}.skin-black .wrapper,.skin-black .main-sidebar,.skin-black .left-side{background-color:#222d32}.skin-black .user-panel>.info,.skin-black .user-panel>.info>a{color:#fff}.skin-black .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-black .sidebar-menu>li>a{border-left:3px solid transparent}.skin-black .sidebar-menu>li:hover>a,.skin-black .sidebar-menu>li.active>a,.skin-black .sidebar-menu>li.menu-open>a{color:#fff;background:#1e282c}.skin-black .sidebar-menu>li.active>a{border-left-color:#fff}.skin-black .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-black .sidebar a{color:#b8c7ce}.skin-black .sidebar a:hover{text-decoration:none}.skin-black .sidebar-menu .treeview-menu>li>a{color:#8aa4af}.skin-black .sidebar-menu .treeview-menu>li.active>a,.skin-black .sidebar-menu .treeview-menu>li>a:hover{color:#fff}.skin-black .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-black .sidebar-form input[type="text"],.skin-black .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-black .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black .sidebar-form input[type="text"]:focus,.skin-black .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-black .pace .pace-progress{background:#222}.skin-black .pace .pace-activity{border-top-color:#222;border-left-color:#222}.skin-black-light .main-header{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.skin-black-light .main-header .navbar-toggle{color:#333}.skin-black-light .main-header .navbar-brand{color:#333;border-right:1px solid #d2d6de}.skin-black-light .main-header .navbar{background-color:#fff}.skin-black-light .main-header .navbar .nav>li>a{color:#333}.skin-black-light .main-header .navbar .nav>li>a:hover,.skin-black-light .main-header .navbar .nav>li>a:active,.skin-black-light .main-header .navbar .nav>li>a:focus,.skin-black-light .main-header .navbar .nav .open>a,.skin-black-light .main-header .navbar .nav .open>a:hover,.skin-black-light .main-header .navbar .nav .open>a:focus,.skin-black-light .main-header .navbar .nav>.active>a{background:#fff;color:#999}.skin-black-light .main-header .navbar .sidebar-toggle{color:#333}.skin-black-light .main-header .navbar .sidebar-toggle:hover{color:#999;background:#fff}.skin-black-light .main-header .navbar>.sidebar-toggle{color:#333;border-right:1px solid #d2d6de}.skin-black-light .main-header .navbar .navbar-nav>li>a{border-right:1px solid #d2d6de}.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav>li>a,.skin-black-light .main-header .navbar .navbar-right>li>a{border-left:1px solid #d2d6de;border-right-width:0}.skin-black-light .main-header .logo{background-color:#fff;color:#333;border-bottom:0 solid transparent;border-right:1px solid #d2d6de}.skin-black-light .main-header .logo:hover{background-color:#fcfcfc}@media (max-width:767px){.skin-black-light .main-header .logo{background-color:#222;color:#fff;border-bottom:0 solid transparent;border-right:none}.skin-black-light .main-header .logo:hover{background-color:#1f1f1f}}.skin-black-light .main-header li.user-header{background-color:#222}.skin-black-light .content-header{background:transparent;box-shadow:none}.skin-black-light .wrapper,.skin-black-light .main-sidebar,.skin-black-light .left-side{background-color:#f9fafc}.skin-black-light .main-sidebar{border-right:1px solid #d2d6de}.skin-black-light .user-panel>.info,.skin-black-light .user-panel>.info>a{color:#444}.skin-black-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-black-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-black-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-black-light .sidebar-menu>li:hover>a,.skin-black-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-black-light .sidebar-menu>li.active{border-left-color:#fff}.skin-black-light .sidebar-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-black-light .sidebar a{color:#444}.skin-black-light .sidebar a:hover{text-decoration:none}.skin-black-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-black-light .sidebar-menu .treeview-menu>li.active>a,.skin-black-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-black-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-black-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-black-light .sidebar-form input[type="text"],.skin-black-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-black-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-black-light .sidebar-form input[type="text"]:focus,.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-black-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-black-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-green .main-header .navbar{background-color:#00a65a}.skin-green .main-header .navbar .nav>li>a{color:#fff}.skin-green .main-header .navbar .nav>li>a:hover,.skin-green .main-header .navbar .nav>li>a:active,.skin-green .main-header .navbar .nav>li>a:focus,.skin-green .main-header .navbar .nav .open>a,.skin-green .main-header .navbar .nav .open>a:hover,.skin-green .main-header .navbar .nav .open>a:focus,.skin-green .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-green .main-header .navbar .sidebar-toggle{color:#fff}.skin-green .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-green .main-header .navbar .dropdown-menu li a{color:#fff}.skin-green .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green .main-header .logo{background-color:#008d4c;color:#fff;border-bottom:0 solid transparent}.skin-green .main-header .logo:hover{background-color:#008749}.skin-green .main-header li.user-header{background-color:#00a65a}.skin-green .content-header{background:transparent}.skin-green .wrapper,.skin-green .main-sidebar,.skin-green .left-side{background-color:#222d32}.skin-green .user-panel>.info,.skin-green .user-panel>.info>a{color:#fff}.skin-green .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-green .sidebar-menu>li>a{border-left:3px solid transparent}.skin-green .sidebar-menu>li:hover>a,.skin-green .sidebar-menu>li.active>a,.skin-green .sidebar-menu>li.menu-open>a{color:#fff;background:#1e282c}.skin-green .sidebar-menu>li.active>a{border-left-color:#00a65a}.skin-green .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-green .sidebar a{color:#b8c7ce}.skin-green .sidebar a:hover{text-decoration:none}.skin-green .sidebar-menu .treeview-menu>li>a{color:#8aa4af}.skin-green .sidebar-menu .treeview-menu>li.active>a,.skin-green .sidebar-menu .treeview-menu>li>a:hover{color:#fff}.skin-green .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-green .sidebar-form input[type="text"],.skin-green .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-green .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-green .sidebar-form input[type="text"]:focus,.skin-green .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-green-light .main-header .navbar{background-color:#00a65a}.skin-green-light .main-header .navbar .nav>li>a{color:#fff}.skin-green-light .main-header .navbar .nav>li>a:hover,.skin-green-light .main-header .navbar .nav>li>a:active,.skin-green-light .main-header .navbar .nav>li>a:focus,.skin-green-light .main-header .navbar .nav .open>a,.skin-green-light .main-header .navbar .nav .open>a:hover,.skin-green-light .main-header .navbar .nav .open>a:focus,.skin-green-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-green-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-green-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-green-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-green-light .main-header .navbar .sidebar-toggle:hover{background-color:#008d4c}@media (max-width:767px){.skin-green-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-green-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-green-light .main-header .navbar .dropdown-menu li a:hover{background:#008d4c}}.skin-green-light .main-header .logo{background-color:#00a65a;color:#fff;border-bottom:0 solid transparent}.skin-green-light .main-header .logo:hover{background-color:#00a157}.skin-green-light .main-header li.user-header{background-color:#00a65a}.skin-green-light .content-header{background:transparent}.skin-green-light .wrapper,.skin-green-light .main-sidebar,.skin-green-light .left-side{background-color:#f9fafc}.skin-green-light .main-sidebar{border-right:1px solid #d2d6de}.skin-green-light .user-panel>.info,.skin-green-light .user-panel>.info>a{color:#444}.skin-green-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-green-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-green-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-green-light .sidebar-menu>li:hover>a,.skin-green-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-green-light .sidebar-menu>li.active{border-left-color:#00a65a}.skin-green-light .sidebar-menu>li.active>a{font-weight:600}.skin-green-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-green-light .sidebar a{color:#444}.skin-green-light .sidebar a:hover{text-decoration:none}.skin-green-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-green-light .sidebar-menu .treeview-menu>li.active>a,.skin-green-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-green-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-green-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-green-light .sidebar-form input[type="text"],.skin-green-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-green-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-green-light .sidebar-form input[type="text"]:focus,.skin-green-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-green-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-green-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-red .main-header .navbar{background-color:#dd4b39}.skin-red .main-header .navbar .nav>li>a{color:#fff}.skin-red .main-header .navbar .nav>li>a:hover,.skin-red .main-header .navbar .nav>li>a:active,.skin-red .main-header .navbar .nav>li>a:focus,.skin-red .main-header .navbar .nav .open>a,.skin-red .main-header .navbar .nav .open>a:hover,.skin-red .main-header .navbar .nav .open>a:focus,.skin-red .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-red .main-header .navbar .sidebar-toggle{color:#fff}.skin-red .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-red .main-header .navbar .dropdown-menu li a{color:#fff}.skin-red .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red .main-header .logo{background-color:#d73925;color:#fff;border-bottom:0 solid transparent}.skin-red .main-header .logo:hover{background-color:#d33724}.skin-red .main-header li.user-header{background-color:#dd4b39}.skin-red .content-header{background:transparent}.skin-red .wrapper,.skin-red .main-sidebar,.skin-red .left-side{background-color:#222d32}.skin-red .user-panel>.info,.skin-red .user-panel>.info>a{color:#fff}.skin-red .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-red .sidebar-menu>li>a{border-left:3px solid transparent}.skin-red .sidebar-menu>li:hover>a,.skin-red .sidebar-menu>li.active>a,.skin-red .sidebar-menu>li.menu-open>a{color:#fff;background:#1e282c}.skin-red .sidebar-menu>li.active>a{border-left-color:#dd4b39}.skin-red .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-red .sidebar a{color:#b8c7ce}.skin-red .sidebar a:hover{text-decoration:none}.skin-red .sidebar-menu .treeview-menu>li>a{color:#8aa4af}.skin-red .sidebar-menu .treeview-menu>li.active>a,.skin-red .sidebar-menu .treeview-menu>li>a:hover{color:#fff}.skin-red .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-red .sidebar-form input[type="text"],.skin-red .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-red .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-red .sidebar-form input[type="text"]:focus,.skin-red .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-red-light .main-header .navbar{background-color:#dd4b39}.skin-red-light .main-header .navbar .nav>li>a{color:#fff}.skin-red-light .main-header .navbar .nav>li>a:hover,.skin-red-light .main-header .navbar .nav>li>a:active,.skin-red-light .main-header .navbar .nav>li>a:focus,.skin-red-light .main-header .navbar .nav .open>a,.skin-red-light .main-header .navbar .nav .open>a:hover,.skin-red-light .main-header .navbar .nav .open>a:focus,.skin-red-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-red-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-red-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-red-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-red-light .main-header .navbar .sidebar-toggle:hover{background-color:#d73925}@media (max-width:767px){.skin-red-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-red-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-red-light .main-header .navbar .dropdown-menu li a:hover{background:#d73925}}.skin-red-light .main-header .logo{background-color:#dd4b39;color:#fff;border-bottom:0 solid transparent}.skin-red-light .main-header .logo:hover{background-color:#dc4735}.skin-red-light .main-header li.user-header{background-color:#dd4b39}.skin-red-light .content-header{background:transparent}.skin-red-light .wrapper,.skin-red-light .main-sidebar,.skin-red-light .left-side{background-color:#f9fafc}.skin-red-light .main-sidebar{border-right:1px solid #d2d6de}.skin-red-light .user-panel>.info,.skin-red-light .user-panel>.info>a{color:#444}.skin-red-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-red-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-red-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-red-light .sidebar-menu>li:hover>a,.skin-red-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-red-light .sidebar-menu>li.active{border-left-color:#dd4b39}.skin-red-light .sidebar-menu>li.active>a{font-weight:600}.skin-red-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-red-light .sidebar a{color:#444}.skin-red-light .sidebar a:hover{text-decoration:none}.skin-red-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-red-light .sidebar-menu .treeview-menu>li.active>a,.skin-red-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-red-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-red-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-red-light .sidebar-form input[type="text"],.skin-red-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-red-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-red-light .sidebar-form input[type="text"]:focus,.skin-red-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-red-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-red-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-red-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-yellow .main-header .navbar{background-color:#f39c12}.skin-yellow .main-header .navbar .nav>li>a{color:#fff}.skin-yellow .main-header .navbar .nav>li>a:hover,.skin-yellow .main-header .navbar .nav>li>a:active,.skin-yellow .main-header .navbar .nav>li>a:focus,.skin-yellow .main-header .navbar .nav .open>a,.skin-yellow .main-header .navbar .nav .open>a:hover,.skin-yellow .main-header .navbar .nav .open>a:focus,.skin-yellow .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-yellow .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-yellow .main-header .navbar .dropdown-menu li a{color:#fff}.skin-yellow .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow .main-header .logo{background-color:#e08e0b;color:#fff;border-bottom:0 solid transparent}.skin-yellow .main-header .logo:hover{background-color:#db8b0b}.skin-yellow .main-header li.user-header{background-color:#f39c12}.skin-yellow .content-header{background:transparent}.skin-yellow .wrapper,.skin-yellow .main-sidebar,.skin-yellow .left-side{background-color:#222d32}.skin-yellow .user-panel>.info,.skin-yellow .user-panel>.info>a{color:#fff}.skin-yellow .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-yellow .sidebar-menu>li>a{border-left:3px solid transparent}.skin-yellow .sidebar-menu>li:hover>a,.skin-yellow .sidebar-menu>li.active>a,.skin-yellow .sidebar-menu>li.menu-open>a{color:#fff;background:#1e282c}.skin-yellow .sidebar-menu>li.active>a{border-left-color:#f39c12}.skin-yellow .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-yellow .sidebar a{color:#b8c7ce}.skin-yellow .sidebar a:hover{text-decoration:none}.skin-yellow .sidebar-menu .treeview-menu>li>a{color:#8aa4af}.skin-yellow .sidebar-menu .treeview-menu>li.active>a,.skin-yellow .sidebar-menu .treeview-menu>li>a:hover{color:#fff}.skin-yellow .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-yellow .sidebar-form input[type="text"],.skin-yellow .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-yellow .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-yellow .sidebar-form input[type="text"]:focus,.skin-yellow .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-yellow-light .main-header .navbar{background-color:#f39c12}.skin-yellow-light .main-header .navbar .nav>li>a{color:#fff}.skin-yellow-light .main-header .navbar .nav>li>a:hover,.skin-yellow-light .main-header .navbar .nav>li>a:active,.skin-yellow-light .main-header .navbar .nav>li>a:focus,.skin-yellow-light .main-header .navbar .nav .open>a,.skin-yellow-light .main-header .navbar .nav .open>a:hover,.skin-yellow-light .main-header .navbar .nav .open>a:focus,.skin-yellow-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-yellow-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-yellow-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-yellow-light .main-header .navbar .sidebar-toggle:hover{background-color:#e08e0b}@media (max-width:767px){.skin-yellow-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-yellow-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-yellow-light .main-header .navbar .dropdown-menu li a:hover{background:#e08e0b}}.skin-yellow-light .main-header .logo{background-color:#f39c12;color:#fff;border-bottom:0 solid transparent}.skin-yellow-light .main-header .logo:hover{background-color:#f39a0d}.skin-yellow-light .main-header li.user-header{background-color:#f39c12}.skin-yellow-light .content-header{background:transparent}.skin-yellow-light .wrapper,.skin-yellow-light .main-sidebar,.skin-yellow-light .left-side{background-color:#f9fafc}.skin-yellow-light .main-sidebar{border-right:1px solid #d2d6de}.skin-yellow-light .user-panel>.info,.skin-yellow-light .user-panel>.info>a{color:#444}.skin-yellow-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-yellow-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-yellow-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-yellow-light .sidebar-menu>li:hover>a,.skin-yellow-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-yellow-light .sidebar-menu>li.active{border-left-color:#f39c12}.skin-yellow-light .sidebar-menu>li.active>a{font-weight:600}.skin-yellow-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-yellow-light .sidebar a{color:#444}.skin-yellow-light .sidebar a:hover{text-decoration:none}.skin-yellow-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-yellow-light .sidebar-menu .treeview-menu>li.active>a,.skin-yellow-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-yellow-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-yellow-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-yellow-light .sidebar-form input[type="text"],.skin-yellow-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-yellow-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-yellow-light .sidebar-form input[type="text"]:focus,.skin-yellow-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-yellow-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-yellow-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-yellow-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}}.skin-purple .main-header .navbar{background-color:#605ca8}.skin-purple .main-header .navbar .nav>li>a{color:#fff}.skin-purple .main-header .navbar .nav>li>a:hover,.skin-purple .main-header .navbar .nav>li>a:active,.skin-purple .main-header .navbar .nav>li>a:focus,.skin-purple .main-header .navbar .nav .open>a,.skin-purple .main-header .navbar .nav .open>a:hover,.skin-purple .main-header .navbar .nav .open>a:focus,.skin-purple .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-purple .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-purple .main-header .navbar .dropdown-menu li a{color:#fff}.skin-purple .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple .main-header .logo{background-color:#555299;color:#fff;border-bottom:0 solid transparent}.skin-purple .main-header .logo:hover{background-color:#545096}.skin-purple .main-header li.user-header{background-color:#605ca8}.skin-purple .content-header{background:transparent}.skin-purple .wrapper,.skin-purple .main-sidebar,.skin-purple .left-side{background-color:#222d32}.skin-purple .user-panel>.info,.skin-purple .user-panel>.info>a{color:#fff}.skin-purple .sidebar-menu>li.header{color:#4b646f;background:#1a2226}.skin-purple .sidebar-menu>li>a{border-left:3px solid transparent}.skin-purple .sidebar-menu>li:hover>a,.skin-purple .sidebar-menu>li.active>a,.skin-purple .sidebar-menu>li.menu-open>a{color:#fff;background:#1e282c}.skin-purple .sidebar-menu>li.active>a{border-left-color:#605ca8}.skin-purple .sidebar-menu>li>.treeview-menu{margin:0 1px;background:#2c3b41}.skin-purple .sidebar a{color:#b8c7ce}.skin-purple .sidebar a:hover{text-decoration:none}.skin-purple .sidebar-menu .treeview-menu>li>a{color:#8aa4af}.skin-purple .sidebar-menu .treeview-menu>li.active>a,.skin-purple .sidebar-menu .treeview-menu>li>a:hover{color:#fff}.skin-purple .sidebar-form{border-radius:3px;border:1px solid #374850;margin:10px 10px}.skin-purple .sidebar-form input[type="text"],.skin-purple .sidebar-form .btn{box-shadow:none;background-color:#374850;border:1px solid transparent;height:35px}.skin-purple .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-purple .sidebar-form input[type="text"]:focus,.skin-purple .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.skin-purple-light .main-header .navbar{background-color:#605ca8}.skin-purple-light .main-header .navbar .nav>li>a{color:#fff}.skin-purple-light .main-header .navbar .nav>li>a:hover,.skin-purple-light .main-header .navbar .nav>li>a:active,.skin-purple-light .main-header .navbar .nav>li>a:focus,.skin-purple-light .main-header .navbar .nav .open>a,.skin-purple-light .main-header .navbar .nav .open>a:hover,.skin-purple-light .main-header .navbar .nav .open>a:focus,.skin-purple-light .main-header .navbar .nav>.active>a{background:rgba(0,0,0,0.1);color:#f6f6f6}.skin-purple-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple-light .main-header .navbar .sidebar-toggle:hover{color:#f6f6f6;background:rgba(0,0,0,0.1)}.skin-purple-light .main-header .navbar .sidebar-toggle{color:#fff}.skin-purple-light .main-header .navbar .sidebar-toggle:hover{background-color:#555299}@media (max-width:767px){.skin-purple-light .main-header .navbar .dropdown-menu li.divider{background-color:rgba(255,255,255,0.1)}.skin-purple-light .main-header .navbar .dropdown-menu li a{color:#fff}.skin-purple-light .main-header .navbar .dropdown-menu li a:hover{background:#555299}}.skin-purple-light .main-header .logo{background-color:#605ca8;color:#fff;border-bottom:0 solid transparent}.skin-purple-light .main-header .logo:hover{background-color:#5d59a6}.skin-purple-light .main-header li.user-header{background-color:#605ca8}.skin-purple-light .content-header{background:transparent}.skin-purple-light .wrapper,.skin-purple-light .main-sidebar,.skin-purple-light .left-side{background-color:#f9fafc}.skin-purple-light .main-sidebar{border-right:1px solid #d2d6de}.skin-purple-light .user-panel>.info,.skin-purple-light .user-panel>.info>a{color:#444}.skin-purple-light .sidebar-menu>li{-webkit-transition:border-left-color .3s ease;-o-transition:border-left-color .3s ease;transition:border-left-color .3s ease}.skin-purple-light .sidebar-menu>li.header{color:#848484;background:#f9fafc}.skin-purple-light .sidebar-menu>li>a{border-left:3px solid transparent;font-weight:600}.skin-purple-light .sidebar-menu>li:hover>a,.skin-purple-light .sidebar-menu>li.active>a{color:#000;background:#f4f4f5}.skin-purple-light .sidebar-menu>li.active{border-left-color:#605ca8}.skin-purple-light .sidebar-menu>li.active>a{font-weight:600}.skin-purple-light .sidebar-menu>li>.treeview-menu{background:#f4f4f5}.skin-purple-light .sidebar a{color:#444}.skin-purple-light .sidebar a:hover{text-decoration:none}.skin-purple-light .sidebar-menu .treeview-menu>li>a{color:#777}.skin-purple-light .sidebar-menu .treeview-menu>li.active>a,.skin-purple-light .sidebar-menu .treeview-menu>li>a:hover{color:#000}.skin-purple-light .sidebar-menu .treeview-menu>li.active>a{font-weight:600}.skin-purple-light .sidebar-form{border-radius:3px;border:1px solid #d2d6de;margin:10px 10px}.skin-purple-light .sidebar-form input[type="text"],.skin-purple-light .sidebar-form .btn{box-shadow:none;background-color:#fff;border:1px solid transparent;height:35px}.skin-purple-light .sidebar-form input[type="text"]{color:#666;border-top-left-radius:2px;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:2px}.skin-purple-light .sidebar-form input[type="text"]:focus,.skin-purple-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{background-color:#fff;color:#666}.skin-purple-light .sidebar-form input[type="text"]:focus+.input-group-btn .btn{border-left-color:#fff}.skin-purple-light .sidebar-form .btn{color:#999;border-top-left-radius:0;border-top-right-radius:2px;border-bottom-right-radius:2px;border-bottom-left-radius:0}@media (min-width:768px){.skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu>li>.treeview-menu{border-left:1px solid #d2d6de}} \ No newline at end of file diff --git a/vendor/blobt/assets/adminlte/js/adminlte.js b/vendor/blobt/assets/adminlte/js/adminlte.js deleted file mode 100644 index 279a6a5..0000000 --- a/vendor/blobt/assets/adminlte/js/adminlte.js +++ /dev/null @@ -1,1149 +0,0 @@ -/*! AdminLTE app.js -* ================ -* Main JS application file for AdminLTE v2. This file -* should be included in all pages. It controls some layout -* options and implements exclusive AdminLTE plugins. -* -* @author Colorlib -* @support -* @version 2.4.15 -* @repository git://github.com/ColorlibHQ/AdminLTE.git -* @license MIT -*/ - -// Make sure jQuery has been loaded -if (typeof jQuery === 'undefined') { -throw new Error('AdminLTE requires jQuery') -} - -/* BoxRefresh() - * ========= - * Adds AJAX content control to a box. - * - * @Usage: $('#my-box').boxRefresh(options) - * or add [data-widget="box-refresh"] to the box element - * Pass any option as data-option="value" - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.boxrefresh'; - - var Default = { - source : '', - params : {}, - trigger : '.refresh-btn', - content : '.box-body', - loadInContent : true, - responseType : '', - overlayTemplate: '
            ', - onLoadStart : function () { - }, - onLoadDone : function (response) { - return response; - } - }; - - var Selector = { - data: '[data-widget="box-refresh"]' - }; - - // BoxRefresh Class Definition - // ========================= - var BoxRefresh = function (element, options) { - this.element = element; - this.options = options; - this.$overlay = $(options.overlayTemplate); - - if (options.source === '') { - throw new Error('Source url was not defined. Please specify a url in your BoxRefresh source option.'); - } - - this._setUpListeners(); - this.load(); - }; - - BoxRefresh.prototype.load = function () { - this._addOverlay(); - this.options.onLoadStart.call($(this)); - - $.get(this.options.source, this.options.params, function (response) { - if (this.options.loadInContent) { - $(this.element).find(this.options.content).html(response); - } - this.options.onLoadDone.call($(this), response); - this._removeOverlay(); - }.bind(this), this.options.responseType !== '' && this.options.responseType); - }; - - // Private - - BoxRefresh.prototype._setUpListeners = function () { - $(this.element).on('click', this.options.trigger, function (event) { - if (event) event.preventDefault(); - this.load(); - }.bind(this)); - }; - - BoxRefresh.prototype._addOverlay = function () { - $(this.element).append(this.$overlay); - }; - - BoxRefresh.prototype._removeOverlay = function () { - $(this.$overlay).remove(); - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option); - $this.data(DataKey, (data = new BoxRefresh($this, options))); - } - - if (typeof data == 'string') { - if (typeof data[option] == 'undefined') { - throw new Error('No method named ' + option); - } - data[option](); - } - }); - } - - var old = $.fn.boxRefresh; - - $.fn.boxRefresh = Plugin; - $.fn.boxRefresh.Constructor = BoxRefresh; - - // No Conflict Mode - // ================ - $.fn.boxRefresh.noConflict = function () { - $.fn.boxRefresh = old; - return this; - }; - - // BoxRefresh Data API - // ================= - $(window).on('load', function () { - $(Selector.data).each(function () { - Plugin.call($(this)); - }); - }); - -}(jQuery); - - -/* BoxWidget() - * ====== - * Adds box widget functions to boxes. - * - * @Usage: $('.my-box').boxWidget(options) - * This plugin auto activates on any element using the `.box` class - * Pass any option as data-option="value" - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.boxwidget'; - - var Default = { - animationSpeed : 500, - collapseTrigger: '[data-widget="collapse"]', - removeTrigger : '[data-widget="remove"]', - collapseIcon : 'fa-minus', - expandIcon : 'fa-plus', - removeIcon : 'fa-times' - }; - - var Selector = { - data : '.box', - collapsed: '.collapsed-box', - header : '.box-header', - body : '.box-body', - footer : '.box-footer', - tools : '.box-tools' - }; - - var ClassName = { - collapsed: 'collapsed-box' - }; - - var Event = { - collapsing: 'collapsing.boxwidget', - collapsed: 'collapsed.boxwidget', - expanding: 'expanding.boxwidget', - expanded: 'expanded.boxwidget', - removing: 'removing.boxwidget', - removed: 'removed.boxwidget' - }; - - // BoxWidget Class Definition - // ===================== - var BoxWidget = function (element, options) { - this.element = element; - this.options = options; - - this._setUpListeners(); - }; - - BoxWidget.prototype.toggle = function () { - var isOpen = !$(this.element).is(Selector.collapsed); - - if (isOpen) { - this.collapse(); - } else { - this.expand(); - } - }; - - BoxWidget.prototype.expand = function () { - var expandedEvent = $.Event(Event.expanded); - var expandingEvent = $.Event(Event.expanding); - var collapseIcon = this.options.collapseIcon; - var expandIcon = this.options.expandIcon; - - $(this.element).removeClass(ClassName.collapsed); - - $(this.element) - .children(Selector.header + ', ' + Selector.body + ', ' + Selector.footer) - .children(Selector.tools) - .find('.' + expandIcon) - .removeClass(expandIcon) - .addClass(collapseIcon); - - $(this.element).children(Selector.body + ', ' + Selector.footer) - .slideDown(this.options.animationSpeed, function () { - $(this.element).trigger(expandedEvent); - }.bind(this)) - .trigger(expandingEvent); - }; - - BoxWidget.prototype.collapse = function () { - var collapsedEvent = $.Event(Event.collapsed); - var collapsingEvent = $.Event(Event.collapsing); - var collapseIcon = this.options.collapseIcon; - var expandIcon = this.options.expandIcon; - - $(this.element) - .children(Selector.header + ', ' + Selector.body + ', ' + Selector.footer) - .children(Selector.tools) - .find('.' + collapseIcon) - .removeClass(collapseIcon) - .addClass(expandIcon); - - $(this.element).children(Selector.body + ', ' + Selector.footer) - .slideUp(this.options.animationSpeed, function () { - $(this.element).addClass(ClassName.collapsed); - $(this.element).trigger(collapsedEvent); - }.bind(this)) - .trigger(collapsingEvent); - }; - - BoxWidget.prototype.remove = function () { - var removedEvent = $.Event(Event.removed); - var removingEvent = $.Event(Event.removing); - - $(this.element).slideUp(this.options.animationSpeed, function () { - $(this.element).trigger(removedEvent); - $(this.element).remove(); - }.bind(this)) - .trigger(removingEvent); - }; - - // Private - - BoxWidget.prototype._setUpListeners = function () { - var that = this; - - $(this.element).on('click', this.options.collapseTrigger, function (event) { - if (event) event.preventDefault(); - that.toggle($(this)); - return false; - }); - - $(this.element).on('click', this.options.removeTrigger, function (event) { - if (event) event.preventDefault(); - that.remove($(this)); - return false; - }); - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option); - $this.data(DataKey, (data = new BoxWidget($this, options))); - } - - if (typeof option == 'string') { - if (typeof data[option] == 'undefined') { - throw new Error('No method named ' + option); - } - data[option](); - } - }); - } - - var old = $.fn.boxWidget; - - $.fn.boxWidget = Plugin; - $.fn.boxWidget.Constructor = BoxWidget; - - // No Conflict Mode - // ================ - $.fn.boxWidget.noConflict = function () { - $.fn.boxWidget = old; - return this; - }; - - // BoxWidget Data API - // ================== - $(window).on('load', function () { - $(Selector.data).each(function () { - Plugin.call($(this)); - }); - }); -}(jQuery); - - -/* ControlSidebar() - * =============== - * Toggles the state of the control sidebar - * - * @Usage: $('#control-sidebar-trigger').controlSidebar(options) - * or add [data-toggle="control-sidebar"] to the trigger - * Pass any option as data-option="value" - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.controlsidebar'; - - var Default = { - slide: true - }; - - var Selector = { - sidebar: '.control-sidebar', - data : '[data-toggle="control-sidebar"]', - open : '.control-sidebar-open', - bg : '.control-sidebar-bg', - wrapper: '.wrapper', - content: '.content-wrapper', - boxed : '.layout-boxed' - }; - - var ClassName = { - open : 'control-sidebar-open', - fixed: 'fixed' - }; - - var Event = { - collapsed: 'collapsed.controlsidebar', - expanded : 'expanded.controlsidebar' - }; - - // ControlSidebar Class Definition - // =============================== - var ControlSidebar = function (element, options) { - this.element = element; - this.options = options; - this.hasBindedResize = false; - - this.init(); - }; - - ControlSidebar.prototype.init = function () { - // Add click listener if the element hasn't been - // initialized using the data API - if (!$(this.element).is(Selector.data)) { - $(this).on('click', this.toggle); - } - - this.fix(); - $(window).resize(function () { - this.fix(); - }.bind(this)); - }; - - ControlSidebar.prototype.toggle = function (event) { - if (event) event.preventDefault(); - - this.fix(); - - if (!$(Selector.sidebar).is(Selector.open) && !$('body').is(Selector.open)) { - this.expand(); - } else { - this.collapse(); - } - }; - - ControlSidebar.prototype.expand = function () { - $(Selector.sidebar).show(); - if (!this.options.slide) { - $('body').addClass(ClassName.open); - } else { - $(Selector.sidebar).addClass(ClassName.open); - } - - - $(this.element).trigger($.Event(Event.expanded)); - }; - - ControlSidebar.prototype.collapse = function () { - $('body, ' + Selector.sidebar).removeClass(ClassName.open); - $(Selector.sidebar).fadeOut(); - $(this.element).trigger($.Event(Event.collapsed)); - }; - - ControlSidebar.prototype.fix = function () { - if ($('body').is(Selector.boxed)) { - this._fixForBoxed($(Selector.bg)); - } - }; - - // Private - - ControlSidebar.prototype._fixForBoxed = function (bg) { - bg.css({ - position: 'absolute', - height : $(Selector.wrapper).height() - }); - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option); - $this.data(DataKey, (data = new ControlSidebar($this, options))); - } - - if (typeof option == 'string') data.toggle(); - }); - } - - var old = $.fn.controlSidebar; - - $.fn.controlSidebar = Plugin; - $.fn.controlSidebar.Constructor = ControlSidebar; - - // No Conflict Mode - // ================ - $.fn.controlSidebar.noConflict = function () { - $.fn.controlSidebar = old; - return this; - }; - - // ControlSidebar Data API - // ======================= - $(document).on('click', Selector.data, function (event) { - if (event) event.preventDefault(); - Plugin.call($(this), 'toggle'); - }); - -}(jQuery); - - -/* DirectChat() - * =============== - * Toggles the state of the control sidebar - * - * @Usage: $('#my-chat-box').directChat() - * or add [data-widget="direct-chat"] to the trigger - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.directchat'; - - var Selector = { - data: '[data-widget="chat-pane-toggle"]', - box : '.direct-chat' - }; - - var ClassName = { - open: 'direct-chat-contacts-open' - }; - - // DirectChat Class Definition - // =========================== - var DirectChat = function (element) { - this.element = element; - }; - - DirectChat.prototype.toggle = function ($trigger) { - $trigger.parents(Selector.box).first().toggleClass(ClassName.open); - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - $this.data(DataKey, (data = new DirectChat($this))); - } - - if (typeof option == 'string') data.toggle($this); - }); - } - - var old = $.fn.directChat; - - $.fn.directChat = Plugin; - $.fn.directChat.Constructor = DirectChat; - - // No Conflict Mode - // ================ - $.fn.directChat.noConflict = function () { - $.fn.directChat = old; - return this; - }; - - // DirectChat Data API - // =================== - $(document).on('click', Selector.data, function (event) { - if (event) event.preventDefault(); - Plugin.call($(this), 'toggle'); - }); - -}(jQuery); - - -/* PushMenu() - * ========== - * Adds the push menu functionality to the sidebar. - * - * @usage: $('.btn').pushMenu(options) - * or add [data-toggle="push-menu"] to any button - * Pass any option as data-option="value" - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.pushmenu'; - - var Default = { - collapseScreenSize : 767, - expandOnHover : false, - expandTransitionDelay: 200 - }; - - var Selector = { - collapsed : '.sidebar-collapse', - open : '.sidebar-open', - mainSidebar : '.main-sidebar', - contentWrapper: '.content-wrapper', - searchInput : '.sidebar-form .form-control', - button : '[data-toggle="push-menu"]', - mini : '.sidebar-mini', - expanded : '.sidebar-expanded-on-hover', - layoutFixed : '.fixed' - }; - - var ClassName = { - collapsed : 'sidebar-collapse', - open : 'sidebar-open', - mini : 'sidebar-mini', - expanded : 'sidebar-expanded-on-hover', - expandFeature: 'sidebar-mini-expand-feature', - layoutFixed : 'fixed' - }; - - var Event = { - expanded : 'expanded.pushMenu', - collapsed: 'collapsed.pushMenu' - }; - - // PushMenu Class Definition - // ========================= - var PushMenu = function (options) { - this.options = options; - this.init(); - }; - - PushMenu.prototype.init = function () { - if (this.options.expandOnHover - || ($('body').is(Selector.mini + Selector.layoutFixed))) { - this.expandOnHover(); - $('body').addClass(ClassName.expandFeature); - } - - $(Selector.contentWrapper).click(function () { - // Enable hide menu when clicking on the content-wrapper on small screens - if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) { - this.close(); - } - }.bind(this)); - - // __Fix for android devices - $(Selector.searchInput).click(function (e) { - e.stopPropagation(); - }); - }; - - PushMenu.prototype.toggle = function () { - var windowWidth = $(window).width(); - var isOpen = !$('body').hasClass(ClassName.collapsed); - - if (windowWidth <= this.options.collapseScreenSize) { - isOpen = $('body').hasClass(ClassName.open); - } - - if (!isOpen) { - this.open(); - } else { - this.close(); - } - }; - - PushMenu.prototype.open = function () { - var windowWidth = $(window).width(); - - if (windowWidth > this.options.collapseScreenSize) { - $('body').removeClass(ClassName.collapsed) - .trigger($.Event(Event.expanded)); - } - else { - $('body').addClass(ClassName.open) - .trigger($.Event(Event.expanded)); - } - }; - - PushMenu.prototype.close = function () { - var windowWidth = $(window).width(); - if (windowWidth > this.options.collapseScreenSize) { - $('body').addClass(ClassName.collapsed) - .trigger($.Event(Event.collapsed)); - } else { - $('body').removeClass(ClassName.open + ' ' + ClassName.collapsed) - .trigger($.Event(Event.collapsed)); - } - }; - - PushMenu.prototype.expandOnHover = function () { - $(Selector.mainSidebar).hover(function () { - if ($('body').is(Selector.mini + Selector.collapsed) - && $(window).width() > this.options.collapseScreenSize) { - this.expand(); - } - }.bind(this), function () { - if ($('body').is(Selector.expanded)) { - this.collapse(); - } - }.bind(this)); - }; - - PushMenu.prototype.expand = function () { - setTimeout(function () { - $('body').removeClass(ClassName.collapsed) - .addClass(ClassName.expanded); - }, this.options.expandTransitionDelay); - }; - - PushMenu.prototype.collapse = function () { - setTimeout(function () { - $('body').removeClass(ClassName.expanded) - .addClass(ClassName.collapsed); - }, this.options.expandTransitionDelay); - }; - - // PushMenu Plugin Definition - // ========================== - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option); - $this.data(DataKey, (data = new PushMenu(options))); - } - - if (option === 'toggle') data.toggle(); - }); - } - - var old = $.fn.pushMenu; - - $.fn.pushMenu = Plugin; - $.fn.pushMenu.Constructor = PushMenu; - - // No Conflict Mode - // ================ - $.fn.pushMenu.noConflict = function () { - $.fn.pushMenu = old; - return this; - }; - - // Data API - // ======== - $(document).on('click', Selector.button, function (e) { - e.preventDefault(); - Plugin.call($(this), 'toggle'); - }); - $(window).on('load', function () { - Plugin.call($(Selector.button)); - }); -}(jQuery); - - -/* TodoList() - * ========= - * Converts a list into a todoList. - * - * @Usage: $('.my-list').todoList(options) - * or add [data-widget="todo-list"] to the ul element - * Pass any option as data-option="value" - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.todolist'; - - var Default = { - onCheck : function (item) { - return item; - }, - onUnCheck: function (item) { - return item; - } - }; - - var Selector = { - data: '[data-widget="todo-list"]' - }; - - var ClassName = { - done: 'done' - }; - - // TodoList Class Definition - // ========================= - var TodoList = function (element, options) { - this.element = element; - this.options = options; - - this._setUpListeners(); - }; - - TodoList.prototype.toggle = function (item) { - item.parents(Selector.li).first().toggleClass(ClassName.done); - if (!item.prop('checked')) { - this.unCheck(item); - return; - } - - this.check(item); - }; - - TodoList.prototype.check = function (item) { - this.options.onCheck.call(item); - }; - - TodoList.prototype.unCheck = function (item) { - this.options.onUnCheck.call(item); - }; - - // Private - - TodoList.prototype._setUpListeners = function () { - var that = this; - $(this.element).on('change ifChanged', 'input:checkbox', function () { - that.toggle($(this)); - }); - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option); - $this.data(DataKey, (data = new TodoList($this, options))); - } - - if (typeof data == 'string') { - if (typeof data[option] == 'undefined') { - throw new Error('No method named ' + option); - } - data[option](); - } - }); - } - - var old = $.fn.todoList; - - $.fn.todoList = Plugin; - $.fn.todoList.Constructor = TodoList; - - // No Conflict Mode - // ================ - $.fn.todoList.noConflict = function () { - $.fn.todoList = old; - return this; - }; - - // TodoList Data API - // ================= - $(window).on('load', function () { - $(Selector.data).each(function () { - Plugin.call($(this)); - }); - }); - -}(jQuery); - - -/* Tree() - * ====== - * Converts a nested list into a multilevel - * tree view menu. - * - * @Usage: $('.my-menu').tree(options) - * or add [data-widget="tree"] to the ul element - * Pass any option as data-option="value" - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.tree'; - - var Default = { - animationSpeed: 500, - accordion : true, - followLink : false, - trigger : '.treeview a' - }; - - var Selector = { - tree : '.tree', - treeview : '.treeview', - treeviewMenu: '.treeview-menu', - open : '.menu-open, .active', - li : 'li', - data : '[data-widget="tree"]', - active : '.active' - }; - - var ClassName = { - open: 'menu-open', - tree: 'tree' - }; - - var Event = { - collapsed: 'collapsed.tree', - expanded : 'expanded.tree' - }; - - // Tree Class Definition - // ===================== - var Tree = function (element, options) { - this.element = element; - this.options = options; - - $(this.element).addClass(ClassName.tree); - - $(Selector.treeview + Selector.active, this.element).addClass(ClassName.open); - - this._setUpListeners(); - }; - - Tree.prototype.toggle = function (link, event) { - var treeviewMenu = link.next(Selector.treeviewMenu); - var parentLi = link.parent(); - var isOpen = parentLi.hasClass(ClassName.open); - - if (!parentLi.is(Selector.treeview)) { - return; - } - - if (!this.options.followLink || link.attr('href') === '#') { - event.preventDefault(); - } - - if (isOpen) { - this.collapse(treeviewMenu, parentLi); - } else { - this.expand(treeviewMenu, parentLi); - } - }; - - Tree.prototype.expand = function (tree, parent) { - var expandedEvent = $.Event(Event.expanded); - - if (this.options.accordion) { - var openMenuLi = parent.siblings(Selector.open); - var openTree = openMenuLi.children(Selector.treeviewMenu); - this.collapse(openTree, openMenuLi); - } - - parent.addClass(ClassName.open); - tree.slideDown(this.options.animationSpeed, function () { - $(this.element).trigger(expandedEvent); - parent.height('auto'); - }.bind(this)); - }; - - Tree.prototype.collapse = function (tree, parentLi) { - var collapsedEvent = $.Event(Event.collapsed); - - //tree.find(Selector.open).removeClass(ClassName.open); - parentLi.removeClass(ClassName.open); - tree.slideUp(this.options.animationSpeed, function () { - //tree.find(Selector.open + ' > ' + Selector.treeview).slideUp(); - $(this.element).trigger(collapsedEvent); - - // Collapse child items - parentLi.find(Selector.treeview).removeClass(ClassName.open).find(Selector.treeviewMenu).hide(); - }.bind(this)); - }; - - // Private - - Tree.prototype._setUpListeners = function () { - var that = this; - - $(this.element).on('click', this.options.trigger, function (event) { - that.toggle($(this), event); - }); - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option); - $this.data(DataKey, new Tree($this, options)); - } - }); - } - - var old = $.fn.tree; - - $.fn.tree = Plugin; - $.fn.tree.Constructor = Tree; - - // No Conflict Mode - // ================ - $.fn.tree.noConflict = function () { - $.fn.tree = old; - return this; - }; - - // Tree Data API - // ============= - $(window).on('load', function () { - $(Selector.data).each(function () { - Plugin.call($(this)); - }); - }); - -}(jQuery); - - -/* Layout() - * ======== - * Implements AdminLTE layout. - * Fixes the layout height in case min-height fails. - * - * @usage activated automatically upon window load. - * Configure any options by passing data-option="value" - * to the body tag. - */ -+function ($) { - 'use strict'; - - var DataKey = 'lte.layout'; - - var Default = { - slimscroll : true, - resetHeight: true - }; - - var Selector = { - wrapper : '.wrapper', - contentWrapper: '.content-wrapper', - layoutBoxed : '.layout-boxed', - mainFooter : '.main-footer', - mainHeader : '.main-header', - mainSidebar : '.main-sidebar', - slimScrollDiv : 'slimScrollDiv', - sidebar : '.sidebar', - controlSidebar: '.control-sidebar', - fixed : '.fixed', - sidebarMenu : '.sidebar-menu', - logo : '.main-header .logo' - }; - - var ClassName = { - fixed : 'fixed', - holdTransition: 'hold-transition' - }; - - var Layout = function (options) { - this.options = options; - this.bindedResize = false; - this.activate(); - }; - - Layout.prototype.activate = function () { - this.fix(); - this.fixSidebar(); - - $('body').removeClass(ClassName.holdTransition); - - if (this.options.resetHeight) { - $('body, html, ' + Selector.wrapper).css({ - 'height' : 'auto', - 'min-height': '100%' - }); - } - - if (!this.bindedResize) { - $(window).resize(function () { - this.fix(); - this.fixSidebar(); - - $(Selector.logo + ', ' + Selector.sidebar).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () { - this.fix(); - this.fixSidebar(); - }.bind(this)); - }.bind(this)); - - this.bindedResize = true; - } - - $(Selector.sidebarMenu).on('expanded.tree', function () { - this.fix(); - this.fixSidebar(); - }.bind(this)); - - $(Selector.sidebarMenu).on('collapsed.tree', function () { - this.fix(); - this.fixSidebar(); - }.bind(this)); - }; - - Layout.prototype.fix = function () { - // Remove overflow from .wrapper if layout-boxed exists - $(Selector.layoutBoxed + ' > ' + Selector.wrapper).css('overflow', 'hidden'); - - // Get window height and the wrapper height - var footerHeight = $(Selector.mainFooter).outerHeight() || 0; - var headerHeight = $(Selector.mainHeader).outerHeight() || 0; - var neg = headerHeight + footerHeight; - var windowHeight = $(window).height(); - var sidebarHeight = $(Selector.sidebar).outerHeight() || 0; - - // Set the min-height of the content and sidebar based on - // the height of the document. - if ($('body').hasClass(ClassName.fixed)) { - $(Selector.contentWrapper).css('min-height', windowHeight - footerHeight); - } else { - var postSetHeight; - - if (windowHeight >= sidebarHeight + headerHeight) { - $(Selector.contentWrapper).css('min-height', windowHeight - neg); - postSetHeight = windowHeight - neg; - } else { - $(Selector.contentWrapper).css('min-height', sidebarHeight); - postSetHeight = sidebarHeight; - } - - // Fix for the control sidebar height - var $controlSidebar = $(Selector.controlSidebar); - if (typeof $controlSidebar !== 'undefined') { - if ($controlSidebar.height() > postSetHeight) - $(Selector.contentWrapper).css('min-height', $controlSidebar.height()); - } - } - }; - - Layout.prototype.fixSidebar = function () { - // Make sure the body tag has the .fixed class - if (!$('body').hasClass(ClassName.fixed)) { - if (typeof $.fn.slimScroll !== 'undefined') { - $(Selector.sidebar).slimScroll({ destroy: true }).height('auto'); - } - return; - } - - // Enable slimscroll for fixed layout - if (this.options.slimscroll) { - if (typeof $.fn.slimScroll !== 'undefined') { - // Destroy if it exists - // $(Selector.sidebar).slimScroll({ destroy: true }).height('auto') - - // Add slimscroll - if ($(Selector.mainSidebar).find(Selector.slimScrollDiv).length === 0) { - $(Selector.sidebar).slimScroll({ - height: ($(window).height() - $(Selector.mainHeader).height()) + 'px' - }); - } - } - } - }; - - // Plugin Definition - // ================= - function Plugin(option) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DataKey); - - if (!data) { - var options = $.extend({}, Default, $this.data(), typeof option === 'object' && option); - $this.data(DataKey, (data = new Layout(options))); - } - - if (typeof option === 'string') { - if (typeof data[option] === 'undefined') { - throw new Error('No method named ' + option); - } - data[option](); - } - }); - } - - var old = $.fn.layout; - - $.fn.layout = Plugin; - $.fn.layout.Constuctor = Layout; - - // No conflict mode - // ================ - $.fn.layout.noConflict = function () { - $.fn.layout = old; - return this; - }; - - // Layout DATA-API - // =============== - $(window).on('load', function () { - Plugin.call($('body')); - }); -}(jQuery); diff --git a/vendor/blobt/assets/adminlte/js/adminlte.min.js b/vendor/blobt/assets/adminlte/js/adminlte.min.js deleted file mode 100644 index 7c2b75b..0000000 --- a/vendor/blobt/assets/adminlte/js/adminlte.min.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! AdminLTE app.js -* ================ -* Main JS application file for AdminLTE v2. This file -* should be included in all pages. It controls some layout -* options and implements exclusive AdminLTE plugins. -* -* @author Colorlib -* @support -* @version 2.4.15 -* @repository git://github.com/ColorlibHQ/AdminLTE.git -* @license MIT -*/ -if("undefined"==typeof jQuery)throw new Error("AdminLTE requires jQuery");+function(a){"use strict";function b(b){return this.each(function(){var e=a(this),g=e.data(c);if(!g){var h=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,g=new f(e,h))}if("string"==typeof g){if(void 0===g[b])throw new Error("No method named "+b);g[b]()}})}var c="lte.boxrefresh",d={source:"",params:{},trigger:".refresh-btn",content:".box-body",loadInContent:!0,responseType:"",overlayTemplate:'
            ',onLoadStart:function(){},onLoadDone:function(a){return a}},e={data:'[data-widget="box-refresh"]'},f=function(b,c){if(this.element=b,this.options=c,this.$overlay=a(c.overlayTemplate),""===c.source)throw new Error("Source url was not defined. Please specify a url in your BoxRefresh source option.");this._setUpListeners(),this.load()};f.prototype.load=function(){this._addOverlay(),this.options.onLoadStart.call(a(this)),a.get(this.options.source,this.options.params,function(b){this.options.loadInContent&&a(this.element).find(this.options.content).html(b),this.options.onLoadDone.call(a(this),b),this._removeOverlay()}.bind(this),""!==this.options.responseType&&this.options.responseType)},f.prototype._setUpListeners=function(){a(this.element).on("click",this.options.trigger,function(a){a&&a.preventDefault(),this.load()}.bind(this))},f.prototype._addOverlay=function(){a(this.element).append(this.$overlay)},f.prototype._removeOverlay=function(){a(this.$overlay).remove()};var g=a.fn.boxRefresh;a.fn.boxRefresh=b,a.fn.boxRefresh.Constructor=f,a.fn.boxRefresh.noConflict=function(){return a.fn.boxRefresh=g,this},a(window).on("load",function(){a(e.data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var g=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new h(e,g))}if("string"==typeof b){if(void 0===f[b])throw new Error("No method named "+b);f[b]()}})}var c="lte.boxwidget",d={animationSpeed:500,collapseTrigger:'[data-widget="collapse"]',removeTrigger:'[data-widget="remove"]',collapseIcon:"fa-minus",expandIcon:"fa-plus",removeIcon:"fa-times"},e={data:".box",collapsed:".collapsed-box",header:".box-header",body:".box-body",footer:".box-footer",tools:".box-tools"},f={collapsed:"collapsed-box"},g={collapsing:"collapsing.boxwidget",collapsed:"collapsed.boxwidget",expanding:"expanding.boxwidget",expanded:"expanded.boxwidget",removing:"removing.boxwidget",removed:"removed.boxwidget"},h=function(a,b){this.element=a,this.options=b,this._setUpListeners()};h.prototype.toggle=function(){a(this.element).is(e.collapsed)?this.expand():this.collapse()},h.prototype.expand=function(){var b=a.Event(g.expanded),c=a.Event(g.expanding),d=this.options.collapseIcon,h=this.options.expandIcon;a(this.element).removeClass(f.collapsed),a(this.element).children(e.header+", "+e.body+", "+e.footer).children(e.tools).find("."+h).removeClass(h).addClass(d),a(this.element).children(e.body+", "+e.footer).slideDown(this.options.animationSpeed,function(){a(this.element).trigger(b)}.bind(this)).trigger(c)},h.prototype.collapse=function(){var b=a.Event(g.collapsed),c=a.Event(g.collapsing),d=this.options.collapseIcon,h=this.options.expandIcon;a(this.element).children(e.header+", "+e.body+", "+e.footer).children(e.tools).find("."+d).removeClass(d).addClass(h),a(this.element).children(e.body+", "+e.footer).slideUp(this.options.animationSpeed,function(){a(this.element).addClass(f.collapsed),a(this.element).trigger(b)}.bind(this)).trigger(c)},h.prototype.remove=function(){var b=a.Event(g.removed),c=a.Event(g.removing);a(this.element).slideUp(this.options.animationSpeed,function(){a(this.element).trigger(b),a(this.element).remove()}.bind(this)).trigger(c)},h.prototype._setUpListeners=function(){var b=this;a(this.element).on("click",this.options.collapseTrigger,function(c){return c&&c.preventDefault(),b.toggle(a(this)),!1}),a(this.element).on("click",this.options.removeTrigger,function(c){return c&&c.preventDefault(),b.remove(a(this)),!1})};var i=a.fn.boxWidget;a.fn.boxWidget=b,a.fn.boxWidget.Constructor=h,a.fn.boxWidget.noConflict=function(){return a.fn.boxWidget=i,this},a(window).on("load",function(){a(e.data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var g=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new h(e,g))}"string"==typeof b&&f.toggle()})}var c="lte.controlsidebar",d={slide:!0},e={sidebar:".control-sidebar",data:'[data-toggle="control-sidebar"]',open:".control-sidebar-open",bg:".control-sidebar-bg",wrapper:".wrapper",content:".content-wrapper",boxed:".layout-boxed"},f={open:"control-sidebar-open",fixed:"fixed"},g={collapsed:"collapsed.controlsidebar",expanded:"expanded.controlsidebar"},h=function(a,b){this.element=a,this.options=b,this.hasBindedResize=!1,this.init()};h.prototype.init=function(){a(this.element).is(e.data)||a(this).on("click",this.toggle),this.fix(),a(window).resize(function(){this.fix()}.bind(this))},h.prototype.toggle=function(b){b&&b.preventDefault(),this.fix(),a(e.sidebar).is(e.open)||a("body").is(e.open)?this.collapse():this.expand()},h.prototype.expand=function(){a(e.sidebar).show(),this.options.slide?a(e.sidebar).addClass(f.open):a("body").addClass(f.open),a(this.element).trigger(a.Event(g.expanded))},h.prototype.collapse=function(){a("body, "+e.sidebar).removeClass(f.open),a(e.sidebar).fadeOut(),a(this.element).trigger(a.Event(g.collapsed))},h.prototype.fix=function(){a("body").is(e.boxed)&&this._fixForBoxed(a(e.bg))},h.prototype._fixForBoxed=function(b){b.css({position:"absolute",height:a(e.wrapper).height()})};var i=a.fn.controlSidebar;a.fn.controlSidebar=b,a.fn.controlSidebar.Constructor=h,a.fn.controlSidebar.noConflict=function(){return a.fn.controlSidebar=i,this},a(document).on("click",e.data,function(c){c&&c.preventDefault(),b.call(a(this),"toggle")})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data(c);e||d.data(c,e=new f(d)),"string"==typeof b&&e.toggle(d)})}var c="lte.directchat",d={data:'[data-widget="chat-pane-toggle"]',box:".direct-chat"},e={open:"direct-chat-contacts-open"},f=function(a){this.element=a};f.prototype.toggle=function(a){a.parents(d.box).first().toggleClass(e.open)};var g=a.fn.directChat;a.fn.directChat=b,a.fn.directChat.Constructor=f,a.fn.directChat.noConflict=function(){return a.fn.directChat=g,this},a(document).on("click",d.data,function(c){c&&c.preventDefault(),b.call(a(this),"toggle")})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var g=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new h(g))}"toggle"===b&&f.toggle()})}var c="lte.pushmenu",d={collapseScreenSize:767,expandOnHover:!1,expandTransitionDelay:200},e={collapsed:".sidebar-collapse",open:".sidebar-open",mainSidebar:".main-sidebar",contentWrapper:".content-wrapper",searchInput:".sidebar-form .form-control",button:'[data-toggle="push-menu"]',mini:".sidebar-mini",expanded:".sidebar-expanded-on-hover",layoutFixed:".fixed"},f={collapsed:"sidebar-collapse",open:"sidebar-open",mini:"sidebar-mini",expanded:"sidebar-expanded-on-hover",expandFeature:"sidebar-mini-expand-feature",layoutFixed:"fixed"},g={expanded:"expanded.pushMenu",collapsed:"collapsed.pushMenu"},h=function(a){this.options=a,this.init()};h.prototype.init=function(){(this.options.expandOnHover||a("body").is(e.mini+e.layoutFixed))&&(this.expandOnHover(),a("body").addClass(f.expandFeature)),a(e.contentWrapper).click(function(){a(window).width()<=this.options.collapseScreenSize&&a("body").hasClass(f.open)&&this.close()}.bind(this)),a(e.searchInput).click(function(a){a.stopPropagation()})},h.prototype.toggle=function(){var b=a(window).width(),c=!a("body").hasClass(f.collapsed);b<=this.options.collapseScreenSize&&(c=a("body").hasClass(f.open)),c?this.close():this.open()},h.prototype.open=function(){a(window).width()>this.options.collapseScreenSize?a("body").removeClass(f.collapsed).trigger(a.Event(g.expanded)):a("body").addClass(f.open).trigger(a.Event(g.expanded))},h.prototype.close=function(){a(window).width()>this.options.collapseScreenSize?a("body").addClass(f.collapsed).trigger(a.Event(g.collapsed)):a("body").removeClass(f.open+" "+f.collapsed).trigger(a.Event(g.collapsed))},h.prototype.expandOnHover=function(){a(e.mainSidebar).hover(function(){a("body").is(e.mini+e.collapsed)&&a(window).width()>this.options.collapseScreenSize&&this.expand()}.bind(this),function(){a("body").is(e.expanded)&&this.collapse()}.bind(this))},h.prototype.expand=function(){setTimeout(function(){a("body").removeClass(f.collapsed).addClass(f.expanded)},this.options.expandTransitionDelay)},h.prototype.collapse=function(){setTimeout(function(){a("body").removeClass(f.expanded).addClass(f.collapsed)},this.options.expandTransitionDelay)};var i=a.fn.pushMenu;a.fn.pushMenu=b,a.fn.pushMenu.Constructor=h,a.fn.pushMenu.noConflict=function(){return a.fn.pushMenu=i,this},a(document).on("click",e.button,function(c){c.preventDefault(),b.call(a(this),"toggle")}),a(window).on("load",function(){b.call(a(e.button))})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var h=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new g(e,h))}if("string"==typeof f){if(void 0===f[b])throw new Error("No method named "+b);f[b]()}})}var c="lte.todolist",d={onCheck:function(a){return a},onUnCheck:function(a){return a}},e={data:'[data-widget="todo-list"]'},f={done:"done"},g=function(a,b){this.element=a,this.options=b,this._setUpListeners()};g.prototype.toggle=function(a){if(a.parents(e.li).first().toggleClass(f.done),!a.prop("checked"))return void this.unCheck(a);this.check(a)},g.prototype.check=function(a){this.options.onCheck.call(a)},g.prototype.unCheck=function(a){this.options.onUnCheck.call(a)},g.prototype._setUpListeners=function(){var b=this;a(this.element).on("change ifChanged","input:checkbox",function(){b.toggle(a(this))})};var h=a.fn.todoList;a.fn.todoList=b,a.fn.todoList.Constructor=g,a.fn.todoList.noConflict=function(){return a.fn.todoList=h,this},a(window).on("load",function(){a(e.data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this);if(!e.data(c)){var f=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,new h(e,f))}})}var c="lte.tree",d={animationSpeed:500,accordion:!0,followLink:!1,trigger:".treeview a"},e={tree:".tree",treeview:".treeview",treeviewMenu:".treeview-menu",open:".menu-open, .active",li:"li",data:'[data-widget="tree"]',active:".active"},f={open:"menu-open",tree:"tree"},g={collapsed:"collapsed.tree",expanded:"expanded.tree"},h=function(b,c){this.element=b,this.options=c,a(this.element).addClass(f.tree),a(e.treeview+e.active,this.element).addClass(f.open),this._setUpListeners()};h.prototype.toggle=function(a,b){var c=a.next(e.treeviewMenu),d=a.parent(),g=d.hasClass(f.open);d.is(e.treeview)&&(this.options.followLink&&"#"!==a.attr("href")||b.preventDefault(),g?this.collapse(c,d):this.expand(c,d))},h.prototype.expand=function(b,c){var d=a.Event(g.expanded);if(this.options.accordion){var h=c.siblings(e.open),i=h.children(e.treeviewMenu);this.collapse(i,h)}c.addClass(f.open),b.slideDown(this.options.animationSpeed,function(){a(this.element).trigger(d),c.height("auto")}.bind(this))},h.prototype.collapse=function(b,c){var d=a.Event(g.collapsed);c.removeClass(f.open),b.slideUp(this.options.animationSpeed,function(){a(this.element).trigger(d),c.find(e.treeview).removeClass(f.open).find(e.treeviewMenu).hide()}.bind(this))},h.prototype._setUpListeners=function(){var b=this;a(this.element).on("click",this.options.trigger,function(c){b.toggle(a(this),c)})};var i=a.fn.tree;a.fn.tree=b,a.fn.tree.Constructor=h,a.fn.tree.noConflict=function(){return a.fn.tree=i,this},a(window).on("load",function(){a(e.data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var h=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new g(h))}if("string"==typeof b){if(void 0===f[b])throw new Error("No method named "+b);f[b]()}})}var c="lte.layout",d={slimscroll:!0,resetHeight:!0},e={wrapper:".wrapper",contentWrapper:".content-wrapper",layoutBoxed:".layout-boxed",mainFooter:".main-footer",mainHeader:".main-header",mainSidebar:".main-sidebar",slimScrollDiv:"slimScrollDiv",sidebar:".sidebar",controlSidebar:".control-sidebar",fixed:".fixed",sidebarMenu:".sidebar-menu",logo:".main-header .logo"},f={fixed:"fixed",holdTransition:"hold-transition"},g=function(a){this.options=a,this.bindedResize=!1,this.activate()};g.prototype.activate=function(){this.fix(),this.fixSidebar(),a("body").removeClass(f.holdTransition),this.options.resetHeight&&a("body, html, "+e.wrapper).css({height:"auto","min-height":"100%"}),this.bindedResize||(a(window).resize(function(){this.fix(),this.fixSidebar(),a(e.logo+", "+e.sidebar).one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(){this.fix(),this.fixSidebar()}.bind(this))}.bind(this)),this.bindedResize=!0),a(e.sidebarMenu).on("expanded.tree",function(){this.fix(),this.fixSidebar()}.bind(this)),a(e.sidebarMenu).on("collapsed.tree",function(){this.fix(),this.fixSidebar()}.bind(this))},g.prototype.fix=function(){a(e.layoutBoxed+" > "+e.wrapper).css("overflow","hidden");var b=a(e.mainFooter).outerHeight()||0,c=a(e.mainHeader).outerHeight()||0,d=c+b,g=a(window).height(),h=a(e.sidebar).outerHeight()||0;if(a("body").hasClass(f.fixed))a(e.contentWrapper).css("min-height",g-b);else{var i;g>=h+c?(a(e.contentWrapper).css("min-height",g-d),i=g-d):(a(e.contentWrapper).css("min-height",h),i=h);var j=a(e.controlSidebar);void 0!==j&&j.height()>i&&a(e.contentWrapper).css("min-height",j.height())}},g.prototype.fixSidebar=function(){if(!a("body").hasClass(f.fixed))return void(void 0!==a.fn.slimScroll&&a(e.sidebar).slimScroll({destroy:!0}).height("auto"));this.options.slimscroll&&void 0!==a.fn.slimScroll&&0===a(e.mainSidebar).find(e.slimScrollDiv).length&&a(e.sidebar).slimScroll({height:a(window).height()-a(e.mainHeader).height()+"px"})};var h=a.fn.layout;a.fn.layout=b,a.fn.layout.Constuctor=g,a.fn.layout.noConflict=function(){return a.fn.layout=h,this},a(window).on("load",function(){b.call(a("body"))})}(jQuery); \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/alertify.js b/vendor/blobt/assets/alertifyjs/alertify.js deleted file mode 100644 index 527ec85..0000000 --- a/vendor/blobt/assets/alertifyjs/alertify.js +++ /dev/null @@ -1,3609 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -( function ( window ) { - 'use strict'; - - /** - * Keys enum - * @type {Object} - */ - var keys = { - ENTER: 13, - ESC: 27, - F1: 112, - F12: 123, - LEFT: 37, - RIGHT: 39 - }; - /** - * Default options - * @type {Object} - */ - var defaults = { - autoReset:true, - basic:false, - closable:true, - closableByDimmer:true, - frameless:false, - maintainFocus:true, //global default not per instance, applies to all dialogs - maximizable:true, - modal:true, - movable:true, - moveBounded:false, - overflow:true, - padding: true, - pinnable:true, - pinned:true, - preventBodyShift:false, //global default not per instance, applies to all dialogs - resizable:true, - startMaximized:false, - transition:'pulse', - notifier:{ - delay:5, - position:'bottom-right', - closeButton:false - }, - glossary:{ - title:'AlertifyJS', - ok: 'OK', - cancel: 'Cancel', - acccpt: 'Accept', - deny: 'Deny', - confirm: 'Confirm', - decline: 'Decline', - close: 'Close', - maximize: 'Maximize', - restore: 'Restore', - }, - theme:{ - input:'ajs-input', - ok:'ajs-ok', - cancel:'ajs-cancel', - } - }; - - //holds open dialogs instances - var openDialogs = []; - - /** - * [Helper] Adds the specified class(es) to the element. - * - * @element {node} The element - * @className {string} One or more space-separated classes to be added to the class attribute of the element. - * - * @return {undefined} - */ - function addClass(element,classNames){ - element.className += ' ' + classNames; - } - - /** - * [Helper] Removes the specified class(es) from the element. - * - * @element {node} The element - * @className {string} One or more space-separated classes to be removed from the class attribute of the element. - * - * @return {undefined} - */ - function removeClass(element, classNames) { - var original = element.className.split(' '); - var toBeRemoved = classNames.split(' '); - for (var x = 0; x < toBeRemoved.length; x += 1) { - var index = original.indexOf(toBeRemoved[x]); - if (index > -1){ - original.splice(index,1); - } - } - element.className = original.join(' '); - } - - /** - * [Helper] Checks if the document is RTL - * - * @return {Boolean} True if the document is RTL, false otherwise. - */ - function isRightToLeft(){ - return window.getComputedStyle(document.body).direction === 'rtl'; - } - /** - * [Helper] Get the document current scrollTop - * - * @return {Number} current document scrollTop value - */ - function getScrollTop(){ - return ((document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop); - } - - /** - * [Helper] Get the document current scrollLeft - * - * @return {Number} current document scrollLeft value - */ - function getScrollLeft(){ - return ((document.documentElement && document.documentElement.scrollLeft) || document.body.scrollLeft); - } - - /** - * Helper: clear contents - * - */ - function clearContents(element){ - while (element.lastChild) { - element.removeChild(element.lastChild); - } - } - /** - * Extends a given prototype by merging properties from base into sub. - * - * @sub {Object} sub The prototype being overwritten. - * @base {Object} base The prototype being written. - * - * @return {Object} The extended prototype. - */ - function copy(src) { - if(null === src){ - return src; - } - var cpy; - if(Array.isArray(src)){ - cpy = []; - for(var x=0;x 0) { - var args = []; - for (var x = 0; x < arguments.length; x += 1) { - args.push(arguments[x]); - } - args.push(context); - return method.apply(context, args); - } - return method.apply(context, [null, context]); - }; - } - /** - * Helper for creating a dialog close event. - * - * @return {object} - */ - function createCloseEvent(index, button) { - return { - index: index, - button: button, - cancel: false - }; - } - /** - * Helper for dispatching events. - * - * @param {string} evenType The type of the event to disptach. - * @param {object} instance The dialog instance disptaching the event. - * - * @return {any} The result of the invoked function. - */ - function dispatchEvent(eventType, instance) { - if ( typeof instance.get(eventType) === 'function' ) { - return instance.get(eventType).call(instance); - } - } - - - /** - * Super class for all dialogs - * - * @return {Object} base dialog prototype - */ - var dialog = (function () { - var //holds the list of used keys. - usedKeys = [], - //dummy variable, used to trigger dom reflow. - reflow = null, - //holds body tab index in case it has any. - tabindex = false, - //condition for detecting safari - isSafari = window.navigator.userAgent.indexOf('Safari') > -1 && window.navigator.userAgent.indexOf('Chrome') < 0, - //dialog building blocks - templates = { - dimmer:'
            ', - /*tab index required to fire click event before body focus*/ - modal: '
            ', - dialog: '
            ', - reset: '', - commands: '
            ', - header: '
            ', - body: '
            ', - content: '
            ', - footer: '', - buttons: { primary: '
            ', auxiliary: '
            ' }, - button: '', - resizeHandle: '
            ', - }, - //common class names - classes = { - animationIn: 'ajs-in', - animationOut: 'ajs-out', - base: 'alertify', - basic:'ajs-basic', - capture: 'ajs-capture', - closable:'ajs-closable', - fixed: 'ajs-fixed', - frameless:'ajs-frameless', - hidden: 'ajs-hidden', - maximize: 'ajs-maximize', - maximized: 'ajs-maximized', - maximizable:'ajs-maximizable', - modeless: 'ajs-modeless', - movable: 'ajs-movable', - noSelection: 'ajs-no-selection', - noOverflow: 'ajs-no-overflow', - noPadding:'ajs-no-padding', - pin:'ajs-pin', - pinnable:'ajs-pinnable', - prefix: 'ajs-', - resizable: 'ajs-resizable', - restore: 'ajs-restore', - shake:'ajs-shake', - unpinned:'ajs-unpinned', - }; - - /** - * Helper: initializes the dialog instance - * - * @return {Number} The total count of currently open modals. - */ - function initialize(instance){ - - if(!instance.__internal){ - - //no need to expose init after this. - delete instance.__init; - - //keep a copy of initial dialog settings - if(!instance.__settings){ - instance.__settings = copy(instance.settings); - } - - //get dialog buttons/focus setup - var setup; - if(typeof instance.setup === 'function'){ - setup = instance.setup(); - setup.options = setup.options || {}; - setup.focus = setup.focus || {}; - }else{ - setup = { - buttons:[], - focus:{ - element:null, - select:false - }, - options:{ - } - }; - } - - //initialize hooks object. - if(typeof instance.hooks !== 'object'){ - instance.hooks = {}; - } - - //copy buttons defintion - var buttonsDefinition = []; - if(Array.isArray(setup.buttons)){ - for(var b=0;b= 0){ - //last open modal or last maximized one - removeClass(document.body, classes.noOverflow); - preventBodyShift(false); - }else if(requiresNoOverflow > 0 && document.body.className.indexOf(classes.noOverflow) < 0){ - //first open modal or first maximized one - preventBodyShift(true); - addClass(document.body, classes.noOverflow); - } - } - var top = '', topScroll = 0; - /** - * Helper: prevents body shift. - * - */ - function preventBodyShift(add){ - if(alertify.defaults.preventBodyShift){ - if(add && document.documentElement.scrollHeight > document.documentElement.clientHeight ){//&& openDialogs[openDialogs.length-1].elements.dialog.clientHeight <= document.documentElement.clientHeight){ - topScroll = scrollY; - top = window.getComputedStyle(document.body).top; - addClass(document.body, classes.fixed); - document.body.style.top = -scrollY + 'px'; - } else if(!add) { - scrollY = topScroll; - document.body.style.top = top; - removeClass(document.body, classes.fixed); - restoreScrollPosition(); - } - } - } - - /** - * Sets the name of the transition used to show/hide the dialog - * - * @param {Object} instance The dilog instance. - * - */ - function updateTransition(instance, value, oldValue){ - if(typeof oldValue === 'string'){ - removeClass(instance.elements.root,classes.prefix + oldValue); - } - addClass(instance.elements.root, classes.prefix + value); - reflow = instance.elements.root.offsetWidth; - } - - /** - * Toggles the dialog display mode - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function updateDisplayMode(instance){ - if(instance.get('modal')){ - - //make modal - removeClass(instance.elements.root, classes.modeless); - - //only if open - if(instance.isOpen()){ - unbindModelessEvents(instance); - - //in case a pinned modless dialog was made modal while open. - updateAbsPositionFix(instance); - - ensureNoOverflow(); - } - }else{ - //make modelss - addClass(instance.elements.root, classes.modeless); - - //only if open - if(instance.isOpen()){ - bindModelessEvents(instance); - - //in case pin/unpin was called while a modal is open - updateAbsPositionFix(instance); - - ensureNoOverflow(); - } - } - } - - /** - * Toggles the dialog basic view mode - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function updateBasicMode(instance){ - if (instance.get('basic')) { - // add class - addClass(instance.elements.root, classes.basic); - } else { - // remove class - removeClass(instance.elements.root, classes.basic); - } - } - - /** - * Toggles the dialog frameless view mode - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function updateFramelessMode(instance){ - if (instance.get('frameless')) { - // add class - addClass(instance.elements.root, classes.frameless); - } else { - // remove class - removeClass(instance.elements.root, classes.frameless); - } - } - - /** - * Helper: Brings the modeless dialog to front, attached to modeless dialogs. - * - * @param {Event} event Focus event - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bringToFront(event, instance){ - - // Do not bring to front if preceeded by an open modal - var index = openDialogs.indexOf(instance); - for(var x=index+1;x 200 && (modalClickHandlerTS = event.timeStamp) && !cancelClick){ - var target = event.srcElement || event.target; - if (instance.get('closableByDimmer') === true && target === instance.elements.modal) { - triggerClose(instance); - } - cancelClick = false; - return false; - } - } - - // stores last call timestamp to prevent triggering the callback twice. - var callbackTS = 0; - // flag to cancel keyup event if already handled by click event (pressing Enter on a focusted button). - var cancelKeyup = false; - /** - * Helper: triggers a button callback - * - * @param {Object} The dilog instance. - * @param {Function} Callback to check which button triggered the event. - * - * @return {undefined} - */ - function triggerCallback(instance, check) { - if(Date.now() - callbackTS > 200 && (callbackTS = Date.now())){ - for (var idx = 0; idx < instance.__internal.buttons.length; idx += 1) { - var button = instance.__internal.buttons[idx]; - if (!button.element.disabled && check(button)) { - var closeEvent = createCloseEvent(idx, button); - if (typeof instance.callback === 'function') { - instance.callback.apply(instance, [closeEvent]); - } - //close the dialog only if not canceled. - if (closeEvent.cancel === false) { - instance.close(); - } - break; - } - } - } - } - - /** - * Clicks event handler, attached to the dialog footer. - * - * @param {Event} DOM event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function buttonsClickHandler(event, instance) { - var target = event.srcElement || event.target; - triggerCallback(instance, function (button) { - // if this button caused the click, cancel keyup event - return button.element === target && (cancelKeyup = true); - }); - } - - /** - * Keyup event handler, attached to the document.body - * - * @param {Event} DOM event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function keyupHandler(event) { - //hitting enter while button has focus will trigger keyup too. - //ignore if handled by clickHandler - if (cancelKeyup) { - cancelKeyup = false; - return; - } - var instance = openDialogs[openDialogs.length - 1]; - var keyCode = event.keyCode; - if (instance.__internal.buttons.length === 0 && keyCode === keys.ESC && instance.get('closable') === true) { - triggerClose(instance); - return false; - }else if (usedKeys.indexOf(keyCode) > -1) { - triggerCallback(instance, function (button) { - return button.key === keyCode; - }); - return false; - } - } - /** - * Keydown event handler, attached to the document.body - * - * @param {Event} DOM event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function keydownHandler(event) { - var instance = openDialogs[openDialogs.length - 1]; - var keyCode = event.keyCode; - if (keyCode === keys.LEFT || keyCode === keys.RIGHT) { - var buttons = instance.__internal.buttons; - for (var x = 0; x < buttons.length; x += 1) { - if (document.activeElement === buttons[x].element) { - switch (keyCode) { - case keys.LEFT: - buttons[(x || buttons.length) - 1].element.focus(); - return; - case keys.RIGHT: - buttons[(x + 1) % buttons.length].element.focus(); - return; - } - } - } - }else if (keyCode < keys.F12 + 1 && keyCode > keys.F1 - 1 && usedKeys.indexOf(keyCode) > -1) { - event.preventDefault(); - event.stopPropagation(); - triggerCallback(instance, function (button) { - return button.key === keyCode; - }); - return false; - } - } - - - /** - * Sets focus to proper dialog element - * - * @param {Object} instance The dilog instance. - * @param {Node} [resetTarget=undefined] DOM element to reset focus to. - * - * @return {undefined} - */ - function setFocus(instance, resetTarget) { - // reset target has already been determined. - if (resetTarget) { - resetTarget.focus(); - } else { - // current instance focus settings - var focus = instance.__internal.focus; - // the focus element. - var element = focus.element; - - switch (typeof focus.element) { - // a number means a button index - case 'number': - if (instance.__internal.buttons.length > focus.element) { - //in basic view, skip focusing the buttons. - if (instance.get('basic') === true) { - element = instance.elements.reset[0]; - } else { - element = instance.__internal.buttons[focus.element].element; - } - } - break; - // a string means querySelector to select from dialog body contents. - case 'string': - element = instance.elements.body.querySelector(focus.element); - break; - // a function should return the focus element. - case 'function': - element = focus.element.call(instance); - break; - } - - // if no focus element, default to first reset element. - if ((typeof element === 'undefined' || element === null) && instance.__internal.buttons.length === 0) { - element = instance.elements.reset[0]; - } - // focus - if (element && element.focus) { - element.focus(); - // if selectable - if (focus.select && element.select) { - element.select(); - } - } - } - } - - /** - * Focus event handler, attached to document.body and dialogs own reset links. - * handles the focus for modal dialogs only. - * - * @param {Event} event DOM focus event object. - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function onReset(event, instance) { - - // should work on last modal if triggered from document.body - if (!instance) { - for (var x = openDialogs.length - 1; x > -1; x -= 1) { - if (openDialogs[x].isModal()) { - instance = openDialogs[x]; - break; - } - } - } - // if modal - if (instance && instance.isModal()) { - // determine reset target to enable forward/backward tab cycle. - var resetTarget, target = event.srcElement || event.target; - var lastResetElement = target === instance.elements.reset[1] || (instance.__internal.buttons.length === 0 && target === document.body); - - // if last reset link, then go to maximize or close - if (lastResetElement) { - if (instance.get('maximizable')) { - resetTarget = instance.elements.commands.maximize; - } else if (instance.get('closable')) { - resetTarget = instance.elements.commands.close; - } - } - // if no reset target found, try finding the best button - if (resetTarget === undefined) { - if (typeof instance.__internal.focus.element === 'number') { - // button focus element, go to first available button - if (target === instance.elements.reset[0]) { - resetTarget = instance.elements.buttons.auxiliary.firstChild || instance.elements.buttons.primary.firstChild; - } else if (lastResetElement) { - //restart the cycle by going to first reset link - resetTarget = instance.elements.reset[0]; - } - } else { - // will reach here when tapping backwards, so go to last child - // The focus element SHOULD NOT be a button (logically!). - if (target === instance.elements.reset[0]) { - resetTarget = instance.elements.buttons.primary.lastChild || instance.elements.buttons.auxiliary.lastChild; - } - } - } - // focus - setFocus(instance, resetTarget); - } - } - /** - * Transition in transitionend event handler. - * - * @param {Event} TransitionEnd event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function handleTransitionInEvent(event, instance) { - // clear the timer - clearTimeout(instance.__internal.timerIn); - - // once transition is complete, set focus - setFocus(instance); - - //restore scroll to prevent document jump - restoreScrollPosition(); - - // allow handling key up after transition ended. - cancelKeyup = false; - - // allow custom `onfocus` method - dispatchEvent('onfocus', instance); - - // unbind the event - off(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler); - - removeClass(instance.elements.root, classes.animationIn); - } - - /** - * Transition out transitionend event handler. - * - * @param {Event} TransitionEnd event object. - * @param {Object} The dilog instance. - * - * @return {undefined} - */ - function handleTransitionOutEvent(event, instance) { - // clear the timer - clearTimeout(instance.__internal.timerOut); - // unbind the event - off(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler); - - // reset move updates - resetMove(instance); - // reset resize updates - resetResize(instance); - - // restore if maximized - if (instance.isMaximized() && !instance.get('startMaximized')) { - restore(instance); - } - - // return focus to the last active element - if (alertify.defaults.maintainFocus && instance.__internal.activeElement) { - instance.__internal.activeElement.focus(); - instance.__internal.activeElement = null; - } - - //destory the instance - if (typeof instance.__internal.destroy === 'function') { - instance.__internal.destroy.apply(instance); - } - } - /* Controls moving a dialog around */ - //holde the current moving instance - var movable = null, - //holds the current X offset when move starts - offsetX = 0, - //holds the current Y offset when move starts - offsetY = 0, - xProp = 'pageX', - yProp = 'pageY', - bounds = null, - refreshTop = false, - moveDelegate = null - ; - - /** - * Helper: sets the element top/left coordinates - * - * @param {Event} event DOM event object. - * @param {Node} element The element being moved. - * - * @return {undefined} - */ - function moveElement(event, element) { - var left = (event[xProp] - offsetX), - top = (event[yProp] - offsetY); - - if(refreshTop){ - top -= document.body.scrollTop; - } - - element.style.left = left + 'px'; - element.style.top = top + 'px'; - - } - /** - * Helper: sets the element top/left coordinates within screen bounds - * - * @param {Event} event DOM event object. - * @param {Node} element The element being moved. - * - * @return {undefined} - */ - function moveElementBounded(event, element) { - var left = (event[xProp] - offsetX), - top = (event[yProp] - offsetY); - - if(refreshTop){ - top -= document.body.scrollTop; - } - - element.style.left = Math.min(bounds.maxLeft, Math.max(bounds.minLeft, left)) + 'px'; - if(refreshTop){ - element.style.top = Math.min(bounds.maxTop, Math.max(bounds.minTop, top)) + 'px'; - }else{ - element.style.top = Math.max(bounds.minTop, top) + 'px'; - } - } - - - /** - * Triggers the start of a move event, attached to the header element mouse down event. - * Adds no-selection class to the body, disabling selection while moving. - * - * @param {Event} event DOM event object. - * @param {Object} instance The dilog instance. - * - * @return {Boolean} false - */ - function beginMove(event, instance) { - if (resizable === null && !instance.isMaximized() && instance.get('movable')) { - var eventSrc, left=0, top=0; - if (event.type === 'touchstart') { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - xProp = 'clientX'; - yProp = 'clientY'; - } else if (event.button === 0) { - eventSrc = event; - } - - if (eventSrc) { - - var element = instance.elements.dialog; - addClass(element, classes.capture); - - if (element.style.left) { - left = parseInt(element.style.left, 10); - } - - if (element.style.top) { - top = parseInt(element.style.top, 10); - } - - offsetX = eventSrc[xProp] - left; - offsetY = eventSrc[yProp] - top; - - if(instance.isModal()){ - offsetY += instance.elements.modal.scrollTop; - }else if(instance.isPinned()){ - offsetY -= document.body.scrollTop; - } - - if(instance.get('moveBounded')){ - var current = element, - offsetLeft = -left, - offsetTop = -top; - - //calc offset - do { - offsetLeft += current.offsetLeft; - offsetTop += current.offsetTop; - } while (current = current.offsetParent); - - bounds = { - maxLeft : offsetLeft, - minLeft : -offsetLeft, - maxTop : document.documentElement.clientHeight - element.clientHeight - offsetTop, - minTop : -offsetTop - }; - moveDelegate = moveElementBounded; - }else{ - bounds = null; - moveDelegate = moveElement; - } - - // allow custom `onmove` method - dispatchEvent('onmove', instance); - - refreshTop = !instance.isModal() && instance.isPinned(); - movable = instance; - moveDelegate(eventSrc, element); - addClass(document.body, classes.noSelection); - return false; - } - } - } - - /** - * The actual move handler, attached to document.body mousemove event. - * - * @param {Event} event DOM event object. - * - * @return {undefined} - */ - function move(event) { - if (movable) { - var eventSrc; - if (event.type === 'touchmove') { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - } else if (event.button === 0) { - eventSrc = event; - } - if (eventSrc) { - moveDelegate(eventSrc, movable.elements.dialog); - } - } - } - - /** - * Triggers the end of a move event, attached to document.body mouseup event. - * Removes no-selection class from document.body, allowing selection. - * - * @return {undefined} - */ - function endMove() { - if (movable) { - var instance = movable; - movable = bounds = null; - removeClass(document.body, classes.noSelection); - removeClass(instance.elements.dialog, classes.capture); - // allow custom `onmoved` method - dispatchEvent('onmoved', instance); - } - } - - /** - * Resets any changes made by moving the element to its original state, - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function resetMove(instance) { - movable = null; - var element = instance.elements.dialog; - element.style.left = element.style.top = ''; - } - - /** - * Updates the dialog move behavior. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updateMovable(instance) { - if (instance.get('movable')) { - // add class - addClass(instance.elements.root, classes.movable); - if (instance.isOpen()) { - bindMovableEvents(instance); - } - } else { - - //reset - resetMove(instance); - // remove class - removeClass(instance.elements.root, classes.movable); - if (instance.isOpen()) { - unbindMovableEvents(instance); - } - } - } - - /* Controls moving a dialog around */ - //holde the current instance being resized - var resizable = null, - //holds the staring left offset when resize starts. - startingLeft = Number.Nan, - //holds the staring width when resize starts. - startingWidth = 0, - //holds the initial width when resized for the first time. - minWidth = 0, - //holds the offset of the resize handle. - handleOffset = 0 - ; - - /** - * Helper: sets the element width/height and updates left coordinate if neccessary. - * - * @param {Event} event DOM mousemove event object. - * @param {Node} element The element being moved. - * @param {Boolean} pinned A flag indicating if the element being resized is pinned to the screen. - * - * @return {undefined} - */ - function resizeElement(event, element, pageRelative) { - - //calculate offsets from 0,0 - var current = element; - var offsetLeft = 0; - var offsetTop = 0; - do { - offsetLeft += current.offsetLeft; - offsetTop += current.offsetTop; - } while (current = current.offsetParent); - - // determine X,Y coordinates. - var X, Y; - if (pageRelative === true) { - X = event.pageX; - Y = event.pageY; - } else { - X = event.clientX; - Y = event.clientY; - } - // rtl handling - var isRTL = isRightToLeft(); - if (isRTL) { - // reverse X - X = document.body.offsetWidth - X; - // if has a starting left, calculate offsetRight - if (!isNaN(startingLeft)) { - offsetLeft = document.body.offsetWidth - offsetLeft - element.offsetWidth; - } - } - - // set width/height - element.style.height = (Y - offsetTop + handleOffset) + 'px'; - element.style.width = (X - offsetLeft + handleOffset) + 'px'; - - // if the element being resized has a starting left, maintain it. - // the dialog is centered, divide by half the offset to maintain the margins. - if (!isNaN(startingLeft)) { - var diff = Math.abs(element.offsetWidth - startingWidth) * 0.5; - if (isRTL) { - //negate the diff, why? - //when growing it should decrease left - //when shrinking it should increase left - diff *= -1; - } - if (element.offsetWidth > startingWidth) { - //growing - element.style.left = (startingLeft + diff) + 'px'; - } else if (element.offsetWidth >= minWidth) { - //shrinking - element.style.left = (startingLeft - diff) + 'px'; - } - } - } - - /** - * Triggers the start of a resize event, attached to the resize handle element mouse down event. - * Adds no-selection class to the body, disabling selection while moving. - * - * @param {Event} event DOM event object. - * @param {Object} instance The dilog instance. - * - * @return {Boolean} false - */ - function beginResize(event, instance) { - if (!instance.isMaximized()) { - var eventSrc; - if (event.type === 'touchstart') { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - } else if (event.button === 0) { - eventSrc = event; - } - if (eventSrc) { - // allow custom `onresize` method - dispatchEvent('onresize', instance); - - resizable = instance; - handleOffset = instance.elements.resizeHandle.offsetHeight / 2; - var element = instance.elements.dialog; - addClass(element, classes.capture); - startingLeft = parseInt(element.style.left, 10); - element.style.height = element.offsetHeight + 'px'; - element.style.minHeight = instance.elements.header.offsetHeight + instance.elements.footer.offsetHeight + 'px'; - element.style.width = (startingWidth = element.offsetWidth) + 'px'; - - if (element.style.maxWidth !== 'none') { - element.style.minWidth = (minWidth = element.offsetWidth) + 'px'; - } - element.style.maxWidth = 'none'; - addClass(document.body, classes.noSelection); - return false; - } - } - } - - /** - * The actual resize handler, attached to document.body mousemove event. - * - * @param {Event} event DOM event object. - * - * @return {undefined} - */ - function resize(event) { - if (resizable) { - var eventSrc; - if (event.type === 'touchmove') { - event.preventDefault(); - eventSrc = event.targetTouches[0]; - } else if (event.button === 0) { - eventSrc = event; - } - if (eventSrc) { - resizeElement(eventSrc, resizable.elements.dialog, !resizable.get('modal') && !resizable.get('pinned')); - } - } - } - - /** - * Triggers the end of a resize event, attached to document.body mouseup event. - * Removes no-selection class from document.body, allowing selection. - * - * @return {undefined} - */ - function endResize() { - if (resizable) { - var instance = resizable; - resizable = null; - removeClass(document.body, classes.noSelection); - removeClass(instance.elements.dialog, classes.capture); - cancelClick = true; - // allow custom `onresized` method - dispatchEvent('onresized', instance); - } - } - - /** - * Resets any changes made by resizing the element to its original state. - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function resetResize(instance) { - resizable = null; - var element = instance.elements.dialog; - if (element.style.maxWidth === 'none') { - //clear inline styles. - element.style.maxWidth = element.style.minWidth = element.style.width = element.style.height = element.style.minHeight = element.style.left = ''; - //reset variables. - startingLeft = Number.Nan; - startingWidth = minWidth = handleOffset = 0; - } - } - - - /** - * Updates the dialog move behavior. - * - * @param {Object} instance The dilog instance. - * @param {Boolean} on True to add the behavior, removes it otherwise. - * - * @return {undefined} - */ - function updateResizable(instance) { - if (instance.get('resizable')) { - // add class - addClass(instance.elements.root, classes.resizable); - if (instance.isOpen()) { - bindResizableEvents(instance); - } - } else { - //reset - resetResize(instance); - // remove class - removeClass(instance.elements.root, classes.resizable); - if (instance.isOpen()) { - unbindResizableEvents(instance); - } - } - } - - /** - * Reset move/resize on window resize. - * - * @param {Event} event window resize event object. - * - * @return {undefined} - */ - function windowResize(/*event*/) { - for (var x = 0; x < openDialogs.length; x += 1) { - var instance = openDialogs[x]; - if (instance.get('autoReset')) { - resetMove(instance); - resetResize(instance); - } - } - } - /** - * Bind dialogs events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindEvents(instance) { - // if first dialog, hook global handlers - if (openDialogs.length === 1) { - //global - on(window, 'resize', windowResize); - on(document.body, 'keyup', keyupHandler); - on(document.body, 'keydown', keydownHandler); - on(document.body, 'focus', onReset); - - //move - on(document.documentElement, 'mousemove', move); - on(document.documentElement, 'touchmove', move); - on(document.documentElement, 'mouseup', endMove); - on(document.documentElement, 'touchend', endMove); - //resize - on(document.documentElement, 'mousemove', resize); - on(document.documentElement, 'touchmove', resize); - on(document.documentElement, 'mouseup', endResize); - on(document.documentElement, 'touchend', endResize); - } - - // common events - on(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler); - on(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler); - on(instance.elements.reset[0], 'focus', instance.__internal.resetHandler); - on(instance.elements.reset[1], 'focus', instance.__internal.resetHandler); - - //prevent handling key up when dialog is being opened by a key stroke. - cancelKeyup = true; - // hook in transition handler - on(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler); - - // modelss only events - if (!instance.get('modal')) { - bindModelessEvents(instance); - } - - // resizable - if (instance.get('resizable')) { - bindResizableEvents(instance); - } - - // movable - if (instance.get('movable')) { - bindMovableEvents(instance); - } - } - - /** - * Unbind dialogs events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindEvents(instance) { - // if last dialog, remove global handlers - if (openDialogs.length === 1) { - //global - off(window, 'resize', windowResize); - off(document.body, 'keyup', keyupHandler); - off(document.body, 'keydown', keydownHandler); - off(document.body, 'focus', onReset); - //move - off(document.documentElement, 'mousemove', move); - off(document.documentElement, 'mouseup', endMove); - //resize - off(document.documentElement, 'mousemove', resize); - off(document.documentElement, 'mouseup', endResize); - } - - // common events - off(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler); - off(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler); - off(instance.elements.reset[0], 'focus', instance.__internal.resetHandler); - off(instance.elements.reset[1], 'focus', instance.__internal.resetHandler); - - // hook out transition handler - on(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler); - - // modelss only events - if (!instance.get('modal')) { - unbindModelessEvents(instance); - } - - // movable - if (instance.get('movable')) { - unbindMovableEvents(instance); - } - - // resizable - if (instance.get('resizable')) { - unbindResizableEvents(instance); - } - - } - - /** - * Bind modeless specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindModelessEvents(instance) { - on(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true); - } - - /** - * Unbind modeless specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindModelessEvents(instance) { - off(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true); - } - - - - /** - * Bind movable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindMovableEvents(instance) { - on(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler); - on(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler); - } - - /** - * Unbind movable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindMovableEvents(instance) { - off(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler); - off(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler); - } - - - - /** - * Bind resizable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindResizableEvents(instance) { - on(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler); - on(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler); - } - - /** - * Unbind resizable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindResizableEvents(instance) { - off(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler); - off(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler); - } - - /** - * Bind closable events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function bindClosableEvents(instance) { - on(instance.elements.modal, 'click', instance.__internal.modalClickHandler); - } - - /** - * Unbind closable specific events - * - * @param {Object} instance The dilog instance. - * - * @return {undefined} - */ - function unbindClosableEvents(instance) { - off(instance.elements.modal, 'click', instance.__internal.modalClickHandler); - } - // dialog API - return { - __init:initialize, - /** - * Check if dialog is currently open - * - * @return {Boolean} - */ - isOpen: function () { - return this.__internal.isOpen; - }, - isModal: function (){ - return this.elements.root.className.indexOf(classes.modeless) < 0; - }, - isMaximized:function(){ - return this.elements.root.className.indexOf(classes.maximized) > -1; - }, - isPinned:function(){ - return this.elements.root.className.indexOf(classes.unpinned) < 0; - }, - maximize:function(){ - if(!this.isMaximized()){ - maximize(this); - } - return this; - }, - restore:function(){ - if(this.isMaximized()){ - restore(this); - } - return this; - }, - pin:function(){ - if(!this.isPinned()){ - pin(this); - } - return this; - }, - unpin:function(){ - if(this.isPinned()){ - unpin(this); - } - return this; - }, - bringToFront:function(){ - bringToFront(null, this); - return this; - }, - /** - * Move the dialog to a specific x/y coordinates - * - * @param {Number} x The new dialog x coordinate in pixels. - * @param {Number} y The new dialog y coordinate in pixels. - * - * @return {Object} The dialog instance. - */ - moveTo:function(x,y){ - if(!isNaN(x) && !isNaN(y)){ - // allow custom `onmove` method - dispatchEvent('onmove', this); - - var element = this.elements.dialog, - current = element, - offsetLeft = 0, - offsetTop = 0; - - //subtract existing left,top - if (element.style.left) { - offsetLeft -= parseInt(element.style.left, 10); - } - if (element.style.top) { - offsetTop -= parseInt(element.style.top, 10); - } - //calc offset - do { - offsetLeft += current.offsetLeft; - offsetTop += current.offsetTop; - } while (current = current.offsetParent); - - //calc left, top - var left = (x - offsetLeft); - var top = (y - offsetTop); - - //// rtl handling - if (isRightToLeft()) { - left *= -1; - } - - element.style.left = left + 'px'; - element.style.top = top + 'px'; - - // allow custom `onmoved` method - dispatchEvent('onmoved', this); - } - return this; - }, - /** - * Resize the dialog to a specific width/height (the dialog must be 'resizable'). - * The dialog can be resized to: - * A minimum width equal to the initial display width - * A minimum height equal to the sum of header/footer heights. - * - * - * @param {Number or String} width The new dialog width in pixels or in percent. - * @param {Number or String} height The new dialog height in pixels or in percent. - * - * @return {Object} The dialog instance. - */ - resizeTo:function(width,height){ - var w = parseFloat(width), - h = parseFloat(height), - regex = /(\d*\.\d+|\d+)%/ - ; - - if(!isNaN(w) && !isNaN(h) && this.get('resizable') === true){ - - // allow custom `onresize` method - dispatchEvent('onresize', this); - - if(('' + width).match(regex)){ - w = w / 100 * document.documentElement.clientWidth ; - } - - if(('' + height).match(regex)){ - h = h / 100 * document.documentElement.clientHeight; - } - - var element = this.elements.dialog; - if (element.style.maxWidth !== 'none') { - element.style.minWidth = (minWidth = element.offsetWidth) + 'px'; - } - element.style.maxWidth = 'none'; - element.style.minHeight = this.elements.header.offsetHeight + this.elements.footer.offsetHeight + 'px'; - element.style.width = w + 'px'; - element.style.height = h + 'px'; - - // allow custom `onresized` method - dispatchEvent('onresized', this); - } - return this; - }, - /** - * Gets or Sets dialog settings/options - * - * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. - * @param {Object} value Optional, the value associated with the key (in case it was a string). - * - * @return {undefined} - */ - setting : function (key, value) { - var self = this; - var result = update(this, this.__internal.options, function(k,o,n){ optionUpdated(self,k,o,n); }, key, value); - if(result.op === 'get'){ - if(result.found){ - return result.value; - }else if(typeof this.settings !== 'undefined'){ - return update(this, this.settings, this.settingUpdated || function(){}, key, value).value; - }else{ - return undefined; - } - }else if(result.op === 'set'){ - if(result.items.length > 0){ - var callback = this.settingUpdated || function(){}; - for(var x=0;x 0) { - var self = this; - this.__internal.timer = setTimeout(function () { self.dismiss(); }, this.__internal.delay * 1000); - } - return this; - }, - /* - * Sets the notification message contents - * @param {string or DOMElement} content The notification message content - * - */ - setContent: function (content) { - if (typeof content === 'string') { - clearContents(this.element); - this.element.innerHTML = content; - } else if (content instanceof window.HTMLElement && this.element.firstChild !== content) { - clearContents(this.element); - this.element.appendChild(content); - } - if(this.__internal.closeButton){ - var close = document.createElement('span'); - addClass(close, classes.close); - close.setAttribute('data-close', true); - this.element.appendChild(close); - } - return this; - }, - /* - * Dismisses all open notifications except this. - * - */ - dismissOthers: function () { - notifier.dismissAll(this); - return this; - } - }); - } - - //notifier api - return { - /** - * Gets or Sets notifier settings. - * - * @param {string} key The setting name - * @param {Variant} value The setting value. - * - * @return {Object} if the called as a setter, return the notifier instance. - */ - setting: function (key, value) { - //ensure init - initialize(this); - - if (typeof value === 'undefined') { - //get - return this.__internal[key]; - } else { - //set - switch (key) { - case 'position': - this.__internal.position = value; - updatePosition(this); - break; - case 'delay': - this.__internal.delay = value; - break; - } - } - return this; - }, - /** - * [Alias] Sets dialog settings/options - */ - set:function(key,value){ - this.setting(key,value); - return this; - }, - /** - * [Alias] Gets dialog settings/options - */ - get:function(key){ - return this.setting(key); - }, - /** - * Creates a new notification message - * - * @param {string} type The type of notification message (simply a CSS class name 'ajs-{type}' to be added). - * @param {Function} callback A callback function to be invoked when the message is dismissed. - * - * @return {undefined} - */ - create: function (type, callback) { - //ensure notifier init - initialize(this); - //create new notification message - var div = document.createElement('div'); - div.className = classes.message + ((typeof type === 'string' && type !== '') ? ' ajs-' + type : ''); - return create(div, callback); - }, - /** - * Dismisses all open notifications. - * - * @param {Object} excpet [optional] The notification object to exclude from dismissal. - * - */ - dismissAll: function (except) { - var clone = openInstances.slice(0); - for (var x = 0; x < clone.length; x += 1) { - var instance = clone[x]; - if (except === undefined || except !== instance) { - instance.dismiss(); - } - } - } - }; - })(); - - /** - * Alertify public API - * This contains everything that is exposed through the alertify object. - * - * @return {Object} - */ - function Alertify() { - - // holds a references of created dialogs - var dialogs = {}; - - /** - * Extends a given prototype by merging properties from base into sub. - * - * @sub {Object} sub The prototype being overwritten. - * @base {Object} base The prototype being written. - * - * @return {Object} The extended prototype. - */ - function extend(sub, base) { - // copy dialog pototype over definition. - for (var prop in base) { - if (base.hasOwnProperty(prop)) { - sub[prop] = base[prop]; - } - } - return sub; - } - - - /** - * Helper: returns a dialog instance from saved dialogs. - * and initializes the dialog if its not already initialized. - * - * @name {String} name The dialog name. - * - * @return {Object} The dialog instance. - */ - function get_dialog(name) { - var dialog = dialogs[name].dialog; - //initialize the dialog if its not already initialized. - if (dialog && typeof dialog.__init === 'function') { - dialog.__init(dialog); - } - return dialog; - } - - /** - * Helper: registers a new dialog definition. - * - * @name {String} name The dialog name. - * @Factory {Function} Factory a function resposible for creating dialog prototype. - * @transient {Boolean} transient True to create a new dialog instance each time the dialog is invoked, false otherwise. - * @base {String} base the name of another dialog to inherit from. - * - * @return {Object} The dialog definition. - */ - function register(name, Factory, transient, base) { - var definition = { - dialog: null, - factory: Factory - }; - - //if this is based on an existing dialog, create a new definition - //by applying the new protoype over the existing one. - if (base !== undefined) { - definition.factory = function () { - return extend(new dialogs[base].factory(), new Factory()); - }; - } - - if (!transient) { - //create a new definition based on dialog - definition.dialog = extend(new definition.factory(), dialog); - } - return dialogs[name] = definition; - } - - return { - /** - * Alertify defaults - * - * @type {Object} - */ - defaults: defaults, - /** - * Dialogs factory - * - * @param {string} Dialog name. - * @param {Function} A Dialog factory function. - * @param {Boolean} Indicates whether to create a singleton or transient dialog. - * @param {String} The name of the base type to inherit from. - */ - dialog: function (name, Factory, transient, base) { - - // get request, create a new instance and return it. - if (typeof Factory !== 'function') { - return get_dialog(name); - } - - if (this.hasOwnProperty(name)) { - throw new Error('alertify.dialog: name already exists'); - } - - // register the dialog - var definition = register(name, Factory, transient, base); - - if (transient) { - - // make it public - this[name] = function () { - //if passed with no params, consider it a get request - if (arguments.length === 0) { - return definition.dialog; - } else { - var instance = extend(new definition.factory(), dialog); - //ensure init - if (instance && typeof instance.__init === 'function') { - instance.__init(instance); - } - instance['main'].apply(instance, arguments); - return instance['show'].apply(instance); - } - }; - } else { - // make it public - this[name] = function () { - //ensure init - if (definition.dialog && typeof definition.dialog.__init === 'function') { - definition.dialog.__init(definition.dialog); - } - //if passed with no params, consider it a get request - if (arguments.length === 0) { - return definition.dialog; - } else { - var dialog = definition.dialog; - dialog['main'].apply(definition.dialog, arguments); - return dialog['show'].apply(definition.dialog); - } - }; - } - }, - /** - * Close all open dialogs. - * - * @param {Object} excpet [optional] The dialog object to exclude from closing. - * - * @return {undefined} - */ - closeAll: function (except) { - var clone = openDialogs.slice(0); - for (var x = 0; x < clone.length; x += 1) { - var instance = clone[x]; - if (except === undefined || except !== instance) { - instance.close(); - } - } - }, - /** - * Gets or Sets dialog settings/options. if the dialog is transient, this call does nothing. - * - * @param {string} name The dialog name. - * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs. - * @param {Variant} value Optional, the value associated with the key (in case it was a string). - * - * @return {undefined} - */ - setting: function (name, key, value) { - - if (name === 'notifier') { - return notifier.setting(key, value); - } - - var dialog = get_dialog(name); - if (dialog) { - return dialog.setting(key, value); - } - }, - /** - * [Alias] Sets dialog settings/options - */ - set: function(name,key,value){ - return this.setting(name, key,value); - }, - /** - * [Alias] Gets dialog settings/options - */ - get: function(name, key){ - return this.setting(name, key); - }, - /** - * Creates a new notification message. - * If a type is passed, a class name "ajs-{type}" will be added. - * This allows for custom look and feel for various types of notifications. - * - * @param {String | DOMElement} [message=undefined] Message text - * @param {String} [type=''] Type of log message - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - notify: function (message, type, wait, callback) { - return notifier.create(type, callback).push(message, wait); - }, - /** - * Creates a new notification message. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - message: function (message, wait, callback) { - return notifier.create(null, callback).push(message, wait); - }, - /** - * Creates a new notification message of type 'success'. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - success: function (message, wait, callback) { - return notifier.create('success', callback).push(message, wait); - }, - /** - * Creates a new notification message of type 'error'. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - error: function (message, wait, callback) { - return notifier.create('error', callback).push(message, wait); - }, - /** - * Creates a new notification message of type 'warning'. - * - * @param {String} [message=undefined] Message text - * @param {String} [wait=''] Time (in seconds) to wait before auto-close - * @param {Function} [callback=undefined] A callback function to be invoked when the log is closed. - * - * @return {Object} Notification object. - */ - warning: function (message, wait, callback) { - return notifier.create('warning', callback).push(message, wait); - }, - /** - * Dismisses all open notifications - * - * @return {undefined} - */ - dismissAll: function () { - notifier.dismissAll(); - } - }; - } - var alertify = new Alertify(); - - /** - * Alert dialog definition - * - * invoked by: - * alertify.alert(message); - * alertify.alert(title, message); - * alertify.alert(message, onok); - * alertify.alert(title, message, onok); - */ - alertify.dialog('alert', function () { - return { - main: function (_title, _message, _onok) { - var title, message, onok; - switch (arguments.length) { - case 1: - message = _title; - break; - case 2: - if (typeof _message === 'function') { - message = _title; - onok = _message; - } else { - title = _title; - message = _message; - } - break; - case 3: - title = _title; - message = _message; - onok = _onok; - break; - } - this.set('title', title); - this.set('message', message); - this.set('onok', onok); - return this; - }, - setup: function () { - return { - buttons: [ - { - text: alertify.defaults.glossary.ok, - key: keys.ESC, - invokeOnClose: true, - className: alertify.defaults.theme.ok, - } - ], - focus: { - element: 0, - select: false - }, - options: { - maximizable: false, - resizable: false - } - }; - }, - build: function () { - // nothing - }, - prepare: function () { - //nothing - }, - setMessage: function (message) { - this.setContent(message); - }, - settings: { - message: undefined, - onok: undefined, - label: undefined, - }, - settingUpdated: function (key, oldValue, newValue) { - switch (key) { - case 'message': - this.setMessage(newValue); - break; - case 'label': - if (this.__internal.buttons[0].element) { - this.__internal.buttons[0].element.innerHTML = newValue; - } - break; - } - }, - callback: function (closeEvent) { - if (typeof this.get('onok') === 'function') { - var returnValue = this.get('onok').call(this, closeEvent); - if (typeof returnValue !== 'undefined') { - closeEvent.cancel = !returnValue; - } - } - } - }; - }); - /** - * Confirm dialog object - * - * alertify.confirm(message); - * alertify.confirm(message, onok); - * alertify.confirm(message, onok, oncancel); - * alertify.confirm(title, message, onok, oncancel); - */ - alertify.dialog('confirm', function () { - - var autoConfirm = { - timer: null, - index: null, - text: null, - duration: null, - task: function (event, self) { - if (self.isOpen()) { - self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text + ' (‏' + autoConfirm.duration + '‏) '; - autoConfirm.duration -= 1; - if (autoConfirm.duration === -1) { - clearAutoConfirm(self); - var button = self.__internal.buttons[autoConfirm.index]; - var closeEvent = createCloseEvent(autoConfirm.index, button); - - if (typeof self.callback === 'function') { - self.callback.apply(self, [closeEvent]); - } - //close the dialog. - if (closeEvent.close !== false) { - self.close(); - } - } - } else { - clearAutoConfirm(self); - } - } - }; - - function clearAutoConfirm(self) { - if (autoConfirm.timer !== null) { - clearInterval(autoConfirm.timer); - autoConfirm.timer = null; - self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text; - } - } - - function startAutoConfirm(self, index, duration) { - clearAutoConfirm(self); - autoConfirm.duration = duration; - autoConfirm.index = index; - autoConfirm.text = self.__internal.buttons[index].element.innerHTML; - autoConfirm.timer = setInterval(delegate(self, autoConfirm.task), 1000); - autoConfirm.task(null, self); - } - - - return { - main: function (_title, _message, _onok, _oncancel) { - var title, message, onok, oncancel; - switch (arguments.length) { - case 1: - message = _title; - break; - case 2: - message = _title; - onok = _message; - break; - case 3: - message = _title; - onok = _message; - oncancel = _onok; - break; - case 4: - title = _title; - message = _message; - onok = _onok; - oncancel = _oncancel; - break; - } - this.set('title', title); - this.set('message', message); - this.set('onok', onok); - this.set('oncancel', oncancel); - return this; - }, - setup: function () { - return { - buttons: [ - { - text: alertify.defaults.glossary.ok, - key: keys.ENTER, - className: alertify.defaults.theme.ok, - }, - { - text: alertify.defaults.glossary.cancel, - key: keys.ESC, - invokeOnClose: true, - className: alertify.defaults.theme.cancel, - } - ], - focus: { - element: 0, - select: false - }, - options: { - maximizable: false, - resizable: false - } - }; - }, - build: function () { - //nothing - }, - prepare: function () { - //nothing - }, - setMessage: function (message) { - this.setContent(message); - }, - settings: { - message: null, - labels: null, - onok: null, - oncancel: null, - defaultFocus: null, - reverseButtons: null, - }, - settingUpdated: function (key, oldValue, newValue) { - switch (key) { - case 'message': - this.setMessage(newValue); - break; - case 'labels': - if ('ok' in newValue && this.__internal.buttons[0].element) { - this.__internal.buttons[0].text = newValue.ok; - this.__internal.buttons[0].element.innerHTML = newValue.ok; - } - if ('cancel' in newValue && this.__internal.buttons[1].element) { - this.__internal.buttons[1].text = newValue.cancel; - this.__internal.buttons[1].element.innerHTML = newValue.cancel; - } - break; - case 'reverseButtons': - if (newValue === true) { - this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element); - } else { - this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element); - } - break; - case 'defaultFocus': - this.__internal.focus.element = newValue === 'ok' ? 0 : 1; - break; - } - }, - callback: function (closeEvent) { - clearAutoConfirm(this); - var returnValue; - switch (closeEvent.index) { - case 0: - if (typeof this.get('onok') === 'function') { - returnValue = this.get('onok').call(this, closeEvent); - if (typeof returnValue !== 'undefined') { - closeEvent.cancel = !returnValue; - } - } - break; - case 1: - if (typeof this.get('oncancel') === 'function') { - returnValue = this.get('oncancel').call(this, closeEvent); - if (typeof returnValue !== 'undefined') { - closeEvent.cancel = !returnValue; - } - } - break; - } - }, - autoOk: function (duration) { - startAutoConfirm(this, 0, duration); - return this; - }, - autoCancel: function (duration) { - startAutoConfirm(this, 1, duration); - return this; - } - }; - }); - /** - * Prompt dialog object - * - * invoked by: - * alertify.prompt(message); - * alertify.prompt(message, value); - * alertify.prompt(message, value, onok); - * alertify.prompt(message, value, onok, oncancel); - * alertify.prompt(title, message, value, onok, oncancel); - */ - alertify.dialog('prompt', function () { - var input = document.createElement('INPUT'); - var p = document.createElement('P'); - return { - main: function (_title, _message, _value, _onok, _oncancel) { - var title, message, value, onok, oncancel; - switch (arguments.length) { - case 1: - message = _title; - break; - case 2: - message = _title; - value = _message; - break; - case 3: - message = _title; - value = _message; - onok = _value; - break; - case 4: - message = _title; - value = _message; - onok = _value; - oncancel = _onok; - break; - case 5: - title = _title; - message = _message; - value = _value; - onok = _onok; - oncancel = _oncancel; - break; - } - this.set('title', title); - this.set('message', message); - this.set('value', value); - this.set('onok', onok); - this.set('oncancel', oncancel); - return this; - }, - setup: function () { - return { - buttons: [ - { - text: alertify.defaults.glossary.ok, - key: keys.ENTER, - className: alertify.defaults.theme.ok, - }, - { - text: alertify.defaults.glossary.cancel, - key: keys.ESC, - invokeOnClose: true, - className: alertify.defaults.theme.cancel, - } - ], - focus: { - element: input, - select: true - }, - options: { - maximizable: false, - resizable: false - } - }; - }, - build: function () { - input.className = alertify.defaults.theme.input; - input.setAttribute('type', 'text'); - input.value = this.get('value'); - this.elements.content.appendChild(p); - this.elements.content.appendChild(input); - }, - prepare: function () { - //nothing - }, - setMessage: function (message) { - if (typeof message === 'string') { - clearContents(p); - p.innerHTML = message; - } else if (message instanceof window.HTMLElement && p.firstChild !== message) { - clearContents(p); - p.appendChild(message); - } - }, - settings: { - message: undefined, - labels: undefined, - onok: undefined, - oncancel: undefined, - value: '', - type:'text', - reverseButtons: undefined, - }, - settingUpdated: function (key, oldValue, newValue) { - switch (key) { - case 'message': - this.setMessage(newValue); - break; - case 'value': - input.value = newValue; - break; - case 'type': - switch (newValue) { - case 'text': - case 'color': - case 'date': - case 'datetime-local': - case 'email': - case 'month': - case 'number': - case 'password': - case 'search': - case 'tel': - case 'time': - case 'week': - input.type = newValue; - break; - default: - input.type = 'text'; - break; - } - break; - case 'labels': - if (newValue.ok && this.__internal.buttons[0].element) { - this.__internal.buttons[0].element.innerHTML = newValue.ok; - } - if (newValue.cancel && this.__internal.buttons[1].element) { - this.__internal.buttons[1].element.innerHTML = newValue.cancel; - } - break; - case 'reverseButtons': - if (newValue === true) { - this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element); - } else { - this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element); - } - break; - } - }, - callback: function (closeEvent) { - var returnValue; - switch (closeEvent.index) { - case 0: - this.settings.value = input.value; - if (typeof this.get('onok') === 'function') { - returnValue = this.get('onok').call(this, closeEvent, this.settings.value); - if (typeof returnValue !== 'undefined') { - closeEvent.cancel = !returnValue; - } - } - break; - case 1: - if (typeof this.get('oncancel') === 'function') { - returnValue = this.get('oncancel').call(this, closeEvent); - if (typeof returnValue !== 'undefined') { - closeEvent.cancel = !returnValue; - } - } - if(!closeEvent.cancel){ - input.value = this.settings.value; - } - break; - } - } - }; - }); - - // CommonJS - if ( typeof module === 'object' && typeof module.exports === 'object' ) { - module.exports = alertify; - // AMD - } else if ( typeof define === 'function' && define.amd) { - define( [], function () { - return alertify; - } ); - // window - } else if ( !window.alertify ) { - window.alertify = alertify; - } - -} ( typeof window !== 'undefined' ? window : this ) ); diff --git a/vendor/blobt/assets/alertifyjs/alertify.min.js b/vendor/blobt/assets/alertifyjs/alertify.min.js deleted file mode 100644 index ec5a382..0000000 --- a/vendor/blobt/assets/alertifyjs/alertify.min.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! alertifyjs - v1.11.4 - Mohammad Younes (http://alertifyjs.com) */ -!function(a){"use strict";function b(a,b){a.className+=" "+b}function c(a,b){for(var c=a.className.split(" "),d=b.split(" "),e=0;e-1&&c.splice(f,1)}a.className=c.join(" ")}function d(){return"rtl"===a.getComputedStyle(document.body).direction}function e(){return document.documentElement&&document.documentElement.scrollTop||document.body.scrollTop}function f(){return document.documentElement&&document.documentElement.scrollLeft||document.body.scrollLeft}function g(a){for(;a.lastChild;)a.removeChild(a.lastChild)}function h(a){if(null===a)return a;var b;if(Array.isArray(a)){b=[];for(var c=0;c0){for(var c=[],d=0;d=0?(c(document.body,Da.noOverflow),w(!1)):a>0&&document.body.className.indexOf(Da.noOverflow)<0&&(w(!0),b(document.body,Da.noOverflow))}function w(d){v.defaults.preventBodyShift&&(d&&document.documentElement.scrollHeight>document.documentElement.clientHeight?(Fa=xa,Ea=a.getComputedStyle(document.body).top,b(document.body,Da.fixed),document.body.style.top=-xa+"px"):d||(xa=Fa,document.body.style.top=Ea,c(document.body,Da.fixed),t()))}function x(a,d,e){"string"==typeof e&&c(a.elements.root,Da.prefix+e),b(a.elements.root,Da.prefix+d),za=a.elements.root.offsetWidth}function y(a){a.get("modal")?(c(a.elements.root,Da.modeless),a.isOpen()&&(pa(a),N(a),u())):(b(a.elements.root,Da.modeless),a.isOpen()&&(oa(a),N(a),u()))}function z(a){a.get("basic")?b(a.elements.root,Da.basic):c(a.elements.root,Da.basic)}function A(a){a.get("frameless")?b(a.elements.root,Da.frameless):c(a.elements.root,Da.frameless)}function B(a,b){for(var c=p.indexOf(b),d=c+1;d200&&(Ha=a.timeStamp)&&!Ga){var c=a.srcElement||a.target;return!0===b.get("closableByDimmer")&&c===b.elements.modal&&E(b),Ga=!1,!1}}function S(a,b){if(Date.now()-Ia>200&&(Ia=Date.now()))for(var c=0;c-1?(S(b,function(a){return a.key===c}),!1):void 0}function V(a){var b=p[p.length-1],c=a.keyCode;if(c===n.LEFT||c===n.RIGHT){for(var d=b.__internal.buttons,e=0;en.F1-1&&ya.indexOf(c)>-1)return a.preventDefault(),a.stopPropagation(),S(b,function(a){return a.key===c}),!1}function W(a,b){if(b)b.focus();else{var c=a.__internal.focus,d=c.element;switch(typeof c.element){case"number":a.__internal.buttons.length>c.element&&(d=!0===a.get("basic")?a.elements.reset[0]:a.__internal.buttons[c.element].element);break;case"string":d=a.elements.body.querySelector(c.element);break;case"function":d=c.element.call(a)}void 0!==d&&null!==d||0!==a.__internal.buttons.length||(d=a.elements.reset[0]),d&&d.focus&&(d.focus(),c.select&&d.select&&d.select())}}function X(a,b){if(!b)for(var c=p.length-1;c>-1;c-=1)if(p[c].isModal()){b=p[c];break}if(b&&b.isModal()){var d,e=a.srcElement||a.target,f=e===b.elements.reset[1]||0===b.__internal.buttons.length&&e===document.body;f&&(b.get("maximizable")?d=b.elements.commands.maximize:b.get("closable")&&(d=b.elements.commands.close)),void 0===d&&("number"==typeof b.__internal.focus.element?e===b.elements.reset[0]?d=b.elements.buttons.auxiliary.firstChild||b.elements.buttons.primary.firstChild:f&&(d=b.elements.reset[0]):e===b.elements.reset[0]&&(d=b.elements.buttons.primary.lastChild||b.elements.buttons.auxiliary.lastChild)),W(b,d)}}function Y(a,b){clearTimeout(b.__internal.timerIn),W(b),t(),Ja=!1,l("onfocus",b),r(b.elements.dialog,s.type,b.__internal.transitionInHandler),c(b.elements.root,Da.animationIn)}function Z(a,b){clearTimeout(b.__internal.timerOut),r(b.elements.dialog,s.type,b.__internal.transitionOutHandler),da(b),ja(b),b.isMaximized()&&!b.get("startMaximized")&&J(b),v.defaults.maintainFocus&&b.__internal.activeElement&&(b.__internal.activeElement.focus(),b.__internal.activeElement=null),"function"==typeof b.__internal.destroy&&b.__internal.destroy.apply(b)}function $(a,b){var c=a[Na]-La,d=a[Oa]-Ma;Qa&&(d-=document.body.scrollTop),b.style.left=c+"px",b.style.top=d+"px"}function _(a,b){var c=a[Na]-La,d=a[Oa]-Ma;Qa&&(d-=document.body.scrollTop),b.style.left=Math.min(Pa.maxLeft,Math.max(Pa.minLeft,c))+"px",b.style.top=Qa?Math.min(Pa.maxTop,Math.max(Pa.minTop,d))+"px":Math.max(Pa.minTop,d)+"px"}function aa(a,c){if(null===Sa&&!c.isMaximized()&&c.get("movable")){var d,e=0,f=0;if("touchstart"===a.type?(a.preventDefault(),d=a.targetTouches[0],Na="clientX",Oa="clientY"):0===a.button&&(d=a),d){var g=c.elements.dialog;if(b(g,Da.capture),g.style.left&&(e=parseInt(g.style.left,10)),g.style.top&&(f=parseInt(g.style.top,10)),La=d[Na]-e,Ma=d[Oa]-f,c.isModal()?Ma+=c.elements.modal.scrollTop:c.isPinned()&&(Ma-=document.body.scrollTop),c.get("moveBounded")){var h=g,i=-e,j=-f;do{i+=h.offsetLeft,j+=h.offsetTop}while(h=h.offsetParent);Pa={maxLeft:i,minLeft:-i,maxTop:document.documentElement.clientHeight-g.clientHeight-j,minTop:-j},Ra=_}else Pa=null,Ra=$;return l("onmove",c),Qa=!c.isModal()&&c.isPinned(),Ka=c,Ra(d,g),b(document.body,Da.noSelection),!1}}}function ba(a){if(Ka){var b;"touchmove"===a.type?(a.preventDefault(),b=a.targetTouches[0]):0===a.button&&(b=a),b&&Ra(b,Ka.elements.dialog)}}function ca(){if(Ka){var a=Ka;Ka=Pa=null,c(document.body,Da.noSelection),c(a.elements.dialog,Da.capture),l("onmoved",a)}}function da(a){Ka=null;var b=a.elements.dialog;b.style.left=b.style.top=""}function ea(a){a.get("movable")?(b(a.elements.root,Da.movable),a.isOpen()&&qa(a)):(da(a),c(a.elements.root,Da.movable),a.isOpen()&&ra(a))}function fa(a,b,c){var e=b,f=0,g=0;do{f+=e.offsetLeft,g+=e.offsetTop}while(e=e.offsetParent);var h,i;!0===c?(h=a.pageX,i=a.pageY):(h=a.clientX,i=a.clientY);var j=d();if(j&&(h=document.body.offsetWidth-h,isNaN(Ta)||(f=document.body.offsetWidth-f-b.offsetWidth)),b.style.height=i-g+Wa+"px",b.style.width=h-f+Wa+"px",!isNaN(Ta)){var k=.5*Math.abs(b.offsetWidth-Ua);j&&(k*=-1),b.offsetWidth>Ua?b.style.left=Ta+k+"px":b.offsetWidth>=Va&&(b.style.left=Ta-k+"px")}}function ga(a,c){if(!c.isMaximized()){var d;if("touchstart"===a.type?(a.preventDefault(),d=a.targetTouches[0]):0===a.button&&(d=a),d){l("onresize",c),Sa=c,Wa=c.elements.resizeHandle.offsetHeight/2;var e=c.elements.dialog;return b(e,Da.capture),Ta=parseInt(e.style.left,10),e.style.height=e.offsetHeight+"px",e.style.minHeight=c.elements.header.offsetHeight+c.elements.footer.offsetHeight+"px",e.style.width=(Ua=e.offsetWidth)+"px","none"!==e.style.maxWidth&&(e.style.minWidth=(Va=e.offsetWidth)+"px"),e.style.maxWidth="none",b(document.body,Da.noSelection),!1}}}function ha(a){if(Sa){var b;"touchmove"===a.type?(a.preventDefault(),b=a.targetTouches[0]):0===a.button&&(b=a),b&&fa(b,Sa.elements.dialog,!Sa.get("modal")&&!Sa.get("pinned"))}}function ia(){if(Sa){var a=Sa;Sa=null,c(document.body,Da.noSelection),c(a.elements.dialog,Da.capture),Ga=!0,l("onresized",a)}}function ja(a){Sa=null;var b=a.elements.dialog;"none"===b.style.maxWidth&&(b.style.maxWidth=b.style.minWidth=b.style.width=b.style.height=b.style.minHeight=b.style.left="",Ta=Number.Nan,Ua=Va=Wa=0)}function ka(a){a.get("resizable")?(b(a.elements.root,Da.resizable),a.isOpen()&&sa(a)):(ja(a),c(a.elements.root,Da.resizable),a.isOpen()&&ta(a))}function la(){for(var a=0;a-1&&a.navigator.userAgent.indexOf("Chrome")<0,Ca={dimmer:'
            ',modal:'
            ',dialog:'
            ',reset:'',commands:'
            ',header:'
            ',body:'
            ',content:'
            ',footer:'',buttons:{primary:'
            ',auxiliary:'
            '},button:'',resizeHandle:'
            '},Da={animationIn:"ajs-in",animationOut:"ajs-out",base:"alertify",basic:"ajs-basic",capture:"ajs-capture",closable:"ajs-closable",fixed:"ajs-fixed",frameless:"ajs-frameless",hidden:"ajs-hidden",maximize:"ajs-maximize",maximized:"ajs-maximized",maximizable:"ajs-maximizable",modeless:"ajs-modeless",movable:"ajs-movable",noSelection:"ajs-no-selection",noOverflow:"ajs-no-overflow",noPadding:"ajs-no-padding",pin:"ajs-pin",pinnable:"ajs-pinnable",prefix:"ajs-",resizable:"ajs-resizable",restore:"ajs-restore",shake:"ajs-shake",unpinned:"ajs-unpinned"},Ea="",Fa=0,Ga=!1,Ha=0,Ia=0,Ja=!1,Ka=null,La=0,Ma=0,Na="pageX",Oa="pageY",Pa=null,Qa=!1,Ra=null,Sa=null,Ta=Number.Nan,Ua=0,Va=0,Wa=0;return{__init:m,isOpen:function(){return this.__internal.isOpen},isModal:function(){return this.elements.root.className.indexOf(Da.modeless)<0},isMaximized:function(){return this.elements.root.className.indexOf(Da.maximized)>-1},isPinned:function(){return this.elements.root.className.indexOf(Da.unpinned)<0},maximize:function(){return this.isMaximized()||I(this),this},restore:function(){return this.isMaximized()&&J(this),this},pin:function(){return this.isPinned()||G(this),this},unpin:function(){return this.isPinned()&&H(this),this},bringToFront:function(){return B(null,this),this},moveTo:function(a,b){if(!isNaN(a)&&!isNaN(b)){l("onmove",this);var c=this.elements.dialog,e=c,f=0,g=0;c.style.left&&(f-=parseInt(c.style.left,10)),c.style.top&&(g-=parseInt(c.style.top,10));do{f+=e.offsetLeft,g+=e.offsetTop}while(e=e.offsetParent);var h=a-f,i=b-g;d()&&(h*=-1),c.style.left=h+"px",c.style.top=i+"px",l("onmoved",this)}return this},resizeTo:function(a,b){var c=parseFloat(a),d=parseFloat(b),e=/(\d*\.\d+|\d+)%/;if(!isNaN(c)&&!isNaN(d)&&!0===this.get("resizable")){l("onresize",this),(""+a).match(e)&&(c=c/100*document.documentElement.clientWidth),(""+b).match(e)&&(d=d/100*document.documentElement.clientHeight);var f=this.elements.dialog;"none"!==f.style.maxWidth&&(f.style.minWidth=(Va=f.offsetWidth)+"px"),f.style.maxWidth="none",f.style.minHeight=this.elements.header.offsetHeight+this.elements.footer.offsetHeight+"px",f.style.width=c+"px",f.style.height=d+"px",l("onresized",this)}return this},setting:function(a,b){var c=this,d=D(this,this.__internal.options,function(a,b,d){C(c,a,b,d)},a,b);if("get"===d.op)return d.found?d.value:void 0!==this.settings?D(this,this.settings,this.settingUpdated||function(){},a,b).value:void 0;if("set"===d.op){if(d.items.length>0)for(var e=this.settingUpdated||function(){},f=0;f0){var b=this;this.__internal.timer=setTimeout(function(){b.dismiss()},1e3*this.__internal.delay)}return this},setContent:function(c){if("string"==typeof c?(g(this.element),this.element.innerHTML=c):c instanceof a.HTMLElement&&this.element.firstChild!==c&&(g(this.element),this.element.appendChild(c)),this.__internal.closeButton){var d=document.createElement("span");b(d,n.close),d.setAttribute("data-close",!0),this.element.appendChild(d)}return this},dismissOthers:function(){return u.dismissAll(this),this}})}var k,l,m=[],n={base:"alertify-notifier",message:"ajs-message",top:"ajs-top",right:"ajs-right",bottom:"ajs-bottom",left:"ajs-left",center:"ajs-center",visible:"ajs-visible",hidden:"ajs-hidden",close:"ajs-close"};return{setting:function(a,b){if(d(this),void 0===b)return this.__internal[a];switch(a){case"position":this.__internal.position=b,h(this);break;case"delay":this.__internal.delay=b}return this},set:function(a,b){return this.setting(a,b),this},get:function(a){return this.setting(a)},create:function(a,b){d(this);var c=document.createElement("div");return c.className=n.message+("string"==typeof a&&""!==a?" ajs-"+a:""),i(c,b)},dismissAll:function(a){for(var b=m.slice(0),c=0;c (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer { - position: fixed; - z-index: 1981; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 0; - margin: 0; - background-color: #252525; - opacity: .5; -} -.alertify .ajs-modal { - position: fixed; - top: 0; - right: 0; - left: 0; - bottom: 0; - padding: 0; - overflow-y: auto; - z-index: 1981; -} -.alertify .ajs-dialog { - position: relative; - margin: 5% auto; - min-height: 110px; - max-width: 500px; - padding: 24px 24px 0 24px; - outline: 0; - background-color: #fff; -} -.alertify .ajs-dialog.ajs-capture:before { - content: ''; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - display: block; - z-index: 1; -} -.alertify .ajs-reset { - position: absolute !important; - display: inline !important; - width: 0 !important; - height: 0 !important; - opacity: 0 !important; -} -.alertify .ajs-commands { - position: absolute; - right: 4px; - margin: -14px 24px 0 0; - z-index: 2; -} -.alertify .ajs-commands button { - display: none; - width: 10px; - height: 10px; - margin-left: 10px; - padding: 10px; - border: 0; - background-color: transparent; - background-repeat: no-repeat; - background-position: center; - cursor: pointer; -} -.alertify .ajs-commands button.ajs-close { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC); -} -.alertify .ajs-commands button.ajs-maximize { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC); -} -.alertify .ajs-header { - margin: -24px; - margin-bottom: 0; - padding: 16px 24px; - background-color: #fff; -} -.alertify .ajs-body { - min-height: 56px; -} -.alertify .ajs-body .ajs-content { - padding: 16px 24px 16px 16px; -} -.alertify .ajs-footer { - padding: 4px; - margin-left: -24px; - margin-right: -24px; - min-height: 43px; - background-color: #fff; -} -.alertify .ajs-footer .ajs-buttons.ajs-primary { - text-align: right; -} -.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button { - margin: 4px; -} -.alertify .ajs-footer .ajs-buttons.ajs-auxiliary { - float: left; - clear: none; - text-align: left; -} -.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button { - margin: 4px; -} -.alertify .ajs-footer .ajs-buttons .ajs-button { - min-width: 88px; - min-height: 35px; -} -.alertify .ajs-handle { - position: absolute; - display: none; - width: 10px; - height: 10px; - right: 0; - bottom: 0; - z-index: 1; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==); - -webkit-transform: scaleX(1) /*rtl:scaleX(-1)*/; - transform: scaleX(1) /*rtl:scaleX(-1)*/; - cursor: se-resize; -} -.alertify.ajs-no-overflow .ajs-body .ajs-content { - overflow: hidden !important; -} -.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content { - left: 0; - right: 0; - padding: 0; -} -.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body { - margin-left: -24px; - margin-right: -24px; -} -.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content { - padding: 0; -} -.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content { - left: 0; - right: 0; -} -.alertify.ajs-maximizable .ajs-commands button.ajs-maximize, -.alertify.ajs-maximizable .ajs-commands button.ajs-restore { - display: inline-block; -} -.alertify.ajs-closable .ajs-commands button.ajs-close { - display: inline-block; -} -.alertify.ajs-maximized .ajs-dialog { - width: 100% !important; - height: 100% !important; - max-width: none !important; - margin: 0 auto !important; - top: 0 !important; - left: 0 !important; -} -.alertify.ajs-maximized.ajs-modeless .ajs-modal { - position: fixed !important; - min-height: 100% !important; - max-height: none !important; - margin: 0 !important; -} -.alertify.ajs-maximized .ajs-commands button.ajs-maximize { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=); -} -.alertify.ajs-resizable .ajs-dialog, -.alertify.ajs-maximized .ajs-dialog { - padding: 0; -} -.alertify.ajs-resizable .ajs-commands, -.alertify.ajs-maximized .ajs-commands { - margin: 14px 24px 0 0; -} -.alertify.ajs-resizable .ajs-header, -.alertify.ajs-maximized .ajs-header { - position: absolute; - top: 0; - left: 0; - right: 0; - margin: 0; - padding: 16px 24px; -} -.alertify.ajs-resizable .ajs-body, -.alertify.ajs-maximized .ajs-body { - min-height: 224px; - display: inline-block; -} -.alertify.ajs-resizable .ajs-body .ajs-content, -.alertify.ajs-maximized .ajs-body .ajs-content { - position: absolute; - top: 50px; - right: 24px; - bottom: 50px; - left: 24px; - overflow: auto; -} -.alertify.ajs-resizable .ajs-footer, -.alertify.ajs-maximized .ajs-footer { - position: absolute; - left: 0; - right: 0; - bottom: 0; - margin: 0; -} -.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog { - min-width: 548px; -} -.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle { - display: block; -} -.alertify.ajs-movable:not(.ajs-maximized) .ajs-header { - cursor: move; -} -.alertify.ajs-modeless .ajs-dimmer, -.alertify.ajs-modeless .ajs-reset { - display: none; -} -.alertify.ajs-modeless .ajs-modal { - overflow: visible; - max-width: none; - max-height: 0; -} -.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin { - display: inline-block; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC); -} -.alertify.ajs-modeless.ajs-unpinned .ajs-modal { - position: absolute; -} -.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=); -} -.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body { - max-height: 500px; - overflow: auto; -} -.alertify.ajs-basic .ajs-header { - opacity: 0; -} -.alertify.ajs-basic .ajs-footer { - visibility: hidden; -} -.alertify.ajs-frameless .ajs-header { - position: absolute; - top: 0; - left: 0; - right: 0; - min-height: 60px; - margin: 0; - padding: 0; - opacity: 0; - z-index: 1; -} -.alertify.ajs-frameless .ajs-footer { - display: none; -} -.alertify.ajs-frameless .ajs-body .ajs-content { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; -} -.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog { - padding-top: 0; -} -.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands { - margin-top: 0; -} -.ajs-no-overflow { - overflow: hidden !important; - outline: none; -} -.ajs-no-overflow.ajs-fixed { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - overflow-y: scroll!important; -} -.ajs-no-selection, -.ajs-no-selection * { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -@media screen and (max-width: 568px) { - .alertify .ajs-dialog { - min-width: 150px; - } - .alertify:not(.ajs-maximized) .ajs-modal { - padding: 0 5%; - } - .alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog { - min-width: initial; - min-width: auto /*IE fallback*/; - } -} -@-moz-document url-prefix() { - .alertify button:focus { - outline: 1px dotted #3593D2; - } -} -.alertify .ajs-dimmer, -.alertify .ajs-modal { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-property: opacity, visibility; - transition-property: opacity, visibility; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transition-duration: 250ms; - transition-duration: 250ms; -} -.alertify.ajs-hidden .ajs-dimmer, -.alertify.ajs-hidden .ajs-modal { - visibility: hidden; - opacity: 0; -} -.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-duration: 500ms; - animation-duration: 500ms; -} -.alertify.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-duration: 250ms; - animation-duration: 250ms; -} -.alertify .ajs-dialog.ajs-shake { - -webkit-animation-name: ajs-shake; - animation-name: ajs-shake; - -webkit-animation-duration: .1s; - animation-duration: .1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} -@-webkit-keyframes ajs-shake { - 0%, - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} -@keyframes ajs-shake { - 0%, - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} -.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-slideIn; - animation-name: ajs-slideIn; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); -} -.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-slideOut; - animation-name: ajs-slideOut; - -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); - animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); -} -.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-zoomIn; - animation-name: ajs-zoomIn; -} -.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-zoomOut; - animation-name: ajs-zoomOut; -} -.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-fadeIn; - animation-name: ajs-fadeIn; -} -.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-fadeOut; - animation-name: ajs-fadeOut; -} -.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-pulseIn; - animation-name: ajs-pulseIn; -} -.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-pulseOut; - animation-name: ajs-pulseOut; -} -.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-flipInX; - animation-name: ajs-flipInX; -} -.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-flipOutX; - animation-name: ajs-flipOutX; -} -.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-flipInY; - animation-name: ajs-flipInY; -} -.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-flipOutY; - animation-name: ajs-flipOutY; -} -@-webkit-keyframes ajs-pulseIn { - 0%, - 20%, - 40%, - 60%, - 80%, - 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@keyframes ajs-pulseIn { - 0%, - 20%, - 40%, - 60%, - 80%, - 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@-webkit-keyframes ajs-pulseOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} -@keyframes ajs-pulseOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} -@-webkit-keyframes ajs-zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@keyframes ajs-zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@-webkit-keyframes ajs-zoomOut { - 0% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } -} -@keyframes ajs-zoomOut { - 0% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } -} -@-webkit-keyframes ajs-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes ajs-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-webkit-keyframes ajs-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@keyframes ajs-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@-webkit-keyframes ajs-flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@keyframes ajs-flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@-webkit-keyframes ajs-flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} -@keyframes ajs-flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} -@-webkit-keyframes ajs-flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@keyframes ajs-flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@-webkit-keyframes ajs-flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} -@keyframes ajs-flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} -@-webkit-keyframes ajs-slideIn { - 0% { - margin-top: -100%; - } - 100% { - margin-top: 5%; - } -} -@keyframes ajs-slideIn { - 0% { - margin-top: -100%; - } - 100% { - margin-top: 5%; - } -} -@-webkit-keyframes ajs-slideOut { - 0% { - margin-top: 5%; - } - 100% { - margin-top: -100%; - } -} -@keyframes ajs-slideOut { - 0% { - margin-top: 5%; - } - 100% { - margin-top: -100%; - } -} -.alertify-notifier { - position: fixed; - width: 0; - overflow: visible; - z-index: 1982; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.alertify-notifier .ajs-message { - position: relative; - width: 260px; - max-height: 0; - padding: 0; - opacity: 0; - margin: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 250ms; - transition-duration: 250ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; -} -.alertify-notifier .ajs-message.ajs-visible { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); - transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); - opacity: 1; - max-height: 100%; - padding: 15px; - margin-top: 10px; -} -.alertify-notifier .ajs-message.ajs-success { - background: rgba(91, 189, 114, 0.95); -} -.alertify-notifier .ajs-message.ajs-error { - background: rgba(217, 92, 92, 0.95); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); -} -.alertify-notifier .ajs-message .ajs-close { - position: absolute; - top: 0; - right: 0; - width: 16px; - height: 16px; - cursor: pointer; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC); - background-repeat: no-repeat; - background-position: center center; - background-color: rgba(0, 0, 0, 0.5); - border-top-right-radius: 2px; -} -.alertify-notifier.ajs-top { - top: 10px; -} -.alertify-notifier.ajs-bottom { - bottom: 10px; -} -.alertify-notifier.ajs-right { - right: 10px; -} -.alertify-notifier.ajs-right .ajs-message { - right: -320px; -} -.alertify-notifier.ajs-right .ajs-message.ajs-visible { - right: 290px; -} -.alertify-notifier.ajs-left { - left: 10px; -} -.alertify-notifier.ajs-left .ajs-message { - left: -300px; -} -.alertify-notifier.ajs-left .ajs-message.ajs-visible { - left: 0; -} -.alertify-notifier.ajs-center { - left: 50%; -} -.alertify-notifier.ajs-center .ajs-message { - -webkit-transform: translateX(-50%); - transform: translateX(-50%); -} -.alertify-notifier.ajs-center .ajs-message.ajs-visible { - left: 50%; - -webkit-transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); - transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); -} -.alertify-notifier.ajs-center.ajs-top .ajs-message { - top: -300px; -} -.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible { - top: 0; -} -.alertify-notifier.ajs-center.ajs-bottom .ajs-message { - bottom: -300px; -} -.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible { - bottom: 0; -} diff --git a/vendor/blobt/assets/alertifyjs/css/alertify.min.css b/vendor/blobt/assets/alertifyjs/css/alertify.min.css deleted file mode 100644 index 8a702a5..0000000 --- a/vendor/blobt/assets/alertifyjs/css/alertify.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer{position:fixed;z-index:1981;top:0;right:0;bottom:0;left:0;padding:0;margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{position:fixed;top:0;right:0;left:0;bottom:0;padding:0;overflow-y:auto;z-index:1981}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0 24px;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;right:4px;margin:-14px 24px 0 0;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-left:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px;margin-bottom:0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 24px 16px 16px}.alertify .ajs-footer{padding:4px;margin-left:-24px;margin-right:-24px;min-height:43px;background-color:#fff}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:left;clear:none;text-align:left}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;right:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(1);transform:scaleX(1);cursor:se-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{left:0;right:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-left:-24px;margin-right:-24px}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content{padding:0}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{left:0;right:0}.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-closable .ajs-commands button.ajs-close{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;left:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 24px 0 0}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;left:0;right:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;right:24px;bottom:50px;left:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;left:0;right:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;left:0;right:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;right:0;bottom:0;left:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:1px dotted #3593d2}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:250ms;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;width:260px;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;right:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-right-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{right:10px}.alertify-notifier.ajs-right .ajs-message{right:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{right:290px}.alertify-notifier.ajs-left{left:10px}.alertify-notifier.ajs-left .ajs-message{left:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{left:0}.alertify-notifier.ajs-center{left:50%}.alertify-notifier.ajs-center .ajs-message{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.alertify-notifier.ajs-center .ajs-message.ajs-visible{left:50%;-webkit-transition-timing-function:cubic-bezier(.57,.43,.1,.65);transition-timing-function:cubic-bezier(.57,.43,.1,.65)}.alertify-notifier.ajs-center.ajs-top .ajs-message{top:-300px}.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible{top:0}.alertify-notifier.ajs-center.ajs-bottom .ajs-message{bottom:-300px}.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible{bottom:0} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/alertify.rtl.css b/vendor/blobt/assets/alertifyjs/css/alertify.rtl.css deleted file mode 100644 index ebfafbf..0000000 --- a/vendor/blobt/assets/alertifyjs/css/alertify.rtl.css +++ /dev/null @@ -1,938 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer { - position: fixed; - z-index: 1981; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: 0; - margin: 0; - background-color: #252525; - opacity: .5; -} -.alertify .ajs-modal { - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - padding: 0; - overflow-y: auto; - z-index: 1981; -} -.alertify .ajs-dialog { - position: relative; - margin: 5% auto; - min-height: 110px; - max-width: 500px; - padding: 24px 24px 0 24px; - outline: 0; - background-color: #fff; -} -.alertify .ajs-dialog.ajs-capture:before { - content: ''; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - display: block; - z-index: 1; -} -.alertify .ajs-reset { - position: absolute !important; - display: inline !important; - width: 0 !important; - height: 0 !important; - opacity: 0 !important; -} -.alertify .ajs-commands { - position: absolute; - left: 4px; - margin: -14px 0 0 24px; - z-index: 2; -} -.alertify .ajs-commands button { - display: none; - width: 10px; - height: 10px; - margin-right: 10px; - padding: 10px; - border: 0; - background-color: transparent; - background-repeat: no-repeat; - background-position: center; - cursor: pointer; -} -.alertify .ajs-commands button.ajs-close { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC); -} -.alertify .ajs-commands button.ajs-maximize { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC); -} -.alertify .ajs-header { - margin: -24px; - margin-bottom: 0; - padding: 16px 24px; - background-color: #fff; -} -.alertify .ajs-body { - min-height: 56px; -} -.alertify .ajs-body .ajs-content { - padding: 16px 16px 16px 24px; -} -.alertify .ajs-footer { - padding: 4px; - margin-right: -24px; - margin-left: -24px; - min-height: 43px; - background-color: #fff; -} -.alertify .ajs-footer .ajs-buttons.ajs-primary { - text-align: left; -} -.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button { - margin: 4px; -} -.alertify .ajs-footer .ajs-buttons.ajs-auxiliary { - float: right; - clear: none; - text-align: right; -} -.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button { - margin: 4px; -} -.alertify .ajs-footer .ajs-buttons .ajs-button { - min-width: 88px; - min-height: 35px; -} -.alertify .ajs-handle { - position: absolute; - display: none; - width: 10px; - height: 10px; - left: 0; - bottom: 0; - z-index: 1; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==); - -webkit-transform: scaleX(-1); - transform: scaleX(-1); - cursor: sw-resize; -} -.alertify.ajs-no-overflow .ajs-body .ajs-content { - overflow: hidden !important; -} -.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content { - right: 0; - left: 0; - padding: 0; -} -.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body { - margin-right: -24px; - margin-left: -24px; -} -.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content { - padding: 0; -} -.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content { - right: 0; - left: 0; -} -.alertify.ajs-maximizable .ajs-commands button.ajs-maximize, -.alertify.ajs-maximizable .ajs-commands button.ajs-restore { - display: inline-block; -} -.alertify.ajs-closable .ajs-commands button.ajs-close { - display: inline-block; -} -.alertify.ajs-maximized .ajs-dialog { - width: 100% !important; - height: 100% !important; - max-width: none !important; - margin: 0 auto !important; - top: 0 !important; - right: 0 !important; -} -.alertify.ajs-maximized.ajs-modeless .ajs-modal { - position: fixed !important; - min-height: 100% !important; - max-height: none !important; - margin: 0 !important; -} -.alertify.ajs-maximized .ajs-commands button.ajs-maximize { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=); -} -.alertify.ajs-resizable .ajs-dialog, -.alertify.ajs-maximized .ajs-dialog { - padding: 0; -} -.alertify.ajs-resizable .ajs-commands, -.alertify.ajs-maximized .ajs-commands { - margin: 14px 0 0 24px; -} -.alertify.ajs-resizable .ajs-header, -.alertify.ajs-maximized .ajs-header { - position: absolute; - top: 0; - right: 0; - left: 0; - margin: 0; - padding: 16px 24px; -} -.alertify.ajs-resizable .ajs-body, -.alertify.ajs-maximized .ajs-body { - min-height: 224px; - display: inline-block; -} -.alertify.ajs-resizable .ajs-body .ajs-content, -.alertify.ajs-maximized .ajs-body .ajs-content { - position: absolute; - top: 50px; - left: 24px; - bottom: 50px; - right: 24px; - overflow: auto; -} -.alertify.ajs-resizable .ajs-footer, -.alertify.ajs-maximized .ajs-footer { - position: absolute; - right: 0; - left: 0; - bottom: 0; - margin: 0; -} -.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog { - min-width: 548px; -} -.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle { - display: block; -} -.alertify.ajs-movable:not(.ajs-maximized) .ajs-header { - cursor: move; -} -.alertify.ajs-modeless .ajs-dimmer, -.alertify.ajs-modeless .ajs-reset { - display: none; -} -.alertify.ajs-modeless .ajs-modal { - overflow: visible; - max-width: none; - max-height: 0; -} -.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin { - display: inline-block; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC); -} -.alertify.ajs-modeless.ajs-unpinned .ajs-modal { - position: absolute; -} -.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=); -} -.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body { - max-height: 500px; - overflow: auto; -} -.alertify.ajs-basic .ajs-header { - opacity: 0; -} -.alertify.ajs-basic .ajs-footer { - visibility: hidden; -} -.alertify.ajs-frameless .ajs-header { - position: absolute; - top: 0; - right: 0; - left: 0; - min-height: 60px; - margin: 0; - padding: 0; - opacity: 0; - z-index: 1; -} -.alertify.ajs-frameless .ajs-footer { - display: none; -} -.alertify.ajs-frameless .ajs-body .ajs-content { - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; -} -.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog { - padding-top: 0; -} -.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands { - margin-top: 0; -} -.ajs-no-overflow { - overflow: hidden !important; - outline: none; -} -.ajs-no-overflow.ajs-fixed { - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - overflow-y: scroll!important; -} -.ajs-no-selection, -.ajs-no-selection * { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -@media screen and (max-width: 568px) { - .alertify .ajs-dialog { - min-width: 150px; - } - .alertify:not(.ajs-maximized) .ajs-modal { - padding: 0 5%; - } - .alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog { - min-width: initial; - min-width: auto /*IE fallback*/; - } -} -@-moz-document url-prefix() { - .alertify button:focus { - outline: 1px dotted #3593D2; - } -} -.alertify .ajs-dimmer, -.alertify .ajs-modal { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-property: opacity, visibility; - transition-property: opacity, visibility; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; - -webkit-transition-duration: 250ms; - transition-duration: 250ms; -} -.alertify.ajs-hidden .ajs-dimmer, -.alertify.ajs-hidden .ajs-modal { - visibility: hidden; - opacity: 0; -} -.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-duration: 500ms; - animation-duration: 500ms; -} -.alertify.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-duration: 250ms; - animation-duration: 250ms; -} -.alertify .ajs-dialog.ajs-shake { - -webkit-animation-name: ajs-shake; - animation-name: ajs-shake; - -webkit-animation-duration: .1s; - animation-duration: .1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} -@-webkit-keyframes ajs-shake { - 0%, - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } -} -@keyframes ajs-shake { - 0%, - 100% { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } -} -.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-slideIn; - animation-name: ajs-slideIn; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); -} -.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-slideOut; - animation-name: ajs-slideOut; - -webkit-animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); - animation-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); -} -.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-zoomIn; - animation-name: ajs-zoomIn; -} -.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-zoomOut; - animation-name: ajs-zoomOut; -} -.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-fadeIn; - animation-name: ajs-fadeIn; -} -.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-fadeOut; - animation-name: ajs-fadeOut; -} -.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-pulseIn; - animation-name: ajs-pulseIn; -} -.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-pulseOut; - animation-name: ajs-pulseOut; -} -.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-flipInX; - animation-name: ajs-flipInX; -} -.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-flipOutX; - animation-name: ajs-flipOutX; -} -.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog { - -webkit-animation-name: ajs-flipInY; - animation-name: ajs-flipInY; -} -.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog { - -webkit-animation-name: ajs-flipOutY; - animation-name: ajs-flipOutY; -} -@-webkit-keyframes ajs-pulseIn { - 0%, - 20%, - 40%, - 60%, - 80%, - 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@keyframes ajs-pulseIn { - 0%, - 20%, - 40%, - 60%, - 80%, - 100% { - -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@-webkit-keyframes ajs-pulseOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} -@keyframes ajs-pulseOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} -@-webkit-keyframes ajs-zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@keyframes ajs-zoomIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } - 100% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} -@-webkit-keyframes ajs-zoomOut { - 0% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } -} -@keyframes ajs-zoomOut { - 0% { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - 100% { - opacity: 0; - -webkit-transform: scale3d(0.25, 0.25, 0.25); - transform: scale3d(0.25, 0.25, 0.25); - } -} -@-webkit-keyframes ajs-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes ajs-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-webkit-keyframes ajs-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@keyframes ajs-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@-webkit-keyframes ajs-flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg); - transform: perspective(400px) rotate3d(1, 0, 0, -10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg); - transform: perspective(400px) rotate3d(1, 0, 0, 5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@keyframes ajs-flipInX { - 0% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -10deg); - transform: perspective(400px) rotate3d(1, 0, 0, -10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 5deg); - transform: perspective(400px) rotate3d(1, 0, 0, 5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@-webkit-keyframes ajs-flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - opacity: 0; - } -} -@keyframes ajs-flipOutX { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - transform: perspective(400px) rotate3d(1, 0, 0, 20deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - transform: perspective(400px) rotate3d(1, 0, 0, -90deg); - opacity: 0; - } -} -@-webkit-keyframes ajs-flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 20deg); - transform: perspective(400px) rotate3d(0, -1, 0, 20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -10deg); - transform: perspective(400px) rotate3d(0, -1, 0, -10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 5deg); - transform: perspective(400px) rotate3d(0, -1, 0, 5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@keyframes ajs-flipInY { - 0% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 20deg); - transform: perspective(400px) rotate3d(0, -1, 0, 20deg); - -webkit-transition-timing-function: ease-in; - transition-timing-function: ease-in; - } - 60% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -10deg); - transform: perspective(400px) rotate3d(0, -1, 0, -10deg); - opacity: 1; - } - 80% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 5deg); - transform: perspective(400px) rotate3d(0, -1, 0, 5deg); - } - 100% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} -@-webkit-keyframes ajs-flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 15deg); - transform: perspective(400px) rotate3d(0, -1, 0, 15deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - opacity: 0; - } -} -@keyframes ajs-flipOutY { - 0% { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, 15deg); - transform: perspective(400px) rotate3d(0, -1, 0, 15deg); - opacity: 1; - } - 100% { - -webkit-transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - transform: perspective(400px) rotate3d(0, -1, 0, -90deg); - opacity: 0; - } -} -@-webkit-keyframes ajs-slideIn { - 0% { - margin-top: -100%; - } - 100% { - margin-top: 5%; - } -} -@keyframes ajs-slideIn { - 0% { - margin-top: -100%; - } - 100% { - margin-top: 5%; - } -} -@-webkit-keyframes ajs-slideOut { - 0% { - margin-top: 5%; - } - 100% { - margin-top: -100%; - } -} -@keyframes ajs-slideOut { - 0% { - margin-top: 5%; - } - 100% { - margin-top: -100%; - } -} -.alertify-notifier { - position: fixed; - width: 0; - overflow: visible; - z-index: 1982; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.alertify-notifier .ajs-message { - position: relative; - width: 260px; - max-height: 0; - padding: 0; - opacity: 0; - margin: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 250ms; - transition-duration: 250ms; - -webkit-transition-timing-function: linear; - transition-timing-function: linear; -} -.alertify-notifier .ajs-message.ajs-visible { - -webkit-transition-duration: 500ms; - transition-duration: 500ms; - -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); - transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); - opacity: 1; - max-height: 100%; - padding: 15px; - margin-top: 10px; -} -.alertify-notifier .ajs-message.ajs-success { - background: rgba(91, 189, 114, 0.95); -} -.alertify-notifier .ajs-message.ajs-error { - background: rgba(217, 92, 92, 0.95); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); -} -.alertify-notifier .ajs-message .ajs-close { - position: absolute; - top: 0; - left: 0; - width: 16px; - height: 16px; - cursor: pointer; - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC); - background-repeat: no-repeat; - background-position: center center; - background-color: rgba(0, 0, 0, 0.5); - border-top-left-radius: 2px; -} -.alertify-notifier.ajs-top { - top: 10px; -} -.alertify-notifier.ajs-bottom { - bottom: 10px; -} -.alertify-notifier.ajs-right { - left: 10px; -} -.alertify-notifier.ajs-right .ajs-message { - left: -320px; -} -.alertify-notifier.ajs-right .ajs-message.ajs-visible { - left: 290px; -} -.alertify-notifier.ajs-left { - right: 10px; -} -.alertify-notifier.ajs-left .ajs-message { - right: -300px; -} -.alertify-notifier.ajs-left .ajs-message.ajs-visible { - right: 0; -} -.alertify-notifier.ajs-center { - right: 50%; -} -.alertify-notifier.ajs-center .ajs-message { - -webkit-transform: translateX(50%); - transform: translateX(50%); -} -.alertify-notifier.ajs-center .ajs-message.ajs-visible { - right: 50%; - -webkit-transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); - transition-timing-function: cubic-bezier(0.57, 0.43, 0.1, 0.65); -} -.alertify-notifier.ajs-center.ajs-top .ajs-message { - top: -300px; -} -.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible { - top: 0; -} -.alertify-notifier.ajs-center.ajs-bottom .ajs-message { - bottom: -300px; -} -.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible { - bottom: 0; -} diff --git a/vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css deleted file mode 100644 index 4543385..0000000 --- a/vendor/blobt/assets/alertifyjs/css/alertify.rtl.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer{position:fixed;z-index:1981;top:0;left:0;bottom:0;right:0;padding:0;margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{position:fixed;top:0;left:0;right:0;bottom:0;padding:0;overflow-y:auto;z-index:1981}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0 24px;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;left:0;bottom:0;right:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;left:4px;margin:-14px 0 0 24px;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-right:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px;margin-bottom:0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 16px 16px 24px}.alertify .ajs-footer{padding:4px;margin-right:-24px;margin-left:-24px;min-height:43px;background-color:#fff}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:left}.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:right;clear:none;text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;left:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(-1);transform:scaleX(-1);cursor:sw-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{right:0;left:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-right:-24px;margin-left:-24px}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content{padding:0}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{right:0;left:0}.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-closable .ajs-commands button.ajs-close{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;right:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 0 0 24px}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;right:0;left:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;left:24px;bottom:50px;right:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;right:0;left:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;right:0;left:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;left:0;bottom:0;right:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;left:0;bottom:0;right:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:1px dotted #3593d2}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:250ms;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-10deg);transform:perspective(400px) rotate3d(1,0,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,5deg);transform:perspective(400px) rotate3d(1,0,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-10deg);transform:perspective(400px) rotate3d(1,0,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,5deg);transform:perspective(400px) rotate3d(1,0,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,20deg);transform:perspective(400px) rotate3d(1,0,0,20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-90deg);transform:perspective(400px) rotate3d(1,0,0,-90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,20deg);transform:perspective(400px) rotate3d(0,-1,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-10deg);transform:perspective(400px) rotate3d(0,-1,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,5deg);transform:perspective(400px) rotate3d(0,-1,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,20deg);transform:perspective(400px) rotate3d(0,-1,0,20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-10deg);transform:perspective(400px) rotate3d(0,-1,0,-10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,5deg);transform:perspective(400px) rotate3d(0,-1,0,5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,15deg);transform:perspective(400px) rotate3d(0,-1,0,15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,15deg);transform:perspective(400px) rotate3d(0,-1,0,15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,-1,0,-90deg);transform:perspective(400px) rotate3d(0,-1,0,-90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;width:260px;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;left:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-left-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{left:10px}.alertify-notifier.ajs-right .ajs-message{left:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{left:290px}.alertify-notifier.ajs-left{right:10px}.alertify-notifier.ajs-left .ajs-message{right:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{right:0}.alertify-notifier.ajs-center{right:50%}.alertify-notifier.ajs-center .ajs-message{-webkit-transform:translateX(50%);transform:translateX(50%)}.alertify-notifier.ajs-center .ajs-message.ajs-visible{right:50%;-webkit-transition-timing-function:cubic-bezier(.57,.43,.1,.65);transition-timing-function:cubic-bezier(.57,.43,.1,.65)}.alertify-notifier.ajs-center.ajs-top .ajs-message{top:-300px}.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible{top:0}.alertify-notifier.ajs-center.ajs-bottom .ajs-message{bottom:-300px}.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible{bottom:0} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css deleted file mode 100644 index 5677641..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.css +++ /dev/null @@ -1,61 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer { - background-color: #000; - opacity: .5; -} -.alertify .ajs-dialog { - max-width: 600px; - min-height: 122px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - border-radius: 6px; -} -.alertify .ajs-header { - color: #333; - border-bottom: 1px solid #e5e5e5; - border-radius: 6px 6px 0 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 18px; -} -.alertify .ajs-body { - font-family: 'Roboto', sans-serif; - color: black; -} -.alertify.ajs-resizable .ajs-content, -.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { - top: 58px; - bottom: 68px; -} -.alertify .ajs-footer { - background-color: #fff; - padding: 15px; - border-top: 1px solid #e5e5e5; - border-radius: 0 0 6px 6px; -} -.alertify-notifier .ajs-message { - background: rgba(255, 255, 255, 0.95); - color: #000; - text-align: center; - border: solid 1px #ddd; - border-radius: 2px; -} -.alertify-notifier .ajs-message.ajs-success { - color: #fff; - background: rgba(91, 189, 114, 0.95); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-error { - color: #fff; - background: rgba(217, 92, 92, 0.95); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); - border-color: #999; -} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css deleted file mode 100644 index 1a23fbb..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer{background-color:#000;opacity:.5}.alertify .ajs-dialog{max-width:600px;min-height:122px;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5);border-radius:6px}.alertify .ajs-header{color:#333;border-bottom:1px solid #e5e5e5;border-radius:6px 6px 0 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#000}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:58px;bottom:68px}.alertify .ajs-footer{background-color:#fff;padding:15px;border-top:1px solid #e5e5e5;border-radius:0 0 6px 6px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css deleted file mode 100644 index ea7c740..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.css +++ /dev/null @@ -1,61 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer { - background-color: #000; - opacity: .5; -} -.alertify .ajs-dialog { - max-width: 600px; - min-height: 122px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - border-radius: 6px; -} -.alertify .ajs-header { - color: #333; - border-bottom: 1px solid #e5e5e5; - border-radius: 6px 6px 0 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 18px; -} -.alertify .ajs-body { - font-family: 'Roboto', sans-serif; - color: black; -} -.alertify.ajs-resizable .ajs-content, -.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { - top: 58px; - bottom: 68px; -} -.alertify .ajs-footer { - background-color: #fff; - padding: 15px; - border-top: 1px solid #e5e5e5; - border-radius: 0 0 6px 6px; -} -.alertify-notifier .ajs-message { - background: rgba(255, 255, 255, 0.95); - color: #000; - text-align: center; - border: solid 1px #ddd; - border-radius: 2px; -} -.alertify-notifier .ajs-message.ajs-success { - color: #fff; - background: rgba(91, 189, 114, 0.95); - text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-error { - color: #fff; - background: rgba(217, 92, 92, 0.95); - text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); - border-color: #999; -} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css deleted file mode 100644 index cbfa55f..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/bootstrap.rtl.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer{background-color:#000;opacity:.5}.alertify .ajs-dialog{max-width:600px;min-height:122px;background-color:#fff;border:1px solid rgba(0,0,0,.2);-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5);border-radius:6px}.alertify .ajs-header{color:#333;border-bottom:1px solid #e5e5e5;border-radius:6px 6px 0 0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:18px}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#000}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:58px;bottom:68px}.alertify .ajs-footer{background-color:#fff;padding:15px;border-top:1px solid #e5e5e5;border-radius:0 0 6px 6px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.css b/vendor/blobt/assets/alertifyjs/css/themes/default.css deleted file mode 100644 index bba4c73..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/default.css +++ /dev/null @@ -1,69 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dialog { - background-color: white; - -webkit-box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); - box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); - border-radius: 2px; -} -.alertify .ajs-header { - color: black; - font-weight: bold; - background: #fafafa; - border-bottom: #eee 1px solid; - border-radius: 2px 2px 0 0; -} -.alertify .ajs-body { - color: black; -} -.alertify .ajs-body .ajs-content .ajs-input { - display: block; - width: 100%; - padding: 8px; - margin: 4px; - border-radius: 2px; - border: 1px solid #CCC; -} -.alertify .ajs-body .ajs-content p { - margin: 0; -} -.alertify .ajs-footer { - background: #fbfbfb; - border-top: #eee 1px solid; - border-radius: 0 0 2px 2px; -} -.alertify .ajs-footer .ajs-buttons .ajs-button { - background-color: transparent; - color: #000; - border: 0; - font-size: 14px; - font-weight: bold; - text-transform: uppercase; -} -.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok { - color: #3593D2; -} -.alertify-notifier .ajs-message { - background: rgba(255, 255, 255, 0.95); - color: #000; - text-align: center; - border: solid 1px #ddd; - border-radius: 2px; -} -.alertify-notifier .ajs-message.ajs-success { - color: #fff; - background: rgba(91, 189, 114, 0.95); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-error { - color: #fff; - background: rgba(217, 92, 92, 0.95); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); - border-color: #999; -} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.min.css b/vendor/blobt/assets/alertifyjs/css/themes/default.min.css deleted file mode 100644 index 4ec1250..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/default.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dialog{background-color:#fff;-webkit-box-shadow:0 15px 20px 0 rgba(0,0,0,.25);box-shadow:0 15px 20px 0 rgba(0,0,0,.25);border-radius:2px}.alertify .ajs-header{color:#000;font-weight:700;background:#fafafa;border-bottom:#eee 1px solid;border-radius:2px 2px 0 0}.alertify .ajs-body{color:#000}.alertify .ajs-body .ajs-content .ajs-input{display:block;width:100%;padding:8px;margin:4px;border-radius:2px;border:1px solid #ccc}.alertify .ajs-body .ajs-content p{margin:0}.alertify .ajs-footer{background:#fbfbfb;border-top:#eee 1px solid;border-radius:0 0 2px 2px}.alertify .ajs-footer .ajs-buttons .ajs-button{background-color:transparent;color:#000;border:0;font-size:14px;font-weight:700;text-transform:uppercase}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3593d2}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css b/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css deleted file mode 100644 index 7763ff9..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.css +++ /dev/null @@ -1,69 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dialog { - background-color: white; - -webkit-box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); - box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.25); - border-radius: 2px; -} -.alertify .ajs-header { - color: black; - font-weight: bold; - background: #fafafa; - border-bottom: #eee 1px solid; - border-radius: 2px 2px 0 0; -} -.alertify .ajs-body { - color: black; -} -.alertify .ajs-body .ajs-content .ajs-input { - display: block; - width: 100%; - padding: 8px; - margin: 4px; - border-radius: 2px; - border: 1px solid #CCC; -} -.alertify .ajs-body .ajs-content p { - margin: 0; -} -.alertify .ajs-footer { - background: #fbfbfb; - border-top: #eee 1px solid; - border-radius: 0 0 2px 2px; -} -.alertify .ajs-footer .ajs-buttons .ajs-button { - background-color: transparent; - color: #000; - border: 0; - font-size: 14px; - font-weight: bold; - text-transform: uppercase; -} -.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok { - color: #3593D2; -} -.alertify-notifier .ajs-message { - background: rgba(255, 255, 255, 0.95); - color: #000; - text-align: center; - border: solid 1px #ddd; - border-radius: 2px; -} -.alertify-notifier .ajs-message.ajs-success { - color: #fff; - background: rgba(91, 189, 114, 0.95); - text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-error { - color: #fff; - background: rgba(217, 92, 92, 0.95); - text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); - border-color: #999; -} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css deleted file mode 100644 index d57c5ff..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/default.rtl.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dialog{background-color:#fff;-webkit-box-shadow:0 15px 20px 0 rgba(0,0,0,.25);box-shadow:0 15px 20px 0 rgba(0,0,0,.25);border-radius:2px}.alertify .ajs-header{color:#000;font-weight:700;background:#fafafa;border-bottom:#eee 1px solid;border-radius:2px 2px 0 0}.alertify .ajs-body{color:#000}.alertify .ajs-body .ajs-content .ajs-input{display:block;width:100%;padding:8px;margin:4px;border-radius:2px;border:1px solid #ccc}.alertify .ajs-body .ajs-content p{margin:0}.alertify .ajs-footer{background:#fbfbfb;border-top:#eee 1px solid;border-radius:0 0 2px 2px}.alertify .ajs-footer .ajs-buttons .ajs-button{background-color:transparent;color:#000;border:0;font-size:14px;font-weight:700;text-transform:uppercase}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3593d2}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.css deleted file mode 100644 index 50571f2..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/semantic.css +++ /dev/null @@ -1,89 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer { - background-color: rgba(0, 0, 0, 0.85); - opacity: 1; -} -.alertify .ajs-dialog { - max-width: 50%; - min-height: 137px; - background-color: #F4F4F4; - border: 1px solid #DDD; - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 5px; -} -.alertify .ajs-header { - padding: 1.5rem 2rem; - border-bottom: none; - border-radius: 5px 5px 0 0; - color: #555; - background-color: #fff; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 1.6em; - font-weight: 700; -} -.alertify .ajs-body { - font-family: 'Roboto', sans-serif; - color: #555; -} -.alertify .ajs-body .ajs-content .ajs-input { - width: 100%; - margin: 0; - padding: .65em 1em; - font-size: 1em; - background-color: #FFF; - border: 1px solid rgba(0, 0, 0, 0.15); - outline: 0; - color: rgba(0, 0, 0, 0.7); - border-radius: .3125em; - -webkit-transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; - transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; - transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -.alertify .ajs-body .ajs-content .ajs-input:active { - border-color: rgba(0, 0, 0, 0.3); - background-color: #FAFAFA; -} -.alertify .ajs-body .ajs-content .ajs-input:focus { - border-color: rgba(0, 0, 0, 0.2); - color: rgba(0, 0, 0, 0.85); -} -.alertify.ajs-resizable .ajs-content, -.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { - top: 64px; - bottom: 74px; -} -.alertify .ajs-footer { - background-color: #fff; - padding: 1rem 2rem; - border-top: none; - border-radius: 0 0 5px 5px; -} -.alertify-notifier .ajs-message { - background: rgba(255, 255, 255, 0.95); - color: #000; - text-align: center; - border: solid 1px #ddd; - border-radius: 2px; -} -.alertify-notifier .ajs-message.ajs-success { - color: #fff; - background: rgba(91, 189, 114, 0.95); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-error { - color: #fff; - background: rgba(217, 92, 92, 0.95); - text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); - border-color: #999; -} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css deleted file mode 100644 index 5fca2ef..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/semantic.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer{background-color:rgba(0,0,0,.85);opacity:1}.alertify .ajs-dialog{max-width:50%;min-height:137px;background-color:#f4f4f4;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;border-radius:5px}.alertify .ajs-header{padding:1.5rem 2rem;border-bottom:none;border-radius:5px 5px 0 0;color:#555;background-color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:700}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#555}.alertify .ajs-body .ajs-content .ajs-input{width:100%;margin:0;padding:.65em 1em;font-size:1em;background-color:#fff;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,-webkit-box-shadow .2s ease;-webkit-box-sizing:border-box;box-sizing:border-box}.alertify .ajs-body .ajs-content .ajs-input:active{border-color:rgba(0,0,0,.3);background-color:#fafafa}.alertify .ajs-body .ajs-content .ajs-input:focus{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:64px;bottom:74px}.alertify .ajs-footer{background-color:#fff;padding:1rem 2rem;border-top:none;border-radius:0 0 5px 5px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css deleted file mode 100644 index 7e97fc2..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.css +++ /dev/null @@ -1,89 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer { - background-color: rgba(0, 0, 0, 0.85); - opacity: 1; -} -.alertify .ajs-dialog { - max-width: 50%; - min-height: 137px; - background-color: #F4F4F4; - border: 1px solid #DDD; - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 5px; -} -.alertify .ajs-header { - padding: 1.5rem 2rem; - border-bottom: none; - border-radius: 5px 5px 0 0; - color: #555; - background-color: #fff; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 1.6em; - font-weight: 700; -} -.alertify .ajs-body { - font-family: 'Roboto', sans-serif; - color: #555; -} -.alertify .ajs-body .ajs-content .ajs-input { - width: 100%; - margin: 0; - padding: .65em 1em; - font-size: 1em; - background-color: #FFF; - border: 1px solid rgba(0, 0, 0, 0.15); - outline: 0; - color: rgba(0, 0, 0, 0.7); - border-radius: .3125em; - -webkit-transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; - transition: background-color 0.3s ease-out, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; - transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease; - transition: background-color 0.3s ease-out, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-box-shadow 0.2s ease; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} -.alertify .ajs-body .ajs-content .ajs-input:active { - border-color: rgba(0, 0, 0, 0.3); - background-color: #FAFAFA; -} -.alertify .ajs-body .ajs-content .ajs-input:focus { - border-color: rgba(0, 0, 0, 0.2); - color: rgba(0, 0, 0, 0.85); -} -.alertify.ajs-resizable .ajs-content, -.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content { - top: 64px; - bottom: 74px; -} -.alertify .ajs-footer { - background-color: #fff; - padding: 1rem 2rem; - border-top: none; - border-radius: 0 0 5px 5px; -} -.alertify-notifier .ajs-message { - background: rgba(255, 255, 255, 0.95); - color: #000; - text-align: center; - border: solid 1px #ddd; - border-radius: 2px; -} -.alertify-notifier .ajs-message.ajs-success { - color: #fff; - background: rgba(91, 189, 114, 0.95); - text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-error { - color: #fff; - background: rgba(217, 92, 92, 0.95); - text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.5); -} -.alertify-notifier .ajs-message.ajs-warning { - background: rgba(252, 248, 215, 0.95); - border-color: #999; -} diff --git a/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css b/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css deleted file mode 100644 index e1461c2..0000000 --- a/vendor/blobt/assets/alertifyjs/css/themes/semantic.rtl.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/** - * alertifyjs 1.11.4 http://alertifyjs.com - * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. - * Copyright 2019 Mohammad Younes (http://alertifyjs.com) - * Licensed under GPL 3 */ -.alertify .ajs-dimmer{background-color:rgba(0,0,0,.85);opacity:1}.alertify .ajs-dialog{max-width:50%;min-height:137px;background-color:#f4f4f4;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;border-radius:5px}.alertify .ajs-header{padding:1.5rem 2rem;border-bottom:none;border-radius:5px 5px 0 0;color:#555;background-color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:700}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#555}.alertify .ajs-body .ajs-content .ajs-input{width:100%;margin:0;padding:.65em 1em;font-size:1em;background-color:#fff;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,-webkit-box-shadow .2s ease;-webkit-box-sizing:border-box;box-sizing:border-box}.alertify .ajs-body .ajs-content .ajs-input:active{border-color:rgba(0,0,0,.3);background-color:#fafafa}.alertify .ajs-body .ajs-content .ajs-input:focus{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:64px;bottom:74px}.alertify .ajs-footer{background-color:#fff;padding:1rem 2rem;border-top:none;border-radius:0 0 5px 5px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999} \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-daterangepicker/css/daterangepicker.css b/vendor/blobt/assets/bootstrap-daterangepicker/css/daterangepicker.css deleted file mode 100644 index 86f4b77..0000000 --- a/vendor/blobt/assets/bootstrap-daterangepicker/css/daterangepicker.css +++ /dev/null @@ -1,269 +0,0 @@ -.daterangepicker { - position: absolute; - color: inherit; - background-color: #fff; - border-radius: 4px; - width: 278px; - padding: 4px; - margin-top: 1px; - top: 100px; - left: 20px; - /* Calendars */ } - .daterangepicker:before, .daterangepicker:after { - position: absolute; - display: inline-block; - border-bottom-color: rgba(0, 0, 0, 0.2); - content: ''; } - .daterangepicker:before { - top: -7px; - border-right: 7px solid transparent; - border-left: 7px solid transparent; - border-bottom: 7px solid #ccc; } - .daterangepicker:after { - top: -6px; - border-right: 6px solid transparent; - border-bottom: 6px solid #fff; - border-left: 6px solid transparent; } - .daterangepicker.opensleft:before { - right: 9px; } - .daterangepicker.opensleft:after { - right: 10px; } - .daterangepicker.openscenter:before { - left: 0; - right: 0; - width: 0; - margin-left: auto; - margin-right: auto; } - .daterangepicker.openscenter:after { - left: 0; - right: 0; - width: 0; - margin-left: auto; - margin-right: auto; } - .daterangepicker.opensright:before { - left: 9px; } - .daterangepicker.opensright:after { - left: 10px; } - .daterangepicker.dropup { - margin-top: -5px; } - .daterangepicker.dropup:before { - top: initial; - bottom: -7px; - border-bottom: initial; - border-top: 7px solid #ccc; } - .daterangepicker.dropup:after { - top: initial; - bottom: -6px; - border-bottom: initial; - border-top: 6px solid #fff; } - .daterangepicker.dropdown-menu { - max-width: none; - z-index: 3001; } - .daterangepicker.single .ranges, .daterangepicker.single .calendar { - float: none; } - .daterangepicker.show-calendar .calendar { - display: block; } - .daterangepicker .calendar { - display: none; - max-width: 270px; - margin: 4px; } - .daterangepicker .calendar.single .calendar-table { - border: none; } - .daterangepicker .calendar th, .daterangepicker .calendar td { - white-space: nowrap; - text-align: center; - min-width: 32px; } - .daterangepicker .calendar-table { - border: 1px solid #fff; - padding: 4px; - border-radius: 4px; - background-color: #fff; } - .daterangepicker table { - width: 100%; - margin: 0; } - .daterangepicker td, .daterangepicker th { - text-align: center; - width: 20px; - height: 20px; - border-radius: 4px; - border: 1px solid transparent; - white-space: nowrap; - cursor: pointer; } - .daterangepicker td.available:hover, .daterangepicker th.available:hover { - background-color: #eee; - border-color: transparent; - color: inherit; } - .daterangepicker td.week, .daterangepicker th.week { - font-size: 80%; - color: #ccc; } - .daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date { - background-color: #fff; - border-color: transparent; - color: #999; } - .daterangepicker td.in-range { - background-color: #ebf4f8; - border-color: transparent; - color: #000; - border-radius: 0; } - .daterangepicker td.start-date { - border-radius: 4px 0 0 4px; } - .daterangepicker td.end-date { - border-radius: 0 4px 4px 0; } - .daterangepicker td.start-date.end-date { - border-radius: 4px; } - .daterangepicker td.active, .daterangepicker td.active:hover { - background-color: #357ebd; - border-color: transparent; - color: #fff; } - .daterangepicker th.month { - width: auto; } - .daterangepicker td.disabled, .daterangepicker option.disabled { - color: #999; - cursor: not-allowed; - text-decoration: line-through; } - .daterangepicker select.monthselect, .daterangepicker select.yearselect { - font-size: 12px; - padding: 1px; - height: auto; - margin: 0; - cursor: default; } - .daterangepicker select.monthselect { - margin-right: 2%; - width: 56%; } - .daterangepicker select.yearselect { - width: 40%; } - .daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect { - width: 50px; - margin-bottom: 0; } - .daterangepicker .input-mini { - border: 1px solid #ccc; - border-radius: 4px; - color: #555; - height: 30px; - line-height: 30px; - display: block; - vertical-align: middle; - margin: 0 0 5px 0; - padding: 0 6px 0 28px; - width: 100%; } - .daterangepicker .input-mini.active { - border: 1px solid #08c; - border-radius: 4px; } - .daterangepicker .daterangepicker_input { - position: relative; } - .daterangepicker .daterangepicker_input i { - position: absolute; - left: 8px; - top: 8px; } - .daterangepicker.rtl .input-mini { - padding-right: 28px; - padding-left: 6px; } - .daterangepicker.rtl .daterangepicker_input i { - left: auto; - right: 8px; } - .daterangepicker .calendar-time { - text-align: center; - margin: 5px auto; - line-height: 30px; - position: relative; - padding-left: 28px; } - .daterangepicker .calendar-time select.disabled { - color: #ccc; - cursor: not-allowed; } - -.ranges { - font-size: 11px; - float: none; - margin: 4px; - text-align: left; } - .ranges ul { - list-style: none; - margin: 0 auto; - padding: 0; - width: 100%; } - .ranges li { - font-size: 13px; - background-color: #f5f5f5; - border: 1px solid #f5f5f5; - border-radius: 4px; - color: #08c; - padding: 3px 12px; - margin-bottom: 8px; - cursor: pointer; } - .ranges li:hover { - background-color: #08c; - border: 1px solid #08c; - color: #fff; } - .ranges li.active { - background-color: #08c; - border: 1px solid #08c; - color: #fff; } - -/* Larger Screen Styling */ -@media (min-width: 564px) { - .daterangepicker { - width: auto; } - .daterangepicker .ranges ul { - width: 160px; } - .daterangepicker.single .ranges ul { - width: 100%; } - .daterangepicker.single .calendar.left { - clear: none; } - .daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .calendar { - float: left; } - .daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .calendar { - float: right; } - .daterangepicker.ltr { - direction: ltr; - text-align: left; } - .daterangepicker.ltr .calendar.left { - clear: left; - margin-right: 0; } - .daterangepicker.ltr .calendar.left .calendar-table { - border-right: none; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .daterangepicker.ltr .calendar.right { - margin-left: 0; } - .daterangepicker.ltr .calendar.right .calendar-table { - border-left: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .daterangepicker.ltr .left .daterangepicker_input { - padding-right: 12px; } - .daterangepicker.ltr .calendar.left .calendar-table { - padding-right: 12px; } - .daterangepicker.ltr .ranges, .daterangepicker.ltr .calendar { - float: left; } - .daterangepicker.rtl { - direction: rtl; - text-align: right; } - .daterangepicker.rtl .calendar.left { - clear: right; - margin-left: 0; } - .daterangepicker.rtl .calendar.left .calendar-table { - border-left: none; - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .daterangepicker.rtl .calendar.right { - margin-right: 0; } - .daterangepicker.rtl .calendar.right .calendar-table { - border-right: none; - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .daterangepicker.rtl .left .daterangepicker_input { - padding-left: 12px; } - .daterangepicker.rtl .calendar.left .calendar-table { - padding-left: 12px; } - .daterangepicker.rtl .ranges, .daterangepicker.rtl .calendar { - text-align: right; - float: right; } } -@media (min-width: 730px) { - .daterangepicker .ranges { - width: auto; } - .daterangepicker.ltr .ranges { - float: left; } - .daterangepicker.rtl .ranges { - float: right; } - .daterangepicker .calendar.left { - clear: none !important; } } diff --git a/vendor/blobt/assets/bootstrap-daterangepicker/js/daterangepicker.js b/vendor/blobt/assets/bootstrap-daterangepicker/js/daterangepicker.js deleted file mode 100644 index 079cde6..0000000 --- a/vendor/blobt/assets/bootstrap-daterangepicker/js/daterangepicker.js +++ /dev/null @@ -1,1653 +0,0 @@ -/** -* @version: 2.1.27 -* @author: Dan Grossman http://www.dangrossman.info/ -* @copyright: Copyright (c) 2012-2017 Dan Grossman. All rights reserved. -* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php -* @website: http://www.daterangepicker.com/ -*/ -// Follow the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Make globaly available as well - define(['moment', 'jquery'], function (moment, jquery) { - if (!jquery.fn) jquery.fn = {}; // webpack server rendering - return factory(moment, jquery); - }); - } else if (typeof module === 'object' && module.exports) { - // Node / Browserify - //isomorphic issue - var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined; - if (!jQuery) { - jQuery = require('jquery'); - if (!jQuery.fn) jQuery.fn = {}; - } - var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment'); - module.exports = factory(moment, jQuery); - } else { - // Browser globals - root.daterangepicker = factory(root.moment, root.jQuery); - } -}(this, function(moment, $) { - var DateRangePicker = function(element, options, cb) { - - //default settings for options - this.parentEl = 'body'; - this.element = $(element); - this.startDate = moment().startOf('day'); - this.endDate = moment().endOf('day'); - this.minDate = false; - this.maxDate = false; - this.dateLimit = false; - this.autoApply = false; - this.singleDatePicker = false; - this.showDropdowns = false; - this.showWeekNumbers = false; - this.showISOWeekNumbers = false; - this.showCustomRangeLabel = true; - this.timePicker = false; - this.timePicker24Hour = false; - this.timePickerIncrement = 1; - this.timePickerSeconds = false; - this.linkedCalendars = true; - this.autoUpdateInput = true; - this.alwaysShowCalendars = false; - this.ranges = {}; - - this.opens = 'right'; - if (this.element.hasClass('pull-right')) - this.opens = 'left'; - - this.drops = 'down'; - if (this.element.hasClass('dropup')) - this.drops = 'up'; - - this.buttonClasses = 'btn btn-sm'; - this.applyClass = 'btn-success'; - this.cancelClass = 'btn-default'; - - this.locale = { - direction: 'ltr', - format: moment.localeData().longDateFormat('L'), - separator: ' - ', - applyLabel: 'Apply', - cancelLabel: 'Cancel', - weekLabel: 'W', - customRangeLabel: 'Custom Range', - daysOfWeek: moment.weekdaysMin(), - monthNames: moment.monthsShort(), - firstDay: moment.localeData().firstDayOfWeek() - }; - - this.callback = function() { }; - - //some state information - this.isShowing = false; - this.leftCalendar = {}; - this.rightCalendar = {}; - - //custom options from user - if (typeof options !== 'object' || options === null) - options = {}; - - //allow setting options with data attributes - //data-api options will be overwritten with custom javascript options - options = $.extend(this.element.data(), options); - - //html template for the picker UI - if (typeof options.template !== 'string' && !(options.template instanceof $)) - options.template = ''; - - this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl); - this.container = $(options.template).appendTo(this.parentEl); - - // - // handle all the possible options overriding defaults - // - - if (typeof options.locale === 'object') { - - if (typeof options.locale.direction === 'string') - this.locale.direction = options.locale.direction; - - if (typeof options.locale.format === 'string') - this.locale.format = options.locale.format; - - if (typeof options.locale.separator === 'string') - this.locale.separator = options.locale.separator; - - if (typeof options.locale.daysOfWeek === 'object') - this.locale.daysOfWeek = options.locale.daysOfWeek.slice(); - - if (typeof options.locale.monthNames === 'object') - this.locale.monthNames = options.locale.monthNames.slice(); - - if (typeof options.locale.firstDay === 'number') - this.locale.firstDay = options.locale.firstDay; - - if (typeof options.locale.applyLabel === 'string') - this.locale.applyLabel = options.locale.applyLabel; - - if (typeof options.locale.cancelLabel === 'string') - this.locale.cancelLabel = options.locale.cancelLabel; - - if (typeof options.locale.weekLabel === 'string') - this.locale.weekLabel = options.locale.weekLabel; - - if (typeof options.locale.customRangeLabel === 'string'){ - //Support unicode chars in the custom range name. - var elem = document.createElement('textarea'); - elem.innerHTML = options.locale.customRangeLabel; - var rangeHtml = elem.value; - this.locale.customRangeLabel = rangeHtml; - } - } - this.container.addClass(this.locale.direction); - - if (typeof options.startDate === 'string') - this.startDate = moment(options.startDate, this.locale.format); - - if (typeof options.endDate === 'string') - this.endDate = moment(options.endDate, this.locale.format); - - if (typeof options.minDate === 'string') - this.minDate = moment(options.minDate, this.locale.format); - - if (typeof options.maxDate === 'string') - this.maxDate = moment(options.maxDate, this.locale.format); - - if (typeof options.startDate === 'object') - this.startDate = moment(options.startDate); - - if (typeof options.endDate === 'object') - this.endDate = moment(options.endDate); - - if (typeof options.minDate === 'object') - this.minDate = moment(options.minDate); - - if (typeof options.maxDate === 'object') - this.maxDate = moment(options.maxDate); - - // sanity check for bad options - if (this.minDate && this.startDate.isBefore(this.minDate)) - this.startDate = this.minDate.clone(); - - // sanity check for bad options - if (this.maxDate && this.endDate.isAfter(this.maxDate)) - this.endDate = this.maxDate.clone(); - - if (typeof options.applyClass === 'string') - this.applyClass = options.applyClass; - - if (typeof options.cancelClass === 'string') - this.cancelClass = options.cancelClass; - - if (typeof options.dateLimit === 'object') - this.dateLimit = options.dateLimit; - - if (typeof options.opens === 'string') - this.opens = options.opens; - - if (typeof options.drops === 'string') - this.drops = options.drops; - - if (typeof options.showWeekNumbers === 'boolean') - this.showWeekNumbers = options.showWeekNumbers; - - if (typeof options.showISOWeekNumbers === 'boolean') - this.showISOWeekNumbers = options.showISOWeekNumbers; - - if (typeof options.buttonClasses === 'string') - this.buttonClasses = options.buttonClasses; - - if (typeof options.buttonClasses === 'object') - this.buttonClasses = options.buttonClasses.join(' '); - - if (typeof options.showDropdowns === 'boolean') - this.showDropdowns = options.showDropdowns; - - if (typeof options.showCustomRangeLabel === 'boolean') - this.showCustomRangeLabel = options.showCustomRangeLabel; - - if (typeof options.singleDatePicker === 'boolean') { - this.singleDatePicker = options.singleDatePicker; - if (this.singleDatePicker) - this.endDate = this.startDate.clone(); - } - - if (typeof options.timePicker === 'boolean') - this.timePicker = options.timePicker; - - if (typeof options.timePickerSeconds === 'boolean') - this.timePickerSeconds = options.timePickerSeconds; - - if (typeof options.timePickerIncrement === 'number') - this.timePickerIncrement = options.timePickerIncrement; - - if (typeof options.timePicker24Hour === 'boolean') - this.timePicker24Hour = options.timePicker24Hour; - - if (typeof options.autoApply === 'boolean') - this.autoApply = options.autoApply; - - if (typeof options.autoUpdateInput === 'boolean') - this.autoUpdateInput = options.autoUpdateInput; - - if (typeof options.linkedCalendars === 'boolean') - this.linkedCalendars = options.linkedCalendars; - - if (typeof options.isInvalidDate === 'function') - this.isInvalidDate = options.isInvalidDate; - - if (typeof options.isCustomDate === 'function') - this.isCustomDate = options.isCustomDate; - - if (typeof options.alwaysShowCalendars === 'boolean') - this.alwaysShowCalendars = options.alwaysShowCalendars; - - // update day names order to firstDay - if (this.locale.firstDay != 0) { - var iterator = this.locale.firstDay; - while (iterator > 0) { - this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); - iterator--; - } - } - - var start, end, range; - - //if no start/end dates set, check if an input element contains initial values - if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') { - if ($(this.element).is('input[type=text]')) { - var val = $(this.element).val(), - split = val.split(this.locale.separator); - - start = end = null; - - if (split.length == 2) { - start = moment(split[0], this.locale.format); - end = moment(split[1], this.locale.format); - } else if (this.singleDatePicker && val !== "") { - start = moment(val, this.locale.format); - end = moment(val, this.locale.format); - } - if (start !== null && end !== null) { - this.setStartDate(start); - this.setEndDate(end); - } - } - } - - if (typeof options.ranges === 'object') { - for (range in options.ranges) { - - if (typeof options.ranges[range][0] === 'string') - start = moment(options.ranges[range][0], this.locale.format); - else - start = moment(options.ranges[range][0]); - - if (typeof options.ranges[range][1] === 'string') - end = moment(options.ranges[range][1], this.locale.format); - else - end = moment(options.ranges[range][1]); - - // If the start or end date exceed those allowed by the minDate or dateLimit - // options, shorten the range to the allowable period. - if (this.minDate && start.isBefore(this.minDate)) - start = this.minDate.clone(); - - var maxDate = this.maxDate; - if (this.dateLimit && maxDate && start.clone().add(this.dateLimit).isAfter(maxDate)) - maxDate = start.clone().add(this.dateLimit); - if (maxDate && end.isAfter(maxDate)) - end = maxDate.clone(); - - // If the end of the range is before the minimum or the start of the range is - // after the maximum, don't display this range option at all. - if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day')) - || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day'))) - continue; - - //Support unicode chars in the range names. - var elem = document.createElement('textarea'); - elem.innerHTML = range; - var rangeHtml = elem.value; - - this.ranges[rangeHtml] = [start, end]; - } - - var list = '
              '; - for (range in this.ranges) { - list += '
            • ' + range + '
            • '; - } - if (this.showCustomRangeLabel) { - list += '
            • ' + this.locale.customRangeLabel + '
            • '; - } - list += '
            '; - this.container.find('.ranges').prepend(list); - } - - if (typeof cb === 'function') { - this.callback = cb; - } - - if (!this.timePicker) { - this.startDate = this.startDate.startOf('day'); - this.endDate = this.endDate.endOf('day'); - this.container.find('.calendar-time').hide(); - } - - //can't be used together for now - if (this.timePicker && this.autoApply) - this.autoApply = false; - - if (this.autoApply && typeof options.ranges !== 'object') { - this.container.find('.ranges').hide(); - } else if (this.autoApply) { - this.container.find('.applyBtn, .cancelBtn').addClass('hide'); - } - - if (this.singleDatePicker) { - this.container.addClass('single'); - this.container.find('.calendar.left').addClass('single'); - this.container.find('.calendar.left').show(); - this.container.find('.calendar.right').hide(); - this.container.find('.daterangepicker_input input, .daterangepicker_input > i').hide(); - if (this.timePicker) { - this.container.find('.ranges ul').hide(); - } else { - this.container.find('.ranges').hide(); - } - } - - if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) { - this.container.addClass('show-calendar'); - } - - this.container.addClass('opens' + this.opens); - - //swap the position of the predefined ranges if opens right - if (typeof options.ranges !== 'undefined' && this.opens == 'right') { - this.container.find('.ranges').prependTo( this.container.find('.calendar.left').parent() ); - } - - //apply CSS classes and labels to buttons - this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses); - if (this.applyClass.length) - this.container.find('.applyBtn').addClass(this.applyClass); - if (this.cancelClass.length) - this.container.find('.cancelBtn').addClass(this.cancelClass); - this.container.find('.applyBtn').html(this.locale.applyLabel); - this.container.find('.cancelBtn').html(this.locale.cancelLabel); - - // - // event listeners - // - - this.container.find('.calendar') - .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)) - .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)) - .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)) - .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)) - .on('mouseleave.daterangepicker', 'td.available', $.proxy(this.updateFormInputs, this)) - .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)) - .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)) - .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this)) - .on('click.daterangepicker', '.daterangepicker_input input', $.proxy(this.showCalendars, this)) - .on('focus.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsFocused, this)) - .on('blur.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsBlurred, this)) - .on('change.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsChanged, this)) - .on('keydown.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsKeydown, this)); - - this.container.find('.ranges') - .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)) - .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this)) - .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this)) - .on('mouseenter.daterangepicker', 'li', $.proxy(this.hoverRange, this)) - .on('mouseleave.daterangepicker', 'li', $.proxy(this.updateFormInputs, this)); - - if (this.element.is('input') || this.element.is('button')) { - this.element.on({ - 'click.daterangepicker': $.proxy(this.show, this), - 'focus.daterangepicker': $.proxy(this.show, this), - 'keyup.daterangepicker': $.proxy(this.elementChanged, this), - 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility - }); - } else { - this.element.on('click.daterangepicker', $.proxy(this.toggle, this)); - this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this)); - } - - // - // if attached to a text input, set the initial value - // - - if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) { - this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); - this.element.trigger('change'); - } else if (this.element.is('input') && this.autoUpdateInput) { - this.element.val(this.startDate.format(this.locale.format)); - this.element.trigger('change'); - } - - }; - - DateRangePicker.prototype = { - - constructor: DateRangePicker, - - setStartDate: function(startDate) { - if (typeof startDate === 'string') - this.startDate = moment(startDate, this.locale.format); - - if (typeof startDate === 'object') - this.startDate = moment(startDate); - - if (!this.timePicker) - this.startDate = this.startDate.startOf('day'); - - if (this.timePicker && this.timePickerIncrement) - this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); - - if (this.minDate && this.startDate.isBefore(this.minDate)) { - this.startDate = this.minDate.clone(); - if (this.timePicker && this.timePickerIncrement) - this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); - } - - if (this.maxDate && this.startDate.isAfter(this.maxDate)) { - this.startDate = this.maxDate.clone(); - if (this.timePicker && this.timePickerIncrement) - this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); - } - - if (!this.isShowing) - this.updateElement(); - - this.updateMonthsInView(); - }, - - setEndDate: function(endDate) { - if (typeof endDate === 'string') - this.endDate = moment(endDate, this.locale.format); - - if (typeof endDate === 'object') - this.endDate = moment(endDate); - - if (!this.timePicker) - this.endDate = this.endDate.add(1,'d').startOf('day').subtract(1,'second'); - - if (this.timePicker && this.timePickerIncrement) - this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); - - if (this.endDate.isBefore(this.startDate)) - this.endDate = this.startDate.clone(); - - if (this.maxDate && this.endDate.isAfter(this.maxDate)) - this.endDate = this.maxDate.clone(); - - if (this.dateLimit && this.startDate.clone().add(this.dateLimit).isBefore(this.endDate)) - this.endDate = this.startDate.clone().add(this.dateLimit); - - this.previousRightTime = this.endDate.clone(); - - if (!this.isShowing) - this.updateElement(); - - this.updateMonthsInView(); - }, - - isInvalidDate: function() { - return false; - }, - - isCustomDate: function() { - return false; - }, - - updateView: function() { - if (this.timePicker) { - this.renderTimePicker('left'); - this.renderTimePicker('right'); - if (!this.endDate) { - this.container.find('.right .calendar-time select').attr('disabled', 'disabled').addClass('disabled'); - } else { - this.container.find('.right .calendar-time select').removeAttr('disabled').removeClass('disabled'); - } - } - if (this.endDate) { - this.container.find('input[name="daterangepicker_end"]').removeClass('active'); - this.container.find('input[name="daterangepicker_start"]').addClass('active'); - } else { - this.container.find('input[name="daterangepicker_end"]').addClass('active'); - this.container.find('input[name="daterangepicker_start"]').removeClass('active'); - } - this.updateMonthsInView(); - this.updateCalendars(); - this.updateFormInputs(); - }, - - updateMonthsInView: function() { - if (this.endDate) { - - //if both dates are visible already, do nothing - if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && - (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) - && - (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) - ) { - return; - } - - this.leftCalendar.month = this.startDate.clone().date(2); - if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) { - this.rightCalendar.month = this.endDate.clone().date(2); - } else { - this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); - } - - } else { - if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) { - this.leftCalendar.month = this.startDate.clone().date(2); - this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); - } - } - if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) { - this.rightCalendar.month = this.maxDate.clone().date(2); - this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month'); - } - }, - - updateCalendars: function() { - - if (this.timePicker) { - var hour, minute, second; - if (this.endDate) { - hour = parseInt(this.container.find('.left .hourselect').val(), 10); - minute = parseInt(this.container.find('.left .minuteselect').val(), 10); - second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; - if (!this.timePicker24Hour) { - var ampm = this.container.find('.left .ampmselect').val(); - if (ampm === 'PM' && hour < 12) - hour += 12; - if (ampm === 'AM' && hour === 12) - hour = 0; - } - } else { - hour = parseInt(this.container.find('.right .hourselect').val(), 10); - minute = parseInt(this.container.find('.right .minuteselect').val(), 10); - second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; - if (!this.timePicker24Hour) { - var ampm = this.container.find('.right .ampmselect').val(); - if (ampm === 'PM' && hour < 12) - hour += 12; - if (ampm === 'AM' && hour === 12) - hour = 0; - } - } - this.leftCalendar.month.hour(hour).minute(minute).second(second); - this.rightCalendar.month.hour(hour).minute(minute).second(second); - } - - this.renderCalendar('left'); - this.renderCalendar('right'); - - //highlight any predefined range matching the current start and end dates - this.container.find('.ranges li').removeClass('active'); - if (this.endDate == null) return; - - this.calculateChosenLabel(); - }, - - renderCalendar: function(side) { - - // - // Build the matrix of dates that will populate the calendar - // - - var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar; - var month = calendar.month.month(); - var year = calendar.month.year(); - var hour = calendar.month.hour(); - var minute = calendar.month.minute(); - var second = calendar.month.second(); - var daysInMonth = moment([year, month]).daysInMonth(); - var firstDay = moment([year, month, 1]); - var lastDay = moment([year, month, daysInMonth]); - var lastMonth = moment(firstDay).subtract(1, 'month').month(); - var lastYear = moment(firstDay).subtract(1, 'month').year(); - var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth(); - var dayOfWeek = firstDay.day(); - - //initialize a 6 rows x 7 columns array for the calendar - var calendar = []; - calendar.firstDay = firstDay; - calendar.lastDay = lastDay; - - for (var i = 0; i < 6; i++) { - calendar[i] = []; - } - - //populate the calendar with date objects - var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; - if (startDay > daysInLastMonth) - startDay -= 7; - - if (dayOfWeek == this.locale.firstDay) - startDay = daysInLastMonth - 6; - - var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]); - - var col, row; - for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) { - if (i > 0 && col % 7 === 0) { - col = 0; - row++; - } - calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second); - curDate.hour(12); - - if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') { - calendar[row][col] = this.minDate.clone(); - } - - if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') { - calendar[row][col] = this.maxDate.clone(); - } - - } - - //make the calendar object available to hoverDate/clickDate - if (side == 'left') { - this.leftCalendar.calendar = calendar; - } else { - this.rightCalendar.calendar = calendar; - } - - // - // Display the calendar - // - - var minDate = side == 'left' ? this.minDate : this.startDate; - var maxDate = this.maxDate; - var selected = side == 'left' ? this.startDate : this.endDate; - var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'}; - - var html = ''; - html += ''; - html += ''; - - // add empty cell for week number - if (this.showWeekNumbers || this.showISOWeekNumbers) - html += ''; - - if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) { - html += ''; - } else { - html += ''; - } - - var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY"); - - if (this.showDropdowns) { - var currentMonth = calendar[1][1].month(); - var currentYear = calendar[1][1].year(); - var maxYear = (maxDate && maxDate.year()) || (currentYear + 5); - var minYear = (minDate && minDate.year()) || (currentYear - 50); - var inMinYear = currentYear == minYear; - var inMaxYear = currentYear == maxYear; - - var monthHtml = '"; - - var yearHtml = ''; - - dateHtml = monthHtml + yearHtml; - } - - html += ''; - if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) { - html += ''; - } else { - html += ''; - } - - html += ''; - html += ''; - - // add week number label - if (this.showWeekNumbers || this.showISOWeekNumbers) - html += ''; - - $.each(this.locale.daysOfWeek, function(index, dayOfWeek) { - html += ''; - }); - - html += ''; - html += ''; - html += ''; - - //adjust maxDate to reflect the dateLimit setting in order to - //grey out end dates beyond the dateLimit - if (this.endDate == null && this.dateLimit) { - var maxLimit = this.startDate.clone().add(this.dateLimit).endOf('day'); - if (!maxDate || maxLimit.isBefore(maxDate)) { - maxDate = maxLimit; - } - } - - for (var row = 0; row < 6; row++) { - html += ''; - - // add week number - if (this.showWeekNumbers) - html += ''; - else if (this.showISOWeekNumbers) - html += ''; - - for (var col = 0; col < 7; col++) { - - var classes = []; - - //highlight today's date - if (calendar[row][col].isSame(new Date(), "day")) - classes.push('today'); - - //highlight weekends - if (calendar[row][col].isoWeekday() > 5) - classes.push('weekend'); - - //grey out the dates in other months displayed at beginning and end of this calendar - if (calendar[row][col].month() != calendar[1][1].month()) - classes.push('off'); - - //don't allow selection of dates before the minimum date - if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) - classes.push('off', 'disabled'); - - //don't allow selection of dates after the maximum date - if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) - classes.push('off', 'disabled'); - - //don't allow selection of date if a custom function decides it's invalid - if (this.isInvalidDate(calendar[row][col])) - classes.push('off', 'disabled'); - - //highlight the currently selected start date - if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) - classes.push('active', 'start-date'); - - //highlight the currently selected end date - if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) - classes.push('active', 'end-date'); - - //highlight dates in-between the selected dates - if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) - classes.push('in-range'); - - //apply custom classes for this date - var isCustom = this.isCustomDate(calendar[row][col]); - if (isCustom !== false) { - if (typeof isCustom === 'string') - classes.push(isCustom); - else - Array.prototype.push.apply(classes, isCustom); - } - - var cname = '', disabled = false; - for (var i = 0; i < classes.length; i++) { - cname += classes[i] + ' '; - if (classes[i] == 'disabled') - disabled = true; - } - if (!disabled) - cname += 'available'; - - html += ''; - - } - html += ''; - } - - html += ''; - html += '
            ' + dateHtml + '
            ' + this.locale.weekLabel + '' + dayOfWeek + '
            ' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
            '; - - this.container.find('.calendar.' + side + ' .calendar-table').html(html); - - }, - - renderTimePicker: function(side) { - - // Don't bother updating the time picker if it's currently disabled - // because an end date hasn't been clicked yet - if (side == 'right' && !this.endDate) return; - - var html, selected, minDate, maxDate = this.maxDate; - - if (this.dateLimit && (!this.maxDate || this.startDate.clone().add(this.dateLimit).isAfter(this.maxDate))) - maxDate = this.startDate.clone().add(this.dateLimit); - - if (side == 'left') { - selected = this.startDate.clone(); - minDate = this.minDate; - } else if (side == 'right') { - selected = this.endDate.clone(); - minDate = this.startDate; - - //Preserve the time already selected - var timeSelector = this.container.find('.calendar.right .calendar-time div'); - if (timeSelector.html() != '') { - - selected.hour(timeSelector.find('.hourselect option:selected').val() || selected.hour()); - selected.minute(timeSelector.find('.minuteselect option:selected').val() || selected.minute()); - selected.second(timeSelector.find('.secondselect option:selected').val() || selected.second()); - - if (!this.timePicker24Hour) { - var ampm = timeSelector.find('.ampmselect option:selected').val(); - if (ampm === 'PM' && selected.hour() < 12) - selected.hour(selected.hour() + 12); - if (ampm === 'AM' && selected.hour() === 12) - selected.hour(0); - } - - } - - if (selected.isBefore(this.startDate)) - selected = this.startDate.clone(); - - if (maxDate && selected.isAfter(maxDate)) - selected = maxDate.clone(); - - } - - // - // hours - // - - html = ' '; - - // - // minutes - // - - html += ': '; - - // - // seconds - // - - if (this.timePickerSeconds) { - html += ': '; - } - - // - // AM/PM - // - - if (!this.timePicker24Hour) { - html += ''; - } - - this.container.find('.calendar.' + side + ' .calendar-time div').html(html); - - }, - - updateFormInputs: function() { - - //ignore mouse movements while an above-calendar text input has focus - if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) - return; - - this.container.find('input[name=daterangepicker_start]').val(this.startDate.format(this.locale.format)); - if (this.endDate) - this.container.find('input[name=daterangepicker_end]').val(this.endDate.format(this.locale.format)); - - if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) { - this.container.find('button.applyBtn').removeAttr('disabled'); - } else { - this.container.find('button.applyBtn').attr('disabled', 'disabled'); - } - - }, - - move: function() { - var parentOffset = { top: 0, left: 0 }, - containerTop; - var parentRightEdge = $(window).width(); - if (!this.parentEl.is('body')) { - parentOffset = { - top: this.parentEl.offset().top - this.parentEl.scrollTop(), - left: this.parentEl.offset().left - this.parentEl.scrollLeft() - }; - parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left; - } - - if (this.drops == 'up') - containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; - else - containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; - this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('dropup'); - - if (this.opens == 'left') { - this.container.css({ - top: containerTop, - right: parentRightEdge - this.element.offset().left - this.element.outerWidth(), - left: 'auto' - }); - if (this.container.offset().left < 0) { - this.container.css({ - right: 'auto', - left: 9 - }); - } - } else if (this.opens == 'center') { - this.container.css({ - top: containerTop, - left: this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 - - this.container.outerWidth() / 2, - right: 'auto' - }); - if (this.container.offset().left < 0) { - this.container.css({ - right: 'auto', - left: 9 - }); - } - } else { - this.container.css({ - top: containerTop, - left: this.element.offset().left - parentOffset.left, - right: 'auto' - }); - if (this.container.offset().left + this.container.outerWidth() > $(window).width()) { - this.container.css({ - left: 'auto', - right: 0 - }); - } - } - }, - - show: function(e) { - if (this.isShowing) return; - - // Create a click proxy that is private to this instance of datepicker, for unbinding - this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this); - - // Bind global datepicker mousedown for hiding and - $(document) - .on('mousedown.daterangepicker', this._outsideClickProxy) - // also support mobile devices - .on('touchend.daterangepicker', this._outsideClickProxy) - // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them - .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) - // and also close when focus changes to outside the picker (eg. tabbing between controls) - .on('focusin.daterangepicker', this._outsideClickProxy); - - // Reposition the picker if the window is resized while it's open - $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this)); - - this.oldStartDate = this.startDate.clone(); - this.oldEndDate = this.endDate.clone(); - this.previousRightTime = this.endDate.clone(); - - this.updateView(); - this.container.show(); - this.move(); - this.element.trigger('show.daterangepicker', this); - this.isShowing = true; - }, - - hide: function(e) { - if (!this.isShowing) return; - - //incomplete date selection, revert to last values - if (!this.endDate) { - this.startDate = this.oldStartDate.clone(); - this.endDate = this.oldEndDate.clone(); - } - - //if a new date range was selected, invoke the user callback function - if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) - this.callback(this.startDate, this.endDate, this.chosenLabel); - - //if picker is attached to a text input, update it - this.updateElement(); - - $(document).off('.daterangepicker'); - $(window).off('.daterangepicker'); - this.container.hide(); - this.element.trigger('hide.daterangepicker', this); - this.isShowing = false; - }, - - toggle: function(e) { - if (this.isShowing) { - this.hide(); - } else { - this.show(); - } - }, - - outsideClick: function(e) { - var target = $(e.target); - // if the page is clicked anywhere except within the daterangerpicker/button - // itself then call this.hide() - if ( - // ie modal dialog fix - e.type == "focusin" || - target.closest(this.element).length || - target.closest(this.container).length || - target.closest('.calendar-table').length - ) return; - this.hide(); - this.element.trigger('outsideClick.daterangepicker', this); - }, - - showCalendars: function() { - this.container.addClass('show-calendar'); - this.move(); - this.element.trigger('showCalendar.daterangepicker', this); - }, - - hideCalendars: function() { - this.container.removeClass('show-calendar'); - this.element.trigger('hideCalendar.daterangepicker', this); - }, - - hoverRange: function(e) { - - //ignore mouse movements while an above-calendar text input has focus - if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) - return; - - var label = e.target.getAttribute('data-range-key'); - - if (label == this.locale.customRangeLabel) { - this.updateView(); - } else { - var dates = this.ranges[label]; - this.container.find('input[name=daterangepicker_start]').val(dates[0].format(this.locale.format)); - this.container.find('input[name=daterangepicker_end]').val(dates[1].format(this.locale.format)); - } - - }, - - clickRange: function(e) { - var label = e.target.getAttribute('data-range-key'); - this.chosenLabel = label; - if (label == this.locale.customRangeLabel) { - this.showCalendars(); - } else { - var dates = this.ranges[label]; - this.startDate = dates[0]; - this.endDate = dates[1]; - - if (!this.timePicker) { - this.startDate.startOf('day'); - this.endDate.endOf('day'); - } - - if (!this.alwaysShowCalendars) - this.hideCalendars(); - this.clickApply(); - } - }, - - clickPrev: function(e) { - var cal = $(e.target).parents('.calendar'); - if (cal.hasClass('left')) { - this.leftCalendar.month.subtract(1, 'month'); - if (this.linkedCalendars) - this.rightCalendar.month.subtract(1, 'month'); - } else { - this.rightCalendar.month.subtract(1, 'month'); - } - this.updateCalendars(); - }, - - clickNext: function(e) { - var cal = $(e.target).parents('.calendar'); - if (cal.hasClass('left')) { - this.leftCalendar.month.add(1, 'month'); - } else { - this.rightCalendar.month.add(1, 'month'); - if (this.linkedCalendars) - this.leftCalendar.month.add(1, 'month'); - } - this.updateCalendars(); - }, - - hoverDate: function(e) { - - //ignore mouse movements while an above-calendar text input has focus - //if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) - // return; - - //ignore dates that can't be selected - if (!$(e.target).hasClass('available')) return; - - //have the text inputs above calendars reflect the date being hovered over - var title = $(e.target).attr('data-title'); - var row = title.substr(1, 1); - var col = title.substr(3, 1); - var cal = $(e.target).parents('.calendar'); - var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; - - if (this.endDate && !this.container.find('input[name=daterangepicker_start]').is(":focus")) { - this.container.find('input[name=daterangepicker_start]').val(date.format(this.locale.format)); - } else if (!this.endDate && !this.container.find('input[name=daterangepicker_end]').is(":focus")) { - this.container.find('input[name=daterangepicker_end]').val(date.format(this.locale.format)); - } - - //highlight the dates between the start date and the date being hovered as a potential end date - var leftCalendar = this.leftCalendar; - var rightCalendar = this.rightCalendar; - var startDate = this.startDate; - if (!this.endDate) { - this.container.find('.calendar tbody td').each(function(index, el) { - - //skip week numbers, only look at dates - if ($(el).hasClass('week')) return; - - var title = $(el).attr('data-title'); - var row = title.substr(1, 1); - var col = title.substr(3, 1); - var cal = $(el).parents('.calendar'); - var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col]; - - if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) { - $(el).addClass('in-range'); - } else { - $(el).removeClass('in-range'); - } - - }); - } - - }, - - clickDate: function(e) { - - if (!$(e.target).hasClass('available')) return; - - var title = $(e.target).attr('data-title'); - var row = title.substr(1, 1); - var col = title.substr(3, 1); - var cal = $(e.target).parents('.calendar'); - var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; - - // - // this function needs to do a few things: - // * alternate between selecting a start and end date for the range, - // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date - // * if autoapply is enabled, and an end date was chosen, apply the selection - // * if single date picker mode, and time picker isn't enabled, apply the selection immediately - // * if one of the inputs above the calendars was focused, cancel that manual input - // - - if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start - if (this.timePicker) { - var hour = parseInt(this.container.find('.left .hourselect').val(), 10); - if (!this.timePicker24Hour) { - var ampm = this.container.find('.left .ampmselect').val(); - if (ampm === 'PM' && hour < 12) - hour += 12; - if (ampm === 'AM' && hour === 12) - hour = 0; - } - var minute = parseInt(this.container.find('.left .minuteselect').val(), 10); - var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; - date = date.clone().hour(hour).minute(minute).second(second); - } - this.endDate = null; - this.setStartDate(date.clone()); - } else if (!this.endDate && date.isBefore(this.startDate)) { - //special case: clicking the same date for start/end, - //but the time of the end date is before the start date - this.setEndDate(this.startDate.clone()); - } else { // picking end - if (this.timePicker) { - var hour = parseInt(this.container.find('.right .hourselect').val(), 10); - if (!this.timePicker24Hour) { - var ampm = this.container.find('.right .ampmselect').val(); - if (ampm === 'PM' && hour < 12) - hour += 12; - if (ampm === 'AM' && hour === 12) - hour = 0; - } - var minute = parseInt(this.container.find('.right .minuteselect').val(), 10); - var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; - date = date.clone().hour(hour).minute(minute).second(second); - } - this.setEndDate(date.clone()); - if (this.autoApply) { - this.calculateChosenLabel(); - this.clickApply(); - } - } - - if (this.singleDatePicker) { - this.setEndDate(this.startDate); - if (!this.timePicker) - this.clickApply(); - } - - this.updateView(); - - //This is to cancel the blur event handler if the mouse was in one of the inputs - e.stopPropagation(); - - }, - - calculateChosenLabel: function () { - var customRange = true; - var i = 0; - for (var range in this.ranges) { - if (this.timePicker) { - var format = this.timePickerSeconds ? "YYYY-MM-DD hh:mm:ss" : "YYYY-MM-DD hh:mm"; - //ignore times when comparing dates if time picker seconds is not enabled - if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) { - customRange = false; - this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html(); - break; - } - } else { - //ignore times when comparing dates if time picker is not enabled - if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) { - customRange = false; - this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html(); - break; - } - } - i++; - } - if (customRange) { - if (this.showCustomRangeLabel) { - this.chosenLabel = this.container.find('.ranges li:last').addClass('active').html(); - } else { - this.chosenLabel = null; - } - this.showCalendars(); - } - }, - - clickApply: function(e) { - this.hide(); - this.element.trigger('apply.daterangepicker', this); - }, - - clickCancel: function(e) { - this.startDate = this.oldStartDate; - this.endDate = this.oldEndDate; - this.hide(); - this.element.trigger('cancel.daterangepicker', this); - }, - - monthOrYearChanged: function(e) { - var isLeft = $(e.target).closest('.calendar').hasClass('left'), - leftOrRight = isLeft ? 'left' : 'right', - cal = this.container.find('.calendar.'+leftOrRight); - - // Month must be Number for new moment versions - var month = parseInt(cal.find('.monthselect').val(), 10); - var year = cal.find('.yearselect').val(); - - if (!isLeft) { - if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) { - month = this.startDate.month(); - year = this.startDate.year(); - } - } - - if (this.minDate) { - if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) { - month = this.minDate.month(); - year = this.minDate.year(); - } - } - - if (this.maxDate) { - if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) { - month = this.maxDate.month(); - year = this.maxDate.year(); - } - } - - if (isLeft) { - this.leftCalendar.month.month(month).year(year); - if (this.linkedCalendars) - this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month'); - } else { - this.rightCalendar.month.month(month).year(year); - if (this.linkedCalendars) - this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month'); - } - this.updateCalendars(); - }, - - timeChanged: function(e) { - - var cal = $(e.target).closest('.calendar'), - isLeft = cal.hasClass('left'); - - var hour = parseInt(cal.find('.hourselect').val(), 10); - var minute = parseInt(cal.find('.minuteselect').val(), 10); - var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0; - - if (!this.timePicker24Hour) { - var ampm = cal.find('.ampmselect').val(); - if (ampm === 'PM' && hour < 12) - hour += 12; - if (ampm === 'AM' && hour === 12) - hour = 0; - } - - if (isLeft) { - var start = this.startDate.clone(); - start.hour(hour); - start.minute(minute); - start.second(second); - this.setStartDate(start); - if (this.singleDatePicker) { - this.endDate = this.startDate.clone(); - } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) { - this.setEndDate(start.clone()); - } - } else if (this.endDate) { - var end = this.endDate.clone(); - end.hour(hour); - end.minute(minute); - end.second(second); - this.setEndDate(end); - } - - //update the calendars so all clickable dates reflect the new time component - this.updateCalendars(); - - //update the form inputs above the calendars with the new time - this.updateFormInputs(); - - //re-render the time pickers because changing one selection can affect what's enabled in another - this.renderTimePicker('left'); - this.renderTimePicker('right'); - - }, - - formInputsChanged: function(e) { - var isRight = $(e.target).closest('.calendar').hasClass('right'); - var start = moment(this.container.find('input[name="daterangepicker_start"]').val(), this.locale.format); - var end = moment(this.container.find('input[name="daterangepicker_end"]').val(), this.locale.format); - - if (start.isValid() && end.isValid()) { - - if (isRight && end.isBefore(start)) - start = end.clone(); - - this.setStartDate(start); - this.setEndDate(end); - - if (isRight) { - this.container.find('input[name="daterangepicker_start"]').val(this.startDate.format(this.locale.format)); - } else { - this.container.find('input[name="daterangepicker_end"]').val(this.endDate.format(this.locale.format)); - } - - } - - this.updateView(); - }, - - formInputsFocused: function(e) { - - // Highlight the focused input - this.container.find('input[name="daterangepicker_start"], input[name="daterangepicker_end"]').removeClass('active'); - $(e.target).addClass('active'); - - // Set the state such that if the user goes back to using a mouse, - // the calendars are aware we're selecting the end of the range, not - // the start. This allows someone to edit the end of a date range without - // re-selecting the beginning, by clicking on the end date input then - // using the calendar. - var isRight = $(e.target).closest('.calendar').hasClass('right'); - if (isRight) { - this.endDate = null; - this.setStartDate(this.startDate.clone()); - this.updateView(); - } - - }, - - formInputsBlurred: function(e) { - - // this function has one purpose right now: if you tab from the first - // text input to the second in the UI, the endDate is nulled so that - // you can click another, but if you tab out without clicking anything - // or changing the input value, the old endDate should be retained - - if (!this.endDate) { - var val = this.container.find('input[name="daterangepicker_end"]').val(); - var end = moment(val, this.locale.format); - if (end.isValid()) { - this.setEndDate(end); - this.updateView(); - } - } - - }, - - formInputsKeydown: function(e) { - // This function ensures that if the 'enter' key was pressed in the input, then the calendars - // are updated with the startDate and endDate. - // This behaviour is automatic in Chrome/Firefox/Edge but not in IE 11 hence why this exists. - // Other browsers and versions of IE are untested and the behaviour is unknown. - if (e.keyCode === 13) { - // Prevent the calendar from being updated twice on Chrome/Firefox/Edge - e.preventDefault(); - this.formInputsChanged(e); - } - }, - - - elementChanged: function() { - if (!this.element.is('input')) return; - if (!this.element.val().length) return; - - var dateString = this.element.val().split(this.locale.separator), - start = null, - end = null; - - if (dateString.length === 2) { - start = moment(dateString[0], this.locale.format); - end = moment(dateString[1], this.locale.format); - } - - if (this.singleDatePicker || start === null || end === null) { - start = moment(this.element.val(), this.locale.format); - end = start; - } - - if (!start.isValid() || !end.isValid()) return; - - this.setStartDate(start); - this.setEndDate(end); - this.updateView(); - }, - - keydown: function(e) { - //hide on tab or enter - if ((e.keyCode === 9) || (e.keyCode === 13)) { - this.hide(); - } - - //hide on esc and prevent propagation - if (e.keyCode === 27) { - e.preventDefault(); - e.stopPropagation(); - - this.hide(); - } - }, - - updateElement: function() { - if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) { - this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); - this.element.trigger('change'); - } else if (this.element.is('input') && this.autoUpdateInput) { - this.element.val(this.startDate.format(this.locale.format)); - this.element.trigger('change'); - } - }, - - remove: function() { - this.container.remove(); - this.element.off('.daterangepicker'); - this.element.removeData(); - } - - }; - - $.fn.daterangepicker = function(options, callback) { - var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options); - this.each(function() { - var el = $(this); - if (el.data('daterangepicker')) - el.data('daterangepicker').remove(); - el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback)); - }); - return this; - }; - - return DateRangePicker; - -})); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css b/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css deleted file mode 100644 index 537c6a4..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css +++ /dev/null @@ -1,418 +0,0 @@ -/*! - * Datetimepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datetimepicker { - padding: 4px; - margin-top: 1px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - direction: ltr; -} - -.datetimepicker-inline { - width: 220px; -} - -.datetimepicker.datetimepicker-rtl { - direction: rtl; -} - -.datetimepicker.datetimepicker-rtl table tr td span { - float: right; -} - -.datetimepicker-dropdown, .datetimepicker-dropdown-left { - top: 0; - left: 0; -} - -[class*=" datetimepicker-dropdown"]:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #cccccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; -} - -[class*=" datetimepicker-dropdown"]:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; -} - -[class*=" datetimepicker-dropdown-top"]:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-top: 7px solid #cccccc; - border-top-color: rgba(0, 0, 0, 0.2); - border-bottom: 0; -} - -[class*=" datetimepicker-dropdown-top"]:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 6px solid #ffffff; - border-bottom: 0; -} - -.datetimepicker-dropdown-bottom-left:before { - top: -7px; - right: 6px; -} - -.datetimepicker-dropdown-bottom-left:after { - top: -6px; - right: 7px; -} - -.datetimepicker-dropdown-bottom-right:before { - top: -7px; - left: 6px; -} - -.datetimepicker-dropdown-bottom-right:after { - top: -6px; - left: 7px; -} - -.datetimepicker-dropdown-top-left:before { - bottom: -7px; - right: 6px; -} - -.datetimepicker-dropdown-top-left:after { - bottom: -6px; - right: 7px; -} - -.datetimepicker-dropdown-top-right:before { - bottom: -7px; - left: 6px; -} - -.datetimepicker-dropdown-top-right:after { - bottom: -6px; - left: 7px; -} - -.datetimepicker > div { - display: none; -} - -.datetimepicker.minutes div.datetimepicker-minutes { - display: block; -} - -.datetimepicker.hours div.datetimepicker-hours { - display: block; -} - -.datetimepicker.days div.datetimepicker-days { - display: block; -} - -.datetimepicker.months div.datetimepicker-months { - display: block; -} - -.datetimepicker.years div.datetimepicker-years { - display: block; -} - -.datetimepicker table { - margin: 0; -} - -.datetimepicker td, -.datetimepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - border: none; -} - -.table-striped .datetimepicker table tr td, -.table-striped .datetimepicker table tr th { - background-color: transparent; -} - -.datetimepicker table tr td.minute:hover { - background: #eeeeee; - cursor: pointer; -} - -.datetimepicker table tr td.hour:hover { - background: #eeeeee; - cursor: pointer; -} - -.datetimepicker table tr td.day:hover { - background: #eeeeee; - cursor: pointer; -} - -.datetimepicker table tr td.old, -.datetimepicker table tr td.new { - color: #999999; -} - -.datetimepicker table tr td.disabled, -.datetimepicker table tr td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} - -.datetimepicker table tr td.today, -.datetimepicker table tr td.today:hover, -.datetimepicker table tr td.today.disabled, -.datetimepicker table tr td.today.disabled:hover { - background-color: #fde19a; - background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a)); - background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a); - background-image: -o-linear-gradient(top, #fdd49a, #fdf59a); - background-image: linear-gradient(to bottom, #fdd49a, #fdf59a); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0); - border-color: #fdf59a #fdf59a #fbed50; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.datetimepicker table tr td.today:hover, -.datetimepicker table tr td.today:hover:hover, -.datetimepicker table tr td.today.disabled:hover, -.datetimepicker table tr td.today.disabled:hover:hover, -.datetimepicker table tr td.today:active, -.datetimepicker table tr td.today:hover:active, -.datetimepicker table tr td.today.disabled:active, -.datetimepicker table tr td.today.disabled:hover:active, -.datetimepicker table tr td.today.active, -.datetimepicker table tr td.today:hover.active, -.datetimepicker table tr td.today.disabled.active, -.datetimepicker table tr td.today.disabled:hover.active, -.datetimepicker table tr td.today.disabled, -.datetimepicker table tr td.today:hover.disabled, -.datetimepicker table tr td.today.disabled.disabled, -.datetimepicker table tr td.today.disabled:hover.disabled, -.datetimepicker table tr td.today[disabled], -.datetimepicker table tr td.today:hover[disabled], -.datetimepicker table tr td.today.disabled[disabled], -.datetimepicker table tr td.today.disabled:hover[disabled] { - background-color: #fdf59a; -} - -.datetimepicker table tr td.today:active, -.datetimepicker table tr td.today:hover:active, -.datetimepicker table tr td.today.disabled:active, -.datetimepicker table tr td.today.disabled:hover:active, -.datetimepicker table tr td.today.active, -.datetimepicker table tr td.today:hover.active, -.datetimepicker table tr td.today.disabled.active, -.datetimepicker table tr td.today.disabled:hover.active { - background-color: #fbf069; -} - -.datetimepicker table tr td.active, -.datetimepicker table tr td.active:hover, -.datetimepicker table tr td.active.disabled, -.datetimepicker table tr td.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datetimepicker table tr td.active:hover, -.datetimepicker table tr td.active:hover:hover, -.datetimepicker table tr td.active.disabled:hover, -.datetimepicker table tr td.active.disabled:hover:hover, -.datetimepicker table tr td.active:active, -.datetimepicker table tr td.active:hover:active, -.datetimepicker table tr td.active.disabled:active, -.datetimepicker table tr td.active.disabled:hover:active, -.datetimepicker table tr td.active.active, -.datetimepicker table tr td.active:hover.active, -.datetimepicker table tr td.active.disabled.active, -.datetimepicker table tr td.active.disabled:hover.active, -.datetimepicker table tr td.active.disabled, -.datetimepicker table tr td.active:hover.disabled, -.datetimepicker table tr td.active.disabled.disabled, -.datetimepicker table tr td.active.disabled:hover.disabled, -.datetimepicker table tr td.active[disabled], -.datetimepicker table tr td.active:hover[disabled], -.datetimepicker table tr td.active.disabled[disabled], -.datetimepicker table tr td.active.disabled:hover[disabled] { - background-color: #0044cc; -} - -.datetimepicker table tr td.active:active, -.datetimepicker table tr td.active:hover:active, -.datetimepicker table tr td.active.disabled:active, -.datetimepicker table tr td.active.disabled:hover:active, -.datetimepicker table tr td.active.active, -.datetimepicker table tr td.active:hover.active, -.datetimepicker table tr td.active.disabled.active, -.datetimepicker table tr td.active.disabled:hover.active { - background-color: #003399; -} - -.datetimepicker table tr td span { - display: block; - width: 23%; - height: 54px; - line-height: 54px; - float: left; - margin: 1%; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} - -.datetimepicker .datetimepicker-hours span { - height: 26px; - line-height: 26px; -} - -.datetimepicker .datetimepicker-hours table tr td span.hour_am, -.datetimepicker .datetimepicker-hours table tr td span.hour_pm { - width: 14.6%; -} - -.datetimepicker .datetimepicker-hours fieldset legend, -.datetimepicker .datetimepicker-minutes fieldset legend { - margin-bottom: inherit; - line-height: 30px; -} - -.datetimepicker .datetimepicker-minutes span { - height: 26px; - line-height: 26px; -} - -.datetimepicker table tr td span:hover { - background: #eeeeee; -} - -.datetimepicker table tr td span.disabled, -.datetimepicker table tr td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} - -.datetimepicker table tr td span.active, -.datetimepicker table tr td span.active:hover, -.datetimepicker table tr td span.active.disabled, -.datetimepicker table tr td span.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - -.datetimepicker table tr td span.active:hover, -.datetimepicker table tr td span.active:hover:hover, -.datetimepicker table tr td span.active.disabled:hover, -.datetimepicker table tr td span.active.disabled:hover:hover, -.datetimepicker table tr td span.active:active, -.datetimepicker table tr td span.active:hover:active, -.datetimepicker table tr td span.active.disabled:active, -.datetimepicker table tr td span.active.disabled:hover:active, -.datetimepicker table tr td span.active.active, -.datetimepicker table tr td span.active:hover.active, -.datetimepicker table tr td span.active.disabled.active, -.datetimepicker table tr td span.active.disabled:hover.active, -.datetimepicker table tr td span.active.disabled, -.datetimepicker table tr td span.active:hover.disabled, -.datetimepicker table tr td span.active.disabled.disabled, -.datetimepicker table tr td span.active.disabled:hover.disabled, -.datetimepicker table tr td span.active[disabled], -.datetimepicker table tr td span.active:hover[disabled], -.datetimepicker table tr td span.active.disabled[disabled], -.datetimepicker table tr td span.active.disabled:hover[disabled] { - background-color: #0044cc; -} - -.datetimepicker table tr td span.active:active, -.datetimepicker table tr td span.active:hover:active, -.datetimepicker table tr td span.active.disabled:active, -.datetimepicker table tr td span.active.disabled:hover:active, -.datetimepicker table tr td span.active.active, -.datetimepicker table tr td span.active:hover.active, -.datetimepicker table tr td span.active.disabled.active, -.datetimepicker table tr td span.active.disabled:hover.active { - background-color: #003399; -} - -.datetimepicker table tr td span.old { - color: #999999; -} - -.datetimepicker th.switch { - width: 145px; -} - -.datetimepicker th span.glyphicon { - pointer-events: none; -} - -.datetimepicker thead tr:first-child th, -.datetimepicker tfoot th { - cursor: pointer; -} - -.datetimepicker thead tr:first-child th:hover, -.datetimepicker tfoot th:hover { - background: #eeeeee; -} - -.input-append.date .add-on i, -.input-prepend.date .add-on i, -.input-group.date .input-group-addon span { - cursor: pointer; - width: 14px; - height: 14px; -} diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css b/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css deleted file mode 100644 index 78485fe..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Datetimepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px} \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js deleted file mode 100644 index f66d69c..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.js +++ /dev/null @@ -1,1967 +0,0 @@ -/* ========================================================= - * bootstrap-datetimepicker.js - * ========================================================= - * Copyright 2012 Stefan Petre - * - * Improvements by Andrew Rowls - * Improvements by Sébastien Malot - * Improvements by Yun Lai - * Improvements by Kenneth Henderick - * Improvements by CuGBabyBeaR - * Improvements by Christian Vaas - * - * Project URL : http://www.malot.fr/bootstrap-datetimepicker - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -(function(factory){ - if (typeof define === 'function' && define.amd) - define(['jquery'], factory); - else if (typeof exports === 'object') - factory(require('jquery')); - else - factory(jQuery); - -}(function($, undefined){ - - // Add ECMA262-5 Array methods if not supported natively (IE8) - if (!('indexOf' in Array.prototype)) { - Array.prototype.indexOf = function (find, i) { - if (i === undefined) i = 0; - if (i < 0) i += this.length; - if (i < 0) i = 0; - for (var n = this.length; i < n; i++) { - if (i in this && this[i] === find) { - return i; - } - } - return -1; - } - } - - // Add timezone abbreviation support for ie6+, Chrome, Firefox - function timeZoneAbbreviation() { - var abbreviation, date, formattedStr, i, len, matchedStrings, ref, str; - date = (new Date()).toString(); - formattedStr = ((ref = date.split('(')[1]) != null ? ref.slice(0, -1) : 0) || date.split(' '); - if (formattedStr instanceof Array) { - matchedStrings = []; - for (var i = 0, len = formattedStr.length; i < len; i++) { - str = formattedStr[i]; - if ((abbreviation = (ref = str.match(/\b[A-Z]+\b/)) !== null) ? ref[0] : 0) { - matchedStrings.push(abbreviation); - } - } - formattedStr = matchedStrings.pop(); - } - return formattedStr; - } - - function UTCDate() { - return new Date(Date.UTC.apply(Date, arguments)); - } - - // Picker object - var Datetimepicker = function (element, options) { - var that = this; - - this.element = $(element); - - // add container for single page application - // when page switch the datetimepicker div will be removed also. - this.container = options.container || 'body'; - - this.language = options.language || this.element.data('date-language') || 'en'; - this.language = this.language in dates ? this.language : this.language.split('-')[0]; // fr-CA fallback to fr - this.language = this.language in dates ? this.language : 'en'; - this.isRTL = dates[this.language].rtl || false; - this.formatType = options.formatType || this.element.data('format-type') || 'standard'; - this.format = DPGlobal.parseFormat(options.format || this.element.data('date-format') || dates[this.language].format || DPGlobal.getDefaultFormat(this.formatType, 'input'), this.formatType); - this.isInline = false; - this.isVisible = false; - this.isInput = this.element.is('input'); - this.fontAwesome = options.fontAwesome || this.element.data('font-awesome') || false; - - this.bootcssVer = options.bootcssVer || (this.isInput ? (this.element.is('.form-control') ? 3 : 2) : ( this.bootcssVer = this.element.is('.input-group') ? 3 : 2 )); - - this.component = this.element.is('.date') ? ( this.bootcssVer === 3 ? this.element.find('.input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o').parent() : this.element.find('.add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o').parent()) : false; - this.componentReset = this.element.is('.date') ? ( this.bootcssVer === 3 ? this.element.find('.input-group-addon .glyphicon-remove, .input-group-addon .fa-times').parent():this.element.find('.add-on .icon-remove, .add-on .fa-times').parent()) : false; - this.hasInput = this.component && this.element.find('input').length; - if (this.component && this.component.length === 0) { - this.component = false; - } - this.linkField = options.linkField || this.element.data('link-field') || false; - this.linkFormat = DPGlobal.parseFormat(options.linkFormat || this.element.data('link-format') || DPGlobal.getDefaultFormat(this.formatType, 'link'), this.formatType); - this.minuteStep = options.minuteStep || this.element.data('minute-step') || 5; - this.pickerPosition = options.pickerPosition || this.element.data('picker-position') || 'bottom-right'; - this.showMeridian = options.showMeridian || this.element.data('show-meridian') || false; - this.initialDate = options.initialDate || new Date(); - this.zIndex = options.zIndex || this.element.data('z-index') || undefined; - this.title = typeof options.title === 'undefined' ? false : options.title; - this.timezone = options.timezone || timeZoneAbbreviation(); - - this.icons = { - leftArrow: this.fontAwesome ? 'fa-arrow-left' : (this.bootcssVer === 3 ? 'glyphicon-arrow-left' : 'icon-arrow-left'), - rightArrow: this.fontAwesome ? 'fa-arrow-right' : (this.bootcssVer === 3 ? 'glyphicon-arrow-right' : 'icon-arrow-right') - } - this.icontype = this.fontAwesome ? 'fa' : 'glyphicon'; - - this._attachEvents(); - - this.clickedOutside = function (e) { - // Clicked outside the datetimepicker, hide it - if ($(e.target).closest('.datetimepicker').length === 0) { - that.hide(); - } - } - - this.formatViewType = 'datetime'; - if ('formatViewType' in options) { - this.formatViewType = options.formatViewType; - } else if ('formatViewType' in this.element.data()) { - this.formatViewType = this.element.data('formatViewType'); - } - - this.minView = 0; - if ('minView' in options) { - this.minView = options.minView; - } else if ('minView' in this.element.data()) { - this.minView = this.element.data('min-view'); - } - this.minView = DPGlobal.convertViewMode(this.minView); - - this.maxView = DPGlobal.modes.length - 1; - if ('maxView' in options) { - this.maxView = options.maxView; - } else if ('maxView' in this.element.data()) { - this.maxView = this.element.data('max-view'); - } - this.maxView = DPGlobal.convertViewMode(this.maxView); - - this.wheelViewModeNavigation = false; - if ('wheelViewModeNavigation' in options) { - this.wheelViewModeNavigation = options.wheelViewModeNavigation; - } else if ('wheelViewModeNavigation' in this.element.data()) { - this.wheelViewModeNavigation = this.element.data('view-mode-wheel-navigation'); - } - - this.wheelViewModeNavigationInverseDirection = false; - - if ('wheelViewModeNavigationInverseDirection' in options) { - this.wheelViewModeNavigationInverseDirection = options.wheelViewModeNavigationInverseDirection; - } else if ('wheelViewModeNavigationInverseDirection' in this.element.data()) { - this.wheelViewModeNavigationInverseDirection = this.element.data('view-mode-wheel-navigation-inverse-dir'); - } - - this.wheelViewModeNavigationDelay = 100; - if ('wheelViewModeNavigationDelay' in options) { - this.wheelViewModeNavigationDelay = options.wheelViewModeNavigationDelay; - } else if ('wheelViewModeNavigationDelay' in this.element.data()) { - this.wheelViewModeNavigationDelay = this.element.data('view-mode-wheel-navigation-delay'); - } - - this.startViewMode = 2; - if ('startView' in options) { - this.startViewMode = options.startView; - } else if ('startView' in this.element.data()) { - this.startViewMode = this.element.data('start-view'); - } - this.startViewMode = DPGlobal.convertViewMode(this.startViewMode); - this.viewMode = this.startViewMode; - - this.viewSelect = this.minView; - if ('viewSelect' in options) { - this.viewSelect = options.viewSelect; - } else if ('viewSelect' in this.element.data()) { - this.viewSelect = this.element.data('view-select'); - } - this.viewSelect = DPGlobal.convertViewMode(this.viewSelect); - - this.forceParse = true; - if ('forceParse' in options) { - this.forceParse = options.forceParse; - } else if ('dateForceParse' in this.element.data()) { - this.forceParse = this.element.data('date-force-parse'); - } - var template = this.bootcssVer === 3 ? DPGlobal.templateV3 : DPGlobal.template; - while (template.indexOf('{iconType}') !== -1) { - template = template.replace('{iconType}', this.icontype); - } - while (template.indexOf('{leftArrow}') !== -1) { - template = template.replace('{leftArrow}', this.icons.leftArrow); - } - while (template.indexOf('{rightArrow}') !== -1) { - template = template.replace('{rightArrow}', this.icons.rightArrow); - } - this.picker = $(template) - .appendTo(this.isInline ? this.element : this.container) // 'body') - .on({ - click: $.proxy(this.click, this), - mousedown: $.proxy(this.mousedown, this) - }); - - if (this.wheelViewModeNavigation) { - if ($.fn.mousewheel) { - this.picker.on({mousewheel: $.proxy(this.mousewheel, this)}); - } else { - console.log('Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option'); - } - } - - if (this.isInline) { - this.picker.addClass('datetimepicker-inline'); - } else { - this.picker.addClass('datetimepicker-dropdown-' + this.pickerPosition + ' dropdown-menu'); - } - if (this.isRTL) { - this.picker.addClass('datetimepicker-rtl'); - var selector = this.bootcssVer === 3 ? '.prev span, .next span' : '.prev i, .next i'; - this.picker.find(selector).toggleClass(this.icons.leftArrow + ' ' + this.icons.rightArrow); - } - - $(document).on('mousedown touchend', this.clickedOutside); - - this.autoclose = false; - if ('autoclose' in options) { - this.autoclose = options.autoclose; - } else if ('dateAutoclose' in this.element.data()) { - this.autoclose = this.element.data('date-autoclose'); - } - - this.keyboardNavigation = true; - if ('keyboardNavigation' in options) { - this.keyboardNavigation = options.keyboardNavigation; - } else if ('dateKeyboardNavigation' in this.element.data()) { - this.keyboardNavigation = this.element.data('date-keyboard-navigation'); - } - - this.todayBtn = (options.todayBtn || this.element.data('date-today-btn') || false); - this.clearBtn = (options.clearBtn || this.element.data('date-clear-btn') || false); - this.todayHighlight = (options.todayHighlight || this.element.data('date-today-highlight') || false); - - this.weekStart = 0; - if (typeof options.weekStart !== 'undefined') { - this.weekStart = options.weekStart; - } else if (typeof this.element.data('date-weekstart') !== 'undefined') { - this.weekStart = this.element.data('date-weekstart'); - } else if (typeof dates[this.language].weekStart !== 'undefined') { - this.weekStart = dates[this.language].weekStart; - } - this.weekStart = this.weekStart % 7; - this.weekEnd = ((this.weekStart + 6) % 7); - this.onRenderDay = function (date) { - var render = (options.onRenderDay || function () { return []; })(date); - if (typeof render === 'string') { - render = [render]; - } - var res = ['day']; - return res.concat((render ? render : [])); - }; - this.onRenderHour = function (date) { - var render = (options.onRenderHour || function () { return []; })(date); - var res = ['hour']; - if (typeof render === 'string') { - render = [render]; - } - return res.concat((render ? render : [])); - }; - this.onRenderMinute = function (date) { - var render = (options.onRenderMinute || function () { return []; })(date); - var res = ['minute']; - if (typeof render === 'string') { - render = [render]; - } - if (date < this.startDate || date > this.endDate) { - res.push('disabled'); - } else if (Math.floor(this.date.getUTCMinutes() / this.minuteStep) === Math.floor(date.getUTCMinutes() / this.minuteStep)) { - res.push('active'); - } - return res.concat((render ? render : [])); - }; - this.onRenderYear = function (date) { - var render = (options.onRenderYear || function () { return []; })(date); - var res = ['year']; - if (typeof render === 'string') { - render = [render]; - } - if (this.date.getUTCFullYear() === date.getUTCFullYear()) { - res.push('active'); - } - var currentYear = date.getUTCFullYear(); - var endYear = this.endDate.getUTCFullYear(); - if (date < this.startDate || currentYear > endYear) { - res.push('disabled'); - } - return res.concat((render ? render : [])); - } - this.onRenderMonth = function (date) { - var render = (options.onRenderMonth || function () { return []; })(date); - var res = ['month']; - if (typeof render === 'string') { - render = [render]; - } - return res.concat((render ? render : [])); - } - this.startDate = new Date(-8639968443048000); - this.endDate = new Date(8639968443048000); - this.datesDisabled = []; - this.daysOfWeekDisabled = []; - this.setStartDate(options.startDate || this.element.data('date-startdate')); - this.setEndDate(options.endDate || this.element.data('date-enddate')); - this.setDatesDisabled(options.datesDisabled || this.element.data('date-dates-disabled')); - this.setDaysOfWeekDisabled(options.daysOfWeekDisabled || this.element.data('date-days-of-week-disabled')); - this.setMinutesDisabled(options.minutesDisabled || this.element.data('date-minute-disabled')); - this.setHoursDisabled(options.hoursDisabled || this.element.data('date-hour-disabled')); - this.fillDow(); - this.fillMonths(); - this.update(); - this.showMode(); - - if (this.isInline) { - this.show(); - } - }; - - Datetimepicker.prototype = { - constructor: Datetimepicker, - - _events: [], - _attachEvents: function () { - this._detachEvents(); - if (this.isInput) { // single input - this._events = [ - [this.element, { - focus: $.proxy(this.show, this), - keyup: $.proxy(this.update, this), - keydown: $.proxy(this.keydown, this) - }] - ]; - } - else if (this.component && this.hasInput) { // component: input + button - this._events = [ - // For components that are not readonly, allow keyboard nav - [this.element.find('input'), { - focus: $.proxy(this.show, this), - keyup: $.proxy(this.update, this), - keydown: $.proxy(this.keydown, this) - }], - [this.component, { - click: $.proxy(this.show, this) - }] - ]; - if (this.componentReset) { - this._events.push([ - this.componentReset, - {click: $.proxy(this.reset, this)} - ]); - } - } - else if (this.element.is('div')) { // inline datetimepicker - this.isInline = true; - } - else { - this._events = [ - [this.element, { - click: $.proxy(this.show, this) - }] - ]; - } - for (var i = 0, el, ev; i < this._events.length; i++) { - el = this._events[i][0]; - ev = this._events[i][1]; - el.on(ev); - } - }, - - _detachEvents: function () { - for (var i = 0, el, ev; i < this._events.length; i++) { - el = this._events[i][0]; - ev = this._events[i][1]; - el.off(ev); - } - this._events = []; - }, - - show: function (e) { - this.picker.show(); - this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); - if (this.forceParse) { - this.update(); - } - this.place(); - $(window).on('resize', $.proxy(this.place, this)); - if (e) { - e.stopPropagation(); - e.preventDefault(); - } - this.isVisible = true; - this.element.trigger({ - type: 'show', - date: this.date - }); - }, - - hide: function () { - if (!this.isVisible) return; - if (this.isInline) return; - this.picker.hide(); - $(window).off('resize', this.place); - this.viewMode = this.startViewMode; - this.showMode(); - if (!this.isInput) { - $(document).off('mousedown', this.hide); - } - - if ( - this.forceParse && - ( - this.isInput && this.element.val() || - this.hasInput && this.element.find('input').val() - ) - ) - this.setValue(); - this.isVisible = false; - this.element.trigger({ - type: 'hide', - date: this.date - }); - }, - - remove: function () { - this._detachEvents(); - $(document).off('mousedown', this.clickedOutside); - this.picker.remove(); - delete this.picker; - delete this.element.data().datetimepicker; - }, - - getDate: function () { - var d = this.getUTCDate(); - if (d === null) { - return null; - } - return new Date(d.getTime() + (d.getTimezoneOffset() * 60000)); - }, - - getUTCDate: function () { - return this.date; - }, - - getInitialDate: function () { - return this.initialDate - }, - - setInitialDate: function (initialDate) { - this.initialDate = initialDate; - }, - - setDate: function (d) { - this.setUTCDate(new Date(d.getTime() - (d.getTimezoneOffset() * 60000))); - }, - - setUTCDate: function (d) { - if (d >= this.startDate && d <= this.endDate) { - this.date = d; - this.setValue(); - this.viewDate = this.date; - this.fill(); - } else { - this.element.trigger({ - type: 'outOfRange', - date: d, - startDate: this.startDate, - endDate: this.endDate - }); - } - }, - - setFormat: function (format) { - this.format = DPGlobal.parseFormat(format, this.formatType); - var element; - if (this.isInput) { - element = this.element; - } else if (this.component) { - element = this.element.find('input'); - } - if (element && element.val()) { - this.setValue(); - } - }, - - setValue: function () { - var formatted = this.getFormattedDate(); - if (!this.isInput) { - if (this.component) { - this.element.find('input').val(formatted); - } - this.element.data('date', formatted); - } else { - this.element.val(formatted); - } - if (this.linkField) { - $('#' + this.linkField).val(this.getFormattedDate(this.linkFormat)); - } - }, - - getFormattedDate: function (format) { - format = format || this.format; - return DPGlobal.formatDate(this.date, format, this.language, this.formatType, this.timezone); - }, - - setStartDate: function (startDate) { - this.startDate = startDate || this.startDate; - if (this.startDate.valueOf() !== 8639968443048000) { - this.startDate = DPGlobal.parseDate(this.startDate, this.format, this.language, this.formatType, this.timezone); - } - this.update(); - this.updateNavArrows(); - }, - - setEndDate: function (endDate) { - this.endDate = endDate || this.endDate; - if (this.endDate.valueOf() !== 8639968443048000) { - this.endDate = DPGlobal.parseDate(this.endDate, this.format, this.language, this.formatType, this.timezone); - } - this.update(); - this.updateNavArrows(); - }, - - setDatesDisabled: function (datesDisabled) { - this.datesDisabled = datesDisabled || []; - if (!$.isArray(this.datesDisabled)) { - this.datesDisabled = this.datesDisabled.split(/,\s*/); - } - var mThis = this; - this.datesDisabled = $.map(this.datesDisabled, function (d) { - return DPGlobal.parseDate(d, mThis.format, mThis.language, mThis.formatType, mThis.timezone).toDateString(); - }); - this.update(); - this.updateNavArrows(); - }, - - setTitle: function (selector, value) { - return this.picker.find(selector) - .find('th:eq(1)') - .text(this.title === false ? value : this.title); - }, - - setDaysOfWeekDisabled: function (daysOfWeekDisabled) { - this.daysOfWeekDisabled = daysOfWeekDisabled || []; - if (!$.isArray(this.daysOfWeekDisabled)) { - this.daysOfWeekDisabled = this.daysOfWeekDisabled.split(/,\s*/); - } - this.daysOfWeekDisabled = $.map(this.daysOfWeekDisabled, function (d) { - return parseInt(d, 10); - }); - this.update(); - this.updateNavArrows(); - }, - - setMinutesDisabled: function (minutesDisabled) { - this.minutesDisabled = minutesDisabled || []; - if (!$.isArray(this.minutesDisabled)) { - this.minutesDisabled = this.minutesDisabled.split(/,\s*/); - } - this.minutesDisabled = $.map(this.minutesDisabled, function (d) { - return parseInt(d, 10); - }); - this.update(); - this.updateNavArrows(); - }, - - setHoursDisabled: function (hoursDisabled) { - this.hoursDisabled = hoursDisabled || []; - if (!$.isArray(this.hoursDisabled)) { - this.hoursDisabled = this.hoursDisabled.split(/,\s*/); - } - this.hoursDisabled = $.map(this.hoursDisabled, function (d) { - return parseInt(d, 10); - }); - this.update(); - this.updateNavArrows(); - }, - - place: function () { - if (this.isInline) return; - - if (!this.zIndex) { - var index_highest = 0; - $('div').each(function () { - var index_current = parseInt($(this).css('zIndex'), 10); - if (index_current > index_highest) { - index_highest = index_current; - } - }); - this.zIndex = index_highest + 10; - } - - var offset, top, left, containerOffset; - if (this.container instanceof $) { - containerOffset = this.container.offset(); - } else { - containerOffset = $(this.container).offset(); - } - - if (this.component) { - offset = this.component.offset(); - left = offset.left; - if (this.pickerPosition === 'bottom-left' || this.pickerPosition === 'top-left') { - left += this.component.outerWidth() - this.picker.outerWidth(); - } - } else { - offset = this.element.offset(); - left = offset.left; - if (this.pickerPosition === 'bottom-left' || this.pickerPosition === 'top-left') { - left += this.element.outerWidth() - this.picker.outerWidth(); - } - } - - var bodyWidth = document.body.clientWidth || window.innerWidth; - if (left + 220 > bodyWidth) { - left = bodyWidth - 220; - } - - if (this.pickerPosition === 'top-left' || this.pickerPosition === 'top-right') { - top = offset.top - this.picker.outerHeight(); - } else { - top = offset.top + this.height; - } - - top = top - containerOffset.top; - left = left - containerOffset.left; - - this.picker.css({ - top: top, - left: left, - zIndex: this.zIndex - }); - }, - - hour_minute: "^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]", - - update: function () { - var date, fromArgs = false; - if (arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) { - date = arguments[0]; - fromArgs = true; - } else { - date = (this.isInput ? this.element.val() : this.element.find('input').val()) || this.element.data('date') || this.initialDate; - if (typeof date === 'string') { - date = date.replace(/^\s+|\s+$/g,''); - } - } - - if (!date) { - date = new Date(); - fromArgs = false; - } - - if (typeof date === "string") { - if (new RegExp(this.hour_minute).test(date) || new RegExp(this.hour_minute + ":[0-5][0-9]").test(date)) { - date = this.getDate() - } - } - - this.date = DPGlobal.parseDate(date, this.format, this.language, this.formatType, this.timezone); - - if (fromArgs) this.setValue(); - - if (this.date < this.startDate) { - this.viewDate = new Date(this.startDate); - } else if (this.date > this.endDate) { - this.viewDate = new Date(this.endDate); - } else { - this.viewDate = new Date(this.date); - } - this.fill(); - }, - - fillDow: function () { - var dowCnt = this.weekStart, - html = ''; - while (dowCnt < this.weekStart + 7) { - html += '' + dates[this.language].daysMin[(dowCnt++) % 7] + ''; - } - html += ''; - this.picker.find('.datetimepicker-days thead').append(html); - }, - - fillMonths: function () { - var html = ''; - var d = new Date(this.viewDate); - for (var i = 0; i < 12; i++) { - d.setUTCMonth(i); - var classes = this.onRenderMonth(d); - html += '' + dates[this.language].monthsShort[i] + ''; - } - this.picker.find('.datetimepicker-months td').html(html); - }, - - fill: function () { - if (!this.date || !this.viewDate) { - return; - } - var d = new Date(this.viewDate), - year = d.getUTCFullYear(), - month = d.getUTCMonth(), - dayMonth = d.getUTCDate(), - hours = d.getUTCHours(), - startYear = this.startDate.getUTCFullYear(), - startMonth = this.startDate.getUTCMonth(), - endYear = this.endDate.getUTCFullYear(), - endMonth = this.endDate.getUTCMonth() + 1, - currentDate = (new UTCDate(this.date.getUTCFullYear(), this.date.getUTCMonth(), this.date.getUTCDate())).valueOf(), - today = new Date(); - this.setTitle('.datetimepicker-days', dates[this.language].months[month] + ' ' + year) - if (this.formatViewType === 'time') { - var formatted = this.getFormattedDate(); - this.setTitle('.datetimepicker-hours', formatted); - this.setTitle('.datetimepicker-minutes', formatted); - } else { - this.setTitle('.datetimepicker-hours', dayMonth + ' ' + dates[this.language].months[month] + ' ' + year); - this.setTitle('.datetimepicker-minutes', dayMonth + ' ' + dates[this.language].months[month] + ' ' + year); - } - this.picker.find('tfoot th.today') - .text(dates[this.language].today || dates['en'].today) - .toggle(this.todayBtn !== false); - this.picker.find('tfoot th.clear') - .text(dates[this.language].clear || dates['en'].clear) - .toggle(this.clearBtn !== false); - this.updateNavArrows(); - this.fillMonths(); - var prevMonth = UTCDate(year, month - 1, 28, 0, 0, 0, 0), - day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); - prevMonth.setUTCDate(day); - prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.weekStart + 7) % 7); - var nextMonth = new Date(prevMonth); - nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); - nextMonth = nextMonth.valueOf(); - var html = []; - var classes; - while (prevMonth.valueOf() < nextMonth) { - if (prevMonth.getUTCDay() === this.weekStart) { - html.push(''); - } - classes = this.onRenderDay(prevMonth); - if (prevMonth.getUTCFullYear() < year || (prevMonth.getUTCFullYear() === year && prevMonth.getUTCMonth() < month)) { - classes.push('old'); - } else if (prevMonth.getUTCFullYear() > year || (prevMonth.getUTCFullYear() === year && prevMonth.getUTCMonth() > month)) { - classes.push('new'); - } - // Compare internal UTC date with local today, not UTC today - if (this.todayHighlight && - prevMonth.getUTCFullYear() === today.getFullYear() && - prevMonth.getUTCMonth() === today.getMonth() && - prevMonth.getUTCDate() === today.getDate()) { - classes.push('today'); - } - if (prevMonth.valueOf() === currentDate) { - classes.push('active'); - } - if ((prevMonth.valueOf() + 86400000) <= this.startDate || prevMonth.valueOf() > this.endDate || - $.inArray(prevMonth.getUTCDay(), this.daysOfWeekDisabled) !== -1 || - $.inArray(prevMonth.toDateString(), this.datesDisabled) !== -1) { - classes.push('disabled'); - } - html.push('' + prevMonth.getUTCDate() + ''); - if (prevMonth.getUTCDay() === this.weekEnd) { - html.push(''); - } - prevMonth.setUTCDate(prevMonth.getUTCDate() + 1); - } - this.picker.find('.datetimepicker-days tbody').empty().append(html.join('')); - - html = []; - var txt = '', meridian = '', meridianOld = ''; - var hoursDisabled = this.hoursDisabled || []; - d = new Date(this.viewDate) - for (var i = 0; i < 24; i++) { - d.setUTCHours(i); - classes = this.onRenderHour(d); - if (hoursDisabled.indexOf(i) !== -1) { - classes.push('disabled'); - } - var actual = UTCDate(year, month, dayMonth, i); - // We want the previous hour for the startDate - if ((actual.valueOf() + 3600000) <= this.startDate || actual.valueOf() > this.endDate) { - classes.push('disabled'); - } else if (hours === i) { - classes.push('active'); - } - if (this.showMeridian && dates[this.language].meridiem.length === 2) { - meridian = (i < 12 ? dates[this.language].meridiem[0] : dates[this.language].meridiem[1]); - if (meridian !== meridianOld) { - if (meridianOld !== '') { - html.push(''); - } - html.push('
            ' + meridian.toUpperCase() + ''); - } - meridianOld = meridian; - txt = (i % 12 ? i % 12 : 12); - if (i < 12) { - classes.push('hour_am'); - } else { - classes.push('hour_pm'); - } - html.push('' + txt + ''); - if (i === 23) { - html.push('
            '); - } - } else { - txt = i + ':00'; - html.push('' + txt + ''); - } - } - this.picker.find('.datetimepicker-hours td').html(html.join('')); - - html = []; - txt = ''; - meridian = ''; - meridianOld = ''; - var minutesDisabled = this.minutesDisabled || []; - d = new Date(this.viewDate); - for (var i = 0; i < 60; i += this.minuteStep) { - if (minutesDisabled.indexOf(i) !== -1) continue; - d.setUTCMinutes(i); - d.setUTCSeconds(0); - classes = this.onRenderMinute(d); - if (this.showMeridian && dates[this.language].meridiem.length === 2) { - meridian = (hours < 12 ? dates[this.language].meridiem[0] : dates[this.language].meridiem[1]); - if (meridian !== meridianOld) { - if (meridianOld !== '') { - html.push(''); - } - html.push('
            ' + meridian.toUpperCase() + ''); - } - meridianOld = meridian; - txt = (hours % 12 ? hours % 12 : 12); - html.push('' + txt + ':' + (i < 10 ? '0' + i : i) + ''); - if (i === 59) { - html.push('
            '); - } - } else { - txt = i + ':00'; - html.push('' + hours + ':' + (i < 10 ? '0' + i : i) + ''); - } - } - this.picker.find('.datetimepicker-minutes td').html(html.join('')); - - var currentYear = this.date.getUTCFullYear(); - var months = this.setTitle('.datetimepicker-months', year) - .end() - .find('.month').removeClass('active'); - if (currentYear === year) { - // getUTCMonths() returns 0 based, and we need to select the next one - // To cater bootstrap 2 we don't need to select the next one - months.eq(this.date.getUTCMonth()).addClass('active'); - } - if (year < startYear || year > endYear) { - months.addClass('disabled'); - } - if (year === startYear) { - months.slice(0, startMonth).addClass('disabled'); - } - if (year === endYear) { - months.slice(endMonth).addClass('disabled'); - } - - html = ''; - year = parseInt(year / 10, 10) * 10; - var yearCont = this.setTitle('.datetimepicker-years', year + '-' + (year + 9)) - .end() - .find('td'); - year -= 1; - d = new Date(this.viewDate); - for (var i = -1; i < 11; i++) { - d.setUTCFullYear(year); - classes = this.onRenderYear(d); - if (i === -1 || i === 10) { - classes.push(old); - } - html += '' + year + ''; - year += 1; - } - yearCont.html(html); - this.place(); - }, - - updateNavArrows: function () { - var d = new Date(this.viewDate), - year = d.getUTCFullYear(), - month = d.getUTCMonth(), - day = d.getUTCDate(), - hour = d.getUTCHours(); - switch (this.viewMode) { - case 0: - if (year <= this.startDate.getUTCFullYear() - && month <= this.startDate.getUTCMonth() - && day <= this.startDate.getUTCDate() - && hour <= this.startDate.getUTCHours()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (year >= this.endDate.getUTCFullYear() - && month >= this.endDate.getUTCMonth() - && day >= this.endDate.getUTCDate() - && hour >= this.endDate.getUTCHours()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - case 1: - if (year <= this.startDate.getUTCFullYear() - && month <= this.startDate.getUTCMonth() - && day <= this.startDate.getUTCDate()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (year >= this.endDate.getUTCFullYear() - && month >= this.endDate.getUTCMonth() - && day >= this.endDate.getUTCDate()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - case 2: - if (year <= this.startDate.getUTCFullYear() - && month <= this.startDate.getUTCMonth()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (year >= this.endDate.getUTCFullYear() - && month >= this.endDate.getUTCMonth()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - case 3: - case 4: - if (year <= this.startDate.getUTCFullYear()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (year >= this.endDate.getUTCFullYear()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - } - }, - - mousewheel: function (e) { - - e.preventDefault(); - e.stopPropagation(); - - if (this.wheelPause) { - return; - } - - this.wheelPause = true; - - var originalEvent = e.originalEvent; - - var delta = originalEvent.wheelDelta; - - var mode = delta > 0 ? 1 : (delta === 0) ? 0 : -1; - - if (this.wheelViewModeNavigationInverseDirection) { - mode = -mode; - } - - this.showMode(mode); - - setTimeout($.proxy(function () { - - this.wheelPause = false - - }, this), this.wheelViewModeNavigationDelay); - - }, - - click: function (e) { - e.stopPropagation(); - e.preventDefault(); - var target = $(e.target).closest('span, td, th, legend'); - if (target.is('.' + this.icontype)) { - target = $(target).parent().closest('span, td, th, legend'); - } - if (target.length === 1) { - if (target.is('.disabled')) { - this.element.trigger({ - type: 'outOfRange', - date: this.viewDate, - startDate: this.startDate, - endDate: this.endDate - }); - return; - } - switch (target[0].nodeName.toLowerCase()) { - case 'th': - switch (target[0].className) { - case 'switch': - this.showMode(1); - break; - case 'prev': - case 'next': - var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1); - switch (this.viewMode) { - case 0: - this.viewDate = this.moveHour(this.viewDate, dir); - break; - case 1: - this.viewDate = this.moveDate(this.viewDate, dir); - break; - case 2: - this.viewDate = this.moveMonth(this.viewDate, dir); - break; - case 3: - case 4: - this.viewDate = this.moveYear(this.viewDate, dir); - break; - } - this.fill(); - this.element.trigger({ - type: target[0].className + ':' + this.convertViewModeText(this.viewMode), - date: this.viewDate, - startDate: this.startDate, - endDate: this.endDate - }); - break; - case 'clear': - this.reset(); - if (this.autoclose) { - this.hide(); - } - break; - case 'today': - var date = new Date(); - date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0); - - // Respect startDate and endDate. - if (date < this.startDate) date = this.startDate; - else if (date > this.endDate) date = this.endDate; - - this.viewMode = this.startViewMode; - this.showMode(0); - this._setDate(date); - this.fill(); - if (this.autoclose) { - this.hide(); - } - break; - } - break; - case 'span': - if (!target.is('.disabled')) { - var year = this.viewDate.getUTCFullYear(), - month = this.viewDate.getUTCMonth(), - day = this.viewDate.getUTCDate(), - hours = this.viewDate.getUTCHours(), - minutes = this.viewDate.getUTCMinutes(), - seconds = this.viewDate.getUTCSeconds(); - - if (target.is('.month')) { - this.viewDate.setUTCDate(1); - month = target.parent().find('span').index(target); - day = this.viewDate.getUTCDate(); - this.viewDate.setUTCMonth(month); - this.element.trigger({ - type: 'changeMonth', - date: this.viewDate - }); - if (this.viewSelect >= 3) { - this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); - } - } else if (target.is('.year')) { - this.viewDate.setUTCDate(1); - year = parseInt(target.text(), 10) || 0; - this.viewDate.setUTCFullYear(year); - this.element.trigger({ - type: 'changeYear', - date: this.viewDate - }); - if (this.viewSelect >= 4) { - this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); - } - } else if (target.is('.hour')) { - hours = parseInt(target.text(), 10) || 0; - if (target.hasClass('hour_am') || target.hasClass('hour_pm')) { - if (hours === 12 && target.hasClass('hour_am')) { - hours = 0; - } else if (hours !== 12 && target.hasClass('hour_pm')) { - hours += 12; - } - } - this.viewDate.setUTCHours(hours); - this.element.trigger({ - type: 'changeHour', - date: this.viewDate - }); - if (this.viewSelect >= 1) { - this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); - } - } else if (target.is('.minute')) { - minutes = parseInt(target.text().substr(target.text().indexOf(':') + 1), 10) || 0; - this.viewDate.setUTCMinutes(minutes); - this.element.trigger({ - type: 'changeMinute', - date: this.viewDate - }); - if (this.viewSelect >= 0) { - this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); - } - } - if (this.viewMode !== 0) { - var oldViewMode = this.viewMode; - this.showMode(-1); - this.fill(); - if (oldViewMode === this.viewMode && this.autoclose) { - this.hide(); - } - } else { - this.fill(); - if (this.autoclose) { - this.hide(); - } - } - } - break; - case 'td': - if (target.is('.day') && !target.is('.disabled')) { - var day = parseInt(target.text(), 10) || 1; - var year = this.viewDate.getUTCFullYear(), - month = this.viewDate.getUTCMonth(), - hours = this.viewDate.getUTCHours(), - minutes = this.viewDate.getUTCMinutes(), - seconds = this.viewDate.getUTCSeconds(); - if (target.is('.old')) { - if (month === 0) { - month = 11; - year -= 1; - } else { - month -= 1; - } - } else if (target.is('.new')) { - if (month === 11) { - month = 0; - year += 1; - } else { - month += 1; - } - } - this.viewDate.setUTCFullYear(year); - this.viewDate.setUTCMonth(month, day); - this.element.trigger({ - type: 'changeDay', - date: this.viewDate - }); - if (this.viewSelect >= 2) { - this._setDate(UTCDate(year, month, day, hours, minutes, seconds, 0)); - } - } - var oldViewMode = this.viewMode; - this.showMode(-1); - this.fill(); - if (oldViewMode === this.viewMode && this.autoclose) { - this.hide(); - } - break; - } - } - }, - - _setDate: function (date, which) { - if (!which || which === 'date') - this.date = date; - if (!which || which === 'view') - this.viewDate = date; - this.fill(); - this.setValue(); - var element; - if (this.isInput) { - element = this.element; - } else if (this.component) { - element = this.element.find('input'); - } - if (element) { - element.change(); - } - this.element.trigger({ - type: 'changeDate', - date: this.getDate() - }); - if(date === null) - this.date = this.viewDate; - }, - - moveMinute: function (date, dir) { - if (!dir) return date; - var new_date = new Date(date.valueOf()); - //dir = dir > 0 ? 1 : -1; - new_date.setUTCMinutes(new_date.getUTCMinutes() + (dir * this.minuteStep)); - return new_date; - }, - - moveHour: function (date, dir) { - if (!dir) return date; - var new_date = new Date(date.valueOf()); - //dir = dir > 0 ? 1 : -1; - new_date.setUTCHours(new_date.getUTCHours() + dir); - return new_date; - }, - - moveDate: function (date, dir) { - if (!dir) return date; - var new_date = new Date(date.valueOf()); - //dir = dir > 0 ? 1 : -1; - new_date.setUTCDate(new_date.getUTCDate() + dir); - return new_date; - }, - - moveMonth: function (date, dir) { - if (!dir) return date; - var new_date = new Date(date.valueOf()), - day = new_date.getUTCDate(), - month = new_date.getUTCMonth(), - mag = Math.abs(dir), - new_month, test; - dir = dir > 0 ? 1 : -1; - if (mag === 1) { - test = dir === -1 - // If going back one month, make sure month is not current month - // (eg, Mar 31 -> Feb 31 === Feb 28, not Mar 02) - ? function () { - return new_date.getUTCMonth() === month; - } - // If going forward one month, make sure month is as expected - // (eg, Jan 31 -> Feb 31 === Feb 28, not Mar 02) - : function () { - return new_date.getUTCMonth() !== new_month; - }; - new_month = month + dir; - new_date.setUTCMonth(new_month); - // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 - if (new_month < 0 || new_month > 11) - new_month = (new_month + 12) % 12; - } else { - // For magnitudes >1, move one month at a time... - for (var i = 0; i < mag; i++) - // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... - new_date = this.moveMonth(new_date, dir); - // ...then reset the day, keeping it in the new month - new_month = new_date.getUTCMonth(); - new_date.setUTCDate(day); - test = function () { - return new_month !== new_date.getUTCMonth(); - }; - } - // Common date-resetting loop -- if date is beyond end of month, make it - // end of month - while (test()) { - new_date.setUTCDate(--day); - new_date.setUTCMonth(new_month); - } - return new_date; - }, - - moveYear: function (date, dir) { - return this.moveMonth(date, dir * 12); - }, - - dateWithinRange: function (date) { - return date >= this.startDate && date <= this.endDate; - }, - - keydown: function (e) { - if (this.picker.is(':not(:visible)')) { - if (e.keyCode === 27) // allow escape to hide and re-show picker - this.show(); - return; - } - var dateChanged = false, - dir, newDate, newViewDate; - switch (e.keyCode) { - case 27: // escape - this.hide(); - e.preventDefault(); - break; - case 37: // left - case 39: // right - if (!this.keyboardNavigation) break; - dir = e.keyCode === 37 ? -1 : 1; - var viewMode = this.viewMode; - if (e.ctrlKey) { - viewMode += 2; - } else if (e.shiftKey) { - viewMode += 1; - } - if (viewMode === 4) { - newDate = this.moveYear(this.date, dir); - newViewDate = this.moveYear(this.viewDate, dir); - } else if (viewMode === 3) { - newDate = this.moveMonth(this.date, dir); - newViewDate = this.moveMonth(this.viewDate, dir); - } else if (viewMode === 2) { - newDate = this.moveDate(this.date, dir); - newViewDate = this.moveDate(this.viewDate, dir); - } else if (viewMode === 1) { - newDate = this.moveHour(this.date, dir); - newViewDate = this.moveHour(this.viewDate, dir); - } else if (viewMode === 0) { - newDate = this.moveMinute(this.date, dir); - newViewDate = this.moveMinute(this.viewDate, dir); - } - if (this.dateWithinRange(newDate)) { - this.date = newDate; - this.viewDate = newViewDate; - this.setValue(); - this.update(); - e.preventDefault(); - dateChanged = true; - } - break; - case 38: // up - case 40: // down - if (!this.keyboardNavigation) break; - dir = e.keyCode === 38 ? -1 : 1; - viewMode = this.viewMode; - if (e.ctrlKey) { - viewMode += 2; - } else if (e.shiftKey) { - viewMode += 1; - } - if (viewMode === 4) { - newDate = this.moveYear(this.date, dir); - newViewDate = this.moveYear(this.viewDate, dir); - } else if (viewMode === 3) { - newDate = this.moveMonth(this.date, dir); - newViewDate = this.moveMonth(this.viewDate, dir); - } else if (viewMode === 2) { - newDate = this.moveDate(this.date, dir * 7); - newViewDate = this.moveDate(this.viewDate, dir * 7); - } else if (viewMode === 1) { - if (this.showMeridian) { - newDate = this.moveHour(this.date, dir * 6); - newViewDate = this.moveHour(this.viewDate, dir * 6); - } else { - newDate = this.moveHour(this.date, dir * 4); - newViewDate = this.moveHour(this.viewDate, dir * 4); - } - } else if (viewMode === 0) { - newDate = this.moveMinute(this.date, dir * 4); - newViewDate = this.moveMinute(this.viewDate, dir * 4); - } - if (this.dateWithinRange(newDate)) { - this.date = newDate; - this.viewDate = newViewDate; - this.setValue(); - this.update(); - e.preventDefault(); - dateChanged = true; - } - break; - case 13: // enter - if (this.viewMode !== 0) { - var oldViewMode = this.viewMode; - this.showMode(-1); - this.fill(); - if (oldViewMode === this.viewMode && this.autoclose) { - this.hide(); - } - } else { - this.fill(); - if (this.autoclose) { - this.hide(); - } - } - e.preventDefault(); - break; - case 9: // tab - this.hide(); - break; - } - if (dateChanged) { - var element; - if (this.isInput) { - element = this.element; - } else if (this.component) { - element = this.element.find('input'); - } - if (element) { - element.change(); - } - this.element.trigger({ - type: 'changeDate', - date: this.getDate() - }); - } - }, - - showMode: function (dir) { - if (dir) { - var newViewMode = Math.max(0, Math.min(DPGlobal.modes.length - 1, this.viewMode + dir)); - if (newViewMode >= this.minView && newViewMode <= this.maxView) { - this.element.trigger({ - type: 'changeMode', - date: this.viewDate, - oldViewMode: this.viewMode, - newViewMode: newViewMode - }); - - this.viewMode = newViewMode; - } - } - /* - vitalets: fixing bug of very special conditions: - jquery 1.7.1 + webkit + show inline datetimepicker in bootstrap popover. - Method show() does not set display css correctly and datetimepicker is not shown. - Changed to .css('display', 'block') solve the problem. - See https://github.com/vitalets/x-editable/issues/37 - - In jquery 1.7.2+ everything works fine. - */ - //this.picker.find('>div').hide().filter('.datetimepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); - this.picker.find('>div').hide().filter('.datetimepicker-' + DPGlobal.modes[this.viewMode].clsName).css('display', 'block'); - this.updateNavArrows(); - }, - - reset: function () { - this._setDate(null, 'date'); - }, - - convertViewModeText: function (viewMode) { - switch (viewMode) { - case 4: - return 'decade'; - case 3: - return 'year'; - case 2: - return 'month'; - case 1: - return 'day'; - case 0: - return 'hour'; - } - } - }; - - var old = $.fn.datetimepicker; - $.fn.datetimepicker = function (option) { - var args = Array.apply(null, arguments); - args.shift(); - var internal_return; - this.each(function () { - var $this = $(this), - data = $this.data('datetimepicker'), - options = typeof option === 'object' && option; - if (!data) { - $this.data('datetimepicker', (data = new Datetimepicker(this, $.extend({}, $.fn.datetimepicker.defaults, options)))); - } - if (typeof option === 'string' && typeof data[option] === 'function') { - internal_return = data[option].apply(data, args); - if (internal_return !== undefined) { - return false; - } - } - }); - if (internal_return !== undefined) - return internal_return; - else - return this; - }; - - $.fn.datetimepicker.defaults = { - }; - $.fn.datetimepicker.Constructor = Datetimepicker; - var dates = $.fn.datetimepicker.dates = { - en: { - days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], - daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], - daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], - months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - meridiem: ['am', 'pm'], - suffix: ['st', 'nd', 'rd', 'th'], - today: 'Today', - clear: 'Clear' - } - }; - - var DPGlobal = { - modes: [ - { - clsName: 'minutes', - navFnc: 'Hours', - navStep: 1 - }, - { - clsName: 'hours', - navFnc: 'Date', - navStep: 1 - }, - { - clsName: 'days', - navFnc: 'Month', - navStep: 1 - }, - { - clsName: 'months', - navFnc: 'FullYear', - navStep: 1 - }, - { - clsName: 'years', - navFnc: 'FullYear', - navStep: 10 - } - ], - isLeapYear: function (year) { - return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) - }, - getDaysInMonth: function (year, month) { - return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] - }, - getDefaultFormat: function (type, field) { - if (type === 'standard') { - if (field === 'input') - return 'yyyy-mm-dd hh:ii'; - else - return 'yyyy-mm-dd hh:ii:ss'; - } else if (type === 'php') { - if (field === 'input') - return 'Y-m-d H:i'; - else - return 'Y-m-d H:i:s'; - } else { - throw new Error('Invalid format type.'); - } - }, - validParts: function (type) { - if (type === 'standard') { - return /t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g; - } else if (type === 'php') { - return /[dDjlNwzFmMnStyYaABgGhHis]/g; - } else { - throw new Error('Invalid format type.'); - } - }, - nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\rTZ]+/g, - parseFormat: function (format, type) { - // IE treats \0 as a string end in inputs (truncating the value), - // so it's a bad format delimiter, anyway - var separators = format.replace(this.validParts(type), '\0').split('\0'), - parts = format.match(this.validParts(type)); - if (!separators || !separators.length || !parts || parts.length === 0) { - throw new Error('Invalid date format.'); - } - return {separators: separators, parts: parts}; - }, - parseDate: function (date, format, language, type, timezone) { - if (date instanceof Date) { - var dateUTC = new Date(date.valueOf() - date.getTimezoneOffset() * 60000); - dateUTC.setMilliseconds(0); - return dateUTC; - } - if (/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(date)) { - format = this.parseFormat('yyyy-mm-dd', type); - } - if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(date)) { - format = this.parseFormat('yyyy-mm-dd hh:ii', type); - } - if (/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(date)) { - format = this.parseFormat('yyyy-mm-dd hh:ii:ss', type); - } - if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) { - var part_re = /([-+]\d+)([dmwy])/, - parts = date.match(/([-+]\d+)([dmwy])/g), - part, dir; - date = new Date(); - for (var i = 0; i < parts.length; i++) { - part = part_re.exec(parts[i]); - dir = parseInt(part[1]); - switch (part[2]) { - case 'd': - date.setUTCDate(date.getUTCDate() + dir); - break; - case 'm': - date = Datetimepicker.prototype.moveMonth.call(Datetimepicker.prototype, date, dir); - break; - case 'w': - date.setUTCDate(date.getUTCDate() + dir * 7); - break; - case 'y': - date = Datetimepicker.prototype.moveYear.call(Datetimepicker.prototype, date, dir); - break; - } - } - return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), 0); - } - var parts = date && date.toString().match(this.nonpunctuation) || [], - date = new Date(0, 0, 0, 0, 0, 0, 0), - parsed = {}, - setters_order = ['hh', 'h', 'ii', 'i', 'ss', 's', 'yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'D', 'DD', 'd', 'dd', 'H', 'HH', 'p', 'P', 'z', 'Z'], - setters_map = { - hh: function (d, v) { - return d.setUTCHours(v); - }, - h: function (d, v) { - return d.setUTCHours(v); - }, - HH: function (d, v) { - return d.setUTCHours(v === 12 ? 0 : v); - }, - H: function (d, v) { - return d.setUTCHours(v === 12 ? 0 : v); - }, - ii: function (d, v) { - return d.setUTCMinutes(v); - }, - i: function (d, v) { - return d.setUTCMinutes(v); - }, - ss: function (d, v) { - return d.setUTCSeconds(v); - }, - s: function (d, v) { - return d.setUTCSeconds(v); - }, - yyyy: function (d, v) { - return d.setUTCFullYear(v); - }, - yy: function (d, v) { - return d.setUTCFullYear(2000 + v); - }, - m: function (d, v) { - v -= 1; - while (v < 0) v += 12; - v %= 12; - d.setUTCMonth(v); - while (d.getUTCMonth() !== v) - if (isNaN(d.getUTCMonth())) - return d; - else - d.setUTCDate(d.getUTCDate() - 1); - return d; - }, - d: function (d, v) { - return d.setUTCDate(v); - }, - p: function (d, v) { - return d.setUTCHours(v === 1 ? d.getUTCHours() + 12 : d.getUTCHours()); - }, - z: function () { - return timezone - } - }, - val, filtered, part; - setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; - setters_map['dd'] = setters_map['d']; - setters_map['P'] = setters_map['p']; - setters_map['Z'] = setters_map['z']; - date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()); - if (parts.length === format.parts.length) { - for (var i = 0, cnt = format.parts.length; i < cnt; i++) { - val = parseInt(parts[i], 10); - part = format.parts[i]; - if (isNaN(val)) { - switch (part) { - case 'MM': - filtered = $(dates[language].months).filter(function () { - var m = this.slice(0, parts[i].length), - p = parts[i].slice(0, m.length); - return m === p; - }); - val = $.inArray(filtered[0], dates[language].months) + 1; - break; - case 'M': - filtered = $(dates[language].monthsShort).filter(function () { - var m = this.slice(0, parts[i].length), - p = parts[i].slice(0, m.length); - return m.toLowerCase() === p.toLowerCase(); - }); - val = $.inArray(filtered[0], dates[language].monthsShort) + 1; - break; - case 'p': - case 'P': - val = $.inArray(parts[i].toLowerCase(), dates[language].meridiem); - break; - case 'z': - case 'Z': - timezone; - break; - - } - } - parsed[part] = val; - } - for (var i = 0, s; i < setters_order.length; i++) { - s = setters_order[i]; - if (s in parsed && !isNaN(parsed[s])) - setters_map[s](date, parsed[s]) - } - } - return date; - }, - formatDate: function (date, format, language, type, timezone) { - if (date === null) { - return ''; - } - var val; - if (type === 'standard') { - val = { - t: date.getTime(), - // year - yy: date.getUTCFullYear().toString().substring(2), - yyyy: date.getUTCFullYear(), - // month - m: date.getUTCMonth() + 1, - M: dates[language].monthsShort[date.getUTCMonth()], - MM: dates[language].months[date.getUTCMonth()], - // day - d: date.getUTCDate(), - D: dates[language].daysShort[date.getUTCDay()], - DD: dates[language].days[date.getUTCDay()], - p: (dates[language].meridiem.length === 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''), - // hour - h: date.getUTCHours(), - // minute - i: date.getUTCMinutes(), - // second - s: date.getUTCSeconds(), - // timezone - z: timezone - }; - - if (dates[language].meridiem.length === 2) { - val.H = (val.h % 12 === 0 ? 12 : val.h % 12); - } - else { - val.H = val.h; - } - val.HH = (val.H < 10 ? '0' : '') + val.H; - val.P = val.p.toUpperCase(); - val.Z = val.z; - val.hh = (val.h < 10 ? '0' : '') + val.h; - val.ii = (val.i < 10 ? '0' : '') + val.i; - val.ss = (val.s < 10 ? '0' : '') + val.s; - val.dd = (val.d < 10 ? '0' : '') + val.d; - val.mm = (val.m < 10 ? '0' : '') + val.m; - } else if (type === 'php') { - // php format - val = { - // year - y: date.getUTCFullYear().toString().substring(2), - Y: date.getUTCFullYear(), - // month - F: dates[language].months[date.getUTCMonth()], - M: dates[language].monthsShort[date.getUTCMonth()], - n: date.getUTCMonth() + 1, - t: DPGlobal.getDaysInMonth(date.getUTCFullYear(), date.getUTCMonth()), - // day - j: date.getUTCDate(), - l: dates[language].days[date.getUTCDay()], - D: dates[language].daysShort[date.getUTCDay()], - w: date.getUTCDay(), // 0 -> 6 - N: (date.getUTCDay() === 0 ? 7 : date.getUTCDay()), // 1 -> 7 - S: (date.getUTCDate() % 10 <= dates[language].suffix.length ? dates[language].suffix[date.getUTCDate() % 10 - 1] : ''), - // hour - a: (dates[language].meridiem.length === 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : ''), - g: (date.getUTCHours() % 12 === 0 ? 12 : date.getUTCHours() % 12), - G: date.getUTCHours(), - // minute - i: date.getUTCMinutes(), - // second - s: date.getUTCSeconds() - }; - val.m = (val.n < 10 ? '0' : '') + val.n; - val.d = (val.j < 10 ? '0' : '') + val.j; - val.A = val.a.toString().toUpperCase(); - val.h = (val.g < 10 ? '0' : '') + val.g; - val.H = (val.G < 10 ? '0' : '') + val.G; - val.i = (val.i < 10 ? '0' : '') + val.i; - val.s = (val.s < 10 ? '0' : '') + val.s; - } else { - throw new Error('Invalid format type.'); - } - var date = [], - seps = $.extend([], format.separators); - for (var i = 0, cnt = format.parts.length; i < cnt; i++) { - if (seps.length) { - date.push(seps.shift()); - } - date.push(val[format.parts[i]]); - } - if (seps.length) { - date.push(seps.shift()); - } - return date.join(''); - }, - convertViewMode: function (viewMode) { - switch (viewMode) { - case 4: - case 'decade': - viewMode = 4; - break; - case 3: - case 'year': - viewMode = 3; - break; - case 2: - case 'month': - viewMode = 2; - break; - case 1: - case 'day': - viewMode = 1; - break; - case 0: - case 'hour': - viewMode = 0; - break; - } - - return viewMode; - }, - headTemplate: '' + - '' + - '' + - '' + - '' + - '' + - '', - headTemplateV3: '' + - '' + - ' ' + - '' + - ' ' + - '' + - '', - contTemplate: '', - footTemplate: '' + - '' + - '' + - '' - }; - DPGlobal.template = '
            ' + - '
            ' + - '' + - DPGlobal.headTemplate + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplate + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplate + - '' + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplate + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplate + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            '; - DPGlobal.templateV3 = '
            ' + - '
            ' + - '' + - DPGlobal.headTemplateV3 + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplateV3 + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplateV3 + - '' + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplateV3 + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            ' + - '' + - DPGlobal.headTemplateV3 + - DPGlobal.contTemplate + - DPGlobal.footTemplate + - '
            ' + - '
            ' + - '
            '; - $.fn.datetimepicker.DPGlobal = DPGlobal; - - /* DATETIMEPICKER NO CONFLICT - * =================== */ - - $.fn.datetimepicker.noConflict = function () { - $.fn.datetimepicker = old; - return this; - }; - - /* DATETIMEPICKER DATA-API - * ================== */ - - $(document).on( - 'focus.datetimepicker.data-api click.datetimepicker.data-api', - '[data-provide="datetimepicker"]', - function (e) { - var $this = $(this); - if ($this.data('datetimepicker')) return; - e.preventDefault(); - // component click requires us to explicitly show it - $this.datetimepicker('show'); - } - ); - $(function () { - $('[data-provide="datetimepicker-inline"]').datetimepicker(); - }); - -})); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js deleted file mode 100644 index eba15ce..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof exports==="object"){a(require("jquery"))}else{a(jQuery)}}}(function(d,f){if(!("indexOf" in Array.prototype)){Array.prototype.indexOf=function(k,j){if(j===f){j=0}if(j<0){j+=this.length}if(j<0){j=0}for(var l=this.length;jthis.endDate){o.push("disabled")}else{if(Math.floor(this.date.getUTCMinutes()/this.minuteStep)===Math.floor(n.getUTCMinutes()/this.minuteStep)){o.push("active")}}return o.concat((p?p:[]))};this.onRenderYear=function(o){var q=(j.onRenderYear||function(){return[]})(o);var p=["year"];if(typeof q==="string"){q=[q]}if(this.date.getUTCFullYear()===o.getUTCFullYear()){p.push("active")}var n=o.getUTCFullYear();var r=this.endDate.getUTCFullYear();if(or){p.push("disabled")}return p.concat((q?q:[]))};this.onRenderMonth=function(n){var p=(j.onRenderMonth||function(){return[]})(n);var o=["month"];if(typeof p==="string"){p=[p]}return o.concat((p?p:[]))};this.startDate=new Date(-8639968443048000);this.endDate=new Date(8639968443048000);this.datesDisabled=[];this.daysOfWeekDisabled=[];this.setStartDate(j.startDate||this.element.data("date-startdate"));this.setEndDate(j.endDate||this.element.data("date-enddate"));this.setDatesDisabled(j.datesDisabled||this.element.data("date-dates-disabled"));this.setDaysOfWeekDisabled(j.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled"));this.setMinutesDisabled(j.minutesDisabled||this.element.data("date-minute-disabled"));this.setHoursDisabled(j.hoursDisabled||this.element.data("date-hour-disabled"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};g.prototype={constructor:g,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}],[this.component,{click:d.proxy(this.show,this)}]];if(this.componentReset){this._events.push([this.componentReset,{click:d.proxy(this.reset,this)}])}}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:d.proxy(this.show,this)}]]}}}for(var j=0,k,l;j=this.startDate&&i<=this.endDate){this.date=i;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:"outOfRange",date:i,startDate:this.startDate,endDate:this.endDate})}},setFormat:function(j){this.format=c.parseFormat(j,this.formatType);var i;if(this.isInput){i=this.element}else{if(this.component){i=this.element.find("input")}}if(i&&i.val()){this.setValue()}},setValue:function(){var i=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(i)}this.element.data("date",i)}else{this.element.val(i)}if(this.linkField){d("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(i){i=i||this.format;return c.formatDate(this.date,i,this.language,this.formatType,this.timezone)},setStartDate:function(i){this.startDate=i||this.startDate;if(this.startDate.valueOf()!==8639968443048000){this.startDate=c.parseDate(this.startDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setEndDate:function(i){this.endDate=i||this.endDate;if(this.endDate.valueOf()!==8639968443048000){this.endDate=c.parseDate(this.endDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setDatesDisabled:function(j){this.datesDisabled=j||[];if(!d.isArray(this.datesDisabled)){this.datesDisabled=this.datesDisabled.split(/,\s*/)}var i=this;this.datesDisabled=d.map(this.datesDisabled,function(k){return c.parseDate(k,i.format,i.language,i.formatType,i.timezone).toDateString()});this.update();this.updateNavArrows()},setTitle:function(i,j){return this.picker.find(i).find("th:eq(1)").text(this.title===false?j:this.title)},setDaysOfWeekDisabled:function(i){this.daysOfWeekDisabled=i||[];if(!d.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=d.map(this.daysOfWeekDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setMinutesDisabled:function(i){this.minutesDisabled=i||[];if(!d.isArray(this.minutesDisabled)){this.minutesDisabled=this.minutesDisabled.split(/,\s*/)}this.minutesDisabled=d.map(this.minutesDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setHoursDisabled:function(i){this.hoursDisabled=i||[];if(!d.isArray(this.hoursDisabled)){this.hoursDisabled=this.hoursDisabled.split(/,\s*/)}this.hoursDisabled=d.map(this.hoursDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}if(!this.zIndex){var j=0;d("div").each(function(){var o=parseInt(d(this).css("zIndex"),10);if(o>j){j=o}});this.zIndex=j+10}var n,m,l,k;if(this.container instanceof d){k=this.container.offset()}else{k=d(this.container).offset()}if(this.component){n=this.component.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.component.outerWidth()-this.picker.outerWidth()}}else{n=this.element.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.element.outerWidth()-this.picker.outerWidth()}}var i=document.body.clientWidth||window.innerWidth;if(l+220>i){l=i-220}if(this.pickerPosition==="top-left"||this.pickerPosition==="top-right"){m=n.top-this.picker.outerHeight()}else{m=n.top+this.height}m=m-k.top;l=l-k.left;this.picker.css({top:m,left:l,zIndex:this.zIndex})},hour_minute:"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]",update:function(){var i,j=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){i=arguments[0];j=true}else{i=(this.isInput?this.element.val():this.element.find("input").val())||this.element.data("date")||this.initialDate;if(typeof i==="string"){i=i.replace(/^\s+|\s+$/g,"")}}if(!i){i=new Date();j=false}if(typeof i==="string"){if(new RegExp(this.hour_minute).test(i)||new RegExp(this.hour_minute+":[0-5][0-9]").test(i)){i=this.getDate()}}this.date=c.parseDate(i,this.format,this.language,this.formatType,this.timezone);if(j){this.setValue()}if(this.datethis.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var i=this.weekStart,j="";while(i'+e[this.language].daysMin[(i++)%7]+""}j+="";this.picker.find(".datetimepicker-days thead").append(j)},fillMonths:function(){var l="";var m=new Date(this.viewDate);for(var k=0;k<12;k++){m.setUTCMonth(k);var j=this.onRenderMonth(m);l+=''+e[this.language].monthsShort[k]+""}this.picker.find(".datetimepicker-months td").html(l)},fill:function(){if(!this.date||!this.viewDate){return}var E=new Date(this.viewDate),t=E.getUTCFullYear(),G=E.getUTCMonth(),n=E.getUTCDate(),A=E.getUTCHours(),w=this.startDate.getUTCFullYear(),B=this.startDate.getUTCMonth(),p=this.endDate.getUTCFullYear(),x=this.endDate.getUTCMonth()+1,q=(new h(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),D=new Date();this.setTitle(".datetimepicker-days",e[this.language].months[G]+" "+t);if(this.formatViewType==="time"){var k=this.getFormattedDate();this.setTitle(".datetimepicker-hours",k);this.setTitle(".datetimepicker-minutes",k)}else{this.setTitle(".datetimepicker-hours",n+" "+e[this.language].months[G]+" "+t);this.setTitle(".datetimepicker-minutes",n+" "+e[this.language].months[G]+" "+t)}this.picker.find("tfoot th.today").text(e[this.language].today||e.en.today).toggle(this.todayBtn!==false);this.picker.find("tfoot th.clear").text(e[this.language].clear||e.en.clear).toggle(this.clearBtn!==false);this.updateNavArrows();this.fillMonths();var I=h(t,G-1,28,0,0,0,0),z=c.getDaysInMonth(I.getUTCFullYear(),I.getUTCMonth());I.setUTCDate(z);I.setUTCDate(z-(I.getUTCDay()-this.weekStart+7)%7);var j=new Date(I);j.setUTCDate(j.getUTCDate()+42);j=j.valueOf();var r=[];var F;while(I.valueOf()")}F=this.onRenderDay(I);if(I.getUTCFullYear()t||(I.getUTCFullYear()===t&&I.getUTCMonth()>G)){F.push("new")}}if(this.todayHighlight&&I.getUTCFullYear()===D.getFullYear()&&I.getUTCMonth()===D.getMonth()&&I.getUTCDate()===D.getDate()){F.push("today")}if(I.valueOf()===q){F.push("active")}if((I.valueOf()+86400000)<=this.startDate||I.valueOf()>this.endDate||d.inArray(I.getUTCDay(),this.daysOfWeekDisabled)!==-1||d.inArray(I.toDateString(),this.datesDisabled)!==-1){F.push("disabled")}r.push(''+I.getUTCDate()+"");if(I.getUTCDay()===this.weekEnd){r.push("")}I.setUTCDate(I.getUTCDate()+1)}this.picker.find(".datetimepicker-days tbody").empty().append(r.join(""));r=[];var u="",C="",s="";var l=this.hoursDisabled||[];E=new Date(this.viewDate);for(var y=0;y<24;y++){E.setUTCHours(y);F=this.onRenderHour(E);if(l.indexOf(y)!==-1){F.push("disabled")}var v=h(t,G,n,y);if((v.valueOf()+3600000)<=this.startDate||v.valueOf()>this.endDate){F.push("disabled")}else{if(A===y){F.push("active")}}if(this.showMeridian&&e[this.language].meridiem.length===2){C=(y<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("")}r.push('
            '+C.toUpperCase()+"")}s=C;u=(y%12?y%12:12);if(y<12){F.push("hour_am")}else{F.push("hour_pm")}r.push(''+u+"");if(y===23){r.push("
            ")}}else{u=y+":00";r.push(''+u+"")}}this.picker.find(".datetimepicker-hours td").html(r.join(""));r=[];u="";C="";s="";var m=this.minutesDisabled||[];E=new Date(this.viewDate);for(var y=0;y<60;y+=this.minuteStep){if(m.indexOf(y)!==-1){continue}E.setUTCMinutes(y);E.setUTCSeconds(0);F=this.onRenderMinute(E);if(this.showMeridian&&e[this.language].meridiem.length===2){C=(A<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("")}r.push('
            '+C.toUpperCase()+"")}s=C;u=(A%12?A%12:12);r.push(''+u+":"+(y<10?"0"+y:y)+"");if(y===59){r.push("
            ")}}else{u=y+":00";r.push(''+A+":"+(y<10?"0"+y:y)+"")}}this.picker.find(".datetimepicker-minutes td").html(r.join(""));var J=this.date.getUTCFullYear();var o=this.setTitle(".datetimepicker-months",t).end().find(".month").removeClass("active");if(J===t){o.eq(this.date.getUTCMonth()).addClass("active")}if(tp){o.addClass("disabled")}if(t===w){o.slice(0,B).addClass("disabled")}if(t===p){o.slice(x).addClass("disabled")}r="";t=parseInt(t/10,10)*10;var H=this.setTitle(".datetimepicker-years",t+"-"+(t+9)).end().find("td");t-=1;E=new Date(this.viewDate);for(var y=-1;y<11;y++){E.setUTCFullYear(t);F=this.onRenderYear(E);if(y===-1||y===10){F.push(b)}r+=''+t+"";t+=1}H.html(r);this.place()},updateNavArrows:function(){var m=new Date(this.viewDate),k=m.getUTCFullYear(),l=m.getUTCMonth(),j=m.getUTCDate(),i=m.getUTCHours();switch(this.viewMode){case 0:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()&&i<=this.startDate.getUTCHours()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()&&i>=this.endDate.getUTCHours()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 2:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 3:case 4:if(k<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},mousewheel:function(j){j.preventDefault();j.stopPropagation();if(this.wheelPause){return}this.wheelPause=true;var i=j.originalEvent;var l=i.wheelDelta;var k=l>0?1:(l===0)?0:-1;if(this.wheelViewModeNavigationInverseDirection){k=-k}this.showMode(k);setTimeout(d.proxy(function(){this.wheelPause=false},this),this.wheelViewModeNavigationDelay)},click:function(m){m.stopPropagation();m.preventDefault();var n=d(m.target).closest("span, td, th, legend");if(n.is("."+this.icontype)){n=d(n).parent().closest("span, td, th, legend")}if(n.length===1){if(n.is(".disabled")){this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(n[0].nodeName.toLowerCase()){case"th":switch(n[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var i=c.modes[this.viewMode].navStep*(n[0].className==="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,i);break;case 1:this.viewDate=this.moveDate(this.viewDate,i);break;case 2:this.viewDate=this.moveMonth(this.viewDate,i);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,i);break}this.fill();this.element.trigger({type:n[0].className+":"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case"clear":this.reset();if(this.autoclose){this.hide()}break;case"today":var j=new Date();j=h(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),0);if(jthis.endDate){j=this.endDate}}this.viewMode=this.startViewMode;this.showMode(0);this._setDate(j);this.fill();if(this.autoclose){this.hide()}break}break;case"span":if(!n.is(".disabled")){var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),q=this.viewDate.getUTCDate(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".month")){this.viewDate.setUTCDate(1);o=n.parent().find("span").index(n);q=this.viewDate.getUTCDate();this.viewDate.setUTCMonth(o);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.viewSelect>=3){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".year")){this.viewDate.setUTCDate(1);p=parseInt(n.text(),10)||0;this.viewDate.setUTCFullYear(p);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.viewSelect>=4){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".hour")){r=parseInt(n.text(),10)||0;if(n.hasClass("hour_am")||n.hasClass("hour_pm")){if(r===12&&n.hasClass("hour_am")){r=0}else{if(r!==12&&n.hasClass("hour_pm")){r+=12}}}this.viewDate.setUTCHours(r);this.element.trigger({type:"changeHour",date:this.viewDate});if(this.viewSelect>=1){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".minute")){k=parseInt(n.text().substr(n.text().indexOf(":")+1),10)||0;this.viewDate.setUTCMinutes(k);this.element.trigger({type:"changeMinute",date:this.viewDate});if(this.viewSelect>=0){this._setDate(h(p,o,q,r,k,s,0))}}}}}if(this.viewMode!==0){var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case"td":if(n.is(".day")&&!n.is(".disabled")){var q=parseInt(n.text(),10)||1;var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".old")){if(o===0){o=11;p-=1}else{o-=1}}else{if(n.is(".new")){if(o===11){o=0;p+=1}else{o+=1}}}this.viewDate.setUTCFullYear(p);this.viewDate.setUTCMonth(o,q);this.element.trigger({type:"changeDay",date:this.viewDate});if(this.viewSelect>=2){this._setDate(h(p,o,q,r,k,s,0))}}var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(i,k){if(!k||k==="date"){this.date=i}if(!k||k==="view"){this.viewDate=i}this.fill();this.setValue();var j;if(this.isInput){j=this.element}else{if(this.component){j=this.element.find("input")}}if(j){j.change()}this.element.trigger({type:"changeDate",date:this.getDate()});if(i===null){this.date=this.viewDate}},moveMinute:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCMinutes(k.getUTCMinutes()+(i*this.minuteStep));return k},moveHour:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCHours(k.getUTCHours()+i);return k},moveDate:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCDate(k.getUTCDate()+i);return k},moveMonth:function(j,k){if(!k){return j}var n=new Date(j.valueOf()),r=n.getUTCDate(),o=n.getUTCMonth(),m=Math.abs(k),q,p;k=k>0?1:-1;if(m===1){p=k===-1?function(){return n.getUTCMonth()===o}:function(){return n.getUTCMonth()!==q};q=o+k;n.setUTCMonth(q);if(q<0||q>11){q=(q+12)%12}}else{for(var l=0;l=this.startDate&&i<=this.endDate},keydown:function(o){if(this.picker.is(":not(:visible)")){if(o.keyCode===27){this.show()}return}var k=false,j,i,n;switch(o.keyCode){case 27:this.hide();o.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}j=o.keyCode===37?-1:1;var m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j);n=this.moveDate(this.viewDate,j)}else{if(m===1){i=this.moveHour(this.date,j);n=this.moveHour(this.viewDate,j)}else{if(m===0){i=this.moveMinute(this.date,j);n=this.moveMinute(this.viewDate,j)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 38:case 40:if(!this.keyboardNavigation){break}j=o.keyCode===38?-1:1;m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j*7);n=this.moveDate(this.viewDate,j*7)}else{if(m===1){if(this.showMeridian){i=this.moveHour(this.date,j*6);n=this.moveHour(this.viewDate,j*6)}else{i=this.moveHour(this.date,j*4);n=this.moveHour(this.viewDate,j*4)}}else{if(m===0){i=this.moveMinute(this.date,j*4);n=this.moveMinute(this.viewDate,j*4)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 13:if(this.viewMode!==0){var p=this.viewMode;this.showMode(-1);this.fill();if(p===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}o.preventDefault();break;case 9:this.hide();break}if(k){var l;if(this.isInput){l=this.element}else{if(this.component){l=this.element.find("input")}}if(l){l.change()}this.element.trigger({type:"changeDate",date:this.getDate()})}},showMode:function(i){if(i){var j=Math.max(0,Math.min(c.modes.length-1,this.viewMode+i));if(j>=this.minView&&j<=this.maxView){this.element.trigger({type:"changeMode",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:j});this.viewMode=j}}this.picker.find(">div").hide().filter(".datetimepicker-"+c.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()},reset:function(){this._setDate(null,"date")},convertViewModeText:function(i){switch(i){case 4:return"decade";case 3:return"year";case 2:return"month";case 1:return"day";case 0:return"hour"}}};var b=d.fn.datetimepicker;d.fn.datetimepicker=function(k){var i=Array.apply(null,arguments);i.shift();var j;this.each(function(){var n=d(this),m=n.data("datetimepicker"),l=typeof k==="object"&&k;if(!m){n.data("datetimepicker",(m=new g(this,d.extend({},d.fn.datetimepicker.defaults,l))))}if(typeof k==="string"&&typeof m[k]==="function"){j=m[k].apply(m,i);if(j!==f){return false}}});if(j!==f){return j}else{return this}};d.fn.datetimepicker.defaults={};d.fn.datetimepicker.Constructor=g;var e=d.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today",clear:"Clear"}};var c={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(i){return(((i%4===0)&&(i%100!==0))||(i%400===0))},getDaysInMonth:function(i,j){return[31,(c.isLeapYear(i)?29:28),31,30,31,30,31,31,30,31,30,31][j]},getDefaultFormat:function(i,j){if(i==="standard"){if(j==="input"){return"yyyy-mm-dd hh:ii"}else{return"yyyy-mm-dd hh:ii:ss"}}else{if(i==="php"){if(j==="input"){return"Y-m-d H:i"}else{return"Y-m-d H:i:s"}}else{throw new Error("Invalid format type.")}}},validParts:function(i){if(i==="standard"){return/t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(i==="php"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error("Invalid format type.")}}},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(l,j){var i=l.replace(this.validParts(j),"\0").split("\0"),k=l.match(this.validParts(j));if(!i||!i.length||!k||k.length===0){throw new Error("Invalid date format.")}return{separators:i,parts:k}},parseDate:function(A,y,v,j,r){if(A instanceof Date){var u=new Date(A.valueOf()-A.getTimezoneOffset()*60000);u.setMilliseconds(0);return u}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii:ss",j)}if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(A)){var l=/([-+]\d+)([dmwy])/,q=A.match(/([-+]\d+)([dmwy])/g),t,p;A=new Date();for(var x=0;x',headTemplateV3:' ',contTemplate:'',footTemplate:''};c.template='
            '+c.headTemplate+c.contTemplate+c.footTemplate+'
            '+c.headTemplate+c.contTemplate+c.footTemplate+'
            '+c.headTemplate+""+c.footTemplate+'
            '+c.headTemplate+c.contTemplate+c.footTemplate+'
            '+c.headTemplate+c.contTemplate+c.footTemplate+"
            ";c.templateV3='
            '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
            '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
            '+c.headTemplateV3+""+c.footTemplate+'
            '+c.headTemplateV3+c.contTemplate+c.footTemplate+'
            '+c.headTemplateV3+c.contTemplate+c.footTemplate+"
            ";d.fn.datetimepicker.DPGlobal=c;d.fn.datetimepicker.noConflict=function(){d.fn.datetimepicker=b;return this};d(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api",'[data-provide="datetimepicker"]',function(j){var i=d(this);if(i.data("datetimepicker")){return}j.preventDefault();i.datetimepicker("show")});d(function(){d('[data-provide="datetimepicker-inline"]').datetimepicker()})})); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js deleted file mode 100644 index a709e52..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js +++ /dev/null @@ -1,17 +0,0 @@ -/** -* Arabic translation for bootstrap-datetimepicker -* Ala' Mohammad -*/ -;(function($){ - $.fn.datetimepicker.dates['ar'] = { - days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], - daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], - daysMin: ["أح", "إث", "ث", "أر", "خ", "ج", "س", "أح"], - months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], - monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], - today: "هذا اليوم", - suffix: [], - meridiem: [], - rtl: true - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js deleted file mode 100644 index ddc6883..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Azerbaijani translation for bootstrap-datetimepicker - * Konstantin Kaluzhnikov - */ -;(function($){ - $.fn.datetimepicker.dates['az'] = { - days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], - daysShort: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"], - daysMin: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"], - months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], - monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], - today: "Bugün", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js deleted file mode 100644 index 6a11680..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Bulgarian translation for bootstrap-datetimepicker - * Apostol Apostolov - */ -;(function($){ - $.fn.datetimepicker.dates['bg'] = { - days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], - daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], - daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], - months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], - monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], - today: "днес", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js deleted file mode 100644 index bd00e48..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Bangla(Bangladesh) translation for bootstrap-datetimepicker - * Mahbub Rabbani - */ -;(function($){ - $.fn.datetimepicker.dates['bn'] = { - days: ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহষ্পতিবার", "শুক্রবার", "শনিবার", "রবিবার"], - daysShort: ["রবি", "সোম", "মঙ্গল", "বুধ", " বৃহঃ", "শুক্র", "শনি", "রবি"], - daysMin: ["রবি", "সোম", "মঙ্গ", "বুধ", "বৃহ", "শুক্র", "শনি", "রবি"], - months: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'অগাস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর' ], - monthsShort: ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলা', 'অগা', 'সেপ্টে', 'অক্টো', 'নভে', 'ডিসে' ], - today: "আজ", - suffix: [], - meridiem: ['পূর্বাহ্ণ', 'অপরাহ্ন'] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js deleted file mode 100644 index dd3a5e0..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Catalan translation for bootstrap-datetimepicker - * J. Garcia - */ -;(function($){ - $.fn.datetimepicker.dates['ca'] = { - days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], - daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], - daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], - months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], - monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], - today: "Avui", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js deleted file mode 100644 index 4a67804..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Czech translation for bootstrap-datetimepicker - * Matěj Koubík - * Fixes by Michal Remiš - */ -;(function($){ - $.fn.datetimepicker.dates['cs'] = { - days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], - daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], - daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], - months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], - monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], - today: "Dnes", - suffix: [], - meridiem: [], - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js deleted file mode 100644 index 067322d..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Danish translation for bootstrap-datetimepicker - * Christian Pedersen - */ -;(function($){ - $.fn.datetimepicker.dates['da'] = { - days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], - daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], - daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], - months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "I Dag", - suffix: [], - meridiem: [] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js deleted file mode 100644 index 7327596..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * German translation for bootstrap-datetimepicker - * Sam Zurcher - */ -;(function($){ - $.fn.datetimepicker.dates['de'] = { - days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], - daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], - daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], - months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], - monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], - today: "Heute", - suffix: [], - meridiem: [], - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js deleted file mode 100644 index 345b7a3..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Estonian translation for bootstrap-datetimepicker - * Rene Korss - */ -;(function($){ - $.fn.datetimepicker.dates['ee'] = { - days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], - daysShort: ["P", "E", "T", "K", "N", "R", "L", "P"], - daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], - months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], - monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], - today: "Täna", - suffix: [], - meridiem: [], - weekStart: 1, - format: "dd.mm.yyyy hh:ii" - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js deleted file mode 100644 index e3c93d3..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js +++ /dev/null @@ -1,15 +0,0 @@ -/** -* Greek translation for bootstrap-datetimepicker -*/ -;(function($){ - $.fn.datetimepicker.dates['el'] = { - days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], - daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], - daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], - months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], - monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], - today: "Σήμερα", - suffix: [], - meridiem: [] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js deleted file mode 100644 index 8a76879..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Spanish translation for bootstrap-datetimepicker - * Bruno Bonamin - */ -;(function($){ - $.fn.datetimepicker.dates['es'] = { - days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], - daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], - daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], - months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], - monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], - today: "Hoy", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js deleted file mode 100644 index 85c1df5..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Finnish translation for bootstrap-datetimepicker - * Jaakko Salonen - */ -;(function($){ - $.fn.datetimepicker.dates['fi'] = { - days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], - daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], - daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], - months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], - monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], - today: "tänään", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js deleted file mode 100644 index 7ca19bc..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * French translation for bootstrap-datetimepicker - * Nico Mollet - */ -;(function($){ - $.fn.datetimepicker.dates['fr'] = { - days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], - daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], - daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], - months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], - monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], - today: "Aujourd'hui", - suffix: [], - meridiem: ["am", "pm"], - weekStart: 1, - format: "dd/mm/yyyy hh:ii" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js deleted file mode 100644 index 4b17e63..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Hebrew translation for bootstrap-datetimepicker - * Sagie Maoz - */ -;(function($){ - $.fn.datetimepicker.dates['he'] = { - days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], - daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], - daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], - months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], - monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], - today: "היום", - suffix: [], - meridiem: [], - rtl: true - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js deleted file mode 100644 index b79a2c6..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Croatian localisation - */ -;(function($){ - $.fn.datetimepicker.dates['hr'] = { - days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"], - daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"], - daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], - months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], - monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"], - today: "Danas", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js deleted file mode 100644 index 156e770..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Hungarian translation for bootstrap-datetimepicker - * darevish - */ -;(function($){ - $.fn.datetimepicker.dates['hu'] = { - days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], - daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], - daysMin: ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"], - months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], - monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], - today: "Ma", - suffix: [], - meridiem: [], - weekStart: 1 - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js deleted file mode 100644 index e2c601b..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Armenian translation for bootstrap-datepicker - * Hayk Chamyan - */ -;(function($){ - $.fn.datetimepicker.dates['hy'] = { - days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ", "Կիրակի"], - daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ", "Կիր"], - daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա", "Կի"], - months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"], - monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"], - today: "Այսօր", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js deleted file mode 100644 index d22dff0..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Bahasa translation for bootstrap-datetimepicker - * Azwar Akbar - * Addtional by Yulian Sutopo - */ -;(function($){ - $.fn.datetimepicker.dates['id'] = { - days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], - daysShort: ["Mng", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mng"], - daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], - months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], - today: "Hari Ini", - suffix: [], - meridiem: [], - weekStart: 1, - format: "dd/mm/yyyy hh:ii:ss" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js deleted file mode 100644 index fc9173c..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Icelandic translation for bootstrap-datetimepicker - * Hinrik Örn Sigurðsson - */ -;(function($){ - $.fn.datetimepicker.dates['is'] = { - days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], - daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], - daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], - months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], - today: "Í Dag", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js deleted file mode 100644 index 030d3e7..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Italian translation for bootstrap-datetimepicker - * Enrico Rubboli - */ -;(function($){ - $.fn.datetimepicker.dates['it'] = { - days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"], - daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], - daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], - months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], - monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], - today: "Oggi", - suffix: [], - meridiem: [], - weekStart: 1, - format: "dd/mm/yyyy hh:ii:ss" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js deleted file mode 100644 index d079610..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Japanese translation for bootstrap-datetimepicker - * Norio Suzuki - */ -;(function($){ - $.fn.datetimepicker.dates['ja'] = { - days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], - daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], - daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], - months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], - monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], - today: "今日", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js deleted file mode 100644 index 740740d..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Georgian translation for bootstrap-datetimepicker - * Zura Jijavadze - */ -;(function($){ - $.fn.datetimepicker.dates['ka'] = { - days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], - daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], - daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], - months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომბერი", "ნოემბერი", "დეკემბერი"], - monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], - today: "დღეს", - suffix: [], - meridiem: [] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js deleted file mode 100644 index 1d007a7..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Korean translation for bootstrap-datetimepicker - * Gu Youn - * Baekjoon Choi - */ -;(function($){ - $.fn.datetimepicker.dates['ko'] = { - days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], - daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], - daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], - months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], - monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], - suffix: [], - meridiem: ["오전", "오후"], - today: "오늘", - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js deleted file mode 100644 index 8018a70..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Lithuanian translation for bootstrap-datetimepicker - * Šarūnas Gliebus - */ - -;(function($){ - $.fn.datetimepicker.dates['lt'] = { - days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], - daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], - daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], - months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], - monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], - today: "Šiandien", - suffix: [], - meridiem: [], - weekStart: 1 - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js deleted file mode 100644 index 333156b..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Latvian translation for bootstrap-datetimepicker - * Artis Avotins - */ - -;(function($){ - $.fn.datetimepicker.dates['lv'] = { - days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], - daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], - daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"], - months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."], - today: "Šodien", - suffix: [], - meridiem: [], - weekStart: 1 - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js deleted file mode 100644 index 11b4f98..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Malay translation for bootstrap-datetimepicker - * Ateman Faiz - */ -;(function($){ - $.fn.datetimepicker.dates['ms'] = { - days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], - daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], - daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], - months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], - today: "Hari Ini", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js deleted file mode 100644 index 0b26ea6..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Norwegian (bokmål) translation for bootstrap-datetimepicker - * Fredrik Sundmyhr - */ -;(function($){ - $.fn.datetimepicker.dates['nb'] = { - days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], - daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], - daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], - months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], - today: "I Dag", - suffix: [], - meridiem: [] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js deleted file mode 100644 index 5950f1c..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Dutch translation for bootstrap-datetimepicker - * Reinier Goltstein - */ -;(function($){ - $.fn.datetimepicker.dates['nl'] = { - days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], - daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], - daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], - months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Vandaag", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js deleted file mode 100644 index 8685745..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Norwegian translation for bootstrap-datetimepicker - * Rune Warhuus - */ -;(function($){ - $.fn.datetimepicker.dates['no'] = { - days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], - daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], - daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], - months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], - today: "I Dag", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js deleted file mode 100644 index 806b55d..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Polish translation for bootstrap-datetimepicker - * Robert - */ -;(function($){ -$.fn.datetimepicker.dates['pl'] = { - days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], - daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], - daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], - months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], - monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], - today: "Dzisiaj", - suffix: [], - meridiem: [], - weekStart: 1 -}; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js deleted file mode 100644 index 6828698..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Brazilian translation for bootstrap-datetimepicker - * Cauan Cabral - */ -;(function($){ - $.fn.datetimepicker.dates['pt-BR'] = { - format: 'dd/mm/yyyy', - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], - daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], - daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], - today: "Hoje", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js deleted file mode 100644 index 36e9787..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Portuguese translation for bootstrap-datetimepicker - * Original code: Cauan Cabral - * Tiago Melo - */ -;(function($){ - $.fn.datetimepicker.dates['pt'] = { - days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], - daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], - daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], - months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], - monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], - suffix: [], - meridiem: [], - today: "Hoje" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js deleted file mode 100644 index 55436ae..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Romanian translation for bootstrap-datetimepicker - * Cristian Vasile - */ -;(function($){ - $.fn.datetimepicker.dates['ro'] = { - days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], - daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], - daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], - months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], - monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], - today: "Astăzi", - suffix: [], - meridiem: [], - weekStart: 1 - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js deleted file mode 100644 index 91b3cac..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Serbian latin translation for bootstrap-datetimepicker - * Bojan Milosavlević - */ -;(function($){ - $.fn.datetimepicker.dates['rs'] = { - days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], - daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], - daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], - months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], - today: "Danas", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js deleted file mode 100644 index e49d10e..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Serbian cyrillic translation for bootstrap-datetimepicker - * Bojan Milosavlević - */ -;(function($){ - $.fn.datetimepicker.dates['rs'] = { - days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], - daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], - daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], - months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], - monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], - today: "Данас", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js deleted file mode 100644 index 8873e95..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Russian translation for bootstrap-datetimepicker - * Victor Taranenko - */ -;(function($){ - $.fn.datetimepicker.dates['ru'] = { - days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], - daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], - daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], - months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], - monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], - today: "Сегодня", - suffix: [], - meridiem: [] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js deleted file mode 100644 index 15596be..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Slovak translation for bootstrap-datetimepicker - * Marek Lichtner - * Fixes by Michal Remiš - */ -;(function($){ - $.fn.datetimepicker.dates["sk"] = { - days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], - daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], - daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So", "Ne"], - months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "Dnes", - suffix: [], - meridiem: [], - weekStart: 1, - format: "dd.mm.yyyy" - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js deleted file mode 100644 index 69bae12..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Slovene translation for bootstrap-datetimepicker - * Gregor Rudolf - */ -;(function($){ - $.fn.datetimepicker.dates['sl'] = { - days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], - daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], - daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], - months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], - today: "Danes", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js deleted file mode 100644 index 9892999..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Swedish translation for bootstrap-datetimepicker - * Patrik Ragnarsson - */ -;(function($){ - $.fn.datetimepicker.dates['sv'] = { - days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], - daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], - daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], - months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], - today: "I Dag", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js deleted file mode 100644 index e2286a5..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Swahili translation for bootstrap-datetimepicker - * Edwin Mugendi - * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku - */ -;(function($){ - $.fn.datetimepicker.dates['sw'] = { - days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], - daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], - daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], - months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], - monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], - today: "Leo", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js deleted file mode 100644 index 9a0fd38..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Thai translation for bootstrap-datetimepicker - * Suchau Jiraprapot - */ -;(function($){ - $.fn.datetimepicker.dates['th'] = { - days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], - daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], - daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], - months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], - monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], - today: "วันนี้", - suffix: [], - meridiem: [] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js deleted file mode 100644 index 4536b2e..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Turkish translation for bootstrap-datetimepicker - * Serkan Algur - */ -;(function($){ - $.fn.datetimepicker.dates['tr'] = { - days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], - daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], - daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], - months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], - monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], - today: "Bugün", - suffix: [], - meridiem: [] - }; -}(jQuery)); - diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js deleted file mode 100644 index 3a0cbfb..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Ukrainian translation for bootstrap-datepicker - * Igor Polynets - */ -;(function($){ - $.fn.datetimepicker.dates['ua'] = { - days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четверг", "П'ятниця", "Субота", "Неділя"], - daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], - daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], - months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], - monthsShort: ["Січ", "Лют", "Бер", "Квт", "Трв", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Грд"], - today: "Сьогодні", - weekStart: 1 - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js deleted file mode 100644 index 232518d..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Ukrainian translation for bootstrap-datetimepicker - * Andrey Vityuk - */ -;(function($){ - $.fn.datetimepicker.dates['uk'] = { - days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], - daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], - daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], - months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], - monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], - today: "Сьогодні", - suffix: [], - meridiem: [] - }; -}(jQuery)); \ No newline at end of file diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js deleted file mode 100644 index 418fb30..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Simplified Chinese translation for bootstrap-datetimepicker - * Yuan Cheung - */ -;(function($){ - $.fn.datetimepicker.dates['zh-CN'] = { - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], - daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], - daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - today: "今天", - suffix: [], - meridiem: ["上午", "下午"] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js b/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js deleted file mode 100644 index 6d1ed20..0000000 --- a/vendor/blobt/assets/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Traditional Chinese translation for bootstrap-datetimepicker - * Rung-Sheng Jang - */ -;(function($){ - $.fn.datetimepicker.dates['zh-TW'] = { - days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], - daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], - daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], - months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], - today: "今天", - suffix: [], - meridiem: ["上午", "下午"] - }; -}(jQuery)); diff --git a/vendor/blobt/assets/datatables/.bower.json b/vendor/blobt/assets/datatables/.bower.json deleted file mode 100644 index 23e1b84..0000000 --- a/vendor/blobt/assets/datatables/.bower.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "datatables.net-bs", - "description": "DataTables for jQuery with styling for [Bootstrap](http://getbootstrap.com/)", - "main": [ - "js/dataTables.bootstrap.js", - "css/dataTables.bootstrap.css" - ], - "keywords": [ - "filter", - "sort", - "DataTables", - "jQuery", - "table", - "Bootstrap" - ], - "dependencies": { - "jquery": ">=1.7", - "datatables.net": ">=1.10.9" - }, - "moduleType": [ - "globals", - "amd", - "node" - ], - "ignore": [ - "composer.json", - "datatables.json", - "package.json" - ], - "authors": [ - { - "name": "SpryMedia Ltd", - "homepage": "https://datatables.net" - } - ], - "homepage": "https://datatables.net", - "license": "MIT", - "version": "2.1.1", - "_release": "2.1.1", - "_resolution": { - "type": "version", - "tag": "2.1.1", - "commit": "c9aedb3c531795574d69203688888a6c16e02265" - }, - "_source": "https://github.com/DataTables/Dist-DataTables-Bootstrap.git", - "_target": "^2.1.1", - "_originalSource": "datatables.net-bs" -} \ No newline at end of file diff --git a/vendor/blobt/assets/datatables/css/dataTables.bootstrap.css b/vendor/blobt/assets/datatables/css/dataTables.bootstrap.css deleted file mode 100644 index c13f334..0000000 --- a/vendor/blobt/assets/datatables/css/dataTables.bootstrap.css +++ /dev/null @@ -1,184 +0,0 @@ -table.dataTable { - clear: both; - margin-top: 6px !important; - margin-bottom: 6px !important; - max-width: none !important; - border-collapse: separate !important; -} -table.dataTable td, -table.dataTable th { - -webkit-box-sizing: content-box; - box-sizing: content-box; -} -table.dataTable td.dataTables_empty, -table.dataTable th.dataTables_empty { - text-align: center; -} -table.dataTable.nowrap th, -table.dataTable.nowrap td { - white-space: nowrap; -} - -div.dataTables_wrapper div.dataTables_length label { - font-weight: normal; - text-align: left; - white-space: nowrap; -} -div.dataTables_wrapper div.dataTables_length select { - width: 75px; - display: inline-block; -} -div.dataTables_wrapper div.dataTables_filter { - text-align: right; -} -div.dataTables_wrapper div.dataTables_filter label { - font-weight: normal; - white-space: nowrap; - text-align: left; -} -div.dataTables_wrapper div.dataTables_filter input { - margin-left: 0.5em; - display: inline-block; - width: auto; -} -div.dataTables_wrapper div.dataTables_info { - padding-top: 8px; - white-space: nowrap; -} -div.dataTables_wrapper div.dataTables_paginate { - margin: 0; - white-space: nowrap; - text-align: right; -} -div.dataTables_wrapper div.dataTables_paginate ul.pagination { - margin: 2px 0; - white-space: nowrap; -} -div.dataTables_wrapper div.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 200px; - margin-left: -100px; - margin-top: -26px; - text-align: center; - padding: 1em 0; -} - -table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting, -table.dataTable thead > tr > td.sorting_asc, -table.dataTable thead > tr > td.sorting_desc, -table.dataTable thead > tr > td.sorting { - padding-right: 30px; -} -table.dataTable thead > tr > th:active, -table.dataTable thead > tr > td:active { - outline: none; -} -table.dataTable thead .sorting, -table.dataTable thead .sorting_asc, -table.dataTable thead .sorting_desc, -table.dataTable thead .sorting_asc_disabled, -table.dataTable thead .sorting_desc_disabled { - cursor: pointer; - position: relative; -} -table.dataTable thead .sorting:after, -table.dataTable thead .sorting_asc:after, -table.dataTable thead .sorting_desc:after, -table.dataTable thead .sorting_asc_disabled:after, -table.dataTable thead .sorting_desc_disabled:after { - position: absolute; - bottom: 8px; - right: 8px; - display: block; - font-family: 'Glyphicons Halflings'; - opacity: 0.5; -} -table.dataTable thead .sorting:after { - opacity: 0.2; - content: "\e150"; - /* sort */ -} -table.dataTable thead .sorting_asc:after { - content: "\e155"; - /* sort-by-attributes */ -} -table.dataTable thead .sorting_desc:after { - content: "\e156"; - /* sort-by-attributes-alt */ -} -table.dataTable thead .sorting_asc_disabled:after, -table.dataTable thead .sorting_desc_disabled:after { - color: #eee; -} - -div.dataTables_scrollHead table.dataTable { - margin-bottom: 0 !important; -} - -div.dataTables_scrollBody table { - border-top: none; - margin-top: 0 !important; - margin-bottom: 0 !important; -} -div.dataTables_scrollBody table thead .sorting:after, -div.dataTables_scrollBody table thead .sorting_asc:after, -div.dataTables_scrollBody table thead .sorting_desc:after { - display: none; -} -div.dataTables_scrollBody table tbody tr:first-child th, -div.dataTables_scrollBody table tbody tr:first-child td { - border-top: none; -} - -div.dataTables_scrollFoot table { - margin-top: 0 !important; - border-top: none; -} - -@media screen and (max-width: 767px) { - div.dataTables_wrapper div.dataTables_length, - div.dataTables_wrapper div.dataTables_filter, - div.dataTables_wrapper div.dataTables_info, - div.dataTables_wrapper div.dataTables_paginate { - text-align: center; - } -} -table.dataTable.table-condensed > thead > tr > th { - padding-right: 20px; -} -table.dataTable.table-condensed .sorting:after, -table.dataTable.table-condensed .sorting_asc:after, -table.dataTable.table-condensed .sorting_desc:after { - top: 6px; - right: 6px; -} - -table.table-bordered.dataTable th, -table.table-bordered.dataTable td { - border-left-width: 0; -} -table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable th:last-child, -table.table-bordered.dataTable td:last-child, -table.table-bordered.dataTable td:last-child { - border-right-width: 0; -} -table.table-bordered.dataTable tbody th, -table.table-bordered.dataTable tbody td { - border-bottom-width: 0; -} - -div.dataTables_scrollHead table.table-bordered { - border-bottom-width: 0; -} - -div.table-responsive > div.dataTables_wrapper > div.row { - margin: 0; -} -div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:first-child { - padding-left: 0; -} -div.table-responsive > div.dataTables_wrapper > div.row > div[class^="col-"]:last-child { - padding-right: 0; -} diff --git a/vendor/blobt/assets/datatables/css/dataTables.bootstrap.min.css b/vendor/blobt/assets/datatables/css/dataTables.bootstrap.min.css deleted file mode 100644 index 7400cf0..0000000 --- a/vendor/blobt/assets/datatables/css/dataTables.bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} diff --git a/vendor/blobt/assets/datatables/js/dataTables.bootstrap.js b/vendor/blobt/assets/datatables/js/dataTables.bootstrap.js deleted file mode 100644 index f69acdc..0000000 --- a/vendor/blobt/assets/datatables/js/dataTables.bootstrap.js +++ /dev/null @@ -1,182 +0,0 @@ -/*! DataTables Bootstrap 3 integration - * ©2011-2015 SpryMedia Ltd - datatables.net/license - */ - -/** - * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and - * DataTables 1.10 or newer. - * - * This file sets the defaults and adds options to DataTables to style its - * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap - * for further information. - */ -(function( factory ){ - if ( typeof define === 'function' && define.amd ) { - // AMD - define( ['jquery', 'datatables.net'], function ( $ ) { - return factory( $, window, document ); - } ); - } - else if ( typeof exports === 'object' ) { - // CommonJS - module.exports = function (root, $) { - if ( ! root ) { - root = window; - } - - if ( ! $ || ! $.fn.dataTable ) { - // Require DataTables, which attaches to jQuery, including - // jQuery if needed and have a $ property so we can access the - // jQuery object that is used - $ = require('datatables.net')(root, $).$; - } - - return factory( $, root, root.document ); - }; - } - else { - // Browser - factory( jQuery, window, document ); - } -}(function( $, window, document, undefined ) { -'use strict'; -var DataTable = $.fn.dataTable; - - -/* Set the defaults for DataTables initialisation */ -$.extend( true, DataTable.defaults, { - dom: - "<'row'<'col-sm-6'l><'col-sm-6'f>>" + - "<'row'<'col-sm-12'tr>>" + - "<'row'<'col-sm-5'i><'col-sm-7'p>>", - renderer: 'bootstrap' -} ); - - -/* Default class modification */ -$.extend( DataTable.ext.classes, { - sWrapper: "dataTables_wrapper form-inline dt-bootstrap", - sFilterInput: "form-control input-sm", - sLengthSelect: "form-control input-sm", - sProcessing: "dataTables_processing panel panel-default" -} ); - - -/* Bootstrap paging button renderer */ -DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { - var api = new DataTable.Api( settings ); - var classes = settings.oClasses; - var lang = settings.oLanguage.oPaginate; - var aria = settings.oLanguage.oAria.paginate || {}; - var btnDisplay, btnClass, counter=0; - - var attach = function( container, buttons ) { - var i, ien, node, button; - var clickHandler = function ( e ) { - e.preventDefault(); - if ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) { - api.page( e.data.action ).draw( 'page' ); - } - }; - - for ( i=0, ien=buttons.length ; i 0 ? - '' : ' disabled'); - break; - - case 'previous': - btnDisplay = lang.sPrevious; - btnClass = button + (page > 0 ? - '' : ' disabled'); - break; - - case 'next': - btnDisplay = lang.sNext; - btnClass = button + (page < pages-1 ? - '' : ' disabled'); - break; - - case 'last': - btnDisplay = lang.sLast; - btnClass = button + (page < pages-1 ? - '' : ' disabled'); - break; - - default: - btnDisplay = button + 1; - btnClass = page === button ? - 'active' : ''; - break; - } - - if ( btnDisplay ) { - node = $('
          • ', { - 'class': classes.sPageButton+' '+btnClass, - 'id': idx === 0 && typeof button === 'string' ? - settings.sTableId +'_'+ button : - null - } ) - .append( $('', { - 'href': '#', - 'aria-controls': settings.sTableId, - 'aria-label': aria[ button ], - 'data-dt-idx': counter, - 'tabindex': settings.iTabIndex - } ) - .html( btnDisplay ) - ) - .appendTo( container ); - - settings.oApi._fnBindAction( - node, {action: button}, clickHandler - ); - - counter++; - } - } - } - }; - - // IE9 throws an 'unknown error' if document.activeElement is used - // inside an iframe or frame. - var activeEl; - - try { - // Because this approach is destroying and recreating the paging - // elements, focus is lost on the select button which is bad for - // accessibility. So we want to restore focus once the draw has - // completed - activeEl = $(host).find(document.activeElement).data('dt-idx'); - } - catch (e) {} - - attach( - $(host).empty().html('