TRF Certest first commit
This commit is contained in:
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
========================================================================== */
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user