From dc5aee0f8f8c8c53e6e3a46935d9ff5c953916af Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Thu, 24 Oct 2024 20:52:11 -0500 Subject: [PATCH 1/5] Generate same CSS file with sass --- lib/resources/styles.css | 197 +++--- pubspec.yaml | 1 + tool/task.dart | 8 + web/styles/styles.scss | 1340 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 1438 insertions(+), 108 deletions(-) create mode 100644 web/styles/styles.scss diff --git a/lib/resources/styles.css b/lib/resources/styles.css index cdb7346ce3..039525502a 100644 --- a/lib/resources/styles.css +++ b/lib/resources/styles.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; .light-theme { /*background-color body, listdropdown*/ --main-bg-color: #fff; @@ -19,7 +20,6 @@ --main-hyperlinks-color: #0175C2; /*search background*/ --main-search-background: transparent; - /*code snippets*/ --main-code-bg: #f8f8f8; --main-keyword-color: #333; @@ -28,10 +28,8 @@ --main-comment-color: #998; --main-var-color: #008080; --main-string-color: #d14; - --main-number-filter: invert(0%); --main-icon-color: black; - /* alerts */ --alert-info: #e7f8ff; --alert-tip: #ecfaf7; @@ -59,7 +57,6 @@ --main-hyperlinks-color: #00D2FA; /*search background*/ --main-search-background: black; - /*code snippets*/ --main-code-bg: #10161E; --main-keyword-color: white; @@ -68,10 +65,8 @@ --main-comment-color: #909CC3; --main-var-color: #55A09B; --main-string-color: #FF2D64; - --main-number-filter: invert(100%); --main-icon-color: white; - /* alerts */ --alert-info: #043875; --alert-tip: #065517; @@ -202,13 +197,32 @@ main { margin: 5px 20px 0 0; } -::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; } -::-webkit-scrollbar-button:hover{ background-color: #AAA; } -::-webkit-scrollbar-thumb{ background-color: var(--main-scrollbar-color); } -::-webkit-scrollbar-thumb:hover{ background-color: var(--main-scrollbar-color); } -::-webkit-scrollbar{ width: 4px; } +::-webkit-scrollbar-button { + display: none; + height: 13px; + border-radius: 0; + background-color: #AAA; +} + +::-webkit-scrollbar-button:hover { + background-color: #AAA; +} + +::-webkit-scrollbar-thumb { + background-color: var(--main-scrollbar-color); +} + +::-webkit-scrollbar-thumb:hover { + background-color: var(--main-scrollbar-color); +} + +::-webkit-scrollbar { + width: 4px; +} -.main-content::-webkit-scrollbar{ width: 8px; } +.main-content::-webkit-scrollbar { + width: 8px; +} .main-content { flex: 1; @@ -225,8 +239,8 @@ main { margin-top: 5px; margin-right: 20px; } -/* end for layout */ +/* end for layout */ body { -webkit-text-size-adjust: 100%; overflow-x: hidden; @@ -248,13 +262,11 @@ nav.navbar { display: none !important; } } - @media (min-width: 841px) { .hidden-l { display: none !important; } } - nav.navbar .row { padding-top: 8px; } @@ -265,48 +277,48 @@ nav .container { header { background-color: var(--main-header-color); - box-shadow: 0 3px 5px rgba(0,0,0,0.1); + box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); } .pre { - border: 1px solid #ddd; - font-size: 14px; + border: 1px solid #ddd; + font-size: 14px; } .hljs-string, .hljs-doctag { - color: var(--main-string-color); + color: var(--main-string-color); } .hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { - color: var(--main-var-color); + color: var(--main-var-color); } .hljs-comment, .hljs-quote { - color: var(--main-comment-color); - font-style: italic; + color: var(--main-comment-color); + font-style: italic; } .hljs-title, .hljs-section, .hljs-selector-id { - color: var(--main-section-color); - font-weight: bold; + color: var(--main-section-color); + font-weight: bold; } .hljs-tag, .hljs-name, .hljs-attribute { - color: var(--main-tag-color); - font-weight: normal; + color: var(--main-tag-color); + font-weight: normal; } .hljs-keyword, .hljs-selector-tag, .hljs-subst { - color: var(--main-keyword-color); - font-weight: bold; + color: var(--main-keyword-color); + font-weight: bold; } .hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: var(--main-text-color); - background: var(--main-code-bg); + display: block; + overflow-x: auto; + padding: 0.5em; + color: var(--main-text-color); + background: var(--main-code-bg); } a { @@ -368,7 +380,7 @@ a:hover { } pre.prettyprint { - font-family: 'Roboto Mono', Menlo, monospace; + font-family: "Roboto Mono", Menlo, monospace; color: black; border-radius: 0; font-size: 15px; @@ -382,7 +394,7 @@ pre.prettyprint { pre code { white-space: pre; word-wrap: initial; - font-size: 100% + font-size: 100%; } .fixed { @@ -396,28 +408,25 @@ pre { } code { - font-family: 'Roboto Mono', Menlo, monospace; + font-family: "Roboto Mono", Menlo, monospace; color: inherit; padding: 0.2em 0.4em; font-size: 85%; - background-color: rgba(27,31,35,0.05); + background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; } -@media(max-width: 840px) { +@media (max-width: 840px) { nav .container { - width: 100% + width: 100%; } - h1 { font-size: 24px; } - pre { margin: 16px 0; } } - header h1 { font-weight: 400; margin-bottom: 16px; @@ -554,27 +563,27 @@ dl dt.callable .name { /* Colors for category based on categoryOrder in dartdoc_options.config. */ .category.cp-0 { - background-color: #54b7c4 + background-color: #54b7c4; } .category.cp-1 { - background-color: #54c47f + background-color: #54c47f; } .category.cp-2 { - background-color: #c4c254 + background-color: #c4c254; } .category.cp-3 { - background-color: #c49f54 + background-color: #c49f54; } .category.cp-4 { - background-color: #c45465 + background-color: #c45465; } .category.cp-5 { - background-color: #c454c4 + background-color: #c454c4; } .category a { @@ -588,7 +597,7 @@ dl dt.callable .name { background-color: #999; text-transform: uppercase; color: white; - opacity: .5; + opacity: 0.5; } h1 .category { @@ -619,7 +628,6 @@ sup.muted { border: 1px solid var(--main-hyperlinks-color); border-radius: 20px; color: var(--main-hyperlinks-color); - font-size: 12px; padding: 1px 6px; margin: 0 8px 0 0; @@ -646,7 +654,6 @@ h1 .feature { font-size: 10px; } } - #external-links { float: right; } @@ -740,7 +747,7 @@ td { .gt-separated li:before { background-image: url("data:image/svg+xml;utf8,"); background-position: center; - content: "\00a0"; + content: " "; margin: 0 6px 0 4px; padding: 0 3px 0 0; } @@ -779,15 +786,13 @@ td { float: left; } } - @media screen and (max-width: 840px) { .breadcrumbs { margin: 0 0 24px 0; overflow-x: hidden; } } - -.breadcrumbs .gt-separated .dark .hidden-xs li+li:before { +.breadcrumbs .gt-separated .dark .hidden-xs li + li:before { color: var(--main-h-text); } @@ -848,7 +853,6 @@ div.multi-line-signature div.parameters { } /* sidebar styles */ - .sidebar ol { list-style: none; line-height: 22px; @@ -919,7 +923,7 @@ button { } /* left-nav disappears, and can transition in from the left */ -@media screen and (max-width:840px) { +@media screen and (max-width: 840px) { #sidenav-left-toggle { display: inline; width: 24px; @@ -929,7 +933,6 @@ button { margin-left: 24px; font-size: 24px; } - #overlay-under-drawer.active { opacity: 0.4; height: 100%; @@ -942,13 +945,12 @@ button { background-color: black; display: block; } - .sidebar-offcanvas-left { left: -100%; position: fixed; - -webkit-transition:all .25s ease-out; - -o-transition:all .25s ease-out; - transition:all .25s ease-out; + -webkit-transition: all 0.25s ease-out; + -o-transition: all 0.25s ease-out; + transition: all 0.25s ease-out; z-index: 2000; top: 0; width: 280px; /* works all the way down to an iphone 4 */ @@ -959,22 +961,18 @@ button { margin: 10px 10px; box-shadow: 5px 5px 5px 5px #444444; } - ol#sidebar-nav { font-size: 18px; white-space: pre-line; } - .sidebar-offcanvas-left.active { left: 0; /* this animates our drawer into the page */ } - .self-name { display: inline-block; color: var(--main-hyperlinks-color); } } - .sidebar-offcanvas-left h5 { margin-bottom: 10px; } @@ -987,16 +985,14 @@ button { /* the right nav disappears out of view when the window shrinks */ @media screen and (max-width: 992px) { .sidebar-offcanvas-right { - display: none; - } + display: none; + } } - #overlay-under-drawer { display: none; } /* find-as-you-type search box */ - .form-control { border-radius: 0; border: 0; @@ -1007,7 +1003,6 @@ button { display: none; } } - .typeahead { width: 200px; padding: 2px 7px 1px 7px; @@ -1046,12 +1041,11 @@ button { margin: 0; background-color: var(--main-bg-color); border: 1px solid var(--main-header-color); - -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); - -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); - box-shadow: 0 5px 10px rgba(0,0,0,.2); + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } - .typeahead { padding: 17px 17px 17px 50px; width: 422px; @@ -1063,7 +1057,7 @@ button { outline: 0; background-size: 20px; filter: var(--main-number-filter); - -webkit-filter: var(--main-number-filter); + -webkit-filter: var(--main-number-filter); } .search-summary { @@ -1121,9 +1115,7 @@ a.tt-container { color: var(--main-text-color); } - /* Search results formatting for mini results below search bar. */ - .tt-search-results .tt-container { margin-top: 5px; margin-bottom: 5px; @@ -1131,7 +1123,7 @@ a.tt-container { /* Do not show the container as a section. */ .tt-search-results .tt-container-text { - display: none + display: none; } /* An inline style. */ @@ -1163,7 +1155,6 @@ a.tt-container { margin-left: 0; } - .tt-search-results .one-line-description::before { content: open-quote; } @@ -1173,7 +1164,6 @@ a.tt-container { } /* Search results formatting for `search.html`. */ - /* A block style. */ #dartdoc-main-content .tt-suggestion { color: var(--main-text-color); @@ -1201,31 +1191,27 @@ a.tt-container { } @media screen and (max-width: 840px) { - .typeahead { - padding: 17px 17px 17px 33px; - width: 240px; - height: 17px; - border: 1px solid #f5f5f5; - background-position: 3%; - margin: 10px 10px 10px 9px; - } - + .typeahead { + padding: 17px 17px 17px 33px; + width: 240px; + height: 17px; + border: 1px solid #f5f5f5; + background-position: 3%; + margin: 10px 10px 10px 9px; + } header { padding-left: 0; } } - @media screen and (max-width: 320px) { #sidenav-left-toggle { margin-right: 10px; margin-left: 20px; } - .self-name { margin-right: 10px; } } - ::placeholder { filter: brightness(0.85); } @@ -1233,7 +1219,7 @@ a.tt-container { .search-body { border: 1px solid #7f7f7f; max-width: 400px; - box-shadow: 3px 3px 5px rgba(0,0,0,0.1); + box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); } /* Note that the generated HTML for pub packages may have `section` tags @@ -1265,21 +1251,18 @@ li.inherited a { .subnav, .sidebar { display: none; } - a[href]:after { - content: "" !important; + content: "" !important; } } - /* github alert styles */ - .markdown-alert { margin-top: 1rem; margin-bottom: 1rem; padding: 1.25rem; } -.markdown-alert>:last-child { +.markdown-alert > :last-child { margin-bottom: 0; } @@ -1288,23 +1271,21 @@ li.inherited a { align-items: center; gap: 0.4rem; margin-bottom: 0.5rem; - font-weight: bold; -webkit-font-smoothing: antialiased; } .markdown-alert-title:before { - font: 24px / 1 'Material Symbols Outlined'; + font: 24px/1 "Material Symbols Outlined"; } /* note, tip, important, warning, caution */ - .markdown-alert.markdown-alert-note { background-color: var(--alert-info); } .markdown-alert-note .markdown-alert-title:before { - content: 'info'; + content: "info"; } .markdown-alert.markdown-alert-tip { @@ -1312,7 +1293,7 @@ li.inherited a { } .markdown-alert-tip .markdown-alert-title:before { - content: 'lightbulb'; + content: "lightbulb"; } .markdown-alert.markdown-alert-important { @@ -1320,7 +1301,7 @@ li.inherited a { } .markdown-alert-important .markdown-alert-title:before { - content: 'feedback'; + content: "feedback"; } .markdown-alert.markdown-alert-warning { @@ -1328,7 +1309,7 @@ li.inherited a { } .markdown-alert-warning .markdown-alert-title:before { - content: 'warning'; + content: "warning"; } .markdown-alert.markdown-alert-caution { @@ -1336,5 +1317,5 @@ li.inherited a { } .markdown-alert-caution .markdown-alert-title:before { - content: 'report'; -} + content: "report"; +} \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 334e5b7224..cac30bc795 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,6 +27,7 @@ dev_dependencies: dart_style: ^2.3.7 lints: ^5.0.0 matcher: ^0.12.15 + sass: ^1.80.4 test: ^1.24.2 test_descriptor: ^2.0.1 test_process: ^2.0.3 diff --git a/tool/task.dart b/tool/task.dart index d6eb083c1b..d198271744 100644 --- a/tool/task.dart +++ b/tool/task.dart @@ -12,6 +12,7 @@ import 'package:crypto/crypto.dart' as crypto; import 'package:dartdoc/src/io_utils.dart'; import 'package:dartdoc/src/package_meta.dart'; import 'package:path/path.dart' as path; +import 'package:sass/sass.dart' as sass; import 'package:yaml/yaml.dart' as yaml; import 'package:yaml/yaml.dart'; @@ -177,6 +178,13 @@ Future buildWeb({bool debug = false}) async { ]); _delete(File('lib/resources/docs.dart.js.deps')); + final compileResult = sass.compileToResult('web/styles/styles.scss'); + if (compileResult.css.isNotEmpty) { + File('lib/resources/styles.css').writeAsStringSync(compileResult.css); + } else { + throw StateError('Compiled CSS was empty.'); + } + var compileSig = await _calcDartFilesSig(Directory('web')); File(path.join('web', 'sig.txt')).writeAsStringSync('$compileSig\n'); } diff --git a/web/styles/styles.scss b/web/styles/styles.scss new file mode 100644 index 0000000000..cdb7346ce3 --- /dev/null +++ b/web/styles/styles.scss @@ -0,0 +1,1340 @@ +.light-theme { + /*background-color body, listdropdown*/ + --main-bg-color: #fff; + /*header id-tittle*/ + --main-header-color: #eeeeee; + /*package-name*/ + --main-sidebar-color: #727272; + /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/ + --main-text-color: #111111; + /*typehead search-box*/ + --main-search-bar: #fff; + /* scrollbar-thumb */ + --main-scrollbar-color: #CCC; + /* footer */ + --main-footer-background: #111111; + /*header text color*/ + --main-h-text: black; + /* hyperlinks*/ + --main-hyperlinks-color: #0175C2; + /*search background*/ + --main-search-background: transparent; + + /*code snippets*/ + --main-code-bg: #f8f8f8; + --main-keyword-color: #333; + --main-tag-color: #000080; + --main-section-color: #900; + --main-comment-color: #998; + --main-var-color: #008080; + --main-string-color: #d14; + + --main-number-filter: invert(0%); + --main-icon-color: black; + + /* alerts */ + --alert-info: #e7f8ff; + --alert-tip: #ecfaf7; + --alert-important: #e2dbff; + --alert-warning: #fcf8e3; + --alert-error: #fde9ee; +} + +.dark-theme { + /*background-color body, listdropdown*/ + --main-bg-color: #10161E; + /*header id-tittle*/ + --main-header-color: #1C2834; + /*package-name*/ + --main-sidebar-color: #fff; + /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/ + --main-text-color: #fff; + /*typehead search-box*/ + --main-search-bar: #454545; + /* scrollbar-thumb */ + --main-scrollbar-color: #5f6368; + /* footer */ + --main-footer-background: #27323a; + /* hyperlinks*/ + --main-hyperlinks-color: #00D2FA; + /*search background*/ + --main-search-background: black; + + /*code snippets*/ + --main-code-bg: #10161E; + --main-keyword-color: white; + --main-tag-color: #00D2FA; + --main-section-color: #FF2D64; + --main-comment-color: #909CC3; + --main-var-color: #55A09B; + --main-string-color: #FF2D64; + + --main-number-filter: invert(100%); + --main-icon-color: white; + + /* alerts */ + --alert-info: #043875; + --alert-tip: #065517; + --alert-important: #4a00b4; + --alert-warning: #7b6909; + --alert-error: #7a0c17; +} + +#theme { + display: none; +} + +#theme-button { + position: absolute; + right: 30px; + height: 24px; +} + +#theme-button .material-symbols-outlined { + color: var(--main-icon-color); + user-select: none; + cursor: pointer; +} + +#theme-button .material-symbols-outlined:hover { + color: var(--main-hyperlinks-color); +} + +li .material-symbols-outlined, dt .material-symbols-outlined { + font-size: 1em; + vertical-align: text-bottom; +} + +dt .material-symbols-outlined { + text-indent: 0; +} + +.light-theme #light-theme-button { + display: none; +} + +.dark-theme #dark-theme-button { + display: none; +} + +/* +Only show images that fit their theme using GitHub's syntax, see: +https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/ +*/ +.dark-theme img[src$="#gh-light-mode-only"] { + display: none; +} + +.light-theme img[src$="#gh-dark-mode-only"] { + display: none; +} + +/* for layout */ +html, +body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + overflow: hidden; + box-sizing: border-box; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +body { + display: flex; + flex-direction: column; + -webkit-overflow-scrolling: touch; +} + +header { + flex: 0 0 50px; + display: flex; + flex-direction: row; + align-items: center; + padding-left: 30px; + padding-right: 30px; + background-color: var(--main-header-color); +} + +header ol { + list-style: none; + margin: 0; + padding: 0; +} + +header ol li { + display: inline; +} + +header form { + display: flex; + flex: 1; + justify-content: flex-end; +} + +header#header-search-sidebar { + height: 50px; + margin-bottom: 25px; +} + +footer { + flex: 0 0 16px; + text-align: center; + padding: 16px 20px; +} + +main { + flex: 1; + display: flex; + flex-direction: row; + min-height: 0; +} + +.sidebar-offcanvas-left { + flex: 0 1 230px; + order: 1; + overflow-y: scroll; + padding: 20px 0 15px 30px; + margin: 5px 20px 0 0; +} + +::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; } +::-webkit-scrollbar-button:hover{ background-color: #AAA; } +::-webkit-scrollbar-thumb{ background-color: var(--main-scrollbar-color); } +::-webkit-scrollbar-thumb:hover{ background-color: var(--main-scrollbar-color); } +::-webkit-scrollbar{ width: 4px; } + +.main-content::-webkit-scrollbar{ width: 8px; } + +.main-content { + flex: 1; + order: 2; + overflow-y: scroll; + padding: 10px 20px 0 20px; +} + +.sidebar-offcanvas-right { + flex: 0 1 12em; + order: 3; + overflow-y: scroll; + padding: 20px 15px 15px 15px; + margin-top: 5px; + margin-right: 20px; +} +/* end for layout */ + +body { + -webkit-text-size-adjust: 100%; + overflow-x: hidden; + font-family: Roboto, sans-serif; + font-size: 16px; + line-height: 1.42857143; + color: var(--main-text-color); + background-color: var(--main-bg-color); +} + +nav.navbar { + background-color: inherit; + min-height: 50px; + border: 0; +} + +@media (max-width: 840px) { + .hidden-xs { + display: none !important; + } +} + +@media (min-width: 841px) { + .hidden-l { + display: none !important; + } +} + +nav.navbar .row { + padding-top: 8px; +} + +nav .container { + white-space: nowrap; +} + +header { + background-color: var(--main-header-color); + box-shadow: 0 3px 5px rgba(0,0,0,0.1); +} + +.pre { + border: 1px solid #ddd; + font-size: 14px; +} + +.hljs-string, .hljs-doctag { + color: var(--main-string-color); +} + +.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { + color: var(--main-var-color); +} + +.hljs-comment, .hljs-quote { + color: var(--main-comment-color); + font-style: italic; +} + +.hljs-title, .hljs-section, .hljs-selector-id { + color: var(--main-section-color); + font-weight: bold; +} + +.hljs-tag, .hljs-name, .hljs-attribute { + color: var(--main-tag-color); + font-weight: normal; +} + +.hljs-keyword, .hljs-selector-tag, .hljs-subst { + color: var(--main-keyword-color); + font-weight: bold; +} + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: var(--main-text-color); + background: var(--main-code-bg); +} + +a { + text-decoration: none; +} + +section { + /* Note that the generated HTML for pub packages may have `section` tags + transformed into `div` tags. */ + margin-bottom: 36px; +} + +dl { + margin: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: Roboto, sans-serif; + font-weight: 400; + margin-top: 1.5em; + color: var(--main-text-color); +} + +h1.title { + overflow: hidden; + text-overflow: ellipsis; +} + +h1 { + font-size: 37px; + margin-top: 0; + margin-bottom: 0.67em; +} + +h2 { + font-size: 28px; +} + +h5 { + font-size: 16px; +} + +p { + margin-bottom: 1em; + margin-top: 0; +} + +a { + color: var(--main-hyperlinks-color); +} + +a:hover { + color: #13B9FD; +} + +pre.prettyprint { + font-family: 'Roboto Mono', Menlo, monospace; + color: black; + border-radius: 0; + font-size: 15px; + word-wrap: normal; + line-height: 1.4; + border: 0; + margin: 16px 0 16px 0; + padding: 8px; +} + +pre code { + white-space: pre; + word-wrap: initial; + font-size: 100% +} + +.fixed { + white-space: pre; +} + +pre { + border: 1px solid #ddd; + background-color: #eee; + font-size: 14px; +} + +code { + font-family: 'Roboto Mono', Menlo, monospace; + color: inherit; + padding: 0.2em 0.4em; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; +} + +@media(max-width: 840px) { + nav .container { + width: 100% + } + + h1 { + font-size: 24px; + } + + pre { + margin: 16px 0; + } +} + +header h1 { + font-weight: 400; + margin-bottom: 16px; +} + +header a, +header p, +header li { + color: #0175C2; +} + +header a:hover { + color: #0175C2; +} + +header h1 .kind { + color: #555; +} + +dt { + font-weight: normal; +} + +dd { + color: var(--main-text-color); + margin-bottom: 1em; + margin-left: 0; +} + +dd.callable, dd.constant, dd.property { + margin-bottom: 24px; +} + +dd p { + overflow-x: hidden; + text-overflow: ellipsis; + margin-bottom: 0; +} + +/* Enum values do not have their own pages; their full docs are presented on the + * enum class's page. */ +dt.constant + dd p { + margin-bottom: 1em; +} + +/* indents wrapped lines */ +/* Note that the generated HTML for pub packages may have `section` tags + transformed into `div` tags, so we have two selectors here. */ +section.summary dt, div.summary dt { + margin-left: 24px; + text-indent: -24px; +} + +.dl-horizontal dd { + margin-left: initial; +} + +dl.dl-horizontal dt { + font-style: normal; + text-align: left; + color: #727272; + margin-right: 20px; + width: initial; +} + +dt .name { + font-weight: 500; +} + +dl dt.callable .name { + float: none; + width: auto; +} + +.type-parameter { + white-space: nowrap; +} + +.multi-line-signature .type-parameter .parameter { + margin-left: 0; + display: unset; +} + +.parameter-list { + display: table-cell; + margin-left: 10px; + list-style-type: none; + padding-inline-start: unset; +} + +.parameter-list.single-line { + display: inline; + margin-left: 0; +} + +.parameter-list.single-line > li { + display: inline; +} + +.parameter-list.single-line > li > .parameter { + display: inline; + margin-left: 0; + text-indent: 0; +} + +.signature { + color: var(--main-text-color); +} + +.signature a { + color: var(--main-hyperlinks-color); +} + +.optional { + font-style: italic; +} + +.undocumented { + font-style: italic; +} + +.is-const { + font-style: italic; +} + +.deprecated { + text-decoration: line-through; +} + +.category.linked { + font-weight: bold; + opacity: 1; +} + +/* Colors for category based on categoryOrder in dartdoc_options.config. */ +.category.cp-0 { + background-color: #54b7c4 +} + +.category.cp-1 { + background-color: #54c47f +} + +.category.cp-2 { + background-color: #c4c254 +} + +.category.cp-3 { + background-color: #c49f54 +} + +.category.cp-4 { + background-color: #c45465 +} + +.category.cp-5 { + background-color: #c454c4 +} + +.category a { + color: white; +} + +.category { + padding: 2px 4px; + font-size: 12px; + border-radius: 4px; + background-color: #999; + text-transform: uppercase; + color: white; + opacity: .5; +} + +h1 .category { + vertical-align: middle; +} + +/* Do not display "provided by X extension" text on extension pages. */ +.main-content.extension-page .from-extension { + display: none; +} + +sup.muted { + color: var(--main-sidebar-color); + font-size: 0.6em; +} + +.from-extension > span { + background-color: var(--alert-warning); + font-style: italic; + padding: 2px; +} + +/* The badge under a declaration for things like "const", "read-only", etc. and for the badges inline like sealed or interface */ +/* See https://github.com/dart-lang/dartdoc/blob/main/lib/src/model/feature.dart */ +.feature { + display: inline-block; + background: var(--main-bg-color); + border: 1px solid var(--main-hyperlinks-color); + border-radius: 20px; + color: var(--main-hyperlinks-color); + + font-size: 12px; + padding: 1px 6px; + margin: 0 8px 0 0; +} + +a.feature:hover { + border-color: #13B9FD; +} + +h1 .feature { + vertical-align: middle; + margin: 0 -2px 0 0; +} + +.source-link { + padding: 18px 4px; + font-size: 18px; + vertical-align: middle; +} + +@media (max-width: 840px) { + .source-link { + padding: 7px 2px; + font-size: 10px; + } +} + +#external-links { + float: right; +} + +.btn-group { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +footer { + color: #fff; + background-color: var(--main-footer-background); + width: 100%; +} + +footer p { + margin: 0; +} + +footer .no-break { + white-space: nowrap; +} + +footer .container { + padding-left: 0; + padding-right: 0; +} + +footer a, footer a:hover { + color: #fff; +} + +.markdown.desc { + margin-bottom: 1em; + max-width: 700px; +} + +.markdown h1 { + font-size: 24px; + margin-bottom: 8px; +} + +.markdown h2 { + font-size: 20px; + margin-top: 24px; + margin-bottom: 8px; +} + +.markdown h3 { + font-size: 18px; + margin-bottom: 8px; + color: var(--main-text-color); +} + +.markdown h4 { + font-size: 16px; + margin-bottom: 0; +} + +.markdown li p { + margin: 0; +} + +table { + margin-bottom: 1em; +} + +table, +th, +td { + border: 1px solid lightgrey; + border-collapse: collapse; +} + +th, +td { + padding: 8px; +} + +.gt-separated { + list-style: none; + padding: 0; + margin: 0; +} + +.gt-separated li { + display: inline-block; +} + +.gt-separated li:before { + background-image: url("data:image/svg+xml;utf8,"); + background-position: center; + content: "\00a0"; + margin: 0 6px 0 4px; + padding: 0 3px 0 0; +} + +.gt-separated.dark li:before { + background-image: url("data:image/svg+xml;utf8,"); +} + +.gt-separated li:first-child:before { + background-image: none; + content: ""; + margin: 0; + padding: 0; +} + +.multi-line-signature { + font-size: 17px; + color: #727272; +} + +.multi-line-signature .parameter { + margin-left: 60px; + display: block; + text-indent: -36px; +} + +.breadcrumbs { + padding: 0; + margin: 8px 0 8px 0; + white-space: nowrap; + line-height: 1; +} + +@media screen and (min-width: 840px) { + nav ol.breadcrumbs { + float: left; + } +} + +@media screen and (max-width: 840px) { + .breadcrumbs { + margin: 0 0 24px 0; + overflow-x: hidden; + } +} + +.breadcrumbs .gt-separated .dark .hidden-xs li+li:before { + color: var(--main-h-text); +} + +ol.breadcrumbs li a { + color: var(--main-hyperlinks-color); +} + +.self-crumb { + color: var(--main-h-text); +} + +.self-name { + color: #555; + display: none; +} + +.annotation-list { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated li { + display: inline; +} + +.comma-separated li:after { + content: ", "; +} + +.comma-separated li:last-child:after { + content: ""; +} + +.end-with-period li:last-child:after { + content: "."; +} + +.container > section:first-child { + border: 0; +} + +.constructor-modifier { + font-style: italic; +} + +/* Note that the generated HTML for pub packages may have `section` tags + transformed into `div` tags, so we have two selectors here. */ +section.multi-line-signature div.parameters, +div.multi-line-signature div.parameters { + margin-left: 24px; +} + +/* sidebar styles */ + +.sidebar ol { + list-style: none; + line-height: 22px; + margin-top: 0; + margin-bottom: 0; + padding: 0 0 15px 0; +} + +.sidebar h5 a, +.sidebar h5 a:hover { + color: var(--main-sidebar-color); +} + +.sidebar h5, +.sidebar ol li { + text-overflow: ellipsis; + overflow: hidden; + padding: 3px 0 3px 3px; +} + +.sidebar h5 { + color: var(--main-sidebar-color); + font-size: 18px; + margin: 0 0 22px 0; + padding-top: 0; +} + +.sidebar ol li.section-title { + font-size: 18px; + font-weight: normal; + text-transform: uppercase; + padding-top: 25px; +} + +.sidebar ol li.section-subtitle a { + color: inherit; +} + +.sidebar ol li.section-subtitle { + font-weight: 400; + text-transform: uppercase; +} + +.sidebar ol li.section-subitem { + margin-left: 12px; +} + +.sidebar ol li:first-child { + padding-top: 3px; + margin-top: 0; +} + +button { + padding: 0; +} + +#sidenav-left-toggle { + display: none; + vertical-align: text-bottom; + padding: 0; + color: var(--main-icon-color); + user-select: none; + cursor: pointer; +} + +#sidenav-left-toggle:hover { + color: var(--main-hyperlinks-color); +} + +/* left-nav disappears, and can transition in from the left */ +@media screen and (max-width:840px) { + #sidenav-left-toggle { + display: inline; + width: 24px; + height: 24px; + border: none; + margin-right: 24px; + margin-left: 24px; + font-size: 24px; + } + + #overlay-under-drawer.active { + opacity: 0.4; + height: 100%; + z-index: 1999; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: black; + display: block; + } + + .sidebar-offcanvas-left { + left: -100%; + position: fixed; + -webkit-transition:all .25s ease-out; + -o-transition:all .25s ease-out; + transition:all .25s ease-out; + z-index: 2000; + top: 0; + width: 280px; /* works all the way down to an iphone 4 */ + height: 90%; + background-color: var(--main-bg-color); + overflow-y: scroll; /* TODO: how to hide scroll bars? */ + padding: 10px; + margin: 10px 10px; + box-shadow: 5px 5px 5px 5px #444444; + } + + ol#sidebar-nav { + font-size: 18px; + white-space: pre-line; + } + + .sidebar-offcanvas-left.active { + left: 0; /* this animates our drawer into the page */ + } + + .self-name { + display: inline-block; + color: var(--main-hyperlinks-color); + } +} + +.sidebar-offcanvas-left h5 { + margin-bottom: 10px; +} + +.sidebar-offcanvas-left h5:last-of-type { + border: 0; + margin-bottom: 25px; +} + +/* the right nav disappears out of view when the window shrinks */ +@media screen and (max-width: 992px) { + .sidebar-offcanvas-right { + display: none; + } +} + +#overlay-under-drawer { + display: none; +} + +/* find-as-you-type search box */ + +.form-control { + border-radius: 0; + border: 0; +} + +@media screen and (max-width: 840px) { + form.search { + display: none; + } +} + +.typeahead { + width: 200px; + padding: 2px 7px 1px 7px; + line-height: 20px; + outline: none; +} + +.tt-wrapper { + position: relative; + display: inline-block; +} + +.tt-input { + position: relative; + vertical-align: top; +} + +.navbar-right .tt-menu { + right: 0; + left: inherit !important; + width: 540px; + max-height: 280px; + overflow-y: scroll; +} + +.navbar-right { + padding-right: 60px; +} + +.tt-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 100; + font-size: 14px; + margin: 0; + background-color: var(--main-bg-color); + border: 1px solid var(--main-header-color); + -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); + -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); + box-shadow: 0 5px 10px rgba(0,0,0,.2); +} + + +.typeahead { + padding: 17px 17px 17px 50px; + width: 422px; + height: 20px; + font-size: 13px; + background-image: url("./search.svg"); + background-repeat: no-repeat; + background-position: 4%; + outline: 0; + background-size: 20px; + filter: var(--main-number-filter); + -webkit-filter: var(--main-number-filter); +} + +.search-summary { + margin-bottom: 10px; +} + +a.tt-container { + font-size: 16px; + color: var(--main-hyperlinks-color); +} + +.enter-search-message { + position: -webkit-sticky; + position: sticky; + top: 0; + background-color: #AAA; + padding: 0; + font-size: 14px; + margin: 0; + clear: both; + text-align: center; + color: black; +} + +.tt-suggestion:hover { + cursor: pointer; + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion:hover .search-from-lib { + color: #ddd; +} + +.tt-suggestion.tt-cursor { + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion.tt-cursor .search-from-lib { + color: #ddd; +} + +.tt-suggestion p { + margin: 0; +} + +.tt-container { + font-size: 14px; + margin-bottom: 0; + margin-top: 15px; +} + +.tt-container-text { + color: var(--main-text-color); +} + + +/* Search results formatting for mini results below search bar. */ + +.tt-search-results .tt-container { + margin-top: 5px; + margin-bottom: 5px; +} + +/* Do not show the container as a section. */ +.tt-search-results .tt-container-text { + display: none +} + +/* An inline style. */ +.tt-search-results .tt-suggestion { + color: var(--main-text-color); + margin-top: 5px; + overflow: hidden; + padding-left: 10px; + padding-right: 10px; + text-overflow: ellipsis; + white-space: nowrap; +} + +.tt-search-results .tt-suggestion-title { + font-size: 14px; + padding-right: 5px; +} + +.tt-search-results .tt-suggestion-container { + color: var(--main-keyword-color); + font-size: 14px; + font-style: italic; + padding-right: 5px; +} + +.tt-search-results .one-line-description { + color: var(--main-keyword-color); + display: inline; + margin-left: 0; +} + + +.tt-search-results .one-line-description::before { + content: open-quote; +} + +.tt-search-results .one-line-description::after { + content: close-quote; +} + +/* Search results formatting for `search.html`. */ + +/* A block style. */ +#dartdoc-main-content .tt-suggestion { + color: var(--main-text-color); + margin-top: 5px; + margin-bottom: 10px; + border-style: solid; + border-color: lightgrey; + border-width: 0.5px; +} + +#dartdoc-main-content .tt-suggestion-title { + display: block; + font-weight: 500; + margin: 4px 10px 0; +} + +#dartdoc-main-content .one-line-description { + display: block; + margin: 2px 10px 3px; +} + +/* Do not show a result's container. */ +#dartdoc-main-content .tt-suggestion-container { + display: none; +} + +@media screen and (max-width: 840px) { + .typeahead { + padding: 17px 17px 17px 33px; + width: 240px; + height: 17px; + border: 1px solid #f5f5f5; + background-position: 3%; + margin: 10px 10px 10px 9px; + } + + header { + padding-left: 0; + } +} + +@media screen and (max-width: 320px) { + #sidenav-left-toggle { + margin-right: 10px; + margin-left: 20px; + } + + .self-name { + margin-right: 10px; + } +} + +::placeholder { + filter: brightness(0.85); +} + +.search-body { + border: 1px solid #7f7f7f; + max-width: 400px; + box-shadow: 3px 3px 5px rgba(0,0,0,0.1); +} + +/* Note that the generated HTML for pub packages may have `section` tags + transformed into `div` tags, so we have two selectors here. */ +section#setter, div#setter { + border-top: 1px solid #ddd; + padding-top: 36px; +} + +li.inherited a { + opacity: 0.65; + font-style: italic; +} + +#instance-methods dt.inherited .name, +#instance-properties dt.inherited .name, +#operators dt.inherited .name { + font-weight: 400; + font-style: italic; +} + +#instance-methods dt.inherited .signature, +#instance-properties dt.inherited .signature, +#operators dt.inherited .signature { + font-weight: 400; +} + +@media print { + .subnav, .sidebar { + display: none; + } + + a[href]:after { + content: "" !important; + } +} + +/* github alert styles */ + +.markdown-alert { + margin-top: 1rem; + margin-bottom: 1rem; + padding: 1.25rem; +} + +.markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-alert-title { + display: flex; + align-items: center; + gap: 0.4rem; + margin-bottom: 0.5rem; + + font-weight: bold; + -webkit-font-smoothing: antialiased; +} + +.markdown-alert-title:before { + font: 24px / 1 'Material Symbols Outlined'; +} + +/* note, tip, important, warning, caution */ + +.markdown-alert.markdown-alert-note { + background-color: var(--alert-info); +} + +.markdown-alert-note .markdown-alert-title:before { + content: 'info'; +} + +.markdown-alert.markdown-alert-tip { + background-color: var(--alert-tip); +} + +.markdown-alert-tip .markdown-alert-title:before { + content: 'lightbulb'; +} + +.markdown-alert.markdown-alert-important { + background-color: var(--alert-important); +} + +.markdown-alert-important .markdown-alert-title:before { + content: 'feedback'; +} + +.markdown-alert.markdown-alert-warning { + background-color: var(--alert-warning); +} + +.markdown-alert-warning .markdown-alert-title:before { + content: 'warning'; +} + +.markdown-alert.markdown-alert-caution { + background-color: var(--alert-error); +} + +.markdown-alert-caution .markdown-alert-title:before { + content: 'report'; +} From e063d5e75dccbfa0d0532a029cf0e349235149d5 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Thu, 24 Oct 2024 21:10:37 -0500 Subject: [PATCH 2/5] Build compressed css from sass file --- lib/resources/styles.css | 1322 +------------------------------------- tool/task.dart | 3 +- 2 files changed, 3 insertions(+), 1322 deletions(-) diff --git a/lib/resources/styles.css b/lib/resources/styles.css index 039525502a..a0bb09e06e 100644 --- a/lib/resources/styles.css +++ b/lib/resources/styles.css @@ -1,1321 +1 @@ -@charset "UTF-8"; -.light-theme { - /*background-color body, listdropdown*/ - --main-bg-color: #fff; - /*header id-tittle*/ - --main-header-color: #eeeeee; - /*package-name*/ - --main-sidebar-color: #727272; - /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/ - --main-text-color: #111111; - /*typehead search-box*/ - --main-search-bar: #fff; - /* scrollbar-thumb */ - --main-scrollbar-color: #CCC; - /* footer */ - --main-footer-background: #111111; - /*header text color*/ - --main-h-text: black; - /* hyperlinks*/ - --main-hyperlinks-color: #0175C2; - /*search background*/ - --main-search-background: transparent; - /*code snippets*/ - --main-code-bg: #f8f8f8; - --main-keyword-color: #333; - --main-tag-color: #000080; - --main-section-color: #900; - --main-comment-color: #998; - --main-var-color: #008080; - --main-string-color: #d14; - --main-number-filter: invert(0%); - --main-icon-color: black; - /* alerts */ - --alert-info: #e7f8ff; - --alert-tip: #ecfaf7; - --alert-important: #e2dbff; - --alert-warning: #fcf8e3; - --alert-error: #fde9ee; -} - -.dark-theme { - /*background-color body, listdropdown*/ - --main-bg-color: #10161E; - /*header id-tittle*/ - --main-header-color: #1C2834; - /*package-name*/ - --main-sidebar-color: #fff; - /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/ - --main-text-color: #fff; - /*typehead search-box*/ - --main-search-bar: #454545; - /* scrollbar-thumb */ - --main-scrollbar-color: #5f6368; - /* footer */ - --main-footer-background: #27323a; - /* hyperlinks*/ - --main-hyperlinks-color: #00D2FA; - /*search background*/ - --main-search-background: black; - /*code snippets*/ - --main-code-bg: #10161E; - --main-keyword-color: white; - --main-tag-color: #00D2FA; - --main-section-color: #FF2D64; - --main-comment-color: #909CC3; - --main-var-color: #55A09B; - --main-string-color: #FF2D64; - --main-number-filter: invert(100%); - --main-icon-color: white; - /* alerts */ - --alert-info: #043875; - --alert-tip: #065517; - --alert-important: #4a00b4; - --alert-warning: #7b6909; - --alert-error: #7a0c17; -} - -#theme { - display: none; -} - -#theme-button { - position: absolute; - right: 30px; - height: 24px; -} - -#theme-button .material-symbols-outlined { - color: var(--main-icon-color); - user-select: none; - cursor: pointer; -} - -#theme-button .material-symbols-outlined:hover { - color: var(--main-hyperlinks-color); -} - -li .material-symbols-outlined, dt .material-symbols-outlined { - font-size: 1em; - vertical-align: text-bottom; -} - -dt .material-symbols-outlined { - text-indent: 0; -} - -.light-theme #light-theme-button { - display: none; -} - -.dark-theme #dark-theme-button { - display: none; -} - -/* -Only show images that fit their theme using GitHub's syntax, see: -https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/ -*/ -.dark-theme img[src$="#gh-light-mode-only"] { - display: none; -} - -.light-theme img[src$="#gh-dark-mode-only"] { - display: none; -} - -/* for layout */ -html, -body { - margin: 0; - padding: 0; - height: 100%; - width: 100%; - overflow: hidden; - box-sizing: border-box; -} - -*, *:before, *:after { - box-sizing: inherit; -} - -body { - display: flex; - flex-direction: column; - -webkit-overflow-scrolling: touch; -} - -header { - flex: 0 0 50px; - display: flex; - flex-direction: row; - align-items: center; - padding-left: 30px; - padding-right: 30px; - background-color: var(--main-header-color); -} - -header ol { - list-style: none; - margin: 0; - padding: 0; -} - -header ol li { - display: inline; -} - -header form { - display: flex; - flex: 1; - justify-content: flex-end; -} - -header#header-search-sidebar { - height: 50px; - margin-bottom: 25px; -} - -footer { - flex: 0 0 16px; - text-align: center; - padding: 16px 20px; -} - -main { - flex: 1; - display: flex; - flex-direction: row; - min-height: 0; -} - -.sidebar-offcanvas-left { - flex: 0 1 230px; - order: 1; - overflow-y: scroll; - padding: 20px 0 15px 30px; - margin: 5px 20px 0 0; -} - -::-webkit-scrollbar-button { - display: none; - height: 13px; - border-radius: 0; - background-color: #AAA; -} - -::-webkit-scrollbar-button:hover { - background-color: #AAA; -} - -::-webkit-scrollbar-thumb { - background-color: var(--main-scrollbar-color); -} - -::-webkit-scrollbar-thumb:hover { - background-color: var(--main-scrollbar-color); -} - -::-webkit-scrollbar { - width: 4px; -} - -.main-content::-webkit-scrollbar { - width: 8px; -} - -.main-content { - flex: 1; - order: 2; - overflow-y: scroll; - padding: 10px 20px 0 20px; -} - -.sidebar-offcanvas-right { - flex: 0 1 12em; - order: 3; - overflow-y: scroll; - padding: 20px 15px 15px 15px; - margin-top: 5px; - margin-right: 20px; -} - -/* end for layout */ -body { - -webkit-text-size-adjust: 100%; - overflow-x: hidden; - font-family: Roboto, sans-serif; - font-size: 16px; - line-height: 1.42857143; - color: var(--main-text-color); - background-color: var(--main-bg-color); -} - -nav.navbar { - background-color: inherit; - min-height: 50px; - border: 0; -} - -@media (max-width: 840px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 841px) { - .hidden-l { - display: none !important; - } -} -nav.navbar .row { - padding-top: 8px; -} - -nav .container { - white-space: nowrap; -} - -header { - background-color: var(--main-header-color); - box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); -} - -.pre { - border: 1px solid #ddd; - font-size: 14px; -} - -.hljs-string, .hljs-doctag { - color: var(--main-string-color); -} - -.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { - color: var(--main-var-color); -} - -.hljs-comment, .hljs-quote { - color: var(--main-comment-color); - font-style: italic; -} - -.hljs-title, .hljs-section, .hljs-selector-id { - color: var(--main-section-color); - font-weight: bold; -} - -.hljs-tag, .hljs-name, .hljs-attribute { - color: var(--main-tag-color); - font-weight: normal; -} - -.hljs-keyword, .hljs-selector-tag, .hljs-subst { - color: var(--main-keyword-color); - font-weight: bold; -} - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: var(--main-text-color); - background: var(--main-code-bg); -} - -a { - text-decoration: none; -} - -section { - /* Note that the generated HTML for pub packages may have `section` tags - transformed into `div` tags. */ - margin-bottom: 36px; -} - -dl { - margin: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: Roboto, sans-serif; - font-weight: 400; - margin-top: 1.5em; - color: var(--main-text-color); -} - -h1.title { - overflow: hidden; - text-overflow: ellipsis; -} - -h1 { - font-size: 37px; - margin-top: 0; - margin-bottom: 0.67em; -} - -h2 { - font-size: 28px; -} - -h5 { - font-size: 16px; -} - -p { - margin-bottom: 1em; - margin-top: 0; -} - -a { - color: var(--main-hyperlinks-color); -} - -a:hover { - color: #13B9FD; -} - -pre.prettyprint { - font-family: "Roboto Mono", Menlo, monospace; - color: black; - border-radius: 0; - font-size: 15px; - word-wrap: normal; - line-height: 1.4; - border: 0; - margin: 16px 0 16px 0; - padding: 8px; -} - -pre code { - white-space: pre; - word-wrap: initial; - font-size: 100%; -} - -.fixed { - white-space: pre; -} - -pre { - border: 1px solid #ddd; - background-color: #eee; - font-size: 14px; -} - -code { - font-family: "Roboto Mono", Menlo, monospace; - color: inherit; - padding: 0.2em 0.4em; - font-size: 85%; - background-color: rgba(27, 31, 35, 0.05); - border-radius: 3px; -} - -@media (max-width: 840px) { - nav .container { - width: 100%; - } - h1 { - font-size: 24px; - } - pre { - margin: 16px 0; - } -} -header h1 { - font-weight: 400; - margin-bottom: 16px; -} - -header a, -header p, -header li { - color: #0175C2; -} - -header a:hover { - color: #0175C2; -} - -header h1 .kind { - color: #555; -} - -dt { - font-weight: normal; -} - -dd { - color: var(--main-text-color); - margin-bottom: 1em; - margin-left: 0; -} - -dd.callable, dd.constant, dd.property { - margin-bottom: 24px; -} - -dd p { - overflow-x: hidden; - text-overflow: ellipsis; - margin-bottom: 0; -} - -/* Enum values do not have their own pages; their full docs are presented on the - * enum class's page. */ -dt.constant + dd p { - margin-bottom: 1em; -} - -/* indents wrapped lines */ -/* Note that the generated HTML for pub packages may have `section` tags - transformed into `div` tags, so we have two selectors here. */ -section.summary dt, div.summary dt { - margin-left: 24px; - text-indent: -24px; -} - -.dl-horizontal dd { - margin-left: initial; -} - -dl.dl-horizontal dt { - font-style: normal; - text-align: left; - color: #727272; - margin-right: 20px; - width: initial; -} - -dt .name { - font-weight: 500; -} - -dl dt.callable .name { - float: none; - width: auto; -} - -.type-parameter { - white-space: nowrap; -} - -.multi-line-signature .type-parameter .parameter { - margin-left: 0; - display: unset; -} - -.parameter-list { - display: table-cell; - margin-left: 10px; - list-style-type: none; - padding-inline-start: unset; -} - -.parameter-list.single-line { - display: inline; - margin-left: 0; -} - -.parameter-list.single-line > li { - display: inline; -} - -.parameter-list.single-line > li > .parameter { - display: inline; - margin-left: 0; - text-indent: 0; -} - -.signature { - color: var(--main-text-color); -} - -.signature a { - color: var(--main-hyperlinks-color); -} - -.optional { - font-style: italic; -} - -.undocumented { - font-style: italic; -} - -.is-const { - font-style: italic; -} - -.deprecated { - text-decoration: line-through; -} - -.category.linked { - font-weight: bold; - opacity: 1; -} - -/* Colors for category based on categoryOrder in dartdoc_options.config. */ -.category.cp-0 { - background-color: #54b7c4; -} - -.category.cp-1 { - background-color: #54c47f; -} - -.category.cp-2 { - background-color: #c4c254; -} - -.category.cp-3 { - background-color: #c49f54; -} - -.category.cp-4 { - background-color: #c45465; -} - -.category.cp-5 { - background-color: #c454c4; -} - -.category a { - color: white; -} - -.category { - padding: 2px 4px; - font-size: 12px; - border-radius: 4px; - background-color: #999; - text-transform: uppercase; - color: white; - opacity: 0.5; -} - -h1 .category { - vertical-align: middle; -} - -/* Do not display "provided by X extension" text on extension pages. */ -.main-content.extension-page .from-extension { - display: none; -} - -sup.muted { - color: var(--main-sidebar-color); - font-size: 0.6em; -} - -.from-extension > span { - background-color: var(--alert-warning); - font-style: italic; - padding: 2px; -} - -/* The badge under a declaration for things like "const", "read-only", etc. and for the badges inline like sealed or interface */ -/* See https://github.com/dart-lang/dartdoc/blob/main/lib/src/model/feature.dart */ -.feature { - display: inline-block; - background: var(--main-bg-color); - border: 1px solid var(--main-hyperlinks-color); - border-radius: 20px; - color: var(--main-hyperlinks-color); - font-size: 12px; - padding: 1px 6px; - margin: 0 8px 0 0; -} - -a.feature:hover { - border-color: #13B9FD; -} - -h1 .feature { - vertical-align: middle; - margin: 0 -2px 0 0; -} - -.source-link { - padding: 18px 4px; - font-size: 18px; - vertical-align: middle; -} - -@media (max-width: 840px) { - .source-link { - padding: 7px 2px; - font-size: 10px; - } -} -#external-links { - float: right; -} - -.btn-group { - position: relative; - display: inline-flex; - vertical-align: middle; -} - -footer { - color: #fff; - background-color: var(--main-footer-background); - width: 100%; -} - -footer p { - margin: 0; -} - -footer .no-break { - white-space: nowrap; -} - -footer .container { - padding-left: 0; - padding-right: 0; -} - -footer a, footer a:hover { - color: #fff; -} - -.markdown.desc { - margin-bottom: 1em; - max-width: 700px; -} - -.markdown h1 { - font-size: 24px; - margin-bottom: 8px; -} - -.markdown h2 { - font-size: 20px; - margin-top: 24px; - margin-bottom: 8px; -} - -.markdown h3 { - font-size: 18px; - margin-bottom: 8px; - color: var(--main-text-color); -} - -.markdown h4 { - font-size: 16px; - margin-bottom: 0; -} - -.markdown li p { - margin: 0; -} - -table { - margin-bottom: 1em; -} - -table, -th, -td { - border: 1px solid lightgrey; - border-collapse: collapse; -} - -th, -td { - padding: 8px; -} - -.gt-separated { - list-style: none; - padding: 0; - margin: 0; -} - -.gt-separated li { - display: inline-block; -} - -.gt-separated li:before { - background-image: url("data:image/svg+xml;utf8,"); - background-position: center; - content: " "; - margin: 0 6px 0 4px; - padding: 0 3px 0 0; -} - -.gt-separated.dark li:before { - background-image: url("data:image/svg+xml;utf8,"); -} - -.gt-separated li:first-child:before { - background-image: none; - content: ""; - margin: 0; - padding: 0; -} - -.multi-line-signature { - font-size: 17px; - color: #727272; -} - -.multi-line-signature .parameter { - margin-left: 60px; - display: block; - text-indent: -36px; -} - -.breadcrumbs { - padding: 0; - margin: 8px 0 8px 0; - white-space: nowrap; - line-height: 1; -} - -@media screen and (min-width: 840px) { - nav ol.breadcrumbs { - float: left; - } -} -@media screen and (max-width: 840px) { - .breadcrumbs { - margin: 0 0 24px 0; - overflow-x: hidden; - } -} -.breadcrumbs .gt-separated .dark .hidden-xs li + li:before { - color: var(--main-h-text); -} - -ol.breadcrumbs li a { - color: var(--main-hyperlinks-color); -} - -.self-crumb { - color: var(--main-h-text); -} - -.self-name { - color: #555; - display: none; -} - -.annotation-list { - list-style: none; - padding: 0; - display: inline; -} - -.comma-separated { - list-style: none; - padding: 0; - display: inline; -} - -.comma-separated li { - display: inline; -} - -.comma-separated li:after { - content: ", "; -} - -.comma-separated li:last-child:after { - content: ""; -} - -.end-with-period li:last-child:after { - content: "."; -} - -.container > section:first-child { - border: 0; -} - -.constructor-modifier { - font-style: italic; -} - -/* Note that the generated HTML for pub packages may have `section` tags - transformed into `div` tags, so we have two selectors here. */ -section.multi-line-signature div.parameters, -div.multi-line-signature div.parameters { - margin-left: 24px; -} - -/* sidebar styles */ -.sidebar ol { - list-style: none; - line-height: 22px; - margin-top: 0; - margin-bottom: 0; - padding: 0 0 15px 0; -} - -.sidebar h5 a, -.sidebar h5 a:hover { - color: var(--main-sidebar-color); -} - -.sidebar h5, -.sidebar ol li { - text-overflow: ellipsis; - overflow: hidden; - padding: 3px 0 3px 3px; -} - -.sidebar h5 { - color: var(--main-sidebar-color); - font-size: 18px; - margin: 0 0 22px 0; - padding-top: 0; -} - -.sidebar ol li.section-title { - font-size: 18px; - font-weight: normal; - text-transform: uppercase; - padding-top: 25px; -} - -.sidebar ol li.section-subtitle a { - color: inherit; -} - -.sidebar ol li.section-subtitle { - font-weight: 400; - text-transform: uppercase; -} - -.sidebar ol li.section-subitem { - margin-left: 12px; -} - -.sidebar ol li:first-child { - padding-top: 3px; - margin-top: 0; -} - -button { - padding: 0; -} - -#sidenav-left-toggle { - display: none; - vertical-align: text-bottom; - padding: 0; - color: var(--main-icon-color); - user-select: none; - cursor: pointer; -} - -#sidenav-left-toggle:hover { - color: var(--main-hyperlinks-color); -} - -/* left-nav disappears, and can transition in from the left */ -@media screen and (max-width: 840px) { - #sidenav-left-toggle { - display: inline; - width: 24px; - height: 24px; - border: none; - margin-right: 24px; - margin-left: 24px; - font-size: 24px; - } - #overlay-under-drawer.active { - opacity: 0.4; - height: 100%; - z-index: 1999; - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: black; - display: block; - } - .sidebar-offcanvas-left { - left: -100%; - position: fixed; - -webkit-transition: all 0.25s ease-out; - -o-transition: all 0.25s ease-out; - transition: all 0.25s ease-out; - z-index: 2000; - top: 0; - width: 280px; /* works all the way down to an iphone 4 */ - height: 90%; - background-color: var(--main-bg-color); - overflow-y: scroll; /* TODO: how to hide scroll bars? */ - padding: 10px; - margin: 10px 10px; - box-shadow: 5px 5px 5px 5px #444444; - } - ol#sidebar-nav { - font-size: 18px; - white-space: pre-line; - } - .sidebar-offcanvas-left.active { - left: 0; /* this animates our drawer into the page */ - } - .self-name { - display: inline-block; - color: var(--main-hyperlinks-color); - } -} -.sidebar-offcanvas-left h5 { - margin-bottom: 10px; -} - -.sidebar-offcanvas-left h5:last-of-type { - border: 0; - margin-bottom: 25px; -} - -/* the right nav disappears out of view when the window shrinks */ -@media screen and (max-width: 992px) { - .sidebar-offcanvas-right { - display: none; - } -} -#overlay-under-drawer { - display: none; -} - -/* find-as-you-type search box */ -.form-control { - border-radius: 0; - border: 0; -} - -@media screen and (max-width: 840px) { - form.search { - display: none; - } -} -.typeahead { - width: 200px; - padding: 2px 7px 1px 7px; - line-height: 20px; - outline: none; -} - -.tt-wrapper { - position: relative; - display: inline-block; -} - -.tt-input { - position: relative; - vertical-align: top; -} - -.navbar-right .tt-menu { - right: 0; - left: inherit !important; - width: 540px; - max-height: 280px; - overflow-y: scroll; -} - -.navbar-right { - padding-right: 60px; -} - -.tt-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 100; - font-size: 14px; - margin: 0; - background-color: var(--main-bg-color); - border: 1px solid var(--main-header-color); - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -} - -.typeahead { - padding: 17px 17px 17px 50px; - width: 422px; - height: 20px; - font-size: 13px; - background-image: url("./search.svg"); - background-repeat: no-repeat; - background-position: 4%; - outline: 0; - background-size: 20px; - filter: var(--main-number-filter); - -webkit-filter: var(--main-number-filter); -} - -.search-summary { - margin-bottom: 10px; -} - -a.tt-container { - font-size: 16px; - color: var(--main-hyperlinks-color); -} - -.enter-search-message { - position: -webkit-sticky; - position: sticky; - top: 0; - background-color: #AAA; - padding: 0; - font-size: 14px; - margin: 0; - clear: both; - text-align: center; - color: black; -} - -.tt-suggestion:hover { - cursor: pointer; - color: #fff; - background-color: #0097cf; -} - -.tt-suggestion:hover .search-from-lib { - color: #ddd; -} - -.tt-suggestion.tt-cursor { - color: #fff; - background-color: #0097cf; -} - -.tt-suggestion.tt-cursor .search-from-lib { - color: #ddd; -} - -.tt-suggestion p { - margin: 0; -} - -.tt-container { - font-size: 14px; - margin-bottom: 0; - margin-top: 15px; -} - -.tt-container-text { - color: var(--main-text-color); -} - -/* Search results formatting for mini results below search bar. */ -.tt-search-results .tt-container { - margin-top: 5px; - margin-bottom: 5px; -} - -/* Do not show the container as a section. */ -.tt-search-results .tt-container-text { - display: none; -} - -/* An inline style. */ -.tt-search-results .tt-suggestion { - color: var(--main-text-color); - margin-top: 5px; - overflow: hidden; - padding-left: 10px; - padding-right: 10px; - text-overflow: ellipsis; - white-space: nowrap; -} - -.tt-search-results .tt-suggestion-title { - font-size: 14px; - padding-right: 5px; -} - -.tt-search-results .tt-suggestion-container { - color: var(--main-keyword-color); - font-size: 14px; - font-style: italic; - padding-right: 5px; -} - -.tt-search-results .one-line-description { - color: var(--main-keyword-color); - display: inline; - margin-left: 0; -} - -.tt-search-results .one-line-description::before { - content: open-quote; -} - -.tt-search-results .one-line-description::after { - content: close-quote; -} - -/* Search results formatting for `search.html`. */ -/* A block style. */ -#dartdoc-main-content .tt-suggestion { - color: var(--main-text-color); - margin-top: 5px; - margin-bottom: 10px; - border-style: solid; - border-color: lightgrey; - border-width: 0.5px; -} - -#dartdoc-main-content .tt-suggestion-title { - display: block; - font-weight: 500; - margin: 4px 10px 0; -} - -#dartdoc-main-content .one-line-description { - display: block; - margin: 2px 10px 3px; -} - -/* Do not show a result's container. */ -#dartdoc-main-content .tt-suggestion-container { - display: none; -} - -@media screen and (max-width: 840px) { - .typeahead { - padding: 17px 17px 17px 33px; - width: 240px; - height: 17px; - border: 1px solid #f5f5f5; - background-position: 3%; - margin: 10px 10px 10px 9px; - } - header { - padding-left: 0; - } -} -@media screen and (max-width: 320px) { - #sidenav-left-toggle { - margin-right: 10px; - margin-left: 20px; - } - .self-name { - margin-right: 10px; - } -} -::placeholder { - filter: brightness(0.85); -} - -.search-body { - border: 1px solid #7f7f7f; - max-width: 400px; - box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); -} - -/* Note that the generated HTML for pub packages may have `section` tags - transformed into `div` tags, so we have two selectors here. */ -section#setter, div#setter { - border-top: 1px solid #ddd; - padding-top: 36px; -} - -li.inherited a { - opacity: 0.65; - font-style: italic; -} - -#instance-methods dt.inherited .name, -#instance-properties dt.inherited .name, -#operators dt.inherited .name { - font-weight: 400; - font-style: italic; -} - -#instance-methods dt.inherited .signature, -#instance-properties dt.inherited .signature, -#operators dt.inherited .signature { - font-weight: 400; -} - -@media print { - .subnav, .sidebar { - display: none; - } - a[href]:after { - content: "" !important; - } -} -/* github alert styles */ -.markdown-alert { - margin-top: 1rem; - margin-bottom: 1rem; - padding: 1.25rem; -} - -.markdown-alert > :last-child { - margin-bottom: 0; -} - -.markdown-alert-title { - display: flex; - align-items: center; - gap: 0.4rem; - margin-bottom: 0.5rem; - font-weight: bold; - -webkit-font-smoothing: antialiased; -} - -.markdown-alert-title:before { - font: 24px/1 "Material Symbols Outlined"; -} - -/* note, tip, important, warning, caution */ -.markdown-alert.markdown-alert-note { - background-color: var(--alert-info); -} - -.markdown-alert-note .markdown-alert-title:before { - content: "info"; -} - -.markdown-alert.markdown-alert-tip { - background-color: var(--alert-tip); -} - -.markdown-alert-tip .markdown-alert-title:before { - content: "lightbulb"; -} - -.markdown-alert.markdown-alert-important { - background-color: var(--alert-important); -} - -.markdown-alert-important .markdown-alert-title:before { - content: "feedback"; -} - -.markdown-alert.markdown-alert-warning { - background-color: var(--alert-warning); -} - -.markdown-alert-warning .markdown-alert-title:before { - content: "warning"; -} - -.markdown-alert.markdown-alert-caution { - background-color: var(--alert-error); -} - -.markdown-alert-caution .markdown-alert-title:before { - content: "report"; -} \ No newline at end of file +.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info: #e7f8ff;--alert-tip: #ecfaf7;--alert-important: #e2dbff;--alert-warning: #fcf8e3;--alert-error: #fde9ee}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info: #043875;--alert-tip: #065517;--alert-important: #4a00b4;--alert-warning: #7b6909;--alert-error: #7a0c17}#theme{display:none}#theme-button{position:absolute;right:30px;height:24px}#theme-button .material-symbols-outlined{color:var(--main-icon-color);user-select:none;cursor:pointer}#theme-button .material-symbols-outlined:hover{color:var(--main-hyperlinks-color)}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}.light-theme #light-theme-button{display:none}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header#header-search-sidebar{height:50px;margin-bottom:25px}footer{flex:0 0 16px;text-align:center;padding:16px 20px}main{flex:1;display:flex;flex-direction:row;min-height:0}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}body{-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}nav.navbar{background-color:inherit;min-height:50px;border:0}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}nav.navbar .row{padding-top:8px}nav .container{white-space:nowrap}header{background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}.pre{border:1px solid #ddd;font-size:14px}.hljs-string,.hljs-doctag{color:var(--main-string-color)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--main-var-color)}.hljs-comment,.hljs-quote{color:var(--main-comment-color);font-style:italic}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--main-section-color);font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--main-tag-color);font-weight:normal}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--main-keyword-color);font-weight:bold}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--main-text-color);background:var(--main-code-bg)}a{text-decoration:none}section{margin-bottom:36px}dl{margin:0}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1.title{overflow:hidden;text-overflow:ellipsis}h1{font-size:37px;margin-top:0;margin-bottom:.67em}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}pre.prettyprint{font-family:"Roboto Mono",Menlo,monospace;color:#000;border-radius:0;font-size:15px;word-wrap:normal;line-height:1.4;border:0;margin:16px 0 16px 0;padding:8px}pre code{white-space:pre;word-wrap:initial;font-size:100%}.fixed{white-space:pre}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}@media(max-width: 840px){nav .container{width:100%}h1{font-size:24px}pre{margin:16px 0}}header h1{font-weight:400;margin-bottom:16px}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}dt{font-weight:normal}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd.callable,dd.constant,dd.property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}dt.constant+dd p{margin-bottom:1em}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dt .name{font-weight:500}dl dt.callable .name{float:none;width:auto}.type-parameter{white-space:nowrap}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.parameter-list.single-line{display:inline;margin-left:0}.parameter-list.single-line>li{display:inline}.parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.signature{color:var(--main-text-color)}.signature a{color:var(--main-hyperlinks-color)}.optional{font-style:italic}.undocumented{font-style:italic}.is-const{font-style:italic}.deprecated{text-decoration:line-through}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.category a{color:#fff}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}h1 .category{vertical-align:middle}.main-content.extension-page .from-extension{display:none}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{background-color:var(--alert-warning);font-style:italic;padding:2px}.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}a.feature:hover{border-color:#13b9fd}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}.btn-group{position:relative;display:inline-flex;vertical-align:middle}footer{color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,")}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (min-width: 840px){nav ol.breadcrumbs{float:left}}@media screen and (max-width: 840px){.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}.self-crumb{color:var(--main-h-text)}.self-name{color:#555;display:none}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:after{content:", "}.comma-separated li:last-child:after{content:""}.end-with-period li:last-child:after{content:"."}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section.multi-line-signature div.parameters,div.multi-line-signature div.parameters{margin-left:24px}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}button{padding:0}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;-webkit-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;z-index:2000;top:0;width:280px;height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}ol#sidebar-nav{font-size:18px;white-space:pre-line}.sidebar-offcanvas-left.active{left:0}.self-name{display:inline-block;color:var(--main-hyperlinks-color)}}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}#overlay-under-drawer{display:none}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.typeahead{width:200px;padding:2px 7px 1px 7px;line-height:20px;outline:none}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.navbar-right{padding-right:60px}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter);-webkit-filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:-webkit-sticky;position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion:hover .search-from-lib{color:#ddd}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}.self-name{margin-right:10px}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}li.inherited a{opacity:.65;font-style:italic}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:1.25rem}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert-title{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:bold;-webkit-font-smoothing:antialiased}.markdown-alert-title:before{font:24px/1 "Material Symbols Outlined"}.markdown-alert.markdown-alert-note{background-color:var(--alert-info)}.markdown-alert-note .markdown-alert-title:before{content:"info"}.markdown-alert.markdown-alert-tip{background-color:var(--alert-tip)}.markdown-alert-tip .markdown-alert-title:before{content:"lightbulb"}.markdown-alert.markdown-alert-important{background-color:var(--alert-important)}.markdown-alert-important .markdown-alert-title:before{content:"feedback"}.markdown-alert.markdown-alert-warning{background-color:var(--alert-warning)}.markdown-alert-warning .markdown-alert-title:before{content:"warning"}.markdown-alert.markdown-alert-caution{background-color:var(--alert-error)}.markdown-alert-caution .markdown-alert-title:before{content:"report"} \ No newline at end of file diff --git a/tool/task.dart b/tool/task.dart index d198271744..fec2f4f815 100644 --- a/tool/task.dart +++ b/tool/task.dart @@ -178,7 +178,8 @@ Future buildWeb({bool debug = false}) async { ]); _delete(File('lib/resources/docs.dart.js.deps')); - final compileResult = sass.compileToResult('web/styles/styles.scss'); + final compileResult = sass.compileToResult('web/styles/styles.scss', + style: debug ? sass.OutputStyle.expanded : sass.OutputStyle.compressed); if (compileResult.css.isNotEmpty) { File('lib/resources/styles.css').writeAsStringSync(compileResult.css); } else { From 1da353503990259f450ca443b4b29bca3c8fbe89 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Thu, 24 Oct 2024 21:45:41 -0500 Subject: [PATCH 3/5] Update signature generation and validation to check scss files --- tool/task.dart | 23 ++++++++++++++--------- web/sig.txt | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/tool/task.dart b/tool/task.dart index fec2f4f815..4ade613f85 100644 --- a/tool/task.dart +++ b/tool/task.dart @@ -186,7 +186,8 @@ Future buildWeb({bool debug = false}) async { throw StateError('Compiled CSS was empty.'); } - var compileSig = await _calcDartFilesSig(Directory('web')); + var compileSig = + await _calcFilesSig(Directory('web'), extensions: {'.dart', '.scss'}); File(path.join('web', 'sig.txt')).writeAsStringSync('$compileSig\n'); } @@ -198,14 +199,14 @@ void _delete(FileSystemEntity entity) { } } -/// Yields all of the trimmed lines of all of the `.dart` files in [dir]. -Stream _dartFileLines(Directory dir) { +/// Yields all of the trimmed lines of all of the files in [dir] with +/// one of the specified [extensions]. +Stream _fileLines(Directory dir, {required Set extensions}) { var files = dir .listSync(recursive: true) .whereType() - .where((file) => file.path.endsWith('.dart')) - .toList() - ..sort((a, b) => compareAsciiLowerCase(a.path, b.path)); + .where((file) => extensions.contains(path.extension(file.path))) + .sorted((a, b) => compareAsciiLowerCase(a.path, b.path)); return Stream.fromIterable([ for (var file in files) @@ -833,7 +834,8 @@ Rebuild them with "dart tool/task.dart build" and check the results in. } // Verify that the web frontend has been compiled. - final currentCodeSig = await _calcDartFilesSig(Directory('web')); + final currentCodeSig = + await _calcFilesSig(Directory('web'), extensions: {'.dart', '.scss'}); final lastCompileSig = File(path.join('web', 'sig.txt')).readAsStringSync().trim(); if (currentCodeSig != lastCompileSig) { @@ -994,8 +996,11 @@ int _findCount(String str, String match) { return count; } -Future _calcDartFilesSig(Directory dir) async { - final digest = await _dartFileLines(dir) +Future _calcFilesSig( + Directory dir, { + required Set extensions, +}) async { + final digest = await _fileLines(dir, extensions: extensions) .transform(utf8.encoder) .transform(crypto.md5) .single; diff --git a/web/sig.txt b/web/sig.txt index 8ab527bda2..4e651a1037 100644 --- a/web/sig.txt +++ b/web/sig.txt @@ -1 +1 @@ -A6336370D9A2C5AE421600C7D9356FC6 +3E2408ED7DD4454C55FBF018B65003E7 From 2a13463ed548abe75c2f5a0b434cbab6d3401366 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Fri, 25 Oct 2024 14:17:21 -0500 Subject: [PATCH 4/5] Mostly 1-1 update styles to use scss nesting --- lib/resources/styles.css | 2 +- web/sig.txt | 2 +- web/styles/styles.scss | 1148 ++++++++++++++++++-------------------- 3 files changed, 555 insertions(+), 597 deletions(-) diff --git a/lib/resources/styles.css b/lib/resources/styles.css index a0bb09e06e..65f847867b 100644 --- a/lib/resources/styles.css +++ b/lib/resources/styles.css @@ -1 +1 @@ -.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info: #e7f8ff;--alert-tip: #ecfaf7;--alert-important: #e2dbff;--alert-warning: #fcf8e3;--alert-error: #fde9ee}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info: #043875;--alert-tip: #065517;--alert-important: #4a00b4;--alert-warning: #7b6909;--alert-error: #7a0c17}#theme{display:none}#theme-button{position:absolute;right:30px;height:24px}#theme-button .material-symbols-outlined{color:var(--main-icon-color);user-select:none;cursor:pointer}#theme-button .material-symbols-outlined:hover{color:var(--main-hyperlinks-color)}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}.light-theme #light-theme-button{display:none}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header#header-search-sidebar{height:50px;margin-bottom:25px}footer{flex:0 0 16px;text-align:center;padding:16px 20px}main{flex:1;display:flex;flex-direction:row;min-height:0}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}body{-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}nav.navbar{background-color:inherit;min-height:50px;border:0}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}nav.navbar .row{padding-top:8px}nav .container{white-space:nowrap}header{background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}.pre{border:1px solid #ddd;font-size:14px}.hljs-string,.hljs-doctag{color:var(--main-string-color)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--main-var-color)}.hljs-comment,.hljs-quote{color:var(--main-comment-color);font-style:italic}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--main-section-color);font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--main-tag-color);font-weight:normal}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--main-keyword-color);font-weight:bold}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--main-text-color);background:var(--main-code-bg)}a{text-decoration:none}section{margin-bottom:36px}dl{margin:0}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1.title{overflow:hidden;text-overflow:ellipsis}h1{font-size:37px;margin-top:0;margin-bottom:.67em}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}pre.prettyprint{font-family:"Roboto Mono",Menlo,monospace;color:#000;border-radius:0;font-size:15px;word-wrap:normal;line-height:1.4;border:0;margin:16px 0 16px 0;padding:8px}pre code{white-space:pre;word-wrap:initial;font-size:100%}.fixed{white-space:pre}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}@media(max-width: 840px){nav .container{width:100%}h1{font-size:24px}pre{margin:16px 0}}header h1{font-weight:400;margin-bottom:16px}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}dt{font-weight:normal}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd.callable,dd.constant,dd.property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}dt.constant+dd p{margin-bottom:1em}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dt .name{font-weight:500}dl dt.callable .name{float:none;width:auto}.type-parameter{white-space:nowrap}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.parameter-list.single-line{display:inline;margin-left:0}.parameter-list.single-line>li{display:inline}.parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.signature{color:var(--main-text-color)}.signature a{color:var(--main-hyperlinks-color)}.optional{font-style:italic}.undocumented{font-style:italic}.is-const{font-style:italic}.deprecated{text-decoration:line-through}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.category a{color:#fff}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}h1 .category{vertical-align:middle}.main-content.extension-page .from-extension{display:none}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{background-color:var(--alert-warning);font-style:italic;padding:2px}.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}a.feature:hover{border-color:#13b9fd}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}.btn-group{position:relative;display:inline-flex;vertical-align:middle}footer{color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,")}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (min-width: 840px){nav ol.breadcrumbs{float:left}}@media screen and (max-width: 840px){.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}.self-crumb{color:var(--main-h-text)}.self-name{color:#555;display:none}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:after{content:", "}.comma-separated li:last-child:after{content:""}.end-with-period li:last-child:after{content:"."}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section.multi-line-signature div.parameters,div.multi-line-signature div.parameters{margin-left:24px}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}button{padding:0}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;-webkit-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;z-index:2000;top:0;width:280px;height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}ol#sidebar-nav{font-size:18px;white-space:pre-line}.sidebar-offcanvas-left.active{left:0}.self-name{display:inline-block;color:var(--main-hyperlinks-color)}}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}#overlay-under-drawer{display:none}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.typeahead{width:200px;padding:2px 7px 1px 7px;line-height:20px;outline:none}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.navbar-right{padding-right:60px}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter);-webkit-filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:-webkit-sticky;position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion:hover .search-from-lib{color:#ddd}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}.self-name{margin-right:10px}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}li.inherited a{opacity:.65;font-style:italic}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:1.25rem}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert-title{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:bold;-webkit-font-smoothing:antialiased}.markdown-alert-title:before{font:24px/1 "Material Symbols Outlined"}.markdown-alert.markdown-alert-note{background-color:var(--alert-info)}.markdown-alert-note .markdown-alert-title:before{content:"info"}.markdown-alert.markdown-alert-tip{background-color:var(--alert-tip)}.markdown-alert-tip .markdown-alert-title:before{content:"lightbulb"}.markdown-alert.markdown-alert-important{background-color:var(--alert-important)}.markdown-alert-important .markdown-alert-title:before{content:"feedback"}.markdown-alert.markdown-alert-warning{background-color:var(--alert-warning)}.markdown-alert-warning .markdown-alert-title:before{content:"warning"}.markdown-alert.markdown-alert-caution{background-color:var(--alert-error)}.markdown-alert-caution .markdown-alert-title:before{content:"report"} \ No newline at end of file +.light-theme{--main-bg-color: #fff;--main-header-color: #eeeeee;--main-sidebar-color: #727272;--main-text-color: #111111;--main-search-bar: #fff;--main-scrollbar-color: #CCC;--main-footer-background: #111111;--main-h-text: black;--main-hyperlinks-color: #0175C2;--main-search-background: transparent;--main-code-bg: #f8f8f8;--main-keyword-color: #333;--main-tag-color: #000080;--main-section-color: #900;--main-comment-color: #998;--main-var-color: #008080;--main-string-color: #d14;--main-number-filter: invert(0%);--main-icon-color: black;--alert-info: #e7f8ff;--alert-tip: #ecfaf7;--alert-important: #e2dbff;--alert-warning: #fcf8e3;--alert-error: #fde9ee}.light-theme #light-theme-button{display:none}.light-theme img[src$="#gh-dark-mode-only"]{display:none}.dark-theme{--main-bg-color: #10161E;--main-header-color: #1C2834;--main-sidebar-color: #fff;--main-text-color: #fff;--main-search-bar: #454545;--main-scrollbar-color: #5f6368;--main-footer-background: #27323a;--main-hyperlinks-color: #00D2FA;--main-search-background: black;--main-code-bg: #10161E;--main-keyword-color: white;--main-tag-color: #00D2FA;--main-section-color: #FF2D64;--main-comment-color: #909CC3;--main-var-color: #55A09B;--main-string-color: #FF2D64;--main-number-filter: invert(100%);--main-icon-color: white;--alert-info: #043875;--alert-tip: #065517;--alert-important: #4a00b4;--alert-warning: #7b6909;--alert-error: #7a0c17}.dark-theme #dark-theme-button{display:none}.dark-theme img[src$="#gh-light-mode-only"]{display:none}#theme{display:none}#theme-button{position:absolute;right:30px;height:24px}#theme-button .material-symbols-outlined{color:var(--main-icon-color);user-select:none;cursor:pointer}#theme-button .material-symbols-outlined:hover{color:var(--main-hyperlinks-color)}li .material-symbols-outlined,dt .material-symbols-outlined{font-size:1em;vertical-align:text-bottom}dt .material-symbols-outlined{text-indent:0}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}button{padding:0}header{flex:0 0 50px;display:flex;flex-direction:row;align-items:center;padding-left:30px;padding-right:30px;background-color:var(--main-header-color);box-shadow:0 3px 5px rgba(0,0,0,.1)}header ol{list-style:none;margin:0;padding:0}header ol li{display:inline}header form{display:flex;flex:1;justify-content:flex-end}header #header-search-sidebar{height:50px;margin-bottom:25px}footer{flex:0 0 16px;text-align:center;padding:16px 20px}main{flex:1;display:flex;flex-direction:row;min-height:0}.sidebar-offcanvas-left{flex:0 1 230px;order:1;overflow-y:scroll;padding:20px 0 15px 30px;margin:5px 20px 0 0}.sidebar-offcanvas-left h5{margin-bottom:10px}.sidebar-offcanvas-left h5:last-of-type{border:0;margin-bottom:25px}::-webkit-scrollbar-button{display:none;height:13px;border-radius:0;background-color:#aaa}::-webkit-scrollbar-button:hover{background-color:#aaa}::-webkit-scrollbar-thumb{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--main-scrollbar-color)}::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar{width:8px}.main-content{flex:1;order:2;overflow-y:scroll;padding:10px 20px 0 20px}.main-content.extension-page .from-extension{display:none}.sidebar-offcanvas-right{flex:0 1 12em;order:3;overflow-y:scroll;padding:20px 15px 15px 15px;margin-top:5px;margin-right:20px}body{-webkit-text-size-adjust:100%;overflow-x:hidden;font-family:Roboto,sans-serif;font-size:16px;line-height:1.42857143;color:var(--main-text-color);background-color:var(--main-bg-color)}nav.navbar{background-color:inherit;min-height:50px;border:0}nav.navbar .row{padding-top:8px}nav .container{white-space:nowrap}@media(max-width: 840px){.hidden-xs{display:none !important}}@media(min-width: 841px){.hidden-l{display:none !important}}a{text-decoration:none}section{margin-bottom:36px}dl{margin:0}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-weight:400;margin-top:1.5em;color:var(--main-text-color)}h1{font-size:37px;margin-top:0;margin-bottom:.67em}h1.title{overflow:hidden;text-overflow:ellipsis}h2{font-size:28px}h5{font-size:16px}p{margin-bottom:1em;margin-top:0}a{color:var(--main-hyperlinks-color)}a:hover{color:#13b9fd}.fixed{white-space:pre}pre{border:1px solid #ddd;background-color:#eee;font-size:14px}pre code{white-space:pre;word-wrap:initial;font-size:100%}code{font-family:"Roboto Mono",Menlo,monospace;color:inherit;padding:.2em .4em;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}@media(max-width: 840px){nav .container{width:100%}h1{font-size:24px}pre{margin:16px 0}}header h1{font-weight:400;margin-bottom:16px}header h1 .kind{color:#555}header a,header p,header li{color:#0175c2}header a:hover{color:#0175c2}header h1 .kind{color:#555}dt{font-weight:normal}dt.constant+dd p{margin-bottom:1em}dt .name{font-weight:500}dd{color:var(--main-text-color);margin-bottom:1em;margin-left:0}dd .callable,dd .constant,dd .property{margin-bottom:24px}dd p{overflow-x:hidden;text-overflow:ellipsis;margin-bottom:0}section.summary dt,div.summary dt{margin-left:24px;text-indent:-24px}dl.dl-horizontal dd{margin-left:initial}dl.dl-horizontal dt{font-style:normal;text-align:left;color:#727272;margin-right:20px;width:initial}dl dt.callable .name{float:none;width:auto}.multi-line-signature .type-parameter{white-space:nowrap}.multi-line-signature .type-parameter .parameter{margin-left:0;display:unset}.multi-line-signature .parameter-list{display:table-cell;margin-left:10px;list-style-type:none;padding-inline-start:unset}.multi-line-signature .parameter-list.single-line{display:inline;margin-left:0}.multi-line-signature .parameter-list.single-line>li{display:inline}.multi-line-signature .parameter-list.single-line>li>.parameter{display:inline;margin-left:0;text-indent:0}.multi-line-signature .signature{color:var(--main-text-color)}.multi-line-signature .signature a{color:var(--main-hyperlinks-color)}.multi-line-signature .optional{font-style:italic}.multi-line-signature .undocumented{font-style:italic}.multi-line-signature .is-const{font-style:italic}.multi-line-signature .deprecated{text-decoration:line-through}.category{padding:2px 4px;font-size:12px;border-radius:4px;background-color:#999;text-transform:uppercase;color:#fff;opacity:.5}.category.linked{font-weight:bold;opacity:1}.category.cp-0{background-color:#54b7c4}.category.cp-1{background-color:#54c47f}.category.cp-2{background-color:#c4c254}.category.cp-3{background-color:#c49f54}.category.cp-4{background-color:#c45465}.category.cp-5{background-color:#c454c4}.category a{color:#fff}h1 .category{vertical-align:middle}sup.muted{color:var(--main-sidebar-color);font-size:.6em}.from-extension>span{background-color:var(--alert-warning);font-style:italic;padding:2px}a.feature{display:inline-block;background:var(--main-bg-color);border:1px solid var(--main-hyperlinks-color);border-radius:20px;color:var(--main-hyperlinks-color);font-size:12px;padding:1px 6px;margin:0 8px 0 0}a.feature:hover{border-color:#13b9fd}h1 .feature{vertical-align:middle;margin:0 -2px 0 0}.source-link{padding:18px 4px;font-size:18px;vertical-align:middle}@media(max-width: 840px){.source-link{padding:7px 2px;font-size:10px}}#external-links{float:right}.btn-group{position:relative;display:inline-flex;vertical-align:middle}footer{color:#fff;background-color:var(--main-footer-background);width:100%}footer p{margin:0}footer .no-break{white-space:nowrap}footer .container{padding-left:0;padding-right:0}footer a,footer a:hover{color:#fff}.markdown.desc{margin-bottom:1em;max-width:700px}.markdown h1{font-size:24px;margin-bottom:8px}.markdown h2{font-size:20px;margin-top:24px;margin-bottom:8px}.markdown h3{font-size:18px;margin-bottom:8px;color:var(--main-text-color)}.markdown h4{font-size:16px;margin-bottom:0}.markdown li p{margin:0}table{margin-bottom:1em}table,th,td{border:1px solid #d3d3d3;border-collapse:collapse}th,td{padding:8px}.gt-separated{list-style:none;padding:0;margin:0}.gt-separated li{display:inline-block}.gt-separated li:before{background-image:url("data:image/svg+xml;utf8,");background-position:center;content:" ";margin:0 6px 0 4px;padding:0 3px 0 0}.gt-separated li:first-child:before{background-image:none;content:"";margin:0;padding:0}.gt-separated.dark li:before{background-image:url("data:image/svg+xml;utf8,")}.gt-separated.dark li:first-child:before{background-image:url("data:image/svg+xml;utf8,")}.multi-line-signature{font-size:17px;color:#727272}.multi-line-signature .parameter{margin-left:60px;display:block;text-indent:-36px}ol.breadcrumbs{padding:0;margin:8px 0 8px 0;white-space:nowrap;line-height:1}@media screen and (max-width: 840px){ol.breadcrumbs{margin:0 0 24px 0;overflow-x:hidden}}@media screen and (min-width: 841px){ol.breadcrumbs{float:left}}ol.breadcrumbs li a{color:var(--main-hyperlinks-color)}ol.breadcrumbs .gt-separated .dark .hidden-xs li+li:before{color:var(--main-h-text)}ol.breadcrumbs .self-crumb{color:var(--main-h-text)}.self-name{color:#555;display:none}.annotation-list{list-style:none;padding:0;display:inline}.comma-separated{list-style:none;padding:0;display:inline}.comma-separated li{display:inline}.comma-separated li:after{content:", "}.comma-separated li:last-child:after{content:""}.end-with-period li:last-child:after{content:"."}.container>section:first-child{border:0}.constructor-modifier{font-style:italic}section.multi-line-signature div.parameters,div.multi-line-signature div.parameters{margin-left:24px}.sidebar ol{list-style:none;line-height:22px;margin-top:0;margin-bottom:0;padding:0 0 15px 0}.sidebar ol li.section-title{font-size:18px;font-weight:normal;text-transform:uppercase;padding-top:25px}.sidebar ol li.section-subtitle{font-weight:400;text-transform:uppercase}.sidebar ol li.section-subtitle a{color:inherit}.sidebar ol li.section-subitem{margin-left:12px}.sidebar ol li:first-child{padding-top:3px;margin-top:0}.sidebar h5{color:var(--main-sidebar-color);font-size:18px;margin:0 0 22px 0;padding-top:0}.sidebar h5 a,.sidebar h5 a:hover{color:var(--main-sidebar-color)}.sidebar h5,.sidebar ol li{text-overflow:ellipsis;overflow:hidden;padding:3px 0 3px 3px}#sidenav-left-toggle{display:none;vertical-align:text-bottom;padding:0;color:var(--main-icon-color);user-select:none;cursor:pointer}#sidenav-left-toggle:hover{color:var(--main-hyperlinks-color)}@media screen and (max-width: 840px){#sidenav-left-toggle{display:inline;width:24px;height:24px;border:none;margin-right:24px;margin-left:24px;font-size:24px}#overlay-under-drawer.active{opacity:.4;height:100%;z-index:1999;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000;display:block}.sidebar-offcanvas-left{left:-100%;position:fixed;-webkit-transition:all .25s ease-out;-o-transition:all .25s ease-out;transition:all .25s ease-out;z-index:2000;top:0;width:280px;height:90%;background-color:var(--main-bg-color);overflow-y:scroll;padding:10px;margin:10px 10px;box-shadow:5px 5px 5px 5px #444}.sidebar-offcanvas-left.active{left:0}ol#sidebar-nav{font-size:18px;white-space:pre-line}.self-name{display:inline-block;color:var(--main-hyperlinks-color)}}@media screen and (max-width: 992px){.sidebar-offcanvas-right{display:none}}#overlay-under-drawer{display:none}.form-control{border-radius:0;border:0}@media screen and (max-width: 840px){form.search{display:none}}.tt-wrapper{position:relative;display:inline-block}.tt-input{position:relative;vertical-align:top}.navbar-right{padding-right:60px}.navbar-right .tt-menu{right:0;left:inherit !important;width:540px;max-height:280px;overflow-y:scroll}.tt-menu{position:absolute;top:100%;left:0;z-index:100;font-size:14px;margin:0;background-color:var(--main-bg-color);border:1px solid var(--main-header-color);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.typeahead{padding:17px 17px 17px 50px;width:422px;height:20px;font-size:13px;background-image:url("./search.svg");background-repeat:no-repeat;background-position:4%;outline:0;background-size:20px;filter:var(--main-number-filter);-webkit-filter:var(--main-number-filter)}.search-summary{margin-bottom:10px}a.tt-container{font-size:16px;color:var(--main-hyperlinks-color)}.enter-search-message{position:sticky;top:0;background-color:#aaa;padding:0;font-size:14px;margin:0;clear:both;text-align:center;color:#000}.tt-suggestion:hover{cursor:pointer;color:#fff;background-color:#0097cf}.tt-suggestion .search-from-lib{color:#ddd}.tt-suggestion p{margin:0}.tt-suggestion.tt-cursor{color:#fff;background-color:#0097cf}.tt-suggestion.tt-cursor .search-from-lib{color:#ddd}.tt-container{font-size:14px;margin-bottom:0;margin-top:15px}.tt-container .tt-container-text{color:var(--main-text-color)}.tt-search-results .tt-container{margin-top:5px;margin-bottom:5px}.tt-search-results .tt-container-text{display:none}.tt-search-results .tt-suggestion{color:var(--main-text-color);margin-top:5px;overflow:hidden;padding-left:10px;padding-right:10px;text-overflow:ellipsis;white-space:nowrap}.tt-search-results .tt-suggestion-title{font-size:14px;padding-right:5px}.tt-search-results .tt-suggestion-container{color:var(--main-keyword-color);font-size:14px;font-style:italic;padding-right:5px}.tt-search-results .one-line-description{color:var(--main-keyword-color);display:inline;margin-left:0}.tt-search-results .one-line-description::before{content:open-quote}.tt-search-results .one-line-description::after{content:close-quote}#dartdoc-main-content .tt-suggestion{color:var(--main-text-color);margin-top:5px;margin-bottom:10px;border-style:solid;border-color:#d3d3d3;border-width:.5px}#dartdoc-main-content .tt-suggestion-title{display:block;font-weight:500;margin:4px 10px 0}#dartdoc-main-content .one-line-description{display:block;margin:2px 10px 3px}#dartdoc-main-content .tt-suggestion-container{display:none}@media screen and (max-width: 840px){.typeahead{padding:17px 17px 17px 33px;width:240px;height:17px;border:1px solid #f5f5f5;background-position:3%;margin:10px 10px 10px 9px}header{padding-left:0}}@media screen and (max-width: 320px){#sidenav-left-toggle{margin-right:10px;margin-left:20px}.self-name{margin-right:10px}}::placeholder{filter:brightness(0.85)}.search-body{border:1px solid #7f7f7f;max-width:400px;box-shadow:3px 3px 5px rgba(0,0,0,.1)}section#setter,div#setter{border-top:1px solid #ddd;padding-top:36px}li.inherited a{opacity:.65;font-style:italic}#instance-methods dt.inherited .name,#instance-properties dt.inherited .name,#operators dt.inherited .name{font-weight:400;font-style:italic}#instance-methods dt.inherited .signature,#instance-properties dt.inherited .signature,#operators dt.inherited .signature{font-weight:400}.markdown-alert{margin-top:1rem;margin-bottom:1rem;padding:1.25rem}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert.markdown-alert-title{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:bold;-webkit-font-smoothing:antialiased}.markdown-alert.markdown-alert-title:before{font:24px/1 "Material Symbols Outlined"}.markdown-alert.markdown-alert-note{background-color:var(--alert-info)}.markdown-alert.markdown-alert-note .markdown-alert-title:before{content:"info"}.markdown-alert.markdown-alert-tip{background-color:var(--alert-tip)}.markdown-alert.markdown-alert-tip .markdown-alert-title:before{content:"lightbulb"}.markdown-alert.markdown-alert-important{background-color:var(--alert-important)}.markdown-alert.markdown-alert-important .markdown-alert-title:before{content:"feedback"}.markdown-alert.markdown-alert-warning{background-color:var(--alert-warning)}.markdown-alert.markdown-alert-warning .markdown-alert-title:before{content:"warning"}.markdown-alert.markdown-alert-caution{background-color:var(--alert-error)}.markdown-alert.markdown-alert-caution .markdown-alert-title:before{content:"report"}@media print{.subnav,.sidebar{display:none}a[href]:after{content:"" !important}} \ No newline at end of file diff --git a/web/sig.txt b/web/sig.txt index 4e651a1037..d4c1090519 100644 --- a/web/sig.txt +++ b/web/sig.txt @@ -1 +1 @@ -3E2408ED7DD4454C55FBF018B65003E7 +E234CE5931E162BC482C911853CEB828 diff --git a/web/styles/styles.scss b/web/styles/styles.scss index cdb7346ce3..80735eb2c8 100644 --- a/web/styles/styles.scss +++ b/web/styles/styles.scss @@ -38,6 +38,16 @@ --alert-important: #e2dbff; --alert-warning: #fcf8e3; --alert-error: #fde9ee; + + #light-theme-button { + display: none; + } + + // If image is specified as dark mode only using GitHub's documented method, + // hide it in our light theme as well. + img[src$="#gh-dark-mode-only"] { + display: none; + } } .dark-theme { @@ -78,6 +88,16 @@ --alert-important: #4a00b4; --alert-warning: #7b6909; --alert-error: #7a0c17; + + #dark-theme-button { + display: none; + } + + // If image is specified as light mode only using GitHub's documented method, + // hide it in our dark theme as well. + img[src$="#gh-light-mode-only"] { + display: none; + } } #theme { @@ -88,48 +108,29 @@ position: absolute; right: 30px; height: 24px; -} -#theme-button .material-symbols-outlined { - color: var(--main-icon-color); - user-select: none; - cursor: pointer; -} + .material-symbols-outlined { + color: var(--main-icon-color); + user-select: none; + cursor: pointer; -#theme-button .material-symbols-outlined:hover { - color: var(--main-hyperlinks-color); + &:hover { + color: var(--main-hyperlinks-color); + } + } } -li .material-symbols-outlined, dt .material-symbols-outlined { - font-size: 1em; - vertical-align: text-bottom; +li, dt { + .material-symbols-outlined { + font-size: 1em; + vertical-align: text-bottom; + } } dt .material-symbols-outlined { text-indent: 0; } -.light-theme #light-theme-button { - display: none; -} - -.dark-theme #dark-theme-button { - display: none; -} - -/* -Only show images that fit their theme using GitHub's syntax, see: -https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/ -*/ -.dark-theme img[src$="#gh-light-mode-only"] { - display: none; -} - -.light-theme img[src$="#gh-dark-mode-only"] { - display: none; -} - -/* for layout */ html, body { margin: 0; @@ -150,6 +151,10 @@ body { -webkit-overflow-scrolling: touch; } +button { + padding: 0; +} + header { flex: 0 0 50px; display: flex; @@ -158,27 +163,28 @@ header { padding-left: 30px; padding-right: 30px; background-color: var(--main-header-color); -} + box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1); -header ol { - list-style: none; - margin: 0; - padding: 0; -} + ol { + list-style: none; + margin: 0; + padding: 0; -header ol li { - display: inline; -} + li { + display: inline; + } + } -header form { - display: flex; - flex: 1; - justify-content: flex-end; -} + form { + display: flex; + flex: 1; + justify-content: flex-end; + } -header#header-search-sidebar { - height: 50px; - margin-bottom: 25px; + #header-search-sidebar { + height: 50px; + margin-bottom: 25px; + } } footer { @@ -200,6 +206,15 @@ main { overflow-y: scroll; padding: 20px 0 15px 30px; margin: 5px 20px 0 0; + + h5 { + margin-bottom: 10px; + + &:last-of-type { + border: 0; + margin-bottom: 25px; + } + } } ::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; } @@ -215,6 +230,11 @@ main { order: 2; overflow-y: scroll; padding: 10px 20px 0 20px; + + /* Do not display "provided by X extension" text on extension pages. */ + &.extension-page .from-extension { + display: none; + } } .sidebar-offcanvas-right { @@ -225,7 +245,6 @@ main { margin-top: 5px; margin-right: 20px; } -/* end for layout */ body { -webkit-text-size-adjust: 100%; @@ -237,10 +256,20 @@ body { background-color: var(--main-bg-color); } -nav.navbar { - background-color: inherit; - min-height: 50px; - border: 0; +nav { + &.navbar { + background-color: inherit; + min-height: 50px; + border: 0; + + .row { + padding-top: 8px; + } + } + + .container { + white-space: nowrap; + } } @media (max-width: 840px) { @@ -255,60 +284,6 @@ nav.navbar { } } -nav.navbar .row { - padding-top: 8px; -} - -nav .container { - white-space: nowrap; -} - -header { - background-color: var(--main-header-color); - box-shadow: 0 3px 5px rgba(0,0,0,0.1); -} - -.pre { - border: 1px solid #ddd; - font-size: 14px; -} - -.hljs-string, .hljs-doctag { - color: var(--main-string-color); -} - -.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { - color: var(--main-var-color); -} - -.hljs-comment, .hljs-quote { - color: var(--main-comment-color); - font-style: italic; -} - -.hljs-title, .hljs-section, .hljs-selector-id { - color: var(--main-section-color); - font-weight: bold; -} - -.hljs-tag, .hljs-name, .hljs-attribute { - color: var(--main-tag-color); - font-weight: normal; -} - -.hljs-keyword, .hljs-selector-tag, .hljs-subst { - color: var(--main-keyword-color); - font-weight: bold; -} - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: var(--main-text-color); - background: var(--main-code-bg); -} - a { text-decoration: none; } @@ -335,15 +310,15 @@ h6 { color: var(--main-text-color); } -h1.title { - overflow: hidden; - text-overflow: ellipsis; -} - h1 { font-size: 37px; margin-top: 0; margin-bottom: 0.67em; + + &.title { + overflow: hidden; + text-overflow: ellipsis; + } } h2 { @@ -361,28 +336,10 @@ p { a { color: var(--main-hyperlinks-color); -} -a:hover { - color: #13B9FD; -} - -pre.prettyprint { - font-family: 'Roboto Mono', Menlo, monospace; - color: black; - border-radius: 0; - font-size: 15px; - word-wrap: normal; - line-height: 1.4; - border: 0; - margin: 16px 0 16px 0; - padding: 8px; -} - -pre code { - white-space: pre; - word-wrap: initial; - font-size: 100% + &:hover { + color: #13B9FD; + } } .fixed { @@ -393,6 +350,12 @@ pre { border: 1px solid #ddd; background-color: #eee; font-size: 14px; + + code { + white-space: pre; + word-wrap: initial; + font-size: 100% + } } code { @@ -418,169 +381,148 @@ code { } } -header h1 { - font-weight: 400; - margin-bottom: 16px; -} +header { + h1 { + font-weight: 400; + margin-bottom: 16px; -header a, -header p, -header li { - color: #0175C2; -} + .kind { + color: #555; + } + } -header a:hover { - color: #0175C2; -} + a, p, li { + color: #0175C2; + } -header h1 .kind { - color: #555; + a:hover { + color: #0175C2; + } + + h1 .kind { + color: #555; + } } dt { font-weight: normal; + + // Enum values do not have their own pages; their full docs are + // presented on the enum class's page. + &.constant + dd p { + margin-bottom: 1em; + } + + .name { + font-weight: 500; + } } dd { color: var(--main-text-color); margin-bottom: 1em; margin-left: 0; -} -dd.callable, dd.constant, dd.property { - margin-bottom: 24px; -} - -dd p { - overflow-x: hidden; - text-overflow: ellipsis; - margin-bottom: 0; -} + .callable, .constant, .property { + margin-bottom: 24px; + } -/* Enum values do not have their own pages; their full docs are presented on the - * enum class's page. */ -dt.constant + dd p { - margin-bottom: 1em; + p { + overflow-x: hidden; + text-overflow: ellipsis; + margin-bottom: 0; + } } /* indents wrapped lines */ /* Note that the generated HTML for pub packages may have `section` tags transformed into `div` tags, so we have two selectors here. */ -section.summary dt, div.summary dt { - margin-left: 24px; - text-indent: -24px; -} - -.dl-horizontal dd { - margin-left: initial; -} - -dl.dl-horizontal dt { - font-style: normal; - text-align: left; - color: #727272; - margin-right: 20px; - width: initial; -} - -dt .name { - font-weight: 500; -} - -dl dt.callable .name { - float: none; - width: auto; -} - -.type-parameter { - white-space: nowrap; -} - -.multi-line-signature .type-parameter .parameter { - margin-left: 0; - display: unset; +section, div { + &.summary dt { + margin-left: 24px; + text-indent: -24px; + } } -.parameter-list { - display: table-cell; - margin-left: 10px; - list-style-type: none; - padding-inline-start: unset; -} +dl { + &.dl-horizontal { + dd { + margin-left: initial; + } + + dt { + font-style: normal; + text-align: left; + color: #727272; + margin-right: 20px; + width: initial; + } + } -.parameter-list.single-line { - display: inline; - margin-left: 0; + dt.callable .name { + float: none; + width: auto; + } } -.parameter-list.single-line > li { - display: inline; -} +.multi-line-signature { + .type-parameter { + white-space: nowrap; -.parameter-list.single-line > li > .parameter { - display: inline; - margin-left: 0; - text-indent: 0; -} + .parameter { + margin-left: 0; + display: unset; + } + } -.signature { - color: var(--main-text-color); -} + .parameter-list { + display: table-cell; + margin-left: 10px; + list-style-type: none; + padding-inline-start: unset; + + &.single-line { + display: inline; + margin-left: 0; + + > li { + display: inline; + + > .parameter { + display: inline; + margin-left: 0; + text-indent: 0; + } + } + } + } -.signature a { - color: var(--main-hyperlinks-color); -} + .signature { + color: var(--main-text-color); -.optional { - font-style: italic; -} + a { + color: var(--main-hyperlinks-color); + } + } -.undocumented { - font-style: italic; -} + .optional { + font-style: italic; + } -.is-const { - font-style: italic; -} + .undocumented { + font-style: italic; + } -.deprecated { - text-decoration: line-through; -} + .is-const { + font-style: italic; + } -.category.linked { - font-weight: bold; - opacity: 1; + .deprecated { + text-decoration: line-through; + } } /* Colors for category based on categoryOrder in dartdoc_options.config. */ -.category.cp-0 { - background-color: #54b7c4 -} - -.category.cp-1 { - background-color: #54c47f -} - -.category.cp-2 { - background-color: #c4c254 -} - -.category.cp-3 { - background-color: #c49f54 -} - -.category.cp-4 { - background-color: #c45465 -} - -.category.cp-5 { - background-color: #c454c4 -} - -.category a { - color: white; -} - .category { padding: 2px 4px; font-size: 12px; @@ -589,15 +531,43 @@ dl dt.callable .name { text-transform: uppercase; color: white; opacity: .5; -} -h1 .category { - vertical-align: middle; -} + &.linked { + font-weight: bold; + opacity: 1; + } -/* Do not display "provided by X extension" text on extension pages. */ -.main-content.extension-page .from-extension { - display: none; + &.cp-0 { + background-color: #54b7c4 + } + + &.cp-1 { + background-color: #54c47f + } + + &.cp-2 { + background-color: #c4c254 + } + + &.cp-3 { + background-color: #c49f54 + } + + &.cp-4 { + background-color: #c45465 + } + + &.cp-5 { + background-color: #c454c4 + } + + a { + color: white; + } + + @at-root h1 & { + vertical-align: middle; + } } sup.muted { @@ -613,7 +583,7 @@ sup.muted { /* The badge under a declaration for things like "const", "read-only", etc. and for the badges inline like sealed or interface */ /* See https://github.com/dart-lang/dartdoc/blob/main/lib/src/model/feature.dart */ -.feature { +a.feature { display: inline-block; background: var(--main-bg-color); border: 1px solid var(--main-hyperlinks-color); @@ -623,10 +593,10 @@ sup.muted { font-size: 12px; padding: 1px 6px; margin: 0 8px 0 0; -} -a.feature:hover { - border-color: #13B9FD; + &:hover { + border-color: #13B9FD; + } } h1 .feature { @@ -638,10 +608,8 @@ h1 .feature { padding: 18px 4px; font-size: 18px; vertical-align: middle; -} -@media (max-width: 840px) { - .source-link { + @media (max-width: 840px) { padding: 7px 2px; font-size: 10px; } @@ -661,54 +629,56 @@ footer { color: #fff; background-color: var(--main-footer-background); width: 100%; -} -footer p { - margin: 0; -} + p { + margin: 0; + } -footer .no-break { - white-space: nowrap; -} + .no-break { + white-space: nowrap; + } -footer .container { - padding-left: 0; - padding-right: 0; -} + .container { + padding-left: 0; + padding-right: 0; + } -footer a, footer a:hover { - color: #fff; + a, a:hover { + color: #fff; + } } -.markdown.desc { - margin-bottom: 1em; - max-width: 700px; -} +.markdown { + &.desc { + margin-bottom: 1em; + max-width: 700px; + } -.markdown h1 { - font-size: 24px; - margin-bottom: 8px; -} + h1 { + font-size: 24px; + margin-bottom: 8px; + } -.markdown h2 { - font-size: 20px; - margin-top: 24px; - margin-bottom: 8px; -} + h2 { + font-size: 20px; + margin-top: 24px; + margin-bottom: 8px; + } -.markdown h3 { - font-size: 18px; - margin-bottom: 8px; - color: var(--main-text-color); -} + h3 { + font-size: 18px; + margin-bottom: 8px; + color: var(--main-text-color); + } -.markdown h4 { - font-size: 16px; - margin-bottom: 0; -} + h4 { + font-size: 16px; + margin-bottom: 0; + } -.markdown li p { - margin: 0; + li p { + margin: 0; + } } table { @@ -731,72 +701,74 @@ td { list-style: none; padding: 0; margin: 0; -} -.gt-separated li { - display: inline-block; -} + li { + display: inline-block; -.gt-separated li:before { - background-image: url("data:image/svg+xml;utf8,"); - background-position: center; - content: "\00a0"; - margin: 0 6px 0 4px; - padding: 0 3px 0 0; -} + &:before { + background-image: url("data:image/svg+xml;utf8,"); + background-position: center; + content: "\00a0"; + margin: 0 6px 0 4px; + padding: 0 3px 0 0; + } + + &:first-child:before { + background-image: none; + content: ""; + margin: 0; + padding: 0; + } + } -.gt-separated.dark li:before { - background-image: url("data:image/svg+xml;utf8,"); -} + &.dark li { + &:before { + background-image: url("data:image/svg+xml;utf8,"); + } -.gt-separated li:first-child:before { - background-image: none; - content: ""; - margin: 0; - padding: 0; + &:first-child:before { + background-image: url("data:image/svg+xml;utf8,"); + } + } } .multi-line-signature { font-size: 17px; color: #727272; -} -.multi-line-signature .parameter { - margin-left: 60px; - display: block; - text-indent: -36px; + .parameter { + margin-left: 60px; + display: block; + text-indent: -36px; + } } -.breadcrumbs { +ol.breadcrumbs { padding: 0; margin: 8px 0 8px 0; white-space: nowrap; line-height: 1; -} -@media screen and (min-width: 840px) { - nav ol.breadcrumbs { - float: left; - } -} - -@media screen and (max-width: 840px) { - .breadcrumbs { + @media screen and (max-width: 840px) { margin: 0 0 24px 0; overflow-x: hidden; } -} -.breadcrumbs .gt-separated .dark .hidden-xs li+li:before { - color: var(--main-h-text); -} + @media screen and (min-width: 841px) { + float: left; + } -ol.breadcrumbs li a { - color: var(--main-hyperlinks-color); -} + li a { + color: var(--main-hyperlinks-color); + } -.self-crumb { - color: var(--main-h-text); + .gt-separated .dark .hidden-xs li+li:before { + color: var(--main-h-text); + } + + .self-crumb { + color: var(--main-h-text); + } } .self-name { @@ -814,18 +786,18 @@ ol.breadcrumbs li a { list-style: none; padding: 0; display: inline; -} -.comma-separated li { - display: inline; -} + li { + display: inline; -.comma-separated li:after { - content: ", "; -} + &:after { + content: ", "; + } -.comma-separated li:last-child:after { - content: ""; + &:last-child:after { + content: ""; + } + } } .end-with-period li:last-child:after { @@ -842,67 +814,66 @@ ol.breadcrumbs li a { /* Note that the generated HTML for pub packages may have `section` tags transformed into `div` tags, so we have two selectors here. */ -section.multi-line-signature div.parameters, -div.multi-line-signature div.parameters { - margin-left: 24px; +section, div { + &.multi-line-signature div.parameters { + margin-left: 24px; + } } /* sidebar styles */ -.sidebar ol { - list-style: none; - line-height: 22px; - margin-top: 0; - margin-bottom: 0; - padding: 0 0 15px 0; -} - -.sidebar h5 a, -.sidebar h5 a:hover { - color: var(--main-sidebar-color); -} - -.sidebar h5, -.sidebar ol li { - text-overflow: ellipsis; - overflow: hidden; - padding: 3px 0 3px 3px; -} - -.sidebar h5 { - color: var(--main-sidebar-color); - font-size: 18px; - margin: 0 0 22px 0; - padding-top: 0; -} - -.sidebar ol li.section-title { - font-size: 18px; - font-weight: normal; - text-transform: uppercase; - padding-top: 25px; -} - -.sidebar ol li.section-subtitle a { - color: inherit; -} - -.sidebar ol li.section-subtitle { - font-weight: 400; - text-transform: uppercase; -} +.sidebar { + ol { + list-style: none; + line-height: 22px; + margin-top: 0; + margin-bottom: 0; + padding: 0 0 15px 0; + + li { + &.section-title { + font-size: 18px; + font-weight: normal; + text-transform: uppercase; + padding-top: 25px; + } + + &.section-subtitle { + font-weight: 400; + text-transform: uppercase; + + a { + color: inherit; + } + } + + &.section-subitem { + margin-left: 12px; + } + + &:first-child { + padding-top: 3px; + margin-top: 0; + } + } + } -.sidebar ol li.section-subitem { - margin-left: 12px; -} + h5 { + color: var(--main-sidebar-color); + font-size: 18px; + margin: 0 0 22px 0; + padding-top: 0; -.sidebar ol li:first-child { - padding-top: 3px; - margin-top: 0; -} + a, a:hover { + color: var(--main-sidebar-color); + } + } -button { - padding: 0; + h5, ol li { + text-overflow: ellipsis; + overflow: hidden; + padding: 3px 0 3px 3px; + } } #sidenav-left-toggle { @@ -912,10 +883,10 @@ button { color: var(--main-icon-color); user-select: none; cursor: pointer; -} -#sidenav-left-toggle:hover { - color: var(--main-hyperlinks-color); + &:hover { + color: var(--main-hyperlinks-color); + } } /* left-nav disappears, and can transition in from the left */ @@ -951,13 +922,17 @@ button { transition:all .25s ease-out; z-index: 2000; top: 0; - width: 280px; /* works all the way down to an iphone 4 */ + width: 280px; height: 90%; background-color: var(--main-bg-color); - overflow-y: scroll; /* TODO: how to hide scroll bars? */ + overflow-y: scroll; padding: 10px; margin: 10px 10px; box-shadow: 5px 5px 5px 5px #444444; + + &.active { + left: 0; /* this animates our drawer into the page */ + } } ol#sidebar-nav { @@ -965,25 +940,12 @@ button { white-space: pre-line; } - .sidebar-offcanvas-left.active { - left: 0; /* this animates our drawer into the page */ - } - .self-name { display: inline-block; color: var(--main-hyperlinks-color); } } -.sidebar-offcanvas-left h5 { - margin-bottom: 10px; -} - -.sidebar-offcanvas-left h5:last-of-type { - border: 0; - margin-bottom: 25px; -} - /* the right nav disappears out of view when the window shrinks */ @media screen and (max-width: 992px) { .sidebar-offcanvas-right { @@ -1008,13 +970,6 @@ button { } } -.typeahead { - width: 200px; - padding: 2px 7px 1px 7px; - line-height: 20px; - outline: none; -} - .tt-wrapper { position: relative; display: inline-block; @@ -1025,16 +980,16 @@ button { vertical-align: top; } -.navbar-right .tt-menu { - right: 0; - left: inherit !important; - width: 540px; - max-height: 280px; - overflow-y: scroll; -} - .navbar-right { padding-right: 60px; + + .tt-menu { + right: 0; + left: inherit !important; + width: 540px; + max-height: 280px; + overflow-y: scroll; + } } .tt-menu { @@ -1051,7 +1006,6 @@ button { box-shadow: 0 5px 10px rgba(0,0,0,.2); } - .typeahead { padding: 17px 17px 17px 50px; width: 422px; @@ -1076,7 +1030,6 @@ a.tt-container { } .enter-search-message { - position: -webkit-sticky; position: sticky; top: 0; background-color: #AAA; @@ -1088,116 +1041,121 @@ a.tt-container { color: black; } -.tt-suggestion:hover { - cursor: pointer; - color: #fff; - background-color: #0097cf; -} +.tt-suggestion { + &:hover { + cursor: pointer; + color: #fff; + background-color: #0097cf; + } -.tt-suggestion:hover .search-from-lib { - color: #ddd; -} + .search-from-lib { + color: #ddd; + } -.tt-suggestion.tt-cursor { - color: #fff; - background-color: #0097cf; -} + p { + margin: 0; + } -.tt-suggestion.tt-cursor .search-from-lib { - color: #ddd; -} + &.tt-cursor { + color: #fff; + background-color: #0097cf; -.tt-suggestion p { - margin: 0; + .search-from-lib { + color: #ddd; + } + } } .tt-container { font-size: 14px; margin-bottom: 0; margin-top: 15px; -} -.tt-container-text { - color: var(--main-text-color); + .tt-container-text { + color: var(--main-text-color); + } } /* Search results formatting for mini results below search bar. */ -.tt-search-results .tt-container { - margin-top: 5px; - margin-bottom: 5px; -} - -/* Do not show the container as a section. */ -.tt-search-results .tt-container-text { - display: none -} +.tt-search-results { + .tt-container { + margin-top: 5px; + margin-bottom: 5px; + } -/* An inline style. */ -.tt-search-results .tt-suggestion { - color: var(--main-text-color); - margin-top: 5px; - overflow: hidden; - padding-left: 10px; - padding-right: 10px; - text-overflow: ellipsis; - white-space: nowrap; -} + /* Do not show the container as a section. */ + .tt-container-text { + display: none + } -.tt-search-results .tt-suggestion-title { - font-size: 14px; - padding-right: 5px; -} + /* An inline style. */ + .tt-suggestion { + color: var(--main-text-color); + margin-top: 5px; + overflow: hidden; + padding-left: 10px; + padding-right: 10px; + text-overflow: ellipsis; + white-space: nowrap; + } -.tt-search-results .tt-suggestion-container { - color: var(--main-keyword-color); - font-size: 14px; - font-style: italic; - padding-right: 5px; -} + .tt-suggestion-title { + font-size: 14px; + padding-right: 5px; + } -.tt-search-results .one-line-description { - color: var(--main-keyword-color); - display: inline; - margin-left: 0; -} + .tt-suggestion-container { + color: var(--main-keyword-color); + font-size: 14px; + font-style: italic; + padding-right: 5px; + } + .one-line-description { + color: var(--main-keyword-color); + display: inline; + margin-left: 0; -.tt-search-results .one-line-description::before { - content: open-quote; -} + &::before { + content: open-quote; + } -.tt-search-results .one-line-description::after { - content: close-quote; + &::after { + content: close-quote; + } + } } /* Search results formatting for `search.html`. */ /* A block style. */ -#dartdoc-main-content .tt-suggestion { - color: var(--main-text-color); - margin-top: 5px; - margin-bottom: 10px; - border-style: solid; - border-color: lightgrey; - border-width: 0.5px; -} +#dartdoc-main-content { + .tt-suggestion { + color: var(--main-text-color); + margin-top: 5px; + margin-bottom: 10px; + border-style: solid; + border-color: lightgrey; + border-width: 0.5px; + } -#dartdoc-main-content .tt-suggestion-title { - display: block; - font-weight: 500; - margin: 4px 10px 0; -} + .tt-suggestion-title { + display: block; + font-weight: 500; + margin: 4px 10px 0; + } -#dartdoc-main-content .one-line-description { - display: block; - margin: 2px 10px 3px; -} + .one-line-description { + display: block; + margin: 2px 10px 3px; + } -/* Do not show a result's container. */ -#dartdoc-main-content .tt-suggestion-container { - display: none; + /* Do not show a result's container. */ + .tt-suggestion-container { + display: none; + } } @media screen and (max-width: 840px) { @@ -1248,26 +1206,18 @@ li.inherited a { font-style: italic; } -#instance-methods dt.inherited .name, -#instance-properties dt.inherited .name, -#operators dt.inherited .name { - font-weight: 400; - font-style: italic; -} - -#instance-methods dt.inherited .signature, -#instance-properties dt.inherited .signature, -#operators dt.inherited .signature { - font-weight: 400; -} - -@media print { - .subnav, .sidebar { - display: none; - } +#instance-methods, +#instance-properties, +#operators { + dt.inherited { + .name { + font-weight: 400; + font-style: italic; + } - a[href]:after { - content: "" !important; + .signature { + font-weight: 400; + } } } @@ -1277,64 +1227,72 @@ li.inherited a { margin-top: 1rem; margin-bottom: 1rem; padding: 1.25rem; -} -.markdown-alert>:last-child { - margin-bottom: 0; -} + >:last-child { + margin-bottom: 0; + } -.markdown-alert-title { - display: flex; - align-items: center; - gap: 0.4rem; - margin-bottom: 0.5rem; + &.markdown-alert-title { + display: flex; + align-items: center; + gap: 0.4rem; + margin-bottom: 0.5rem; - font-weight: bold; - -webkit-font-smoothing: antialiased; -} + font-weight: bold; + -webkit-font-smoothing: antialiased; -.markdown-alert-title:before { - font: 24px / 1 'Material Symbols Outlined'; -} + &:before { + font: 24px / 1 'Material Symbols Outlined'; + } + } -/* note, tip, important, warning, caution */ + &.markdown-alert-note { + background-color: var(--alert-info); -.markdown-alert.markdown-alert-note { - background-color: var(--alert-info); -} + .markdown-alert-title:before { + content: 'info'; + } + } -.markdown-alert-note .markdown-alert-title:before { - content: 'info'; -} + &.markdown-alert-tip { + background-color: var(--alert-tip); -.markdown-alert.markdown-alert-tip { - background-color: var(--alert-tip); -} + .markdown-alert-title:before { + content: 'lightbulb'; + } + } -.markdown-alert-tip .markdown-alert-title:before { - content: 'lightbulb'; -} + &.markdown-alert-important { + background-color: var(--alert-important); -.markdown-alert.markdown-alert-important { - background-color: var(--alert-important); -} + .markdown-alert-title:before { + content: 'feedback'; + } + } -.markdown-alert-important .markdown-alert-title:before { - content: 'feedback'; -} + &.markdown-alert-warning { + background-color: var(--alert-warning); -.markdown-alert.markdown-alert-warning { - background-color: var(--alert-warning); -} + .markdown-alert-title:before { + content: 'warning'; + } + } -.markdown-alert-warning .markdown-alert-title:before { - content: 'warning'; -} + &.markdown-alert-caution { + background-color: var(--alert-error); -.markdown-alert.markdown-alert-caution { - background-color: var(--alert-error); + .markdown-alert-title:before { + content: 'report'; + } + } } -.markdown-alert-caution .markdown-alert-title:before { - content: 'report'; +@media print { + .subnav, .sidebar { + display: none; + } + + a[href]:after { + content: "" !important; + } } From ac97552c118141f7825791eb8c24563df33f9e1a Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Fri, 25 Oct 2024 14:46:15 -0500 Subject: [PATCH 5/5] Mark as generated --- .gitattributes | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitattributes b/.gitattributes index 6b049d6c54..f4ac216e83 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,8 @@ *.dart text eol=lf *.yaml text eol=lf +lib/resources/styles.css linguist-generated=true + # Don't collapse in github code reviews by default. lib/src/version.dart linguist-generated=false lib/src/html/resources.g.dart linguist-generated=false @@ -9,6 +11,7 @@ lib/src/html/resources.g.dart linguist-generated=false # At the end of a rebase or a merge, the dev may still need to regenerate # these files with `dart run tool/task.dart build`. lib/resources/docs.dart.js merge=theirs +lib/resources/styles.css merge=theirs lib/resources/docs.dart.js.map merge=theirs lib/src/generator/templates.aot_renderers_for_html.dart merge=theirs lib/src/generator/templates.aot_renderers_for_md.dart merge=theirs