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] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=AE=E5=A4=8D=E5=AE=8C?= =?UTF-8?q?=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 z7r-e{3l4!d!EN9;JjQnK--P<&{j1~nrqOQzyCVl=gDwW?*JO2-a0MIyCrt502^>Ii(N_um z!H>aQkO%CN33}1vd-VGdYz6B?8!Bp|JB4#QkTe&!nh3HSZK0}%QGi$yk*Wfs?PpEK!Tnc|BQo(Smcnj99<8L*sX z<}`VH?HP`hBM?X>-)`U`ump@_nK?~QzIF-6>SmHJ-lN?*Tfi&9vmnuVmM(%A=Q{y> zGtshim|(oGJTpKeSO_u{&D0li%$Wj#RPZeTi$Ia0WvKut;+Vrt@8je}PeWVLqlF`=!4}4wu@kI$g3@j&78DI_YT7FBn$ny29FWn*&0F%5XOQ(QIz9`{P_IoY4U`C{XfxZPG+iS9PDlpPlJd@nc*-l)- zeQlSTS(@)_ab`Lsj=n>j{r}`#?3U}d=LBPo9HWG9VkhFTM73qi1EHt zz*plf%Y9BsGGCrw=-rHp6fn@YpND<>8R=`!Oz;$t&3W)E@F2(ocY+>ZD44|O&dSPh z-?M=*Tuw{4FC6GA#c+qq4%fk9@E5QeJP%f~__y%6s}B31&?H~Xf(u0j+y{6yeIo@7 z^v&|HZx0iFZO8%Z92D6c@D;EE><3Mt4YYzr@G74h%x%v*n9=r@C|}R`!lk$5I`tF> zMOF#Qz(H^Z1i>v30++yPKDU=>>iPn56L?&r%cRB=|k3ql+jV+;%v4RyCd-`%1$Ryw5_xB8l_DSAbT_~DZVq_0g3a%b2az|z-TTJtssx{u|N#pgA(_S$n^_Yo>MH}3lRdp1D6yE_~pxx z8gLWHX1v7mQH2Koog6z>iWU3ja@}$*7z=ukv7n64<=VJZxbz(;v3yhyRHuPs$I1Z3 zzS-ajFd5{5Op?dPo`_NI^)kNl1?-pa_$cKY0DshTt-fErymF|-;bpQT1p*aZM^ze* zS>fWm@cUf)W`Mom>vlqX?iG+J^p!uBeFeVtnwI4{B#OPCLf-(GBRI{q54TB=a=&MJ zUvUBZGv65H`~6M}_~rZOC^KJ{FAGK%@l{TTfUX>J;g;{x_bJI^GXgv*=__^}n6fd2y7oMibn`{gS|5PSq=bBX2KqM&@`XFU2+FLG1p zI|s;SjzZrof$t|kPsC$qDfBG_vMF@yn@R=z24@3fz<$Z{9q*T~G)-UwCASD|mF!1pH5l^X)zOohIEfo%Gy@=XWHn0=u1a|dJ^*u#R2 zmPS5z(Jx;qPJ^8wM1cyEiJYN?Si&EIPg%aLnwK3; z3eOYPmtv8d3*QMg0xwGbhw?FQ>*iRTbg_m$Q0wn;>|9dl`xd)El#jWsU~D;G3nXiX zfP+!K(KiSlU;+5$>z*9&80Z@1W7eO*2HoXL-V%7u)bu{LIJQ%_w_Wo8v5a9py`IgRK(x3oZv~iar{@#4%%KOSIFK za@Lf4)|YOP=>W$hZZuP((6@wR+J;UYCi(Jm<yya0281QnRv!duo%Ee3T1%x%jd{NQ{eUNNCY<4y zuNDTggah#^U(&=GqbN&373kq|*Y8k~%`EcaQRY`zxwD`)~<%LTeI z#5~^y5cKH1e2<&xDE`U<%Trh*rBOK~651nZK?=GzV`Ky93s^>%=E zlYCLWQoh#bW|c1hujB`CzW5o3dZ#*z*PD zkgUF8uoqOa%$0^?R&pOU+Sn`tDYOoVrNr3Ma?z@^UM)=}QT@C2#noD2-7z9>$$b@Yv0M=2eUEe2T*bd% z17S@USzO~js<_YNCi$Xx>8p$;upH!pvEZlNR|B{T+R0TuR>f_`@-@pjh9D{H8w3Zz zYEaHkE+@bz;4=^=pYgF1+@>6?=4*qg zUx-v?7{~ECt7}%f)q<(BNl1}vR+g@<%R*tYpro|fTKFgX1JX^kD5OMs6DnwsCP|du zNw%%JYW`V5Tx&_%Rr7D^YL;H?s$FEFE8*m5-;3YO#e>Xwne)zZ7JA?V!|*$>)PXBR-W-{hr4DN-?^k5%8#kO>);*p`51DE&QAE{efb1Bp9{QXR(i(wdxauhpu zljz3JI0ZA&yZr2@?4Q+Aw@#{&P@@Y6u?bt$WenY8-QP%E?ytGGw^W1*8G;g|a2e;( zDJj^A+-0BCg^^z1MfeC&W-%6+o9m^^5-%`I@dBQU*lk0r0$#f;S8JAqcp1y^Xh`QY z=A$`efg^OC7I-*nQ5Mp@h@CiL0$#f8)GfOKCPiK{s4*Go<@MI3mFeQK$V&z_hUKHn zGN=nk5tgDkbjhGI8+A<)G_iF9)Z(?UC6h9ptwrFw%RQ|{aI4r{_?kJ;LxsP6Z!5+J?xStu@coNk!rn{gjqHk zX82@^+*QNQ7hiLB9kDZ6ZHc<=HQRu>3R0xx4)`Rexb*zFfXw;0P!pc_?a zKs$P*UGG()+ca0Gm0n(NUA59vgbAj58LQEPE+nN(@2%DuMrf$zy~`43x&aDpTCfPc zWqw0jmcUdzWS)?da41Xj5MIPJq^BIO#?T#sQuBmdhYMM{7j))2G&E@Ct6QiGyd8D? zX1tKV7bx^Og+_iuZY8i!0jtggzQiGi_F;TwTaMjge1^YpQLl>~yA`IpKkJf-&irD! z6^`8^OvHSdh$8)MOV(~sV9Ps&#L;Zaivf5e z%a=5RO!EL-=b&i~cI>_mJF^|T_UAYc*RfCP636aH*clztjeUWCL_KC!#3xrP6|w{*6Y~Zh*MwKI~+1pRvnZpzgvf47SVbXg#{jmmJ&ibe6zK z>@Z)5bgPx`?lJS_K_5&HS>i#M0nRc|<9NQi0j|K;^gxrfTZSL-69&3=Sd2)c2CdA~!CP0Y^qfSShi;o%-n%>{)CDAk_fU`1VG*5~ig$Ib zCbsSk>_8JPhDCLzN!Q%)-Q}L{fVz-Cfd#0;Zd`@yT-7x%sbN3jB6roW(~3r%K@zT$ z)HUCz;l0c9+OD+`BQR61&*EP>tM_K=%m$c=y?Y$1(5%;&kdjM!uUTh~=cCKws%x0v z?zV{6VFA5&rBiNum!-|+m&dOq!o=21;fTc0b-%ZLbf8zzqIjqO5B9%aIR62TiEm69 Sn?h~?0000?8iVsLp+DIfg+SaOI@p-1gw9_~3&{C(g zu}LdRZJi24YJvqsRFG*$DaPOf2~P^*LjtIvxP*1GVUvDe{9iDc-Fwd7oV&Saxxbmu zFmrcv_BWT!pOec?lC^u^2j57LT-+okW2782nGUq!ZLGn+5ld92WX$NKi$q>OvtRob zTzM>Mw>|q0BrA}O5>bpHa?E66h~NQvhzyK-Gg$Rz~AU>4-Jun#m`zmIXQVx1& z7JiSh@H2x^BIaNp9zi1%vAXYtn1-S7Gr1TpCg2Oag59?CWeB{&;G(awjKa?_7sW`H zJPef{Ka^viUdSjHzpn#$F@BEz4jt&Ch=qNp;!5;uq{CF}`|6vG zJ-7$ChIZ=r$eLA9B;)&*VgbqxU6#s5xvW`cQ(uN~nb!ea8Hiyfq)VmC?l*9KrBkwu z55zDN(q+6&eR*?BUu`+~E1t!0n9gw2%WLF7k&Nr>UK+sZvQXBg!*TQm(9PYL1Fdk$s^9z4LAx)?FbTT( z3a{axSc>0ZF>3LQJoaUZ^I(Eaec1)O_H{4bdDMo=@v`o0juP@BRatH!sn z2rr`zo#?XeuLpqWi86E3UR2?Ezd2LKUEouUqg~H zeWxHFs_eyI&>~$_=|KzXjw97{V6NsJI6uL;F1ugd zzK^A=uXIY5LR<`0wxJ%KNHsAu;(t)(ViX$a`$oF@vI{N@2e5Y^;c4_BjCsfKP9M(i ze2v?bp2dUchS&7qVOh&912Eq}-v@%wSM!?|TJaKk`q=knwCa5GgMq#q`@3&AfYsi| zRrnDe42Q6BNAVP%_xK6y;8u-ms6RFIch@6pv8HQog_B_S8`QpYrCaZ0;X4}FP}dsl zyH<6LRXSx^)OP~A;H=aKa5#J`&?X0J@DR);9KKH@B0o`Tn+)MpQm%1d_#$+`R66ho z+%gK~KJ?ASz1WI~*oym*>(ZAsT~nN-ZxIUMmQ9GkRAP7qZYe;K4}G(7IqtwBafcks zcInHSt|>%OIDqxNhYGag)chGoU@+nEJw+3u(9IN$%SZJvoz=3oTPh6qEy5dk43jZL zOh%17R)j>U_t! z8-K%a7*05RL zU^+b-gMFmIzS*c&+~zt0)yPTk^Pctlst0hm^K}`%wTGGO#w0Jm&` zU)kcJTZzZMcWa)TiMUI%uezIhv+*I!Mt|+$2K!FJ2&ggwmzwJ9Ad}OMccGiTsKCK+ z_-cvZFm!W7hVO9$!&iUD<6l};-3<1vhHk12_8knjdT?pf!ZWxJ! zOw1p8{c9A(_wnCw_!_Ylv0k6>EAdf34BzA0*WJuJOV!O_-?yNfR)c*z;g)>(l|gVz zr@_95pqtN3^>vVmc{0JhmQhT{YrTeVML2v@HWLL2c3ms*v0vAGJ$~Yp!mpI6x_Rh3 z9*MFFiYT93>Y;Ck_CG@AeG_i!Fxa;Rx@qxvE;>$^0el`dC-@6Ifg7+DyHJ6{;qXn_ znYcZ{4kd;a_ynKJ@a^#Vvcq2O`-IJ_P<8XrcPbKP8Qz5|JFv{-x!CLB8v1BoKabsW z#9-g;I1E)j#dgKo+I<~lYQ|v`hT_yja5XLphi{(@!)+Lt;LEJP<8i--uhZ_?JbXeJ8=WvL9)Dy>F6}pSG{8|Ll#UY%jj1a>b@tjQZa-NV+D9F5poZ^r@js{ zITNq}g*Y{FbcMsW&(6kNoRQ$B|G3}7S8UPPMa_ok%+}bUy{dIgzi&G(#{+1_3DGRa zEEtlV1>)=KoZ#C=23b^H5EJv21 zFO8p+HQn+I=q3>bR~`#&U+LC6J=g)a6k?{qzB5s%ajm<@roQs+%BSA|7T2H=c?pK^ zZ3xphV^D>h1jBbC{7fxkaLX-N3a5|5;Za%3Eiu$(P~RrRHLk5*i>yBOou+XuHI63x z`i4Ib_&TgXZa92>F&0(GPS@}iZCDOf9zY|8c)aZJ3?7CmPq|%YV5b?lzS1dKBAWLh zUx6y*dA#iK1AG^%yp4!WecAmc?Can-f|?izgn_=-<3Cu3+tSdt6G2VfhrZ|I$C!hO zzW0Ur6^=rc8_|L)I4Rui(28oPaumOWBxCw+K@_T#U_Q!_mBQT)_h154iQ?5v>FeMS zf*AE}Cf;3v>(kV?13}GkpZbo%`F`|O43Y&YT(hpn2ly?nK@kRsB22?#ypMYM7@gdw zGg#Si2BxocQ6-8E(8-yo#Qpdl#-IS%qCk#K#eJxhkI~7Ch}zVb-EY#qIoN@52x6Kc z5%%@{6vGh29JH~oi+WVxt`r8_LSZ6LU?sG|;H&4?0QGBMI%xMrD@Nne6b9Q>!bG;C z#iqUtU)R14o<|^)sGEg-_aLa*V`E>1d$A7b&N_K*MXc|;0eg||?8Sym>+9fOXhYD_ zF5M);zP>vVLC_MxE*twQ#Bd85}=kPw#mG|T|<2LnW_p9vdAclt! zv^8(R7*MR6mR!S5`?EJUFf`}=mG9?kGO&3G1F zHuYurYV~za*;PJ@fP^k|a=CUExW3XUS$5)e1R~O9r%inszB@e(iFufdBQTw#vi3a1 zaLClYajZuJqA;DPti2v_TlzA1*CX!b=K(K5E&4lk(nS&L`ff%O`a4b7Y<*vSD{&zn zM+|*UOx7xqwH3+uzAdOlv%x{xENiyd)K~EzZpr~1$Gxb;KBPPQa5EMlu5lYr9R1#x z4hx{{i*9VdYJ7oo=L@Ws4&Ao&rsQ( zJl?B+Tt2o&){5HHm*E>V^&2r7P>Ng8fDh3H)9I468|1Z0@f;MfzV9y7p%J@q3~`uF zT-M%&M$}=KO??@>^fj6`EJQIT;}>YePJD?j@ueJVl;=!FF&4@i{>1*i5p2RzEXQW- z#%K5%aq+br+l|fg+@;ur$m!HK2Z<8H3SmL4>l?=o5%v`f+;sjeD9(Xdat;K^QO1ej@?|I-*#=XV1;Bh{TjsYIJ`Dqy1O>@aD~FEQ2~O(_Iei#@ zig3URlq1+Ym8!7zugX!dgEe<7QsyZy&f#1@-UFaooUP!r`rx#Jv!xoG5LHQEpFcpB zGfA#%l>}_xbV!+HZnS65?t4f|Pr!#CecXqB+!EW(x=5sEA201Q73YS-kylZB6f^a| z(w#$vG=O%qxw znKT9xiAii@(t}ey1Le&OjpeRU-WvBhYmgB7oSDdV9GF=We!R9Vz8Cg%6NN&dU3@ek zp9-S}f8#C;JH0s1JpVU(ZqK9S>RGa#968P!`t0yx`sVXr$uw*)&IWKq1^ozcHeh(t zi?ea##<~aBua65|Xe1@yFM09O#nJBWpGPgra!PWjN-~T|N@tRkHIgL((v?ISVvY=C z!$6L0lk2q#NhwP8qU)h;RH0ODXDLqW+7-0(<;|3}hG-&li&txIf*yZ1Mpt{5(WP@Y zd2*HFv{HpqwI@q)8X6jE9$0sO+?B58nD*2()9zclw(i!gq}ku!KY@Pa6sPJ2GEEC6 zGAN%nXgd2Guf$8~)HG$B@1ZXmtUi?gn+36twKjbyIjIs#+c>QJgvLraJ*{wUc% zr8rAw(a&NpPGe(Z6q8KjN#?pP$*Da2#+EK!1Ou_d?Ltn~4V2Frl*{Gkje$%ykmL9Q z2q9*37}vcxu4~g+dW1&PDau=EDpV$$$i8Hy7~KbjXux~`Vb=XsJ9t# z2+5r48^}-wnw&odviMQdzkzOGMz&A|5<jT)>?iHTNnA^0n^rc(_;DS4QsS{prBY@Qr`iUxEZ)M*d9{UcPZq9z6p4gS<8SC7 z|KcZ>@4PrS25!?=pY%}sQz1+={--&_x^Tv%YyUGy(*!~*#kmSjTZR4fdvQiaZX1^` zUrseQH^+Guk_wPWBqoN2hI4A=kyD)N8_2ZCgn^8CVj$kSEOid@qj)TSo0u4vx=lEJr1XQJVVTpPMr9%j~~@Z zO5t%pa7zKYyU%wwt!zG;%jJBnLeXgS2-lY5NJ*3$%2Dz+iLq2|2sRI{nippXoNjR1 zeD-sJYs+yYG(J9_Lm2AJLu%!5`C7=Sx`Frx2%%#jy%Og1MWTAYV`ET0r&!KAZy$JL z|C?{MU<=$b!*?#H_y7A}|K!>~5SlcNk$F1%`Adg;aSn}gT4V`+aA zjC>gb<~fIRJ33xY6EstfGExy|_wJ4&&fb0d^57f?=L|S@nSN}};oR3cI}LvvO>#`< zpr1c*M16hzUL*{YPjL;`l2U-2uffSwz{zlJV4PxQdwZ^Y(B9tucP!&wc$51JDe;&; zZ-}nRJ~Baayb-FR+Ga9qDr-(1&P@J c7PO$>0rkpBRwjXd!TtD&4^Meu9Aqe%mkic%kpG0gKUF2qhml=2Xms1Si$ zm`Aie_eMZo#6mi7JzPayWIf< zNs_d!X z>5Zj%Sg!Jl$~Q_&eYbLQBgIWkCKEfxBH`QUB2`pYS%!xVNOHUH0MAt>@f-)wtCr-+ zZ9qQ6<1oudJRXm?q@)A@`7-OIC<@84oPy~+1%R!H#8eCjoJHW7k^wQmTJWp{kGnt~ z6+8#hQ<@@XK<4wXBupCX*nEr@*F@vLK^d|jPqT?UEtcfTtrlFc-{bXeDJ%2Cd_0^% zq#E%xe67b@x|wsOC#gcWTbAO1W`gHF@T>-pdkQ>m@T}rooYRgx5=N^EGD#TkzF^4~ zR6vcxtDSrc~+Urh?Z?eZF8ZOpwcx2WfM*WZvI|cM*-Y;oe4J!8PMRiDA-d(--*RK< za@B(mKCqBo`JvJ;QnNpyqS9%LATCH51J32KJ{N{W%DLk*V^` z4hFrgt*upc^>u-OKj0xK7LUmT0|W8y?xW$Mp`oM*kL?X8rNk&aevT4KgbIf9Z`sI9j^&R#Ds9$z8a!c->#zTzq6k9z4IBpu&tBil$w(V0GHxf4IHz1fMg{_vE(SlQ$q!Q zKy@M);xaWLHXjWpq$3J+AW5({6!NLMYd zq0vMi*3t;cYK+YX2CSyH4{mZx9$L08Kr?Euqu*@#kW@v_%7fYuV+tC}KrIDpn+g4C z1<$+SNs98Y`P_W-O>=|6pkGrp(&?gq(9%CA)<{!RQ)PLe+`Dt<&VCgxBfw)%1LB5g zFk2PjXmW$qRF#d0j1Z=c4R~lRKn9Czs;asH2(O6p{NUmBbmi4E=|Z%RV#yGt)HsYM z)36niDM?9Joaz?(>Gt~<(_jC12*xCd@+<(4*M$Cf!LtAe-J(3#UAHD!GpoiAgU@T4 zo;ho#Z`G==&ECCdZ-^&n0UjF~5KLB45opdADu&)2v0*( zkk)QkNa5IL*vb!3N{NzA*?XnPGA+H)PrKf#r2m~8Tv1waLy$WD9AN_z;hAG%f98ntELwDB6;IF#LUau+T(F>W z|L|}E0BSZKn;Q@}N69h)IR?ZFh)u{KHIsR27UgNXrkk+Yt^n zp?rB}ka?OR$}>ASJCNRC2;a!43D)>aX7dr{DK)V_rJ_8(GM|S(TdE2JA~BVEz3e9v7eVM* zcPvMj4Q)k29dQFpn&!D3Khe6n^sdOGI*#4NFf)mfAM%kCxtH z6taF)h5MtUfGZ1+-M3&0Pd}=449GE{F-!%sOfsM`QJzqLnA9?b*N?CP4TqFMc#`1p zo7A7AC{HvNlRYIKFN{cd0*b|AiU5y&51|!B$+ZP@&VUd`NRp%;)H20@xV9)y_rZSp z@+voJ3U5`#)=+QvI9m#b2+t^ZOfev?Ey@!Lh2r(~^d=kCU1$bBm|zXBKl8PlqU#LoZ&m%iQNUm`+IwPqX5tldcHg*_S|AvLV7 zj8OA6ei~O}r0Mzf=~!2ih6iMl+-^1@5uP6KEH$Y=J)%4#BO{5=`uijJ4p^ngHVoel zi-kwSDVHRr?|^0DvHt|*+=kEke>fZX9MH05%XW5lcEyc8=YR=}bL~QS-u%l^+E~4a zD(3n~PL1U}3;N#~l{z~x{YVnm73Dbz9vM6ygZm?M?Lv4y{`ix@_V#N%<$*w%u4y?< z2*#7d7gH~wD7(2Pz+=zb@Q7Sr#c&=(G-v|a@y7NGSA41A^<*-2m%-D|Yh1e!9!=Hh zddS{$;%|(*i#YQ8_lK{^#@LX+he~xkOLU=Uj zz<~n;ZLMv1EGSsPYl@qZDII|`quBA||GfZ1Q_vd~p$qWXaSNvNK{N+VE@uMb;653l zK%iV-wtV@oPMkQo5da=CM)JIQ4Zr5vll({LdShc_P99AqdhfM9nzhGAi&m7;oMtzb zRq|x5Qgl?O&(CUf@}NwkA(dPbn-5PvQdS2qt=bpTH(&myjAG+9pCSK2rhihh=649UC;AsZW>>~GP5Ii5I zr^6}pq>W|bY$x*}L!Dor3QvhmKV(D*M_CNSU~S#{lhMwu&P|679sVaKiJBsr>(JuG zZJVC>#m_Hnd+Mp_;>j=?S3x{^^d|wH?clk)SO@mtiGyc5coOK3I8SaP(x;n8B1ev< z=`83Ue}A|8szr-#gHa3?!F&ceH`m}=lv{@JaIHN1!`HkDo>&ohVw{_6pq6cTB!G{R zNt*00Zb6=;i99K*^JH$tcJJQRwQ^m` z-*uN|cz7y6jyQPU2ha21ISd|IfJXt(VZN4ga4ybiM;>W^SLczhu2^v+?(x5cL{S5b zC(5^d2%)!6&pYdz_9=x}??_BQ#d@bkTT+<{2c!c_+fai1YybYe;gQo*L zhrlxchB#PM4*s40j9=sTfM*+c-sWpLhn;y`et&>)drSg?4^e_}QE|m|3L*hm?Gm>N zP2tJh&x4OxV05KfB!hUgG?Q*co=m13%4FtnPq1gyP!S3T^6Gi!r2-|)BU(S*82NDE')[_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 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 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 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 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 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 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 @@ +