Commit Graph

472 Commits

Author SHA1 Message Date
Thomas Brandého
caf32605ca
add next/image and next-video in next namespace (#2223) 2023-12-07 10:38:47 -08:00
Tom Gotsman
d6374ca3f0
update var join function to use empty string (#2270) 2023-12-06 16:51:13 -08:00
Alek Petuskey
7164b91d7b
Implement Radix Themes (#2236) 2023-12-06 16:47:03 -08:00
Nikhil Rao
46d03880e6
Format var better in error message (#2269) 2023-12-06 13:31:29 -08:00
Martin Xu
93e9e39aeb
fix condition for creating requirements.txt (#2260) 2023-12-06 11:28:58 -08:00
Masen Furer
e0a1b39231
[REF-1425] Always capitalize tag of StatefulComponent (#2264) 2023-12-06 09:41:09 -08:00
Masen Furer
21000d9889
state.js: do not connect unless a state subclass is defined (#2259) 2023-12-05 17:14:47 -08:00
Martin Xu
77405d1701
Only check requirements update in interactive mode (#2258) 2023-12-05 15:57:41 -08:00
Martin Xu
0fff63a52e
Pass export function with more args to hosting CLI (#2254) 2023-12-04 17:13:38 -08:00
Nikhil Rao
19c01492be
Update sidebar tutorial for new substates (#2256) 2023-12-04 16:49:28 -08:00
Masen Furer
0bbae2d3d5
[REF-1404] router_data not updated when processing events (#2255) 2023-12-04 16:45:22 -08:00
Masen Furer
eb79da8538
[REF-1352] Markdown component_map hash improvements (#2241) 2023-12-01 11:45:22 -08:00
Masen Furer
49ccd2f1fb
Generalize MemoizationLeaf Component mixin (#2247) 2023-12-01 11:41:11 -08:00
Thomas Brandého
1109f8f508
deprecate state arg in App() (#2237) 2023-12-01 09:50:40 -08:00
Masen Furer
4ada79c1e5
[REF-1349] RechartsCharts and ResponsiveContainer must be memo leaf (#2240) 2023-12-01 09:49:59 -08:00
Masen Furer
60147dec65
[REF-201] Separate on_load handler from initial hydration (#1847) 2023-11-30 12:21:15 -08:00
Masen Furer
3c7af9fad4
Support hooks in custom components (state, addEvents) (#2234) 2023-11-30 09:59:09 -08:00
Masen Furer
a2d5bbc133
[reflex-web tweaks] Do not memoize children of InputGroup (#2230) 2023-11-30 09:48:28 -08:00
Masen Furer
a86bcb3c72
[reflex-web tweaks] chakra Icon is a ChakraComponent (use sx for style) (#2231)
* chakra Icon is a ChakraComponent (use sx for style)

* icon: update pyi file
2023-11-29 14:48:32 -08:00
Elijah Ahianyo
e3ee98098a
RED-1052/rx.State as Base State (#2146) 2023-11-29 09:43:33 -08:00
Martin Xu
f8395b1fd6
Separate out the hosting CLI from main repo (#2165) 2023-11-28 15:20:06 -08:00
Masen Furer
3deb2cec93
code_block responds to color mode by default (#2228) 2023-11-28 13:24:38 -08:00
Masen Furer
0c55723df4
[REF-1158] Move chakra-only deps to chakra lib (#2171) 2023-11-28 00:04:07 -08:00
Masen Furer
ee87e62efa
[REF-1035] Track ComputedVar dependency per class (#2067) 2023-11-27 18:17:53 -08:00
Masen Furer
626357ed87
Memoize markdown component_map (#2219) 2023-11-27 18:09:41 -08:00
Alek Petuskey
065b1b88d2
Add index on tabs (#2225)
* Add index on tabs
---------

Co-authored-by: Alek Petuskey <alekpetuskey@aleks-mbp.lan>
2023-11-27 17:59:35 -08:00
Masen Furer
527437cf23
[REF-144] Add context in each component to prevent rerenders (#2198) 2023-11-27 16:05:59 -08:00
Thomas Brandého
ed5b3818cb
update removal version of deprecated features (#2224) 2023-11-27 14:04:55 -08:00
Thomas Brandého
8fc254041b
fix name for import var when is default and add tests (#2214) 2023-11-26 12:46:43 -08:00
Elijah Ahianyo
7f75571e67
Deprecate event namespace config knob (#2218) 2023-11-26 12:45:50 -08:00
Thomas Brandého
d61b83fde7
add/subtract in moment (#2212) 2023-11-22 13:13:59 -08:00
Masen Furer
1603144c7d
[REF-889] useContext per substate (#2149) 2023-11-21 11:52:06 -08:00
Nikhil Rao
e9437ad941
Use singleton app provider to speed up compiles (#2172) 2023-11-20 18:11:24 -08:00
Nikhil Rao
b5f6ab3a82
Fix pyright errors (#2210) 2023-11-20 18:10:41 -08:00
Tom Gotsman
b6e7744498
update column select literals (#2150) 2023-11-20 16:17:27 -08:00
Masen Furer
5eb4c4e62a
Serialize PIL Image in its format (#2201) 2023-11-20 16:17:09 -08:00
Tom Gotsman
5198daebae
keep app id (project hash) the same even after re-init (#2195) 2023-11-20 15:30:14 -08:00
Elijah Ahianyo
714edb3cde
REF-1202: Upgrade bun version if it differs from reflex set version (#2206) 2023-11-20 15:21:17 -08:00
Alek Petuskey
88a3276356
HTML Refactor (#2164) 2023-11-20 15:16:03 -08:00
Thomas Brandého
1b402b65be
fix offset of data_editor input when page is scrolled (#2208) 2023-11-20 15:15:00 -08:00
Elijah Ahianyo
7f810ece21
To camel case fix (#2205) 2023-11-20 11:33:48 -08:00
Nikhil Rao
c5c2ca2b7b
Upgrade to bun 1.0.13 (#2202) 2023-11-20 09:42:12 -08:00
Masen Furer
8e7d4819ee
check_generated_pyi: fix diff checking (#2029) 2023-11-17 15:21:52 -08:00
Nikhil Rao
c3e652b8c1
Speed up reflex CLI imports (#2185) 2023-11-17 12:31:07 -08:00
Thomas Brandého
1a83f85783
_valid_children and _invalid_children accessible from class (#2192) 2023-11-17 12:30:18 -08:00
Masen Furer
7eccc6d988
[REF-723+] Upload with progress and cancellation (#1899) 2023-11-16 15:46:13 -08:00
Alek Petuskey
e399b5a98c
Fix wrong modal sizes (#2183) 2023-11-16 15:35:15 -08:00
Nikhil Rao
f1005e774e
Fix missing lazy imports (#2187) 2023-11-16 13:20:48 -08:00
Thomas Brandého
ddb1f8133b
Apply new pyi script (#2041) 2023-11-16 10:27:04 -08:00
Tom Gotsman
d3314233bd
add in new no_of_lines prop for text (#2184)
* add in new no_of_lines prop for text

* black update

---------

Co-authored-by: Tom Gotsman <tomgotsman@toms-mbp.lan>
2023-11-15 17:59:52 -08:00
Martin Xu
adb26787c8
Hosting CLI: remove requirements generation when init, add back timeout for deploy command, remove deploy legacy command (#2179) 2023-11-15 16:23:34 -08:00
Alek Petuskey
93dcc6300d
Add chat icon (#2181) 2023-11-15 16:02:44 -08:00
Masen Furer
ce47fcfd6c
Fix CustomComponent rendering (#2169) 2023-11-14 13:03:12 -08:00
Elijah Ahianyo
f7f8aa171b
Set is_hydrated var explicitly on rx.State (#2168) 2023-11-14 10:26:25 -08:00
Masen Furer
f3929f47e3
form: only pass handleSubmit when on_submit is defined (#2162) 2023-11-13 23:27:42 -08:00
Masen Furer
812ca2377b
Add ConnectionModel and ConnectionBanner to lazy components (#2167) 2023-11-13 23:25:54 -08:00
Nikhil Rao
33e4816950
Lazy import modules in reflex (#2144) 2023-11-13 19:48:12 -08:00
Masen Furer
27b09132b5
form: generate a unique on_submit suffix in create (#2154) 2023-11-13 12:52:26 -08:00
Elijah Ahianyo
ea22452b27
Reduce Syntax highlighter footprint (#2037) 2023-11-13 12:47:55 -08:00
Thomas Brandého
39cc1b2f12
Upgrade to NextJS 14 (#2142) 2023-11-13 09:52:51 -08:00
Masen Furer
5e6520cb5d
Support Form controls via name attribute (no ID or ref) (#2012) 2023-11-10 12:58:59 -08:00
Elijah Ahianyo
7a04652a6a
Revert "Bun as runtime on Mac and Linux (#2138)" (#2153) 2023-11-09 13:01:48 -08:00
Elijah Ahianyo
4d6fa9b823
Bun as runtime on Mac and Linux (#2138) 2023-11-08 16:22:02 -08:00
Elijah Ahianyo
96eca4f690
Windows Hot reload Peer Dependencies (#2106) 2023-11-08 10:26:35 -08:00
Thomas Brandého
c835ad0737
fix to_snake_case and add tests (#2133) 2023-11-06 12:13:28 -08:00
Masen Furer
61c9afd5a5
Support Python 3.12 (#2006) 2023-11-06 12:08:14 -08:00
Masen Furer
53d4c438ed
Assume wss:// with no port when frontend is HTTPS (#2129) 2023-11-06 12:06:07 -08:00
Nikhil Rao
e703d87450
Set unique index vars in rx.foreach (#2126) 2023-11-03 16:20:42 -07:00
Masen Furer
e6b02555f4
Github Codespaces Support 🪐 (#2125) 2023-11-03 16:08:31 -07:00
Nikhil Rao
6e1bce3412
Prompt for template on reflex init (#2122) 2023-11-03 13:37:01 -07:00
Thomas Brandého
eb52edb067
components as props (#2124) 2023-11-03 13:29:18 -07:00
Martin Xu
4c97b4c4c0
Hosting CLI: use http endpoint to return deploy milestones (#2085) 2023-11-03 12:13:46 -07:00
Masen Furer
b313aaf3ef
rx.call_script callback needs to await promises (#2121) 2023-11-02 14:37:02 -07:00
Martin Xu
4a526620ac
[REF-1042] Hosting CLI: check the user selected app name (#2102) 2023-11-02 14:34:10 -07:00
Thomas Brandého
eeeab441d8
add column resize for data editor (#2099) 2023-11-02 12:22:35 -07:00
Masen Furer
fbedc9447e
Compatibility with older typer versions (#2117) 2023-11-02 11:28:37 -07:00
Masen Furer
bf20a530df
Do not stop prop is there is no prop to stop (#2116)
Check that desired event actions are defined on the object passed as the DOM
event before calling them to avoid frontend errors.
2023-11-02 10:21:41 -07:00
Nikhil Rao
6e71393ed5
Use blank template as default (#2109) 2023-11-01 15:59:34 -07:00
Masen Furer
050dd3da92
pyproject.toml: bump typer to 0.9.0 (#2068) 2023-11-01 12:15:24 -07:00
shu-qian
a1c39b9968
Add 'orientation' Property to Reflex Stepper Components (#2089)
* Added 'orientation' property to Stepper

* import Literal in reflex/components/navigation/stepper.py

* Update reflex/components/navigation/stepper.py

---------

Co-authored-by: sq <1838545301@qq.com>
Co-authored-by: Masen Furer <m_github@0x26.net>
2023-11-01 11:51:23 -07:00
Thomas Brandého
96c09b0f6b
make download work for state vars (#2092) 2023-10-31 17:08:10 -07:00
Thomas Brandého
853a43eaab
fix portal when using multiple datatable (#2094) 2023-10-31 17:07:28 -07:00
Thomas Brandého
60c8c1d40e
cleanup dataeditor js code and hooks (#2095) 2023-10-31 17:06:49 -07:00
Masen Furer
5211706bd4
base: expand template content to right edge of screen (#2104) 2023-10-31 17:06:22 -07:00
Masen Furer
8eb68a006e
Expose gunicorn_worker_class via Config (#2084) 2023-10-31 13:45:29 -07:00
Masen Furer
56476d0a86
Expose DOM event actions on EventHandler, EventSpec, and EventChain (stopPropagation) (#1891)
* Expose preventDefault and stopPropagation for DOM events

All EventHandler, EventSpec, and EventChain can now carry these extra
"event_actions" that will be applied inside the frontend code when an event is
triggered from the DOM.

Fix #1621
Fix REF-675

* Test cases (and fixes) for "event_actions"

* form: from __future__ import annotations

for py38, py39 compat

* Revert overzealous merge conflict resolution
2023-10-31 11:42:42 -07:00
Masen Furer
269334014d
base template: read README as utf-8 (#2064) 2023-10-27 16:50:39 -07:00
Nikhil Rao
d5c7cedf31
Support 3.9 on templates (#2065) 2023-10-27 16:49:29 -07:00
Nikhil Rao
5e444a7b7b
Update readme path for templates (#2060) 2023-10-27 14:07:38 -07:00
Martin Xu
8ad9f3a96e
show all columns in list deployments, let CP control what columns user see (#2061) 2023-10-27 13:56:30 -07:00
Nikhil Rao
bb77d14fbc
Update demo command to open demo.reflex.run (#2059) 2023-10-27 13:16:02 -07:00
Nikhil Rao
6b7bd8e51b
Update base template styling (#2050) 2023-10-27 12:47:00 -07:00
Martin Xu
23255d49d4
Add back build log command to CLI (#2053) 2023-10-27 11:30:04 -07:00
Elijah Ahianyo
a2e185cced
Add none to color scheme literal (#2055) 2023-10-27 11:21:21 -07:00
Masen Furer
ff4c5a5cf8
Remove .pyc and __pycache__ from template dir (#2056) 2023-10-27 11:20:46 -07:00
Thomas Brandého
3262f29613
fix editable column and theme casting (#2051) 2023-10-27 09:38:25 -07:00
Thomas Brandého
edf9c32142
fix onload method not working in prod mode (#2049) 2023-10-27 08:43:02 -07:00
Nikhil Rao
804f55dbf2
Use demo app for reflex demo command (#2048) 2023-10-26 21:49:00 -07:00
Alek Petuskey
f5e9debe4f
Add CLI demo command (#2044) 2023-10-26 20:24:19 -07:00
Tom Gotsman
d2afaf5bb3
Add demo app template (#2046) 2023-10-26 19:45:33 -07:00
Nikhil Rao
8133aa10c9
Update base template (#2027) 2023-10-26 17:59:14 -07:00
Masen Furer
f66c6c3361
Support callback for rx.call_script (#2045) 2023-10-26 17:54:48 -07:00
Martin Xu
e9cf822460
CLI will not set auto/stop setting for deployment (#2040)
* do not set autostart/autostop as default on CLI

* cli feedback

* fix test

* clean up last few messages

* catch general exception for export and exit
2023-10-26 17:47:22 -07:00
Alek Petuskey
70a6b5f2d3
Autogenerating Dependencies During Deployment (#2033) 2023-10-26 17:32:58 -07:00
Thomas Brandého
9a5579e1ef
Add datagrid editor (#1941) 2023-10-26 16:17:34 -07:00
Masen Furer
21dbdc0103
Replace renamed Var.type_ with _var_type (#2039) 2023-10-26 12:34:00 -07:00
Martin Xu
fe01f0cf11
add region check upfront when user deploys interactively (#2030) 2023-10-26 10:07:49 -07:00
Masen Furer
92dd68c51f
Improve Var type handling for better rx.Model attribute access (#2010) 2023-10-25 11:55:50 -07:00
Martin Xu
f404205c3f
CLI improvements (#2026) 2023-10-24 15:35:51 -07:00
Masen Furer
93d19d6dc3
[REF-938] Fix up radix themes issues (#2002) 2023-10-24 14:29:54 -07:00
Elijah Ahianyo
1662066af5
Remove victory charts (#1945) 2023-10-24 14:20:03 -07:00
Masen Furer
1734ba0b6d
Generate state delta from processed state instance (#2023) 2023-10-24 10:44:12 -07:00
Masen Furer
6ea657a4fd
[REF-876] Update base template styles (#2022) 2023-10-24 10:35:37 -07:00
Elijah Ahianyo
d785bd98da
Radix Themes style notation fix (#2025) 2023-10-24 10:29:44 -07:00
Elijah Ahianyo
b8f0674556
Improve Event handler Error message (#2019) 2023-10-24 10:28:51 -07:00
Martin Xu
81053618c9
CLI switch to prod server (#2016) 2023-10-24 09:43:20 -07:00
jackie-pc
53566c2adf
[reflex hosting] clean up tmp dir for storing zip archives (#2021) 2023-10-24 09:36:10 -07:00
jackie-pc
b3499e6b7a
[reflex export] backend.zip excludes dirs that look like venv dirs (#2009) 2023-10-23 09:01:42 -07:00
Masen Furer
91bbf91c52
Resolve npm path and fnm path on Windows (#2015) 2023-10-23 08:59:48 -07:00
Thomas Brandého
d00425276d
fix fnm version check (#2014) 2023-10-23 08:45:55 -07:00
Thomas Brandého
490ae40a40
Wrap Moment Component (#1994)
* wip wrap moment

* add some props to moment

* fix typing for 3.8

* fix comment for props and add create method for moment-timezone
2023-10-23 13:24:11 +02:00
Martin Xu
07ca8fcb3b
[REF-99] Add first version of CLI for hosting service (#1810) 2023-10-21 13:09:56 -07:00
Masen Furer
fe244b7eec
multi_select somewhat usable (#1861) 2023-10-20 09:43:46 -07:00
jackie-pc
c653f95435
support exporting to zip archives to a dir that is not cwd (to be used by hosting cli) (#2005) 2023-10-20 09:40:30 -07:00
Elijah Ahianyo
7b8b64668d
Rehydrate client storage after rx.remove_local_storage and rx.remove_cookies (#1998) 2023-10-19 15:43:43 -07:00
Nikhil Rao
e7f0cd8e4c
Stop double compiles in dev mode (#1990) 2023-10-19 15:26:14 -07:00
Masen Furer
cbf5b61a23
Drop python3.7 support (#2003)
* Drop python3.7 support

* poetry.lock: relock without py3.7

* Update README/CONTRIBUTING to say 3.8+
2023-10-19 22:21:29 +02:00
Elijah Ahianyo
06bdf9ed8a
Remove 0.3.0 deprecated features (#1947) 2023-10-19 09:44:32 -07:00
Elijah Ahianyo
b652d40ee5
Remove Default state (#1978) 2023-10-18 09:57:27 -07:00
Nikhil Rao
b4bb849388
Fix posthog (#1992) 2023-10-18 12:30:09 +02:00
Masen Furer
f6a7eed359
Fix AppHarness tests (#1987)
* test_client_storage: remove race conditions for cookie assignment

Poll for default timeout for cookies to appear in the controlled browser.

* Remove use of deprecated get_token and get_sid in core

Both reflex.app and reflex.state were still using deprecated methods, which
were throwing unsolvable warnings for end users.

* Remove deprecated router functions from integration tests

Mostly removing custom "token" var and replacing with
router.session.client_token.

Also replacing `get_query_params` and `get_current_page` usage as well.

* fix upload tests

Cannot pass substate as main app state, since it blocks us from accessing
"inherited vars"

* state: do NOT reset `router` to default

When calling `.reset` to reset state vars, do NOT reset the router data, as
that could mess up internal event processing.
2023-10-18 01:46:13 +02:00
Biresh Biswas
317b883ec8
fix rx.audio playing prop type: str to bool (#1986) 2023-10-17 13:03:57 -07:00
Thomas Brandého
df09c716c6
fix serialization as a whole for list/dict/Base containing custom items to serialize (#1984) 2023-10-17 10:44:54 -07:00
Masen Furer
d1d5812602
format: event arg values use backticks (#1926) 2023-10-17 10:42:35 -07:00
Masen Furer
1efc61e1c4
Warn when computed vars raise an exception (#1939) 2023-10-17 10:41:36 -07:00
Masen Furer
c3f5f345bb
convert initialEvents to a function (#1982) 2023-10-17 10:39:56 -07:00
Thomas Brandého
b1bab1206d
deprecate get_ methods for router_data, use BaseVars instead (#1967) 2023-10-17 09:59:44 -07:00
Masen Furer
67606561d3
[REF-668] Wrap MyApp with radix Theme component (#1867)
* partly add some radix-ui/themes based components

* add @radix-ui/themes integration to top-level app

* WiP: compile _app_wrap based on which component library is used

TODO: working color mode

* WiP get color mode working with agnostic provider

still not perfect, as the RadixColorModeProvider seems to trip hydration errors
when using color_mode_cond component, but for now, this provides a nice balance
between the two libraries and allows them to interoperate.

* WiP template _app.js instead of making a separate wrap file

* WiP: use next-themes for consistent darkmode switching

* strict pin chakra deps

* Move ChakraColorModeProvider to separate js file

* move nasty radix themes js code into js files

* remove chakra from default imports

* chakra fixup import to use .js extension

* Add radix theme typography and layout components

* do NOT special case the radix theme...

avoid templating json and applying it, avoid non-customizable logic

just add the radix Theme component as an app wrap if the user specifies it to
rx.App, and any other app-wrap theme-like component could _also_ be used
without having to change the code.

this also allows different themes for different sections of the app by simply
placing elements inside a different rdxt.theme wrapper.

* Theme uses "radius" not "borderRadius"

* move next-themes to main packages.json

this is always used, regardless of the component library

* test_app: test cases for app_wrap interface

* Finish wrapping Button, Switch, and TextField components

* docstring, comments, static fixups

* debounce: use alias or tag when passing child Element

Fix REF-830

* test_app: ruin my beautiful indentation

* py38 compatibility

* Add event triggers for switch and TextField

* Add type hints for radix theme components

* radix themes fixups from writing the tests

* Add integration test for radix themes components

* test_app: mock out package installation

we only need the compile result, we're not actually trying to install packages

* avoid incompatible version of @emotion/react

* test_radix_themes: include theme_panel component

* next-themes default scheme: "light"

until all of our components look good in dark mode, need to keep the default as
light mode regardless of the system setting.
2023-10-16 15:31:50 -07:00
Masen Furer
4c554c953d
ChartBase.create: include default min dimensions (RESUB) (#1975) 2023-10-16 12:05:33 -07:00
Elijah Ahianyo
c6abeb31a5
Props as Literals (#1921) 2023-10-15 20:16:39 -07:00
Alek Petuskey
7d4194be34
Added base template + improve templating code (#1937) 2023-10-15 20:02:41 -07:00
Elijah Ahianyo
433ccda3a6
No state No Websocket (#1950) 2023-10-13 14:54:59 -07:00
Masen Furer
024cb5fa9b
Var field cleanup (#1943) 2023-10-13 14:53:55 -07:00
Masen Furer
684912e33b
[REF-843] Automatically update api_url and deploy_url (#1954) 2023-10-13 12:59:19 -07:00
Masen Furer
d0cb5b07e7
AppHarness: support headless mode and driver selection (#1963) 2023-10-13 12:53:20 -07:00
Elijah Ahianyo
2c4ffc879f
Deprecate rx.get_cookies (#1961) 2023-10-13 09:21:06 -07:00
Nikhil Rao
7019708638
Fix custom components special props (#1956) 2023-10-12 15:27:41 -07:00
Masen Furer
14bb662eb1
bun version bump to 1.0.4 (#1942) 2023-10-11 00:07:18 -07:00
Alek Petuskey
86c624e939
Readded victory create methods and imports (#1938) 2023-10-09 11:53:41 -07:00
Alek Petuskey
80bf48b872
Pin Recharts Dependency (#1934)
* Pin dependency

* Translated README.md file to Brazilian Portuguese (PT-BR) (#1936)

* Namespace Recharts + Victory Back With Depreciation Warning (#1928)

---------

Co-authored-by: Alek Petuskey <alekpetuskey@Aleks-MBP.attlocal.net>
Co-authored-by: Victor Moura <26290053+victorcmoura@users.noreply.github.com>
2023-10-08 19:33:37 -07:00