Inisital Asset Commit
This commit is contained in:
97
assets/plugins/datetimepicker/css/classic.css
Normal file
97
assets/plugins/datetimepicker/css/classic.css
Normal file
@@ -0,0 +1,97 @@
|
||||
/* ==========================================================================
|
||||
$BASE-PICKER
|
||||
========================================================================== */
|
||||
/**
|
||||
* Note: the root picker element should *NOT* be styled more than what’s here.
|
||||
*/
|
||||
.picker {
|
||||
font-size: 16px;
|
||||
text-align: left;
|
||||
line-height: 1.2;
|
||||
color: #000;
|
||||
position: absolute;
|
||||
z-index: 10000;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
outline: none;
|
||||
}
|
||||
/**
|
||||
* The picker input element.
|
||||
*/
|
||||
.picker__input {
|
||||
cursor: default;
|
||||
background-color: #ffffff !important;
|
||||
}
|
||||
/**
|
||||
* When the picker is opened, the input element is “activated”.
|
||||
*/
|
||||
.picker__input.picker__input--active {
|
||||
border-color: #0089ec;
|
||||
}
|
||||
/**
|
||||
* The holder is the only “scrollable” top-level container element.
|
||||
*/
|
||||
.picker__holder {
|
||||
width: 100%;
|
||||
overflow-y: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Classic picker styling for pickadate.js
|
||||
* Demo: http://amsul.github.io/pickadate.js
|
||||
*/
|
||||
/**
|
||||
* Note: the root picker element should *NOT* be styled more than what’s here.
|
||||
*/
|
||||
.picker {
|
||||
width: 100%;
|
||||
}
|
||||
/**
|
||||
* The holder is the base of the picker.
|
||||
*/
|
||||
.picker__holder {
|
||||
position: absolute;
|
||||
background: #fff;
|
||||
border: 1px solid #aaaaaa;
|
||||
border-top-width: 0;
|
||||
border-bottom-width: 0;
|
||||
border-radius: 0 0 5px 5px;
|
||||
box-sizing: border-box;
|
||||
min-width: 176px;
|
||||
max-width: 466px;
|
||||
max-height: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
-moz-opacity: 0;
|
||||
opacity: 0;
|
||||
transform: translateY(-1em) perspective(600px) rotateX(10deg);
|
||||
transition: transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s 0.15s, border-width 0s 0.15s;
|
||||
}
|
||||
/**
|
||||
* The frame and wrap work together to ensure that
|
||||
* clicks within the picker don’t reach the holder.
|
||||
*/
|
||||
.picker__frame {
|
||||
padding: 1px;
|
||||
}
|
||||
.picker__wrap {
|
||||
margin: -1px;
|
||||
}
|
||||
/**
|
||||
* When the picker opens...
|
||||
*/
|
||||
.picker--opened .picker__holder {
|
||||
max-height: 25em;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
filter: alpha(opacity=100);
|
||||
-moz-opacity: 1;
|
||||
opacity: 1;
|
||||
border-top-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
transform: translateY(0) perspective(600px) rotateX(0);
|
||||
transition: transform 0.15s ease-out, opacity 0.15s ease-out, max-height 0s, border-width 0s;
|
||||
box-shadow: 0 6px 18px 1px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
300
assets/plugins/datetimepicker/css/classic.date.css
Normal file
300
assets/plugins/datetimepicker/css/classic.date.css
Normal file
@@ -0,0 +1,300 @@
|
||||
/* ==========================================================================
|
||||
$BASE-DATE-PICKER
|
||||
========================================================================== */
|
||||
/**
|
||||
* The picker box.
|
||||
*/
|
||||
.picker__box {
|
||||
padding: 0 1em;
|
||||
}
|
||||
/**
|
||||
* The header containing the month and year stuff.
|
||||
*/
|
||||
.picker__header {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
margin-top: .75em;
|
||||
}
|
||||
/**
|
||||
* The month and year labels.
|
||||
*/
|
||||
.picker__month,
|
||||
.picker__year {
|
||||
font-weight: 500;
|
||||
display: inline-block;
|
||||
margin-left: .25em;
|
||||
margin-right: .25em;
|
||||
}
|
||||
.picker__year {
|
||||
color: #999;
|
||||
font-size: .8em;
|
||||
font-style: italic;
|
||||
}
|
||||
/**
|
||||
* The month and year selectors.
|
||||
*/
|
||||
.picker__select--month,
|
||||
.picker__select--year {
|
||||
border: 1px solid #b7b7b7;
|
||||
height: 2em;
|
||||
margin-left: .25em;
|
||||
margin-right: .25em;
|
||||
}
|
||||
@media (min-width: 24.5em) {
|
||||
.picker__select--month,
|
||||
.picker__select--year {
|
||||
margin-top: -0.5em;
|
||||
}
|
||||
}
|
||||
.picker__select--month {
|
||||
width: 35%;
|
||||
}
|
||||
.picker__select--year {
|
||||
width: 22.5%;
|
||||
}
|
||||
.picker__select--month:focus,
|
||||
.picker__select--year:focus {
|
||||
border-color: #007bff;
|
||||
}
|
||||
/**
|
||||
* The month navigation buttons.
|
||||
*/
|
||||
.picker__nav--prev,
|
||||
.picker__nav--next {
|
||||
position: absolute;
|
||||
padding: .5em 1.25em;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
box-sizing: content-box;
|
||||
top: -0.25em;
|
||||
}
|
||||
@media (min-width: 24.5em) {
|
||||
.picker__nav--prev,
|
||||
.picker__nav--next {
|
||||
top: -0.33em;
|
||||
}
|
||||
}
|
||||
.picker__nav--prev {
|
||||
left: -1em;
|
||||
padding-right: 1.25em;
|
||||
}
|
||||
@media (min-width: 24.5em) {
|
||||
.picker__nav--prev {
|
||||
padding-right: 1.5em;
|
||||
}
|
||||
}
|
||||
.picker__nav--next {
|
||||
right: -1em;
|
||||
padding-left: 1.25em;
|
||||
}
|
||||
@media (min-width: 24.5em) {
|
||||
.picker__nav--next {
|
||||
padding-left: 1.5em;
|
||||
}
|
||||
}
|
||||
.picker__nav--prev:before,
|
||||
.picker__nav--next:before {
|
||||
content: " ";
|
||||
border-top: .5em solid transparent;
|
||||
border-bottom: .5em solid transparent;
|
||||
border-right: 0.75em solid #000;
|
||||
width: 0;
|
||||
height: 0;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.picker__nav--next:before {
|
||||
border-right: 0;
|
||||
border-left: 0.75em solid #000;
|
||||
}
|
||||
.picker__nav--prev:hover,
|
||||
.picker__nav--next:hover {
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
}
|
||||
.picker__nav--disabled,
|
||||
.picker__nav--disabled:hover,
|
||||
.picker__nav--disabled:before,
|
||||
.picker__nav--disabled:before:hover {
|
||||
cursor: default;
|
||||
background: none;
|
||||
border-right-color: #f5f5f5;
|
||||
border-left-color: #f5f5f5;
|
||||
}
|
||||
/**
|
||||
* The calendar table of dates
|
||||
*/
|
||||
.picker__table {
|
||||
text-align: center;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
table-layout: fixed;
|
||||
font-size: inherit;
|
||||
width: 100%;
|
||||
margin-top: .75em;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
@media (min-height: 33.875em) {
|
||||
.picker__table {
|
||||
margin-bottom: .75em;
|
||||
}
|
||||
}
|
||||
.picker__table td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
/**
|
||||
* The weekday labels
|
||||
*/
|
||||
.picker__weekday {
|
||||
width: 14.285714286%;
|
||||
font-size: .75em;
|
||||
padding-bottom: .25em;
|
||||
color: #999;
|
||||
font-weight: 500;
|
||||
/* Increase the spacing a tad */
|
||||
}
|
||||
@media (min-height: 33.875em) {
|
||||
.picker__weekday {
|
||||
padding-bottom: .5em;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* The days on the calendar
|
||||
*/
|
||||
.picker__day {
|
||||
padding: .3125em 0;
|
||||
font-weight: 200;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.picker__day--today {
|
||||
position: relative;
|
||||
}
|
||||
.picker__day--today:before {
|
||||
content: " ";
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 2px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-top: 0.5em solid #0059bc;
|
||||
border-left: .5em solid transparent;
|
||||
}
|
||||
.picker__day--disabled:before {
|
||||
border-top-color: #aaa;
|
||||
}
|
||||
.picker__day--outfocus {
|
||||
color: #ddd;
|
||||
}
|
||||
.picker__day--infocus:hover,
|
||||
.picker__day--outfocus:hover {
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
}
|
||||
.picker__day--highlighted {
|
||||
border-color: #007bff;
|
||||
}
|
||||
.picker__day--highlighted:hover,
|
||||
.picker--focused .picker__day--highlighted {
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
}
|
||||
.picker__day--selected,
|
||||
.picker__day--selected:hover,
|
||||
.picker--focused .picker__day--selected {
|
||||
background: #007bff;
|
||||
color: #fff;
|
||||
}
|
||||
.picker__day--disabled,
|
||||
.picker__day--disabled:hover,
|
||||
.picker--focused .picker__day--disabled {
|
||||
background: #f5f5f5;
|
||||
border-color: #f5f5f5;
|
||||
color: #ddd;
|
||||
cursor: default;
|
||||
}
|
||||
.picker__day--highlighted.picker__day--disabled,
|
||||
.picker__day--highlighted.picker__day--disabled:hover {
|
||||
background: #bbb;
|
||||
}
|
||||
/**
|
||||
* The footer containing the "today", "clear", and "close" buttons.
|
||||
*/
|
||||
.picker__footer {
|
||||
text-align: center;
|
||||
}
|
||||
.picker__button--today,
|
||||
.picker__button--clear,
|
||||
.picker__button--close {
|
||||
border: 1px solid #fff;
|
||||
background: #fff;
|
||||
font-size: .8em;
|
||||
padding: .66em 0;
|
||||
font-weight: bold;
|
||||
width: 33%;
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.picker__button--today:hover,
|
||||
.picker__button--clear:hover,
|
||||
.picker__button--close:hover {
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
border-bottom-color: #b1dcfb;
|
||||
}
|
||||
.picker__button--today:focus,
|
||||
.picker__button--clear:focus,
|
||||
.picker__button--close:focus {
|
||||
background: #b1dcfb;
|
||||
border-color: #007bff;
|
||||
outline: none;
|
||||
}
|
||||
.picker__button--today:before,
|
||||
.picker__button--clear:before,
|
||||
.picker__button--close:before {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
height: 0;
|
||||
}
|
||||
.picker__button--today:before,
|
||||
.picker__button--clear:before {
|
||||
content: " ";
|
||||
margin-right: .45em;
|
||||
}
|
||||
.picker__button--today:before {
|
||||
top: -0.05em;
|
||||
width: 0;
|
||||
border-top: 0.66em solid #0059bc;
|
||||
border-left: .66em solid transparent;
|
||||
}
|
||||
.picker__button--clear:before {
|
||||
top: -0.25em;
|
||||
width: .66em;
|
||||
border-top: 3px solid #e20;
|
||||
}
|
||||
.picker__button--close:before {
|
||||
content: "\D7";
|
||||
top: -0.1em;
|
||||
vertical-align: top;
|
||||
font-size: 1.1em;
|
||||
margin-right: .35em;
|
||||
color: #777;
|
||||
}
|
||||
.picker__button--today[disabled],
|
||||
.picker__button--today[disabled]:hover {
|
||||
background: #f5f5f5;
|
||||
border-color: #f5f5f5;
|
||||
color: #ddd;
|
||||
cursor: default;
|
||||
}
|
||||
.picker__button--today[disabled]:before {
|
||||
border-top-color: #aaa;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
$CLASSIC-DATE-PICKER
|
||||
========================================================================== */
|
||||
132
assets/plugins/datetimepicker/css/classic.time.css
Normal file
132
assets/plugins/datetimepicker/css/classic.time.css
Normal file
@@ -0,0 +1,132 @@
|
||||
/* ==========================================================================
|
||||
$BASE-TIME-PICKER
|
||||
========================================================================== */
|
||||
/**
|
||||
* The list of times.
|
||||
*/
|
||||
.picker__list {
|
||||
list-style: none;
|
||||
padding: 0.75em 0 4.2em;
|
||||
margin: 0;
|
||||
}
|
||||
/**
|
||||
* The times on the clock.
|
||||
*/
|
||||
.picker__list-item {
|
||||
border-bottom: 1px solid #ddd;
|
||||
border-top: 1px solid #ddd;
|
||||
margin-bottom: -1px;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
padding: .75em 1.25em;
|
||||
}
|
||||
@media (min-height: 46.75em) {
|
||||
.picker__list-item {
|
||||
padding: .5em 1em;
|
||||
}
|
||||
}
|
||||
/* Hovered time */
|
||||
.picker__list-item:hover {
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
border-color: #0089ec;
|
||||
z-index: 10;
|
||||
}
|
||||
/* Highlighted and hovered/focused time */
|
||||
.picker__list-item--highlighted {
|
||||
border-color: #0089ec;
|
||||
z-index: 10;
|
||||
}
|
||||
.picker__list-item--highlighted:hover,
|
||||
.picker--focused .picker__list-item--highlighted {
|
||||
cursor: pointer;
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
}
|
||||
/* Selected and hovered/focused time */
|
||||
.picker__list-item--selected,
|
||||
.picker__list-item--selected:hover,
|
||||
.picker--focused .picker__list-item--selected {
|
||||
background: #0089ec;
|
||||
color: #fff;
|
||||
z-index: 10;
|
||||
}
|
||||
/* Disabled time */
|
||||
.picker__list-item--disabled,
|
||||
.picker__list-item--disabled:hover,
|
||||
.picker--focused .picker__list-item--disabled {
|
||||
background: #f5f5f5;
|
||||
border-color: #f5f5f5;
|
||||
color: #ddd;
|
||||
cursor: default;
|
||||
border-color: #ddd;
|
||||
z-index: auto;
|
||||
}
|
||||
/**
|
||||
* The clear button
|
||||
*/
|
||||
.picker--time .picker__button--clear {
|
||||
display: block;
|
||||
width: 80%;
|
||||
margin: 1em auto 0;
|
||||
padding: 1em 1.25em;
|
||||
background: none;
|
||||
border: 0;
|
||||
font-weight: 500;
|
||||
font-size: .67em;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
color: #666;
|
||||
}
|
||||
.picker--time .picker__button--clear:hover,
|
||||
.picker--time .picker__button--clear:focus {
|
||||
color: #000;
|
||||
background: #b1dcfb;
|
||||
background: #e20;
|
||||
border-color: #e20;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
outline: none;
|
||||
}
|
||||
.picker--time .picker__button--clear:before {
|
||||
top: -0.25em;
|
||||
color: #666;
|
||||
font-size: 1.25em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.picker--time .picker__button--clear:hover:before,
|
||||
.picker--time .picker__button--clear:focus:before {
|
||||
color: #fff;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
$CLASSIC-TIME-PICKER
|
||||
========================================================================== */
|
||||
/**
|
||||
* Note: the root picker element should __NOT__ be styled
|
||||
* more than what’s here. Style the `.picker__holder` instead.
|
||||
*/
|
||||
.picker--time {
|
||||
min-width: 256px;
|
||||
max-width: 320px;
|
||||
}
|
||||
/**
|
||||
* The holder is the base of the picker.
|
||||
*/
|
||||
.picker--time .picker__holder {
|
||||
background: #f2f2f2;
|
||||
}
|
||||
@media (min-height: 40.125em) {
|
||||
.picker--time .picker__holder {
|
||||
font-size: .875em;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* The box contains the list of times.
|
||||
*/
|
||||
.picker--time .picker__box {
|
||||
padding: 0;
|
||||
position: relative;
|
||||
}
|
||||
133
assets/plugins/datetimepicker/js/legacy.js
Normal file
133
assets/plugins/datetimepicker/js/legacy.js
Normal file
@@ -0,0 +1,133 @@
|
||||
|
||||
/*jshint
|
||||
asi: true,
|
||||
unused: true,
|
||||
boss: true,
|
||||
loopfunc: true,
|
||||
eqnull: true
|
||||
*/
|
||||
|
||||
|
||||
/*!
|
||||
* Legacy browser support
|
||||
*/
|
||||
|
||||
|
||||
// Map array support
|
||||
if ( ![].map ) {
|
||||
Array.prototype.map = function ( callback, self ) {
|
||||
var array = this, len = array.length, newArray = new Array( len )
|
||||
for ( var i = 0; i < len; i++ ) {
|
||||
if ( i in array ) {
|
||||
newArray[ i ] = callback.call( self, array[ i ], i, array )
|
||||
}
|
||||
}
|
||||
return newArray
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Filter array support
|
||||
if ( ![].filter ) {
|
||||
Array.prototype.filter = function( callback ) {
|
||||
if ( this == null ) throw new TypeError()
|
||||
var t = Object( this ), len = t.length >>> 0
|
||||
if ( typeof callback != 'function' ) throw new TypeError()
|
||||
var newArray = [], thisp = arguments[ 1 ]
|
||||
for ( var i = 0; i < len; i++ ) {
|
||||
if ( i in t ) {
|
||||
var val = t[ i ]
|
||||
if ( callback.call( thisp, val, i, t ) ) newArray.push( val )
|
||||
}
|
||||
}
|
||||
return newArray
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Index of array support
|
||||
if ( ![].indexOf ) {
|
||||
Array.prototype.indexOf = function( searchElement ) {
|
||||
if ( this == null ) throw new TypeError()
|
||||
var t = Object( this ), len = t.length >>> 0
|
||||
if ( len === 0 ) return -1
|
||||
var n = 0
|
||||
if ( arguments.length > 1 ) {
|
||||
n = Number( arguments[ 1 ] )
|
||||
if ( n != n ) {
|
||||
n = 0
|
||||
}
|
||||
else if ( n !== 0 && n != Infinity && n != -Infinity ) {
|
||||
n = ( n > 0 || -1 ) * Math.floor( Math.abs( n ) )
|
||||
}
|
||||
}
|
||||
if ( n >= len ) return -1
|
||||
var k = n >= 0 ? n : Math.max( len - Math.abs( n ), 0 )
|
||||
for ( ; k < len; k++ ) {
|
||||
if ( k in t && t[ k ] === searchElement ) return k
|
||||
}
|
||||
return -1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Cross-Browser Split 1.1.1
|
||||
* Copyright 2007-2012 Steven Levithan <stevenlevithan.com>
|
||||
* Available under the MIT License
|
||||
* http://blog.stevenlevithan.com/archives/cross-browser-split
|
||||
*/
|
||||
var nativeSplit = String.prototype.split, compliantExecNpcg = /()??/.exec('')[1] === undefined
|
||||
String.prototype.split = function(separator, limit) {
|
||||
var str = this
|
||||
if (Object.prototype.toString.call(separator) !== '[object RegExp]') {
|
||||
return nativeSplit.call(str, separator, limit)
|
||||
}
|
||||
var output = [],
|
||||
flags = (separator.ignoreCase ? 'i' : '') +
|
||||
(separator.multiline ? 'm' : '') +
|
||||
(separator.extended ? 'x' : '') +
|
||||
(separator.sticky ? 'y' : ''),
|
||||
lastLastIndex = 0,
|
||||
separator2, match, lastIndex, lastLength
|
||||
separator = new RegExp(separator.source, flags + 'g')
|
||||
str += ''
|
||||
if (!compliantExecNpcg) {
|
||||
separator2 = new RegExp('^' + separator.source + '$(?!\\s)', flags)
|
||||
}
|
||||
limit = limit === undefined ? -1 >>> 0 : limit >>> 0
|
||||
while (match = separator.exec(str)) {
|
||||
lastIndex = match.index + match[0].length
|
||||
if (lastIndex > lastLastIndex) {
|
||||
output.push(str.slice(lastLastIndex, match.index))
|
||||
if (!compliantExecNpcg && match.length > 1) {
|
||||
match[0].replace(separator2, function () {
|
||||
for (var i = 1; i < arguments.length - 2; i++) {
|
||||
if (arguments[i] === undefined) {
|
||||
match[i] = undefined
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
if (match.length > 1 && match.index < str.length) {
|
||||
Array.prototype.push.apply(output, match.slice(1))
|
||||
}
|
||||
lastLength = match[0].length
|
||||
lastLastIndex = lastIndex
|
||||
if (output.length >= limit) {
|
||||
break
|
||||
}
|
||||
}
|
||||
if (separator.lastIndex === match.index) {
|
||||
separator.lastIndex++
|
||||
}
|
||||
}
|
||||
if (lastLastIndex === str.length) {
|
||||
if (lastLength || !separator.test('')) {
|
||||
output.push('')
|
||||
}
|
||||
} else {
|
||||
output.push(str.slice(lastLastIndex))
|
||||
}
|
||||
return output.length > limit ? output.slice(0, limit) : output
|
||||
};
|
||||
1357
assets/plugins/datetimepicker/js/picker.date.js
Normal file
1357
assets/plugins/datetimepicker/js/picker.date.js
Normal file
File diff suppressed because it is too large
Load Diff
1219
assets/plugins/datetimepicker/js/picker.js
Normal file
1219
assets/plugins/datetimepicker/js/picker.js
Normal file
File diff suppressed because it is too large
Load Diff
1016
assets/plugins/datetimepicker/js/picker.time.js
Normal file
1016
assets/plugins/datetimepicker/js/picker.time.js
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user