From f52dde195662b14fed85285f394dad52234352bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Hernang=C3=B3mez=20Herrero?= Date: Mon, 19 Oct 2026 20:52:02 +0000 Subject: [PATCH 1/3] Improve CSS contrast, responsive layout, and reduced motion support --- NEWS.md | 5 +- data-raw/compress_css.R | 20 +- inst/brand_yml/_brand.yml | 1 + inst/pkgdown/_pkgdown.yml | 1 + inst/pkgdown/assets/BS5/gitdevr.css | 426 ++++++++---------------- inst/pkgdown/assets/BS5/gitdevr.min.css | 2 +- tests/testthat/test-template-brand.R | 10 +- tests/testthat/test-template-css.R | 52 ++- 8 files changed, 227 insertions(+), 290 deletions(-) diff --git a/NEWS.md b/NEWS.md index 961e70d..adf7e68 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,8 @@ # gitdevr 0.0.0.9000 -- Code blocks now use the GitHub palette in light mode and One Dark in dark mode, matching the Chulapa highlighters. +- Code blocks now use the GitHub palette in light mode and One Dark in dark mode, with small adjustments to comments and One Dark names for accessible contrast. +- Navigation hover and focus states have improved contrast, and linked code tokens retain their underline. +- Footer backgrounds span the page without widening its layout, and mobile code blocks scroll within their containers. +- Page transitions and callout icon animations respect reduced motion preferences. - The package is in active development. - `test()` now returns `NULL` invisibly, as documented. diff --git a/data-raw/compress_css.R b/data-raw/compress_css.R index fe8793f..98f725f 100644 --- a/data-raw/compress_css.R +++ b/data-raw/compress_css.R @@ -1,9 +1,25 @@ # Compress CSS with `sass`. library(sass) -lns <- readLines("inst/pkgdown/assets/BS5/gitdevr.css") +source_path <- "inst/pkgdown/assets/BS5/gitdevr.css" +lns <- paste(readLines(source_path), collapse = "\n") +palette <- yaml::read_yaml("inst/brand_yml/_brand.yml")$color$palette +names(palette) <- gsub("-", "_", names(palette), fixed = TRUE) -# writeLines(lns, "inst/pkgdown/assets/BS5/gitdevr.min.css") +# Keep Bootstrap's RGB utilities in sync with the same brand colors. +pattern <- "--bs-[a-z0-9-]+: var\\(--brand-[a-z0-9_]+\\);" +declarations <- regmatches(lns, gregexpr(pattern, lns))[[1]] +for (declaration in declarations) { + property <- sub(":.*", "", declaration) + color <- sub(".*--brand-([a-z0-9_]+)\\);", "\\1", declaration) + channels <- paste(grDevices::col2rgb(palette[[color]])[, 1], collapse = ", ") + lns <- gsub( + paste0(property, "-rgb: [^;]+;"), + paste0(property, "-rgb: ", channels, ";"), + lns + ) +} +writeLines(lns, source_path) sass( lns, diff --git a/inst/brand_yml/_brand.yml b/inst/brand_yml/_brand.yml index b5430b1..8bda68e 100644 --- a/inst/brand_yml/_brand.yml +++ b/inst/brand_yml/_brand.yml @@ -33,6 +33,7 @@ color: footer-text: "#8b949e" footer-link: "#58a6ff" dk-dark: "#343a40" + dk-body: "#24292f" dk-black: "#373e47" dk-border: "#6a788a" dk-gray: "#a8b3c1" diff --git a/inst/pkgdown/_pkgdown.yml b/inst/pkgdown/_pkgdown.yml index 8ff680e..95b0cab 100644 --- a/inst/pkgdown/_pkgdown.yml +++ b/inst/pkgdown/_pkgdown.yml @@ -30,6 +30,7 @@ template: footer-text: "#8b949e" footer-link: "#58a6ff" dk-dark: "#343a40" + dk-body: "#24292f" dk-black: "#373e47" dk-border: "#6a788a" dk-gray: "#a8b3c1" diff --git a/inst/pkgdown/assets/BS5/gitdevr.css b/inst/pkgdown/assets/BS5/gitdevr.css index 32bcc45..817a240 100644 --- a/inst/pkgdown/assets/BS5/gitdevr.css +++ b/inst/pkgdown/assets/BS5/gitdevr.css @@ -1,10 +1,10 @@ -/*! Compressed with sass R library https: //rstudio.github.io/sass/*/ +/*! Minified with sass; RGB companions are generated from the brand palette. */ [data-bs-theme="dark"] { color-scheme: dark; - --bs-body-bg: #24292f; + --bs-body-bg: var(--brand-dk_body); --bs-body-bg-rgb: 36, 41, 47; - --bs-body-color: #fff; + --bs-body-color: var(--brand-white); --bs-body-color-rgb: 255, 255, 255; --bs-gray-500: var(--brand-dk_gray); @@ -13,10 +13,10 @@ --bs-blue-color: var(--brand-dk_blue); --bs-blue-color-rgb: 121, 184, 255; - --bs-primary: #383d43; - --bs-primary-rgb: 56.1, 60.6, 66.9; - --bs-primary-color: #383d43; - --bs-primary-color-rgb: 56.1, 60.6, 66.9; + --bs-primary: var(--brand-dk_black); + --bs-primary-rgb: 55, 62, 71; + --bs-primary-color: var(--brand-dk_black); + --bs-primary-color-rgb: 55, 62, 71; --bs-secondary: var(--brand-dk_gray); --bs-secondary-rgb: 168, 179, 193; @@ -42,14 +42,14 @@ --bs-danger-color: var(--brand-dk_red); --bs-danger-color-rgb: 238, 143, 149; - --bs-light: #f8f9fa; + --bs-light: var(--brand-light); --bs-light-rgb: 248, 249, 250; - --bs-light-color: #f8f9fa; + --bs-light-color: var(--brand-light); --bs-light-color-rgb: 248, 249, 250; - --bs-dark: #343a40; + --bs-dark: var(--brand-dk_dark); --bs-dark-rgb: 52, 58, 64; - --bs-dark-color: #343a40; + --bs-dark-color: var(--brand-dk_dark); --bs-dark-color-rgb: 52, 58, 64; --bs-link: var(--brand-dk_blue); @@ -57,10 +57,8 @@ --bs-link-color: var(--brand-dk_blue); --bs-link-color-rgb: 121, 184, 255; - --bs-link-hover: #a8d1ff; - --bs-link-hover-rgb: 168, 209, 255; - --bs-link-hover-color: #a8d1ff; - --bs-link-hover-color-rgb: 168, 209, 255; + --bs-link-hover: color-mix(in srgb, var(--bs-link-color) 70%, white); + --bs-link-hover-color: var(--bs-link-hover); --bs-code-color: var(--brand-dk_code); } @@ -154,22 +152,35 @@ mark, } /* ---Nav pills--- */ +.nav-pills, +.nav-tabs { + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); +} + .nav-item .nav-link:hover, -.nav-pills .nav-link.active:hover { +.nav-pills .nav-link:focus-visible { background-color: rgba(var(--bs-body-color-rgb), 0.08); - color: var(--brand-dk_gray); + color: var(--bs-link-hover-color); +} + +/* Keep active pills legible against their filled background. */ +.nav-pills .nav-link.active:hover, +.nav-pills .nav-link.active:focus-visible { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); } /* ---Footer--- */ footer { --gitdevr-footer-bg: var(--brand-footer_bg); - width: 100vw; - position: relative; - left: 50%; - right: 50%; - margin-left: -50vw; - margin-right: -50vw; + padding-bottom: 1rem; margin-bottom: 0; + /* Extend only the painted background, keeping the container width. */ + border-image: linear-gradient( + var(--gitdevr-footer-bg), + var(--gitdevr-footer-bg) + ) fill 0 / 0 / 0 100vw; font-family: "Inter Tight", Roboto; font-weight: 700; background-color: var(--gitdevr-footer-bg) !important; @@ -195,67 +206,25 @@ footer a:focus { ); } +footer .pkgdown-footer-left, footer .pkgdown-footer-right { - margin-right: auto; - padding-right: 1.25rem; -} - -footer .pkgdown-footer-left { - margin-left: auto; - padding-left: 1.25rem; -} - -@media screen and (max-width: 576px) { - footer .pkgdown-footer-right, - footer .pkgdown-footer-left { - margin-right: 0.75rem; - margin-left: 0.75rem; - padding-left: 12px; - padding-right: 12px; - } -} - -@media (max-width: 768px) and (min-width: 576px) { - footer .pkgdown-footer-right, - footer .pkgdown-footer-left { - max-width: 270px; - } -} - -@media (max-width: 992px) and (min-width: 768px) { - footer .pkgdown-footer-right, - footer .pkgdown-footer-left { - max-width: 360px; - } + flex: 1 1 0; + min-width: 0; + overflow-wrap: anywhere; } -@media (max-width: 1200px) and (min-width: 992px) { - footer .pkgdown-footer-right, - footer .pkgdown-footer-left { - max-width: 480px; - } -} +/* ---Misc--- */ -@media (max-width: 1400px) and (min-width: 1200px) { - footer .pkgdown-footer-right, - footer .pkgdown-footer-left { - max-width: 570px; +@media (prefers-reduced-motion: no-preference) { + @view-transition { + navigation: auto; } -} -@media (min-width: 1400px) { - footer .pkgdown-footer-right, - footer .pkgdown-footer-left { - max-width: 660px; + .callout .callout-btn-toggle .callout-toggle::before { + transition: transform 0.2s linear; } } -/* ---Misc--- */ - -@view-transition { - navigation: auto; -} - img.logo { display: none; } @@ -340,33 +309,17 @@ code { word-wrap: break-word; } -@media (max-width: 575.98px) { - /* See https://github.com/r-lib/pkgdown/pull/2970 */ - - /* Need to override pkgdown */ - .btn-copy-ex { - right: 5px; - } - - div > pre { - border-radius: 0; - } - - :not(li, blockquote) > div > pre { - margin-left: calc(var(--bs-gutter-x) * -0.5); - margin-right: calc(var(--bs-gutter-x) * -0.5); - padding-left: 1rem; - padding-right: 1rem; - } - - :not(li, blockquote) > div > .btn-copy-ex { - right: calc(var(--bs-gutter-x) * -0.5 + 5px); - } +/* Keep long code scrollable inside columns, lists, and callouts. */ +main, +main .sourceCode, +main .cell, +main .callout-body-container { + min-width: 0; +} - .code-with-filename { - margin-right: calc(var(--bs-gutter-x) * 0.5); - margin-left: calc(var(--bs-gutter-x) * 0.5); - } +main pre { + max-width: 100%; + overflow-x: auto; } /* --- Inherited args --- */ @@ -377,11 +330,12 @@ code { /* --- Syntax highlighting: Chulapa github (light) and one.dark (dark). --- */ /* Palettes: https://github.com/dieghernan/chulapa/tree/main/_sass/highlight - * Adapted from Rouge tokens to Pandoc/downlit classes used by pkgdown. */ + * Adapted from Rouge tokens to Pandoc/downlit classes used by pkgdown. + * Comments and One Dark names are adjusted to meet 4.5:1 contrast. */ pre { --gitdevr-hl-bg: #f6f8fa; --gitdevr-hl-fg: #24292f; - --gitdevr-hl-comment: #6e7781; + --gitdevr-hl-comment: #6a737d; --gitdevr-hl-keyword: #cf222e; --gitdevr-hl-number: #0550ae; --gitdevr-hl-constant: #0550ae; @@ -402,7 +356,7 @@ pre { [data-bs-theme="dark"] pre { --gitdevr-hl-bg: #282c34; --gitdevr-hl-fg: #abb2bf; - --gitdevr-hl-comment: #7f848e; + --gitdevr-hl-comment: #8e939d; --gitdevr-hl-keyword: #c678dd; --gitdevr-hl-number: #d19a66; --gitdevr-hl-constant: #e5c07b; @@ -411,8 +365,8 @@ pre { --gitdevr-hl-string: #98c379; --gitdevr-hl-function: #61afef; --gitdevr-hl-operator: #56b6c2; - --gitdevr-hl-variable: #e06c75; - --gitdevr-hl-attribute: #e06c75; + --gitdevr-hl-variable: #e37079; + --gitdevr-hl-attribute: #e37079; --gitdevr-hl-error: #abb2bf; --gitdevr-hl-error-bg: transparent; color: var(--gitdevr-hl-fg); @@ -562,6 +516,17 @@ pre code :is(span, a).wa, font-weight: bold; } +pre code a:any-link, +[data-bs-theme="dark"] pre code a:any-link { + text-decoration: underline; + text-underline-offset: 0.15em; +} + +pre code a:focus-visible { + outline: 2px solid currentColor; + outline-offset: 2px; +} + /* Dark reactable */ [data-bs-theme="dark"] { @@ -821,10 +786,6 @@ pre code :is(span, a).wa, margin-top: 5px; } -.callout .callout-btn-toggle .callout-toggle::before { - transition: transform 0.2s linear; -} - .callout .callout-header[aria-expanded="false"] .callout-toggle::before { transform: rotate(-90deg); } @@ -1011,216 +972,125 @@ div.callout-body-container.callout-body .btn-copy-ex { width: 1px; } -/* --- Buttons in dark mode--- */ +/* --- Buttons in dark mode: derive every state from the semantic palette. --- */ [data-bs-theme="dark"] { .btn-default { - --bs-btn-color: #373e47; - --bs-btn-bg: #c3c5c8; - --bs-btn-border-color: #c3c5c8; - --bs-btn-hover-color: #373e47; - --bs-btn-hover-bg: #ccced0; - --bs-btn-hover-border-color: #c9cbce; - --bs-btn-focus-shadow-rgb: 174, 177, 181; - --bs-btn-active-color: #373e47; - --bs-btn-active-bg: #cfd1d3; - --bs-btn-active-border-color: #c9cbce; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: #373e47; - --bs-btn-disabled-bg: #c3c5c8; - --bs-btn-disabled-border-color: #c3c5c8; + --gitdevr-btn-bg: var(--brand-dk_gray); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb); } .btn-primary { - --bs-btn-bg: var(--bs-primary-color); - --bs-btn-border-color: var(--bs-primary-color); - --bs-btn-hover-bg: #303439; - --bs-btn-hover-border-color: #2d3136; - --bs-btn-focus-shadow-rgb: 86, 90, 95; - --bs-btn-active-bg: #2d3136; - --bs-btn-active-border-color: #2a2e32; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-bg: var(--bs-primary-color); - --bs-btn-disabled-border-color: var(--bs-primary-color); + --gitdevr-btn-bg: var(--bs-primary-color); + --gitdevr-btn-fg: var(--bs-body-color); + --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb); } .btn-success { - --bs-btn-bg: var(--bs-success-color); - --bs-btn-border-color: var(--bs-success-color); - --bs-btn-hover-bg: #4db269; - --bs-btn-hover-border-color: #42ad60; - --bs-btn-focus-shadow-rgb: 47, 149, 77; - --bs-btn-active-bg: #57b671; - --bs-btn-active-border-color: #42ad60; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-bg: var(--bs-success-color); - --bs-btn-disabled-border-color: var(--bs-success-color); + --gitdevr-btn-bg: var(--bs-success-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-success-rgb); } .btn-info { - --bs-btn-bg: var(--bs-info-color); - --bs-btn-border-color: var(--bs-info-color); - --bs-btn-hover-bg: #a698c8; - --bs-btn-hover-border-color: #a192c5; - --bs-btn-focus-shadow-rgb: 136, 123, 172; - --bs-btn-active-bg: #ab9ecb; - --bs-btn-active-border-color: #a192c5; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-bg: var(--bs-info-color); - --bs-btn-disabled-border-color: var(--bs-info-color); + --gitdevr-btn-bg: var(--bs-info-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-info-rgb); } .btn-warning { - --bs-btn-color: #22272e; - --bs-btn-bg: var(--bs-warning-color); - --bs-btn-border-color: var(--bs-warning-color); - --bs-btn-hover-color: #22272e; - --bs-btn-hover-bg: #dab44c; - --bs-btn-hover-border-color: #d8b041; - --bs-btn-focus-shadow-rgb: 188, 151, 48; - --bs-btn-active-color: #22272e; - --bs-btn-active-bg: #ddb956; - --bs-btn-active-border-color: #d8b041; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: #22272e; - --bs-btn-disabled-bg: var(--bs-warning-color); - --bs-btn-disabled-border-color: var(--bs-warning-color); + --gitdevr-btn-bg: var(--bs-warning-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb); } .btn-danger { - --bs-btn-bg: var(--bs-danger-color); - --bs-btn-border-color: var(--bs-danger-color); - --bs-btn-hover-bg: #de858a; - --bs-btn-hover-border-color: #dc7d83; - --bs-btn-focus-shadow-rgb: 192, 104, 110; - --bs-btn-active-bg: #e08c91; - --bs-btn-active-border-color: #dc7d83; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-bg: var(--bs-danger-color); - --bs-btn-disabled-border-color: var(--bs-danger-color); + --gitdevr-btn-bg: var(--bs-danger-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb); + } + + .btn-default, + .btn-primary, + .btn-success, + .btn-info, + .btn-warning, + .btn-danger { + --bs-btn-color: var(--gitdevr-btn-fg); + --bs-btn-bg: var(--gitdevr-btn-bg); + --bs-btn-border-color: var(--gitdevr-btn-bg); + --bs-btn-hover-color: var(--gitdevr-btn-fg); + --bs-btn-hover-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 85%, white); + --bs-btn-hover-border-color: var(--bs-btn-hover-bg); + --bs-btn-active-color: var(--gitdevr-btn-fg); + --bs-btn-active-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 80%, white); + --bs-btn-active-border-color: var(--bs-btn-active-bg); + --bs-btn-disabled-color: var(--gitdevr-btn-fg); + --bs-btn-disabled-bg: var(--gitdevr-btn-bg); + --bs-btn-disabled-border-color: var(--gitdevr-btn-bg); } .btn-outline-default { - --bs-btn-color: #c3c5c8; - --bs-btn-border-color: #c3c5c8; - --bs-btn-hover-color: #373e47; - --bs-btn-hover-bg: #c3c5c8; - --bs-btn-hover-border-color: #c3c5c8; - --bs-btn-focus-shadow-rgb: 195, 197, 200; - --bs-btn-active-color: #373e47; - --bs-btn-active-bg: #c3c5c8; - --bs-btn-active-border-color: #c3c5c8; - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: #c3c5c8; - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: #c3c5c8; - --bs-btn-bg: transparent; - --bs-gradient: none; + --gitdevr-btn-bg: var(--brand-dk_gray); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb); } .btn-outline-primary { - --bs-btn-color: var(--bs-link-color); - --bs-btn-border-color: var(--bs-link-color); - --bs-btn-hover-color: var(--bs-body-bg); - --bs-btn-hover-bg: var(--bs-link-color); - --bs-btn-hover-border-color: var(--bs-link-color); + --gitdevr-btn-bg: var(--bs-link-color); + --gitdevr-btn-fg: var(--bs-body-bg); --bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb); - --bs-btn-active-color: var(--bs-body-bg); - --bs-btn-active-bg: var(--bs-link-color); - --bs-btn-active-border-color: var(--bs-link-color); - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: var(--bs-link-color); - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: var(--bs-link-color); - --bs-btn-bg: transparent; - --bs-gradient: none; } .btn-outline-success { - --bs-btn-color: var(--bs-success-color); - --bs-btn-border-color: var(--bs-success-color); - --bs-btn-hover-bg: var(--bs-success-color); - --bs-btn-hover-border-color: var(--bs-success-color); - --bs-btn-focus-shadow-rgb: 45, 164, 78; - --bs-btn-active-bg: var(--bs-success-color); - --bs-btn-active-border-color: var(--bs-success-color); - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: var(--bs-success-color); - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: var(--bs-success-color); - --bs-btn-bg: transparent; - --bs-gradient: none; + --gitdevr-btn-bg: var(--bs-success-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-success-rgb); } .btn-outline-info { - --bs-btn-color: var(--bs-info-color); - --bs-btn-border-color: var(--bs-info-color); - --bs-btn-hover-bg: var(--bs-info-color); - --bs-btn-hover-border-color: var(--bs-info-color); - --bs-btn-focus-shadow-rgb: 150, 134, 190; - --bs-btn-active-bg: var(--bs-info-color); - --bs-btn-active-border-color: var(--bs-info-color); - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: var(--bs-info-color); - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: var(--bs-info-color); - --bs-btn-bg: transparent; - --bs-gradient: none; + --gitdevr-btn-bg: var(--bs-info-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-info-rgb); } .btn-outline-warning { - --bs-btn-color: var(--bs-warning-color); - --bs-btn-border-color: var(--bs-warning-color); - --bs-btn-hover-color: #373e47; - --bs-btn-hover-bg: var(--bs-warning-color); - --bs-btn-hover-border-color: var(--bs-warning-color); - --bs-btn-focus-shadow-rgb: 212, 167, 44; - --bs-btn-active-color: #373e47; - --bs-btn-active-bg: var(--bs-warning-color); - --bs-btn-active-border-color: var(--bs-warning-color); - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: var(--bs-warning-color); - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: var(--bs-warning-color); - --bs-btn-bg: transparent; - --bs-gradient: none; + --gitdevr-btn-bg: var(--bs-warning-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb); } .btn-outline-danger { - --bs-btn-color: var(--bs-danger-color); - --bs-btn-border-color: var(--bs-danger-color); - --bs-btn-hover-bg: var(--bs-danger-color); - --bs-btn-hover-border-color: var(--bs-danger-color); - --bs-btn-focus-shadow-rgb: 216, 111, 117; - --bs-btn-active-bg: var(--bs-danger-color); - --bs-btn-active-border-color: var(--bs-danger-color); - --bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125); - --bs-btn-disabled-color: var(--bs-danger-color); - --bs-btn-disabled-bg: transparent; - --bs-btn-disabled-border-color: var(--bs-danger-color); + --gitdevr-btn-bg: var(--bs-danger-color); + --gitdevr-btn-fg: var(--brand-black); + --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb); + } + + .btn-outline-default, + .btn-outline-primary, + .btn-outline-success, + .btn-outline-info, + .btn-outline-warning, + .btn-outline-danger { + --bs-btn-color: var(--gitdevr-btn-bg); + --bs-btn-border-color: var(--gitdevr-btn-bg); --bs-btn-bg: transparent; - --bs-gradient: none; + --bs-btn-hover-color: var(--gitdevr-btn-fg); + --bs-btn-hover-bg: var(--gitdevr-btn-bg); + --bs-btn-hover-border-color: var(--gitdevr-btn-bg); + --bs-btn-active-color: var(--gitdevr-btn-fg); + --bs-btn-active-bg: var(--gitdevr-btn-bg); + --bs-btn-active-border-color: var(--gitdevr-btn-bg); + --bs-btn-disabled-color: var(--gitdevr-btn-bg); + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: var(--gitdevr-btn-bg); } .btn-link { - --bs-btn-font-weight: 400; --bs-btn-color: var(--bs-link-color); - --bs-btn-bg: transparent; - --bs-btn-border-color: transparent; --bs-btn-hover-color: var(--bs-link-hover-color); - --bs-btn-hover-border-color: transparent; --bs-btn-active-color: var(--bs-link-hover-color); - --bs-btn-active-border-color: transparent; - --bs-btn-disabled-color: #878b91; - --bs-btn-disabled-border-color: transparent; - --bs-btn-box-shadow: 0 0 0 #000; - --bs-btn-focus-shadow-rgb: 45, 131, 226; - } - - .btn-link:focus-visible { - color: var(--bs-btn-color); - } - - .btn-link:hover { - color: var(--bs-btn-hover-color); + --bs-btn-disabled-color: var(--bs-secondary); + --bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb); } } diff --git a/inst/pkgdown/assets/BS5/gitdevr.min.css b/inst/pkgdown/assets/BS5/gitdevr.min.css index 357a2a2..6d08269 100644 --- a/inst/pkgdown/assets/BS5/gitdevr.min.css +++ b/inst/pkgdown/assets/BS5/gitdevr.min.css @@ -1 +1 @@ -/*! Compressed with sass R library https: //rstudio.github.io/sass/*/[data-bs-theme="dark"]{color-scheme:dark;--bs-body-bg: #24292f;--bs-body-bg-rgb: 36, 41, 47;--bs-body-color: #fff;--bs-body-color-rgb: 255, 255, 255;--bs-gray-500: var(--brand-dk_gray);--bs-blue: var(--brand-dk_blue);--bs-blue-rgb: 121, 184, 255;--bs-blue-color: var(--brand-dk_blue);--bs-blue-color-rgb: 121, 184, 255;--bs-primary: #383d43;--bs-primary-rgb: 56.1, 60.6, 66.9;--bs-primary-color: #383d43;--bs-primary-color-rgb: 56.1, 60.6, 66.9;--bs-secondary: var(--brand-dk_gray);--bs-secondary-rgb: 168, 179, 193;--bs-secondary-color: var(--brand-dk_gray);--bs-success: var(--brand-dk_green);--bs-success-rgb: 111, 221, 140;--bs-success-color: var(--brand-dk_green);--bs-success-color-rgb: 111, 221, 140;--bs-info: var(--brand-dk_purple);--bs-info-rgb: 184, 167, 230;--bs-info-color: var(--brand-dk_purple);--bs-info-color-rgb: 184, 167, 230;--bs-warning: var(--brand-dk_orange);--bs-warning-rgb: 227, 186, 82;--bs-warning-color: var(--brand-dk_orange);--bs-warning-color-rgb: 227, 186, 82;--bs-danger: var(--brand-dk_red);--bs-danger-rgb: 238, 143, 149;--bs-danger-color: var(--brand-dk_red);--bs-danger-color-rgb: 238, 143, 149;--bs-light: #f8f9fa;--bs-light-rgb: 248, 249, 250;--bs-light-color: #f8f9fa;--bs-light-color-rgb: 248, 249, 250;--bs-dark: #343a40;--bs-dark-rgb: 52, 58, 64;--bs-dark-color: #343a40;--bs-dark-color-rgb: 52, 58, 64;--bs-link: var(--brand-dk_blue);--bs-link-rgb: 121, 184, 255;--bs-link-color: var(--brand-dk_blue);--bs-link-color-rgb: 121, 184, 255;--bs-link-hover: #a8d1ff;--bs-link-hover-rgb: 168, 209, 255;--bs-link-hover-color: #a8d1ff;--bs-link-hover-color-rgb: 168, 209, 255;--bs-code-color: var(--brand-dk_code)}main img{margin-left:auto;margin-right:auto;border-radius:var(--bs-border-radius)}.caption,.figure,.figcaption,figcaption,caption{color:var(--bs-secondary);margin-left:auto;margin-right:auto;margin-top:1rem;margin-bottom:1rem;font-size:0.875rem;width:100%}.navbar-brand,#navbar,.navbar .dropdown-item{font-family:"Inter Tight", Roboto;font-weight:800}.navbar .text-muted{color:var(--bs-gray) !important}.navbar .text-danger{color:#ff4d4f !important}#navbar .nav-link:hover,#navbar .nav-link:focus{color:var(--brand-dk_gray) !important;background-color:transparent}#navbar .dropdown-menu .dropdown-item.active:hover,#navbar .dropdown-menu .dropdown-item.active:focus{color:var(--brand-dk_gray)}#navbar .nav-item.active .nav-link,#navbar .dropdown-menu .dropdown-item.active{color:var(--bs-gray-200);background:transparent}#navbar .dropdown-menu .dropdown-item .fa{opacity:1;color:inherit}.navbar-toggler{border:none}.navbar-nav .nav-item.dropdown ul li:first-child hr{display:none}.algolia-autocomplete .aa-dropdown-menu{color:var(--bs-body-color);background-color:var(--bs-body-bg)}mark,.mark{background:linear-gradient(-100deg, RGBA(var(--bs-link-color-rgb), 0.2), RGBA(var(--bs-link-color-rgb), 0.7) 95%, RGBA(var(--bs-link-color-rgb), 0.1));color:var(--bs-body-color)}.nav-item .nav-link:hover,.nav-pills .nav-link.active:hover{background-color:rgba(var(--bs-body-color-rgb), 0.08);color:var(--brand-dk_gray)}footer{--gitdevr-footer-bg: var(--brand-footer_bg);width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-bottom:0;font-family:"Inter Tight", Roboto;font-weight:700;background-color:var(--gitdevr-footer-bg) !important}[data-bs-theme="dark"] footer{--gitdevr-footer-bg: var(--bs-body-bg);background-color:var(--bs-body-bg) !important}footer a{color:var(--brand-footer_link);text-decoration:none}footer a:hover,footer a:focus{color:color-mix(in srgb, var(--brand-footer_link) 80%, var(--gitdevr-footer-bg))}footer .pkgdown-footer-right{margin-right:auto;padding-right:1.25rem}footer .pkgdown-footer-left{margin-left:auto;padding-left:1.25rem}@media screen and (max-width: 576px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{margin-right:0.75rem;margin-left:0.75rem;padding-left:12px;padding-right:12px}}@media (max-width: 768px) and (min-width: 576px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:270px}}@media (max-width: 992px) and (min-width: 768px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:360px}}@media (max-width: 1200px) and (min-width: 992px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:480px}}@media (max-width: 1400px) and (min-width: 1200px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:570px}}@media (min-width: 1400px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:660px}}@view-transition{navigation:auto}img.logo{display:none}.template-home img.logo{display:inline}.author,.date{color:var(--bs-secondary);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);margin-bottom:0.5rem}[data-bs-theme="dark"] img.r-plt,[data-bs-theme="dark"] pre .r-plt.img img,[data-bs-theme="dark"] .cell-output-display img{filter:brightness(80%) !important}[data-bs-theme="dark"] img:not(.logo,.d-inline-block){filter:brightness(80%) !important}blockquote,.blockquote{border-left:0.25rem solid RGBA(var(--bs-link-color-rgb), 0.3);margin-bottom:1rem;font-size:1.25rem}.pkg{font-weight:bold}.tippy-box[data-theme~="light-border"]{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:0.9rem;padding:0.75rem;box-shadow:4px 4px 8px RGBA(var(--bs-body-color-rgb), 0.3);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.code-with-filename{margin-bottom:1rem}.code-with-filename .code-with-filename-file pre:not(.sourceCode){margin-bottom:0;padding-top:0.25rem;padding-bottom:0.25rem;border-radius:0;color:var(--bs-body-color);background-color:RGBA(var(--bs-body-color-rgb), 0.1)}.code-with-filename .code-with-filename-file pre{border-top-left-radius:0;border-top-right-radius:0}code a:any-link{text-decoration:underline;background-color:transparent !important}a>code{text-decoration:underline;color:var(--bs-code-color)}code{word-wrap:break-word}@media (max-width: 575.98px){.btn-copy-ex{right:5px}div>pre{border-radius:0}:not(li,blockquote)>div>pre{margin-left:calc(var(--bs-gutter-x) * -0.5);margin-right:calc(var(--bs-gutter-x) * -0.5);padding-left:1rem;padding-right:1rem}:not(li,blockquote)>div>.btn-copy-ex{right:calc(var(--bs-gutter-x) * -0.5 + 5px)}.code-with-filename{margin-right:calc(var(--bs-gutter-x) * 0.5);margin-left:calc(var(--bs-gutter-x) * 0.5)}}.template-reference-topic dt{font-weight:800;font-family:"Inter Tight", Roboto}pre{--gitdevr-hl-bg: #f6f8fa;--gitdevr-hl-fg: #24292f;--gitdevr-hl-comment: #6e7781;--gitdevr-hl-keyword: #cf222e;--gitdevr-hl-number: #0550ae;--gitdevr-hl-constant: #0550ae;--gitdevr-hl-builtin: #953800;--gitdevr-hl-type: #cf222e;--gitdevr-hl-string: #0a3069;--gitdevr-hl-function: #8250df;--gitdevr-hl-operator: #0550ae;--gitdevr-hl-variable: #0550ae;--gitdevr-hl-attribute: #116329;--gitdevr-hl-error: #82071e;--gitdevr-hl-error-bg: #ffebe9;border:none;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}[data-bs-theme="dark"] pre{--gitdevr-hl-bg: #282c34;--gitdevr-hl-fg: #abb2bf;--gitdevr-hl-comment: #7f848e;--gitdevr-hl-keyword: #c678dd;--gitdevr-hl-number: #d19a66;--gitdevr-hl-constant: #e5c07b;--gitdevr-hl-builtin: #e5c07b;--gitdevr-hl-type: #e5c07b;--gitdevr-hl-string: #98c379;--gitdevr-hl-function: #61afef;--gitdevr-hl-operator: #56b6c2;--gitdevr-hl-variable: #e06c75;--gitdevr-hl-attribute: #e06c75;--gitdevr-hl-error: #abb2bf;--gitdevr-hl-error-bg: transparent;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}pre code,[data-bs-theme="dark"] pre code{color:var(--gitdevr-hl-fg);background-color:transparent}pre code :is(span, a).an,pre code :is(span, a).co,pre code :is(span, a).cv,pre code :is(span, a).do,pre code :is(span, a).in,pre code :is(span, a).re,[data-bs-theme="dark"] pre code :is(span, a).an,[data-bs-theme="dark"] pre code :is(span, a).co,[data-bs-theme="dark"] pre code :is(span, a).cv,[data-bs-theme="dark"] pre code :is(span, a).do,[data-bs-theme="dark"] pre code :is(span, a).in,[data-bs-theme="dark"] pre code :is(span, a).re{color:var(--gitdevr-hl-comment);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cf,pre code :is(span, a).kw,pre code :is(span, a).pp,[data-bs-theme="dark"] pre code :is(span, a).cf,[data-bs-theme="dark"] pre code :is(span, a).kw,[data-bs-theme="dark"] pre code :is(span, a).pp{color:var(--gitdevr-hl-keyword);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bn,pre code :is(span, a).dv,pre code :is(span, a).fl,[data-bs-theme="dark"] pre code :is(span, a).bn,[data-bs-theme="dark"] pre code :is(span, a).dv,[data-bs-theme="dark"] pre code :is(span, a).fl{color:var(--gitdevr-hl-number);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cn,[data-bs-theme="dark"] pre code :is(span, a).cn{color:var(--gitdevr-hl-constant);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bu,[data-bs-theme="dark"] pre code :is(span, a).bu{color:var(--gitdevr-hl-builtin);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).dt,[data-bs-theme="dark"] pre code :is(span, a).dt{color:var(--gitdevr-hl-type);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ch,pre code :is(span, a).im,pre code :is(span, a).ot,pre code :is(span, a).sc,pre code :is(span, a).ss,pre code :is(span, a).st,pre code :is(span, a).vs,[data-bs-theme="dark"] pre code :is(span, a).ch,[data-bs-theme="dark"] pre code :is(span, a).im,[data-bs-theme="dark"] pre code :is(span, a).ot,[data-bs-theme="dark"] pre code :is(span, a).sc,[data-bs-theme="dark"] pre code :is(span, a).ss,[data-bs-theme="dark"] pre code :is(span, a).st,[data-bs-theme="dark"] pre code :is(span, a).vs{color:var(--gitdevr-hl-string);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ex,pre code :is(span, a).fu,[data-bs-theme="dark"] pre code :is(span, a).ex,[data-bs-theme="dark"] pre code :is(span, a).fu{color:var(--gitdevr-hl-function);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).op,[data-bs-theme="dark"] pre code :is(span, a).op{color:var(--gitdevr-hl-operator);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).va,[data-bs-theme="dark"] pre code :is(span, a).va{color:var(--gitdevr-hl-variable);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).at,[data-bs-theme="dark"] pre code :is(span, a).at{color:var(--gitdevr-hl-attribute);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).al,pre code :is(span, a).er,pre code :is(span, a).wa,[data-bs-theme="dark"] pre code :is(span, a).al,[data-bs-theme="dark"] pre code :is(span, a).er,[data-bs-theme="dark"] pre code :is(span, a).wa{color:var(--gitdevr-hl-error);font-style:normal;font-weight:normal;text-decoration:none;background-color:var(--gitdevr-hl-error-bg)}[data-bs-theme="dark"] pre code :is(span, a).fu{font-weight:bold}[data-bs-theme="dark"] .reactable.html-widget{filter:none !important}[data-bs-theme="dark"] .Reactable{background-color:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-sticky,[data-bs-theme="dark"] .rt-tbody,[data-bs-theme="dark"] .rt-tr,[data-bs-theme="dark"] .rt-tr-group{background-color:inherit}[data-bs-theme="dark"] .rt-table{border-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th{border-bottom:2px solid var(--brand-dk_border);border-left-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-td{border-left-color:var(--brand-dk_border);border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th-group:after{background-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-tr-striped{background-color:rgba(0,0,0,0.03)}[data-bs-theme="dark"] .rt-tr-striped-sticky{background-color:var(--brand-dk_black)}[data-bs-theme="dark"] .rt-tr-highlight:hover,[data-bs-theme="dark"] .rt-tr-highlight-sticky:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-td-filter{border-bottom:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-filter{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:inherit}[data-bs-theme="dark"] .rt-filter:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-expander:after{border-top:7px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-pagination{border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-jump,[data-bs-theme="dark"] .rt-page-size-select{background-color:var(--bs-body-bg);border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-button:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-page-button:active{background-color:rgba(0,0,0,0.08)}[data-bs-theme="dark"] .rt-keyboard-active .rt-page-button:focus{background-color:rgba(0,0,0,0.04)}[data-bs-theme="dark"] .rt-page-button:disabled:focus,[data-bs-theme="dark"] .rt-page-button:disabled:hover{background-color:transparent}[data-bs-theme="dark"] .rt-tbody-no-data .rt-td{border-color:transparent}[data-bs-theme="dark"] .rt-search{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-search:active,[data-bs-theme="dark"] .rt-search:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-borderless .rt-td,[data-bs-theme="dark"] .rt-tr-group:first-child>.rt-tr:first-child .rt-td{border-top-color:var(--brand-dk_border)}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:0.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:0.4em 0.7em;border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout.callout-style-default{border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:0.9rem;font-weight:400;margin-bottom:-0.4em;margin-top:0.5em}.callout.callout-style-default .callout-body{font-size:0.9rem;font-weight:400;padding-left:0.5em;padding-right:0.5em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:0.2em;margin-bottom:-0.2em}.callout.callout-empty-content>.callout-header{margin-bottom:0em;border-bottom-right-radius:calc(0.25rem + -1px)}.callout>.callout-header.collapsed{border-bottom-right-radius:calc(0.25rem + -1px)}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:0.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:0.9rem;padding-left:0.5em;padding-right:0.5em;border-top-right-radius:calc(0.25rem + -1px)}.callout.callout-style-default .callout-body>:first-child{padding-top:0.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle="collapse"]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded="false"],.callout.callout-style-default .callout-header[aria-expanded="true"]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:0.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:0.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.2rem}.callout.callout-style-simple:not(.callout-titled) .callout-body>:last-child,.callout.callout-style-simple:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.5em}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:0.9rem;width:0.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:0.9rem 0.9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-btn-toggle .callout-toggle::before{transition:transform 0.2s linear}.callout .callout-header[aria-expanded="false"] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded="true"] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:0.2em;padding-right:0.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:0.1em;padding-right:0.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:0.3em;padding-right:0.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:var(--bs-secondary)}div.callout.callout-style-default>.callout-header{background-color:var(--bs-secondary)}div.callout-note.callout{border-left-color:var(--bs-link-color)}div.callout-note.callout-style-default>.callout-header{background-color:RGBA(var(--bs-link-color-rgb), 0.1)}div.callout-note:not(.callout-titled) .callout-icon::before,div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:var(--bs-success)}div.callout-tip.callout-style-default>.callout-header{background-color:RGBA(var(--bs-success-rgb), 0.1)}div.callout-tip:not(.callout-titled) .callout-icon::before,div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:var(--bs-warning)}div.callout-warning.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-warning:not(.callout-titled) .callout-icon::before,div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:var(--bs-warning)}div.callout-caution.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-caution:not(.callout-titled) .callout-icon::before,div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:var(--bs-danger)}div.callout-important.callout-style-default>.callout-header{background-color:RGBA(var(--bs-danger-rgb), 0.1)}div.callout-important:not(.callout-titled) .callout-icon::before,div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-note:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-tip:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-warning:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-caution:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-important:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-body-container.callout-body pre{margin-left:calc(var(--bs-gutter-x) * 0.5) !important;margin-right:calc(var(--bs-gutter-x) * 0.5) !important}div.callout-body-container.callout-body .btn-copy-ex{right:18px !important}.screen-reader-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px}[data-bs-theme="dark"] .btn-default{--bs-btn-color: #373e47;--bs-btn-bg: #c3c5c8;--bs-btn-border-color: #c3c5c8;--bs-btn-hover-color: #373e47;--bs-btn-hover-bg: #ccced0;--bs-btn-hover-border-color: #c9cbce;--bs-btn-focus-shadow-rgb: 174, 177, 181;--bs-btn-active-color: #373e47;--bs-btn-active-bg: #cfd1d3;--bs-btn-active-border-color: #c9cbce;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: #373e47;--bs-btn-disabled-bg: #c3c5c8;--bs-btn-disabled-border-color: #c3c5c8}[data-bs-theme="dark"] .btn-primary{--bs-btn-bg: var(--bs-primary-color);--bs-btn-border-color: var(--bs-primary-color);--bs-btn-hover-bg: #303439;--bs-btn-hover-border-color: #2d3136;--bs-btn-focus-shadow-rgb: 86, 90, 95;--bs-btn-active-bg: #2d3136;--bs-btn-active-border-color: #2a2e32;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-bg: var(--bs-primary-color);--bs-btn-disabled-border-color: var(--bs-primary-color)}[data-bs-theme="dark"] .btn-success{--bs-btn-bg: var(--bs-success-color);--bs-btn-border-color: var(--bs-success-color);--bs-btn-hover-bg: #4db269;--bs-btn-hover-border-color: #42ad60;--bs-btn-focus-shadow-rgb: 47, 149, 77;--bs-btn-active-bg: #57b671;--bs-btn-active-border-color: #42ad60;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-bg: var(--bs-success-color);--bs-btn-disabled-border-color: var(--bs-success-color)}[data-bs-theme="dark"] .btn-info{--bs-btn-bg: var(--bs-info-color);--bs-btn-border-color: var(--bs-info-color);--bs-btn-hover-bg: #a698c8;--bs-btn-hover-border-color: #a192c5;--bs-btn-focus-shadow-rgb: 136, 123, 172;--bs-btn-active-bg: #ab9ecb;--bs-btn-active-border-color: #a192c5;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-bg: var(--bs-info-color);--bs-btn-disabled-border-color: var(--bs-info-color)}[data-bs-theme="dark"] .btn-warning{--bs-btn-color: #22272e;--bs-btn-bg: var(--bs-warning-color);--bs-btn-border-color: var(--bs-warning-color);--bs-btn-hover-color: #22272e;--bs-btn-hover-bg: #dab44c;--bs-btn-hover-border-color: #d8b041;--bs-btn-focus-shadow-rgb: 188, 151, 48;--bs-btn-active-color: #22272e;--bs-btn-active-bg: #ddb956;--bs-btn-active-border-color: #d8b041;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: #22272e;--bs-btn-disabled-bg: var(--bs-warning-color);--bs-btn-disabled-border-color: var(--bs-warning-color)}[data-bs-theme="dark"] .btn-danger{--bs-btn-bg: var(--bs-danger-color);--bs-btn-border-color: var(--bs-danger-color);--bs-btn-hover-bg: #de858a;--bs-btn-hover-border-color: #dc7d83;--bs-btn-focus-shadow-rgb: 192, 104, 110;--bs-btn-active-bg: #e08c91;--bs-btn-active-border-color: #dc7d83;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-bg: var(--bs-danger-color);--bs-btn-disabled-border-color: var(--bs-danger-color)}[data-bs-theme="dark"] .btn-outline-default{--bs-btn-color: #c3c5c8;--bs-btn-border-color: #c3c5c8;--bs-btn-hover-color: #373e47;--bs-btn-hover-bg: #c3c5c8;--bs-btn-hover-border-color: #c3c5c8;--bs-btn-focus-shadow-rgb: 195, 197, 200;--bs-btn-active-color: #373e47;--bs-btn-active-bg: #c3c5c8;--bs-btn-active-border-color: #c3c5c8;--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: #c3c5c8;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #c3c5c8;--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-outline-primary{--bs-btn-color: var(--bs-link-color);--bs-btn-border-color: var(--bs-link-color);--bs-btn-hover-color: var(--bs-body-bg);--bs-btn-hover-bg: var(--bs-link-color);--bs-btn-hover-border-color: var(--bs-link-color);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb);--bs-btn-active-color: var(--bs-body-bg);--bs-btn-active-bg: var(--bs-link-color);--bs-btn-active-border-color: var(--bs-link-color);--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: var(--bs-link-color);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-outline-success{--bs-btn-color: var(--bs-success-color);--bs-btn-border-color: var(--bs-success-color);--bs-btn-hover-bg: var(--bs-success-color);--bs-btn-hover-border-color: var(--bs-success-color);--bs-btn-focus-shadow-rgb: 45, 164, 78;--bs-btn-active-bg: var(--bs-success-color);--bs-btn-active-border-color: var(--bs-success-color);--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: var(--bs-success-color);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--bs-success-color);--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-outline-info{--bs-btn-color: var(--bs-info-color);--bs-btn-border-color: var(--bs-info-color);--bs-btn-hover-bg: var(--bs-info-color);--bs-btn-hover-border-color: var(--bs-info-color);--bs-btn-focus-shadow-rgb: 150, 134, 190;--bs-btn-active-bg: var(--bs-info-color);--bs-btn-active-border-color: var(--bs-info-color);--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: var(--bs-info-color);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--bs-info-color);--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-outline-warning{--bs-btn-color: var(--bs-warning-color);--bs-btn-border-color: var(--bs-warning-color);--bs-btn-hover-color: #373e47;--bs-btn-hover-bg: var(--bs-warning-color);--bs-btn-hover-border-color: var(--bs-warning-color);--bs-btn-focus-shadow-rgb: 212, 167, 44;--bs-btn-active-color: #373e47;--bs-btn-active-bg: var(--bs-warning-color);--bs-btn-active-border-color: var(--bs-warning-color);--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: var(--bs-warning-color);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--bs-warning-color);--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-outline-danger{--bs-btn-color: var(--bs-danger-color);--bs-btn-border-color: var(--bs-danger-color);--bs-btn-hover-bg: var(--bs-danger-color);--bs-btn-hover-border-color: var(--bs-danger-color);--bs-btn-focus-shadow-rgb: 216, 111, 117;--bs-btn-active-bg: var(--bs-danger-color);--bs-btn-active-border-color: var(--bs-danger-color);--bs-btn-active-shadow: inset 0 3px 5px rgba(55, 62, 71, 0.125);--bs-btn-disabled-color: var(--bs-danger-color);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--bs-danger-color);--bs-btn-bg: transparent;--bs-gradient: none}[data-bs-theme="dark"] .btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #878b91;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 45, 131, 226}[data-bs-theme="dark"] .btn-link:focus-visible{color:var(--bs-btn-color)}[data-bs-theme="dark"] .btn-link:hover{color:var(--bs-btn-hover-color)} +/*! Minified with sass; RGB companions are generated from the brand palette. */[data-bs-theme="dark"]{color-scheme:dark;--bs-body-bg: var(--brand-dk_body);--bs-body-bg-rgb: 36, 41, 47;--bs-body-color: var(--brand-white);--bs-body-color-rgb: 255, 255, 255;--bs-gray-500: var(--brand-dk_gray);--bs-blue: var(--brand-dk_blue);--bs-blue-rgb: 121, 184, 255;--bs-blue-color: var(--brand-dk_blue);--bs-blue-color-rgb: 121, 184, 255;--bs-primary: var(--brand-dk_black);--bs-primary-rgb: 55, 62, 71;--bs-primary-color: var(--brand-dk_black);--bs-primary-color-rgb: 55, 62, 71;--bs-secondary: var(--brand-dk_gray);--bs-secondary-rgb: 168, 179, 193;--bs-secondary-color: var(--brand-dk_gray);--bs-success: var(--brand-dk_green);--bs-success-rgb: 111, 221, 140;--bs-success-color: var(--brand-dk_green);--bs-success-color-rgb: 111, 221, 140;--bs-info: var(--brand-dk_purple);--bs-info-rgb: 184, 167, 230;--bs-info-color: var(--brand-dk_purple);--bs-info-color-rgb: 184, 167, 230;--bs-warning: var(--brand-dk_orange);--bs-warning-rgb: 227, 186, 82;--bs-warning-color: var(--brand-dk_orange);--bs-warning-color-rgb: 227, 186, 82;--bs-danger: var(--brand-dk_red);--bs-danger-rgb: 238, 143, 149;--bs-danger-color: var(--brand-dk_red);--bs-danger-color-rgb: 238, 143, 149;--bs-light: var(--brand-light);--bs-light-rgb: 248, 249, 250;--bs-light-color: var(--brand-light);--bs-light-color-rgb: 248, 249, 250;--bs-dark: var(--brand-dk_dark);--bs-dark-rgb: 52, 58, 64;--bs-dark-color: var(--brand-dk_dark);--bs-dark-color-rgb: 52, 58, 64;--bs-link: var(--brand-dk_blue);--bs-link-rgb: 121, 184, 255;--bs-link-color: var(--brand-dk_blue);--bs-link-color-rgb: 121, 184, 255;--bs-link-hover: color-mix(in srgb, var(--bs-link-color) 70%, white);--bs-link-hover-color: var(--bs-link-hover);--bs-code-color: var(--brand-dk_code)}main img{margin-left:auto;margin-right:auto;border-radius:var(--bs-border-radius)}.caption,.figure,.figcaption,figcaption,caption{color:var(--bs-secondary);margin-left:auto;margin-right:auto;margin-top:1rem;margin-bottom:1rem;font-size:0.875rem;width:100%}.navbar-brand,#navbar,.navbar .dropdown-item{font-family:"Inter Tight", Roboto;font-weight:800}.navbar .text-muted{color:var(--bs-gray) !important}.navbar .text-danger{color:#ff4d4f !important}#navbar .nav-link:hover,#navbar .nav-link:focus{color:var(--brand-dk_gray) !important;background-color:transparent}#navbar .dropdown-menu .dropdown-item.active:hover,#navbar .dropdown-menu .dropdown-item.active:focus{color:var(--brand-dk_gray)}#navbar .nav-item.active .nav-link,#navbar .dropdown-menu .dropdown-item.active{color:var(--bs-gray-200);background:transparent}#navbar .dropdown-menu .dropdown-item .fa{opacity:1;color:inherit}.navbar-toggler{border:none}.navbar-nav .nav-item.dropdown ul li:first-child hr{display:none}.algolia-autocomplete .aa-dropdown-menu{color:var(--bs-body-color);background-color:var(--bs-body-bg)}mark,.mark{background:linear-gradient(-100deg, RGBA(var(--bs-link-color-rgb), 0.2), RGBA(var(--bs-link-color-rgb), 0.7) 95%, RGBA(var(--bs-link-color-rgb), 0.1));color:var(--bs-body-color)}.nav-pills,.nav-tabs{--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color)}.nav-item .nav-link:hover,.nav-pills .nav-link:focus-visible{background-color:rgba(var(--bs-body-color-rgb), 0.08);color:var(--bs-link-hover-color)}.nav-pills .nav-link.active:hover,.nav-pills .nav-link.active:focus-visible{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}footer{--gitdevr-footer-bg: var(--brand-footer_bg);padding-bottom:1rem;margin-bottom:0;border-image:linear-gradient(var(--gitdevr-footer-bg), var(--gitdevr-footer-bg)) fill NaN/0 100vw;font-family:"Inter Tight", Roboto;font-weight:700;background-color:var(--gitdevr-footer-bg) !important}[data-bs-theme="dark"] footer{--gitdevr-footer-bg: var(--bs-body-bg);background-color:var(--bs-body-bg) !important}footer a{color:var(--brand-footer_link);text-decoration:none}footer a:hover,footer a:focus{color:color-mix(in srgb, var(--brand-footer_link) 80%, var(--gitdevr-footer-bg))}footer .pkgdown-footer-left,footer .pkgdown-footer-right{flex:1 1 0;min-width:0;overflow-wrap:anywhere}@media (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}.callout .callout-btn-toggle .callout-toggle::before{transition:transform 0.2s linear}}img.logo{display:none}.template-home img.logo{display:inline}.author,.date{color:var(--bs-secondary);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);margin-bottom:0.5rem}[data-bs-theme="dark"] img.r-plt,[data-bs-theme="dark"] pre .r-plt.img img,[data-bs-theme="dark"] .cell-output-display img{filter:brightness(80%) !important}[data-bs-theme="dark"] img:not(.logo,.d-inline-block){filter:brightness(80%) !important}blockquote,.blockquote{border-left:0.25rem solid RGBA(var(--bs-link-color-rgb), 0.3);margin-bottom:1rem;font-size:1.25rem}.pkg{font-weight:bold}.tippy-box[data-theme~="light-border"]{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:0.9rem;padding:0.75rem;box-shadow:4px 4px 8px RGBA(var(--bs-body-color-rgb), 0.3);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.code-with-filename{margin-bottom:1rem}.code-with-filename .code-with-filename-file pre:not(.sourceCode){margin-bottom:0;padding-top:0.25rem;padding-bottom:0.25rem;border-radius:0;color:var(--bs-body-color);background-color:RGBA(var(--bs-body-color-rgb), 0.1)}.code-with-filename .code-with-filename-file pre{border-top-left-radius:0;border-top-right-radius:0}code a:any-link{text-decoration:underline;background-color:transparent !important}a>code{text-decoration:underline;color:var(--bs-code-color)}code{word-wrap:break-word}main,main .sourceCode,main .cell,main .callout-body-container{min-width:0}main pre{max-width:100%;overflow-x:auto}.template-reference-topic dt{font-weight:800;font-family:"Inter Tight", Roboto}pre{--gitdevr-hl-bg: #f6f8fa;--gitdevr-hl-fg: #24292f;--gitdevr-hl-comment: #6a737d;--gitdevr-hl-keyword: #cf222e;--gitdevr-hl-number: #0550ae;--gitdevr-hl-constant: #0550ae;--gitdevr-hl-builtin: #953800;--gitdevr-hl-type: #cf222e;--gitdevr-hl-string: #0a3069;--gitdevr-hl-function: #8250df;--gitdevr-hl-operator: #0550ae;--gitdevr-hl-variable: #0550ae;--gitdevr-hl-attribute: #116329;--gitdevr-hl-error: #82071e;--gitdevr-hl-error-bg: #ffebe9;border:none;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}[data-bs-theme="dark"] pre{--gitdevr-hl-bg: #282c34;--gitdevr-hl-fg: #abb2bf;--gitdevr-hl-comment: #8e939d;--gitdevr-hl-keyword: #c678dd;--gitdevr-hl-number: #d19a66;--gitdevr-hl-constant: #e5c07b;--gitdevr-hl-builtin: #e5c07b;--gitdevr-hl-type: #e5c07b;--gitdevr-hl-string: #98c379;--gitdevr-hl-function: #61afef;--gitdevr-hl-operator: #56b6c2;--gitdevr-hl-variable: #e37079;--gitdevr-hl-attribute: #e37079;--gitdevr-hl-error: #abb2bf;--gitdevr-hl-error-bg: transparent;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}pre code,[data-bs-theme="dark"] pre code{color:var(--gitdevr-hl-fg);background-color:transparent}pre code :is(span, a).an,pre code :is(span, a).co,pre code :is(span, a).cv,pre code :is(span, a).do,pre code :is(span, a).in,pre code :is(span, a).re,[data-bs-theme="dark"] pre code :is(span, a).an,[data-bs-theme="dark"] pre code :is(span, a).co,[data-bs-theme="dark"] pre code :is(span, a).cv,[data-bs-theme="dark"] pre code :is(span, a).do,[data-bs-theme="dark"] pre code :is(span, a).in,[data-bs-theme="dark"] pre code :is(span, a).re{color:var(--gitdevr-hl-comment);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cf,pre code :is(span, a).kw,pre code :is(span, a).pp,[data-bs-theme="dark"] pre code :is(span, a).cf,[data-bs-theme="dark"] pre code :is(span, a).kw,[data-bs-theme="dark"] pre code :is(span, a).pp{color:var(--gitdevr-hl-keyword);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bn,pre code :is(span, a).dv,pre code :is(span, a).fl,[data-bs-theme="dark"] pre code :is(span, a).bn,[data-bs-theme="dark"] pre code :is(span, a).dv,[data-bs-theme="dark"] pre code :is(span, a).fl{color:var(--gitdevr-hl-number);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cn,[data-bs-theme="dark"] pre code :is(span, a).cn{color:var(--gitdevr-hl-constant);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bu,[data-bs-theme="dark"] pre code :is(span, a).bu{color:var(--gitdevr-hl-builtin);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).dt,[data-bs-theme="dark"] pre code :is(span, a).dt{color:var(--gitdevr-hl-type);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ch,pre code :is(span, a).im,pre code :is(span, a).ot,pre code :is(span, a).sc,pre code :is(span, a).ss,pre code :is(span, a).st,pre code :is(span, a).vs,[data-bs-theme="dark"] pre code :is(span, a).ch,[data-bs-theme="dark"] pre code :is(span, a).im,[data-bs-theme="dark"] pre code :is(span, a).ot,[data-bs-theme="dark"] pre code :is(span, a).sc,[data-bs-theme="dark"] pre code :is(span, a).ss,[data-bs-theme="dark"] pre code :is(span, a).st,[data-bs-theme="dark"] pre code :is(span, a).vs{color:var(--gitdevr-hl-string);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ex,pre code :is(span, a).fu,[data-bs-theme="dark"] pre code :is(span, a).ex,[data-bs-theme="dark"] pre code :is(span, a).fu{color:var(--gitdevr-hl-function);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).op,[data-bs-theme="dark"] pre code :is(span, a).op{color:var(--gitdevr-hl-operator);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).va,[data-bs-theme="dark"] pre code :is(span, a).va{color:var(--gitdevr-hl-variable);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).at,[data-bs-theme="dark"] pre code :is(span, a).at{color:var(--gitdevr-hl-attribute);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).al,pre code :is(span, a).er,pre code :is(span, a).wa,[data-bs-theme="dark"] pre code :is(span, a).al,[data-bs-theme="dark"] pre code :is(span, a).er,[data-bs-theme="dark"] pre code :is(span, a).wa{color:var(--gitdevr-hl-error);font-style:normal;font-weight:normal;text-decoration:none;background-color:var(--gitdevr-hl-error-bg)}[data-bs-theme="dark"] pre code :is(span, a).fu{font-weight:bold}pre code a:any-link,[data-bs-theme="dark"] pre code a:any-link{text-decoration:underline;text-underline-offset:0.15em}pre code a:focus-visible{outline:2px solid currentColor;outline-offset:2px}[data-bs-theme="dark"] .reactable.html-widget{filter:none !important}[data-bs-theme="dark"] .Reactable{background-color:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-sticky,[data-bs-theme="dark"] .rt-tbody,[data-bs-theme="dark"] .rt-tr,[data-bs-theme="dark"] .rt-tr-group{background-color:inherit}[data-bs-theme="dark"] .rt-table{border-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th{border-bottom:2px solid var(--brand-dk_border);border-left-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-td{border-left-color:var(--brand-dk_border);border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th-group:after{background-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-tr-striped{background-color:rgba(0,0,0,0.03)}[data-bs-theme="dark"] .rt-tr-striped-sticky{background-color:var(--brand-dk_black)}[data-bs-theme="dark"] .rt-tr-highlight:hover,[data-bs-theme="dark"] .rt-tr-highlight-sticky:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-td-filter{border-bottom:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-filter{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:inherit}[data-bs-theme="dark"] .rt-filter:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-expander:after{border-top:7px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-pagination{border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-jump,[data-bs-theme="dark"] .rt-page-size-select{background-color:var(--bs-body-bg);border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-button:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-page-button:active{background-color:rgba(0,0,0,0.08)}[data-bs-theme="dark"] .rt-keyboard-active .rt-page-button:focus{background-color:rgba(0,0,0,0.04)}[data-bs-theme="dark"] .rt-page-button:disabled:focus,[data-bs-theme="dark"] .rt-page-button:disabled:hover{background-color:transparent}[data-bs-theme="dark"] .rt-tbody-no-data .rt-td{border-color:transparent}[data-bs-theme="dark"] .rt-search{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-search:active,[data-bs-theme="dark"] .rt-search:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-borderless .rt-td,[data-bs-theme="dark"] .rt-tr-group:first-child>.rt-tr:first-child .rt-td{border-top-color:var(--brand-dk_border)}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:0.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:0.4em 0.7em;border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout.callout-style-default{border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:0.9rem;font-weight:400;margin-bottom:-0.4em;margin-top:0.5em}.callout.callout-style-default .callout-body{font-size:0.9rem;font-weight:400;padding-left:0.5em;padding-right:0.5em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:0.2em;margin-bottom:-0.2em}.callout.callout-empty-content>.callout-header{margin-bottom:0em;border-bottom-right-radius:calc(0.25rem + -1px)}.callout>.callout-header.collapsed{border-bottom-right-radius:calc(0.25rem + -1px)}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:0.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:0.9rem;padding-left:0.5em;padding-right:0.5em;border-top-right-radius:calc(0.25rem + -1px)}.callout.callout-style-default .callout-body>:first-child{padding-top:0.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle="collapse"]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded="false"],.callout.callout-style-default .callout-header[aria-expanded="true"]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:0.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:0.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.2rem}.callout.callout-style-simple:not(.callout-titled) .callout-body>:last-child,.callout.callout-style-simple:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.5em}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:0.9rem;width:0.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:0.9rem 0.9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-header[aria-expanded="false"] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded="true"] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:0.2em;padding-right:0.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:0.1em;padding-right:0.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:0.3em;padding-right:0.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:var(--bs-secondary)}div.callout.callout-style-default>.callout-header{background-color:var(--bs-secondary)}div.callout-note.callout{border-left-color:var(--bs-link-color)}div.callout-note.callout-style-default>.callout-header{background-color:RGBA(var(--bs-link-color-rgb), 0.1)}div.callout-note:not(.callout-titled) .callout-icon::before,div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:var(--bs-success)}div.callout-tip.callout-style-default>.callout-header{background-color:RGBA(var(--bs-success-rgb), 0.1)}div.callout-tip:not(.callout-titled) .callout-icon::before,div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:var(--bs-warning)}div.callout-warning.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-warning:not(.callout-titled) .callout-icon::before,div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:var(--bs-warning)}div.callout-caution.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-caution:not(.callout-titled) .callout-icon::before,div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:var(--bs-danger)}div.callout-important.callout-style-default>.callout-header{background-color:RGBA(var(--bs-danger-rgb), 0.1)}div.callout-important:not(.callout-titled) .callout-icon::before,div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-note:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-tip:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-warning:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-caution:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-important:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-body-container.callout-body pre{margin-left:calc(var(--bs-gutter-x) * 0.5) !important;margin-right:calc(var(--bs-gutter-x) * 0.5) !important}div.callout-body-container.callout-body .btn-copy-ex{right:18px !important}.screen-reader-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px}[data-bs-theme="dark"] .btn-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-primary{--gitdevr-btn-bg: var(--bs-primary-color);--gitdevr-btn-fg: var(--bs-body-color);--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb)}[data-bs-theme="dark"] .btn-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-default,[data-bs-theme="dark"] .btn-primary,[data-bs-theme="dark"] .btn-success,[data-bs-theme="dark"] .btn-info,[data-bs-theme="dark"] .btn-warning,[data-bs-theme="dark"] .btn-danger{--bs-btn-color: var(--gitdevr-btn-fg);--bs-btn-bg: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 85%, white);--bs-btn-hover-border-color: var(--bs-btn-hover-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 80%, white);--bs-btn-active-border-color: var(--bs-btn-active-bg);--bs-btn-disabled-color: var(--gitdevr-btn-fg);--bs-btn-disabled-bg: var(--gitdevr-btn-bg);--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-outline-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-outline-primary{--gitdevr-btn-bg: var(--bs-link-color);--gitdevr-btn-fg: var(--bs-body-bg);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)}[data-bs-theme="dark"] .btn-outline-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-outline-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-outline-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-outline-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-outline-default,[data-bs-theme="dark"] .btn-outline-primary,[data-bs-theme="dark"] .btn-outline-success,[data-bs-theme="dark"] .btn-outline-info,[data-bs-theme="dark"] .btn-outline-warning,[data-bs-theme="dark"] .btn-outline-danger{--bs-btn-color: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-bg: transparent;--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: var(--gitdevr-btn-bg);--bs-btn-hover-border-color: var(--gitdevr-btn-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: var(--gitdevr-btn-bg);--bs-btn-active-border-color: var(--gitdevr-btn-bg);--bs-btn-disabled-color: var(--gitdevr-btn-bg);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-link{--bs-btn-color: var(--bs-link-color);--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-disabled-color: var(--bs-secondary);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)} diff --git a/tests/testthat/test-template-brand.R b/tests/testthat/test-template-brand.R index e000bfd..94b219e 100644 --- a/tests/testthat/test-template-brand.R +++ b/tests/testthat/test-template-brand.R @@ -60,11 +60,11 @@ test_that("template dark CSS meets WCAG AA contrast", { "body text" = c("--bs-body-color", "--bs-body-bg"), "links" = c("--bs-link-color", "--bs-body-bg"), "inline code" = c("--bs-code-color", "--bs-body-bg"), - "syntax comments" = c("--bs-gray-500", "--bs-body-bg"), - "syntax keywords" = c("--bs-info", "--bs-body-bg"), - "syntax strings" = c("--bs-success", "--bs-body-bg"), - "syntax warnings" = c("--bs-warning", "--bs-body-bg"), - "syntax errors" = c("--bs-danger", "--bs-body-bg") + "muted text" = c("--bs-gray-500", "--bs-body-bg"), + "info text" = c("--bs-info", "--bs-body-bg"), + "success text" = c("--bs-success", "--bs-body-bg"), + "warning text" = c("--bs-warning", "--bs-body-bg"), + "danger text" = c("--bs-danger", "--bs-body-bg") ) ratios <- vapply( diff --git a/tests/testthat/test-template-css.R b/tests/testthat/test-template-css.R index 2af1eab..a778d32 100644 --- a/tests/testthat/test-template-css.R +++ b/tests/testthat/test-template-css.R @@ -66,7 +66,7 @@ test_that("template stylesheets cover light and dark components", { expect_lt(file.size(paths[[2]]), file.size(paths[[1]])) }) -test_that("code block palettes match the Chulapa highlighters", { +test_that("code block palettes preserve accessible GitHub and One Dark colors", { css <- paste(read_pkgdown_css(), collapse = "\n") highlight <- substring( css, @@ -93,7 +93,7 @@ test_that("code block palettes match the Chulapa highlighters", { c( "#f6f8fa", "#24292f", - "#6e7781", + "#6a737d", "#cf222e", "#0550ae", "#0a3069", @@ -106,7 +106,7 @@ test_that("code block palettes match the Chulapa highlighters", { c( "#282c34", "#abb2bf", - "#7f848e", + "#8e939d", "#c678dd", "#d19a66", "#98c379", @@ -115,3 +115,49 @@ test_that("code block palettes match the Chulapa highlighters", { ) ) }) + +test_that("highlighted text meets AA contrast on its code background", { + css <- paste(read_pkgdown_css(), collapse = "\n") + highlight <- substring( + css, + regexpr("/* --- Syntax highlighting:", css, fixed = TRUE) + ) + for (selector in c("pre", '[data-bs-theme="dark"] pre')) { + colors <- css_variables(highlight, selector) + roles <- setdiff( + names(colors), + c("--gitdevr-hl-bg", "--gitdevr-hl-error-bg") + ) + ratios <- vapply( + roles, + \(role) { + background <- colors[["--gitdevr-hl-bg"]] + if ( + role == "--gitdevr-hl-error" && + colors[["--gitdevr-hl-error-bg"]] != "transparent" + ) { + background <- colors[["--gitdevr-hl-error-bg"]] + } + contrast_ratio(colors[[role]], background) + }, + numeric(1) + ) + expect_gte(min(ratios), 4.5) + } +}) + +test_that("Bootstrap RGB companions match their brand colors", { + css <- paste(read_pkgdown_css(), collapse = "\n") + variables <- css_variables(css, '[data-bs-theme="dark"]') + palette <- read_pkgdown_brand()$color$palette + names(palette) <- gsub("-", "_", names(palette), fixed = TRUE) + rgb_names <- grep("-rgb$", names(variables), value = TRUE) + + expect_gt(length(rgb_names), 0) + for (name in rgb_names) { + color <- variables[[sub("-rgb$", "", name)]] + brand_name <- sub("^var\\(--brand-([a-z0-9_]+)\\)$", "\\1", color) + channels <- paste(hex_to_rgb(palette[[brand_name]]), collapse = ", ") + expect_equal(variables[[name]], channels, info = name) + } +}) From 3bffa195f8e554e5a4424af39de4eb2f30cfccfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Hernang=C3=B3mez=20Herrero?= Date: Mon, 19 Oct 2026 20:57:47 +0000 Subject: [PATCH 2/3] Preserve footer `border-image` properties during minification --- inst/pkgdown/assets/BS5/gitdevr.css | 7 +++++-- inst/pkgdown/assets/BS5/gitdevr.min.css | 2 +- tests/testthat/test-template-css.R | 17 ++++++++++++++++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/inst/pkgdown/assets/BS5/gitdevr.css b/inst/pkgdown/assets/BS5/gitdevr.css index 817a240..e85db83 100644 --- a/inst/pkgdown/assets/BS5/gitdevr.css +++ b/inst/pkgdown/assets/BS5/gitdevr.css @@ -177,10 +177,13 @@ footer { padding-bottom: 1rem; margin-bottom: 0; /* Extend only the painted background, keeping the container width. */ - border-image: linear-gradient( + border-image-source: linear-gradient( var(--gitdevr-footer-bg), var(--gitdevr-footer-bg) - ) fill 0 / 0 / 0 100vw; + ); + border-image-slice: 0 fill; + border-image-width: 0; + border-image-outset: 0 100vw; font-family: "Inter Tight", Roboto; font-weight: 700; background-color: var(--gitdevr-footer-bg) !important; diff --git a/inst/pkgdown/assets/BS5/gitdevr.min.css b/inst/pkgdown/assets/BS5/gitdevr.min.css index 6d08269..a04ceae 100644 --- a/inst/pkgdown/assets/BS5/gitdevr.min.css +++ b/inst/pkgdown/assets/BS5/gitdevr.min.css @@ -1 +1 @@ -/*! Minified with sass; RGB companions are generated from the brand palette. */[data-bs-theme="dark"]{color-scheme:dark;--bs-body-bg: var(--brand-dk_body);--bs-body-bg-rgb: 36, 41, 47;--bs-body-color: var(--brand-white);--bs-body-color-rgb: 255, 255, 255;--bs-gray-500: var(--brand-dk_gray);--bs-blue: var(--brand-dk_blue);--bs-blue-rgb: 121, 184, 255;--bs-blue-color: var(--brand-dk_blue);--bs-blue-color-rgb: 121, 184, 255;--bs-primary: var(--brand-dk_black);--bs-primary-rgb: 55, 62, 71;--bs-primary-color: var(--brand-dk_black);--bs-primary-color-rgb: 55, 62, 71;--bs-secondary: var(--brand-dk_gray);--bs-secondary-rgb: 168, 179, 193;--bs-secondary-color: var(--brand-dk_gray);--bs-success: var(--brand-dk_green);--bs-success-rgb: 111, 221, 140;--bs-success-color: var(--brand-dk_green);--bs-success-color-rgb: 111, 221, 140;--bs-info: var(--brand-dk_purple);--bs-info-rgb: 184, 167, 230;--bs-info-color: var(--brand-dk_purple);--bs-info-color-rgb: 184, 167, 230;--bs-warning: var(--brand-dk_orange);--bs-warning-rgb: 227, 186, 82;--bs-warning-color: var(--brand-dk_orange);--bs-warning-color-rgb: 227, 186, 82;--bs-danger: var(--brand-dk_red);--bs-danger-rgb: 238, 143, 149;--bs-danger-color: var(--brand-dk_red);--bs-danger-color-rgb: 238, 143, 149;--bs-light: var(--brand-light);--bs-light-rgb: 248, 249, 250;--bs-light-color: var(--brand-light);--bs-light-color-rgb: 248, 249, 250;--bs-dark: var(--brand-dk_dark);--bs-dark-rgb: 52, 58, 64;--bs-dark-color: var(--brand-dk_dark);--bs-dark-color-rgb: 52, 58, 64;--bs-link: var(--brand-dk_blue);--bs-link-rgb: 121, 184, 255;--bs-link-color: var(--brand-dk_blue);--bs-link-color-rgb: 121, 184, 255;--bs-link-hover: color-mix(in srgb, var(--bs-link-color) 70%, white);--bs-link-hover-color: var(--bs-link-hover);--bs-code-color: var(--brand-dk_code)}main img{margin-left:auto;margin-right:auto;border-radius:var(--bs-border-radius)}.caption,.figure,.figcaption,figcaption,caption{color:var(--bs-secondary);margin-left:auto;margin-right:auto;margin-top:1rem;margin-bottom:1rem;font-size:0.875rem;width:100%}.navbar-brand,#navbar,.navbar .dropdown-item{font-family:"Inter Tight", Roboto;font-weight:800}.navbar .text-muted{color:var(--bs-gray) !important}.navbar .text-danger{color:#ff4d4f !important}#navbar .nav-link:hover,#navbar .nav-link:focus{color:var(--brand-dk_gray) !important;background-color:transparent}#navbar .dropdown-menu .dropdown-item.active:hover,#navbar .dropdown-menu .dropdown-item.active:focus{color:var(--brand-dk_gray)}#navbar .nav-item.active .nav-link,#navbar .dropdown-menu .dropdown-item.active{color:var(--bs-gray-200);background:transparent}#navbar .dropdown-menu .dropdown-item .fa{opacity:1;color:inherit}.navbar-toggler{border:none}.navbar-nav .nav-item.dropdown ul li:first-child hr{display:none}.algolia-autocomplete .aa-dropdown-menu{color:var(--bs-body-color);background-color:var(--bs-body-bg)}mark,.mark{background:linear-gradient(-100deg, RGBA(var(--bs-link-color-rgb), 0.2), RGBA(var(--bs-link-color-rgb), 0.7) 95%, RGBA(var(--bs-link-color-rgb), 0.1));color:var(--bs-body-color)}.nav-pills,.nav-tabs{--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color)}.nav-item .nav-link:hover,.nav-pills .nav-link:focus-visible{background-color:rgba(var(--bs-body-color-rgb), 0.08);color:var(--bs-link-hover-color)}.nav-pills .nav-link.active:hover,.nav-pills .nav-link.active:focus-visible{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}footer{--gitdevr-footer-bg: var(--brand-footer_bg);padding-bottom:1rem;margin-bottom:0;border-image:linear-gradient(var(--gitdevr-footer-bg), var(--gitdevr-footer-bg)) fill NaN/0 100vw;font-family:"Inter Tight", Roboto;font-weight:700;background-color:var(--gitdevr-footer-bg) !important}[data-bs-theme="dark"] footer{--gitdevr-footer-bg: var(--bs-body-bg);background-color:var(--bs-body-bg) !important}footer a{color:var(--brand-footer_link);text-decoration:none}footer a:hover,footer a:focus{color:color-mix(in srgb, var(--brand-footer_link) 80%, var(--gitdevr-footer-bg))}footer .pkgdown-footer-left,footer .pkgdown-footer-right{flex:1 1 0;min-width:0;overflow-wrap:anywhere}@media (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}.callout .callout-btn-toggle .callout-toggle::before{transition:transform 0.2s linear}}img.logo{display:none}.template-home img.logo{display:inline}.author,.date{color:var(--bs-secondary);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);margin-bottom:0.5rem}[data-bs-theme="dark"] img.r-plt,[data-bs-theme="dark"] pre .r-plt.img img,[data-bs-theme="dark"] .cell-output-display img{filter:brightness(80%) !important}[data-bs-theme="dark"] img:not(.logo,.d-inline-block){filter:brightness(80%) !important}blockquote,.blockquote{border-left:0.25rem solid RGBA(var(--bs-link-color-rgb), 0.3);margin-bottom:1rem;font-size:1.25rem}.pkg{font-weight:bold}.tippy-box[data-theme~="light-border"]{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:0.9rem;padding:0.75rem;box-shadow:4px 4px 8px RGBA(var(--bs-body-color-rgb), 0.3);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.code-with-filename{margin-bottom:1rem}.code-with-filename .code-with-filename-file pre:not(.sourceCode){margin-bottom:0;padding-top:0.25rem;padding-bottom:0.25rem;border-radius:0;color:var(--bs-body-color);background-color:RGBA(var(--bs-body-color-rgb), 0.1)}.code-with-filename .code-with-filename-file pre{border-top-left-radius:0;border-top-right-radius:0}code a:any-link{text-decoration:underline;background-color:transparent !important}a>code{text-decoration:underline;color:var(--bs-code-color)}code{word-wrap:break-word}main,main .sourceCode,main .cell,main .callout-body-container{min-width:0}main pre{max-width:100%;overflow-x:auto}.template-reference-topic dt{font-weight:800;font-family:"Inter Tight", Roboto}pre{--gitdevr-hl-bg: #f6f8fa;--gitdevr-hl-fg: #24292f;--gitdevr-hl-comment: #6a737d;--gitdevr-hl-keyword: #cf222e;--gitdevr-hl-number: #0550ae;--gitdevr-hl-constant: #0550ae;--gitdevr-hl-builtin: #953800;--gitdevr-hl-type: #cf222e;--gitdevr-hl-string: #0a3069;--gitdevr-hl-function: #8250df;--gitdevr-hl-operator: #0550ae;--gitdevr-hl-variable: #0550ae;--gitdevr-hl-attribute: #116329;--gitdevr-hl-error: #82071e;--gitdevr-hl-error-bg: #ffebe9;border:none;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}[data-bs-theme="dark"] pre{--gitdevr-hl-bg: #282c34;--gitdevr-hl-fg: #abb2bf;--gitdevr-hl-comment: #8e939d;--gitdevr-hl-keyword: #c678dd;--gitdevr-hl-number: #d19a66;--gitdevr-hl-constant: #e5c07b;--gitdevr-hl-builtin: #e5c07b;--gitdevr-hl-type: #e5c07b;--gitdevr-hl-string: #98c379;--gitdevr-hl-function: #61afef;--gitdevr-hl-operator: #56b6c2;--gitdevr-hl-variable: #e37079;--gitdevr-hl-attribute: #e37079;--gitdevr-hl-error: #abb2bf;--gitdevr-hl-error-bg: transparent;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}pre code,[data-bs-theme="dark"] pre code{color:var(--gitdevr-hl-fg);background-color:transparent}pre code :is(span, a).an,pre code :is(span, a).co,pre code :is(span, a).cv,pre code :is(span, a).do,pre code :is(span, a).in,pre code :is(span, a).re,[data-bs-theme="dark"] pre code :is(span, a).an,[data-bs-theme="dark"] pre code :is(span, a).co,[data-bs-theme="dark"] pre code :is(span, a).cv,[data-bs-theme="dark"] pre code :is(span, a).do,[data-bs-theme="dark"] pre code :is(span, a).in,[data-bs-theme="dark"] pre code :is(span, a).re{color:var(--gitdevr-hl-comment);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cf,pre code :is(span, a).kw,pre code :is(span, a).pp,[data-bs-theme="dark"] pre code :is(span, a).cf,[data-bs-theme="dark"] pre code :is(span, a).kw,[data-bs-theme="dark"] pre code :is(span, a).pp{color:var(--gitdevr-hl-keyword);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bn,pre code :is(span, a).dv,pre code :is(span, a).fl,[data-bs-theme="dark"] pre code :is(span, a).bn,[data-bs-theme="dark"] pre code :is(span, a).dv,[data-bs-theme="dark"] pre code :is(span, a).fl{color:var(--gitdevr-hl-number);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cn,[data-bs-theme="dark"] pre code :is(span, a).cn{color:var(--gitdevr-hl-constant);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bu,[data-bs-theme="dark"] pre code :is(span, a).bu{color:var(--gitdevr-hl-builtin);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).dt,[data-bs-theme="dark"] pre code :is(span, a).dt{color:var(--gitdevr-hl-type);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ch,pre code :is(span, a).im,pre code :is(span, a).ot,pre code :is(span, a).sc,pre code :is(span, a).ss,pre code :is(span, a).st,pre code :is(span, a).vs,[data-bs-theme="dark"] pre code :is(span, a).ch,[data-bs-theme="dark"] pre code :is(span, a).im,[data-bs-theme="dark"] pre code :is(span, a).ot,[data-bs-theme="dark"] pre code :is(span, a).sc,[data-bs-theme="dark"] pre code :is(span, a).ss,[data-bs-theme="dark"] pre code :is(span, a).st,[data-bs-theme="dark"] pre code :is(span, a).vs{color:var(--gitdevr-hl-string);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ex,pre code :is(span, a).fu,[data-bs-theme="dark"] pre code :is(span, a).ex,[data-bs-theme="dark"] pre code :is(span, a).fu{color:var(--gitdevr-hl-function);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).op,[data-bs-theme="dark"] pre code :is(span, a).op{color:var(--gitdevr-hl-operator);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).va,[data-bs-theme="dark"] pre code :is(span, a).va{color:var(--gitdevr-hl-variable);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).at,[data-bs-theme="dark"] pre code :is(span, a).at{color:var(--gitdevr-hl-attribute);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).al,pre code :is(span, a).er,pre code :is(span, a).wa,[data-bs-theme="dark"] pre code :is(span, a).al,[data-bs-theme="dark"] pre code :is(span, a).er,[data-bs-theme="dark"] pre code :is(span, a).wa{color:var(--gitdevr-hl-error);font-style:normal;font-weight:normal;text-decoration:none;background-color:var(--gitdevr-hl-error-bg)}[data-bs-theme="dark"] pre code :is(span, a).fu{font-weight:bold}pre code a:any-link,[data-bs-theme="dark"] pre code a:any-link{text-decoration:underline;text-underline-offset:0.15em}pre code a:focus-visible{outline:2px solid currentColor;outline-offset:2px}[data-bs-theme="dark"] .reactable.html-widget{filter:none !important}[data-bs-theme="dark"] .Reactable{background-color:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-sticky,[data-bs-theme="dark"] .rt-tbody,[data-bs-theme="dark"] .rt-tr,[data-bs-theme="dark"] .rt-tr-group{background-color:inherit}[data-bs-theme="dark"] .rt-table{border-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th{border-bottom:2px solid var(--brand-dk_border);border-left-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-td{border-left-color:var(--brand-dk_border);border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th-group:after{background-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-tr-striped{background-color:rgba(0,0,0,0.03)}[data-bs-theme="dark"] .rt-tr-striped-sticky{background-color:var(--brand-dk_black)}[data-bs-theme="dark"] .rt-tr-highlight:hover,[data-bs-theme="dark"] .rt-tr-highlight-sticky:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-td-filter{border-bottom:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-filter{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:inherit}[data-bs-theme="dark"] .rt-filter:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-expander:after{border-top:7px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-pagination{border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-jump,[data-bs-theme="dark"] .rt-page-size-select{background-color:var(--bs-body-bg);border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-button:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-page-button:active{background-color:rgba(0,0,0,0.08)}[data-bs-theme="dark"] .rt-keyboard-active .rt-page-button:focus{background-color:rgba(0,0,0,0.04)}[data-bs-theme="dark"] .rt-page-button:disabled:focus,[data-bs-theme="dark"] .rt-page-button:disabled:hover{background-color:transparent}[data-bs-theme="dark"] .rt-tbody-no-data .rt-td{border-color:transparent}[data-bs-theme="dark"] .rt-search{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-search:active,[data-bs-theme="dark"] .rt-search:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-borderless .rt-td,[data-bs-theme="dark"] .rt-tr-group:first-child>.rt-tr:first-child .rt-td{border-top-color:var(--brand-dk_border)}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:0.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:0.4em 0.7em;border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout.callout-style-default{border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:0.9rem;font-weight:400;margin-bottom:-0.4em;margin-top:0.5em}.callout.callout-style-default .callout-body{font-size:0.9rem;font-weight:400;padding-left:0.5em;padding-right:0.5em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:0.2em;margin-bottom:-0.2em}.callout.callout-empty-content>.callout-header{margin-bottom:0em;border-bottom-right-radius:calc(0.25rem + -1px)}.callout>.callout-header.collapsed{border-bottom-right-radius:calc(0.25rem + -1px)}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:0.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:0.9rem;padding-left:0.5em;padding-right:0.5em;border-top-right-radius:calc(0.25rem + -1px)}.callout.callout-style-default .callout-body>:first-child{padding-top:0.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle="collapse"]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded="false"],.callout.callout-style-default .callout-header[aria-expanded="true"]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:0.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:0.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.2rem}.callout.callout-style-simple:not(.callout-titled) .callout-body>:last-child,.callout.callout-style-simple:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.5em}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:0.9rem;width:0.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:0.9rem 0.9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-header[aria-expanded="false"] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded="true"] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:0.2em;padding-right:0.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:0.1em;padding-right:0.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:0.3em;padding-right:0.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:var(--bs-secondary)}div.callout.callout-style-default>.callout-header{background-color:var(--bs-secondary)}div.callout-note.callout{border-left-color:var(--bs-link-color)}div.callout-note.callout-style-default>.callout-header{background-color:RGBA(var(--bs-link-color-rgb), 0.1)}div.callout-note:not(.callout-titled) .callout-icon::before,div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:var(--bs-success)}div.callout-tip.callout-style-default>.callout-header{background-color:RGBA(var(--bs-success-rgb), 0.1)}div.callout-tip:not(.callout-titled) .callout-icon::before,div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:var(--bs-warning)}div.callout-warning.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-warning:not(.callout-titled) .callout-icon::before,div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:var(--bs-warning)}div.callout-caution.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-caution:not(.callout-titled) .callout-icon::before,div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:var(--bs-danger)}div.callout-important.callout-style-default>.callout-header{background-color:RGBA(var(--bs-danger-rgb), 0.1)}div.callout-important:not(.callout-titled) .callout-icon::before,div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-note:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-tip:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-warning:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-caution:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-important:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-body-container.callout-body pre{margin-left:calc(var(--bs-gutter-x) * 0.5) !important;margin-right:calc(var(--bs-gutter-x) * 0.5) !important}div.callout-body-container.callout-body .btn-copy-ex{right:18px !important}.screen-reader-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px}[data-bs-theme="dark"] .btn-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-primary{--gitdevr-btn-bg: var(--bs-primary-color);--gitdevr-btn-fg: var(--bs-body-color);--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb)}[data-bs-theme="dark"] .btn-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-default,[data-bs-theme="dark"] .btn-primary,[data-bs-theme="dark"] .btn-success,[data-bs-theme="dark"] .btn-info,[data-bs-theme="dark"] .btn-warning,[data-bs-theme="dark"] .btn-danger{--bs-btn-color: var(--gitdevr-btn-fg);--bs-btn-bg: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 85%, white);--bs-btn-hover-border-color: var(--bs-btn-hover-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 80%, white);--bs-btn-active-border-color: var(--bs-btn-active-bg);--bs-btn-disabled-color: var(--gitdevr-btn-fg);--bs-btn-disabled-bg: var(--gitdevr-btn-bg);--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-outline-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-outline-primary{--gitdevr-btn-bg: var(--bs-link-color);--gitdevr-btn-fg: var(--bs-body-bg);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)}[data-bs-theme="dark"] .btn-outline-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-outline-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-outline-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-outline-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-outline-default,[data-bs-theme="dark"] .btn-outline-primary,[data-bs-theme="dark"] .btn-outline-success,[data-bs-theme="dark"] .btn-outline-info,[data-bs-theme="dark"] .btn-outline-warning,[data-bs-theme="dark"] .btn-outline-danger{--bs-btn-color: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-bg: transparent;--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: var(--gitdevr-btn-bg);--bs-btn-hover-border-color: var(--gitdevr-btn-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: var(--gitdevr-btn-bg);--bs-btn-active-border-color: var(--gitdevr-btn-bg);--bs-btn-disabled-color: var(--gitdevr-btn-bg);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-link{--bs-btn-color: var(--bs-link-color);--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-disabled-color: var(--bs-secondary);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)} +/*! Minified with sass; RGB companions are generated from the brand palette. */[data-bs-theme="dark"]{color-scheme:dark;--bs-body-bg: var(--brand-dk_body);--bs-body-bg-rgb: 36, 41, 47;--bs-body-color: var(--brand-white);--bs-body-color-rgb: 255, 255, 255;--bs-gray-500: var(--brand-dk_gray);--bs-blue: var(--brand-dk_blue);--bs-blue-rgb: 121, 184, 255;--bs-blue-color: var(--brand-dk_blue);--bs-blue-color-rgb: 121, 184, 255;--bs-primary: var(--brand-dk_black);--bs-primary-rgb: 55, 62, 71;--bs-primary-color: var(--brand-dk_black);--bs-primary-color-rgb: 55, 62, 71;--bs-secondary: var(--brand-dk_gray);--bs-secondary-rgb: 168, 179, 193;--bs-secondary-color: var(--brand-dk_gray);--bs-success: var(--brand-dk_green);--bs-success-rgb: 111, 221, 140;--bs-success-color: var(--brand-dk_green);--bs-success-color-rgb: 111, 221, 140;--bs-info: var(--brand-dk_purple);--bs-info-rgb: 184, 167, 230;--bs-info-color: var(--brand-dk_purple);--bs-info-color-rgb: 184, 167, 230;--bs-warning: var(--brand-dk_orange);--bs-warning-rgb: 227, 186, 82;--bs-warning-color: var(--brand-dk_orange);--bs-warning-color-rgb: 227, 186, 82;--bs-danger: var(--brand-dk_red);--bs-danger-rgb: 238, 143, 149;--bs-danger-color: var(--brand-dk_red);--bs-danger-color-rgb: 238, 143, 149;--bs-light: var(--brand-light);--bs-light-rgb: 248, 249, 250;--bs-light-color: var(--brand-light);--bs-light-color-rgb: 248, 249, 250;--bs-dark: var(--brand-dk_dark);--bs-dark-rgb: 52, 58, 64;--bs-dark-color: var(--brand-dk_dark);--bs-dark-color-rgb: 52, 58, 64;--bs-link: var(--brand-dk_blue);--bs-link-rgb: 121, 184, 255;--bs-link-color: var(--brand-dk_blue);--bs-link-color-rgb: 121, 184, 255;--bs-link-hover: color-mix(in srgb, var(--bs-link-color) 70%, white);--bs-link-hover-color: var(--bs-link-hover);--bs-code-color: var(--brand-dk_code)}main img{margin-left:auto;margin-right:auto;border-radius:var(--bs-border-radius)}.caption,.figure,.figcaption,figcaption,caption{color:var(--bs-secondary);margin-left:auto;margin-right:auto;margin-top:1rem;margin-bottom:1rem;font-size:0.875rem;width:100%}.navbar-brand,#navbar,.navbar .dropdown-item{font-family:"Inter Tight", Roboto;font-weight:800}.navbar .text-muted{color:var(--bs-gray) !important}.navbar .text-danger{color:#ff4d4f !important}#navbar .nav-link:hover,#navbar .nav-link:focus{color:var(--brand-dk_gray) !important;background-color:transparent}#navbar .dropdown-menu .dropdown-item.active:hover,#navbar .dropdown-menu .dropdown-item.active:focus{color:var(--brand-dk_gray)}#navbar .nav-item.active .nav-link,#navbar .dropdown-menu .dropdown-item.active{color:var(--bs-gray-200);background:transparent}#navbar .dropdown-menu .dropdown-item .fa{opacity:1;color:inherit}.navbar-toggler{border:none}.navbar-nav .nav-item.dropdown ul li:first-child hr{display:none}.algolia-autocomplete .aa-dropdown-menu{color:var(--bs-body-color);background-color:var(--bs-body-bg)}mark,.mark{background:linear-gradient(-100deg, RGBA(var(--bs-link-color-rgb), 0.2), RGBA(var(--bs-link-color-rgb), 0.7) 95%, RGBA(var(--bs-link-color-rgb), 0.1));color:var(--bs-body-color)}.nav-pills,.nav-tabs{--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color)}.nav-item .nav-link:hover,.nav-pills .nav-link:focus-visible{background-color:rgba(var(--bs-body-color-rgb), 0.08);color:var(--bs-link-hover-color)}.nav-pills .nav-link.active:hover,.nav-pills .nav-link.active:focus-visible{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}footer{--gitdevr-footer-bg: var(--brand-footer_bg);padding-bottom:1rem;margin-bottom:0;border-image-source:linear-gradient(var(--gitdevr-footer-bg), var(--gitdevr-footer-bg));border-image-slice:0 fill;border-image-width:0;border-image-outset:0 100vw;font-family:"Inter Tight", Roboto;font-weight:700;background-color:var(--gitdevr-footer-bg) !important}[data-bs-theme="dark"] footer{--gitdevr-footer-bg: var(--bs-body-bg);background-color:var(--bs-body-bg) !important}footer a{color:var(--brand-footer_link);text-decoration:none}footer a:hover,footer a:focus{color:color-mix(in srgb, var(--brand-footer_link) 80%, var(--gitdevr-footer-bg))}footer .pkgdown-footer-left,footer .pkgdown-footer-right{flex:1 1 0;min-width:0;overflow-wrap:anywhere}@media (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}.callout .callout-btn-toggle .callout-toggle::before{transition:transform 0.2s linear}}img.logo{display:none}.template-home img.logo{display:inline}.author,.date{color:var(--bs-secondary);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);margin-bottom:0.5rem}[data-bs-theme="dark"] img.r-plt,[data-bs-theme="dark"] pre .r-plt.img img,[data-bs-theme="dark"] .cell-output-display img{filter:brightness(80%) !important}[data-bs-theme="dark"] img:not(.logo,.d-inline-block){filter:brightness(80%) !important}blockquote,.blockquote{border-left:0.25rem solid RGBA(var(--bs-link-color-rgb), 0.3);margin-bottom:1rem;font-size:1.25rem}.pkg{font-weight:bold}.tippy-box[data-theme~="light-border"]{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:0.9rem;padding:0.75rem;box-shadow:4px 4px 8px RGBA(var(--bs-body-color-rgb), 0.3);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.code-with-filename{margin-bottom:1rem}.code-with-filename .code-with-filename-file pre:not(.sourceCode){margin-bottom:0;padding-top:0.25rem;padding-bottom:0.25rem;border-radius:0;color:var(--bs-body-color);background-color:RGBA(var(--bs-body-color-rgb), 0.1)}.code-with-filename .code-with-filename-file pre{border-top-left-radius:0;border-top-right-radius:0}code a:any-link{text-decoration:underline;background-color:transparent !important}a>code{text-decoration:underline;color:var(--bs-code-color)}code{word-wrap:break-word}main,main .sourceCode,main .cell,main .callout-body-container{min-width:0}main pre{max-width:100%;overflow-x:auto}.template-reference-topic dt{font-weight:800;font-family:"Inter Tight", Roboto}pre{--gitdevr-hl-bg: #f6f8fa;--gitdevr-hl-fg: #24292f;--gitdevr-hl-comment: #6a737d;--gitdevr-hl-keyword: #cf222e;--gitdevr-hl-number: #0550ae;--gitdevr-hl-constant: #0550ae;--gitdevr-hl-builtin: #953800;--gitdevr-hl-type: #cf222e;--gitdevr-hl-string: #0a3069;--gitdevr-hl-function: #8250df;--gitdevr-hl-operator: #0550ae;--gitdevr-hl-variable: #0550ae;--gitdevr-hl-attribute: #116329;--gitdevr-hl-error: #82071e;--gitdevr-hl-error-bg: #ffebe9;border:none;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}[data-bs-theme="dark"] pre{--gitdevr-hl-bg: #282c34;--gitdevr-hl-fg: #abb2bf;--gitdevr-hl-comment: #8e939d;--gitdevr-hl-keyword: #c678dd;--gitdevr-hl-number: #d19a66;--gitdevr-hl-constant: #e5c07b;--gitdevr-hl-builtin: #e5c07b;--gitdevr-hl-type: #e5c07b;--gitdevr-hl-string: #98c379;--gitdevr-hl-function: #61afef;--gitdevr-hl-operator: #56b6c2;--gitdevr-hl-variable: #e37079;--gitdevr-hl-attribute: #e37079;--gitdevr-hl-error: #abb2bf;--gitdevr-hl-error-bg: transparent;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}pre code,[data-bs-theme="dark"] pre code{color:var(--gitdevr-hl-fg);background-color:transparent}pre code :is(span, a).an,pre code :is(span, a).co,pre code :is(span, a).cv,pre code :is(span, a).do,pre code :is(span, a).in,pre code :is(span, a).re,[data-bs-theme="dark"] pre code :is(span, a).an,[data-bs-theme="dark"] pre code :is(span, a).co,[data-bs-theme="dark"] pre code :is(span, a).cv,[data-bs-theme="dark"] pre code :is(span, a).do,[data-bs-theme="dark"] pre code :is(span, a).in,[data-bs-theme="dark"] pre code :is(span, a).re{color:var(--gitdevr-hl-comment);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cf,pre code :is(span, a).kw,pre code :is(span, a).pp,[data-bs-theme="dark"] pre code :is(span, a).cf,[data-bs-theme="dark"] pre code :is(span, a).kw,[data-bs-theme="dark"] pre code :is(span, a).pp{color:var(--gitdevr-hl-keyword);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bn,pre code :is(span, a).dv,pre code :is(span, a).fl,[data-bs-theme="dark"] pre code :is(span, a).bn,[data-bs-theme="dark"] pre code :is(span, a).dv,[data-bs-theme="dark"] pre code :is(span, a).fl{color:var(--gitdevr-hl-number);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cn,[data-bs-theme="dark"] pre code :is(span, a).cn{color:var(--gitdevr-hl-constant);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bu,[data-bs-theme="dark"] pre code :is(span, a).bu{color:var(--gitdevr-hl-builtin);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).dt,[data-bs-theme="dark"] pre code :is(span, a).dt{color:var(--gitdevr-hl-type);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ch,pre code :is(span, a).im,pre code :is(span, a).ot,pre code :is(span, a).sc,pre code :is(span, a).ss,pre code :is(span, a).st,pre code :is(span, a).vs,[data-bs-theme="dark"] pre code :is(span, a).ch,[data-bs-theme="dark"] pre code :is(span, a).im,[data-bs-theme="dark"] pre code :is(span, a).ot,[data-bs-theme="dark"] pre code :is(span, a).sc,[data-bs-theme="dark"] pre code :is(span, a).ss,[data-bs-theme="dark"] pre code :is(span, a).st,[data-bs-theme="dark"] pre code :is(span, a).vs{color:var(--gitdevr-hl-string);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ex,pre code :is(span, a).fu,[data-bs-theme="dark"] pre code :is(span, a).ex,[data-bs-theme="dark"] pre code :is(span, a).fu{color:var(--gitdevr-hl-function);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).op,[data-bs-theme="dark"] pre code :is(span, a).op{color:var(--gitdevr-hl-operator);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).va,[data-bs-theme="dark"] pre code :is(span, a).va{color:var(--gitdevr-hl-variable);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).at,[data-bs-theme="dark"] pre code :is(span, a).at{color:var(--gitdevr-hl-attribute);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).al,pre code :is(span, a).er,pre code :is(span, a).wa,[data-bs-theme="dark"] pre code :is(span, a).al,[data-bs-theme="dark"] pre code :is(span, a).er,[data-bs-theme="dark"] pre code :is(span, a).wa{color:var(--gitdevr-hl-error);font-style:normal;font-weight:normal;text-decoration:none;background-color:var(--gitdevr-hl-error-bg)}[data-bs-theme="dark"] pre code :is(span, a).fu{font-weight:bold}pre code a:any-link,[data-bs-theme="dark"] pre code a:any-link{text-decoration:underline;text-underline-offset:0.15em}pre code a:focus-visible{outline:2px solid currentColor;outline-offset:2px}[data-bs-theme="dark"] .reactable.html-widget{filter:none !important}[data-bs-theme="dark"] .Reactable{background-color:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-sticky,[data-bs-theme="dark"] .rt-tbody,[data-bs-theme="dark"] .rt-tr,[data-bs-theme="dark"] .rt-tr-group{background-color:inherit}[data-bs-theme="dark"] .rt-table{border-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th{border-bottom:2px solid var(--brand-dk_border);border-left-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-td{border-left-color:var(--brand-dk_border);border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th-group:after{background-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-tr-striped{background-color:rgba(0,0,0,0.03)}[data-bs-theme="dark"] .rt-tr-striped-sticky{background-color:var(--brand-dk_black)}[data-bs-theme="dark"] .rt-tr-highlight:hover,[data-bs-theme="dark"] .rt-tr-highlight-sticky:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-td-filter{border-bottom:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-filter{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:inherit}[data-bs-theme="dark"] .rt-filter:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-expander:after{border-top:7px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-pagination{border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-jump,[data-bs-theme="dark"] .rt-page-size-select{background-color:var(--bs-body-bg);border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-button:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-page-button:active{background-color:rgba(0,0,0,0.08)}[data-bs-theme="dark"] .rt-keyboard-active .rt-page-button:focus{background-color:rgba(0,0,0,0.04)}[data-bs-theme="dark"] .rt-page-button:disabled:focus,[data-bs-theme="dark"] .rt-page-button:disabled:hover{background-color:transparent}[data-bs-theme="dark"] .rt-tbody-no-data .rt-td{border-color:transparent}[data-bs-theme="dark"] .rt-search{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-search:active,[data-bs-theme="dark"] .rt-search:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-borderless .rt-td,[data-bs-theme="dark"] .rt-tr-group:first-child>.rt-tr:first-child .rt-td{border-top-color:var(--brand-dk_border)}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:0.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:0.4em 0.7em;border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout.callout-style-default{border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:0.9rem;font-weight:400;margin-bottom:-0.4em;margin-top:0.5em}.callout.callout-style-default .callout-body{font-size:0.9rem;font-weight:400;padding-left:0.5em;padding-right:0.5em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:0.2em;margin-bottom:-0.2em}.callout.callout-empty-content>.callout-header{margin-bottom:0em;border-bottom-right-radius:calc(0.25rem + -1px)}.callout>.callout-header.collapsed{border-bottom-right-radius:calc(0.25rem + -1px)}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:0.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:0.9rem;padding-left:0.5em;padding-right:0.5em;border-top-right-radius:calc(0.25rem + -1px)}.callout.callout-style-default .callout-body>:first-child{padding-top:0.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle="collapse"]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded="false"],.callout.callout-style-default .callout-header[aria-expanded="true"]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:0.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:0.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.2rem}.callout.callout-style-simple:not(.callout-titled) .callout-body>:last-child,.callout.callout-style-simple:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.5em}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:0.9rem;width:0.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:0.9rem 0.9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-header[aria-expanded="false"] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded="true"] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:0.2em;padding-right:0.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:0.1em;padding-right:0.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:0.3em;padding-right:0.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:var(--bs-secondary)}div.callout.callout-style-default>.callout-header{background-color:var(--bs-secondary)}div.callout-note.callout{border-left-color:var(--bs-link-color)}div.callout-note.callout-style-default>.callout-header{background-color:RGBA(var(--bs-link-color-rgb), 0.1)}div.callout-note:not(.callout-titled) .callout-icon::before,div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:var(--bs-success)}div.callout-tip.callout-style-default>.callout-header{background-color:RGBA(var(--bs-success-rgb), 0.1)}div.callout-tip:not(.callout-titled) .callout-icon::before,div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:var(--bs-warning)}div.callout-warning.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-warning:not(.callout-titled) .callout-icon::before,div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:var(--bs-warning)}div.callout-caution.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-caution:not(.callout-titled) .callout-icon::before,div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:var(--bs-danger)}div.callout-important.callout-style-default>.callout-header{background-color:RGBA(var(--bs-danger-rgb), 0.1)}div.callout-important:not(.callout-titled) .callout-icon::before,div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-note:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-tip:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-warning:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-caution:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-important:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-body-container.callout-body pre{margin-left:calc(var(--bs-gutter-x) * 0.5) !important;margin-right:calc(var(--bs-gutter-x) * 0.5) !important}div.callout-body-container.callout-body .btn-copy-ex{right:18px !important}.screen-reader-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px}[data-bs-theme="dark"] .btn-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-primary{--gitdevr-btn-bg: var(--bs-primary-color);--gitdevr-btn-fg: var(--bs-body-color);--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb)}[data-bs-theme="dark"] .btn-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-default,[data-bs-theme="dark"] .btn-primary,[data-bs-theme="dark"] .btn-success,[data-bs-theme="dark"] .btn-info,[data-bs-theme="dark"] .btn-warning,[data-bs-theme="dark"] .btn-danger{--bs-btn-color: var(--gitdevr-btn-fg);--bs-btn-bg: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 85%, white);--bs-btn-hover-border-color: var(--bs-btn-hover-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 80%, white);--bs-btn-active-border-color: var(--bs-btn-active-bg);--bs-btn-disabled-color: var(--gitdevr-btn-fg);--bs-btn-disabled-bg: var(--gitdevr-btn-bg);--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-outline-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-outline-primary{--gitdevr-btn-bg: var(--bs-link-color);--gitdevr-btn-fg: var(--bs-body-bg);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)}[data-bs-theme="dark"] .btn-outline-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-outline-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-outline-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-outline-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-outline-default,[data-bs-theme="dark"] .btn-outline-primary,[data-bs-theme="dark"] .btn-outline-success,[data-bs-theme="dark"] .btn-outline-info,[data-bs-theme="dark"] .btn-outline-warning,[data-bs-theme="dark"] .btn-outline-danger{--bs-btn-color: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-bg: transparent;--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: var(--gitdevr-btn-bg);--bs-btn-hover-border-color: var(--gitdevr-btn-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: var(--gitdevr-btn-bg);--bs-btn-active-border-color: var(--gitdevr-btn-bg);--bs-btn-disabled-color: var(--gitdevr-btn-bg);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-link{--bs-btn-color: var(--bs-link-color);--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-disabled-color: var(--bs-secondary);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)} diff --git a/tests/testthat/test-template-css.R b/tests/testthat/test-template-css.R index a778d32..3cf8617 100644 --- a/tests/testthat/test-template-css.R +++ b/tests/testthat/test-template-css.R @@ -66,7 +66,7 @@ test_that("template stylesheets cover light and dark components", { expect_lt(file.size(paths[[2]]), file.size(paths[[1]])) }) -test_that("code block palettes preserve accessible GitHub and One Dark colors", { +test_that("code palettes preserve accessible GitHub and One Dark colors", { css <- paste(read_pkgdown_css(), collapse = "\n") highlight <- substring( css, @@ -161,3 +161,18 @@ test_that("Bootstrap RGB companions match their brand colors", { expect_equal(variables[[name]], channels, info = name) } }) + + +test_that("minified footer retains valid full-width background properties", { + css <- paste( + readLines(pkgdown_file("assets", "BS5", "gitdevr.min.css")), + collapse = "\n" + ) + footer <- css_block(css, "footer") + + expect_match(footer, "border-image-source:linear-gradient", fixed = TRUE) + expect_match(footer, "border-image-slice:0 fill", fixed = TRUE) + expect_match(footer, "border-image-width:0", fixed = TRUE) + expect_match(footer, "border-image-outset:0 100vw", fixed = TRUE) + expect_no_match(css, "NaN", fixed = TRUE) +}) From eb34bbc9587c9dec6e1e4dd93ed3180cbb941cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Hernang=C3=B3mez=20Herrero?= Date: Mon, 19 Oct 2026 21:01:12 +0000 Subject: [PATCH 3/3] Restore the original footer styles --- NEWS.md | 2 +- inst/pkgdown/assets/BS5/gitdevr.css | 71 ++++++++++++++++++++----- inst/pkgdown/assets/BS5/gitdevr.min.css | 2 +- tests/testthat/test-template-css.R | 15 ------ 4 files changed, 60 insertions(+), 30 deletions(-) diff --git a/NEWS.md b/NEWS.md index adf7e68..f2e60ef 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,7 +2,7 @@ - Code blocks now use the GitHub palette in light mode and One Dark in dark mode, with small adjustments to comments and One Dark names for accessible contrast. - Navigation hover and focus states have improved contrast, and linked code tokens retain their underline. -- Footer backgrounds span the page without widening its layout, and mobile code blocks scroll within their containers. +- Mobile code blocks scroll within their containers. - Page transitions and callout icon animations respect reduced motion preferences. - The package is in active development. - `test()` now returns `NULL` invisibly, as documented. diff --git a/inst/pkgdown/assets/BS5/gitdevr.css b/inst/pkgdown/assets/BS5/gitdevr.css index e85db83..81b1185 100644 --- a/inst/pkgdown/assets/BS5/gitdevr.css +++ b/inst/pkgdown/assets/BS5/gitdevr.css @@ -174,16 +174,13 @@ mark, /* ---Footer--- */ footer { --gitdevr-footer-bg: var(--brand-footer_bg); - padding-bottom: 1rem; + width: 100vw; + position: relative; + left: 50%; + right: 50%; + margin-left: -50vw; + margin-right: -50vw; margin-bottom: 0; - /* Extend only the painted background, keeping the container width. */ - border-image-source: linear-gradient( - var(--gitdevr-footer-bg), - var(--gitdevr-footer-bg) - ); - border-image-slice: 0 fill; - border-image-width: 0; - border-image-outset: 0 100vw; font-family: "Inter Tight", Roboto; font-weight: 700; background-color: var(--gitdevr-footer-bg) !important; @@ -209,11 +206,59 @@ footer a:focus { ); } -footer .pkgdown-footer-left, footer .pkgdown-footer-right { - flex: 1 1 0; - min-width: 0; - overflow-wrap: anywhere; + margin-right: auto; + padding-right: 1.25rem; +} + +footer .pkgdown-footer-left { + margin-left: auto; + padding-left: 1.25rem; +} + +@media screen and (max-width: 576px) { + footer .pkgdown-footer-right, + footer .pkgdown-footer-left { + margin-right: 0.75rem; + margin-left: 0.75rem; + padding-left: 12px; + padding-right: 12px; + } +} + +@media (max-width: 768px) and (min-width: 576px) { + footer .pkgdown-footer-right, + footer .pkgdown-footer-left { + max-width: 270px; + } +} + +@media (max-width: 992px) and (min-width: 768px) { + footer .pkgdown-footer-right, + footer .pkgdown-footer-left { + max-width: 360px; + } +} + +@media (max-width: 1200px) and (min-width: 992px) { + footer .pkgdown-footer-right, + footer .pkgdown-footer-left { + max-width: 480px; + } +} + +@media (max-width: 1400px) and (min-width: 1200px) { + footer .pkgdown-footer-right, + footer .pkgdown-footer-left { + max-width: 570px; + } +} + +@media (min-width: 1400px) { + footer .pkgdown-footer-right, + footer .pkgdown-footer-left { + max-width: 660px; + } } /* ---Misc--- */ diff --git a/inst/pkgdown/assets/BS5/gitdevr.min.css b/inst/pkgdown/assets/BS5/gitdevr.min.css index a04ceae..5a2bfbb 100644 --- a/inst/pkgdown/assets/BS5/gitdevr.min.css +++ b/inst/pkgdown/assets/BS5/gitdevr.min.css @@ -1 +1 @@ -/*! Minified with sass; RGB companions are generated from the brand palette. */[data-bs-theme="dark"]{color-scheme:dark;--bs-body-bg: var(--brand-dk_body);--bs-body-bg-rgb: 36, 41, 47;--bs-body-color: var(--brand-white);--bs-body-color-rgb: 255, 255, 255;--bs-gray-500: var(--brand-dk_gray);--bs-blue: var(--brand-dk_blue);--bs-blue-rgb: 121, 184, 255;--bs-blue-color: var(--brand-dk_blue);--bs-blue-color-rgb: 121, 184, 255;--bs-primary: var(--brand-dk_black);--bs-primary-rgb: 55, 62, 71;--bs-primary-color: var(--brand-dk_black);--bs-primary-color-rgb: 55, 62, 71;--bs-secondary: var(--brand-dk_gray);--bs-secondary-rgb: 168, 179, 193;--bs-secondary-color: var(--brand-dk_gray);--bs-success: var(--brand-dk_green);--bs-success-rgb: 111, 221, 140;--bs-success-color: var(--brand-dk_green);--bs-success-color-rgb: 111, 221, 140;--bs-info: var(--brand-dk_purple);--bs-info-rgb: 184, 167, 230;--bs-info-color: var(--brand-dk_purple);--bs-info-color-rgb: 184, 167, 230;--bs-warning: var(--brand-dk_orange);--bs-warning-rgb: 227, 186, 82;--bs-warning-color: var(--brand-dk_orange);--bs-warning-color-rgb: 227, 186, 82;--bs-danger: var(--brand-dk_red);--bs-danger-rgb: 238, 143, 149;--bs-danger-color: var(--brand-dk_red);--bs-danger-color-rgb: 238, 143, 149;--bs-light: var(--brand-light);--bs-light-rgb: 248, 249, 250;--bs-light-color: var(--brand-light);--bs-light-color-rgb: 248, 249, 250;--bs-dark: var(--brand-dk_dark);--bs-dark-rgb: 52, 58, 64;--bs-dark-color: var(--brand-dk_dark);--bs-dark-color-rgb: 52, 58, 64;--bs-link: var(--brand-dk_blue);--bs-link-rgb: 121, 184, 255;--bs-link-color: var(--brand-dk_blue);--bs-link-color-rgb: 121, 184, 255;--bs-link-hover: color-mix(in srgb, var(--bs-link-color) 70%, white);--bs-link-hover-color: var(--bs-link-hover);--bs-code-color: var(--brand-dk_code)}main img{margin-left:auto;margin-right:auto;border-radius:var(--bs-border-radius)}.caption,.figure,.figcaption,figcaption,caption{color:var(--bs-secondary);margin-left:auto;margin-right:auto;margin-top:1rem;margin-bottom:1rem;font-size:0.875rem;width:100%}.navbar-brand,#navbar,.navbar .dropdown-item{font-family:"Inter Tight", Roboto;font-weight:800}.navbar .text-muted{color:var(--bs-gray) !important}.navbar .text-danger{color:#ff4d4f !important}#navbar .nav-link:hover,#navbar .nav-link:focus{color:var(--brand-dk_gray) !important;background-color:transparent}#navbar .dropdown-menu .dropdown-item.active:hover,#navbar .dropdown-menu .dropdown-item.active:focus{color:var(--brand-dk_gray)}#navbar .nav-item.active .nav-link,#navbar .dropdown-menu .dropdown-item.active{color:var(--bs-gray-200);background:transparent}#navbar .dropdown-menu .dropdown-item .fa{opacity:1;color:inherit}.navbar-toggler{border:none}.navbar-nav .nav-item.dropdown ul li:first-child hr{display:none}.algolia-autocomplete .aa-dropdown-menu{color:var(--bs-body-color);background-color:var(--bs-body-bg)}mark,.mark{background:linear-gradient(-100deg, RGBA(var(--bs-link-color-rgb), 0.2), RGBA(var(--bs-link-color-rgb), 0.7) 95%, RGBA(var(--bs-link-color-rgb), 0.1));color:var(--bs-body-color)}.nav-pills,.nav-tabs{--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color)}.nav-item .nav-link:hover,.nav-pills .nav-link:focus-visible{background-color:rgba(var(--bs-body-color-rgb), 0.08);color:var(--bs-link-hover-color)}.nav-pills .nav-link.active:hover,.nav-pills .nav-link.active:focus-visible{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}footer{--gitdevr-footer-bg: var(--brand-footer_bg);padding-bottom:1rem;margin-bottom:0;border-image-source:linear-gradient(var(--gitdevr-footer-bg), var(--gitdevr-footer-bg));border-image-slice:0 fill;border-image-width:0;border-image-outset:0 100vw;font-family:"Inter Tight", Roboto;font-weight:700;background-color:var(--gitdevr-footer-bg) !important}[data-bs-theme="dark"] footer{--gitdevr-footer-bg: var(--bs-body-bg);background-color:var(--bs-body-bg) !important}footer a{color:var(--brand-footer_link);text-decoration:none}footer a:hover,footer a:focus{color:color-mix(in srgb, var(--brand-footer_link) 80%, var(--gitdevr-footer-bg))}footer .pkgdown-footer-left,footer .pkgdown-footer-right{flex:1 1 0;min-width:0;overflow-wrap:anywhere}@media (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}.callout .callout-btn-toggle .callout-toggle::before{transition:transform 0.2s linear}}img.logo{display:none}.template-home img.logo{display:inline}.author,.date{color:var(--bs-secondary);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);margin-bottom:0.5rem}[data-bs-theme="dark"] img.r-plt,[data-bs-theme="dark"] pre .r-plt.img img,[data-bs-theme="dark"] .cell-output-display img{filter:brightness(80%) !important}[data-bs-theme="dark"] img:not(.logo,.d-inline-block){filter:brightness(80%) !important}blockquote,.blockquote{border-left:0.25rem solid RGBA(var(--bs-link-color-rgb), 0.3);margin-bottom:1rem;font-size:1.25rem}.pkg{font-weight:bold}.tippy-box[data-theme~="light-border"]{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:0.9rem;padding:0.75rem;box-shadow:4px 4px 8px RGBA(var(--bs-body-color-rgb), 0.3);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.code-with-filename{margin-bottom:1rem}.code-with-filename .code-with-filename-file pre:not(.sourceCode){margin-bottom:0;padding-top:0.25rem;padding-bottom:0.25rem;border-radius:0;color:var(--bs-body-color);background-color:RGBA(var(--bs-body-color-rgb), 0.1)}.code-with-filename .code-with-filename-file pre{border-top-left-radius:0;border-top-right-radius:0}code a:any-link{text-decoration:underline;background-color:transparent !important}a>code{text-decoration:underline;color:var(--bs-code-color)}code{word-wrap:break-word}main,main .sourceCode,main .cell,main .callout-body-container{min-width:0}main pre{max-width:100%;overflow-x:auto}.template-reference-topic dt{font-weight:800;font-family:"Inter Tight", Roboto}pre{--gitdevr-hl-bg: #f6f8fa;--gitdevr-hl-fg: #24292f;--gitdevr-hl-comment: #6a737d;--gitdevr-hl-keyword: #cf222e;--gitdevr-hl-number: #0550ae;--gitdevr-hl-constant: #0550ae;--gitdevr-hl-builtin: #953800;--gitdevr-hl-type: #cf222e;--gitdevr-hl-string: #0a3069;--gitdevr-hl-function: #8250df;--gitdevr-hl-operator: #0550ae;--gitdevr-hl-variable: #0550ae;--gitdevr-hl-attribute: #116329;--gitdevr-hl-error: #82071e;--gitdevr-hl-error-bg: #ffebe9;border:none;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}[data-bs-theme="dark"] pre{--gitdevr-hl-bg: #282c34;--gitdevr-hl-fg: #abb2bf;--gitdevr-hl-comment: #8e939d;--gitdevr-hl-keyword: #c678dd;--gitdevr-hl-number: #d19a66;--gitdevr-hl-constant: #e5c07b;--gitdevr-hl-builtin: #e5c07b;--gitdevr-hl-type: #e5c07b;--gitdevr-hl-string: #98c379;--gitdevr-hl-function: #61afef;--gitdevr-hl-operator: #56b6c2;--gitdevr-hl-variable: #e37079;--gitdevr-hl-attribute: #e37079;--gitdevr-hl-error: #abb2bf;--gitdevr-hl-error-bg: transparent;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}pre code,[data-bs-theme="dark"] pre code{color:var(--gitdevr-hl-fg);background-color:transparent}pre code :is(span, a).an,pre code :is(span, a).co,pre code :is(span, a).cv,pre code :is(span, a).do,pre code :is(span, a).in,pre code :is(span, a).re,[data-bs-theme="dark"] pre code :is(span, a).an,[data-bs-theme="dark"] pre code :is(span, a).co,[data-bs-theme="dark"] pre code :is(span, a).cv,[data-bs-theme="dark"] pre code :is(span, a).do,[data-bs-theme="dark"] pre code :is(span, a).in,[data-bs-theme="dark"] pre code :is(span, a).re{color:var(--gitdevr-hl-comment);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cf,pre code :is(span, a).kw,pre code :is(span, a).pp,[data-bs-theme="dark"] pre code :is(span, a).cf,[data-bs-theme="dark"] pre code :is(span, a).kw,[data-bs-theme="dark"] pre code :is(span, a).pp{color:var(--gitdevr-hl-keyword);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bn,pre code :is(span, a).dv,pre code :is(span, a).fl,[data-bs-theme="dark"] pre code :is(span, a).bn,[data-bs-theme="dark"] pre code :is(span, a).dv,[data-bs-theme="dark"] pre code :is(span, a).fl{color:var(--gitdevr-hl-number);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cn,[data-bs-theme="dark"] pre code :is(span, a).cn{color:var(--gitdevr-hl-constant);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bu,[data-bs-theme="dark"] pre code :is(span, a).bu{color:var(--gitdevr-hl-builtin);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).dt,[data-bs-theme="dark"] pre code :is(span, a).dt{color:var(--gitdevr-hl-type);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ch,pre code :is(span, a).im,pre code :is(span, a).ot,pre code :is(span, a).sc,pre code :is(span, a).ss,pre code :is(span, a).st,pre code :is(span, a).vs,[data-bs-theme="dark"] pre code :is(span, a).ch,[data-bs-theme="dark"] pre code :is(span, a).im,[data-bs-theme="dark"] pre code :is(span, a).ot,[data-bs-theme="dark"] pre code :is(span, a).sc,[data-bs-theme="dark"] pre code :is(span, a).ss,[data-bs-theme="dark"] pre code :is(span, a).st,[data-bs-theme="dark"] pre code :is(span, a).vs{color:var(--gitdevr-hl-string);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ex,pre code :is(span, a).fu,[data-bs-theme="dark"] pre code :is(span, a).ex,[data-bs-theme="dark"] pre code :is(span, a).fu{color:var(--gitdevr-hl-function);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).op,[data-bs-theme="dark"] pre code :is(span, a).op{color:var(--gitdevr-hl-operator);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).va,[data-bs-theme="dark"] pre code :is(span, a).va{color:var(--gitdevr-hl-variable);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).at,[data-bs-theme="dark"] pre code :is(span, a).at{color:var(--gitdevr-hl-attribute);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).al,pre code :is(span, a).er,pre code :is(span, a).wa,[data-bs-theme="dark"] pre code :is(span, a).al,[data-bs-theme="dark"] pre code :is(span, a).er,[data-bs-theme="dark"] pre code :is(span, a).wa{color:var(--gitdevr-hl-error);font-style:normal;font-weight:normal;text-decoration:none;background-color:var(--gitdevr-hl-error-bg)}[data-bs-theme="dark"] pre code :is(span, a).fu{font-weight:bold}pre code a:any-link,[data-bs-theme="dark"] pre code a:any-link{text-decoration:underline;text-underline-offset:0.15em}pre code a:focus-visible{outline:2px solid currentColor;outline-offset:2px}[data-bs-theme="dark"] .reactable.html-widget{filter:none !important}[data-bs-theme="dark"] .Reactable{background-color:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-sticky,[data-bs-theme="dark"] .rt-tbody,[data-bs-theme="dark"] .rt-tr,[data-bs-theme="dark"] .rt-tr-group{background-color:inherit}[data-bs-theme="dark"] .rt-table{border-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th{border-bottom:2px solid var(--brand-dk_border);border-left-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-td{border-left-color:var(--brand-dk_border);border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th-group:after{background-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-tr-striped{background-color:rgba(0,0,0,0.03)}[data-bs-theme="dark"] .rt-tr-striped-sticky{background-color:var(--brand-dk_black)}[data-bs-theme="dark"] .rt-tr-highlight:hover,[data-bs-theme="dark"] .rt-tr-highlight-sticky:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-td-filter{border-bottom:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-filter{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:inherit}[data-bs-theme="dark"] .rt-filter:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-expander:after{border-top:7px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-pagination{border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-jump,[data-bs-theme="dark"] .rt-page-size-select{background-color:var(--bs-body-bg);border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-button:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-page-button:active{background-color:rgba(0,0,0,0.08)}[data-bs-theme="dark"] .rt-keyboard-active .rt-page-button:focus{background-color:rgba(0,0,0,0.04)}[data-bs-theme="dark"] .rt-page-button:disabled:focus,[data-bs-theme="dark"] .rt-page-button:disabled:hover{background-color:transparent}[data-bs-theme="dark"] .rt-tbody-no-data .rt-td{border-color:transparent}[data-bs-theme="dark"] .rt-search{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-search:active,[data-bs-theme="dark"] .rt-search:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-borderless .rt-td,[data-bs-theme="dark"] .rt-tr-group:first-child>.rt-tr:first-child .rt-td{border-top-color:var(--brand-dk_border)}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:0.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:0.4em 0.7em;border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout.callout-style-default{border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:0.9rem;font-weight:400;margin-bottom:-0.4em;margin-top:0.5em}.callout.callout-style-default .callout-body{font-size:0.9rem;font-weight:400;padding-left:0.5em;padding-right:0.5em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:0.2em;margin-bottom:-0.2em}.callout.callout-empty-content>.callout-header{margin-bottom:0em;border-bottom-right-radius:calc(0.25rem + -1px)}.callout>.callout-header.collapsed{border-bottom-right-radius:calc(0.25rem + -1px)}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:0.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:0.9rem;padding-left:0.5em;padding-right:0.5em;border-top-right-radius:calc(0.25rem + -1px)}.callout.callout-style-default .callout-body>:first-child{padding-top:0.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle="collapse"]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded="false"],.callout.callout-style-default .callout-header[aria-expanded="true"]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:0.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:0.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.2rem}.callout.callout-style-simple:not(.callout-titled) .callout-body>:last-child,.callout.callout-style-simple:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.5em}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:0.9rem;width:0.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:0.9rem 0.9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-header[aria-expanded="false"] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded="true"] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:0.2em;padding-right:0.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:0.1em;padding-right:0.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:0.3em;padding-right:0.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:var(--bs-secondary)}div.callout.callout-style-default>.callout-header{background-color:var(--bs-secondary)}div.callout-note.callout{border-left-color:var(--bs-link-color)}div.callout-note.callout-style-default>.callout-header{background-color:RGBA(var(--bs-link-color-rgb), 0.1)}div.callout-note:not(.callout-titled) .callout-icon::before,div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:var(--bs-success)}div.callout-tip.callout-style-default>.callout-header{background-color:RGBA(var(--bs-success-rgb), 0.1)}div.callout-tip:not(.callout-titled) .callout-icon::before,div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:var(--bs-warning)}div.callout-warning.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-warning:not(.callout-titled) .callout-icon::before,div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:var(--bs-warning)}div.callout-caution.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-caution:not(.callout-titled) .callout-icon::before,div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:var(--bs-danger)}div.callout-important.callout-style-default>.callout-header{background-color:RGBA(var(--bs-danger-rgb), 0.1)}div.callout-important:not(.callout-titled) .callout-icon::before,div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-note:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-tip:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-warning:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-caution:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-important:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-body-container.callout-body pre{margin-left:calc(var(--bs-gutter-x) * 0.5) !important;margin-right:calc(var(--bs-gutter-x) * 0.5) !important}div.callout-body-container.callout-body .btn-copy-ex{right:18px !important}.screen-reader-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px}[data-bs-theme="dark"] .btn-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-primary{--gitdevr-btn-bg: var(--bs-primary-color);--gitdevr-btn-fg: var(--bs-body-color);--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb)}[data-bs-theme="dark"] .btn-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-default,[data-bs-theme="dark"] .btn-primary,[data-bs-theme="dark"] .btn-success,[data-bs-theme="dark"] .btn-info,[data-bs-theme="dark"] .btn-warning,[data-bs-theme="dark"] .btn-danger{--bs-btn-color: var(--gitdevr-btn-fg);--bs-btn-bg: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 85%, white);--bs-btn-hover-border-color: var(--bs-btn-hover-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 80%, white);--bs-btn-active-border-color: var(--bs-btn-active-bg);--bs-btn-disabled-color: var(--gitdevr-btn-fg);--bs-btn-disabled-bg: var(--gitdevr-btn-bg);--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-outline-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-outline-primary{--gitdevr-btn-bg: var(--bs-link-color);--gitdevr-btn-fg: var(--bs-body-bg);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)}[data-bs-theme="dark"] .btn-outline-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-outline-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-outline-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-outline-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-outline-default,[data-bs-theme="dark"] .btn-outline-primary,[data-bs-theme="dark"] .btn-outline-success,[data-bs-theme="dark"] .btn-outline-info,[data-bs-theme="dark"] .btn-outline-warning,[data-bs-theme="dark"] .btn-outline-danger{--bs-btn-color: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-bg: transparent;--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: var(--gitdevr-btn-bg);--bs-btn-hover-border-color: var(--gitdevr-btn-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: var(--gitdevr-btn-bg);--bs-btn-active-border-color: var(--gitdevr-btn-bg);--bs-btn-disabled-color: var(--gitdevr-btn-bg);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-link{--bs-btn-color: var(--bs-link-color);--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-disabled-color: var(--bs-secondary);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)} +/*! Minified with sass; RGB companions are generated from the brand palette. */[data-bs-theme="dark"]{color-scheme:dark;--bs-body-bg: var(--brand-dk_body);--bs-body-bg-rgb: 36, 41, 47;--bs-body-color: var(--brand-white);--bs-body-color-rgb: 255, 255, 255;--bs-gray-500: var(--brand-dk_gray);--bs-blue: var(--brand-dk_blue);--bs-blue-rgb: 121, 184, 255;--bs-blue-color: var(--brand-dk_blue);--bs-blue-color-rgb: 121, 184, 255;--bs-primary: var(--brand-dk_black);--bs-primary-rgb: 55, 62, 71;--bs-primary-color: var(--brand-dk_black);--bs-primary-color-rgb: 55, 62, 71;--bs-secondary: var(--brand-dk_gray);--bs-secondary-rgb: 168, 179, 193;--bs-secondary-color: var(--brand-dk_gray);--bs-success: var(--brand-dk_green);--bs-success-rgb: 111, 221, 140;--bs-success-color: var(--brand-dk_green);--bs-success-color-rgb: 111, 221, 140;--bs-info: var(--brand-dk_purple);--bs-info-rgb: 184, 167, 230;--bs-info-color: var(--brand-dk_purple);--bs-info-color-rgb: 184, 167, 230;--bs-warning: var(--brand-dk_orange);--bs-warning-rgb: 227, 186, 82;--bs-warning-color: var(--brand-dk_orange);--bs-warning-color-rgb: 227, 186, 82;--bs-danger: var(--brand-dk_red);--bs-danger-rgb: 238, 143, 149;--bs-danger-color: var(--brand-dk_red);--bs-danger-color-rgb: 238, 143, 149;--bs-light: var(--brand-light);--bs-light-rgb: 248, 249, 250;--bs-light-color: var(--brand-light);--bs-light-color-rgb: 248, 249, 250;--bs-dark: var(--brand-dk_dark);--bs-dark-rgb: 52, 58, 64;--bs-dark-color: var(--brand-dk_dark);--bs-dark-color-rgb: 52, 58, 64;--bs-link: var(--brand-dk_blue);--bs-link-rgb: 121, 184, 255;--bs-link-color: var(--brand-dk_blue);--bs-link-color-rgb: 121, 184, 255;--bs-link-hover: color-mix(in srgb, var(--bs-link-color) 70%, white);--bs-link-hover-color: var(--bs-link-hover);--bs-code-color: var(--brand-dk_code)}main img{margin-left:auto;margin-right:auto;border-radius:var(--bs-border-radius)}.caption,.figure,.figcaption,figcaption,caption{color:var(--bs-secondary);margin-left:auto;margin-right:auto;margin-top:1rem;margin-bottom:1rem;font-size:0.875rem;width:100%}.navbar-brand,#navbar,.navbar .dropdown-item{font-family:"Inter Tight", Roboto;font-weight:800}.navbar .text-muted{color:var(--bs-gray) !important}.navbar .text-danger{color:#ff4d4f !important}#navbar .nav-link:hover,#navbar .nav-link:focus{color:var(--brand-dk_gray) !important;background-color:transparent}#navbar .dropdown-menu .dropdown-item.active:hover,#navbar .dropdown-menu .dropdown-item.active:focus{color:var(--brand-dk_gray)}#navbar .nav-item.active .nav-link,#navbar .dropdown-menu .dropdown-item.active{color:var(--bs-gray-200);background:transparent}#navbar .dropdown-menu .dropdown-item .fa{opacity:1;color:inherit}.navbar-toggler{border:none}.navbar-nav .nav-item.dropdown ul li:first-child hr{display:none}.algolia-autocomplete .aa-dropdown-menu{color:var(--bs-body-color);background-color:var(--bs-body-bg)}mark,.mark{background:linear-gradient(-100deg, RGBA(var(--bs-link-color-rgb), 0.2), RGBA(var(--bs-link-color-rgb), 0.7) 95%, RGBA(var(--bs-link-color-rgb), 0.1));color:var(--bs-body-color)}.nav-pills,.nav-tabs{--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color)}.nav-item .nav-link:hover,.nav-pills .nav-link:focus-visible{background-color:rgba(var(--bs-body-color-rgb), 0.08);color:var(--bs-link-hover-color)}.nav-pills .nav-link.active:hover,.nav-pills .nav-link.active:focus-visible{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}footer{--gitdevr-footer-bg: var(--brand-footer_bg);width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-bottom:0;font-family:"Inter Tight", Roboto;font-weight:700;background-color:var(--gitdevr-footer-bg) !important}[data-bs-theme="dark"] footer{--gitdevr-footer-bg: var(--bs-body-bg);background-color:var(--bs-body-bg) !important}footer a{color:var(--brand-footer_link);text-decoration:none}footer a:hover,footer a:focus{color:color-mix(in srgb, var(--brand-footer_link) 80%, var(--gitdevr-footer-bg))}footer .pkgdown-footer-right{margin-right:auto;padding-right:1.25rem}footer .pkgdown-footer-left{margin-left:auto;padding-left:1.25rem}@media screen and (max-width: 576px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{margin-right:0.75rem;margin-left:0.75rem;padding-left:12px;padding-right:12px}}@media (max-width: 768px) and (min-width: 576px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:270px}}@media (max-width: 992px) and (min-width: 768px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:360px}}@media (max-width: 1200px) and (min-width: 992px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:480px}}@media (max-width: 1400px) and (min-width: 1200px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:570px}}@media (min-width: 1400px){footer .pkgdown-footer-right,footer .pkgdown-footer-left{max-width:660px}}@media (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}.callout .callout-btn-toggle .callout-toggle::before{transition:transform 0.2s linear}}img.logo{display:none}.template-home img.logo{display:inline}.author,.date{color:var(--bs-secondary);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);margin-bottom:0.5rem}[data-bs-theme="dark"] img.r-plt,[data-bs-theme="dark"] pre .r-plt.img img,[data-bs-theme="dark"] .cell-output-display img{filter:brightness(80%) !important}[data-bs-theme="dark"] img:not(.logo,.d-inline-block){filter:brightness(80%) !important}blockquote,.blockquote{border-left:0.25rem solid RGBA(var(--bs-link-color-rgb), 0.3);margin-bottom:1rem;font-size:1.25rem}.pkg{font-weight:bold}.tippy-box[data-theme~="light-border"]{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:0.9rem;padding:0.75rem;box-shadow:4px 4px 8px RGBA(var(--bs-body-color-rgb), 0.3);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.code-with-filename{margin-bottom:1rem}.code-with-filename .code-with-filename-file pre:not(.sourceCode){margin-bottom:0;padding-top:0.25rem;padding-bottom:0.25rem;border-radius:0;color:var(--bs-body-color);background-color:RGBA(var(--bs-body-color-rgb), 0.1)}.code-with-filename .code-with-filename-file pre{border-top-left-radius:0;border-top-right-radius:0}code a:any-link{text-decoration:underline;background-color:transparent !important}a>code{text-decoration:underline;color:var(--bs-code-color)}code{word-wrap:break-word}main,main .sourceCode,main .cell,main .callout-body-container{min-width:0}main pre{max-width:100%;overflow-x:auto}.template-reference-topic dt{font-weight:800;font-family:"Inter Tight", Roboto}pre{--gitdevr-hl-bg: #f6f8fa;--gitdevr-hl-fg: #24292f;--gitdevr-hl-comment: #6a737d;--gitdevr-hl-keyword: #cf222e;--gitdevr-hl-number: #0550ae;--gitdevr-hl-constant: #0550ae;--gitdevr-hl-builtin: #953800;--gitdevr-hl-type: #cf222e;--gitdevr-hl-string: #0a3069;--gitdevr-hl-function: #8250df;--gitdevr-hl-operator: #0550ae;--gitdevr-hl-variable: #0550ae;--gitdevr-hl-attribute: #116329;--gitdevr-hl-error: #82071e;--gitdevr-hl-error-bg: #ffebe9;border:none;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}[data-bs-theme="dark"] pre{--gitdevr-hl-bg: #282c34;--gitdevr-hl-fg: #abb2bf;--gitdevr-hl-comment: #8e939d;--gitdevr-hl-keyword: #c678dd;--gitdevr-hl-number: #d19a66;--gitdevr-hl-constant: #e5c07b;--gitdevr-hl-builtin: #e5c07b;--gitdevr-hl-type: #e5c07b;--gitdevr-hl-string: #98c379;--gitdevr-hl-function: #61afef;--gitdevr-hl-operator: #56b6c2;--gitdevr-hl-variable: #e37079;--gitdevr-hl-attribute: #e37079;--gitdevr-hl-error: #abb2bf;--gitdevr-hl-error-bg: transparent;color:var(--gitdevr-hl-fg);background-color:var(--gitdevr-hl-bg)}pre code,[data-bs-theme="dark"] pre code{color:var(--gitdevr-hl-fg);background-color:transparent}pre code :is(span, a).an,pre code :is(span, a).co,pre code :is(span, a).cv,pre code :is(span, a).do,pre code :is(span, a).in,pre code :is(span, a).re,[data-bs-theme="dark"] pre code :is(span, a).an,[data-bs-theme="dark"] pre code :is(span, a).co,[data-bs-theme="dark"] pre code :is(span, a).cv,[data-bs-theme="dark"] pre code :is(span, a).do,[data-bs-theme="dark"] pre code :is(span, a).in,[data-bs-theme="dark"] pre code :is(span, a).re{color:var(--gitdevr-hl-comment);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cf,pre code :is(span, a).kw,pre code :is(span, a).pp,[data-bs-theme="dark"] pre code :is(span, a).cf,[data-bs-theme="dark"] pre code :is(span, a).kw,[data-bs-theme="dark"] pre code :is(span, a).pp{color:var(--gitdevr-hl-keyword);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bn,pre code :is(span, a).dv,pre code :is(span, a).fl,[data-bs-theme="dark"] pre code :is(span, a).bn,[data-bs-theme="dark"] pre code :is(span, a).dv,[data-bs-theme="dark"] pre code :is(span, a).fl{color:var(--gitdevr-hl-number);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).cn,[data-bs-theme="dark"] pre code :is(span, a).cn{color:var(--gitdevr-hl-constant);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).bu,[data-bs-theme="dark"] pre code :is(span, a).bu{color:var(--gitdevr-hl-builtin);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).dt,[data-bs-theme="dark"] pre code :is(span, a).dt{color:var(--gitdevr-hl-type);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ch,pre code :is(span, a).im,pre code :is(span, a).ot,pre code :is(span, a).sc,pre code :is(span, a).ss,pre code :is(span, a).st,pre code :is(span, a).vs,[data-bs-theme="dark"] pre code :is(span, a).ch,[data-bs-theme="dark"] pre code :is(span, a).im,[data-bs-theme="dark"] pre code :is(span, a).ot,[data-bs-theme="dark"] pre code :is(span, a).sc,[data-bs-theme="dark"] pre code :is(span, a).ss,[data-bs-theme="dark"] pre code :is(span, a).st,[data-bs-theme="dark"] pre code :is(span, a).vs{color:var(--gitdevr-hl-string);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).ex,pre code :is(span, a).fu,[data-bs-theme="dark"] pre code :is(span, a).ex,[data-bs-theme="dark"] pre code :is(span, a).fu{color:var(--gitdevr-hl-function);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).op,[data-bs-theme="dark"] pre code :is(span, a).op{color:var(--gitdevr-hl-operator);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).va,[data-bs-theme="dark"] pre code :is(span, a).va{color:var(--gitdevr-hl-variable);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).at,[data-bs-theme="dark"] pre code :is(span, a).at{color:var(--gitdevr-hl-attribute);font-style:normal;font-weight:normal;text-decoration:none}pre code :is(span, a).al,pre code :is(span, a).er,pre code :is(span, a).wa,[data-bs-theme="dark"] pre code :is(span, a).al,[data-bs-theme="dark"] pre code :is(span, a).er,[data-bs-theme="dark"] pre code :is(span, a).wa{color:var(--gitdevr-hl-error);font-style:normal;font-weight:normal;text-decoration:none;background-color:var(--gitdevr-hl-error-bg)}[data-bs-theme="dark"] pre code :is(span, a).fu{font-weight:bold}pre code a:any-link,[data-bs-theme="dark"] pre code a:any-link{text-decoration:underline;text-underline-offset:0.15em}pre code a:focus-visible{outline:2px solid currentColor;outline-offset:2px}[data-bs-theme="dark"] .reactable.html-widget{filter:none !important}[data-bs-theme="dark"] .Reactable{background-color:var(--bs-body-bg);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-sticky,[data-bs-theme="dark"] .rt-tbody,[data-bs-theme="dark"] .rt-tr,[data-bs-theme="dark"] .rt-tr-group{background-color:inherit}[data-bs-theme="dark"] .rt-table{border-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th{border-bottom:2px solid var(--brand-dk_border);border-left-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-td{border-left-color:var(--brand-dk_border);border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-th-group:after{background-color:var(--brand-dk_border)}[data-bs-theme="dark"] .rt-tr-striped{background-color:rgba(0,0,0,0.03)}[data-bs-theme="dark"] .rt-tr-striped-sticky{background-color:var(--brand-dk_black)}[data-bs-theme="dark"] .rt-tr-highlight:hover,[data-bs-theme="dark"] .rt-tr-highlight-sticky:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-td-filter{border-bottom:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-filter{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:inherit}[data-bs-theme="dark"] .rt-filter:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-expander:after{border-top:7px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-pagination{border-top:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-jump,[data-bs-theme="dark"] .rt-page-size-select{background-color:var(--bs-body-bg);border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-page-button:hover{background-color:var(--bs-gray-800)}[data-bs-theme="dark"] .rt-page-button:active{background-color:rgba(0,0,0,0.08)}[data-bs-theme="dark"] .rt-keyboard-active .rt-page-button:focus{background-color:rgba(0,0,0,0.04)}[data-bs-theme="dark"] .rt-page-button:disabled:focus,[data-bs-theme="dark"] .rt-page-button:disabled:hover{background-color:transparent}[data-bs-theme="dark"] .rt-tbody-no-data .rt-td{border-color:transparent}[data-bs-theme="dark"] .rt-search{background-color:var(--brand-dk_black);border:1px solid var(--brand-dk_border);color:var(--bs-body-color)}[data-bs-theme="dark"] .rt-search:active,[data-bs-theme="dark"] .rt-search:focus{border:1px solid var(--brand-dk_border)}[data-bs-theme="dark"] .rt-borderless .rt-td,[data-bs-theme="dark"] .rt-tr-group:first-child>.rt-tr:first-child .rt-td{border-top-color:var(--brand-dk_border)}.callout{margin-top:1.25rem;margin-bottom:1.25rem;border-radius:0.25rem;overflow-wrap:break-word}.callout .callout-title-container{overflow-wrap:anywhere}.callout.callout-style-simple{padding:0.4em 0.7em;border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout.callout-style-default{border-left:5px solid;border-right:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-top:1px solid RGBA(var(--bs-body-color-rgb), 0.1);border-bottom:1px solid RGBA(var(--bs-body-color-rgb), 0.1)}.callout .callout-body-container{flex-grow:1}.callout.callout-style-simple .callout-body{font-size:0.9rem;font-weight:400;margin-bottom:-0.4em;margin-top:0.5em}.callout.callout-style-default .callout-body{font-size:0.9rem;font-weight:400;padding-left:0.5em;padding-right:0.5em}.callout:not(.no-icon).callout-titled.callout-style-simple .callout-body{padding-left:1.6em}.callout.callout-titled>.callout-header{padding-top:0.2em;margin-bottom:-0.2em}.callout.callout-empty-content>.callout-header{margin-bottom:0em;border-bottom-right-radius:calc(0.25rem + -1px)}.callout>.callout-header.collapsed{border-bottom-right-radius:calc(0.25rem + -1px)}.callout.callout-style-simple>div.callout-header{border-bottom:none;font-size:0.9rem;font-weight:600;opacity:75%}.callout.callout-style-default>div.callout-header{border-bottom:none;font-weight:600;opacity:85%;font-size:0.9rem;padding-left:0.5em;padding-right:0.5em;border-top-right-radius:calc(0.25rem + -1px)}.callout.callout-style-default .callout-body>:first-child{padding-top:0.5rem;margin-top:0}.callout>div.callout-header[data-bs-toggle="collapse"]{cursor:pointer}.callout.callout-style-default .callout-header[aria-expanded="false"],.callout.callout-style-default .callout-header[aria-expanded="true"]{padding-top:0px;margin-bottom:0px;align-items:center}.callout.callout-titled .callout-body>:last-child:not(.sourceCode),.callout.callout-titled .callout-body>div>:last-child:not(.sourceCode){padding-bottom:0.5rem;margin-bottom:0}.callout:not(.callout-titled) .callout-body>:first-child,.callout:not(.callout-titled) .callout-body>div>:first-child{margin-top:0.25rem}.callout:not(.callout-titled) .callout-body>:last-child,.callout:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.2rem}.callout.callout-style-simple:not(.callout-titled) .callout-body>:last-child,.callout.callout-style-simple:not(.callout-titled) .callout-body>div>:last-child{margin-bottom:0.5em}.callout.callout-style-simple .callout-icon::before,.callout.callout-style-simple .callout-toggle::before{height:1rem;width:1rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:1rem 1rem}.callout.callout-style-default .callout-icon::before,.callout.callout-style-default .callout-toggle::before{height:0.9rem;width:0.9rem;display:inline-block;content:"";background-repeat:no-repeat;background-size:0.9rem 0.9rem}.callout.callout-style-default .callout-toggle::before{margin-top:5px}.callout .callout-header[aria-expanded="false"] .callout-toggle::before{transform:rotate(-90deg)}.callout .callout-header[aria-expanded="true"] .callout-toggle::before{transform:none}.callout.callout-style-simple:not(.no-icon) div.callout-icon-container{padding-top:0.2em;padding-right:0.55em}.callout.callout-style-default:not(.no-icon) div.callout-icon-container{padding-top:0.1em;padding-right:0.35em}.callout.callout-style-default:not(.no-icon) div.callout-title-container{margin-top:-1px}.callout.callout-style-default.callout-caution:not(.no-icon) div.callout-icon-container{padding-top:0.3em;padding-right:0.35em}.callout>.callout-body>.callout-icon-container>.no-icon,.callout>.callout-header>.callout-icon-container>.no-icon{display:none}div.callout.callout{border-left-color:var(--bs-secondary)}div.callout.callout-style-default>.callout-header{background-color:var(--bs-secondary)}div.callout-note.callout{border-left-color:var(--bs-link-color)}div.callout-note.callout-style-default>.callout-header{background-color:RGBA(var(--bs-link-color-rgb), 0.1)}div.callout-note:not(.callout-titled) .callout-icon::before,div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-note .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-tip.callout{border-left-color:var(--bs-success)}div.callout-tip.callout-style-default>.callout-header{background-color:RGBA(var(--bs-success-rgb), 0.1)}div.callout-tip:not(.callout-titled) .callout-icon::before,div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-tip .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-warning.callout{border-left-color:var(--bs-warning)}div.callout-warning.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-warning:not(.callout-titled) .callout-icon::before,div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-warning .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-caution.callout{border-left-color:var(--bs-warning)}div.callout-caution.callout-style-default>.callout-header{background-color:RGBA(var(--bs-warning-rgb), 0.1)}div.callout-caution:not(.callout-titled) .callout-icon::before,div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-caution .callout-toggle::before{background-image:url('data:image/svg+xml,')}div.callout-important.callout{border-left-color:var(--bs-danger)}div.callout-important.callout-style-default>.callout-header{background-color:RGBA(var(--bs-danger-rgb), 0.1)}div.callout-important:not(.callout-titled) .callout-icon::before,div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-important .callout-toggle::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-note:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-note.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-tip:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-tip.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-warning:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-warning.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-caution:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-caution.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}[data-bs-theme="dark"] div.callout-important:not(.callout-titled) .callout-icon::before,[data-bs-theme="dark"] div.callout-important.callout-titled .callout-icon::before{background-image:url('data:image/svg+xml,')}div.callout-body-container.callout-body pre{margin-left:calc(var(--bs-gutter-x) * 0.5) !important;margin-right:calc(var(--bs-gutter-x) * 0.5) !important}div.callout-body-container.callout-body .btn-copy-ex{right:18px !important}.screen-reader-only{position:absolute;clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px}[data-bs-theme="dark"] .btn-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-primary{--gitdevr-btn-bg: var(--bs-primary-color);--gitdevr-btn-fg: var(--bs-body-color);--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb)}[data-bs-theme="dark"] .btn-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-default,[data-bs-theme="dark"] .btn-primary,[data-bs-theme="dark"] .btn-success,[data-bs-theme="dark"] .btn-info,[data-bs-theme="dark"] .btn-warning,[data-bs-theme="dark"] .btn-danger{--bs-btn-color: var(--gitdevr-btn-fg);--bs-btn-bg: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 85%, white);--bs-btn-hover-border-color: var(--bs-btn-hover-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: color-mix(in srgb, var(--gitdevr-btn-bg) 80%, white);--bs-btn-active-border-color: var(--bs-btn-active-bg);--bs-btn-disabled-color: var(--gitdevr-btn-fg);--bs-btn-disabled-bg: var(--gitdevr-btn-bg);--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-outline-default{--gitdevr-btn-bg: var(--brand-dk_gray);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb)}[data-bs-theme="dark"] .btn-outline-primary{--gitdevr-btn-bg: var(--bs-link-color);--gitdevr-btn-fg: var(--bs-body-bg);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)}[data-bs-theme="dark"] .btn-outline-success{--gitdevr-btn-bg: var(--bs-success-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-success-rgb)}[data-bs-theme="dark"] .btn-outline-info{--gitdevr-btn-bg: var(--bs-info-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-info-rgb)}[data-bs-theme="dark"] .btn-outline-warning{--gitdevr-btn-bg: var(--bs-warning-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-warning-rgb)}[data-bs-theme="dark"] .btn-outline-danger{--gitdevr-btn-bg: var(--bs-danger-color);--gitdevr-btn-fg: var(--brand-black);--bs-btn-focus-shadow-rgb: var(--bs-danger-rgb)}[data-bs-theme="dark"] .btn-outline-default,[data-bs-theme="dark"] .btn-outline-primary,[data-bs-theme="dark"] .btn-outline-success,[data-bs-theme="dark"] .btn-outline-info,[data-bs-theme="dark"] .btn-outline-warning,[data-bs-theme="dark"] .btn-outline-danger{--bs-btn-color: var(--gitdevr-btn-bg);--bs-btn-border-color: var(--gitdevr-btn-bg);--bs-btn-bg: transparent;--bs-btn-hover-color: var(--gitdevr-btn-fg);--bs-btn-hover-bg: var(--gitdevr-btn-bg);--bs-btn-hover-border-color: var(--gitdevr-btn-bg);--bs-btn-active-color: var(--gitdevr-btn-fg);--bs-btn-active-bg: var(--gitdevr-btn-bg);--bs-btn-active-border-color: var(--gitdevr-btn-bg);--bs-btn-disabled-color: var(--gitdevr-btn-bg);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: var(--gitdevr-btn-bg)}[data-bs-theme="dark"] .btn-link{--bs-btn-color: var(--bs-link-color);--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-disabled-color: var(--bs-secondary);--bs-btn-focus-shadow-rgb: var(--bs-link-color-rgb)} diff --git a/tests/testthat/test-template-css.R b/tests/testthat/test-template-css.R index 3cf8617..355dc27 100644 --- a/tests/testthat/test-template-css.R +++ b/tests/testthat/test-template-css.R @@ -161,18 +161,3 @@ test_that("Bootstrap RGB companions match their brand colors", { expect_equal(variables[[name]], channels, info = name) } }) - - -test_that("minified footer retains valid full-width background properties", { - css <- paste( - readLines(pkgdown_file("assets", "BS5", "gitdevr.min.css")), - collapse = "\n" - ) - footer <- css_block(css, "footer") - - expect_match(footer, "border-image-source:linear-gradient", fixed = TRUE) - expect_match(footer, "border-image-slice:0 fill", fixed = TRUE) - expect_match(footer, "border-image-width:0", fixed = TRUE) - expect_match(footer, "border-image-outset:0 100vw", fixed = TRUE) - expect_no_match(css, "NaN", fixed = TRUE) -})