11/*!
2- CSSLint v1.0.3
2+ CSSLint v1.0.4
33Copyright (c) 2016 Nicole Sullivan and Nicholas C. Zakas. All rights reserved.
44
55Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -48,7 +48,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4848OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4949THE SOFTWARE.
5050*/
51- /* Version v1.0 .0, Build time: 15-July -2016 12:36:10 */
51+ /* Version v1.1 .0, Build time: 6-December -2016 10:31:29 */
5252var parserlib = ( function ( ) {
5353var require ;
5454require = ( function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; var f = new Error ( "Cannot find module '" + o + "'" ) ; throw f . code = "MODULE_NOT_FOUND" , f } var l = n [ o ] = { exports :{ } } ; t [ o ] [ 0 ] . call ( l . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ?n :e ) } , l , l . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ) ( { 1 :[ function ( require , module , exports ) {
@@ -1266,6 +1266,8 @@ Parser.prototype = function() {
12661266 this . _document ( ) ;
12671267 } else if ( tokenStream . peek ( ) === Tokens . SUPPORTS_SYM ) {
12681268 this . _supports ( ) ;
1269+ } else if ( tokenStream . peek ( ) === Tokens . MEDIA_SYM ) {
1270+ this . _media ( ) ;
12691271 } else if ( ! this . _ruleset ( ) ) {
12701272 break ;
12711273 }
@@ -3300,6 +3302,7 @@ var Properties = module.exports = {
33003302 "align-items" : "flex-start | flex-end | center | baseline | stretch" ,
33013303 "align-content" : "flex-start | flex-end | center | space-between | space-around | stretch" ,
33023304 "align-self" : "auto | flex-start | flex-end | center | baseline | stretch" ,
3305+ "all" : "initial | inherit | unset" ,
33033306 "-webkit-align-items" : "flex-start | flex-end | center | baseline | stretch" ,
33043307 "-webkit-align-content" : "flex-start | flex-end | center | space-between | space-around | stretch" ,
33053308 "-webkit-align-self" : "auto | flex-start | flex-end | center | baseline | stretch" ,
@@ -3345,7 +3348,12 @@ var Properties = module.exports = {
33453348 "-o-animation-name" : "[ none | <single-animation-name> ]#" ,
33463349 "-o-animation-play-state" : "[ running | paused ]#" ,
33473350
3348- "appearance" : "icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal | none" ,
3351+ "appearance" : "none | auto" ,
3352+ "-moz-appearance" : "none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized" ,
3353+ "-ms-appearance" : "none | icon | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal" ,
3354+ "-webkit-appearance" : "none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | listbox | listitem | media-fullscreen-button | media-mute-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical" ,
3355+ "-o-appearance" : "none | window | desktop | workspace | document | tooltip | dialog | button | push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | outline-tree | range | field | combo-box | signature | password | normal" ,
3356+
33493357 "azimuth" : "<azimuth>" ,
33503358
33513359 //B
@@ -3716,7 +3724,10 @@ var Properties = module.exports = {
37163724 "text-align" : "left | right | center | justify | match-parent | start | end" ,
37173725 "text-align-last" : 1 ,
37183726 "text-anchor" : "start | middle | end" ,
3719- "text-decoration" : "<text-decoration>" ,
3727+ "text-decoration" : "<text-decoration-line> || <text-decoration-style> || <text-decoration-color>" ,
3728+ "text-decoration-color" : "<text-decoration-color>" ,
3729+ "text-decoration-line" : "<text-decoration-line>" ,
3730+ "text-decoration-style" : "<text-decoration-style>" ,
37203731 "text-emphasis" : 1 ,
37213732 "text-height" : 1 ,
37223733 "text-indent" : "<length> | <percentage>" ,
@@ -4059,6 +4070,7 @@ function PropertyValuePart(text, line, col, optionalHint) {
40594070 case "deg" :
40604071 case "rad" :
40614072 case "grad" :
4073+ case "turn" :
40624074 this . type = "angle" ;
40634075 break ;
40644076
@@ -5190,7 +5202,7 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
51905202
51915203 if ( / ^ e m $ | ^ e x $ | ^ p x $ | ^ g d $ | ^ r e m $ | ^ v w $ | ^ v h $ | ^ v m a x $ | ^ v m i n $ | ^ c h $ | ^ c m $ | ^ m m $ | ^ i n $ | ^ p t $ | ^ p c $ / i. test ( ident ) ) {
51925204 tt = Tokens . LENGTH ;
5193- } else if ( / ^ d e g | ^ r a d $ | ^ g r a d $ / i. test ( ident ) ) {
5205+ } else if ( / ^ d e g | ^ r a d $ | ^ g r a d $ | ^ t u r n $ / i. test ( ident ) ) {
51945206 tt = Tokens . ANGLE ;
51955207 } else if ( / ^ m s $ | ^ s $ / i. test ( ident ) ) {
51965208 tt = Tokens . TIME ;
@@ -5575,7 +5587,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), {
55755587 }
55765588} ) ;
55775589
5578-
55795590} , { "../util/TokenStreamBase" :27 , "./PropertyValuePart" :11 , "./Tokens" :18 } ] , 18 :[ function ( require , module , exports ) {
55805591"use strict" ;
55815592
@@ -6333,9 +6344,15 @@ copy(ValidationTypes, {
63336344 Matcher . many ( [ true /* length is required */ ] ,
63346345 Matcher . cast ( "<length>" ) . braces ( 2 , 4 ) , "inset" , "<color>" ) ,
63356346
6336- "<text-decoration>" :
6347+ "<text-decoration-color>" :
6348+ "<color>" ,
6349+
6350+ "<text-decoration-line>" :
63376351 "none | [ underline || overline || line-through || blink ]" ,
63386352
6353+ "<text-decoration-style>" :
6354+ "solid | double | dotted | dashed | wavy" ,
6355+
63396356 "<will-change>" :
63406357 "auto | <animateable-feature>#" ,
63416358
@@ -7315,6 +7332,29 @@ return require('parserlib');
73157332var clone = ( function ( ) {
73167333'use strict' ;
73177334
7335+ var nativeMap ;
7336+ try {
7337+ nativeMap = Map ;
7338+ } catch ( _ ) {
7339+ // maybe a reference error because no `Map`. Give it a dummy value that no
7340+ // value will ever be an instanceof.
7341+ nativeMap = function ( ) { } ;
7342+ }
7343+
7344+ var nativeSet ;
7345+ try {
7346+ nativeSet = Set ;
7347+ } catch ( _ ) {
7348+ nativeSet = function ( ) { } ;
7349+ }
7350+
7351+ var nativePromise ;
7352+ try {
7353+ nativePromise = Promise ;
7354+ } catch ( _ ) {
7355+ nativePromise = function ( ) { } ;
7356+ }
7357+
73187358/**
73197359 * Clones (copies) an Object using deep copying.
73207360 *
@@ -7332,14 +7372,16 @@ var clone = (function() {
73327372 * a particular depth. (optional - defaults to Infinity)
73337373 * @param `prototype` - sets the prototype to be used when cloning an object.
73347374 * (optional - defaults to parent prototype).
7375+ * @param `includeNonEnumerable` - set to true if the non-enumerable properties
7376+ * should be cloned as well. Non-enumerable properties on the prototype
7377+ * chain will be ignored. (optional - false by default)
73357378*/
7336- function clone ( parent , circular , depth , prototype ) {
7337- var filter ;
7379+ function clone ( parent , circular , depth , prototype , includeNonEnumerable ) {
73387380 if ( typeof circular === 'object' ) {
73397381 depth = circular . depth ;
73407382 prototype = circular . prototype ;
7341- filter = circular . filter ;
7342- circular = circular . circular
7383+ includeNonEnumerable = circular . includeNonEnumerable ;
7384+ circular = circular . circular ;
73437385 }
73447386 // maintain two arrays for circular references, where corresponding parents
73457387 // and children have the same index
@@ -7360,7 +7402,7 @@ function clone(parent, circular, depth, prototype) {
73607402 if ( parent === null )
73617403 return null ;
73627404
7363- if ( depth == 0 )
7405+ if ( depth === 0 )
73647406 return parent ;
73657407
73667408 var child ;
@@ -7369,7 +7411,19 @@ function clone(parent, circular, depth, prototype) {
73697411 return parent ;
73707412 }
73717413
7372- if ( clone . __isArray ( parent ) ) {
7414+ if ( parent instanceof nativeMap ) {
7415+ child = new nativeMap ( ) ;
7416+ } else if ( parent instanceof nativeSet ) {
7417+ child = new nativeSet ( ) ;
7418+ } else if ( parent instanceof nativePromise ) {
7419+ child = new nativePromise ( function ( resolve , reject ) {
7420+ parent . then ( function ( value ) {
7421+ resolve ( _clone ( value , depth - 1 ) ) ;
7422+ } , function ( err ) {
7423+ reject ( _clone ( err , depth - 1 ) ) ;
7424+ } ) ;
7425+ } ) ;
7426+ } else if ( clone . __isArray ( parent ) ) {
73737427 child = [ ] ;
73747428 } else if ( clone . __isRegExp ( parent ) ) {
73757429 child = new RegExp ( parent . source , __getRegExpFlags ( parent ) ) ;
@@ -7380,6 +7434,8 @@ function clone(parent, circular, depth, prototype) {
73807434 child = new Buffer ( parent . length ) ;
73817435 parent . copy ( child ) ;
73827436 return child ;
7437+ } else if ( parent instanceof Error ) {
7438+ child = Object . create ( parent ) ;
73837439 } else {
73847440 if ( typeof prototype == 'undefined' ) {
73857441 proto = Object . getPrototypeOf ( parent ) ;
@@ -7401,6 +7457,30 @@ function clone(parent, circular, depth, prototype) {
74017457 allChildren . push ( child ) ;
74027458 }
74037459
7460+ if ( parent instanceof nativeMap ) {
7461+ var keyIterator = parent . keys ( ) ;
7462+ while ( true ) {
7463+ var next = keyIterator . next ( ) ;
7464+ if ( next . done ) {
7465+ break ;
7466+ }
7467+ var keyChild = _clone ( next . value , depth - 1 ) ;
7468+ var valueChild = _clone ( parent . get ( next . value ) , depth - 1 ) ;
7469+ child . set ( keyChild , valueChild ) ;
7470+ }
7471+ }
7472+ if ( parent instanceof nativeSet ) {
7473+ var iterator = parent . keys ( ) ;
7474+ while ( true ) {
7475+ var next = iterator . next ( ) ;
7476+ if ( next . done ) {
7477+ break ;
7478+ }
7479+ var entryChild = _clone ( next . value , depth - 1 ) ;
7480+ child . add ( entryChild ) ;
7481+ }
7482+ }
7483+
74047484 for ( var i in parent ) {
74057485 var attrs ;
74067486 if ( proto ) {
@@ -7413,6 +7493,40 @@ function clone(parent, circular, depth, prototype) {
74137493 child [ i ] = _clone ( parent [ i ] , depth - 1 ) ;
74147494 }
74157495
7496+ if ( Object . getOwnPropertySymbols ) {
7497+ var symbols = Object . getOwnPropertySymbols ( parent ) ;
7498+ for ( var i = 0 ; i < symbols . length ; i ++ ) {
7499+ // Don't need to worry about cloning a symbol because it is a primitive,
7500+ // like a number or string.
7501+ var symbol = symbols [ i ] ;
7502+ var descriptor = Object . getOwnPropertyDescriptor ( parent , symbol ) ;
7503+ if ( descriptor && ! descriptor . enumerable && ! includeNonEnumerable ) {
7504+ continue ;
7505+ }
7506+ child [ symbol ] = _clone ( parent [ symbol ] , depth - 1 ) ;
7507+ if ( ! descriptor . enumerable ) {
7508+ Object . defineProperty ( child , symbol , {
7509+ enumerable : false
7510+ } ) ;
7511+ }
7512+ }
7513+ }
7514+
7515+ if ( includeNonEnumerable ) {
7516+ var allPropertyNames = Object . getOwnPropertyNames ( parent ) ;
7517+ for ( var i = 0 ; i < allPropertyNames . length ; i ++ ) {
7518+ var propertyName = allPropertyNames [ i ] ;
7519+ var descriptor = Object . getOwnPropertyDescriptor ( parent , propertyName ) ;
7520+ if ( descriptor && descriptor . enumerable ) {
7521+ continue ;
7522+ }
7523+ child [ propertyName ] = _clone ( parent [ propertyName ] , depth - 1 ) ;
7524+ Object . defineProperty ( child , propertyName , {
7525+ enumerable : false
7526+ } ) ;
7527+ }
7528+ }
7529+
74167530 return child ;
74177531 }
74187532
@@ -7439,22 +7553,22 @@ clone.clonePrototype = function clonePrototype(parent) {
74397553
74407554function __objToStr ( o ) {
74417555 return Object . prototype . toString . call ( o ) ;
7442- } ;
7556+ }
74437557clone . __objToStr = __objToStr ;
74447558
74457559function __isDate ( o ) {
74467560 return typeof o === 'object' && __objToStr ( o ) === '[object Date]' ;
7447- } ;
7561+ }
74487562clone . __isDate = __isDate ;
74497563
74507564function __isArray ( o ) {
74517565 return typeof o === 'object' && __objToStr ( o ) === '[object Array]' ;
7452- } ;
7566+ }
74537567clone . __isArray = __isArray ;
74547568
74557569function __isRegExp ( o ) {
74567570 return typeof o === 'object' && __objToStr ( o ) === '[object RegExp]' ;
7457- } ;
7571+ }
74587572clone . __isRegExp = __isRegExp ;
74597573
74607574function __getRegExpFlags ( re ) {
@@ -7463,7 +7577,7 @@ function __getRegExpFlags(re) {
74637577 if ( re . ignoreCase ) flags += 'i' ;
74647578 if ( re . multiline ) flags += 'm' ;
74657579 return flags ;
7466- } ;
7580+ }
74677581clone . __getRegExpFlags = __getRegExpFlags ;
74687582
74697583return clone ;
@@ -7491,7 +7605,7 @@ var CSSLint = (function() {
74917605 embeddedRuleset = / \/ \* \s * c s s l i n t ( [ ^ \* ] * ) \* \/ / ,
74927606 api = new parserlib . util . EventTarget ( ) ;
74937607
7494- api . version = "1.0.3 " ;
7608+ api . version = "1.0.4 " ;
74957609
74967610 //-------------------------------------------------------------------------
74977611 // Rule Management
0 commit comments