* Close#4027: Fix opacity dimming on recalculating uiOutput(). Also, only apply display:content when there are child elements
* Update inst/www/shared/shiny_scss/shiny.bootstrap5.scss
* Add news item
* 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
* 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>
* Add more encapsulated sizes using css variables instead of `rem` units so console is consistantly sized across apps that set the body font size.
* `yarn build` (GitHub Actions)
* `yarn build` (GitHub Actions)
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
---------
Co-authored-by: nstrayer <nstrayer@users.noreply.github.com>
Co-authored-by: jcheng5 <jcheng5@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.
* fix: Do not re-bind previously bound inputs
* refactor: Add binding to the registry after binding happens
* fix: Spelling of `bindingsRegistry`
* chore: yarn build
* `yarn build` (GitHub Actions)
* fix: spelling
* feat: isRegistered can check if bound to input or output
* fix: Do not throw for shared input/output IDs
`input$caption` and `output$caption` may not be the best idea for several reasons, but it was previously allowed
Fixes#3943
* fix: check element directly to know whether it a bound input
* chore: yarn build
* fix: test `.shiny-bound-input` instead of data prop
* refactor: Remove `bindingsRegistry.isRegistered()` method
* refactor: Use a map for duplicateIds again
* refactor: Add `BindingTypes` type and use `bindingType` everywhere
* refactor: More concise duplicateIds typing
Co-authored-by: Nick Strayer <nick.strayer@rstudio.com>
* refactor: count by forEach + incrementing
Co-authored-by: Nick Strayer <nick.strayer@rstudio.com>
* `yarn build` (GitHub Actions)
* thanks, vscode
* docs: rewrite checkValidity() jsdoc to capture current state of things
* chore: yarn build
* docs: slight rewording
---------
Co-authored-by: gadenbuie <gadenbuie@users.noreply.github.com>
Co-authored-by: Nick Strayer <nick.strayer@rstudio.com>
This change detects when Shiny is autoreloading, and instead of
showing the typical disconnection treatment (dark grey), it
initially shows nothing and then quickly fades to very light
grey.
The goal is for instant autoreloads to feel seamless, but longer
autoreloads to make it clear when the autoreload has completed,
and still not feel as jarring as a full disconnect.