From eaaac0208e0a0f8566c5d59000357c7046bee6d6 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Tue, 6 Dec 2016 10:32:07 +0200 Subject: [PATCH] Update dist files. --- dist/node-parserlib.js | 29 +++++++++++--- dist/parserlib-core.js | 2 +- dist/parserlib-css.js | 29 +++++++++++--- dist/parserlib-tests.js | 88 ++++++++++++++++++++++++++++++++++++++++- dist/parserlib.js | 29 +++++++++++--- 5 files changed, 157 insertions(+), 20 deletions(-) diff --git a/dist/node-parserlib.js b/dist/node-parserlib.js index 3b273cd5..83282fc8 100644 --- a/dist/node-parserlib.js +++ b/dist/node-parserlib.js @@ -20,7 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* Version v1.0.0, Build time: 15-July-2016 12:36:10 */ +/* Version v1.1.0, Build time: 6-December-2016 10:31:29 */ var parserlib = (function () { var require; require=(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 ]#", "-o-animation-play-state" : "[ running | paused ]#", - "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", + "appearance" : "none | auto", + "-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", + "-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", + "-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", + "-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", + "azimuth" : "", //B @@ -3688,7 +3696,10 @@ var Properties = module.exports = { "text-align" : "left | right | center | justify | match-parent | start | end", "text-align-last" : 1, "text-anchor" : "start | middle | end", - "text-decoration" : "", + "text-decoration" : " || || ", + "text-decoration-color" : "", + "text-decoration-line" : "", + "text-decoration-style" : "", "text-emphasis" : 1, "text-height" : 1, "text-indent" : " | ", @@ -4031,6 +4042,7 @@ function PropertyValuePart(text, line, col, optionalHint) { case "deg": case "rad": case "grad": + case "turn": this.type = "angle"; break; @@ -5162,7 +5174,7 @@ TokenStream.prototype = mix(new TokenStreamBase(), { if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vmax$|^vmin$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)) { tt = Tokens.LENGTH; - } else if (/^deg|^rad$|^grad$/i.test(ident)) { + } else if (/^deg|^rad$|^grad$|^turn$/i.test(ident)) { tt = Tokens.ANGLE; } else if (/^ms$|^s$/i.test(ident)) { tt = Tokens.TIME; @@ -5547,7 +5559,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), { } }); - },{"../util/TokenStreamBase":27,"./PropertyValuePart":11,"./Tokens":18}],18:[function(require,module,exports){ "use strict"; @@ -6305,9 +6316,15 @@ copy(ValidationTypes, { Matcher.many([true /* length is required */], Matcher.cast("").braces(2, 4), "inset", ""), - "": + "": + "", + + "": "none | [ underline || overline || line-through || blink ]", + "": + "solid | double | dotted | dashed | wavy", + "": "auto | #", diff --git a/dist/parserlib-core.js b/dist/parserlib-core.js index 113aa7ef..579a25fb 100644 --- a/dist/parserlib-core.js +++ b/dist/parserlib-core.js @@ -20,7 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* Version v1.0.0, Build time: 15-July-2016 12:36:10 */ +/* Version v1.1.0, Build time: 6-December-2016 10:31:29 */ var parserlib = (function () { var require; require=(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 ]#", "-o-animation-play-state" : "[ running | paused ]#", - "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", + "appearance" : "none | auto", + "-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", + "-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", + "-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", + "-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", + "azimuth" : "", //B @@ -3328,7 +3336,10 @@ var Properties = module.exports = { "text-align" : "left | right | center | justify | match-parent | start | end", "text-align-last" : 1, "text-anchor" : "start | middle | end", - "text-decoration" : "", + "text-decoration" : " || || ", + "text-decoration-color" : "", + "text-decoration-line" : "", + "text-decoration-style" : "", "text-emphasis" : 1, "text-height" : 1, "text-indent" : " | ", @@ -4178,9 +4189,15 @@ copy(ValidationTypes, { Matcher.many([true /* length is required */], Matcher.cast("").braces(2, 4), "inset", ""), - "": + "": + "", + + "": "none | [ underline || overline || line-through || blink ]", + "": + "solid | double | dotted | dashed | wavy", + "": "auto | #", @@ -4879,7 +4896,7 @@ TokenStream.prototype = mix(new TokenStreamBase(), { if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vmax$|^vmin$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)) { tt = Tokens.LENGTH; - } else if (/^deg|^rad$|^grad$/i.test(ident)) { + } else if (/^deg|^rad$|^grad$|^turn$/i.test(ident)) { tt = Tokens.ANGLE; } else if (/^ms$|^s$/i.test(ident)) { tt = Tokens.TIME; @@ -5264,7 +5281,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), { } }); - },{"../util/TokenStreamBase":27,"./PropertyValuePart":11,"./Tokens":18}],15:[function(require,module,exports){ "use strict"; @@ -5626,6 +5642,7 @@ function PropertyValuePart(text, line, col, optionalHint) { case "deg": case "rad": case "grad": + case "turn": this.type = "angle"; break; diff --git a/dist/parserlib-tests.js b/dist/parserlib-tests.js index d1a841e6..e28cf6e2 100644 --- a/dist/parserlib-tests.js +++ b/dist/parserlib-tests.js @@ -20,7 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* Version v1.0.0, Build time: 15-July-2016 12:36:10 */ +/* Version v1.1.0, Build time: 6-December-2016 10:31:29 */ (function () { var require = function(x) { if (x==='yuitest') { return YUITest; } @@ -1731,6 +1731,18 @@ var YUITest = require("yuitest"), Assert.isTrue(valid); }, + testMediaWithNestedMedia: function() { + var parser = new Parser({ strict: true }); + var valid = true; + + parser.addListener("error", function() { + valid = false; + }); + + parser.parse("@media print { #navigation { display: none } @media (max-width: 12cm) { .note { float: none } } }"); + Assert.isTrue(valid); + }, + testViewport: function() { var parser = new Parser({ strict: true }); var valid = true; @@ -2826,6 +2838,10 @@ var YUITest = require("yuitest"), "50.0GRAD" : [CSSTokens.ANGLE], ".5Grad" : [CSSTokens.ANGLE], + "5turn" : [CSSTokens.ANGLE], + "50.0TURN" : [CSSTokens.ANGLE], + ".5turn" : [CSSTokens.ANGLE], + "5ms" : [CSSTokens.TIME], "50.0MS" : [CSSTokens.TIME], ".5Ms" : [CSSTokens.TIME], @@ -3161,6 +3177,20 @@ var YUITest = require("yuitest"), } })); + suite.add(new ValidationTestCase({ + property: "all", + + valid: [ + "unset", + "initial", + "inherit" + ], + + invalid: { + "foo" : "Expected (initial | inherit | unset) but found 'foo'." + } + })); + suite.add(new ValidationTestCase({ property: "animation-direction", @@ -4427,6 +4457,45 @@ var YUITest = require("yuitest"), suite.add(new ValidationTestCase({ property: "text-decoration", + valid: [ + "none", + "underline red", + "underline wavy red", + "wavy", + "wavy red", + "red" + ], + + invalid: { + "underline underline" : "Expected end of value but found 'underline'.", + "underline wavy dotted": "Expected end of value but found 'dotted'.", + "underline wavy red purple": "Expected end of value but found 'purple'.", + "wavy dotted": "Expected end of value but found 'dotted'.", + "wavy red purple": "Expected end of value but found 'purple'.", + "red purple": "Expected end of value but found 'purple'.", + "foo" : "Expected ( || || ) but found 'foo'." + } + })); + + suite.add(new ValidationTestCase({ + property: "text-decoration-color", + + valid: [ + "red", + "#f00", + "transparent", + "rgba(255, 128, 128, 0.5)" + ], + + invalid: { + "foo" : "Expected () but found 'foo'.", + "invert" : "Expected () but found 'invert'." + } + })); + + suite.add(new ValidationTestCase({ + property: "text-decoration-line", + valid: [ "none", "underline", @@ -4442,6 +4511,23 @@ var YUITest = require("yuitest"), } })); + suite.add(new ValidationTestCase({ + property: "text-decoration-style", + + valid: [ + "solid", + "double", + "dotted", + "dashed", + "wavy" + ], + + invalid: { + "solid double" : "Expected end of value but found 'double'.", + "foo" : "Expected (solid | double | dotted | dashed | wavy) but found 'foo'." + } + })); + suite.add(new ValidationTestCase({ property: "text-rendering", diff --git a/dist/parserlib.js b/dist/parserlib.js index 4162e061..093ed1d9 100644 --- a/dist/parserlib.js +++ b/dist/parserlib.js @@ -20,7 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* Version v1.0.0, Build time: 15-July-2016 12:36:10 */ +/* Version v1.1.0, Build time: 6-December-2016 10:31:29 */ var parserlib = (function () { var require; require=(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 ]#", "-o-animation-play-state" : "[ running | paused ]#", - "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", + "appearance" : "none | auto", + "-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", + "-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", + "-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", + "-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", + "azimuth" : "", //B @@ -3688,7 +3696,10 @@ var Properties = module.exports = { "text-align" : "left | right | center | justify | match-parent | start | end", "text-align-last" : 1, "text-anchor" : "start | middle | end", - "text-decoration" : "", + "text-decoration" : " || || ", + "text-decoration-color" : "", + "text-decoration-line" : "", + "text-decoration-style" : "", "text-emphasis" : 1, "text-height" : 1, "text-indent" : " | ", @@ -4031,6 +4042,7 @@ function PropertyValuePart(text, line, col, optionalHint) { case "deg": case "rad": case "grad": + case "turn": this.type = "angle"; break; @@ -5162,7 +5174,7 @@ TokenStream.prototype = mix(new TokenStreamBase(), { if (/^em$|^ex$|^px$|^gd$|^rem$|^vw$|^vh$|^vmax$|^vmin$|^ch$|^cm$|^mm$|^in$|^pt$|^pc$/i.test(ident)) { tt = Tokens.LENGTH; - } else if (/^deg|^rad$|^grad$/i.test(ident)) { + } else if (/^deg|^rad$|^grad$|^turn$/i.test(ident)) { tt = Tokens.ANGLE; } else if (/^ms$|^s$/i.test(ident)) { tt = Tokens.TIME; @@ -5547,7 +5559,6 @@ TokenStream.prototype = mix(new TokenStreamBase(), { } }); - },{"../util/TokenStreamBase":27,"./PropertyValuePart":11,"./Tokens":18}],18:[function(require,module,exports){ "use strict"; @@ -6305,9 +6316,15 @@ copy(ValidationTypes, { Matcher.many([true /* length is required */], Matcher.cast("").braces(2, 4), "inset", ""), - "": + "": + "", + + "": "none | [ underline || overline || line-through || blink ]", + "": + "solid | double | dotted | dashed | wavy", + "": "auto | #",