* initial attempt that works for dataframe and text downloads
* changes for masens comments
* Instead of using blob, just send a data: URL from the backend
* Enable rx.download directly with Var
If the Var is string-like and starts with `data:`, then no special processing
occurs. Otherwise, the value is passed to JSON.stringify and downloaded as
text/plain.
* event: update docstring and comments on rx.download
Raise ValueError when URL and data are both provided, or the data provided is
not one of the expected types.
---------
Co-authored-by: Tom Gotsman <tomgotsman@toms-mbp.lan>
Co-authored-by: Masen Furer <m_github@0x26.net>
* style: shorthand replacements need camelCase
Avoid warning on terminal and in browser console from using kebab-case CSS
props with emotion.
* _rename_props only replace prop name once
In case the value also contains the prop name, we don't want to replace it
multiple times.
* pyi_generator: ignore _rename_props in create signature
* Avoid shadowing CSS prop `display` and `gap`
Replace usages of `gap` with `spacing` to retain Radix sizing number system,
while allowing users to specify a responsive `gap` using CSS units.
Remove `display` props from radix components, allowing `display` to accept
responsive lists.
* checkbox: apply `gap` to `flex` if provided
* Remove _rename_props from .create signatures
* Fix spacing prop in blank template
* Fixup tests after changing style shorthand to return camelCase
* banner.py: fix import specification for getBackendURL
Use the constant Dirs.STATE_PATH
* state.js: only `getBackendURL` dynamically when running client side
During server side rendering, `getBackendURL` cannot access the current
location from the `window`, because there is no `window`.
* Better client-side context checking
Thanks jackie
* Convert templates to use `rx.chakra` where needed
* reflex_init_in_docker_test: run test on PR into reflex-0.4.0
This is why we didn't catch the template issues earlier
* upload with StaticFiles
* always create uploaded files folder
* just use /_upload to serve uploaded files
* Upload: update pyi file
* app.py: only mount Upload StaticFiles if the upload component is used