@vivliostyle/core 2.19.1 → 2.19.2
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 +3 -3
- package/lib/vivliostyle/base.d.ts +0 -21
- package/lib/vivliostyle/break.d.ts +36 -0
- package/lib/vivliostyle/css-cascade.d.ts +3 -0
- package/lib/vivliostyle/layout-helper.d.ts +0 -8
- package/lib/vivliostyle/layout.d.ts +0 -9
- package/lib/vivliostyle/ops.d.ts +5 -0
- package/lib/vivliostyle/types.d.ts +0 -13
- package/lib/vivliostyle/vgen.d.ts +2 -14
- package/lib/vivliostyle/vtree.d.ts +0 -5
- package/lib/vivliostyle.js +1 -1
- package/lib/vivliostyle.js.map +1 -1
- package/package.json +2 -2
|
@@ -28,6 +28,6 @@ export declare const UserAgentXml = "\n<!DOCTYPE html>\n<html xmlns=\"http://www
|
|
|
28
28
|
/** user-agent-page.css */
|
|
29
29
|
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";
|
|
30
30
|
/** user-agent-base.css */
|
|
31
|
-
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";
|
|
32
|
-
/**
|
|
33
|
-
export declare const
|
|
31
|
+
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/* MathML */\nmath[display=\"block\"] {\n display: block;\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";
|
|
32
|
+
/** vivliostyle-polyfill.css */
|
|
33
|
+
export declare const VivliostylePolyfillCss = "\n[data-viv-margin-discard~=\"block-start\"] {\n margin-block-start: 0 !important;\n}\n[data-viv-margin-discard~=\"block-end\"] {\n margin-block-end: 0 !important;\n}\n[data-viv-margin-discard~=\"inline-start\"] {\n margin-inline-start: 0 !important;\n}\n[data-viv-margin-discard~=\"inline-end\"] {\n margin-inline-end: 0 !important;\n}\n\n[data-viv-box-break~=\"inline-start\"]:not([data-viv-box-break~=\"clone\"]) {\n margin-inline-start: 0 !important;\n padding-inline-start: 0 !important;\n border-inline-start-width: 0 !important;\n border-start-start-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n[data-viv-box-break~=\"inline-end\"]:not([data-viv-box-break~=\"clone\"]) {\n margin-inline-end: 0 !important;\n padding-inline-end: 0 !important;\n border-inline-end-width: 0 !important;\n border-start-end-radius: 0 !important;\n border-end-end-radius: 0 !important;\n}\n[data-viv-box-break~=\"block-start\"]:not([data-viv-box-break~=\"clone\"]) {\n margin-block-start: 0 !important;\n padding-block-start: 0 !important;\n border-block-start-width: 0 !important;\n border-start-start-radius: 0 !important;\n border-start-end-radius: 0 !important;\n}\n[data-viv-box-break~=\"block-end\"]:not([data-viv-box-break~=\"clone\"]) {\n margin-block-end: 0 !important;\n padding-block-end: 0 !important;\n border-block-end-width: 0 !important;\n border-end-start-radius: 0 !important;\n border-end-end-radius: 0 !important;\n}\n[data-viv-box-break~=\"block-start\"][data-viv-box-break~=\"text-start\"] {\n text-indent: 0 !important;\n}\n[data-viv-box-break~=\"block-end\"][data-viv-box-break~=\"text-end\"][data-viv-box-break~=\"justify\"] {\n text-align-last: justify !important;\n}\n[data-viv-box-break~=\"block-end\"][data-viv-box-break~=\"text-end\"][data-viv-box-break~=\"justify\"] > * {\n text-align-last: auto;\n}\n[data-viv-box-break~=\"block-end\"][data-viv-box-break~=\"text-end\"]:not([data-viv-box-break~=\"justify\"]) {\n text-align-last: auto !important;\n}\n\nspan.viv-anonymous-block {\n display: block;\n}\n\nviv-ts-open.viv-ts-auto > viv-ts-inner,\nviv-ts-open.viv-ts-trim > viv-ts-inner {\n margin-inline-start: -0.5em;\n}\nviv-ts-close.viv-ts-auto > viv-ts-inner,\nviv-ts-close.viv-ts-trim > viv-ts-inner {\n letter-spacing: -0.5em;\n}\nviv-ts-close.viv-hang-end > viv-ts-inner,\nviv-ts-close.viv-hang-last > viv-ts-inner {\n letter-spacing: -1em;\n}\nviv-ts-open.viv-ts-auto::before,\nviv-ts-close.viv-ts-auto::after,\nviv-ts-close.viv-hang-end::after {\n content: \" \";\n font-family: Courier, monospace;\n word-spacing: normal;\n letter-spacing: -0.11em;\n line-height: 0;\n text-orientation: mixed;\n visibility: hidden;\n}\nviv-ts-close.viv-hang-end:not(.viv-hang-hw)::after {\n letter-spacing: 0.4em;\n}\nviv-ts-close.viv-hang-hw > viv-ts-inner {\n letter-spacing: -0.5em;\n}\nviv-ts-open.viv-hang-first > viv-ts-inner {\n display: inline-block;\n line-height: 1;\n inline-size: 1em;\n text-indent: 0;\n text-align: end;\n text-align-last: end;\n margin-inline-start: -1em;\n}\nviv-ts-thin-sp::after {\n content: \" \";\n font-family: Times, serif;\n font-size: 66.6%;\n word-spacing: normal;\n letter-spacing: normal;\n line-height: 0;\n text-orientation: mixed;\n visibility: hidden;\n}\n";
|
|
@@ -187,24 +187,3 @@ export declare class SimpleEventTarget {
|
|
|
187
187
|
removeEventListener(type: string, listener: EventListener, capture?: boolean): void;
|
|
188
188
|
}
|
|
189
189
|
export declare type EventTarget = SimpleEventTarget;
|
|
190
|
-
export declare let hasLShapeFloatBug: boolean | null;
|
|
191
|
-
/**
|
|
192
|
-
* Check if there is a bug with L-shape floats overlapping text.
|
|
193
|
-
*/
|
|
194
|
-
export declare function checkLShapeFloatBug(body: HTMLElement): boolean;
|
|
195
|
-
export declare let hasVerticalBBoxBug: boolean | null;
|
|
196
|
-
/**
|
|
197
|
-
* Check if there is a bug with the bounding boxes of vertical text characters.
|
|
198
|
-
* Though method used to be used check Chrome bug, it seems that the bug has
|
|
199
|
-
* been already fixed:
|
|
200
|
-
* https://bugs.chromium.org/p/chromium/issues/detail?id=297808
|
|
201
|
-
* We now use this method to check Firefox bug:
|
|
202
|
-
* https://bugzilla.mozilla.org/show_bug.cgi?id=1159309
|
|
203
|
-
*/
|
|
204
|
-
export declare function checkVerticalBBoxBug(body: HTMLElement): boolean;
|
|
205
|
-
export declare let hasInlineBlockJustificationBug: boolean | null;
|
|
206
|
-
export declare function checkInlineBlockJustificationBug(body: HTMLElement): boolean;
|
|
207
|
-
export declare let hasSoftWrapOpportunityAfterHyphenBug: boolean | null;
|
|
208
|
-
export declare function checkSoftWrapOpportunityAfterHyphenBug(body: HTMLElement): boolean;
|
|
209
|
-
export declare let hasSoftWrapOpportunityByWbrBug: boolean | null;
|
|
210
|
-
export declare function checkSoftWrapOpportunityByWbrBug(body: HTMLElement): boolean;
|
|
@@ -18,6 +18,41 @@
|
|
|
18
18
|
* @fileoverview Break - Control fragmentation.
|
|
19
19
|
*/
|
|
20
20
|
import * as Css from "./css";
|
|
21
|
+
/**
|
|
22
|
+
* Check if style="box-decoration-break: clone" is set
|
|
23
|
+
*/
|
|
24
|
+
export declare function isCloneBoxDecorationBreak(element: Element): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* data-viv-box-break attribute
|
|
27
|
+
*
|
|
28
|
+
* Value: [ [inline-start || inline-end] |
|
|
29
|
+
* [block-start text-start? || block-end text-end?] justify? ]
|
|
30
|
+
* clone?
|
|
31
|
+
*
|
|
32
|
+
* inline-start, inline-end, block-start, block-end: the side at which a box break occurs
|
|
33
|
+
* text-start: the fragment starts with text or inline box
|
|
34
|
+
* text-end: the fragment ends with text or inline box
|
|
35
|
+
* justify: the computed value of `text-align` property is `justify`
|
|
36
|
+
* clone: the computed value of `box-decoration-break` property is `clone`
|
|
37
|
+
*/
|
|
38
|
+
declare type BoxBreakFlag = "inline-start" | "inline-end" | "block-start" | "block-end" | "text-start" | "text-end" | "justify" | "clone";
|
|
39
|
+
export declare function getBoxBreakFlags(element: Element): BoxBreakFlag[];
|
|
40
|
+
export declare function setBoxBreakFlags(element: Element, boxBreakFlags: BoxBreakFlag[]): void;
|
|
41
|
+
export declare function setBoxBreakFlag(element: Element, boxBreakFlag: BoxBreakFlag): void;
|
|
42
|
+
/**
|
|
43
|
+
* data-viv-margin-discard attribute
|
|
44
|
+
*
|
|
45
|
+
* Value: block-start || block-end || inline-start || inline-end
|
|
46
|
+
*
|
|
47
|
+
* block-start: the block-start margin is discarded
|
|
48
|
+
* block-end: the block-end margin is discarded
|
|
49
|
+
* inline-start: the inline-start margin is discarded
|
|
50
|
+
* inline-end: the inline-end margin is discarded
|
|
51
|
+
*/
|
|
52
|
+
declare type MarginDiscardFlag = "block-start" | "block-end" | "inline-start" | "inline-end";
|
|
53
|
+
export declare function getMarginDiscardFlags(element: Element): MarginDiscardFlag[];
|
|
54
|
+
export declare function setMarginDiscardFlags(element: Element, marginDiscardFlags: MarginDiscardFlag[]): void;
|
|
55
|
+
export declare function setMarginDiscardFlag(element: Element, marginDiscardFlag: MarginDiscardFlag): void;
|
|
21
56
|
/**
|
|
22
57
|
* Convert old page-break-* properties to break-* properties with appropriate
|
|
23
58
|
* values as specified by CSS Fragmentation module:
|
|
@@ -75,3 +110,4 @@ export declare function isAvoidBreakValue(value: string | null): boolean;
|
|
|
75
110
|
export declare function resolveEffectiveBreakValue(first: string | null, second: string | null): string | null;
|
|
76
111
|
export declare function breakValueToStartSideValue(breakValue: string | null): string;
|
|
77
112
|
export declare function startSideValueToBreakValue(startSideValue: string): string | null;
|
|
113
|
+
export {};
|
|
@@ -766,11 +766,14 @@ export declare class CascadeParserHandler extends CssParser.SlaveParserHandler i
|
|
|
766
766
|
state: ParseState;
|
|
767
767
|
viewConditionId: string | null;
|
|
768
768
|
insideSelectorRule: ParseState;
|
|
769
|
+
invalid: boolean;
|
|
769
770
|
constructor(scope: Exprs.LexicalScope, owner: CssParser.DispatchParserHandler, condition: Exprs.Val, parent: CascadeParserHandler, regionId: string | null, validatorSet: CssValidator.ValidatorSet, topLevel: boolean);
|
|
770
771
|
protected insertNonPrimary(action: CascadeAction): void;
|
|
771
772
|
processChain(action: CascadeAction): void;
|
|
772
773
|
isInsideSelectorRule(mnemonics: string): boolean;
|
|
773
774
|
tagSelector(ns: string | null, name: string | null): void;
|
|
775
|
+
invalidSelector(message: string): void;
|
|
776
|
+
setInvalid(): void;
|
|
774
777
|
classSelector(name: string): void;
|
|
775
778
|
pseudoclassSelector(name: string, params: (number | string)[]): void;
|
|
776
779
|
pseudoelementSelector(name: string, params: (number | string)[]): void;
|
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
import { Layout, Vtree } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Though method used to be used as a workaround for Chrome bug, it seems that
|
|
4
|
-
* the bug has been already fixed:
|
|
5
|
-
* https://bugs.chromium.org/p/chromium/issues/detail?id=297808
|
|
6
|
-
* We now use this method as a workaround for Firefox bug:
|
|
7
|
-
* https://bugzilla.mozilla.org/show_bug.cgi?id=1159309
|
|
8
|
-
*/
|
|
9
|
-
export declare function fixBoxesForNode(clientLayout: Vtree.ClientLayout, boxes: Vtree.ClientRect[], node: Node): Vtree.ClientRect[];
|
|
10
2
|
/**
|
|
11
3
|
* Calculate the position of the "after" edge in the block-progression
|
|
12
4
|
* dimension. Return 0 if position was determined successfully and return
|
|
@@ -247,14 +247,6 @@ export declare class Column extends VtreeImpl.Container implements Layout.Column
|
|
|
247
247
|
setFloatAnchorViewNode(nodeContext: Vtree.NodeContext): Vtree.NodeContext;
|
|
248
248
|
resolveFloatReferenceFromColumnSpan(floatReference: PageFloats.FloatReference, columnSpan: Css.Val, nodeContext: Vtree.NodeContext): Task.Result<PageFloats.FloatReference>;
|
|
249
249
|
layoutPageFloat(nodeContext: Vtree.NodeContext): Task.Result<Vtree.NodeContext>;
|
|
250
|
-
createJustificationAdjustmentElement(insertionPoint: Node, doc: Document, parentNode: Node, vertical: boolean): HTMLElement;
|
|
251
|
-
addAndAdjustJustificationElement(nodeContext: Vtree.NodeContext, insertAfter: boolean, node: Node, insertionPoint: Node, doc: Document, parentNode: Node): HTMLElement;
|
|
252
|
-
compensateJustificationLineHeight(span: Element, br: Element, nodeContext: Vtree.NodeContext): void;
|
|
253
|
-
/**
|
|
254
|
-
* Fix justification of the last line of text broken across pages (if
|
|
255
|
-
* needed).
|
|
256
|
-
*/
|
|
257
|
-
fixJustificationIfNeeded(nodeContext: Vtree.NodeContext, endOfColumn: boolean): void;
|
|
258
250
|
processLineStyling(nodeContext: Vtree.NodeContext, resNodeContext: Vtree.NodeContext, checkPoints: Vtree.NodeContext[]): Task.Result<Vtree.NodeContext>;
|
|
259
251
|
isLoneImage(checkPoints: Vtree.NodeContext[]): boolean;
|
|
260
252
|
getTrailingMarginEdgeAdjustment(trailingEdgeContexts: Vtree.NodeContext[]): number;
|
|
@@ -407,7 +399,6 @@ export declare class PseudoColumn {
|
|
|
407
399
|
getColumn(): Layout.Column;
|
|
408
400
|
}
|
|
409
401
|
export declare type SinglePageFloatLayoutResult = Layout.SinglePageFloatLayoutResult;
|
|
410
|
-
export declare function fixJustificationOnHyphen(nodeContext: Vtree.NodeContext, insertAfter: boolean, node: Node, insertionPoint: Node): void;
|
|
411
402
|
/**
|
|
412
403
|
* breaking point resolver for Text Node.
|
|
413
404
|
*/
|
package/lib/vivliostyle/ops.d.ts
CHANGED
|
@@ -135,6 +135,11 @@ export declare class StyleInstance extends Exprs.Context implements CssStyler.Fl
|
|
|
135
135
|
/** @override */
|
|
136
136
|
encounteredFlowChunk(flowChunk: Vtree.FlowChunk, flow: Vtree.Flow): void;
|
|
137
137
|
evalSupportsTest(name: string, value: string, isFunc: boolean): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* @param selectorText
|
|
140
|
+
* @returns true if selectorText is supported selector
|
|
141
|
+
*/
|
|
142
|
+
private evalSupportsSelector;
|
|
138
143
|
getConsumedOffset(flowPosition: Vtree.FlowPosition): number;
|
|
139
144
|
/**
|
|
140
145
|
* @param noLookAhead Do not look ahead elements that are not styled yet
|
|
@@ -242,14 +242,6 @@ export declare namespace Layout {
|
|
|
242
242
|
setFloatAnchorViewNode(nodeContext: Vtree.NodeContext): Vtree.NodeContext;
|
|
243
243
|
resolveFloatReferenceFromColumnSpan(floatReference: PageFloats.FloatReference, columnSpan: Css.Val, nodeContext: Vtree.NodeContext): Task.Result<PageFloats.FloatReference>;
|
|
244
244
|
layoutPageFloat(nodeContext: Vtree.NodeContext): Task.Result<Vtree.NodeContext>;
|
|
245
|
-
createJustificationAdjustmentElement(insertionPoint: Node, doc: Document, parentNode: Node, vertical: boolean): HTMLElement;
|
|
246
|
-
addAndAdjustJustificationElement(nodeContext: Vtree.NodeContext, insertAfter: boolean, node: Node, insertionPoint: Node, doc: Document, parentNode: Node): HTMLElement;
|
|
247
|
-
compensateJustificationLineHeight(span: Element, br: Element, nodeContext: Vtree.NodeContext): void;
|
|
248
|
-
/**
|
|
249
|
-
* Fix justification of the last line of text broken across pages (if
|
|
250
|
-
* needed).
|
|
251
|
-
*/
|
|
252
|
-
fixJustificationIfNeeded(nodeContext: Vtree.NodeContext, endOfColumn: boolean): void;
|
|
253
245
|
processLineStyling(nodeContext: Vtree.NodeContext, resNodeContext: Vtree.NodeContext, checkPoints: Vtree.NodeContext[]): Task.Result<Vtree.NodeContext>;
|
|
254
246
|
isLoneImage(checkPoints: Vtree.NodeContext[]): boolean;
|
|
255
247
|
getTrailingMarginEdgeAdjustment(trailingEdgeContexts: Vtree.NodeContext[]): number;
|
|
@@ -920,11 +912,6 @@ export declare namespace Vtree {
|
|
|
920
912
|
toNodePosition(): NodePosition;
|
|
921
913
|
isInsideBFC(): boolean;
|
|
922
914
|
getContainingBlockForAbsolute(): NodeContext;
|
|
923
|
-
/**
|
|
924
|
-
* Walk up NodeContext tree (starting from itself) and call the callback for
|
|
925
|
-
* each block.
|
|
926
|
-
*/
|
|
927
|
-
walkUpBlocks(callback: (p1: NodeContext) => any): void;
|
|
928
915
|
belongsTo(formattingContext: FormattingContext): boolean;
|
|
929
916
|
}
|
|
930
917
|
interface ChunkPosition {
|
|
@@ -8,18 +8,6 @@ import * as Task from "./task";
|
|
|
8
8
|
import * as TaskUtil from "./task-util";
|
|
9
9
|
import * as Vtree from "./vtree";
|
|
10
10
|
import { XmlDoc } from "./types";
|
|
11
|
-
export declare const frontEdgeBlackListHor: {
|
|
12
|
-
[key: string]: string;
|
|
13
|
-
};
|
|
14
|
-
export declare const frontEdgeBlackListVert: {
|
|
15
|
-
[key: string]: string;
|
|
16
|
-
};
|
|
17
|
-
export declare const frontEdgeUnforcedBreakBlackListHor: {
|
|
18
|
-
[key: string]: string;
|
|
19
|
-
};
|
|
20
|
-
export declare const frontEdgeUnforcedBreakBlackListVert: {
|
|
21
|
-
[key: string]: string;
|
|
22
|
-
};
|
|
23
11
|
export declare type CustomRenderer = (p1: Element, p2: Element, p3: {
|
|
24
12
|
[key: string]: Css.Val;
|
|
25
13
|
}) => Task.Result<Element>;
|
|
@@ -91,7 +79,6 @@ export declare class ViewFactory extends Base.SimpleEventTarget implements Vtree
|
|
|
91
79
|
* @return holding true if children should be processed
|
|
92
80
|
*/
|
|
93
81
|
private createElementView;
|
|
94
|
-
private isParagraph;
|
|
95
82
|
/**
|
|
96
83
|
* Check if the current position is at a forced break
|
|
97
84
|
* (Fix for Issue #690)
|
|
@@ -143,6 +130,8 @@ export declare class ViewFactory extends Base.SimpleEventTarget implements Vtree
|
|
|
143
130
|
applyFootnoteStyle(vertical: boolean, rtl: boolean, target: Element): boolean;
|
|
144
131
|
/** @override */
|
|
145
132
|
processFragmentedBlockEdge(nodeContext: Vtree.NodeContext): void;
|
|
133
|
+
private fixClonedBoxDecorationOverflow;
|
|
134
|
+
private createChildAnonymousBlockIfNeeded;
|
|
146
135
|
/** @override */
|
|
147
136
|
convertLengthToPx(numeric: Css.Numeric, viewNode: Node, clientLayout: Vtree.ClientLayout): number | Css.Numeric;
|
|
148
137
|
/**
|
|
@@ -154,7 +143,6 @@ export declare class ViewFactory extends Base.SimpleEventTarget implements Vtree
|
|
|
154
143
|
isPseudoelement(elem: any): boolean;
|
|
155
144
|
}
|
|
156
145
|
export declare const propertiesNotPassedToDOM: {
|
|
157
|
-
"box-decoration-break": boolean;
|
|
158
146
|
"float-min-wrap-block": boolean;
|
|
159
147
|
"float-reference": boolean;
|
|
160
148
|
"flow-into": boolean;
|
|
@@ -266,11 +266,6 @@ export declare class NodeContext implements Vtree.NodeContext {
|
|
|
266
266
|
toNodePosition(): NodePosition;
|
|
267
267
|
isInsideBFC(): boolean;
|
|
268
268
|
getContainingBlockForAbsolute(): NodeContext;
|
|
269
|
-
/**
|
|
270
|
-
* Walk up NodeContext tree (starting from itself) and call the callback for
|
|
271
|
-
* each block.
|
|
272
|
-
*/
|
|
273
|
-
walkUpBlocks(callback: (p1: NodeContext) => any): void;
|
|
274
269
|
belongsTo(formattingContext: FormattingContext): boolean;
|
|
275
270
|
}
|
|
276
271
|
export declare class ChunkPosition implements Vtree.ChunkPosition {
|