@vivliostyle/core 2.15.7 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/vivliostyle/assets.d.ts +1 -1
- package/lib/vivliostyle/base.d.ts +3 -7
- package/lib/vivliostyle/css-cascade.d.ts +42 -9
- package/lib/vivliostyle/css-parser.d.ts +1 -5
- package/lib/vivliostyle/css-styler.d.ts +1 -1
- package/lib/vivliostyle/css-tokenizer.d.ts +9 -3
- package/lib/vivliostyle/css-validator.d.ts +17 -4
- package/lib/vivliostyle/css.d.ts +42 -24
- package/lib/vivliostyle/pseudo-element.d.ts +1 -1
- package/lib/vivliostyle/types.d.ts +4 -3
- package/lib/vivliostyle/vgen.d.ts +1 -1
- package/lib/vivliostyle.js +1 -1
- package/lib/vivliostyle.js.map +1 -1
- package/package.json +2 -2
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export declare const VivliostyleViewportScreenCss = "\n@media screen {\n [data-vivliostyle-viewer-viewport] {\n background: #aaaaaa;\n }\n\n [data-vivliostyle-page-container] {\n background: white;\n z-index: 0;\n }\n\n [data-vivliostyle-viewer-viewport] {\n display: flex;\n overflow: auto;\n position: relative;\n }\n\n [data-vivliostyle-outer-zoom-box] {\n margin: auto;\n overflow: hidden;\n flex: none;\n }\n\n [data-vivliostyle-viewer-viewport] [data-vivliostyle-spread-container] {\n display: -webkit-flex;\n display: flex;\n flex: none;\n justify-content: center;\n transform-origin: left top;\n }\n\n [data-vivliostyle-viewer-viewport][data-vivliostyle-page-progression=\"ltr\"]\n [data-vivliostyle-spread-container] {\n flex-direction: row;\n }\n\n [data-vivliostyle-viewer-viewport][data-vivliostyle-page-progression=\"rtl\"]\n [data-vivliostyle-spread-container] {\n flex-direction: row-reverse;\n }\n\n [data-vivliostyle-viewer-viewport] [data-vivliostyle-page-container] {\n margin: 0 auto;\n flex: none;\n transform-origin: center top;\n }\n\n [data-vivliostyle-viewer-viewport][data-vivliostyle-spread-view=\"true\"]\n [data-vivliostyle-page-container][data-vivliostyle-page-side=\"left\"] {\n margin-right: 1px;\n transform-origin: right top;\n }\n\n [data-vivliostyle-viewer-viewport][data-vivliostyle-spread-view=\"true\"]\n [data-vivliostyle-page-container][data-vivliostyle-page-side=\"right\"] {\n margin-left: 1px;\n transform-origin: left top;\n }\n\n [data-vivliostyle-viewer-viewport][data-vivliostyle-spread-view=\"true\"]\n [data-vivliostyle-page-container][data-vivliostyle-unpaired-page=\"true\"] {\n margin-left: auto;\n margin-right: auto;\n transform-origin: center top;\n }\n}\n";
|
|
21
21
|
export declare const VivliostyleViewportCss = "\n[data-vivliostyle-layout-box] {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n z-index: -1;\n}\n\n[data-vivliostyle-debug] [data-vivliostyle-layout-box] {\n right: auto;\n bottom: auto;\n overflow: visible;\n z-index: auto;\n}\n\n[data-vivliostyle-page-container] {\n position: relative;\n overflow: hidden;\n}\n\n[data-vivliostyle-bleed-box] {\n position: absolute;\n /* overflow: hidden; ** removed to fix issue #945 */\n box-sizing: border-box;\n}\n\n[data-vivliostyle-page-box] ~ [data-vivliostyle-page-box] {\n display: none;\n}\n\n[data-vivliostyle-toc-box] {\n position: absolute;\n left: 3px;\n top: 3px;\n overflow: scroll;\n overflow-x: hidden;\n background: rgba(248, 248, 248, 0.9);\n border-radius: 2px;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n@media print {\n [data-vivliostyle-toc-box] {\n display: none;\n }\n\n [data-vivliostyle-outer-zoom-box],\n [data-vivliostyle-spread-container] {\n width: 100% !important;\n height: 100% !important;\n }\n\n [data-vivliostyle-spread-container],\n [data-vivliostyle-page-container] {\n transform: none !important;\n }\n\n [data-vivliostyle-page-container] {\n display: block !important;\n max-height: 100vh;\n break-after: page;\n }\n\n [data-vivliostyle-bleed-box] > div > div::before {\n display: block;\n content: \"\";\n padding-top: 0.015625px;\n margin-bottom: -0.015625px;\n }\n\n /* Gecko-only hack, see https://bugzilla.mozilla.org/show_bug.cgi?id=267029#c17 */\n @-moz-document url-prefix() {\n [data-vivliostyle-page-container]:nth-last-child(n + 2) {\n top: -1px;\n margin-top: 1px;\n margin-bottom: -1px;\n }\n /* Workaround Gecko problem on page break */\n [data-vivliostyle-page-container] {\n break-after: auto;\n height: 100% !important;\n }\n }\n}\n";
|
|
22
|
-
export declare const ValidationTxt = "\n/*\n * Copyright 2013 Google, Inc.\n * Copyright 2015 Trim-marks Inc.\n * Copyright 2019 Vivliostyle Foundation\n *\n * CSS property validation.\n */\nNUM = POS_NUM | ZERO | NEGATIVE;\nNNEG_NUM = POS_NUM | ZERO;\nINT = POS_INT | ZERO | NEGATIVE;\nNNEG_INT = POS_INT | ZERO;\nPERCENTAGE = POS_PERCENTAGE | ZERO | NEGATIVE;\nSTRICT_PERCENTAGE = POS_PERCENTAGE | ZERO_PERCENTAGE | NEGATIVE;\nNNEG_PERCENTAGE = POS_PERCENTAGE | ZERO;\nLENGTH = POS_LENGTH | ZERO | NEGATIVE;\nNNEG_LENGTH = POS_LENGTH | ZERO | NEGATIVE;\nPLENGTH = LENGTH | PERCENTAGE;\nPPLENGTH = POS_LENGTH | ZERO | POS_PERCENTAGE;\nALENGTH = LENGTH | auto;\nAPLENGTH = PLENGTH | auto;\nPAPLENGTH = PPLENGTH | auto;\nANGLE = POS_ANGLE | ZERO | NEGATIVE;\nLENGTH_OR_NUM = LENGTH | NUM;\nANGLE_OR_NUM = ANGLE | NUM;\nMIN_MAX_FIT_CONTENT = min-content | max-content | fit-content;\nSCOLOR = HASHCOLOR | aliceblue: #F0F8FF | antiquewhite: #FAEBD7 | aqua: #00FFFF | aquamarine: #7FFFD4 | azure: #F0FFFF |\n beige: #F5F5DC | bisque: #FFE4C4 | black: #000000 | blanchedalmond: #FFEBCD | blue: #0000FF | blueviolet: #8A2BE2 | brown: #A52A2A |\n burlywood: #DEB887 | cadetblue: #5F9EA0 | chartreuse: #7FFF00 | chocolate: #D2691E | coral: #FF7F50 | cornflowerblue: #6495ED |\n cornsilk: #FFF8DC | crimson: #DC143C | cyan: #00FFFF | darkblue: #00008B | darkcyan: #008B8B | darkgoldenrod: #B8860B |\n darkgray: #A9A9A9 | darkgreen: #006400 | darkgrey: #A9A9A9 | darkkhaki: #BDB76B | darkmagenta: #8B008B | darkolivegreen: #556B2F |\n darkorange: #FF8C00 | darkorchid: #9932CC | darkred: #8B0000 | darksalmon: #E9967A | darkseagreen: #8FBC8F | darkslateblue: #483D8B |\n darkslategray: #2F4F4F | darkslategrey: #2F4F4F | darkturquoise: #00CED1 | darkviolet: #9400D3 | deeppink: #FF1493 |\n deepskyblue: #00BFFF | dimgray: #696969 | dimgrey: #696969 | dodgerblue: #1E90FF | firebrick: #B22222 | floralwhite: #FFFAF0 |\n forestgreen: #228B22 | fuchsia: #FF00FF | gainsboro: #DCDCDC | ghostwhite: #F8F8FF | gold: #FFD700 | goldenrod: #DAA520 |\n gray: #808080 | green: #008000 | greenyellow: #ADFF2F | grey: #808080 | honeydew: #F0FFF0 | hotpink: #FF69B4 | indianred: #CD5C5C |\n indigo: #4B0082 | ivory: #FFFFF0 | khaki: #F0E68C | lavender: #E6E6FA | lavenderblush: #FFF0F5 | lawngreen: #7CFC00 |\n lemonchiffon: #FFFACD | lightblue: #ADD8E6 | lightcoral: #F08080 | lightcyan: #E0FFFF | lightgoldenrodyellow: #FAFAD2 |\n lightgray: #D3D3D3 | lightgreen: #90EE90 | lightgrey: #D3D3D3 | lightpink: #FFB6C1 | lightsalmon: #FFA07A | lightseagreen: #20B2AA |\n lightskyblue: #87CEFA | lightslategray: #778899 | lightslategrey: #778899 | lightsteelblue: #B0C4DE | lightyellow: #FFFFE0 |\n lime: #00FF00 | limegreen: #32CD32 | linen: #FAF0E6 | magenta: #FF00FF | maroon: #800000 | mediumaquamarine: #66CDAA |\n mediumblue: #0000CD | mediumorchid: #BA55D3 | mediumpurple: #9370DB | mediumseagreen: #3CB371 | mediumslateblue: #7B68EE |\n mediumspringgreen: #00FA9A | mediumturquoise: #48D1CC | mediumvioletred: #C71585 | midnightblue: #191970 | mintcream: #F5FFFA |\n mistyrose: #FFE4E1 | moccasin: #FFE4B5 | navajowhite: #FFDEAD | navy: #000080 | oldlace: #FDF5E6 | olive: #808000 |\n olivedrab: #6B8E23 | orange: #FFA500 | orangered: #FF4500 | orchid: #DA70D6 | palegoldenrod: #EEE8AA | palegreen: #98FB98 |\n paleturquoise: #AFEEEE | palevioletred: #DB7093 | papayawhip: #FFEFD5 | peachpuff: #FFDAB9 | peru: #CD853F | pink: #FFC0CB |\n plum: #DDA0DD | powderblue: #B0E0E6 | purple: #800080 | rebeccapurple: #663399 | red: #FF0000 | rosybrown: #BC8F8F | royalblue: #4169E1 |\n saddlebrown: #8B4513 | salmon: #FA8072 | sandybrown: #F4A460 | seagreen: #2E8B57 | seashell: #FFF5EE | sienna: #A0522D |\n silver: #C0C0C0 | skyblue: #87CEEB | slateblue: #6A5ACD | slategray: #708090 | slategrey: #708090 | snow: #FFFAFA |\n springgreen: #00FF7F | steelblue: #4682B4 | tan: #D2B48C | teal: #008080 | thistle: #D8BFD8 | tomato: #FF6347 |\n turquoise: #40E0D0 | violet: #EE82EE | wheat: #F5DEB3 | white: #FFFFFF | whitesmoke: #F5F5F5 | yellow: #FFFF00 |\n yellowgreen: #9ACD32 | transparent | currentcolor;\nRGBCOLOR = rgb(INT{3}) | rgb(STRICT_PERCENTAGE{3});\nRGBACOLOR = rgba(NUM{4}) | rgba(STRICT_PERCENTAGE{3} NUM);\nHSLCOLOR = hsl(NUM PERCENTAGE{2});\nHSLACOLOR = hsl(NUM PERCENTAGE{2} NUM);\nCOLOR = SCOLOR | RGBCOLOR | RGBACOLOR | HSLCOLOR | HSLACOLOR;\nBG_POSITION_TERM = PLENGTH | left | center | right | top | bottom;\nSIDE_OR_CORNER = [left | right] || [top | bottom];\nCOLOR_STOP = SPACE(COLOR [PERCENTAGE | LENGTH]?);\nLINEAR_GRADIENT = linear-gradient([ANGLE | SPACE(to SIDE_OR_CORNER)]? COLOR_STOP+) |\n repeating-linear-gradient([ANGLE | SPACE(to SIDE_OR_CORNER)]? COLOR_STOP+) |;\nGRADIENT_EXTENT = closest-corner | closest-side | farthest-corner | farthest-side;\nGRADIENT_POSITION = at BG_POSITION_TERM{1,4};\nGRADIENT_SHAPE = SPACE(circle LENGTH? GRADIENT_POSITION?) | SPACE(ellipse PLENGTH{2}? GRADIENT_POSITION?)| SPACE([circle | ellipse] GRADIENT_EXTENT? GRADIENT_POSITION?);\nRADIAL_GRADIENT = radial-gradient([GRADIENT_SHAPE | SPACE(GRADIENT_POSITION)]? COLOR_STOP+) |\n repeating-radial-gradient([GRADIENT_SHAPE | SPACE(GRADIENT_POSITION)]? COLOR_STOP+);\nURI_OR_NONE = URI | none;\nIMAGE = URI | LINEAR_GRADIENT | RADIAL_GRADIENT | none;\nbackground-attachment = COMMA( [scroll | fixed | local]+ );\nbackground-color = COLOR;\nbackground-image = COMMA( IMAGE+ );\nbackground-position = COMMA( SPACE(BG_POSITION_TERM{1,4})+ ); /* relaxed */\nbackground-repeat = COMMA( [repeat | repeat-x | repeat-y | no-repeat]+ );\nborder-collapse = collapse | separate;\nBORDER_SIDE_COLOR = COLOR;\nBORDER_SIDE_STYLE = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset;\nBORDER_SIDE_WIDTH = thin: 1px | medium: 3px | thick: 5px | NNEG_LENGTH;\nborder-spacing = LENGTH LENGTH?;\nborder-top-color = BORDER_SIDE_COLOR;\nborder-right-color = BORDER_SIDE_COLOR;\nborder-bottom-color = BORDER_SIDE_COLOR;\nborder-left-color = BORDER_SIDE_COLOR;\nborder-top-style = BORDER_SIDE_STYLE;\nborder-right-style = BORDER_SIDE_STYLE;\nborder-bottom-style = BORDER_SIDE_STYLE;\nborder-left-style = BORDER_SIDE_STYLE;\nborder-top-width = BORDER_SIDE_WIDTH;\nborder-right-width = BORDER_SIDE_WIDTH;\nborder-bottom-width = BORDER_SIDE_WIDTH;\nborder-left-width = BORDER_SIDE_WIDTH;\nBORDER_RADIUS = PLENGTH{1,2};\nborder-top-left-radius = BORDER_RADIUS;\nborder-top-right-radius = BORDER_RADIUS;\nborder-bottom-right-radius = BORDER_RADIUS;\nborder-bottom-left-radius = BORDER_RADIUS;\nborder-image-source = IMAGE;\nborder-image-slice = [NUM | PERCENTAGE]{1,4} || fill; /* relaxed */\nborder-image-width = [NUM | PLENGTH | auto]{1,4};\nborder-image-outset = [NUM | LENGTH]{1,4};\nborder-image-repeat = [ stretch | repeat | round | space ]{1,2};\nbottom = APLENGTH;\ncaption-side = top | bottom;\nclear = none | left | right | top | bottom | both | all | same;\nclip = rect(ALENGTH{4}) | rect(SPACE(ALENGTH{4})) | auto;\ncolor = COLOR;\nLIST_STYLE_TYPE = disc | circle | square | decimal | decimal-leading-zero | lower-roman |\n upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha |\n upper-alpha | russian | upper-russian | lower-russian | cjk-ideographic | trad-chinese-informal |\n hebrew | none;\nTYPE_OR_UNIT_IN_ATTR = string | color | url | integer | number | length | angle | time | frequency;\nATTR = attr(SPACE(IDENT TYPE_OR_UNIT_IN_ATTR?) [ STRING | IDENT | COLOR | INT | NUM | PLENGTH | ANGLE | POS_TIME | FREQUENCY]?);\nCONTENT_LIST = [ STRING | URI | counter(IDENT LIST_STYLE_TYPE?) |\n counters(IDENT STRING LIST_STYLE_TYPE?) | ATTR |\n target-counter([ STRING | URI ] IDENT LIST_STYLE_TYPE?) |\n target-counter(ATTR IDENT LIST_STYLE_TYPE?) |\n target-counters([ STRING | URI ] IDENT STRING LIST_STYLE_TYPE?) |\n target-counters(ATTR IDENT STRING LIST_STYLE_TYPE?) |\n open-quote | close-quote | no-open-quote | no-close-quote |\n content([ text | before | after | first-letter ]?) |\n string(IDENT [first | start | last | first-except]?) ]+;\nCONTENT = normal | none | CONTENT_LIST;\ncontent = CONTENT;\nCOUNTER = [ IDENT INT? ]+ | none;\ncounter-increment = COUNTER;\ncounter-reset = COUNTER;\ncounter-set = COUNTER;\ncursor = COMMA(URI* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize |\n n-resize | se-resize | sw-resize | s-resize | w-resize | text | wait | help | progress ]);\ndirection = ltr | rtl;\ndisplay = inline | block | list-item | inline-block | table | inline-table | table-row-group |\n table-header-group | table-footer-group | table-row | table-column-group | table-column |\n table-cell | table-caption | none | oeb-page-head | oeb-page-foot | flex | inline-flex |\n ruby | ruby-base | ruby-text | ruby-base-container | ruby-text-container | run-in | compact | marker;\nempty-cells = show | hide;\nFAMILY = SPACE(IDENT+) | STRING;\nFAMILY_LIST = COMMA( FAMILY+ );\nfont-family = FAMILY_LIST;\nfont-size = xx-small | x-small | small | medium | large | x-large | xx-large | larger | smaller | PPLENGTH | POS_NUM;\nfont-style = normal | italic | oblique;\nfont-weight = normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\nheight = PAPLENGTH | POS_NUM | MIN_MAX_FIT_CONTENT;\nleft = APLENGTH;\nletter-spacing = normal | LENGTH_OR_NUM;\nline-height = normal | POS_NUM | PPLENGTH;\nlist-style-image = IMAGE;\nlist-style-position = inside | outside;\nlist-style-type = LIST_STYLE_TYPE;\nmargin-right = APLENGTH;\nmargin-left = APLENGTH;\nmargin-top = APLENGTH;\nmargin-bottom = APLENGTH;\nNPLENGTH = none | PLENGTH;\nmax-height = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmax-width = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmin-height = APLENGTH | MIN_MAX_FIT_CONTENT;\nmin-width = APLENGTH | MIN_MAX_FIT_CONTENT;\norphans = POS_INT;\noutline-offset = LENGTH;\noutline-color = COLOR | invert;\noutline-style = BORDER_SIDE_STYLE;\noutline-width = BORDER_SIDE_WIDTH;\noverflow = visible | hidden | scroll | auto;\npadding-right = PPLENGTH;\npadding-left = PPLENGTH;\npadding-top = PPLENGTH;\npadding-bottom = PPLENGTH;\nPAGE_BREAK = auto | always | avoid | left | right | recto | verso;\npage-break-after = PAGE_BREAK;\npage-break-before = PAGE_BREAK;\npage-break-inside = avoid | auto;\nposition = static | relative | absolute | fixed;\nquotes = [STRING STRING]+ | none;\nright = APLENGTH;\ntable-layout = auto | fixed;\ntext-align = left | right | center | justify | start | end;\ntext-decoration = none | [ underline || overline || line-through || blink ];\ntext-indent = PLENGTH;\ntext-transform = capitalize | uppercase | lowercase | none;\ntop = APLENGTH;\nvertical-align = baseline | sub | super | top | text-top | middle | bottom | text-bottom | PLENGTH;\nvisibility = visible | hidden | collapse;\nwhite-space = normal | pre | nowrap | pre-wrap | pre-line | break-spaces;\nwidows = POS_INT;\nwidth = PAPLENGTH | POS_NUM | MIN_MAX_FIT_CONTENT;\nword-spacing = normal | LENGTH_OR_NUM;\nz-index = auto | INT;\n\n[epub,moz,webkit]hyphens = auto | manual | none;\n[webkit]hyphenate-character = auto | STRING;\n\n/* css-logical */\nmargin-block-start = APLENGTH;\nmargin-block-end = APLENGTH;\nmargin-inline-start = APLENGTH;\nmargin-inline-end = APLENGTH;\npadding-block-start = APLENGTH;\npadding-block-end = APLENGTH;\npadding-inline-start = APLENGTH;\npadding-inline-end = APLENGTH;\nborder-block-start-color = BORDER_SIDE_COLOR;\nborder-block-end-color = BORDER_SIDE_COLOR;\nborder-inline-start-color = BORDER_SIDE_COLOR;\nborder-inline-end-color = BORDER_SIDE_COLOR;\nborder-block-start-style = BORDER_SIDE_STYLE;\nborder-block-end-style = BORDER_SIDE_STYLE;\nborder-inline-start-style = BORDER_SIDE_STYLE;\nborder-inline-end-style = BORDER_SIDE_STYLE;\nborder-block-start-width = BORDER_SIDE_WIDTH;\nborder-block-end-width = BORDER_SIDE_WIDTH;\nborder-inline-start-width = BORDER_SIDE_WIDTH;\nborder-inline-end-width = BORDER_SIDE_WIDTH;\nblock-start = APLENGTH;\nblock-end = APLENGTH;\ninline-start = APLENGTH;\ninline-end = APLENGTH;\nblock-size = PAPLENGTH | MIN_MAX_FIT_CONTENT;\ninline-size = PAPLENGTH | MIN_MAX_FIT_CONTENT;\nmax-block-size = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmax-inline-size = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmin-block-size = APLENGTH | MIN_MAX_FIT_CONTENT;\nmin-inline-size = APLENGTH | MIN_MAX_FIT_CONTENT;\n\nSHAPE = auto | rectangle( PLENGTH{4} ) | ellipse( PLENGTH{4} ) | circle( PLENGTH{3} ) |\n polygon( SPACE(PLENGTH+)+ );\n[epubx]shape-inside = SHAPE;\n[epubx,webkit]shape-outside = SHAPE;\n[epubx]wrap-flow = auto | both | start | end | maximum | clear | around /* epub al */;\n\nTRANSFORM_FUNCTION = matrix(NUM{6}) | translate(PLENGTH{1,2}) | translateX(PLENGTH) | translateY(PLENGTH) |\n scale(NUM{1,2}) | scaleX(NUM) | scaleY(NUM) | rotate(ANGLE) | skewX(ANGLE) | skewY(ANGLE);\n[epub]transform = none | TRANSFORM_FUNCTION+;\n[epub]transform-origin = [[[ top | bottom | left | right] PLENGTH?] | center | PLENGTH]{1,2}; /* relaxed */\n\nBOX = border-box | padding-box | content-box;\nSHADOW = SPACE(inset || LENGTH{2,4} || COLOR); /* relaxed */\n[webkit]background-size = COMMA( SPACE( [PLENGTH | auto ]{1,2} | cover | contain)+ );\n[webkit]background-origin = COMMA( BOX+ );\n[webkit]background-clip = COMMA( BOX+ );\n[webkit]box-shadow = none | COMMA( SHADOW+ );\ntext-shadow = none | COMMA( SHADOW+ );\n[webkit]box-decoration-break = slice | clone;\nFILTER_FUNCTION = blur(LENGTH) | brightness(NUM | PERCENTAGE) | contrast(NUM | PERCENTAGE) | drop-shadow(SPACE(LENGTH{2,3} COLOR?))\n | grayscale(NUM | PERCENTAGE) | hue-rotate(ANGLE) | invert(NUM | PERCENTAGE) | opacity(NUM | PERCENTAGE)\n | saturate(NUM | PERCENTAGE) | sepia(NUM | PERCENTAGE);\nFILTER_FUNCTION_LIST = FILTER_FUNCTION+;\n[webkit]filter = none | FILTER_FUNCTION_LIST;\n\nopacity = NUM;\n\n[moz,webkit]column-width = LENGTH | auto;\n[moz,webkit]column-count = INT | auto;\n[moz,webkit]column-gap = LENGTH | normal;\n[moz,webkit]column-rule-color = COLOR;\n[moz,webkit]column-rule-style = BORDER_SIDE_STYLE;\n[moz,webkit]column-rule-width = BORDER_SIDE_WIDTH;\nBREAK = auto | avoid | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region;\nbreak-before = BREAK;\nbreak-after = BREAK;\nbreak-inside = auto | avoid | avoid-page | avoid-column | avoid-region;\n[webkit]column-span = none | auto | all;\n[moz]column-fill = auto | balance | balance-all;\n\nsrc = COMMA([SPACE(URI format(STRING+)?) | local(FAMILY)]+); /* for font-face */\n\n[epubx,webkit]flow-from = IDENT;\n[epubx,webkit]flow-into = IDENT;\n[epubx]flow-linger = INT | none;\n[epubx]flow-priority = INT;\n[epubx]flow-options = none | [ exclusive || last || static ];\n[epubx]page = INT | auto | IDENT; /* page: IDENT is for CSS Paged Media */\n[epubx]min-page-width = LENGTH;\n[epubx]min-page-height = LENGTH;\n[epubx]required = true | false;\n[epubx]enabled = true | false;\n[epubx]conflicting-partitions = COMMA(IDENT+);\n[epubx]required-partitions = COMMA(IDENT+);\n[epubx]snap-height = LENGTH | none;\n[epubx]snap-width = LENGTH | none;\n[epubx]flow-consume = all | some;\n[epubx]utilization = NUM;\n[epubx]text-zoom = font-size | scale;\n\n[adapt]template = URI_OR_NONE;\n[adapt]behavior = IDENT;\n\n/* CSS Fonts */\nCOMMON_LIG_VALUES = [ common-ligatures | no-common-ligatures ];\nDISCRETIONARY_LIG_VALUES = [ discretionary-ligatures | no-discretionary-ligatures ];\nHISTORICAL_LIG_VALUES = [ historical-ligatures | no-historical-ligatures ];\nCONTEXTUAL_ALT_VALUES = [ contextual | no-contextual ];\nfont-variant-ligatures = normal | none | [ COMMON_LIG_VALUES || DISCRETIONARY_LIG_VALUES || HISTORICAL_LIG_VALUES || CONTEXTUAL_ALT_VALUES ];\nfont-variant-caps = normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps;\nNUMERIC_FIGURE_VALUES = [ lining-nums | oldstyle-nums ];\nNUMERIC_SPACING_VALUES = [ proportional-nums | tabular-nums ];\nNUMERIC_FRACTION_VALUES = [ diagonal-fractions | stacked-fractions ];\nfont-variant-numeric = normal | [ NUMERIC_FIGURE_VALUES || NUMERIC_SPACING_VALUES || NUMERIC_FRACTION_VALUES || ordinal || slashed-zero ];\nEAST_ASIAN_VARIANT_VALUES = [ jis78 | jis83 | jis90 | jis04 | simplified | traditional ];\nEAST_ASIAN_WIDTH_VALUES = [ full-width | proportional-width ];\nfont-variant-east-asian = normal | [ EAST_ASIAN_VARIANT_VALUES || EAST_ASIAN_WIDTH_VALUES || ruby ];\nfont-variant_css2 = normal | small-caps; /* for font shorthand */\nfont-size-adjust = none | NNEG_NUM;\n[webkit]font-kerning = auto | normal | none;\nfont-feature-settings = COMMA( normal | SPACE( STRING [ on | off | INT ]? )+ );\nFONT_STRETCH_CSS3_VALUES = normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded;\nfont-stretch = FONT_STRETCH_CSS3_VALUES | PERCENTAGE;\nfont-stretch_css3 = FONT_STRETCH_CSS3_VALUES; /* for font shorthand */\nfont-display = [ auto | block | swap | fallback | optional ];\nunicode-range = COMMA( URANGE+ );\n\n/* CSS Images */\nimage-resolution = RESOLUTION;\nobject-fit = fill | contain | cover | none | scale-down;\nobject-position = COMMA( SPACE(BG_POSITION_TERM{1,4})+ ); /* relaxed */\n\n/* CSS Paged Media */\nPAGE_SIZE = a10 | a9 | a8 | a7 | a6 | a5 | a4 | a3 | a2 | a1 | a0\n | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0\n | c10 | c9 | c8 | c7 | c6 | c5 | c4 | c3 | c2 | c1 | c0\n | jis-b10 | jis-b9 | jis-b8 | jis-b7 | jis-b6 | jis-b5 | jis-b4 | jis-b3 | jis-b2 | jis-b1 | jis-b0\n | letter | legal | ledger;\nbleed = auto | LENGTH;\nmarks = none | [ crop || cross ];\nsize = POS_LENGTH{1,2} | auto | [ PAGE_SIZE || [ portrait | landscape ] ];\ncrop-offset = auto | LENGTH;\n\n/* CSS Page Floats */\nfloat-reference = inline | column | region | page;\nfloat = block-start | block-end | inline-start | inline-end | snap-block | snap-inline | left | right | top | bottom | none | footnote;\nfloat-min-wrap-block = PPLENGTH;\n\n/* CSS Ruby */\nruby-align = start | center | space-between | space-around;\nruby-position = over | under | inter-character;\n\n/* CSS Size Adjust */\n[moz]text-size-adjust = auto | none | POS_PERCENTAGE;\n\n/* CSS Text */\n[webkit]line-break = auto | loose | normal | strict | anywhere;\noverflow-wrap = normal | break-word | anywhere;\n[moz]tab-size = NNEG_INT | NNEG_LENGTH;\n[moz]text-align-last = auto | start | end | left | right | center | justify;\ntext-justify = auto | none | inter-word | inter-character;\nword-break = normal | keep-all | break-all | break-word;\ntext-spacing = normal | none | auto | [[ trim-start | space-start | space-first ] ||\n [ trim-end | space-end | allow-end ] || [ trim-adjacent | space-adjacent ] ||\n no-compress || ideograph-alpha || ideograph-numeric || punctuation];\nhanging-punctuation = none | [ first || [ force-end | allow-end ] || last ];\n\n/* CSS Text Decoration */\n[webkit]text-decoration-color = COLOR;\n[webkit]text-decoration-line = none | [ underline || overline || line-through || blink ];\n[webkit]text-decoration-skip = none | [ objects || spaces || ink || edges || box-decoration ];\n[webkit]text-decoration-style = solid | double | dotted | dashed | wavy;\n[epub,webkit]text-emphasis-color = COLOR;\n[webkit]text-emphasis-position = [ over | under ] [ right | left ];\n[epub,webkit]text-emphasis-style = none | [[ filled | open ] || [ dot | circle | double-circle | triangle | sesame ]] | STRING;\n[webkit]text-underline-position = auto | [ under || [ left | right ]];\n\n/* CSS Transforms */\n[webkit]backface-visibility = visible | hidden;\n\n/* CSS UI */\nbox-sizing = content-box | padding-box | border-box;\ntext-overflow = [clip | ellipsis | STRING]{1,2};\n\n/* CSS Writing Modes */\n[epub,webkit]text-combine = none | horizontal;\ntext-combine-upright = none | all; /* relaxed */\n[epub,webkit]text-orientation = mixed | upright | sideways-right | sideways-left | sideways | use-glyph-orientation /* the following values are kept for backward-compatibility */ | vertical-right | rotate-right | rotate-left | rotate-normal | auto;\nunicode-bidi = normal | embed | isolate | bidi-override | isolate-override | plaintext;\n[epub,webkit]writing-mode = horizontal-tb | vertical-rl | lr-tb | rl-tb | tb-rl | lr | rl | tb;\n\n/* CSS Flex box */\nFLEX_BASIS = content | PAPLENGTH;\nflex-direction = row | row-reverse | column | column-reverse;\nflex-wrap = nowrap | wrap | wrap-reverse;\norder = INT;\nflex-grow = NNEG_NUM;\nflex-shrink = NNEG_NUM;\nflex-basis = FLEX_BASIS;\nflex = none | [ [ NNEG_NUM NNEG_NUM? ] || FLEX_BASIS ];\njustify-content = flex-start | flex-end | center | space-between | space-around;\nalign-items = flex-start | flex-end | center | baseline | stretch;\nalign-self = auto | flex-start | flex-end | center | baseline | stretch;\nalign-content = flex-start | flex-end | center | space-between | space-around | stretch;\n\n/* Pointer Events */\ntouch-action = auto | none | [ pan-x || pan-y ] | manipulation;\n\n/* SVG 2 */\nOPACITY_VALUE = NUM | PERCENTAGE;\nDASH_ARRAY = COMMA( SPACE( [ LENGTH | PERCENTAGE | NUM ]+ )+ );\nPAINT = none | child | child(INT) | COLOR | SPACE( URI [none | COLOR]? ) | context-fill | context-stroke;\ncolor-interpolation = auto | sRGB | linearRGB;\ncolor-rendering = auto | optimizeSpeed | optimizeQuality;\nfill = PAINT;\nfill-opacity = OPACITY_VALUE;\nfill-rule = nonzero | evenodd;\nglyph-orientation-vertical = auto | NUM | ANGLE;\nimage-rendering = auto | optimizeSpeed | optimizeQuality | crisp-edges | pixelated;\nmarker-start = none | URI;\nmarker-mid = none | URI;\nmarker-end = none | URI;\npointer-events = bounding-box | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none;\npaint-order = normal | [ fill || stroke || markers ];\nshape-rendering = auto | optimizeSpeed | crispEdges | geometricPrecision;\nstop-color = COLOR;\nstop-opacity = OPACITY_VALUE;\nstroke = PAINT;\nstroke-dasharray = none | DASH_ARRAY;\nstroke-dashoffset = PERCENTAGE | LENGTH_OR_NUM;\nstroke-linecap = butt | round | square;\nstroke-linejoin = miter | round | bevel;\nstroke-miterlimit = NUM;\nstroke-opacity = OPACITY_VALUE;\nstroke-width = PERCENTAGE | LENGTH_OR_NUM;\ntext-anchor = start | middle | end;\ntext-rendering = auto | optimizeSpeed | optimizeLegibility | geometricPrecision;\nvector-effect = none | SPACE( [ non-scaling-stroke | non-scaling-size | non-rotation | fixed-position ]+ [ viewport | screen ]? );\n\n/* SVG 1.1 */\nalignment-baseline = auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical;\nbaseline-shift = baseline | sub | super | PERCENTAGE | LENGTH_OR_NUM;\ndominant-baseline = auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge;\nmask = none | URI;\n\n/* css-masking-1 */\nSHAPE_RADIUS = PLENGTH | closest-side | farthest-side;\nFILL_RULE = nonzero | evenodd;\nSHAPE_BOX = BOX | margin-box;\nGEOMETRY_BOX = SHAPE_BOX | fill-box | stroke-box | view-box;\nBASIC_SHAPE =\n inset( SPACE( PLENGTH{1,4} [ round PLENGTH{1,4} [ SLASH PLENGTH{1,4} ]? ]? ) )\n | circle( SPACE( [SHAPE_RADIUS]? [at BG_POSITION_TERM{1,4}]? ) )\n | ellipse( SPACE( SHAPE_RADIUS{2}? [at BG_POSITION_TERM{1,4}]? ) )\n | polygon( FILL_RULE? COMMA( SPACE( PLENGTH{2} )+ )+ );\n[webkit]clip-path = none | URI | [ BASIC_SHAPE || GEOMETRY_BOX ];\nclip-rule = nonzero | evenodd;\n\n/* filters */\nflood-color = COLOR;\nflood-opacity = OPACITY_VALUE;\nlighting-color = COLOR;\n\n/* compositing-1 */\nBLEND_MODE = normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity;\nmix-blend-mode = BLEND_MODE;\nisolation = auto | isolate;\nbackground-blend-mode = COMMA( BLEND_MODE+ );\n\n/* CSS GCPM */\nstring-set = COMMA( SPACE( IDENT CONTENT_LIST )+ | none );\nfootnote-policy = auto | line;\n\n/* CSS Repeated Headers and Footers */\n[viv]repeat-on-break = auto | none | header | footer;\n\nDEFAULTS\n\nbackground-attachment: scroll;\nbackground-color: transparent;\nbackground-image: none;\nbackground-repeat: repeat;\nbackground-position: 0% 0%;\nbackground-clip: border-box;\nbackground-origin: padding-box;\nbackground-size: auto;\nborder-top-color: currentColor;\nborder-right-color: currentColor;\nborder-bottom-color: currentColor;\nborder-left-color: currentColor;\nborder-top-style: none;\nborder-right-style: none;\nborder-bottom-style: none;\nborder-left-style: none;\nborder-top-width: 3px;\nborder-right-width: 3px;\nborder-bottom-width: 3px;\nborder-left-width: 3px;\nborder-top-left-radius: 0;\nborder-top-right-radius: 0;\nborder-bottom-right-radius: 0;\nborder-bottom-left-radius: 0;\nborder-image-source: none;\nborder-image-slice: 100%;\nborder-image-width: 1;\nborder-image-outset: 0;\nborder-image-repeat: stretch;\ncolumn-count: auto;\ncolumn-gap: normal;\ncolumn-width: auto;\ncolumn-rule-color: currentColor;\ncolumn-rule-style: none;\ncolumn-rule-width: 3px;\ncolumn-fill: balance;\noutline-color: currentColor;\noutline-style: none;\noutline-width: 3px;\nflex-direction: row;\nflex-wrap: nowrap;\nfont-family: serif;\nfont-style: normal;\nfont-size: medium;\nfont-size-adjust: none;\nfont-kerning: auto;\nfont-feature-settings: normal;\nfont-variant-ligatures: normal;\nfont-variant-caps: normal;\nfont-variant-numeric: normal;\nfont-variant-east-asian: normal;\nfont-weight: normal;\nfont-stretch: normal;\nline-height: normal;\nlist-style-image: none;\nlist-style-position: outside;\nlist-style-type: disc;\nmargin-bottom: auto;\nmargin-left: auto;\nmargin-right: auto;\nmargin-top: auto;\npadding-bottom: auto;\npadding-left: auto;\npadding-right: auto;\npadding-top: auto;\ntext-emphasis-color: currentColor;\ntext-emphasis-style: none;\nmarker-start: none;\nmarker-mid: none;\nmarker-end: none;\n\n/* css-logical */\nborder-block-start-color: currentColor;\nborder-block-end-color: currentColor;\nborder-inline-start-color: currentColor;\nborder-inline-end-color: currentColor;\nborder-block-start-style: none;\nborder-block-end-style: none;\nborder-inline-start-style: none;\nborder-inline-end-style: none;\nborder-block-start-width: 3px;\nborder-block-end-width: 3px;\nborder-inline-start-width: 3px;\nborder-inline-end-width: 3px;\n\nSHORTHANDS\n\nbackground = COMMA background-image [background-position [ / background-size ]] background-repeat\n background-attachment [background-origin background-clip] background-color; /* background-color is a special case, see the code */\nborder-top = border-top-width border-top-style border-top-color;\nborder-right = border-right-width border-right-style border-right-color;\nborder-bottom = border-bottom-width border-bottom-style border-bottom-color;\nborder-left = border-left-width border-left-style border-left-color;\nborder-width = INSETS border-top-width border-right-width border-bottom-width border-left-width;\nborder-style = INSETS border-top-style border-right-style border-bottom-style border-left-style;\nborder-color = INSETS border-top-color border-right-color border-bottom-color border-left-color;\nborder = border-width border-style border-color;\nborder-image = border-image-source border-image-slice [ / border-image-width [ / border-image-outset ] ]\n border-image-repeat;\nborder-radius = INSETS_SLASH border-top-left-radius border-top-right-radius\n border-bottom-right-radius border-bottom-left-radius;\n[moz,webkit]columns = column-width column-count;\n[moz,webkit]column-rule = column-rule-width column-rule-style column-rule-color;\nflex-flow = flex-direction flex-wrap;\noeb-column-number = column-count;\noutline = outline-width outline-style outline-color;\nlist-style = list-style-type list-style-position list-style-image;\nmargin = INSETS margin-top margin-right margin-bottom margin-left;\npadding = INSETS padding-top padding-right padding-bottom padding-left;\nfont = FONT font-style font-variant_css2 font-weight font-stretch_css3 /* font-size line-height font-family are special-cased */;\nfont-variant = font-variant-ligatures font-variant-caps font-variant-numeric font-variant-east-asian;\n[epub,webkit]text-emphasis = text-emphasis-style text-emphasis-color;\nmarker = INSETS marker-start marker-mid marker-end;\n\n/* css-logical */\nmargin-block = INSETS margin-block-start margin-block-end;\nmargin-inline = INSETS margin-inline-start margin-inline-end;\npadding-block = INSETS padding-block-start padding-block-end;\npadding-inline = INSETS padding-inline-start padding-inline-end;\nborder-block-width = INSETS border-block-start-width border-block-end-width;\nborder-block-style = INSETS border-block-start-style border-block-end-style;\nborder-block-color = INSETS border-block-start-color border-block-end-color;\nborder-inline-width = INSETS border-inline-start-width border-inline-end-width;\nborder-inline-style = INSETS border-inline-start-style border-inline-end-style;\nborder-inline-color = INSETS border-inline-start-color border-inline-end-color;\nborder-block = border-block-width border-block-style border-block-color;\nborder-inline = border-inline-width border-inline-style border-inline-color;\nborder-block-start = border-block-start-width border-block-start-style border-block-start-color;\nborder-block-end = border-block-end-width border-block-end-style border-block-end-color;\nborder-inline-start = border-inline-start-width border-inline-start-style border-inline-start-color;\nborder-inline-end = border-inline-end-width border-inline-end-style border-inline-end-color;\ninset-block-start = block-start;\ninset-block-end = block-end;\ninset-inline-start = inline-start;\ninset-inline-end = inline-end;\ninset-block = INSETS block-start block-end;\ninset-inline = INSETS inline-start inline-end;\n\n/* old names */\nword-wrap = overflow-wrap;\n[adapt,webkit]margin-before = margin-block-start;\n[adapt,webkit]margin-after = margin-block-end;\n[adapt,webkit]margin-start = margin-inline-start;\n[adapt,webkit]margin-end = margin-inline-end;\n[adapt,webkit]padding-before = padding-block-start;\n[adapt,webkit]padding-after = padding-block-end;\n[adapt,webkit]padding-start = padding-inline-start;\n[adapt,webkit]padding-end = padding-inline-end;\n[adapt,webkit]border-before-color = border-block-start-color;\n[adapt,webkit]border-after-color = border-block-end-color;\n[adapt,webkit]border-start-color = border-inline-start-color;\n[adapt,webkit]border-end-color = border-inline-end-color;\n[adapt,webkit]border-before-style = border-block-start-style;\n[adapt,webkit]border-after-style = border-block-end-style;\n[adapt,webkit]border-start-style = border-inline-start-style;\n[adapt,webkit]border-end-style = border-inline-end-style;\n[adapt,webkit]border-before-width = border-block-start-width;\n[adapt,webkit]border-after-width = border-block-end-width;\n[adapt,webkit]border-start-width = border-inline-start-width;\n[adapt,webkit]border-end-width = border-inline-end-width;\n[adapt,webkit]before = block-start;\n[adapt,webkit]after = block-end;\n[adapt,webkit]start = inline-start;\n[adapt,webkit]end = inline-end;\n\n";
|
|
22
|
+
export declare const ValidationTxt = "\n/*\n * Copyright 2013 Google, Inc.\n * Copyright 2015 Trim-marks Inc.\n * Copyright 2019 Vivliostyle Foundation\n *\n * CSS property validation.\n */\nNUM = POS_NUM | ZERO | NEGATIVE;\nNNEG_NUM = POS_NUM | ZERO;\nINT = POS_INT | ZERO | NEGATIVE;\nNNEG_INT = POS_INT | ZERO;\nPERCENTAGE = POS_PERCENTAGE | ZERO | NEGATIVE;\nSTRICT_PERCENTAGE = POS_PERCENTAGE | ZERO_PERCENTAGE | NEGATIVE;\nNNEG_PERCENTAGE = POS_PERCENTAGE | ZERO;\nLENGTH = POS_LENGTH | ZERO | NEGATIVE;\nNNEG_LENGTH = POS_LENGTH | ZERO | NEGATIVE;\nPLENGTH = LENGTH | PERCENTAGE;\nPPLENGTH = POS_LENGTH | ZERO | POS_PERCENTAGE;\nALENGTH = LENGTH | auto;\nAPLENGTH = PLENGTH | auto;\nPAPLENGTH = PPLENGTH | auto;\nANGLE = POS_ANGLE | ZERO | NEGATIVE;\nLENGTH_OR_NUM = LENGTH | NUM;\nANGLE_OR_NUM = ANGLE | NUM;\nMIN_MAX_FIT_CONTENT = min-content | max-content | fit-content;\nBG_POSITION_TERM = PLENGTH | left | center | right | top | bottom;\nURI_OR_NONE = URI | none;\nIMAGE = URI | IMAGE_FUNCTION | none;\nbackground-attachment = COMMA( [scroll | fixed | local]+ );\nbackground-color = COLOR;\nbackground-image = COMMA( IMAGE+ );\nbackground-position = COMMA( SPACE(BG_POSITION_TERM{1,4})+ ); /* relaxed */\nbackground-repeat = COMMA( [repeat | repeat-x | repeat-y | no-repeat]+ );\nborder-collapse = collapse | separate;\nBORDER_SIDE_COLOR = COLOR;\nBORDER_SIDE_STYLE = none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset;\nBORDER_SIDE_WIDTH = thin: 1px | medium: 3px | thick: 5px | NNEG_LENGTH;\nborder-spacing = LENGTH LENGTH?;\nborder-top-color = BORDER_SIDE_COLOR;\nborder-right-color = BORDER_SIDE_COLOR;\nborder-bottom-color = BORDER_SIDE_COLOR;\nborder-left-color = BORDER_SIDE_COLOR;\nborder-top-style = BORDER_SIDE_STYLE;\nborder-right-style = BORDER_SIDE_STYLE;\nborder-bottom-style = BORDER_SIDE_STYLE;\nborder-left-style = BORDER_SIDE_STYLE;\nborder-top-width = BORDER_SIDE_WIDTH;\nborder-right-width = BORDER_SIDE_WIDTH;\nborder-bottom-width = BORDER_SIDE_WIDTH;\nborder-left-width = BORDER_SIDE_WIDTH;\nBORDER_RADIUS = PLENGTH{1,2};\nborder-top-left-radius = BORDER_RADIUS;\nborder-top-right-radius = BORDER_RADIUS;\nborder-bottom-right-radius = BORDER_RADIUS;\nborder-bottom-left-radius = BORDER_RADIUS;\nborder-image-source = IMAGE;\nborder-image-slice = [NUM | PERCENTAGE]{1,4} || fill; /* relaxed */\nborder-image-width = [NUM | PLENGTH | auto]{1,4};\nborder-image-outset = [NUM | LENGTH]{1,4};\nborder-image-repeat = [ stretch | repeat | round | space ]{1,2};\nbottom = APLENGTH;\ncaption-side = top | bottom;\nclear = none | left | right | top | bottom | both | all | same;\nclip = rect(ALENGTH{4}) | rect(SPACE(ALENGTH{4})) | auto;\ncolor = COLOR;\nLIST_STYLE_TYPE = disc | circle | square | decimal | decimal-leading-zero | lower-roman |\n upper-roman | lower-greek | lower-latin | upper-latin | armenian | georgian | lower-alpha |\n upper-alpha | russian | upper-russian | lower-russian | cjk-ideographic | trad-chinese-informal |\n hebrew | none;\nTYPE_OR_UNIT_IN_ATTR = string | color | url | integer | number | length | angle | time | frequency;\nATTR = attr(SPACE(IDENT TYPE_OR_UNIT_IN_ATTR?) [ STRING | IDENT | COLOR | INT | NUM | PLENGTH | ANGLE | POS_TIME | FREQUENCY]?);\nCONTENT_LIST = [ STRING | URI | counter(IDENT LIST_STYLE_TYPE?) |\n counters(IDENT STRING LIST_STYLE_TYPE?) | ATTR |\n target-counter([ STRING | URI ] IDENT LIST_STYLE_TYPE?) |\n target-counter(ATTR IDENT LIST_STYLE_TYPE?) |\n target-counters([ STRING | URI ] IDENT STRING LIST_STYLE_TYPE?) |\n target-counters(ATTR IDENT STRING LIST_STYLE_TYPE?) |\n open-quote | close-quote | no-open-quote | no-close-quote |\n content([ text | before | after | first-letter ]?) |\n string(IDENT [first | start | last | first-except]?) ]+;\nCONTENT = normal | none | CONTENT_LIST;\ncontent = CONTENT;\nCOUNTER = [ IDENT INT? ]+ | none;\ncounter-increment = COUNTER;\ncounter-reset = COUNTER;\ncounter-set = COUNTER;\ncursor = COMMA(URI* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize |\n n-resize | se-resize | sw-resize | s-resize | w-resize | text | wait | help | progress ]);\ndirection = ltr | rtl;\ndisplay = inline | block | list-item | inline-block | table | inline-table | table-row-group |\n table-header-group | table-footer-group | table-row | table-column-group | table-column |\n table-cell | table-caption | none | oeb-page-head | oeb-page-foot | flex | inline-flex |\n ruby | ruby-base | ruby-text | ruby-base-container | ruby-text-container | run-in | compact | marker;\nempty-cells = show | hide;\nFAMILY = SPACE(IDENT+) | STRING;\nFAMILY_LIST = COMMA( FAMILY+ );\nfont-family = FAMILY_LIST;\nfont-size = xx-small | x-small | small | medium | large | x-large | xx-large | larger | smaller | PPLENGTH | POS_NUM;\nfont-style = normal | italic | oblique;\nfont-weight = normal | bold | bolder | lighter | POS_NUM;\nheight = PAPLENGTH | POS_NUM | MIN_MAX_FIT_CONTENT;\nleft = APLENGTH;\nletter-spacing = normal | LENGTH_OR_NUM;\nline-height = normal | POS_NUM | PPLENGTH;\nlist-style-image = IMAGE;\nlist-style-position = inside | outside;\nlist-style-type = LIST_STYLE_TYPE;\nmargin-right = APLENGTH;\nmargin-left = APLENGTH;\nmargin-top = APLENGTH;\nmargin-bottom = APLENGTH;\nNPLENGTH = none | PLENGTH;\nmax-height = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmax-width = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmin-height = APLENGTH | MIN_MAX_FIT_CONTENT;\nmin-width = APLENGTH | MIN_MAX_FIT_CONTENT;\norphans = POS_INT;\noutline-offset = LENGTH;\noutline-color = COLOR | invert;\noutline-style = BORDER_SIDE_STYLE;\noutline-width = BORDER_SIDE_WIDTH;\noverflow = visible | hidden | scroll | auto;\npadding-right = PPLENGTH;\npadding-left = PPLENGTH;\npadding-top = PPLENGTH;\npadding-bottom = PPLENGTH;\nPAGE_BREAK = auto | always | avoid | left | right | recto | verso;\npage-break-after = PAGE_BREAK;\npage-break-before = PAGE_BREAK;\npage-break-inside = avoid | auto;\nposition = static | relative | absolute | fixed;\nquotes = [STRING STRING]+ | none | auto;\nright = APLENGTH;\ntable-layout = auto | fixed;\ntext-align = left | right | center | justify | start | end;\ntext-decoration = none | [ underline || overline || line-through || blink ];\ntext-indent = PLENGTH;\ntext-transform = capitalize | uppercase | lowercase | none;\ntop = APLENGTH;\nvertical-align = baseline | sub | super | top | text-top | middle | bottom | text-bottom | PLENGTH;\nvisibility = visible | hidden | collapse;\nwhite-space = normal | pre | nowrap | pre-wrap | pre-line | break-spaces;\nwidows = POS_INT;\nwidth = PAPLENGTH | POS_NUM | MIN_MAX_FIT_CONTENT;\nword-spacing = normal | LENGTH_OR_NUM;\nz-index = auto | INT;\n\n[epub,moz,webkit]hyphens = auto | manual | none;\n[webkit]hyphenate-character = auto | STRING;\n\n/* css-logical */\nmargin-block-start = APLENGTH;\nmargin-block-end = APLENGTH;\nmargin-inline-start = APLENGTH;\nmargin-inline-end = APLENGTH;\npadding-block-start = APLENGTH;\npadding-block-end = APLENGTH;\npadding-inline-start = APLENGTH;\npadding-inline-end = APLENGTH;\nborder-block-start-color = BORDER_SIDE_COLOR;\nborder-block-end-color = BORDER_SIDE_COLOR;\nborder-inline-start-color = BORDER_SIDE_COLOR;\nborder-inline-end-color = BORDER_SIDE_COLOR;\nborder-block-start-style = BORDER_SIDE_STYLE;\nborder-block-end-style = BORDER_SIDE_STYLE;\nborder-inline-start-style = BORDER_SIDE_STYLE;\nborder-inline-end-style = BORDER_SIDE_STYLE;\nborder-block-start-width = BORDER_SIDE_WIDTH;\nborder-block-end-width = BORDER_SIDE_WIDTH;\nborder-inline-start-width = BORDER_SIDE_WIDTH;\nborder-inline-end-width = BORDER_SIDE_WIDTH;\nblock-start = APLENGTH;\nblock-end = APLENGTH;\ninline-start = APLENGTH;\ninline-end = APLENGTH;\nblock-size = PAPLENGTH | MIN_MAX_FIT_CONTENT;\ninline-size = PAPLENGTH | MIN_MAX_FIT_CONTENT;\nmax-block-size = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmax-inline-size = NPLENGTH | MIN_MAX_FIT_CONTENT;\nmin-block-size = APLENGTH | MIN_MAX_FIT_CONTENT;\nmin-inline-size = APLENGTH | MIN_MAX_FIT_CONTENT;\n\nSHAPE = auto | rectangle( PLENGTH{4} ) | ellipse( PLENGTH{4} ) | circle( PLENGTH{3} ) |\n polygon( SPACE(PLENGTH+)+ );\n[epubx]shape-inside = SHAPE;\n[epubx,webkit]shape-outside = SHAPE;\n[epubx]wrap-flow = auto | both | start | end | maximum | clear | around /* epub al */;\n\nTRANSFORM_FUNCTION = matrix(NUM{6}) | translate(PLENGTH{1,2}) | translateX(PLENGTH) | translateY(PLENGTH) |\n scale(NUM{1,2}) | scaleX(NUM) | scaleY(NUM) | rotate(ANGLE) | skewX(ANGLE) | skewY(ANGLE);\n[epub]transform = none | TRANSFORM_FUNCTION+;\n[epub]transform-origin = [[[ top | bottom | left | right] PLENGTH?] | center | PLENGTH]{1,2}; /* relaxed */\n\nBOX = border-box | padding-box | content-box;\nSHADOW = SPACE(inset || LENGTH{2,4} || COLOR); /* relaxed */\n[webkit]background-size = COMMA( SPACE( [PLENGTH | auto ]{1,2} | cover | contain)+ );\n[webkit]background-origin = COMMA( BOX+ );\n[webkit]background-clip = COMMA( BOX+ );\n[webkit]box-shadow = none | COMMA( SHADOW+ );\ntext-shadow = none | COMMA( SHADOW+ );\n[webkit]box-decoration-break = slice | clone;\nFILTER_FUNCTION = blur(LENGTH) | brightness(NUM | PERCENTAGE) | contrast(NUM | PERCENTAGE) | drop-shadow(SPACE(LENGTH{2,3} COLOR?))\n | grayscale(NUM | PERCENTAGE) | hue-rotate(ANGLE) | invert(NUM | PERCENTAGE) | opacity(NUM | PERCENTAGE)\n | saturate(NUM | PERCENTAGE) | sepia(NUM | PERCENTAGE);\nFILTER_FUNCTION_LIST = FILTER_FUNCTION+;\n[webkit]filter = none | FILTER_FUNCTION_LIST;\n\nopacity = NUM;\n\n[moz,webkit]column-width = LENGTH | auto;\n[moz,webkit]column-count = INT | auto;\n[moz,webkit]column-gap = LENGTH | normal;\n[moz,webkit]column-rule-color = COLOR;\n[moz,webkit]column-rule-style = BORDER_SIDE_STYLE;\n[moz,webkit]column-rule-width = BORDER_SIDE_WIDTH;\nBREAK = auto | avoid | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region;\nbreak-before = BREAK;\nbreak-after = BREAK;\nbreak-inside = auto | avoid | avoid-page | avoid-column | avoid-region;\n[webkit]column-span = none | auto | all;\n[moz]column-fill = auto | balance | balance-all;\n\nsrc = COMMA([SPACE(URI format(STRING+)?) | local(FAMILY)]+); /* for font-face */\n\n[epubx,webkit]flow-from = IDENT;\n[epubx,webkit]flow-into = IDENT;\n[epubx]flow-linger = INT | none;\n[epubx]flow-priority = INT;\n[epubx]flow-options = none | [ exclusive || last || static ];\n[epubx]page = INT | auto | IDENT; /* page: IDENT is for CSS Paged Media */\n[epubx]min-page-width = LENGTH;\n[epubx]min-page-height = LENGTH;\n[epubx]required = true | false;\n[epubx]enabled = true | false;\n[epubx]conflicting-partitions = COMMA(IDENT+);\n[epubx]required-partitions = COMMA(IDENT+);\n[epubx]snap-height = LENGTH | none;\n[epubx]snap-width = LENGTH | none;\n[epubx]flow-consume = all | some;\n[epubx]utilization = NUM;\n[epubx]text-zoom = font-size | scale;\n\n[adapt]template = URI_OR_NONE;\n[adapt]behavior = IDENT;\n\n/* CSS Fonts */\nCOMMON_LIG_VALUES = [ common-ligatures | no-common-ligatures ];\nDISCRETIONARY_LIG_VALUES = [ discretionary-ligatures | no-discretionary-ligatures ];\nHISTORICAL_LIG_VALUES = [ historical-ligatures | no-historical-ligatures ];\nCONTEXTUAL_ALT_VALUES = [ contextual | no-contextual ];\nfont-variant-ligatures = normal | none | [ COMMON_LIG_VALUES || DISCRETIONARY_LIG_VALUES || HISTORICAL_LIG_VALUES || CONTEXTUAL_ALT_VALUES ];\nfont-variant-caps = normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps;\nNUMERIC_FIGURE_VALUES = [ lining-nums | oldstyle-nums ];\nNUMERIC_SPACING_VALUES = [ proportional-nums | tabular-nums ];\nNUMERIC_FRACTION_VALUES = [ diagonal-fractions | stacked-fractions ];\nfont-variant-numeric = normal | [ NUMERIC_FIGURE_VALUES || NUMERIC_SPACING_VALUES || NUMERIC_FRACTION_VALUES || ordinal || slashed-zero ];\nEAST_ASIAN_VARIANT_VALUES = [ jis78 | jis83 | jis90 | jis04 | simplified | traditional ];\nEAST_ASIAN_WIDTH_VALUES = [ full-width | proportional-width ];\nfont-variant-east-asian = normal | [ EAST_ASIAN_VARIANT_VALUES || EAST_ASIAN_WIDTH_VALUES || ruby ];\nfont-variant_css2 = normal | small-caps; /* for font shorthand */\nfont-size-adjust = none | NNEG_NUM;\n[webkit]font-kerning = auto | normal | none;\nfont-feature-settings = COMMA( normal | SPACE( STRING [ on | off | INT ]? )+ );\nFONT_STRETCH_CSS3_VALUES = normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded;\nfont-stretch = FONT_STRETCH_CSS3_VALUES | PERCENTAGE;\nfont-stretch_css3 = FONT_STRETCH_CSS3_VALUES; /* for font shorthand */\nfont-display = [ auto | block | swap | fallback | optional ];\nunicode-range = COMMA( URANGE+ );\n\n/* CSS Images */\nimage-resolution = RESOLUTION;\nobject-fit = fill | contain | cover | none | scale-down;\nobject-position = COMMA( SPACE(BG_POSITION_TERM{1,4})+ ); /* relaxed */\n\n/* CSS Paged Media */\nPAGE_SIZE = a10 | a9 | a8 | a7 | a6 | a5 | a4 | a3 | a2 | a1 | a0\n | b10 | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0\n | c10 | c9 | c8 | c7 | c6 | c5 | c4 | c3 | c2 | c1 | c0\n | jis-b10 | jis-b9 | jis-b8 | jis-b7 | jis-b6 | jis-b5 | jis-b4 | jis-b3 | jis-b2 | jis-b1 | jis-b0\n | letter | legal | ledger;\nbleed = auto | LENGTH;\nmarks = none | [ crop || cross ];\nsize = POS_LENGTH{1,2} | auto | [ PAGE_SIZE || [ portrait | landscape ] ];\ncrop-offset = auto | LENGTH;\n\n/* CSS Page Floats */\nfloat-reference = inline | column | region | page;\nfloat = block-start | block-end | inline-start | inline-end | snap-block | snap-inline | left | right | top | bottom | none | footnote;\nfloat-min-wrap-block = PPLENGTH;\n\n/* CSS Ruby */\nruby-align = start | center | space-between | space-around;\nruby-position = over | under | inter-character;\n\n/* CSS Size Adjust */\n[moz]text-size-adjust = auto | none | POS_PERCENTAGE;\n\n/* CSS Text */\n[webkit]line-break = auto | loose | normal | strict | anywhere;\noverflow-wrap = normal | break-word | anywhere;\n[moz]tab-size = NNEG_INT | NNEG_LENGTH;\n[moz]text-align-last = auto | start | end | left | right | center | justify;\ntext-justify = auto | none | inter-word | inter-character;\nword-break = normal | keep-all | break-all | break-word;\ntext-spacing = normal | none | auto | [[ trim-start | space-start | space-first ] ||\n [ trim-end | space-end | allow-end ] || [ trim-adjacent | space-adjacent ] ||\n no-compress || ideograph-alpha || ideograph-numeric || punctuation];\nhanging-punctuation = none | [ first || [ force-end | allow-end ] || last ];\n\n/* CSS Text Decoration */\n[webkit]text-decoration-color = COLOR;\n[webkit]text-decoration-line = none | [ underline || overline || line-through || blink ];\n[webkit]text-decoration-skip = none | [ objects || spaces || ink || edges || box-decoration ];\n[webkit]text-decoration-style = solid | double | dotted | dashed | wavy;\n[epub,webkit]text-emphasis-color = COLOR;\n[webkit]text-emphasis-position = [ over | under ] [ right | left ];\n[epub,webkit]text-emphasis-style = none | [[ filled | open ] || [ dot | circle | double-circle | triangle | sesame ]] | STRING;\n[webkit]text-underline-position = auto | [ under || [ left | right ]];\n\n/* CSS Transforms */\n[webkit]backface-visibility = visible | hidden;\n\n/* CSS UI */\nbox-sizing = content-box | padding-box | border-box;\ntext-overflow = [clip | ellipsis | STRING]{1,2};\n\n/* CSS Writing Modes */\n[epub,webkit]text-combine = none | horizontal;\ntext-combine-upright = none | all; /* relaxed */\n[epub,webkit]text-orientation = mixed | upright | sideways-right | sideways-left | sideways | use-glyph-orientation /* the following values are kept for backward-compatibility */ | vertical-right | rotate-right | rotate-left | rotate-normal | auto;\nunicode-bidi = normal | embed | isolate | bidi-override | isolate-override | plaintext;\n[epub,webkit]writing-mode = horizontal-tb | vertical-rl | lr-tb | rl-tb | tb-rl | lr | rl | tb;\n\n/* CSS Flex box */\nFLEX_BASIS = content | PAPLENGTH;\nflex-direction = row | row-reverse | column | column-reverse;\nflex-wrap = nowrap | wrap | wrap-reverse;\norder = INT;\nflex-grow = NNEG_NUM;\nflex-shrink = NNEG_NUM;\nflex-basis = FLEX_BASIS;\nflex = none | [ [ NNEG_NUM NNEG_NUM? ] || FLEX_BASIS ];\njustify-content = flex-start | flex-end | center | space-between | space-around;\nalign-items = flex-start | flex-end | center | baseline | stretch;\nalign-self = auto | flex-start | flex-end | center | baseline | stretch;\nalign-content = flex-start | flex-end | center | space-between | space-around | stretch;\n\n/* Pointer Events */\ntouch-action = auto | none | [ pan-x || pan-y ] | manipulation;\n\n/* SVG 2 */\nOPACITY_VALUE = NUM | PERCENTAGE;\nDASH_ARRAY = COMMA( SPACE( [ LENGTH | PERCENTAGE | NUM ]+ )+ );\nPAINT = none | child | child(INT) | COLOR | SPACE( URI [none | COLOR]? ) | context-fill | context-stroke;\ncolor-interpolation = auto | sRGB | linearRGB;\ncolor-rendering = auto | optimizeSpeed | optimizeQuality;\nfill = PAINT;\nfill-opacity = OPACITY_VALUE;\nfill-rule = nonzero | evenodd;\nglyph-orientation-vertical = auto | NUM | ANGLE;\nimage-rendering = auto | optimizeSpeed | optimizeQuality | crisp-edges | pixelated;\nmarker-start = none | URI;\nmarker-mid = none | URI;\nmarker-end = none | URI;\npointer-events = bounding-box | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none;\npaint-order = normal | [ fill || stroke || markers ];\nshape-rendering = auto | optimizeSpeed | crispEdges | geometricPrecision;\nstop-color = COLOR;\nstop-opacity = OPACITY_VALUE;\nstroke = PAINT;\nstroke-dasharray = none | DASH_ARRAY;\nstroke-dashoffset = PERCENTAGE | LENGTH_OR_NUM;\nstroke-linecap = butt | round | square;\nstroke-linejoin = miter | round | bevel;\nstroke-miterlimit = NUM;\nstroke-opacity = OPACITY_VALUE;\nstroke-width = PERCENTAGE | LENGTH_OR_NUM;\ntext-anchor = start | middle | end;\ntext-rendering = auto | optimizeSpeed | optimizeLegibility | geometricPrecision;\nvector-effect = none | SPACE( [ non-scaling-stroke | non-scaling-size | non-rotation | fixed-position ]+ [ viewport | screen ]? );\n\n/* SVG 1.1 */\nalignment-baseline = auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical;\nbaseline-shift = baseline | sub | super | PERCENTAGE | LENGTH_OR_NUM;\ndominant-baseline = auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge;\nmask = none | URI;\n\n/* css-masking-1 */\nSHAPE_RADIUS = PLENGTH | closest-side | farthest-side;\nFILL_RULE = nonzero | evenodd;\nSHAPE_BOX = BOX | margin-box;\nGEOMETRY_BOX = SHAPE_BOX | fill-box | stroke-box | view-box;\nBASIC_SHAPE =\n inset( SPACE( PLENGTH{1,4} [ round PLENGTH{1,4} [ SLASH PLENGTH{1,4} ]? ]? ) )\n | circle( SPACE( [SHAPE_RADIUS]? [at BG_POSITION_TERM{1,4}]? ) )\n | ellipse( SPACE( SHAPE_RADIUS{2}? [at BG_POSITION_TERM{1,4}]? ) )\n | polygon( FILL_RULE? COMMA( SPACE( PLENGTH{2} )+ )+ );\n[webkit]clip-path = none | URI | [ BASIC_SHAPE || GEOMETRY_BOX ];\nclip-rule = nonzero | evenodd;\n\n/* filters */\nflood-color = COLOR;\nflood-opacity = OPACITY_VALUE;\nlighting-color = COLOR;\n\n/* compositing-1 */\nBLEND_MODE = normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity;\nmix-blend-mode = BLEND_MODE;\nisolation = auto | isolate;\nbackground-blend-mode = COMMA( BLEND_MODE+ );\n\n/* CSS GCPM */\nstring-set = COMMA( SPACE( IDENT CONTENT_LIST )+ | none );\nfootnote-policy = auto | line;\n\n/* CSS Repeated Headers and Footers */\n[viv]repeat-on-break = auto | none | header | footer;\n\nDEFAULTS\n\nbackground-attachment: scroll;\nbackground-color: transparent;\nbackground-image: none;\nbackground-repeat: repeat;\nbackground-position: 0% 0%;\nbackground-clip: border-box;\nbackground-origin: padding-box;\nbackground-size: auto;\nborder-top-color: currentColor;\nborder-right-color: currentColor;\nborder-bottom-color: currentColor;\nborder-left-color: currentColor;\nborder-top-style: none;\nborder-right-style: none;\nborder-bottom-style: none;\nborder-left-style: none;\nborder-top-width: 3px;\nborder-right-width: 3px;\nborder-bottom-width: 3px;\nborder-left-width: 3px;\nborder-top-left-radius: 0;\nborder-top-right-radius: 0;\nborder-bottom-right-radius: 0;\nborder-bottom-left-radius: 0;\nborder-image-source: none;\nborder-image-slice: 100%;\nborder-image-width: 1;\nborder-image-outset: 0;\nborder-image-repeat: stretch;\ncolumn-count: auto;\ncolumn-gap: normal;\ncolumn-width: auto;\ncolumn-rule-color: currentColor;\ncolumn-rule-style: none;\ncolumn-rule-width: 3px;\ncolumn-fill: balance;\noutline-color: currentColor;\noutline-style: none;\noutline-width: 3px;\nflex-direction: row;\nflex-wrap: nowrap;\nfont-family: serif;\nfont-style: normal;\nfont-size: medium;\nfont-size-adjust: none;\nfont-kerning: auto;\nfont-feature-settings: normal;\nfont-variant-ligatures: normal;\nfont-variant-caps: normal;\nfont-variant-numeric: normal;\nfont-variant-east-asian: normal;\nfont-weight: normal;\nfont-stretch: normal;\nline-height: normal;\nlist-style-image: none;\nlist-style-position: outside;\nlist-style-type: disc;\nmargin-bottom: auto;\nmargin-left: auto;\nmargin-right: auto;\nmargin-top: auto;\npadding-bottom: auto;\npadding-left: auto;\npadding-right: auto;\npadding-top: auto;\ntext-emphasis-color: currentColor;\ntext-emphasis-style: none;\nmarker-start: none;\nmarker-mid: none;\nmarker-end: none;\n\n/* css-logical */\nborder-block-start-color: currentColor;\nborder-block-end-color: currentColor;\nborder-inline-start-color: currentColor;\nborder-inline-end-color: currentColor;\nborder-block-start-style: none;\nborder-block-end-style: none;\nborder-inline-start-style: none;\nborder-inline-end-style: none;\nborder-block-start-width: 3px;\nborder-block-end-width: 3px;\nborder-inline-start-width: 3px;\nborder-inline-end-width: 3px;\n\nSHORTHANDS\n\nall = ALL;\nbackground = COMMA background-image [background-position [ / background-size ]] background-repeat\n background-attachment [background-origin background-clip] background-color; /* background-color is a special case, see the code */\nborder-top = border-top-width border-top-style border-top-color;\nborder-right = border-right-width border-right-style border-right-color;\nborder-bottom = border-bottom-width border-bottom-style border-bottom-color;\nborder-left = border-left-width border-left-style border-left-color;\nborder-width = INSETS border-top-width border-right-width border-bottom-width border-left-width;\nborder-style = INSETS border-top-style border-right-style border-bottom-style border-left-style;\nborder-color = INSETS border-top-color border-right-color border-bottom-color border-left-color;\nborder = border-width border-style border-color;\nborder-image = border-image-source border-image-slice [ / border-image-width [ / border-image-outset ] ]\n border-image-repeat;\nborder-radius = INSETS_SLASH border-top-left-radius border-top-right-radius\n border-bottom-right-radius border-bottom-left-radius;\n[moz,webkit]columns = column-width column-count;\n[moz,webkit]column-rule = column-rule-width column-rule-style column-rule-color;\nflex-flow = flex-direction flex-wrap;\noeb-column-number = column-count;\noutline = outline-width outline-style outline-color;\nlist-style = list-style-type list-style-position list-style-image;\nmargin = INSETS margin-top margin-right margin-bottom margin-left;\npadding = INSETS padding-top padding-right padding-bottom padding-left;\nfont = FONT font-style font-variant_css2 font-weight font-stretch_css3 /* font-size line-height font-family are special-cased */;\nfont-variant = font-variant-ligatures font-variant-caps font-variant-numeric font-variant-east-asian;\n[epub,webkit]text-emphasis = text-emphasis-style text-emphasis-color;\nmarker = INSETS marker-start marker-mid marker-end;\n\n/* css-logical */\nmargin-block = INSETS margin-block-start margin-block-end;\nmargin-inline = INSETS margin-inline-start margin-inline-end;\npadding-block = INSETS padding-block-start padding-block-end;\npadding-inline = INSETS padding-inline-start padding-inline-end;\nborder-block-width = INSETS border-block-start-width border-block-end-width;\nborder-block-style = INSETS border-block-start-style border-block-end-style;\nborder-block-color = INSETS border-block-start-color border-block-end-color;\nborder-inline-width = INSETS border-inline-start-width border-inline-end-width;\nborder-inline-style = INSETS border-inline-start-style border-inline-end-style;\nborder-inline-color = INSETS border-inline-start-color border-inline-end-color;\nborder-block = border-block-width border-block-style border-block-color;\nborder-inline = border-inline-width border-inline-style border-inline-color;\nborder-block-start = border-block-start-width border-block-start-style border-block-start-color;\nborder-block-end = border-block-end-width border-block-end-style border-block-end-color;\nborder-inline-start = border-inline-start-width border-inline-start-style border-inline-start-color;\nborder-inline-end = border-inline-end-width border-inline-end-style border-inline-end-color;\ninset-block-start = block-start;\ninset-block-end = block-end;\ninset-inline-start = inline-start;\ninset-inline-end = inline-end;\ninset-block = INSETS block-start block-end;\ninset-inline = INSETS inline-start inline-end;\ninset = INSETS top right bottom left;\n\n/* old names */\nword-wrap = overflow-wrap;\n[adapt,webkit]margin-before = margin-block-start;\n[adapt,webkit]margin-after = margin-block-end;\n[adapt,webkit]margin-start = margin-inline-start;\n[adapt,webkit]margin-end = margin-inline-end;\n[adapt,webkit]padding-before = padding-block-start;\n[adapt,webkit]padding-after = padding-block-end;\n[adapt,webkit]padding-start = padding-inline-start;\n[adapt,webkit]padding-end = padding-inline-end;\n[adapt,webkit]border-before-color = border-block-start-color;\n[adapt,webkit]border-after-color = border-block-end-color;\n[adapt,webkit]border-start-color = border-inline-start-color;\n[adapt,webkit]border-end-color = border-inline-end-color;\n[adapt,webkit]border-before-style = border-block-start-style;\n[adapt,webkit]border-after-style = border-block-end-style;\n[adapt,webkit]border-start-style = border-inline-start-style;\n[adapt,webkit]border-end-style = border-inline-end-style;\n[adapt,webkit]border-before-width = border-block-start-width;\n[adapt,webkit]border-after-width = border-block-end-width;\n[adapt,webkit]border-start-width = border-inline-start-width;\n[adapt,webkit]border-end-width = border-inline-end-width;\n[adapt,webkit]before = block-start;\n[adapt,webkit]after = block-end;\n[adapt,webkit]start = inline-start;\n[adapt,webkit]end = inline-end;\n\n";
|
|
23
23
|
export declare const UserAgentXml = "\n<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:s=\"http://www.pyroxy.com/ns/shadow\">\n<head>\n<style><![CDATA[\n\n.footnote-content {\n float: footnote;\n}\n\n.table-cell-container {\n display: block;\n}\n\n]]></style>\n</head>\n<body>\n\n<s:template id=\"footnote\"><s:content/><s:include class=\"footnote-content\"/></s:template>\n\n<s:template id=\"table-cell\"><div data-vivliostyle-flow-root=\"true\" class=\"table-cell-container\"><s:content/></div></s:template>\n\n</body>\n</html>";
|
|
24
24
|
export declare const UserAgentPageCss = "\n@namespace html \"http://www.w3.org/1999/xhtml\";\n\n:root {\n hyphens: -epubx-expr(pref-hyphenate? \"auto\": \"manual\");\n}\n:root[data-vivliostyle-epub-spine-properties~=\"page-spread-left\"] {\n break-before: left;\n}\n:root[data-vivliostyle-epub-spine-properties~=\"page-spread-right\"] {\n break-before: right;\n}\n\n@-adapt-footnote-area {\n display: block;\n margin-block-start: 0.5em;\n margin-block-end: 0.5em;\n}\n\n@-adapt-footnote-area ::before {\n display: block;\n border-block-start-width: 1px;\n border-block-start-style: solid;\n border-block-start-color: black;\n margin-block-end: 0.4em;\n margin-inline-start: 0;\n margin-inline-end: 60%;\n}\n\n/* default page master */\n@-epubx-page-master :background-host {\n @-epubx-partition :layout-host {\n -epubx-flow-from: body;\n top: -epubx-expr(header.margin-bottom-edge);\n bottom: -epubx-expr(page-height - footer.margin-top-edge);\n left: 0px;\n right: 0px;\n column-width: 25em;\n }\n @-epubx-partition footer :oeb-page-foot {\n writing-mode: horizontal-tb;\n -epubx-flow-from: oeb-page-foot;\n bottom: 0px;\n left: 0px;\n right: 0px;\n }\n @-epubx-partition header :oeb-page-head {\n writing-mode: horizontal-tb;\n -epubx-flow-from: oeb-page-head;\n top: 0px;\n left: 0px;\n right: 0px;\n }\n}\n\n@page {\n @top-left-corner {\n text-align: right;\n vertical-align: middle;\n }\n @top-left {\n text-align: left;\n vertical-align: middle;\n }\n @top-center {\n text-align: center;\n vertical-align: middle;\n }\n @top-right {\n text-align: right;\n vertical-align: middle;\n }\n @top-right-corner {\n text-align: left;\n vertical-align: middle;\n }\n @left-top {\n text-align: center;\n vertical-align: top;\n }\n @left-middle {\n text-align: center;\n vertical-align: middle;\n }\n @left-bottom {\n text-align: center;\n vertical-align: bottom;\n }\n @right-top {\n text-align: center;\n vertical-align: top;\n }\n @right-middle {\n text-align: center;\n vertical-align: middle;\n }\n @right-bottom {\n text-align: center;\n vertical-align: bottom;\n }\n @bottom-left-corner {\n text-align: right;\n vertical-align: middle;\n }\n @bottom-left {\n text-align: left;\n vertical-align: middle;\n }\n @bottom-center {\n text-align: center;\n vertical-align: middle;\n }\n @bottom-right {\n text-align: right;\n vertical-align: middle;\n }\n @bottom-right-corner {\n text-align: left;\n vertical-align: middle;\n }\n}\n\n@media print {\n @page {\n margin: 10%;\n }\n}\n";
|
|
25
25
|
export declare const UserAgentBaseCss = "\n@namespace html \"http://www.w3.org/1999/xhtml\";\n\nhtml|html,\nhtml|address,\nhtml|blockquote,\nhtml|body,\nhtml|dd,\nhtml|div,\nhtml|dl,\nhtml|dt,\nhtml|fieldset,\nhtml|form,\nhtml|frame,\nhtml|frameset,\nhtml|h1,\nhtml|h2,\nhtml|h3,\nhtml|h4,\nhtml|h5,\nhtml|h6,\nhtml|noframes,\nhtml|ol,\nhtml|p,\nhtml|ul,\nhtml|center,\nhtml|dir,\nhtml|hr,\nhtml|menu,\nhtml|pre,\nhtml|article,\nhtml|section,\nhtml|nav,\nhtml|aside,\nhtml|hgroup,\nhtml|footer,\nhtml|header,\nhtml|figure,\nhtml|figcaption,\nhtml|main {\n display: block;\n unicode-bidi: normal;\n}\nhtml|li {\n display: list-item;\n}\nhtml|head {\n display: none !important;\n}\nhtml|table {\n display: table;\n}\nhtml|tr {\n display: table-row;\n}\nhtml|thead {\n display: table-header-group;\n break-after: avoid;\n}\nhtml|tbody {\n display: table-row-group;\n}\nhtml|tfoot {\n display: table-footer-group;\n break-before: avoid;\n}\nhtml|col {\n display: table-column;\n}\nhtml|colgroup {\n display: table-column-group;\n}\nhtml|td,\nhtml|th {\n display: table-cell;\n}\nhtml|caption {\n display: table-caption;\n text-align: center;\n}\nhtml|th {\n font-weight: bolder;\n text-align: center;\n}\nhtml|*[hidden],\nhtml|link,\nhtml|style,\nhtml|script {\n display: none;\n}\nhtml|h1 {\n font-size: 2em;\n margin-block-start: 0.67em;\n margin-block-end: 0.67em;\n margin-inline-start: 0em;\n margin-inline-end: 0em;\n}\nhtml|h2 {\n font-size: 1.5em;\n margin-block-start: 0.75em;\n margin-block-end: 0.75em;\n margin-inline-start: 0em;\n margin-inline-end: 0em;\n}\nhtml|h3 {\n font-size: 1.17em;\n margin-block-start: 0.83em;\n margin-block-end: 0.83em;\n margin-inline-start: 0em;\n margin-inline-end: 0em;\n}\nhtml|h4,\nhtml|p,\nhtml|blockquote,\nhtml|ul,\nhtml|fieldset,\nhtml|form,\nhtml|ol,\nhtml|dl,\nhtml|dir,\nhtml|menu,\nhtml|h5,\nhtml|h6 {\n margin-block-start: 1em;\n margin-block-end: 1em;\n margin-inline-start: 0em;\n margin-inline-end: 0em;\n}\nhtml|h5 {\n font-size: 0.83em;\n}\nhtml|h6 {\n font-size: 0.75em;\n}\nhtml|h1,\nhtml|h2,\nhtml|h3,\nhtml|h4,\nhtml|h5,\nhtml|h6,\nhtml|b,\nhtml|strong {\n font-weight: bolder;\n}\nhtml|h1,\nhtml|h2,\nhtml|h3,\nhtml|h4,\nhtml|h5,\nhtml|h6 {\n break-after: avoid;\n}\nhtml|blockquote {\n margin-block-start: 0px;\n margin-block-end: 0px;\n margin-inline-start: 40px;\n margin-inline-end: 40px;\n}\nhtml|i,\nhtml|cite,\nhtml|em,\nhtml|var,\nhtml|address {\n font-style: italic;\n}\nhtml|pre,\nhtml|tt,\nhtml|code,\nhtml|kbd,\nhtml|samp {\n font-family: monospace;\n}\nhtml|pre {\n white-space: pre;\n}\nhtml|button,\nhtml|textarea,\nhtml|input,\nhtml|select {\n display: inline-block;\n}\nhtml|big {\n font-size: 1.17em;\n}\nhtml|small,\nhtml|sub,\nhtml|sup {\n font-size: 0.83em;\n}\nhtml|sub {\n vertical-align: sub;\n}\nhtml|sup {\n vertical-align: super;\n}\nhtml|table {\n border-spacing: 2px;\n}\nhtml|thead,\nhtml|tbody,\nhtml|tfoot {\n vertical-align: middle;\n}\n/* for XHTML tables without tbody */\nhtml|table > html|tr {\n vertical-align: middle;\n}\nhtml|td,\nhtml|th {\n vertical-align: inherit;\n}\nhtml|s,\nhtml|strike,\nhtml|del {\n text-decoration: line-through;\n}\nhtml|hr {\n border: 1px inset;\n}\nhtml|ol,\nhtml|ul,\nhtml|dir,\nhtml|menu,\nhtml|dd {\n margin: 0px;\n margin-inline-start: 40px;\n}\nhtml|ol html|ul,\nhtml|ul html|ol,\nhtml|ul html|ul,\nhtml|ol html|ol {\n margin-block-start: 0;\n margin-block-end: 0;\n}\nhtml|u,\nhtml|ins {\n text-decoration: underline;\n}\nhtml|center {\n text-align: center;\n}\nhtml|q:before {\n content: open-quote;\n}\nhtml|q:after {\n content: close-quote;\n}\n\nhtml|audio,\nhtml|video {\n break-inside: avoid;\n}\n\nhtml|ruby {\n display: ruby;\n}\nhtml|rp {\n display: none;\n}\nhtml|rbc {\n display: ruby-base-container;\n}\nhtml|rtc {\n display: ruby-text-container;\n}\nhtml|rb {\n display: ruby-base;\n white-space: nowrap;\n}\nhtml|rt {\n display: ruby-text;\n}\n\nhtml|rtc,\nhtml|rt {\n font-variant-east-asian: ruby;\n text-emphasis: none;\n white-space: nowrap;\n line-height: 1;\n}\n\nhtml|rtc:lang(zh),\nhtml|rt:lang(zh) {\n ruby-align: center;\n}\n\nhtml|rtc,\nhtml|rt {\n font-size: 50%;\n}\n\nhtml|rtc:lang(zh-TW),\nhtml|rt:lang(zh-TW) {\n font-size: 30%;\n}\n\nhtml|rtc > html|rt,\nhtml|rtc > html|rt:lang(zh-TW) {\n font-size: 100%;\n}\n\n/* Bidi settings */\nhtml|bdo[dir=\"ltr\"] {\n direction: ltr;\n unicode-bidi: bidi-override;\n}\nhtml|bdo[dir=\"rtl\"] {\n direction: rtl;\n unicode-bidi: bidi-override;\n}\nhtml|*[dir=\"ltr\"] {\n direction: ltr;\n unicode-bidi: embed;\n}\nhtml|*[dir=\"rtl\"] {\n direction: rtl;\n unicode-bidi: embed;\n}\n\n/*------------------ epub-specific ---------------------*/\n\n@namespace epub \"http://www.idpf.org/2007/ops\";\n\nhtml|a[epub|type=\"noteref\"] {\n font-size: 0.75em;\n vertical-align: super;\n line-height: 0.01;\n}\n\nhtml|a[epub|type=\"noteref\"]:href-epub-type(footnote) {\n -adapt-template: url(user-agent.xml#footnote);\n text-decoration: none;\n}\n\nhtml|aside[epub|type=\"footnote\"] {\n display: none;\n}\n\nhtml|aside[epub|type=\"footnote\"]:footnote-content {\n display: block;\n margin: 0.25em;\n font-size: 1.2em;\n line-height: 1.2;\n}\n\nepub|trigger {\n display: none;\n}\n\nepub|switch {\n display: inline;\n}\n\nepub|default {\n display: inline;\n}\n\nepub|case {\n display: none;\n}\n\nepub|case[required-namespace::supported] {\n display: inline;\n}\n\nepub|case[required-namespace::supported] ~ epub|case {\n display: none;\n}\n\nepub|case[required-namespace::supported] ~ epub|default {\n display: none;\n}\n\n/*--------------- ncx and toc ----------------------*/\n\n@namespace ncx \"http://www.daisy.org/z3986/2005/ncx/\";\n\nncx|ncx {\n display: block;\n padding-top: 10px;\n padding-bottom: 10px;\n}\n\nncx|content {\n display: none;\n}\n\nbody > * {\n -adapt-behavior: body-child;\n}\n\n[role=\"doc-toc\"],\n[role=\"directory\"],\nnav,\n.toc,\n#toc,\n#table-of-contents,\n#contents {\n -adapt-behavior: toc-root;\n}\n\n[role=\"doc-toc\"] a,\n[role=\"directory\"] a,\nnav a,\n.toc a,\n#toc a,\nncx|navLabel {\n -adapt-behavior: toc-node-anchor;\n}\n\n[role=\"doc-toc\"] li,\n[role=\"directory\"] li,\nnav li,\n.toc li,\n#toc li,\nncx|navPoint {\n -adapt-behavior: toc-node;\n}\n\n[role=\"doc-toc\"] li > *:first-child,\n[role=\"directory\"] li > *:first-child,\nnav li > *:first-child,\n.toc li > *:first-child,\n#toc li > *:first-child {\n -adapt-behavior: toc-node-first-child;\n}\n\n[role=\"doc-toc\"] ol,\n[role=\"directory\"] ol,\nnav ol,\n.toc ol,\n#toc ol,\n[role=\"doc-toc\"] ul,\n[role=\"directory\"] ul,\nnav ul,\n.toc ul,\n#toc ul,\nol[role=\"doc-toc\"],\nol[role=\"directory\"],\nol.toc,\nol#toc,\nul[role=\"doc-toc\"],\nul[role=\"directory\"],\nul.toc,\nul#toc {\n -adapt-behavior: toc-container;\n}\n";
|
|
@@ -94,14 +94,10 @@ export declare class PriorityQueue {
|
|
|
94
94
|
*/
|
|
95
95
|
remove(): Comparable;
|
|
96
96
|
}
|
|
97
|
-
/**
|
|
98
|
-
* @param prefix Prefix (containing leading and trailing hyphens)
|
|
99
|
-
* @param cssPropName CSS property name
|
|
100
|
-
* @return JavaScript property name
|
|
101
|
-
*/
|
|
102
|
-
export declare function cssToJSProp(prefix: string, cssPropName: string): string;
|
|
103
97
|
export declare const knownPrefixes: string[];
|
|
104
|
-
export declare const propNameMap: {
|
|
98
|
+
export declare const propNameMap: {
|
|
99
|
+
[key: string]: string[];
|
|
100
|
+
};
|
|
105
101
|
export declare function checkIfPropertySupported(prefix: string, prop: string): boolean;
|
|
106
102
|
export declare function getPrefixedPropertyNames(prop: string): string[] | null;
|
|
107
103
|
export declare function setCSSProperty(elem: Element, prop: string, value: string): void;
|
|
@@ -5,9 +5,13 @@ import * as CssValidator from "./css-validator";
|
|
|
5
5
|
import * as Exprs from "./exprs";
|
|
6
6
|
import * as Matchers from "./matchers";
|
|
7
7
|
import * as Vtree from "./vtree";
|
|
8
|
-
import {
|
|
9
|
-
export
|
|
10
|
-
|
|
8
|
+
import { CssStyler } from "./types";
|
|
9
|
+
export declare type ElementStyle = {
|
|
10
|
+
[key: string]: CascadeValue | CascadeValue[] | ElementStyleMap | {
|
|
11
|
+
matcher: Matchers.Matcher;
|
|
12
|
+
styles: ElementStyle;
|
|
13
|
+
}[];
|
|
14
|
+
};
|
|
11
15
|
export declare const inheritedProps: {
|
|
12
16
|
"border-collapse": boolean;
|
|
13
17
|
"border-spacing": boolean;
|
|
@@ -130,7 +134,7 @@ export declare class CascadeValue {
|
|
|
130
134
|
getBaseValue(): CascadeValue;
|
|
131
135
|
filterValue(visitor: Css.Visitor): CascadeValue;
|
|
132
136
|
increaseSpecificity(specificity: number): CascadeValue;
|
|
133
|
-
evaluate(context: Exprs.Context, propName
|
|
137
|
+
evaluate(context: Exprs.Context, propName?: string): Css.Val;
|
|
134
138
|
isEnabled(context: Exprs.Context): boolean;
|
|
135
139
|
}
|
|
136
140
|
/**
|
|
@@ -174,12 +178,12 @@ export declare function getProp(style: ElementStyle, name: string): CascadeValue
|
|
|
174
178
|
/**
|
|
175
179
|
* @return void
|
|
176
180
|
*/
|
|
177
|
-
export declare function setProp(style: ElementStyle, name: string, value: CascadeValue):
|
|
181
|
+
export declare function setProp(style: ElementStyle, name: string, value: CascadeValue): void;
|
|
178
182
|
export declare function getStyleMap(style: ElementStyle, name: string): ElementStyleMap;
|
|
179
183
|
export declare function getMutableStyleMap(style: ElementStyle, name: string): ElementStyleMap;
|
|
180
184
|
export declare const getViewConditionalStyleMap: (style: ElementStyle) => {
|
|
181
185
|
matcher: Matchers.Matcher;
|
|
182
|
-
styles:
|
|
186
|
+
styles: ElementStyle;
|
|
183
187
|
}[];
|
|
184
188
|
export declare function getSpecial(style: ElementStyle, name: string): CascadeValue[];
|
|
185
189
|
export declare function getMutableSpecial(style: ElementStyle, name: string): CascadeValue[];
|
|
@@ -715,7 +719,7 @@ export interface CounterListener {
|
|
|
715
719
|
getExprContentListener(): Vtree.ExprContentListener;
|
|
716
720
|
}
|
|
717
721
|
export interface CounterResolver {
|
|
718
|
-
setStyler(styler:
|
|
722
|
+
setStyler(styler: CssStyler.AbstractStyler): void;
|
|
719
723
|
/**
|
|
720
724
|
* Returns an Exprs.Val, whose value is calculated at the layout time by
|
|
721
725
|
* retrieving the innermost page-based counter (null if it does not exist) by
|
|
@@ -920,15 +924,23 @@ export declare class CascadeInstance {
|
|
|
920
924
|
*/
|
|
921
925
|
setNamedStrings(props: ElementStyle): void;
|
|
922
926
|
processPseudoelementProps(pseudoprops: ElementStyle, element: Element): void;
|
|
923
|
-
pushElement(element: Element, baseStyle: ElementStyle, elementOffset: number): void;
|
|
927
|
+
pushElement(styler: CssStyler.AbstractStyler, element: Element, baseStyle: ElementStyle, elementOffset: number): void;
|
|
924
928
|
private applyAttrFilterInner;
|
|
925
929
|
private applyAttrFilter;
|
|
930
|
+
/**
|
|
931
|
+
* Substitute all variables in property values in elementStyle
|
|
932
|
+
*/
|
|
933
|
+
applyVarFilter(elementStyles: ElementStyle[], styler: CssStyler.AbstractStyler, element: Element | null): void;
|
|
934
|
+
/**
|
|
935
|
+
* Calculate all calc() in property values in elementStyle
|
|
936
|
+
*/
|
|
937
|
+
applyCalcFilter(elementStyle: ElementStyle, styler: CssStyler.AbstractStyler): void;
|
|
926
938
|
private applyActions;
|
|
927
939
|
private pop;
|
|
928
940
|
popRule(): void;
|
|
929
941
|
popElement(element: Element): void;
|
|
930
942
|
}
|
|
931
|
-
export declare const EMPTY:
|
|
943
|
+
export declare const EMPTY: string[];
|
|
932
944
|
/**
|
|
933
945
|
* Pseudoelement names in the order they should be processed, empty string is
|
|
934
946
|
* the place where the element's DOM children are processed.
|
|
@@ -1170,3 +1182,24 @@ export declare const convertToPhysical: <T>(src: {
|
|
|
1170
1182
|
}, dest: {
|
|
1171
1183
|
[key: string]: T;
|
|
1172
1184
|
}, vertical: boolean, rtl: boolean, transform: (p1: string, p2: CascadeValue) => T) => void;
|
|
1185
|
+
/**
|
|
1186
|
+
* Convert var() to its value
|
|
1187
|
+
*/
|
|
1188
|
+
export declare class VarFilterVisitor extends Css.FilterVisitor {
|
|
1189
|
+
elementStyles: ElementStyle[];
|
|
1190
|
+
styler: CssStyler.AbstractStyler;
|
|
1191
|
+
element: Element | null;
|
|
1192
|
+
constructor(elementStyles: ElementStyle[], styler: CssStyler.AbstractStyler, element: Element | null);
|
|
1193
|
+
private getVarValue;
|
|
1194
|
+
/** @override */
|
|
1195
|
+
visitFunc(func: Css.Func): Css.Val;
|
|
1196
|
+
}
|
|
1197
|
+
/**
|
|
1198
|
+
* Convert calc() to its value
|
|
1199
|
+
*/
|
|
1200
|
+
export declare class CalcFilterVisitor extends Css.FilterVisitor {
|
|
1201
|
+
styler: CssStyler.AbstractStyler;
|
|
1202
|
+
constructor(styler: CssStyler.AbstractStyler);
|
|
1203
|
+
/** @override */
|
|
1204
|
+
visitFunc(func: Css.Func): Css.Val;
|
|
1205
|
+
}
|
|
@@ -38,10 +38,6 @@ export declare enum StylesheetFlavor {
|
|
|
38
38
|
USER = "User",
|
|
39
39
|
AUTHOR = "Author"
|
|
40
40
|
}
|
|
41
|
-
/**
|
|
42
|
-
* CSS Color value from hash text (without '#' character).
|
|
43
|
-
*/
|
|
44
|
-
export declare function colorFromHash(text: string): Css.Color;
|
|
45
41
|
export declare class ParserHandler implements CssTokenizer.TokenizerHandler {
|
|
46
42
|
scope: Exprs.LexicalScope;
|
|
47
43
|
flavor: StylesheetFlavor;
|
|
@@ -483,4 +479,4 @@ export declare function evaluateExprToCSS(context: Exprs.Context, val: Exprs.Val
|
|
|
483
479
|
/**
|
|
484
480
|
* @return val
|
|
485
481
|
*/
|
|
486
|
-
export declare function evaluateCSSToCSS(context: Exprs.Context, val: Css.Val, propName
|
|
482
|
+
export declare function evaluateCSSToCSS(context: Exprs.Context, val: Css.Val, propName?: string): Css.Val;
|
|
@@ -74,8 +74,11 @@ export declare enum TokenType {
|
|
|
74
74
|
LT_EQ = 48,
|
|
75
75
|
EQ_EQ = 49,
|
|
76
76
|
COL_COL = 50,
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
CDO = 51,
|
|
78
|
+
CDC = 52,
|
|
79
|
+
UNKNOWN = 53,
|
|
80
|
+
INVALID = 54,
|
|
81
|
+
LAST = 54
|
|
79
82
|
}
|
|
80
83
|
export declare class Token {
|
|
81
84
|
type: TokenType;
|
|
@@ -84,6 +87,7 @@ export declare class Token {
|
|
|
84
87
|
text: string;
|
|
85
88
|
position: number;
|
|
86
89
|
constructor();
|
|
90
|
+
toString(): string;
|
|
87
91
|
}
|
|
88
92
|
/**
|
|
89
93
|
* @enum {number}
|
|
@@ -167,7 +171,9 @@ export declare enum Action {
|
|
|
167
171
|
COL_COL = 77,
|
|
168
172
|
TOCLASS = 78,
|
|
169
173
|
CHKSP = 79,
|
|
170
|
-
EOF = 80
|
|
174
|
+
EOF = 80,
|
|
175
|
+
CDO = 81,
|
|
176
|
+
CDC = 82
|
|
171
177
|
}
|
|
172
178
|
export declare function makeActions(def: Action, spec: Action[]): Action[];
|
|
173
179
|
/**
|
|
@@ -101,6 +101,7 @@ export declare const ALLOW_ZERO = 512;
|
|
|
101
101
|
export declare const ALLOW_ZERO_PERCENT = 1024;
|
|
102
102
|
export declare const ALLOW_SLASH = 2048;
|
|
103
103
|
export declare const ALLOW_URANGE = 4096;
|
|
104
|
+
export declare const ALLOW_IMAGE = 8192;
|
|
104
105
|
export declare type ValueMap = {
|
|
105
106
|
[key: string]: Css.Val;
|
|
106
107
|
};
|
|
@@ -155,7 +156,7 @@ export declare class PrimitiveValidator extends PropertyValidator {
|
|
|
155
156
|
/**
|
|
156
157
|
* @override
|
|
157
158
|
*/
|
|
158
|
-
|
|
159
|
+
visitHexColor(color: Css.HexColor): Css.Val;
|
|
159
160
|
/**
|
|
160
161
|
* @override
|
|
161
162
|
*/
|
|
@@ -224,7 +225,7 @@ export declare class ListValidator extends PropertyValidator {
|
|
|
224
225
|
/**
|
|
225
226
|
* @override
|
|
226
227
|
*/
|
|
227
|
-
|
|
228
|
+
visitHexColor(color: Css.HexColor): Css.Val;
|
|
228
229
|
/**
|
|
229
230
|
* @override
|
|
230
231
|
*/
|
|
@@ -340,7 +341,7 @@ export declare class ShorthandValidator extends Css.Visitor {
|
|
|
340
341
|
clone(): this;
|
|
341
342
|
init(syntax: ShorthandSyntaxNode[], propList: string[]): void;
|
|
342
343
|
finish(important: boolean, receiver: PropertyReceiver): boolean;
|
|
343
|
-
|
|
344
|
+
propagateDefaultingValue(value: Css.Val, important: boolean, receiver: PropertyReceiver): void;
|
|
344
345
|
validateList(list: Css.Val[]): number;
|
|
345
346
|
validateSingle(val: Css.Val): Css.Val;
|
|
346
347
|
/**
|
|
@@ -370,7 +371,7 @@ export declare class ShorthandValidator extends Css.Visitor {
|
|
|
370
371
|
/**
|
|
371
372
|
* @override
|
|
372
373
|
*/
|
|
373
|
-
|
|
374
|
+
visitHexColor(color: Css.HexColor): Css.Val;
|
|
374
375
|
/**
|
|
375
376
|
* @override
|
|
376
377
|
*/
|
|
@@ -443,6 +444,17 @@ export declare class FontShorthandValidator extends SimpleShorthandValidator {
|
|
|
443
444
|
*/
|
|
444
445
|
visitIdent(ident: Css.Ident): Css.Val;
|
|
445
446
|
}
|
|
447
|
+
export declare class AllShorthandValidator extends SimpleShorthandValidator {
|
|
448
|
+
constructor();
|
|
449
|
+
/**
|
|
450
|
+
* @override
|
|
451
|
+
*/
|
|
452
|
+
init(syntax: ShorthandSyntaxNode[], propList: string[]): void;
|
|
453
|
+
/**
|
|
454
|
+
* @override
|
|
455
|
+
*/
|
|
456
|
+
validateList(list: Css.Val[]): number;
|
|
457
|
+
}
|
|
446
458
|
export declare const shorthandValidators: {
|
|
447
459
|
[key: string]: typeof ShorthandValidator;
|
|
448
460
|
};
|
|
@@ -487,3 +499,4 @@ export declare class ValidatorSet {
|
|
|
487
499
|
validatePropertyAndHandleShorthand(name: string, value: Css.Val, important: boolean, receiver: PropertyReceiver): void;
|
|
488
500
|
}
|
|
489
501
|
export declare function baseValidatorSet(): ValidatorSet;
|
|
502
|
+
export declare function containsVar(val: Css.Val): boolean;
|
package/lib/vivliostyle/css.d.ts
CHANGED
|
@@ -21,10 +21,7 @@
|
|
|
21
21
|
import * as Base from "./base";
|
|
22
22
|
import * as Exprs from "./exprs";
|
|
23
23
|
export declare class Visitor {
|
|
24
|
-
|
|
25
|
-
* @return void
|
|
26
|
-
*/
|
|
27
|
-
visitValues(values: Val[]): any;
|
|
24
|
+
visitValues(values: Val[]): Val[];
|
|
28
25
|
visitEmpty(empty: Val): Val;
|
|
29
26
|
visitSlash(slash: Val): Val;
|
|
30
27
|
visitStr(str: Str): Val;
|
|
@@ -32,7 +29,7 @@ export declare class Visitor {
|
|
|
32
29
|
visitNumeric(numeric: Numeric): Val;
|
|
33
30
|
visitNum(num: Num): Val;
|
|
34
31
|
visitInt(num: Int): Val;
|
|
35
|
-
|
|
32
|
+
visitHexColor(color: HexColor): Val;
|
|
36
33
|
visitURL(url: URL): Val;
|
|
37
34
|
visitURange(urange: URange): Val;
|
|
38
35
|
visitSpaceList(list: SpaceList): Val;
|
|
@@ -41,8 +38,16 @@ export declare class Visitor {
|
|
|
41
38
|
visitExpr(expr: Expr): Val;
|
|
42
39
|
}
|
|
43
40
|
export declare class FilterVisitor extends Visitor {
|
|
41
|
+
error: boolean;
|
|
44
42
|
constructor();
|
|
43
|
+
/**
|
|
44
|
+
* @override
|
|
45
|
+
*/
|
|
45
46
|
visitValues(values: Val[]): Val[];
|
|
47
|
+
/**
|
|
48
|
+
* @override
|
|
49
|
+
*/
|
|
50
|
+
visitEmpty(empty: Val): Val;
|
|
46
51
|
/**
|
|
47
52
|
* @override
|
|
48
53
|
*/
|
|
@@ -70,7 +75,7 @@ export declare class FilterVisitor extends Visitor {
|
|
|
70
75
|
/**
|
|
71
76
|
* @override
|
|
72
77
|
*/
|
|
73
|
-
|
|
78
|
+
visitHexColor(color: HexColor): Val;
|
|
74
79
|
/**
|
|
75
80
|
* @override
|
|
76
81
|
*/
|
|
@@ -109,7 +114,7 @@ export declare class Val {
|
|
|
109
114
|
isNum(): boolean;
|
|
110
115
|
isIdent(): boolean;
|
|
111
116
|
isSpaceList(): boolean;
|
|
112
|
-
visit(visitor:
|
|
117
|
+
visit(visitor: Visitor): Val;
|
|
113
118
|
}
|
|
114
119
|
export declare class Empty extends Val {
|
|
115
120
|
private static empty;
|
|
@@ -126,7 +131,7 @@ export declare class Empty extends Val {
|
|
|
126
131
|
/**
|
|
127
132
|
* @override
|
|
128
133
|
*/
|
|
129
|
-
visit(visitor:
|
|
134
|
+
visit(visitor: Visitor): Val;
|
|
130
135
|
}
|
|
131
136
|
export declare const empty: Empty;
|
|
132
137
|
export declare class Slash extends Val {
|
|
@@ -144,7 +149,7 @@ export declare class Slash extends Val {
|
|
|
144
149
|
/**
|
|
145
150
|
* @override
|
|
146
151
|
*/
|
|
147
|
-
visit(visitor:
|
|
152
|
+
visit(visitor: Visitor): Val;
|
|
148
153
|
}
|
|
149
154
|
export declare const slash: Slash;
|
|
150
155
|
export declare class Str extends Val {
|
|
@@ -161,7 +166,7 @@ export declare class Str extends Val {
|
|
|
161
166
|
/**
|
|
162
167
|
* @override
|
|
163
168
|
*/
|
|
164
|
-
visit(visitor:
|
|
169
|
+
visit(visitor: Visitor): Val;
|
|
165
170
|
}
|
|
166
171
|
export declare class Ident extends Val {
|
|
167
172
|
name: string;
|
|
@@ -177,7 +182,7 @@ export declare class Ident extends Val {
|
|
|
177
182
|
/**
|
|
178
183
|
* @override
|
|
179
184
|
*/
|
|
180
|
-
visit(visitor:
|
|
185
|
+
visit(visitor: Visitor): Val;
|
|
181
186
|
/**
|
|
182
187
|
* @override
|
|
183
188
|
*/
|
|
@@ -199,7 +204,7 @@ export declare class Numeric extends Val {
|
|
|
199
204
|
/**
|
|
200
205
|
* @override
|
|
201
206
|
*/
|
|
202
|
-
visit(visitor:
|
|
207
|
+
visit(visitor: Visitor): Val;
|
|
203
208
|
/**
|
|
204
209
|
* @override
|
|
205
210
|
*/
|
|
@@ -219,7 +224,7 @@ export declare class Num extends Val {
|
|
|
219
224
|
/**
|
|
220
225
|
* @override
|
|
221
226
|
*/
|
|
222
|
-
visit(visitor:
|
|
227
|
+
visit(visitor: Visitor): Val;
|
|
223
228
|
/**
|
|
224
229
|
* @override
|
|
225
230
|
*/
|
|
@@ -230,11 +235,11 @@ export declare class Int extends Num {
|
|
|
230
235
|
/**
|
|
231
236
|
* @override
|
|
232
237
|
*/
|
|
233
|
-
visit(visitor:
|
|
238
|
+
visit(visitor: Visitor): Val;
|
|
234
239
|
}
|
|
235
|
-
export declare class
|
|
236
|
-
|
|
237
|
-
constructor(
|
|
240
|
+
export declare class HexColor extends Val {
|
|
241
|
+
hex: string;
|
|
242
|
+
constructor(hex: string);
|
|
238
243
|
/**
|
|
239
244
|
* @override
|
|
240
245
|
*/
|
|
@@ -242,7 +247,7 @@ export declare class Color extends Val {
|
|
|
242
247
|
/**
|
|
243
248
|
* @override
|
|
244
249
|
*/
|
|
245
|
-
visit(visitor:
|
|
250
|
+
visit(visitor: Visitor): Val;
|
|
246
251
|
}
|
|
247
252
|
export declare class URL extends Val {
|
|
248
253
|
url: string;
|
|
@@ -254,7 +259,7 @@ export declare class URL extends Val {
|
|
|
254
259
|
/**
|
|
255
260
|
* @override
|
|
256
261
|
*/
|
|
257
|
-
visit(visitor:
|
|
262
|
+
visit(visitor: Visitor): Val;
|
|
258
263
|
}
|
|
259
264
|
export declare class URange extends Val {
|
|
260
265
|
urangeText: string;
|
|
@@ -266,7 +271,7 @@ export declare class URange extends Val {
|
|
|
266
271
|
/**
|
|
267
272
|
* @override
|
|
268
273
|
*/
|
|
269
|
-
visit(visitor:
|
|
274
|
+
visit(visitor: Visitor): Val;
|
|
270
275
|
}
|
|
271
276
|
export declare function appendList(buf: Base.StringBuffer, values: Val[], separator: string, toString: boolean): void;
|
|
272
277
|
export declare class SpaceList extends Val {
|
|
@@ -279,7 +284,7 @@ export declare class SpaceList extends Val {
|
|
|
279
284
|
/**
|
|
280
285
|
* @override
|
|
281
286
|
*/
|
|
282
|
-
visit(visitor:
|
|
287
|
+
visit(visitor: Visitor): Val;
|
|
283
288
|
/**
|
|
284
289
|
* @override
|
|
285
290
|
*/
|
|
@@ -295,7 +300,7 @@ export declare class CommaList extends Val {
|
|
|
295
300
|
/**
|
|
296
301
|
* @override
|
|
297
302
|
*/
|
|
298
|
-
visit(visitor:
|
|
303
|
+
visit(visitor: Visitor): Val;
|
|
299
304
|
}
|
|
300
305
|
export declare class Func extends Val {
|
|
301
306
|
name: string;
|
|
@@ -308,7 +313,7 @@ export declare class Func extends Val {
|
|
|
308
313
|
/**
|
|
309
314
|
* @override
|
|
310
315
|
*/
|
|
311
|
-
visit(visitor:
|
|
316
|
+
visit(visitor: Visitor): Val;
|
|
312
317
|
}
|
|
313
318
|
export declare class Expr extends Val {
|
|
314
319
|
expr: Exprs.Val;
|
|
@@ -324,12 +329,23 @@ export declare class Expr extends Val {
|
|
|
324
329
|
/**
|
|
325
330
|
* @override
|
|
326
331
|
*/
|
|
327
|
-
visit(visitor:
|
|
332
|
+
visit(visitor: Visitor): Val;
|
|
328
333
|
/**
|
|
329
334
|
* @override
|
|
330
335
|
*/
|
|
331
336
|
isExpr(): boolean;
|
|
332
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Custom property value, may be arbitrary token
|
|
340
|
+
*/
|
|
341
|
+
export declare class AnyToken extends Val {
|
|
342
|
+
text: string;
|
|
343
|
+
constructor(text: string);
|
|
344
|
+
/**
|
|
345
|
+
* @override
|
|
346
|
+
*/
|
|
347
|
+
appendTo(buf: Base.StringBuffer, toString: boolean): void;
|
|
348
|
+
}
|
|
333
349
|
export declare function toNumber(val: Val, context: Exprs.Context): number;
|
|
334
350
|
/**
|
|
335
351
|
* Convert numeric value to px
|
|
@@ -347,7 +363,9 @@ export declare const processingOrder: {
|
|
|
347
363
|
"font-size": number;
|
|
348
364
|
color: number;
|
|
349
365
|
};
|
|
366
|
+
export declare function isDefaultingValue(value: Val): boolean;
|
|
350
367
|
/**
|
|
351
368
|
* Function to sort property names in the order they should be processed
|
|
352
369
|
*/
|
|
353
370
|
export declare function processingOrderFn(name1: string, name2: string): number;
|
|
371
|
+
export declare function isCustomPropName(name: string): boolean;
|
|
@@ -26,15 +26,16 @@ import * as TaskUtil from "./task-util";
|
|
|
26
26
|
export declare type FormattingContextType = "Block" | "RepetitiveElementsOwner" | "Table";
|
|
27
27
|
export declare type FragmentLayoutConstraintType = "AfterIfContinue" | "EntireTable" | "RepetitiveElementsOwner" | "TableRow";
|
|
28
28
|
export declare namespace CssCascade {
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
type ElementStyle = {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
};
|
|
31
32
|
}
|
|
32
33
|
export declare namespace CssStyler {
|
|
33
34
|
interface AbstractStyler {
|
|
34
35
|
getStyle(element: Element, deep: boolean): CssCascade.ElementStyle;
|
|
35
36
|
processContent(element: Element, styles: {
|
|
36
37
|
[key: string]: Css.Val;
|
|
37
|
-
}): any;
|
|
38
|
+
}, viewNode: Node): any;
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
export declare namespace Layout {
|