-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,57 @@ | ||
|
||
web_component <- function(tagName, ...) { | ||
js_dep <- component_js_dependency("webComponents", type = "module") | ||
args <- c(list(js_dep), rlang::list2(...)) | ||
tag(tagName, args) | ||
} | ||
|
||
|
||
component_js_dependency <- function(name, ...) { | ||
minified <- get_shiny_devmode_option("shiny.minified", default = TRUE) | ||
|
||
htmlDependency( | ||
name = paste0("bslib-", name), | ||
name = paste0("bslib-", name, "-js"), | ||
version = get_package_version("bslib"), | ||
package = "bslib", | ||
src = file.path("components", "dist", name), | ||
all_files = TRUE, | ||
script = list( | ||
src = paste0(name, if (minified) ".min", ".js"), | ||
... | ||
) | ||
), | ||
all_files = TRUE | ||
} | ||
|
||
# Pre-compiled component styles | ||
component_dependency_css <- function(name) { | ||
htmlDependency( | ||
name = paste0("bslib-", name, "-styles"), | ||
version = get_package_version("bslib"), | ||
package = "bslib", | ||
src = file.path("components", "dist", name), | ||
stylesheet = paste0(name, ".css") | ||
) | ||
} | ||
|
||
# Run-time (Sass) component styles | ||
component_dependency_sass <- function(theme, name) { | ||
if (!is_bs_theme(theme) || identical(theme, bs_theme())) { | ||
component_dependency_css(name) | ||
} else { | ||
component_dependency_sass_(theme, name) | ||
} | ||
} | ||
|
||
component_dependency_sass_ <- function(theme, name) { | ||
scss_files <- list( | ||
path_components("scss", "mixins", "_mixins.scss"), | ||
path_components("scss", paste0(name, ".scss")) | ||
) | ||
|
||
bs_dependency( | ||
input = lapply(scss_files, sass_file), | ||
theme = theme, | ||
name = paste0("bslib-", name, "-styles"), | ||
version = get_package_version("bslib"), | ||
cache_key_extra = get_package_version("bslib"), | ||
.sass_args = list(options = sass_options(output_style = "compressed")) | ||
) | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
@import "spacer"; | ||
@import "tab-fill"; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
$spacer: 1rem !default; | ||
|
||
:root { | ||
// Controls default spacing in layout containers (e.g, layout_columns()) | ||
--bslib-spacer: #{$spacer}; | ||
--bslib-mb-spacer: var(--bslib-spacer, 1rem); | ||
} | ||
|
||
// Some things like card(), p(), inputs, etc. want some margin-bottom by default | ||
// so you can plop them anywhere and you get spacing between rows. However, now | ||
// that we have layout utilities like page_fillable(), layout_columns(), | ||
// layout_sidebar(), etc. where we can control the gap between rows/columns, we | ||
// need a way to reset those margin-bottom to 0 in those special contexts | ||
// | ||
// We do this by adding this class to components (e.g., card())... | ||
.bslib-mb-spacer { | ||
margin-bottom: var(--bslib-mb-spacer); | ||
} | ||
|
||
// ...And this class for layout containers (e.g, layout_columns()) | ||
.bslib-gap-spacing { | ||
gap: var(--bslib-mb-spacer); | ||
> .bslib-mb-spacer, > .form-group, > p, > pre { | ||
margin-bottom: 0; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
.tab-content { | ||
// Workaround for pkgdown's CSS to make tab-pane all a consistent height | ||
// https://github.com/r-lib/pkgdown/blob/956f07/inst/BS5/assets/pkgdown.scss#L342-L355 | ||
>.tab-pane.html-fill-container { | ||
display: none; | ||
} | ||
|
||
// Take precedence over Bootstrap's `display:block` rule | ||
>.active.html-fill-container { | ||
display: flex; | ||
} | ||
|
||
// Another workaround for pkgdown adding extra padding we didn't ask for | ||
// https://github.com/r-lib/pkgdown/blob/956f07/inst/BS5/assets/pkgdown.scss#L335-L337 | ||
&.html-fill-container { | ||
padding: 0; | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.bslib-page-title{background-color:#212529;color:#fff;font-size:1.5rem;font-weight:300;padding:var(--bslib-spacer, 1rem);padding-left:1.5rem;margin-bottom:0} |