* Follow up to #4040: enable busy indicators by default
* Make our spinner invisible when wrapped inside a shinycssloaders::withSpinner() container
* Add the ability to disable/customize recalculating opacity (i.e., fade)
* Fix bug with fade not being applied correctly when the output container has no children
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
* Update NEWS.md
* Follow up to b7e7af: need to also rest opacity for :empty case (for initial calculation)
* Rd docs fixes/improvements
---------
Co-authored-by: cpsievert <cpsievert@users.noreply.github.com>
* chore: Enable return of dependency CSS as Sass files
Makes it possible to extract the Sass files prior to compilation for the following CSS:
* shiny
* selectize
* ionrangeslider
* daterange picker
* refactor: Take a more functional approach
* fix: missing selectizeDir
* rename: __SassLayer --> __Sass
* First pass at a proper state machine for managing output progress state
* `yarn build` (GitHub Actions)
* Add useBusyIndicators(), spinnerOptions(), and pulseOptions()
* Bring in new spinner defaults
* Use an actual div instead of a pseudo-element since chromium can't be trusted to show them when animated
* Revert "Use an actual div instead of a pseudo-element since chromium can't be trusted to show them when animated"
This reverts commit 6167c1dfd7.
* Embed animation inside svg (to avoid Chromium bug). Consolidate options into a singular busyIndicatorOptions()
* Add to pkgdown reference
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
* Bump version
* `yarn build` (GitHub Actions)
* Sync package version (GitHub Actions)
* Apply suggestions from code review
Co-authored-by: Garrick Aden-Buie <garrick@adenbuie.com>
* Update snapshots
* `devtools::document()` (GitHub Actions)
* Address feedback
* Bring in more spinner type options
* fix use of fs
* Code review
* `devtools::document()` (GitHub Actions)
* Sync package version (GitHub Actions)
* Update snapshots
* Fix comments
* Make snapshot consistent cross-platform
* Fix namespace issue
* Reduce specificity of position relative
* Skip snapshot on windows; update news
* Whoops
* Scope spinner customizations to parent element by default
* Update snapshots
* Reorder spinner types
* Set a private random seed in tests
* Better id naming
---------
Co-authored-by: cpsievert <cpsievert@users.noreply.github.com>
Co-authored-by: Garrick Aden-Buie <garrick@adenbuie.com>
* Close#4011. Fix and simplify reactlog's version check approach.
* Better variable name
* Use test_path() for consistent path location
* Just use packageDescription()
* Update tests/testthat/test-reactlog.R
* Update tests/testthat/test-reactlog.R
* Update DESCRIPTION
* Revert "feat: Deprecate with warnings, expect `renderDataTable()` to be deprecated (#4007)"
This reverts commit a8c6065b9f.
* Use shiny's datatables implementation when testing
* feat: Deprecate with a warning
Use `rlang::warn()` instead of `rlang::inform()` and use the lifecycle warning class so that lifecycle infrastructure works
* tests: expect that renderDataTable is deprecated
* tests: invert warning and error expectation
* update 01_hello
* Updates 06_tabsets example to use bslib
* Pre-emptively adds legacy versions of all of the original examples
* Switches tabset example to use navset_card_underline()
* Updates example 2
* Updates 03_reactivity
* Updates 04_mpg
* Updates 05_sliders
* Updates 07_widgets
* Deletes 08_html_legacy. Original example does not need updated.
* Updates 09_upload
* Updates 10_download
* Updates 11_timer
* Keep inst/example unchanged; add new examples under inst/shiny and update runExamples() to use that directory by default
* Update news
* Fix some code formatting issues
* Update NEWS.md
* Don't default to showcase mode
---------
Co-authored-by: Garrett Grolemund <grolemund@gmail.com>
Co-authored-by: Carson <cpsievert1@gmail.com>
* Update datatables.js from 1.10.5 to 1.10.22. Deprecate renderDataTable()/DTOutput()
* Update news; go back to old types version
* Clean up
* Update NEWS.md
* Update NEWS.md
* feat(shiny.error.unhandled): Allow users to provide an unhandled error handler
* Extract `shinyUserErrorUnhandled()` to use in MockSession too
* tests(shiny.error.unhandled): Test that unhandled errors are handled safely
* docs: Clarify that session still ends with an unhandled error
* docs: Add news item
* Add field with devmode status to the initial config object sent over on connection
* Add indicator of "devmode" status to the client via an injected script tag on load. This is modeled after what is done for showcase mode.
* Add logic to flag all duplicated IDs when in devmode
* Only show error console in devmode.
* Remove left-over devmode status in code
* `yarn build` (GitHub Actions)
* Build shiny.js
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
---------
Co-authored-by: nstrayer <nstrayer@users.noreply.github.com>
Co-authored-by: Winston Chang <winston@posit.co>
Co-authored-by: wch <wch@users.noreply.github.com>
Adds a req(FALSE, cancelOutput="progress") which behaves similarly to
cancelOutput=TRUE, but also keeps the output in .recalculating state
even across flush cycles. This is called "persistent progress" and an
output can leave this state when it is invalidated again and doesn't
call req(FALSE, cancelOutput="progress") during that flush cycle.
This will be useful for implementing long-running tasks that don't
hold up the flush cycle, leaving sessions responsive to do other
tasks.