diff --git a/README.md b/README.md index 24ad465..ee494ba 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # ReactPy Router

- - + + diff --git a/docs/src/about/contributing.md b/docs/src/about/contributing.md index fc4a234..fa1816d 100644 --- a/docs/src/about/contributing.md +++ b/docs/src/about/contributing.md @@ -3,7 +3,7 @@ If you plan to make code changes to this repository, you will need to install the following dependencies first: - [Git](https://git-scm.com/downloads) -- [Python 3.9+](https://www.python.org/downloads/) +- [Python 3.11+](https://www.python.org/downloads/) - [Hatch](https://hatch.pypa.io/latest/) - [Bun](https://bun.sh/) @@ -41,6 +41,7 @@ By utilizing `hatch`, the following commands are available to manage the develop | `hatch fmt --check` | Run all linters and formatters, but do not save fixes to the disk | | `hatch fmt --linter` | Run only linters | | `hatch fmt --formatter` | Run only formatters | +| `hatch run javascript:build` | Manually re-build the JavaScript bundle | | `hatch run javascript:check` | Run the JavaScript linter/formatter | | `hatch run javascript:fix` | Run the JavaScript linter/formatter and write fixes to disk | | `hatch run python:type_check` | Run the Python type checker | diff --git a/docs/src/assets/css/admonition.css b/docs/src/assets/css/admonition.css index 8b3f06e..24b33a3 100644 --- a/docs/src/assets/css/admonition.css +++ b/docs/src/assets/css/admonition.css @@ -1,160 +1,160 @@ [data-md-color-scheme="slate"] { - --admonition-border-color: transparent; - --admonition-expanded-border-color: rgba(255, 255, 255, 0.1); - --note-bg-color: rgba(43, 110, 98, 0.2); - --terminal-bg-color: #0c0c0c; - --terminal-title-bg-color: #000; - --deep-dive-bg-color: rgba(43, 52, 145, 0.2); - --you-will-learn-bg-color: #353a45; - --pitfall-bg-color: rgba(182, 87, 0, 0.2); + --admonition-border-color: transparent; + --admonition-expanded-border-color: rgba(255, 255, 255, 0.1); + --note-bg-color: rgba(43, 110, 98, 0.2); + --terminal-bg-color: #0c0c0c; + --terminal-title-bg-color: #000; + --deep-dive-bg-color: rgba(43, 52, 145, 0.2); + --you-will-learn-bg-color: #353a45; + --pitfall-bg-color: rgba(182, 87, 0, 0.2); } [data-md-color-scheme="default"] { - --admonition-border-color: rgba(0, 0, 0, 0.08); - --admonition-expanded-border-color: var(--admonition-border-color); - --note-bg-color: rgb(244, 251, 249); - --terminal-bg-color: rgb(64, 71, 86); - --terminal-title-bg-color: rgb(35, 39, 47); - --deep-dive-bg-color: rgb(243, 244, 253); - --you-will-learn-bg-color: rgb(246, 247, 249); - --pitfall-bg-color: rgb(254, 245, 231); + --admonition-border-color: rgba(0, 0, 0, 0.08); + --admonition-expanded-border-color: var(--admonition-border-color); + --note-bg-color: rgb(244, 251, 249); + --terminal-bg-color: rgb(64, 71, 86); + --terminal-title-bg-color: rgb(35, 39, 47); + --deep-dive-bg-color: rgb(243, 244, 253); + --you-will-learn-bg-color: rgb(246, 247, 249); + --pitfall-bg-color: rgb(254, 245, 231); } .md-typeset details, .md-typeset .admonition { - border-color: var(--admonition-border-color) !important; - box-shadow: none; + border-color: var(--admonition-border-color) !important; + box-shadow: none; } .md-typeset :is(.admonition, details) { - margin: 0.55em 0; + margin: 0.55em 0; } .md-typeset .admonition { - font-size: 0.7rem; + font-size: 0.7rem; } .md-typeset .admonition:focus-within, .md-typeset details:focus-within { - box-shadow: none !important; + box-shadow: none !important; } .md-typeset details[open] { - border-color: var(--admonition-expanded-border-color) !important; + border-color: var(--admonition-expanded-border-color) !important; } -/* -Admonition: "summary" +/* +Admonition: "summary" React Name: "You will learn" */ .md-typeset .admonition.summary { - background: var(--you-will-learn-bg-color); - padding: 0.8rem 1.4rem; - border-radius: 0.8rem; + background: var(--you-will-learn-bg-color); + padding: 0.8rem 1.4rem; + border-radius: 0.8rem; } .md-typeset .summary .admonition-title { - font-size: 1rem; - background: transparent; - padding-left: 0.6rem; - padding-bottom: 0; + font-size: 1rem; + background: transparent; + padding-left: 0.6rem; + padding-bottom: 0; } .md-typeset .summary .admonition-title:before { - display: none; + display: none; } .md-typeset .admonition.summary { - border-color: #ffffff17 !important; + border-color: #ffffff17 !important; } -/* -Admonition: "abstract" +/* +Admonition: "abstract" React Name: "Note" */ .md-typeset .admonition.abstract { - background: var(--note-bg-color); - padding: 0.8rem 1.4rem; - border-radius: 0.8rem; + background: var(--note-bg-color); + padding: 0.8rem 1.4rem; + border-radius: 0.8rem; } .md-typeset .abstract .admonition-title { - font-size: 1rem; - background: transparent; - padding-bottom: 0; - color: rgb(68, 172, 153); + font-size: 1rem; + background: transparent; + padding-bottom: 0; + color: rgb(68, 172, 153); } .md-typeset .abstract .admonition-title:before { - font-size: 1.1rem; - background: rgb(68, 172, 153); + font-size: 1.1rem; + background: rgb(68, 172, 153); } -/* -Admonition: "warning" +/* +Admonition: "warning" React Name: "Pitfall" */ .md-typeset .admonition.warning { - background: var(--pitfall-bg-color); - padding: 0.8rem 1.4rem; - border-radius: 0.8rem; + background: var(--pitfall-bg-color); + padding: 0.8rem 1.4rem; + border-radius: 0.8rem; } .md-typeset .warning .admonition-title { - font-size: 1rem; - background: transparent; - padding-bottom: 0; - color: rgb(219, 125, 39); + font-size: 1rem; + background: transparent; + padding-bottom: 0; + color: rgb(219, 125, 39); } .md-typeset .warning .admonition-title:before { - font-size: 1.1rem; - background: rgb(219, 125, 39); + font-size: 1.1rem; + background: rgb(219, 125, 39); } -/* -Admonition: "info" +/* +Admonition: "info" React Name: "Deep Dive" */ .md-typeset .admonition.info { - background: var(--deep-dive-bg-color); - padding: 0.8rem 1.4rem; - border-radius: 0.8rem; + background: var(--deep-dive-bg-color); + padding: 0.8rem 1.4rem; + border-radius: 0.8rem; } .md-typeset .info .admonition-title { - font-size: 1rem; - background: transparent; - padding-bottom: 0; - color: rgb(136, 145, 236); + font-size: 1rem; + background: transparent; + padding-bottom: 0; + color: rgb(136, 145, 236); } .md-typeset .info .admonition-title:before { - font-size: 1.1rem; - background: rgb(136, 145, 236); + font-size: 1.1rem; + background: rgb(136, 145, 236); } -/* -Admonition: "example" +/* +Admonition: "example" React Name: "Terminal" */ .md-typeset .admonition.example { - background: var(--terminal-bg-color); - border-radius: 0.4rem; - overflow: hidden; - border: none; + background: var(--terminal-bg-color); + border-radius: 0.4rem; + overflow: hidden; + border: none; } .md-typeset .example .admonition-title { - background: var(--terminal-title-bg-color); - color: rgb(246, 247, 249); + background: var(--terminal-title-bg-color); + color: rgb(246, 247, 249); } .md-typeset .example .admonition-title:before { - background: rgb(246, 247, 249); + background: rgb(246, 247, 249); } .md-typeset .admonition.example code { - background: transparent; - color: #fff; - box-shadow: none; + background: transparent; + color: #fff; + box-shadow: none; } diff --git a/docs/src/assets/css/banner.css b/docs/src/assets/css/banner.css index 3739a73..b6d5a90 100644 --- a/docs/src/assets/css/banner.css +++ b/docs/src/assets/css/banner.css @@ -1,15 +1,15 @@ body[data-md-color-scheme="slate"] { - --md-banner-bg-color: rgb(55, 81, 78); - --md-banner-font-color: #fff; + --md-banner-bg-color: rgb(55, 81, 78); + --md-banner-font-color: #fff; } body[data-md-color-scheme="default"] { - --md-banner-bg-color: #ff9; - --md-banner-font-color: #000; + --md-banner-bg-color: #ff9; + --md-banner-font-color: #000; } .md-banner--warning { - background-color: var(--md-banner-bg-color); - color: var(--md-banner-font-color); - text-align: center; + background-color: var(--md-banner-bg-color); + color: var(--md-banner-font-color); + text-align: center; } diff --git a/docs/src/assets/css/button.css b/docs/src/assets/css/button.css index 8f71391..2563f6b 100644 --- a/docs/src/assets/css/button.css +++ b/docs/src/assets/css/button.css @@ -1,41 +1,44 @@ [data-md-color-scheme="slate"] { - --md-button-font-color: #fff; - --md-button-border-color: #404756; + --md-button-font-color: #fff; + --md-button-border-color: #404756; } [data-md-color-scheme="default"] { - --md-button-font-color: #000; - --md-button-border-color: #8d8d8d; + --md-button-font-color: #000; + --md-button-border-color: #8d8d8d; } .md-typeset .md-button { - border-width: 1px; - border-color: var(--md-button-border-color); - border-radius: 9999px; - color: var(--md-button-font-color); - transition: color 125ms, background 125ms, border-color 125ms, - transform 125ms; + border-width: 1px; + border-color: var(--md-button-border-color); + border-radius: 9999px; + color: var(--md-button-font-color); + transition: + color 125ms, + background 125ms, + border-color 125ms, + transform 125ms; } .md-typeset .md-button:focus, .md-typeset .md-button:hover { - border-color: var(--md-button-border-color); - color: var(--md-button-font-color); - background: rgba(78, 87, 105, 0.05); + border-color: var(--md-button-border-color); + color: var(--md-button-font-color); + background: rgba(78, 87, 105, 0.05); } .md-typeset .md-button.md-button--primary { - color: #fff; - border-color: transparent; - background: var(--reactpy-color-dark); + color: #fff; + border-color: transparent; + background: var(--reactpy-color-dark); } .md-typeset .md-button.md-button--primary:focus, .md-typeset .md-button.md-button--primary:hover { - border-color: transparent; - background: var(--reactpy-color-darker); + border-color: transparent; + background: var(--reactpy-color-darker); } .md-typeset .md-button:focus { - transform: scale(0.98); + transform: scale(0.98); } diff --git a/docs/src/assets/css/code.css b/docs/src/assets/css/code.css index c546549..706344e 100644 --- a/docs/src/assets/css/code.css +++ b/docs/src/assets/css/code.css @@ -1,82 +1,79 @@ :root { - --code-max-height: 17.25rem; - --md-code-backdrop: rgba(0, 0, 0, 0) 0px 0px 0px 0px, - rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.03) 0px 0.8px 2px 0px, - rgba(0, 0, 0, 0.047) 0px 2.7px 6.7px 0px, - rgba(0, 0, 0, 0.08) 0px 12px 30px 0px; + --code-max-height: 17.25rem; + --md-code-backdrop: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.03) 0px 0.8px 2px 0px, rgba(0, 0, 0, 0.047) 0px 2.7px 6.7px 0px, rgba(0, 0, 0, 0.08) 0px 12px 30px 0px; } [data-md-color-scheme="slate"] { - --md-code-hl-color: #ffffcf1c; - --md-code-bg-color: #16181d; - --md-code-hl-comment-color: hsla(var(--md-hue), 75%, 90%, 0.43); - --code-tab-color: rgb(52, 58, 70); - --md-code-hl-name-color: #aadafc; - --md-code-hl-string-color: hsl(21 49% 63% / 1); - --md-code-hl-keyword-color: hsl(289.67deg 35% 60%); - --md-code-hl-constant-color: hsl(213.91deg 68% 61%); - --md-code-hl-number-color: #bfd9ab; - --func-and-decorator-color: #dcdcae; - --module-import-color: #60c4ac; + --md-code-hl-color: #ffffcf1c; + --md-code-bg-color: #16181d; + --md-code-hl-comment-color: hsla(var(--md-hue), 75%, 90%, 0.43); + --code-tab-color: rgb(52, 58, 70); + --md-code-hl-name-color: #aadafc; + --md-code-hl-string-color: hsl(21 49% 63% / 1); + --md-code-hl-keyword-color: hsl(289.67deg 35% 60%); + --md-code-hl-constant-color: hsl(213.91deg 68% 61%); + --md-code-hl-number-color: #bfd9ab; + --func-and-decorator-color: #dcdcae; + --module-import-color: #60c4ac; } [data-md-color-scheme="default"] { - --md-code-hl-color: #ffffcf1c; - --md-code-bg-color: rgba(208, 211, 220, 0.4); - --md-code-fg-color: rgb(64, 71, 86); - --code-tab-color: #fff; - --func-and-decorator-color: var(--md-code-hl-function-color); - --module-import-color: #e153e5; + --md-code-hl-color: #ffffcf1c; + --md-code-bg-color: rgba(208, 211, 220, 0.4); + --md-code-fg-color: rgb(64, 71, 86); + --code-tab-color: #fff; + --func-and-decorator-color: var(--md-code-hl-function-color); + --module-import-color: #e153e5; } [data-md-color-scheme="default"] .md-typeset .highlight > pre > code, [data-md-color-scheme="default"] .md-typeset .highlight > table.highlighttable { - --md-code-bg-color: #fff; + --md-code-bg-color: #fff; } /* All code blocks */ .md-typeset pre > code { - max-height: var(--code-max-height); + max-height: var(--code-max-height); } /* Code blocks with no line number */ .md-typeset .highlight > pre > code { - border-radius: 16px; - max-height: var(--code-max-height); - box-shadow: var(--md-code-backdrop); + border-radius: 16px; + max-height: var(--code-max-height); + box-shadow: var(--md-code-backdrop); } /* Code blocks with line numbers */ .md-typeset .highlighttable .linenos { - max-height: var(--code-max-height); - overflow: hidden; + max-height: var(--code-max-height); + overflow: hidden; } .md-typeset .highlighttable { - box-shadow: var(--md-code-backdrop); - border-radius: 8px; - overflow: hidden; + box-shadow: var(--md-code-backdrop); + border-radius: 8px; + overflow: hidden; } /* Tabbed code blocks */ .md-typeset .tabbed-set { - box-shadow: var(--md-code-backdrop); - border-radius: 8px; - overflow: hidden; - border: 1px solid var(--md-default-fg-color--lightest); + box-shadow: var(--md-code-backdrop); + border-radius: 8px; + overflow: hidden; + border: 1px solid var(--md-default-fg-color--lightest); } .md-typeset .tabbed-set .tabbed-block { - overflow: hidden; + overflow: hidden; } .js .md-typeset .tabbed-set .tabbed-labels { - background: var(--code-tab-color); - margin: 0; - padding-left: 0.8rem; + background: var(--code-tab-color); + margin: 0; + padding-left: 0.8rem; } .md-typeset .tabbed-set .tabbed-labels > label { - font-weight: 400; - font-size: 0.7rem; - padding-top: 0.55em; - padding-bottom: 0.35em; + font-weight: 400; + font-size: 0.7rem; + padding-top: 0.55em; + padding-bottom: 0.35em; } .md-typeset .tabbed-set .highlighttable { - border-radius: 0; + border-radius: 0; } /* Code hightlighting colors */ @@ -86,26 +83,31 @@ .highlight .ne, .highlight .nn, .highlight .nv { - color: var(--module-import-color); + color: var(--module-import-color); } /* Function def name and decorator */ .highlight .nd, .highlight .nf { - color: var(--func-and-decorator-color); + color: var(--func-and-decorator-color); } /* None type */ .highlight .kc { - color: var(--md-code-hl-constant-color); + color: var(--md-code-hl-constant-color); } /* Keywords such as def and return */ .highlight .k { - color: var(--md-code-hl-constant-color); + color: var(--md-code-hl-constant-color); } /* HTML tags */ .highlight .nt { - color: var(--md-code-hl-constant-color); + color: var(--md-code-hl-constant-color); +} + +/* Copy text button */ +.md-code__nav { + background: transparent; } diff --git a/docs/src/assets/css/footer.css b/docs/src/assets/css/footer.css index b340828..2f9e268 100644 --- a/docs/src/assets/css/footer.css +++ b/docs/src/assets/css/footer.css @@ -1,33 +1,33 @@ [data-md-color-scheme="slate"] { - --md-footer-bg-color: var(--md-default-bg-color); - --md-footer-bg-color--dark: var(--md-default-bg-color); - --md-footer-border-color: var(--md-header-border-color); + --md-footer-bg-color: var(--md-default-bg-color); + --md-footer-bg-color--dark: var(--md-default-bg-color); + --md-footer-border-color: var(--md-header-border-color); } [data-md-color-scheme="default"] { - --md-footer-fg-color: var(--md-typeset-color); - --md-footer-fg-color--light: var(--md-typeset-color); - --md-footer-bg-color: var(--md-default-bg-color); - --md-footer-bg-color--dark: var(--md-default-bg-color); - --md-footer-border-color: var(--md-header-border-color); + --md-footer-fg-color: var(--md-typeset-color); + --md-footer-fg-color--light: var(--md-typeset-color); + --md-footer-bg-color: var(--md-default-bg-color); + --md-footer-bg-color--dark: var(--md-default-bg-color); + --md-footer-border-color: var(--md-header-border-color); } .md-footer { - border-top: 1px solid var(--md-footer-border-color); + border-top: 1px solid var(--md-footer-border-color); } .md-copyright { - width: 100%; + width: 100%; } .md-copyright__highlight { - width: 100%; + width: 100%; } .legal-footer-right { - float: right; + float: right; } .md-copyright__highlight div { - display: inline; + display: inline; } diff --git a/docs/src/assets/css/home.css b/docs/src/assets/css/home.css index c72e709..b13eec8 100644 --- a/docs/src/assets/css/home.css +++ b/docs/src/assets/css/home.css @@ -1,335 +1,297 @@ img.home-logo { - height: 120px; + height: 120px; } .home .row { - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - padding: 6rem 0.8rem; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + padding: 6rem 0.8rem; } .home .row:not(.first, .stripe) { - background: var(--row-bg-color); + background: var(--row-bg-color); } .home .row.stripe { - background: var(--row-stripe-bg-color); - border: 0 solid var(--stripe-border-color); - border-top-width: 1px; - border-bottom-width: 1px; + background: var(--row-stripe-bg-color); + border: 0 solid var(--stripe-border-color); + border-top-width: 1px; + border-bottom-width: 1px; } .home .row.first { - text-align: center; + text-align: center; } .home .row h1 { - max-width: 28rem; - line-height: 1.15; - font-weight: 500; - margin-bottom: 0.55rem; - margin-top: -1rem; + max-width: 28rem; + line-height: 1.15; + font-weight: 500; + margin-bottom: 0.55rem; + margin-top: -1rem; } .home .row.first h1 { - margin-top: 0.55rem; - margin-bottom: -0.75rem; + margin-top: 0.55rem; + margin-bottom: -0.75rem; } .home .row > p { - max-width: 35rem; - line-height: 1.5; - font-weight: 400; + max-width: 35rem; + line-height: 1.5; + font-weight: 400; } .home .row.first > p { - font-size: 32px; - font-weight: 500; + font-size: 32px; + font-weight: 500; } /* Code blocks */ .home .row .tabbed-set { - background: var(--home-tabbed-set-bg-color); - margin: 0; + background: var(--home-tabbed-set-bg-color); + margin: 0; } .home .row .tabbed-content { - padding: 20px 18px; - overflow-x: auto; + padding: 20px 18px; + overflow-x: auto; } .home .row .tabbed-content img { - user-select: none; - -moz-user-select: none; - -webkit-user-drag: none; - -webkit-user-select: none; - -ms-user-select: none; - max-width: 580px; + user-select: none; + -moz-user-select: none; + -webkit-user-drag: none; + -webkit-user-select: none; + -ms-user-select: none; + max-width: 580px; } .home .row .tabbed-content { - -webkit-filter: var(--code-block-filter); - filter: var(--code-block-filter); + -webkit-filter: var(--code-block-filter); + filter: var(--code-block-filter); } /* Code examples */ .home .example-container { - background: radial-gradient( - circle at 0% 100%, - rgb(41 84 147 / 11%) 0%, - rgb(22 89 189 / 4%) 70%, - rgb(48 99 175 / 0%) 80% - ), - radial-gradient( - circle at 100% 100%, - rgb(24 87 45 / 55%) 0%, - rgb(29 61 12 / 4%) 70%, - rgb(94 116 93 / 0%) 80% - ), - radial-gradient( - circle at 100% 0%, - rgba(54, 66, 84, 0.55) 0%, - rgb(102 111 125 / 4%) 70%, - rgba(54, 66, 84, 0) 80% - ), - radial-gradient( - circle at 0% 0%, - rgba(91, 114, 135, 0.55) 0%, - rgb(45 111 171 / 4%) 70%, - rgb(5 82 153 / 0%) 80% - ), - rgb(0, 0, 0) center center/cover no-repeat fixed; - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - align-items: center; - border-radius: 16px; - margin: 30px 0; - max-width: 100%; - grid-column-gap: 20px; - padding-left: 20px; - padding-right: 20px; + background: + radial-gradient(circle at 0% 100%, rgb(41 84 147 / 11%) 0%, rgb(22 89 189 / 4%) 70%, rgb(48 99 175 / 0%) 80%), + radial-gradient(circle at 100% 100%, rgb(24 87 45 / 55%) 0%, rgb(29 61 12 / 4%) 70%, rgb(94 116 93 / 0%) 80%), + radial-gradient(circle at 100% 0%, rgba(54, 66, 84, 0.55) 0%, rgb(102 111 125 / 4%) 70%, rgba(54, 66, 84, 0) 80%), + radial-gradient(circle at 0% 0%, rgba(91, 114, 135, 0.55) 0%, rgb(45 111 171 / 4%) 70%, rgb(5 82 153 / 0%) 80%), + rgb(0, 0, 0) center center/cover no-repeat fixed; + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + align-items: center; + border-radius: 16px; + margin: 30px 0; + max-width: 100%; + grid-column-gap: 20px; + padding-left: 20px; + padding-right: 20px; } .home .demo .white-bg { - background: #fff; - border-radius: 16px; - display: flex; - flex-direction: column; - max-width: 590px; - min-width: -webkit-min-content; - min-width: -moz-min-content; - min-width: min-content; - row-gap: 1rem; - padding: 1rem; + background: #fff; + border-radius: 16px; + display: flex; + flex-direction: column; + max-width: 590px; + min-width: -webkit-min-content; + min-width: -moz-min-content; + min-width: min-content; + row-gap: 1rem; + padding: 1rem; } .home .demo .vid-row { - display: flex; - flex-direction: row; - -moz-column-gap: 12px; - column-gap: 12px; + display: flex; + flex-direction: row; + -moz-column-gap: 12px; + column-gap: 12px; } .home .demo { - color: #000; + color: #000; } .home .demo .vid-thumbnail { - background: radial-gradient( - circle at 0% 100%, - rgb(41 84 147 / 55%) 0%, - rgb(22 89 189 / 4%) 70%, - rgb(48 99 175 / 0%) 80% - ), - radial-gradient( - circle at 100% 100%, - rgb(24 63 87 / 55%) 0%, - rgb(29 61 12 / 4%) 70%, - rgb(94 116 93 / 0%) 80% - ), - radial-gradient( - circle at 100% 0%, - rgba(54, 66, 84, 0.55) 0%, - rgb(102 111 125 / 4%) 70%, - rgba(54, 66, 84, 0) 80% - ), - radial-gradient( - circle at 0% 0%, - rgba(91, 114, 135, 0.55) 0%, - rgb(45 111 171 / 4%) 70%, - rgb(5 82 153 / 0%) 80% - ), - rgb(0, 0, 0) center center/cover no-repeat fixed; - width: 9rem; - aspect-ratio: 16 / 9; - border-radius: 8px; - display: flex; - justify-content: center; - align-items: center; + background: + radial-gradient(circle at 0% 100%, rgb(41 84 147 / 55%) 0%, rgb(22 89 189 / 4%) 70%, rgb(48 99 175 / 0%) 80%), + radial-gradient(circle at 100% 100%, rgb(24 63 87 / 55%) 0%, rgb(29 61 12 / 4%) 70%, rgb(94 116 93 / 0%) 80%), + radial-gradient(circle at 100% 0%, rgba(54, 66, 84, 0.55) 0%, rgb(102 111 125 / 4%) 70%, rgba(54, 66, 84, 0) 80%), + radial-gradient(circle at 0% 0%, rgba(91, 114, 135, 0.55) 0%, rgb(45 111 171 / 4%) 70%, rgb(5 82 153 / 0%) 80%), + rgb(0, 0, 0) center center/cover no-repeat fixed; + width: 9rem; + aspect-ratio: 16 / 9; + border-radius: 8px; + display: flex; + justify-content: center; + align-items: center; } .home .demo .vid-text { - display: flex; - flex-direction: column; - justify-content: center; - align-items: flex-start; - width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + width: 100%; } .home .demo h2 { - font-size: 18px; - line-height: 1.375; - margin: 0; - text-align: left; - font-weight: 700; + font-size: 18px; + line-height: 1.375; + margin: 0; + text-align: left; + font-weight: 700; } .home .demo h3 { - font-size: 16px; - line-height: 1.25; - margin: 0; + font-size: 16px; + line-height: 1.25; + margin: 0; } .home .demo p { - font-size: 14px; - line-height: 1.375; - margin: 0; + font-size: 14px; + line-height: 1.375; + margin: 0; } .home .demo .browser-nav-url { - background: rgba(153, 161, 179, 0.2); - border-radius: 9999px; - font-size: 14px; - color: grey; - display: flex; - align-items: center; - justify-content: center; - -moz-column-gap: 5px; - column-gap: 5px; + background: rgba(153, 161, 179, 0.2); + border-radius: 9999px; + font-size: 14px; + color: grey; + display: flex; + align-items: center; + justify-content: center; + -moz-column-gap: 5px; + column-gap: 5px; } .home .demo .browser-navbar { - margin: -1rem; - margin-bottom: 0; - padding: 0.75rem 1rem; - border-bottom: 1px solid darkgrey; + margin: -1rem; + margin-bottom: 0; + padding: 0.75rem 1rem; + border-bottom: 1px solid darkgrey; } .home .demo .browser-viewport { - background: #fff; - border-radius: 16px; - display: flex; - flex-direction: column; - row-gap: 1rem; - height: 400px; - overflow-y: scroll; - margin: -1rem; - padding: 1rem; + background: #fff; + border-radius: 16px; + display: flex; + flex-direction: column; + row-gap: 1rem; + height: 400px; + overflow-y: scroll; + margin: -1rem; + padding: 1rem; } .home .demo .browser-viewport .search-header > h1 { - color: #000; - text-align: left; - font-size: 24px; - margin: 0; + color: #000; + text-align: left; + font-size: 24px; + margin: 0; } .home .demo .browser-viewport .search-header > p { - text-align: left; - font-size: 16px; - margin: 10px 0; + text-align: left; + font-size: 16px; + margin: 10px 0; } .home .demo .search-bar input { - width: 100%; - background: rgba(153, 161, 179, 0.2); - border-radius: 9999px; - padding-left: 40px; - padding-right: 40px; - height: 40px; - color: #000; + width: 100%; + background: rgba(153, 161, 179, 0.2); + border-radius: 9999px; + padding-left: 40px; + padding-right: 40px; + height: 40px; + color: #000; } .home .demo .search-bar svg { - height: 40px; - position: absolute; - transform: translateX(75%); + height: 40px; + position: absolute; + transform: translateX(75%); } .home .demo .search-bar { - position: relative; + position: relative; } /* Desktop Styling */ @media screen and (min-width: 60em) { - .home .row { - text-align: center; - } - .home .row > p { - font-size: 21px; - } - .home .row > h1 { - font-size: 52px; - } - .home .row .pop-left { - margin-left: -20px; - margin-right: 0; - margin-top: -20px; - margin-bottom: -20px; - } - .home .row .pop-right { - margin-left: 0px; - margin-right: 0px; - margin-top: -20px; - margin-bottom: -20px; - } + .home .row { + text-align: center; + } + .home .row > p { + font-size: 21px; + } + .home .row > h1 { + font-size: 52px; + } + .home .row .pop-left { + margin-left: -20px; + margin-right: 0; + margin-top: -20px; + margin-bottom: -20px; + } + .home .row .pop-right { + margin-left: 0px; + margin-right: 0px; + margin-top: -20px; + margin-bottom: -20px; + } } /* Mobile Styling */ @media screen and (max-width: 60em) { - .home .row { - padding: 4rem 0.8rem; - } - .home .row > h1, - .home .row > p { - padding-left: 1rem; - padding-right: 1rem; - } - .home .row.first { - padding-top: 2rem; - } - .home-btns { - width: 100%; - display: grid; - grid-gap: 0.5rem; - gap: 0.5rem; - } - .home .example-container { - display: flex; - flex-direction: column; - row-gap: 20px; - width: 100%; - justify-content: center; - border-radius: 0; - padding: 1rem 0; - } - .home .row { - padding-left: 0; - padding-right: 0; - } - .home .tabbed-set { - width: 100%; - border-radius: 0; - } - .home .demo { - width: 100%; - display: flex; - justify-content: center; - } - .home .demo > .white-bg { - width: 80%; - max-width: 80%; - } + .home .row { + padding: 4rem 0.8rem; + } + .home .row > h1, + .home .row > p { + padding-left: 1rem; + padding-right: 1rem; + } + .home .row.first { + padding-top: 2rem; + } + .home-btns { + width: 100%; + display: grid; + grid-gap: 0.5rem; + gap: 0.5rem; + } + .home .example-container { + display: flex; + flex-direction: column; + row-gap: 20px; + width: 100%; + justify-content: center; + border-radius: 0; + padding: 1rem 0; + } + .home .row { + padding-left: 0; + padding-right: 0; + } + .home .tabbed-set { + width: 100%; + border-radius: 0; + } + .home .demo { + width: 100%; + display: flex; + justify-content: center; + } + .home .demo > .white-bg { + width: 80%; + max-width: 80%; + } } diff --git a/docs/src/assets/css/main.css b/docs/src/assets/css/main.css index 6eefdf2..6ca94b1 100644 --- a/docs/src/assets/css/main.css +++ b/docs/src/assets/css/main.css @@ -1,85 +1,85 @@ /* Variable overrides */ :root { - --reactpy-color: #58b962; - --reactpy-color-dark: #42914a; - --reactpy-color-darker: #34743b; - --reactpy-color-opacity-10: rgba(88, 185, 98, 0.1); + --reactpy-color: #58b962; + --reactpy-color-dark: #42914a; + --reactpy-color-darker: #34743b; + --reactpy-color-opacity-10: rgba(88, 185, 98, 0.1); } [data-md-color-accent="red"] { - --md-primary-fg-color--light: var(--reactpy-color); - --md-primary-fg-color--dark: var(--reactpy-color-dark); + --md-primary-fg-color--light: var(--reactpy-color); + --md-primary-fg-color--dark: var(--reactpy-color-dark); } [data-md-color-scheme="slate"] { - --md-default-bg-color: rgb(35, 39, 47); - --md-default-bg-color--light: hsla(var(--md-hue), 15%, 16%, 0.54); - --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 16%, 0.26); - --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 16%, 0.07); - --md-primary-fg-color: var(--md-default-bg-color); - --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1); - --md-default-fg-color--light: #fff; - --md-typeset-a-color: var(--reactpy-color); - --md-accent-fg-color: var(--reactpy-color-dark); + --md-default-bg-color: rgb(35, 39, 47); + --md-default-bg-color--light: hsla(var(--md-hue), 15%, 16%, 0.54); + --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 16%, 0.26); + --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 16%, 0.07); + --md-primary-fg-color: var(--md-default-bg-color); + --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1); + --md-default-fg-color--light: #fff; + --md-typeset-a-color: var(--reactpy-color); + --md-accent-fg-color: var(--reactpy-color-dark); } [data-md-color-scheme="default"] { - --md-primary-fg-color: var(--md-default-bg-color); - --md-default-fg-color--light: #000; - --md-default-fg-color--lighter: #0000007e; - --md-default-fg-color--lightest: #00000029; - --md-typeset-color: rgb(35, 39, 47); - --md-typeset-a-color: var(--reactpy-color); - --md-accent-fg-color: var(--reactpy-color-dark); + --md-primary-fg-color: var(--md-default-bg-color); + --md-default-fg-color--light: #000; + --md-default-fg-color--lighter: #0000007e; + --md-default-fg-color--lightest: #00000029; + --md-typeset-color: rgb(35, 39, 47); + --md-typeset-a-color: var(--reactpy-color); + --md-accent-fg-color: var(--reactpy-color-dark); } /* Font changes */ .md-typeset { - font-weight: 300; + font-weight: 300; } .md-typeset h1 { - font-weight: 600; - margin: 0; - font-size: 2.5em; + font-weight: 600; + margin: 0; + font-size: 2.5em; } .md-typeset h2 { - font-weight: 500; + font-weight: 500; } .md-typeset h3 { - font-weight: 400; + font-weight: 400; } /* Intro section styling */ p.intro { - font-size: 0.9rem; - font-weight: 500; + font-size: 0.9rem; + font-weight: 500; } /* Hide "Overview" jump selector */ h2#overview { - visibility: hidden; - height: 0; - margin: 0; - padding: 0; + visibility: hidden; + height: 0; + margin: 0; + padding: 0; } /* Reduce size of the outdated banner */ .md-banner__inner { - margin: 0.45rem auto; + margin: 0.45rem auto; } /* Desktop Styles */ @media screen and (min-width: 60em) { - /* Remove max width on desktop */ - .md-grid { - max-width: none; - } + /* Remove max width on desktop */ + .md-grid { + max-width: none; + } } /* Max size of page content */ .md-content { - max-width: 56rem; + max-width: 56rem; } diff --git a/docs/src/assets/css/navbar.css b/docs/src/assets/css/navbar.css index 33e8b14..8d47684 100644 --- a/docs/src/assets/css/navbar.css +++ b/docs/src/assets/css/navbar.css @@ -1,185 +1,185 @@ [data-md-color-scheme="slate"] { - --md-header-border-color: rgb(255 255 255 / 5%); - --md-version-bg-color: #ffffff0d; + --md-header-border-color: rgb(255 255 255 / 5%); + --md-version-bg-color: #ffffff0d; } [data-md-color-scheme="default"] { - --md-header-border-color: rgb(0 0 0 / 7%); - --md-version-bg-color: #ae58ee2e; + --md-header-border-color: rgb(0 0 0 / 7%); + --md-version-bg-color: #ae58ee2e; } .md-header { - border: 0 solid transparent; - border-bottom-width: 1px; + border: 0 solid transparent; + border-bottom-width: 1px; } .md-header--shadow { - box-shadow: none; - border-color: var(--md-header-border-color); - transition: border-color 0.35s cubic-bezier(0.1, 0.7, 0.1, 1); + box-shadow: none; + border-color: var(--md-header-border-color); + transition: border-color 0.35s cubic-bezier(0.1, 0.7, 0.1, 1); } /* Version selector */ .md-header__topic .md-ellipsis, .md-header__title [data-md-component="header-topic"] { - display: none; + display: none; } [dir="ltr"] .md-version__current { - margin: 0; + margin: 0; } .md-version__list { - margin: 0; - left: 0; - right: 0; - top: 2.5rem; + margin: 0; + left: 0; + right: 0; + top: 2.5rem; } .md-version { - background: var(--md-version-bg-color); - border-radius: 999px; - padding: 0 0.8rem; - margin: 0.3rem 0; - height: 1.8rem; - display: flex; - font-size: 0.7rem; + background: var(--md-version-bg-color); + border-radius: 999px; + padding: 0 0.8rem; + margin: 0.3rem 0; + height: 1.8rem; + display: flex; + font-size: 0.7rem; } /* Mobile Styling */ @media screen and (max-width: 60em) { - label.md-header__button.md-icon[for="__drawer"] { - order: 1; - } - .md-header__button.md-logo { - display: initial; - order: 2; - margin-right: auto; - } - .md-header__title { - order: 3; - } - .md-header__button[for="__search"] { - order: 4; - } - .md-header__option[data-md-component="palette"] { - order: 5; - } - .md-header__source { - display: initial; - order: 6; - } - .md-header__source .md-source__repository { - display: none; - } + label.md-header__button.md-icon[for="__drawer"] { + order: 1; + } + .md-header__button.md-logo { + display: initial; + order: 2; + margin-right: auto; + } + .md-header__title { + order: 3; + } + .md-header__button[for="__search"] { + order: 4; + } + .md-header__option[data-md-component="palette"] { + order: 5; + } + .md-header__source { + display: initial; + order: 6; + } + .md-header__source .md-source__repository { + display: none; + } } /* Desktop Styling */ @media screen and (min-width: 60em) { - /* Nav container */ - nav.md-header__inner { - display: contents; - } - header.md-header { - display: flex; - align-items: center; - } - - /* Logo */ - .md-header__button.md-logo { - order: 1; - padding-right: 0.4rem; - padding-top: 0; - padding-bottom: 0; - } - .md-header__button.md-logo img { - height: 2rem; - } - - /* Version selector */ - [dir="ltr"] .md-header__title { - order: 2; - margin: 0; - margin-right: 0.8rem; - margin-left: 0.2rem; - flex-grow: 0; - } - .md-header__topic { - position: relative; - } - .md-header__title--active .md-header__topic { - transform: none; - opacity: 1; - pointer-events: auto; - z-index: 4; - } - - /* Search */ - .md-search { - order: 3; - width: 100%; - margin-right: 0.6rem; - } - .md-search__inner { - width: 100%; - float: unset !important; - } - .md-search__form { - border-radius: 9999px; - } - [data-md-toggle="search"]:checked ~ .md-header .md-header__option { - max-width: unset; - opacity: unset; - transition: unset; - } - - /* Tabs */ - .md-tabs { - order: 4; - min-width: -webkit-fit-content; - min-width: -moz-fit-content; - min-width: fit-content; - width: -webkit-fit-content; - width: -moz-fit-content; - width: fit-content; - z-index: -1; - overflow: visible; - border: none !important; - } - li.md-tabs__item.md-tabs__item--active { - background: var(--reactpy-color-opacity-10); - border-radius: 9999px; - color: var(--md-typeset-a-color); - } - .md-tabs__link { - margin: 0; - } - .md-tabs__item { - height: 1.8rem; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - } - - /* Dark/Light Selector */ - .md-header__option[data-md-component="palette"] { - order: 5; - } - - /* GitHub info */ - .md-header__source { - order: 6; - margin-left: 0 !important; - } + /* Nav container */ + nav.md-header__inner { + display: contents; + } + header.md-header { + display: flex; + align-items: center; + } + + /* Logo */ + .md-header__button.md-logo { + order: 1; + padding-right: 0.4rem; + padding-top: 0; + padding-bottom: 0; + } + .md-header__button.md-logo img { + height: 2rem; + } + + /* Version selector */ + [dir="ltr"] .md-header__title { + order: 2; + margin: 0; + margin-right: 0.8rem; + margin-left: 0.2rem; + flex-grow: 0; + } + .md-header__topic { + position: relative; + } + .md-header__title--active .md-header__topic { + transform: none; + opacity: 1; + pointer-events: auto; + z-index: 4; + } + + /* Search */ + .md-search { + order: 3; + width: 100%; + margin-right: 0.6rem; + } + .md-search__inner { + width: 100%; + float: unset !important; + } + .md-search__form { + border-radius: 9999px; + } + [data-md-toggle="search"]:checked ~ .md-header .md-header__option { + max-width: unset; + opacity: unset; + transition: unset; + } + + /* Tabs */ + .md-tabs { + order: 4; + min-width: -webkit-fit-content; + min-width: -moz-fit-content; + min-width: fit-content; + width: -webkit-fit-content; + width: -moz-fit-content; + width: fit-content; + z-index: -1; + overflow: visible; + border: none !important; + } + li.md-tabs__item.md-tabs__item--active { + background: var(--reactpy-color-opacity-10); + border-radius: 9999px; + color: var(--md-typeset-a-color); + } + .md-tabs__link { + margin: 0; + } + .md-tabs__item { + height: 1.8rem; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + } + + /* Dark/Light Selector */ + .md-header__option[data-md-component="palette"] { + order: 5; + } + + /* GitHub info */ + .md-header__source { + order: 6; + margin-left: 0 !important; + } } /* Ultrawide Desktop Styles */ @media screen and (min-width: 1919px) { - .md-search { - order: 2; - width: 100%; - max-width: 34.4rem; - margin: 0 auto; - } + .md-search { + order: 2; + width: 100%; + max-width: 34.4rem; + margin: 0 auto; + } } diff --git a/docs/src/assets/css/sidebar.css b/docs/src/assets/css/sidebar.css index b6507d9..094ac43 100644 --- a/docs/src/assets/css/sidebar.css +++ b/docs/src/assets/css/sidebar.css @@ -1,104 +1,103 @@ :root { - --sizebar-font-size: 0.62rem; + --sizebar-font-size: 0.62rem; + --sizebar-font-size-2: 0.56rem; } .md-nav__link { - word-break: break-word; + word-break: break-word; +} + +/* Center the docs content */ +.md-content { + justify-self: center; + width: 100%; + margin: 0 auto; } /* Desktop Styling */ @media screen and (min-width: 76.1875em) { - /* Move the sidebar and TOC to the edge of the page */ - .md-main__inner.md-grid { - margin-left: 0; - margin-right: 0; - max-width: unset; - display: grid; - grid-template-columns: auto 1fr auto; - } - - .md-content { - justify-self: center; - width: 100%; - } - /* Made the sidebar buttons look React-like */ - .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link { - text-transform: uppercase; - } - - .md-nav__title[for="__toc"] { - text-transform: uppercase; - margin: 0.5rem; - } - - .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link { - color: rgb(133, 142, 159); - margin: 0.5rem; - } - - .md-nav__item .md-nav__link { - position: relative; - } - - .md-nav__link:is(:focus, :hover):not(.md-nav__link--active) { - color: unset; - } - - .md-nav__item - .md-nav__link:is(:focus, :hover):not(.md-nav__link--active):before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: 0.2; - z-index: -1; - background: grey; - } - - .md-nav__item .md-nav__link--active:before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: -1; - background: var(--reactpy-color-opacity-10); - } - - .md-nav__link { - padding: 0.5rem 0.5rem 0.5rem 1rem; - margin: 0; - border-radius: 0 10px 10px 0; - font-weight: 500; - overflow: hidden; - font-size: var(--sizebar-font-size); - } + /* Move the sidebar and TOC to the edge of the page */ + .md-main__inner.md-grid { + margin-left: 0; + margin-right: 0; + max-width: unset; + display: grid; + grid-template-columns: auto 1fr auto; + } + [dir="ltr"] .md-nav--primary > .md-nav__list { + padding-left: 0; + } - .md-sidebar__scrollwrap { - margin: 0; - } + /* Btn section (title) */ + .md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav__link { + text-transform: uppercase; + color: rgb(133, 142, 159); + background: transparent; + box-shadow: none; + } - [dir="ltr"] - .md-nav--lifted - .md-nav[data-md-level="1"] - > .md-nav__list - > .md-nav__item { - padding: 0; - } + /* Btn hover styling */ + .md-nav__item .md-nav__link { + position: relative; + } + .md-nav__link:is(:focus, :hover):not(.md-nav__link--active) { + color: unset; + } + .md-nav__item .md-nav__link:is(:focus, :hover):not(.md-nav__link--active):before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0.2; + z-index: -1; + background: grey; + } - .md-nav__item--nested .md-nav__item .md-nav__item { - padding: 0; - } + /* Btn currently selected */ + .md-nav__item .md-nav__link--active:before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; + background: var(--reactpy-color-opacity-10); + } - .md-nav__item--nested .md-nav__item .md-nav__item .md-nav__link { - font-weight: 300; - } + /* Btn shape & font */ + .md-nav__link { + padding: 0.5rem 0.5rem 0.5rem 1rem; + margin: 0; + border-radius: 0 10px 10px 0; + font-weight: 500; + overflow: hidden; + font-size: var(--sizebar-font-size); + } + .md-sidebar__scrollwrap { + margin: 0; + } + .md-nav__item--nested .md-nav__item .md-nav__item .md-nav__link { + font-weight: 300; + font-size: var(--sizebar-font-size-2); + } + [dir="ltr"] .md-nav--primary .md-nav__list { + padding: 0; + } + [dir="ltr"] .md-nav--lifted > .md-nav__list > .md-nav__item > .md-nav:not(.md-nav--secondary) { + margin-left: 0; + } + .md-nav { + margin: 0; + } + .md-nav__toggle ~ .md-nav { + grid-template-rows: minmax(0rem, 0fr); + } - .md-nav__item--nested .md-nav__item .md-nav__item .md-nav__link { - font-weight: 400; - padding-left: 1.25rem; - } + /* Collapse icon */ + .md-nav__icon:hover { + background: transparent; + } } diff --git a/docs/src/assets/css/table-of-contents.css b/docs/src/assets/css/table-of-contents.css index 6c94f06..b524a19 100644 --- a/docs/src/assets/css/table-of-contents.css +++ b/docs/src/assets/css/table-of-contents.css @@ -1,48 +1,61 @@ /* Table of Contents styling */ @media screen and (min-width: 60em) { - [data-md-component="sidebar"] .md-nav__title[for="__toc"] { - text-transform: uppercase; - margin: 0.5rem; - margin-left: 0; - font-size: var(--sizebar-font-size); - } - - [data-md-component="toc"] .md-nav__item .md-nav__link--active { - position: relative; - } - - [data-md-component="toc"] .md-nav__item .md-nav__link--active:before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: 0.15; - z-index: -1; - background: var(--md-typeset-a-color); - } - - [data-md-component="toc"] .md-nav__link { - padding: 0.5rem 0.5rem; - margin: 0; - border-radius: 10px 0 0 10px; - font-weight: 400; - } - - [data-md-component="toc"] - .md-nav__item - .md-nav__list - .md-nav__item - .md-nav__link { - padding-left: 1.25rem; - } - - [dir="ltr"] .md-sidebar__inner { - padding: 0; - } - - .md-nav__item { - padding: 0; - } + .md-nav__title[for="__toc"] { + text-transform: uppercase; + color: rgb(133, 142, 159); + } + [data-md-component="sidebar"] .md-nav__title[for="__toc"] { + text-transform: uppercase; + margin: 0.5rem; + margin-left: 0; + font-size: var(--sizebar-font-size); + } + + [data-md-component="toc"] .md-nav__item .md-nav__link--active { + position: relative; + } + + [data-md-component="toc"] .md-nav__item .md-nav__link--active:before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0.15; + z-index: -1; + background: var(--md-typeset-a-color); + } + + [data-md-component="toc"] .md-nav__link { + padding: 0.5rem 0.5rem; + padding-right: 0; + margin: 0; + border-radius: 10px 0 0 10px; + font-weight: 400; + } + + [dir="ltr"] .md-nav--secondary .md-nav__item > .md-nav__link { + margin-right: 0; + padding-right: 0.4rem; + } + + [data-md-component="toc"] .md-nav__item .md-nav__list .md-nav__item .md-nav__link { + padding-left: 1.25rem; + } + + [dir="ltr"] .md-sidebar__inner { + padding: 0; + } + + .md-nav__item { + padding: 0; + } +} + +/* Hide the toc as soon as the left sidebar is collapsed into the hamburger menu */ +@media screen and (max-width: 76.1875em) { + .md-sidebar--secondary:not([hidden]) { + display: none; + } } diff --git a/src/reactpy_router/__init__.py b/src/reactpy_router/__init__.py index add1e5d..5736183 100644 --- a/src/reactpy_router/__init__.py +++ b/src/reactpy_router/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.0.0" +__version__ = "3.0.0b1" from reactpy_router.components import link, navigate, route