Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
0c14c45
feat: Add toast notification R API
gadenbuie Oct 24, 2025
2facc38
feat: Add TypeScript toast message handlers
gadenbuie Oct 24, 2025
cffd3fd
feat: Add toast SCSS styling
gadenbuie Oct 24, 2025
dc54ca9
feat: Register toast component in TypeScript index
gadenbuie Oct 24, 2025
a307bde
test: Add comprehensive tests for toast component
gadenbuie Oct 24, 2025
69b8571
feat: Add toast demo Shiny app
gadenbuie Oct 24, 2025
6b3f105
chore: document()
gadenbuie Oct 24, 2025
ec6c667
chore: Add missing `shinyRenderDependencies()` and clean up lint errors
gadenbuie Oct 24, 2025
410ae7b
fix: Use window.bootstrap for Toast with type safety
gadenbuie Oct 24, 2025
945373c
sass: toast styles
gadenbuie Oct 24, 2025
f34fab8
chore: better wrapping of bootstrap.Toast
gadenbuie Oct 24, 2025
70c78e7
refactor: Rewrite toast demo as interactive builder
gadenbuie Oct 24, 2025
e6cc4ac
chore: reorganize inputs in example app
gadenbuie Oct 24, 2025
a17b2d9
fix: Only show icon once
gadenbuie Oct 24, 2025
b9187e5
fix: Change toast_header() status to timestamp text
gadenbuie Oct 24, 2025
b3ab761
refactor: Consolidate autohide and duration into autohide_s
gadenbuie Oct 24, 2025
2304681
feat: Add progress bar and hover pause for autohiding toasts
gadenbuie Oct 25, 2025
10c01b5
fix: Reverse progress bar animation to fill left-to-right
gadenbuie Oct 25, 2025
8c7e903
fix function name
gadenbuie Oct 25, 2025
a2cf06d
chore: move toast progress bar styles out of js
gadenbuie Oct 25, 2025
ff69351
chore: use text color and put progress bar in header if there
gadenbuie Oct 25, 2025
d75696d
fix: Pause autohide delay while hovering over notification
gadenbuie Oct 25, 2025
0e335ab
chore: yarn build
gadenbuie Oct 25, 2025
cb77e2f
feat(toast): Let position be any order of top/bottom and left/center/…
gadenbuie Oct 26, 2025
c46f028
chore: Get body from ... as first arg, require `header` be named
gadenbuie Oct 27, 2025
1640910
refactor: autohide_s checking, now throws if invalid
gadenbuie Oct 27, 2025
c33f8c5
feat: support `type = "error"` as alias for `"danger"`
gadenbuie Oct 27, 2025
5b7f31a
refactor: ID generation and simplify show_toast implementation
gadenbuie Oct 27, 2025
6b90409
refactor: close button styles
gadenbuie Oct 27, 2025
bba4d46
refactor: `show_toast()` and `hide_toast()` to use `@describeIn` and …
gadenbuie Oct 27, 2025
6a9d70b
refactor: Don't show empty toasts (and don't error if hiding an empty…
gadenbuie Oct 27, 2025
28cbf9d
refactor: `toast_header()` returns a data structure rather than tags
gadenbuie Oct 27, 2025
f5d267a
docs: Consolidate `toast()` and `toast_header()` docs
gadenbuie Oct 27, 2025
b52d7c3
chore: Clean up comments and remove `htmltools::` prefixes
gadenbuie Oct 27, 2025
ce53b25
chore: remove unused prefixes
gadenbuie Oct 27, 2025
3b4938a
refactor: Refactor and simplify toast.ts
gadenbuie Oct 27, 2025
6ae5b4a
chore: update namespace
gadenbuie Oct 27, 2025
22a45c9
fix: Don't need to store or override bootstrap hide method
gadenbuie Oct 27, 2025
8cf950b
chore: drop null options
gadenbuie Oct 27, 2025
967337d
chore: Use `shinyRenderContent` for toast UI
gadenbuie Oct 27, 2025
2cb05ad
chore: yarn build
gadenbuie Oct 27, 2025
e4d0136
chore: Update demo app to remove `body` argument
gadenbuie Oct 27, 2025
3895f25
feat: toasts with the same ID replace existing toasts
gadenbuie Oct 27, 2025
f307809
chore(sass): Hide empty toast bodies
gadenbuie Oct 27, 2025
459abf7
docs: Document behavior for toasts with same ID
gadenbuie Oct 27, 2025
20314f1
fix: header icon spacing and status text alignment
gadenbuie Oct 27, 2025
5497e42
chore: Use bootstrap icons for example app
gadenbuie Oct 27, 2025
0c50b3e
chore: yarn build
gadenbuie Oct 27, 2025
00c9998
chore: bump dev version
gadenbuie Oct 27, 2025
f235285
chore: rebuild data and component js/css
gadenbuie Oct 27, 2025
41a0e13
chore: git and build ignore some deployment assets
gadenbuie Oct 27, 2025
7bb62de
docs: Include shiny example in docs
gadenbuie Oct 27, 2025
67a697c
docs: Update pkgdown reference index
gadenbuie Oct 27, 2025
b0e2610
tests: Review, refactor, rewrite tests
gadenbuie Oct 28, 2025
6d93f24
tests: no coverage on print method and that's okay
gadenbuie Oct 28, 2025
3201c13
tests: Fill in test for toast header pass-through
gadenbuie Oct 28, 2025
da3d621
chore(hide_toast): Include ignored dots for consistency with `show_to…
gadenbuie Oct 28, 2025
71f5e28
chore: bump dev version again
gadenbuie Oct 28, 2025
a6f08d0
`yarn build` (GitHub Actions)
gadenbuie Oct 28, 2025
deb9c16
feat(toast): Allow disabling close button when auto-hide disabled
gadenbuie Oct 28, 2025
a2539a8
refactor: Rename `autohide_s` -> `duration_s`
gadenbuie Oct 28, 2025
77528fb
demo: Make action button toast not closable
gadenbuie Oct 28, 2025
5471659
chore: move `toast_header()` closer to `toast()`
gadenbuie Oct 29, 2025
75da125
feat: Add `icon` argument to `toast()`
gadenbuie Oct 29, 2025
be32c75
tests: fix and update snaps
gadenbuie Oct 29, 2025
0c83ed6
`devtools::document()` (GitHub Actions)
gadenbuie Oct 29, 2025
3b60699
refactor: Renaming things for clarity
gadenbuie Oct 29, 2025
060c8a5
`yarn build` (GitHub Actions)
gadenbuie Oct 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,5 @@ inst/lib/bsw3/.npmignore
^inst/examples-shiny/brand.yml/Monda\.ttf$
^inst/examples-shiny/brand.yml/Monda-OFL\.txt$
^AGENTS\.md$
^inst/examples-shiny/toast/\.gitignore$
^inst/examples-shiny/brand\.yml/\.gitignore$
3 changes: 2 additions & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: bslib
Title: Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown'
Version: 0.9.0.9000
Version: 0.9.0.9002
Authors@R: c(
person("Carson", "Sievert", , "[email protected]", role = c("aut", "cre"),
comment = c(ORCID = "0000-0002-4958-2844")),
Expand Down Expand Up @@ -115,6 +115,7 @@ Collate:
'shiny-devmode.R'
'sidebar.R'
'staticimports.R'
'toast.R'
'tooltip.R'
'utils-deps.R'
'utils-shiny.R'
Expand Down
6 changes: 6 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Generated by roxygen2: do not edit by hand

S3method(as.tags,bslib_sidebar)
S3method(as.tags,bslib_toast)
S3method(bind_task_button,ExtendedTask)
S3method(bind_task_button,default)
S3method(brand_resolve,"NULL")
Expand All @@ -17,6 +18,7 @@ S3method(print,bslib_fragment)
S3method(print,bslib_navbar_options)
S3method(print,bslib_page)
S3method(print,bslib_showcase_layout)
S3method(print,bslib_toast)
S3method(print,bslib_value_box_theme)
S3method(save_html,bslib_fragment)
S3method(save_html,bslib_page)
Expand Down Expand Up @@ -86,6 +88,7 @@ export(font_collection)
export(font_face)
export(font_google)
export(font_link)
export(hide_toast)
export(input_dark_mode)
export(input_submit_textarea)
export(input_switch)
Expand Down Expand Up @@ -140,13 +143,16 @@ export(popover)
export(precompiled_css_path)
export(remove_all_fill)
export(run_with_themer)
export(show_toast)
export(showcase_bottom)
export(showcase_left_center)
export(showcase_top_right)
export(sidebar)
export(sidebar_toggle)
export(theme_bootswatch)
export(theme_version)
export(toast)
export(toast_header)
export(toggle_dark_mode)
export(toggle_popover)
export(toggle_sidebar)
Expand Down
Loading