UNPKG

ecmarkup

Version:

Custom element definitions and core utilities for markup that specifies ECMAScript and related technologies.

1,256 lines (1,086 loc) 20.2 kB
body { display: flex; word-wrap: break-word; font-size: 18px; line-height: 1.5; font-family: Cambria, Palatino Linotype, Palatino, Liberation Serif, serif; padding: 0; margin: 0; color: #111; } #spec-container { padding: 0 20px; flex-grow: 1; flex-basis: 66%; box-sizing: border-box; overflow: hidden; padding-bottom: 1em; } body.oldtoc { margin: 0 auto; } a { text-decoration: none; color: #206ca7; } a:visited { color: #206ca7; } a:hover { text-decoration: underline; color: #239dee; } a.e-user-code, span.e-user-code { white-space: nowrap; } a.e-user-code::before, span.e-user-code::before { display: none; color: brown; background-color: white; border: 2pt solid brown; padding: 0.3ex; margin: 0 0.25em 0 0; line-height: 1; vertical-align: text-top; text-transform: uppercase; font-family: 'Comic Code', sans-serif; font-weight: 900; font-size: x-small; } a.e-user-code:hover::before, span.e-user-code:hover::before { background-color: brown; color: white; } html.show-ao-annotations a.e-user-code::before, html.show-ao-annotations span.e-user-code::before { display: inline-block; } a.e-user-code::before, span.e-user-code::before { content: 'UC'; } code { font-weight: bold; font-family: Consolas, Monaco, monospace; white-space: pre; } pre code { font-weight: inherit; } pre code.hljs { background-color: #fff; margin: 0; padding: 0; } ol.toc { list-style: none; padding-left: 0; } ol.toc ol.toc { padding-left: 2ex; list-style: none; } var { color: #2aa198; transition: background-color 0.25s ease; cursor: pointer; } var.referenced0 { color: inherit; background-color: #ffff33; box-shadow: 0 0 0 2px #ffff33; } var.referenced1 { color: inherit; background-color: #ff87a2; box-shadow: 0 0 0 2px #ff87a2; } var.referenced2 { color: inherit; background-color: #96e885; box-shadow: 0 0 0 2px #96e885; } var.referenced3 { color: inherit; background-color: #3eeed2; box-shadow: 0 0 0 2px #3eeed2; } var.referenced4 { color: inherit; background-color: #eacfb6; box-shadow: 0 0 0 2px #eacfb6; } var.referenced5 { color: inherit; background-color: #82ddff; box-shadow: 0 0 0 2px #82ddff; } var.referenced6 { color: inherit; background-color: #ffbcf2; box-shadow: 0 0 0 2px #ffbcf2; } emu-const { font-family: sans-serif; } emu-val { font-weight: bold; } /* depth 1 */ emu-alg ol, /* depth 4 */ emu-alg ol ol ol ol, emu-alg ol.nested-thrice, emu-alg ol.nested-twice ol, emu-alg ol.nested-once ol ol { list-style-type: decimal; } /* depth 2 */ emu-alg ol ol, emu-alg ol.nested-once, /* depth 5 */ emu-alg ol ol ol ol ol, emu-alg ol.nested-four-times, emu-alg ol.nested-thrice ol, emu-alg ol.nested-twice ol ol, emu-alg ol.nested-once ol ol ol { list-style-type: lower-alpha; } /* depth 3 */ emu-alg ol ol ol, emu-alg ol.nested-twice, emu-alg ol.nested-once ol, /* depth 6 */ emu-alg ol ol ol ol ol ol, emu-alg ol.nested-lots, emu-alg ol.nested-four-times ol, emu-alg ol.nested-thrice ol ol, emu-alg ol.nested-twice ol ol ol, emu-alg ol.nested-once ol ol ol ol, /* depth 7+ */ emu-alg ol.nested-lots ol { list-style-type: lower-roman; } emu-eqn { display: block; margin-left: 4em; } emu-eqn.inline { display: inline; margin: 0; } emu-eqn div:first-child { margin-left: -2em; } emu-note { margin: 1em 0; display: flex; flex-direction: row; color: inherit; border-left: 5px solid #52e052; background: #e9fbe9; padding: 10px 10px 10px 0; } emu-note > span.note { flex-basis: 100px; min-width: 100px; flex-grow: 0; flex-shrink: 1; text-transform: uppercase; padding-left: 5px; } emu-note[type='editor'] { border-left-color: #faa; } emu-note > div.note-contents { flex-grow: 1; flex-shrink: 1; overflow: auto; } emu-note > div.note-contents > p:first-of-type { margin-top: 0; } emu-note > div.note-contents > p:last-of-type { margin-bottom: 0; } emu-table td code { white-space: normal; } emu-figure { display: block; } emu-example { display: block; margin: 1em 3em; } emu-example figure figcaption { margin-top: 0.5em; text-align: left; } emu-figure figure, emu-example figure, emu-table figure { display: flex; flex-direction: column; align-items: center; } emu-production { display: block; } emu-grammar[type='example'] emu-production, emu-grammar[type='definition'] emu-production { margin-top: 1em; margin-bottom: 1em; margin-left: 5ex; } emu-grammar.inline, emu-production.inline, emu-grammar.inline emu-production emu-rhs, emu-production.inline emu-rhs, emu-grammar[collapsed] emu-production emu-rhs { display: inline; padding-left: 1ex; margin-left: 0; } emu-production[collapsed] emu-rhs { display: inline; padding-left: 0.5ex; margin-left: 0; } emu-grammar[collapsed] emu-production, emu-production[collapsed] { margin: 0; } emu-constraints { font-size: 0.75em; margin-right: 0.5ex; } emu-gann { margin-right: 0.5ex; } emu-gann emu-t:last-child, emu-gann emu-gprose:last-child, emu-gann emu-nt:last-child { margin-right: 0; } emu-geq { margin-left: 0.5ex; font-weight: bold; } emu-oneof { font-weight: bold; margin-left: 0.5ex; } emu-nt { display: inline-block; font-style: italic; white-space: nowrap; text-indent: 0; } emu-nt a, emu-nt a:visited { color: #333; } emu-rhs emu-nt { margin-right: 0.5ex; } emu-t { display: inline-block; font-family: monospace; font-weight: bold; white-space: nowrap; text-indent: 0; } emu-production emu-t { margin-right: 0.5ex; } emu-rhs { display: block; padding-left: 75px; text-indent: -25px; } emu-production:not([collapsed]) emu-rhs { border: 0.2ex dashed transparent; } emu-production:not([collapsed]) emu-rhs:hover { border-color: #888; background-color: #f0f0f0; } emu-mods { font-size: 0.85em; vertical-align: sub; font-style: normal; font-weight: normal; } emu-params, emu-opt { margin-right: 1ex; font-family: monospace; } emu-params, emu-constraints { color: #2aa198; } emu-opt { color: #b58900; } emu-gprose { font-size: 0.9em; font-family: Helvetica, Arial, sans-serif; } emu-production emu-gprose { margin-right: 1ex; } h1.shortname { color: #f60; font-size: 1.5em; margin: 0; } h1.version { color: #f60; font-size: 1.5em; } h1.title { color: #f60; } h1, h2, h3, h4, h5, h6 { position: relative; } h1 .secnum { text-decoration: none; margin-right: 5px; } h1 span.title { order: 2; } h1 { font-size: 2.67em; margin-bottom: 0; line-height: 1em; } h2 { font-size: 2em; } h3 { font-size: 1.56em; } h4 { font-size: 1.25em; } h5 { font-size: 1.11em; } h6 { font-size: 1em; } pre code.hljs { background: transparent; } emu-clause[id], emu-annex[id], emu-intro[id] { scroll-margin-top: 2ex; } emu-intro h1, emu-clause h1, emu-annex h1 { font-size: 2em; } emu-intro h2, emu-clause h2, emu-annex h2 { font-size: 1.56em; } emu-intro h3, emu-clause h3, emu-annex h3 { font-size: 1.25em; } emu-intro h4, emu-clause h4, emu-annex h4 { font-size: 1.11em; } emu-intro h5, emu-clause h5, emu-annex h5 { font-size: 1em; } emu-intro h6, emu-clause h6, emu-annex h6 { font-size: 0.9em; } emu-intro emu-intro h1, emu-clause emu-clause h1, emu-annex emu-annex h1 { font-size: 1.56em; } emu-intro emu-intro h2, emu-clause emu-clause h2, emu-annex emu-annex h2 { font-size: 1.25em; } emu-intro emu-intro h3, emu-clause emu-clause h3, emu-annex emu-annex h3 { font-size: 1.11em; } emu-intro emu-intro h4, emu-clause emu-clause h4, emu-annex emu-annex h4 { font-size: 1em; } emu-intro emu-intro h5, emu-clause emu-clause h5, emu-annex emu-annex h5 { font-size: 0.9em; } emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex h1 { font-size: 1.25em; } emu-intro emu-intro emu-intro h2, emu-clause emu-clause emu-clause h2, emu-annex emu-annex emu-annex h2 { font-size: 1.11em; } emu-intro emu-intro emu-intro h3, emu-clause emu-clause emu-clause h3, emu-annex emu-annex emu-annex h3 { font-size: 1em; } emu-intro emu-intro emu-intro h4, emu-clause emu-clause emu-clause h4, emu-annex emu-annex emu-annex h4 { font-size: 0.9em; } emu-intro emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex emu-annex h1 { font-size: 1.11em; } emu-intro emu-intro emu-intro emu-intro h2, emu-clause emu-clause emu-clause emu-clause h2, emu-annex emu-annex emu-annex emu-annex h2 { font-size: 1em; } emu-intro emu-intro emu-intro emu-intro h3, emu-clause emu-clause emu-clause emu-clause h3, emu-annex emu-annex emu-annex emu-annex h3 { font-size: 0.9em; } emu-intro emu-intro emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex emu-annex emu-annex h1 { font-size: 1em; } emu-intro emu-intro emu-intro emu-intro emu-intro h2, emu-clause emu-clause emu-clause emu-clause emu-clause h2, emu-annex emu-annex emu-annex emu-annex emu-annex h2 { font-size: 0.9em; } emu-intro emu-intro emu-intro emu-intro emu-intro emu-intro h1, emu-clause emu-clause emu-clause emu-clause emu-clause emu-clause h1, emu-annex emu-annex emu-annex emu-annex emu-annex emu-annex h1 { font-size: 0.9em; } emu-clause, emu-intro, emu-annex { display: block; } /* these values are twice the font-size for the <h1> titles for clauses */ emu-intro, emu-clause, emu-annex { margin-top: 4em; } emu-intro emu-intro, emu-clause emu-clause, emu-annex emu-annex { margin-top: 3.12em; } emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex { margin-top: 2.5em; } emu-intro emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex emu-annex { margin-top: 2.22em; } emu-intro emu-intro emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex emu-annex emu-annex { margin-top: 2em; } emu-intro emu-intro emu-intro emu-intro emu-intro emu-intro, emu-clause emu-clause emu-clause emu-clause emu-clause emu-clause, emu-annex emu-annex emu-annex emu-annex emu-annex emu-annex { margin-top: 1.8em; } #spec-container > emu-intro:first-of-type, #spec-container > emu-clause:first-of-type, #spec-container > emu-annex:first-of-type { margin-top: 0; } /* Figures and tables */ figure { display: block; margin: 1em 0 3em 0; } figure object { display: block; margin: 0 auto; } figure table.real-table { margin: 0 auto; } figure figcaption { display: block; color: #555555; font-weight: bold; text-align: center; } emu-table table { margin: 0 auto; } emu-table table, table.real-table { border-collapse: collapse; } emu-table td, emu-table th, table.real-table td, table.real-table th { border: 1px solid black; padding: 0.4em; vertical-align: baseline; } emu-table th, emu-table thead td, table.real-table th { background-color: #eeeeee; } emu-table td { background: #fff; } /* Note: the left content edges of table.lightweight-table >tbody >tr >td and div.display line up. */ table.lightweight-table { border-collapse: collapse; margin: 0 0 0 1.5em; } table.lightweight-table td, table.lightweight-table th { border: none; padding: 0 0.5em; vertical-align: baseline; } /* diff styles */ ins { background-color: #e0f8e0; text-decoration: none; border-bottom: 1px solid #396; } del { background-color: #fee; } ins.block, del.block, emu-production > ins, emu-production > del, emu-grammar > ins, emu-grammar > del { display: block; } emu-rhs > ins, emu-rhs > del { display: inline; } tr.ins > td > ins { border-bottom: none; } tr.ins > td { background-color: #e0f8e0; } tr.del > td { background-color: #fee; } /* Menu Styles */ #menu-toggle { font-size: 2em; position: fixed; top: 0; left: 0; width: 1.5em; height: 1.5em; z-index: 3; visibility: hidden; color: #1567a2; background-color: #fff; line-height: 1.5em; text-align: center; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; } #menu { display: flex; flex-direction: column; width: 33%; height: 100vh; max-width: 500px; box-sizing: border-box; background-color: #ddd; overflow: hidden; transition: opacity 0.1s linear; padding: 0 5px; position: fixed; left: 0; top: 0; border-right: 2px solid #bbb; z-index: 2; } .menu-spacer { flex-basis: 33%; max-width: 500px; flex-grow: 0; flex-shrink: 0; } #menu a { color: #1567a2; } #menu.active { display: flex; opacity: 1; z-index: 2; } #menu-pins { flex-grow: 1; display: none; } #menu-pins.active { display: block; } #menu-pins-list { margin: 0; padding: 0; counter-reset: pins-counter; } #menu-pins-list > li:before { content: counter(pins-counter); counter-increment: pins-counter; display: inline-block; width: 25px; text-align: center; border: 1px solid #bbb; padding: 2px; margin: 4px; box-sizing: border-box; line-height: 1em; background-color: #ccc; border-radius: 4px; } #menu-toc > ol { padding: 0; flex-grow: 1; } #menu-toc > ol li { padding: 0; } #menu-toc > ol, #menu-toc > ol ol { list-style-type: none; margin: 0; padding: 0; } #menu-toc > ol ol { padding-left: 0.75em; } #menu-toc li { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #menu-toc .item-toggle { display: inline-block; transform: rotate(-45deg) translate(-5px, -5px); transition: transform 0.1s ease; text-align: center; width: 20px; color: #aab; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; } #menu-toc .item-toggle-none { display: inline-block; width: 20px; } #menu-toc li.active > .item-toggle { transform: rotate(45deg) translate(-5px, -5px); } #menu-toc li > ol { display: none; } #menu-toc li.active > ol { display: block; } #menu-toc li.revealed > a { background-color: #bbb; font-weight: bold; /* background-color: #222; color: #c6d8e4; */ } #menu-toc li.revealed-leaf > a { color: #206ca7; /* background-color: #222; color: #c6d8e4; */ } #menu-toc li.revealed > .item-toggle { transform: rotate(45deg) translate(-5px, -5px); } #menu-toc li.revealed > ol { display: block; } #menu-toc li > a { padding: 2px 5px; } #menu > * { margin-bottom: 5px; } .menu-pane-header { padding: 0 5px; text-transform: uppercase; background-color: #aaa; color: #335; font-weight: bold; letter-spacing: 2px; flex-grow: 0; flex-shrink: 0; font-size: 0.8em; } .menu-pane-header emu-opt, .menu-pane-header emu-t, .menu-pane-header emu-nt { margin-right: 0px; display: inline; color: inherit; } .menu-pane-header emu-rhs { display: inline; padding-left: 0px; text-indent: 0px; } .menu-pane-header emu-geq { margin-left: 0px; } a.menu-pane-header-production { color: inherit; } .menu-pane-header-production { text-transform: none; letter-spacing: 1.5px; padding-left: 0.5em; } #menu-toc { display: flex; flex-direction: column; width: 100%; overflow: hidden; flex-grow: 1; } #menu-toc ol.toc { overflow-x: hidden; overflow-y: auto; } #menu-search { position: relative; flex-grow: 0; flex-shrink: 0; width: 100%; display: flex; flex-direction: column; max-height: 300px; } #menu-trace-list { display: none; } #menu-search-box { box-sizing: border-box; display: block; width: 100%; margin: 5px 0 0 0; font-size: 1em; padding: 2px; background-color: #bbb; border: 1px solid #999; } #menu-search-results { overflow-x: hidden; overflow-y: auto; } li.menu-search-result-clause:before { content: 'clause'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: #666; font-size: 75%; } li.menu-search-result-op:before { content: 'op'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: #666; font-size: 75%; } li.menu-search-result-prod:before { content: 'prod'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: #666; font-size: 75%; } li.menu-search-result-term:before { content: 'term'; width: 40px; display: inline-block; text-align: right; padding-right: 1ex; color: #666; font-size: 75%; } #menu-search-results ul { padding: 0 5px; margin: 0; } #menu-search-results li { white-space: nowrap; text-overflow: ellipsis; } #menu-trace-list { counter-reset: item; margin: 0 0 0 20px; padding: 0; } #menu-trace-list li { display: block; white-space: nowrap; } #menu-trace-list li .secnum:after { content: ' '; } #menu-trace-list li:before { content: counter(item) ' '; background-color: #222; counter-increment: item; color: #999; width: 20px; height: 20px; line-height: 20px; display: inline-block; text-align: center; margin: 2px 4px 2px 0; } @media (max-width: 1000px) { body { margin: 0; display: block; } #menu { display: none; padding-top: 3em; width: 450px; } #menu.active { position: fixed; height: 100%; left: 0; top: 0; right: 300px; } #menu-toggle { visibility: visible; } #spec-container { padding: 0 5px; } #references-pane-spacer { display: none; } } @media only screen and (max-width: 800px) { #menu { width: 100%; } h1 .secnum:empty { margin: 0; padding: 0; } } /* Toolbox */ .toolbox-container { position: absolute; display: none; padding-bottom: 7px; } .toolbox-container.active { display: inline-block; } .toolbox { position: relative; background: #ddd; border: 1px solid #aaa; color: #eee; padding: 5px; border-radius: 3px; } .toolbox a { text-decoration: none; padding: 0 5px; } .toolbox a:hover { text-decoration: underline; } .toolbox:after, .toolbox:before { top: 100%; left: 15px; border: solid transparent; content: ' '; height: 0; width: 0; position: absolute; pointer-events: none; } .toolbox:after { border-color: rgba(0, 0, 0, 0); border-top-color: #ddd; border-width: 10px; margin-left: -10px; } .toolbox:before { border-color: rgba(204, 204, 204, 0); border-top-color: #aaa; border-width: 12px; margin-left: -12px; } #references-pane-container { position: fixed; bottom: 0; left: 0; right: 0; height: 250px; display: none; background-color: #ddd; z-index: 1; } #references-pane-table-container { overflow-x: hidden; overflow-y: auto; } #references-pane { flex-grow: 1; overflow: hidden; display: flex; flex-direction: column; } #references-pane-container.active { display: flex; } #references-pane-close:after { content: '✖'; float: right; cursor: pointer; } #references-pane table tbody { vertical-align: baseline; } #references-pane table tr td:first-child { text-align: right; padding-right: 5px; } @media print { #menu-toggle { display: none; } } [normative-optional], [legacy] { border-left: 5px solid #ff6600; padding: 0.5em; display: block; background: #ffeedd; } .clause-attributes-tag { text-transform: uppercase; color: #884400; } .clause-attributes-tag a { color: #884400; } /* Shortcuts help dialog */ #shortcuts-help { position: fixed; left: 5%; margin: 0 auto; right: 5%; z-index: 10; top: 10%; top: calc(5vw + 5vh); padding: 30px 90px; max-width: 500px; outline: solid 10000px rgba(255, 255, 255, 0.6); border-radius: 5px; border-width: 1px 1px 0 1px; background-color: #ddd; display: none; } #shortcuts-help.active { display: block; } #shortcuts-help ul { padding: 0; } #shortcuts-help li { display: flex; justify-content: space-between; } #shortcuts-help code { padding: 3px 10px; border-radius: 3px; border-width: 1px 1px 0 1px; border-color: #bbb; background-color: #eee; box-shadow: inset 0 -1px 0 #ccc; }