Skip to content

Commit

Permalink
feat: Keep attrs on .main of page_sidebar() (#1058)
Browse files Browse the repository at this point in the history
* page_sidebar: Keep attributes on `.main` container

* Update test to show where `page_sidebar()` attrs end up
  • Loading branch information
gadenbuie authored May 29, 2024
1 parent 245fef4 commit 7dbfb72
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
7 changes: 5 additions & 2 deletions R/page.R
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,8 @@ page_sidebar <- function(

sidebar <- maybe_page_sidebar(sidebar)

dots <- separate_arguments(...)

page_fillable(
padding = 0,
gap = 0,
Expand All @@ -289,15 +291,16 @@ page_sidebar <- function(
fillable = fillable,
border = FALSE,
border_radius = FALSE,
page_sidebar_main(...)
!!!dots$attribs,
page_sidebar_main(dots$children)
)
)
}

page_sidebar_main <- function(...) {
as_fill_carrier(
div(
class = "bslib-page-sidebar-main bslib-gap-spacing",
class = "bslib-page-sidebar-main bslib-gap-spacing",
...
)
)
Expand Down
6 changes: 3 additions & 3 deletions tests/testthat/_snaps/page.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
---

Code
renderTags(page_sidebar("main", title = "Title", sidebar = sidebar(open = "always")))$
html
renderTags(page_sidebar("main", title = "Title", sidebar = sidebar(open = "always"),
`data-attr` = "here"))$html
Output
<body class="bslib-page-fill bslib-gap-spacing bslib-flow-mobile bslib-page-sidebar html-fill-container" style="padding:0px;gap:0px;">
<div class="navbar navbar-static-top">
Expand All @@ -43,7 +43,7 @@
</div>
</div>
<div class="bslib-sidebar-layout bslib-mb-spacing html-fill-item" data-bslib-sidebar-border="false" data-bslib-sidebar-border-radius="false" data-bslib-sidebar-init="TRUE" data-collapsible-desktop="false" data-collapsible-mobile="false" data-open-desktop="always" data-open-mobile="always" data-require-bs-caller="layout_sidebar()" data-require-bs-version="5" style="--_sidebar-width:250px;">
<div class="main bslib-gap-spacing html-fill-container">
<div class="main bslib-gap-spacing html-fill-container" data-attr="here">
<div class="bslib-page-sidebar-main bslib-gap-spacing html-fill-item html-fill-container">main</div>
</div>
<aside class="sidebar">
Expand Down
3 changes: 2 additions & 1 deletion tests/testthat/test-page.R
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ test_that("page_sidebar()", {
"main",
title = "Title",
# Removes the {bsicons} icon
sidebar = sidebar(open = "always")
sidebar = sidebar(open = "always"),
"data-attr" = "here"
)
)$html,
cran = TRUE
Expand Down

0 comments on commit 7dbfb72

Please sign in to comment.