reflex 0.8.7a1__py3-none-any.whl → 0.8.8a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- reflex/app.py +13 -5
- reflex/app_mixins/lifespan.py +8 -2
- reflex/compiler/compiler.py +12 -12
- reflex/compiler/templates.py +629 -102
- reflex/compiler/utils.py +29 -20
- reflex/components/base/bare.py +17 -0
- reflex/components/component.py +37 -33
- reflex/components/core/cond.py +6 -12
- reflex/components/core/foreach.py +1 -1
- reflex/components/core/match.py +83 -60
- reflex/components/dynamic.py +3 -3
- reflex/components/el/elements/forms.py +31 -14
- reflex/components/el/elements/forms.pyi +0 -5
- reflex/components/lucide/icon.py +2 -1
- reflex/components/lucide/icon.pyi +2 -1
- reflex/components/markdown/markdown.py +2 -2
- reflex/components/radix/primitives/accordion.py +1 -1
- reflex/components/radix/primitives/drawer.py +1 -1
- reflex/components/radix/primitives/form.py +1 -1
- reflex/components/radix/primitives/slider.py +1 -1
- reflex/components/tags/cond_tag.py +14 -5
- reflex/components/tags/iter_tag.py +0 -26
- reflex/components/tags/match_tag.py +15 -6
- reflex/components/tags/tag.py +3 -6
- reflex/components/tags/tagless.py +14 -0
- reflex/constants/base.py +0 -2
- reflex/constants/installer.py +4 -4
- reflex/custom_components/custom_components.py +202 -15
- reflex/experimental/client_state.py +1 -1
- reflex/istate/manager.py +2 -1
- reflex/plugins/shared_tailwind.py +87 -62
- reflex/plugins/tailwind_v3.py +2 -2
- reflex/plugins/tailwind_v4.py +4 -4
- reflex/state.py +5 -1
- reflex/utils/format.py +2 -3
- reflex/utils/frontend_skeleton.py +2 -2
- reflex/utils/imports.py +18 -0
- reflex/utils/pyi_generator.py +10 -2
- reflex/utils/telemetry.py +4 -1
- reflex/utils/templates.py +1 -6
- {reflex-0.8.7a1.dist-info → reflex-0.8.8a1.dist-info}/METADATA +3 -4
- {reflex-0.8.7a1.dist-info → reflex-0.8.8a1.dist-info}/RECORD +45 -67
- reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -9
- reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -9
- reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -1
- reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -39
- reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -25
- reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -57
- reflex/.templates/jinja/web/package.json.jinja2 +0 -27
- reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -62
- reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -9
- reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -21
- reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -2
- reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -22
- reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -18
- reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -38
- reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -15
- reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -5
- reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -93
- reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -6
- reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -129
- reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -1
- reflex/.templates/jinja/web/vite.config.js.jinja2 +0 -74
- reflex/components/core/client_side_routing.pyi +0 -68
- {reflex-0.8.7a1.dist-info → reflex-0.8.8a1.dist-info}/WHEEL +0 -0
- {reflex-0.8.7a1.dist-info → reflex-0.8.8a1.dist-info}/entry_points.txt +0 -0
- {reflex-0.8.7a1.dist-info → reflex-0.8.8a1.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,7 +2,7 @@ reflex/__init__.py,sha256=_1PVYjDeA6_JyfXvL6OuKjjO6AX2oMiNcAq8AEHf6xw,10161
|
|
|
2
2
|
reflex/__init__.pyi,sha256=0D46kHVUJPE_kgYL-BjraERu-MXNCPsQTZQShrijmeQ,10148
|
|
3
3
|
reflex/__main__.py,sha256=6cVrGEyT3j3tEvlEVUatpaYfbB5EF3UVY-6vc_Z7-hw,108
|
|
4
4
|
reflex/admin.py,sha256=Nbc38y-M8iaRBvh1W6DQu_D3kEhO8JFvxrog4q2cB_E,434
|
|
5
|
-
reflex/app.py,sha256=
|
|
5
|
+
reflex/app.py,sha256=7jJ5knRgpbh5XWqMD3rTIy0bjqOJm-DkdlnC1geOX6c,77713
|
|
6
6
|
reflex/assets.py,sha256=l5O_mlrTprC0lF7Rc_McOe3a0OtSLnRdNl_PqCpDCBA,3431
|
|
7
7
|
reflex/base.py,sha256=Oh664QL3fZEHErhUasFqP7fE4olYf1y-9Oj6uZI2FCU,1173
|
|
8
8
|
reflex/config.py,sha256=JhCChJ3WkOvC7sFIcKZ7T_JBobC0XiBlCPTlai6-fyU,20227
|
|
@@ -13,33 +13,12 @@ reflex/page.py,sha256=ssCbMVFuIy60vH-YhJUzN0OxzUwXFCCD3ej56dVjp3g,3525
|
|
|
13
13
|
reflex/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
reflex/reflex.py,sha256=KVlNh8nQGzuaYnpUtQ1D7Rcuqzp1TeKernlDucTXaQE,22578
|
|
15
15
|
reflex/route.py,sha256=TnS4m6Hm-b3LfGFpm37iAMEd-_JISAouPW5FqUxTAfU,7858
|
|
16
|
-
reflex/state.py,sha256=
|
|
16
|
+
reflex/state.py,sha256=3LuX6dejVnQL8m0e_db1K48iww3_xiE0jJD8ByNUFU4,93198
|
|
17
17
|
reflex/style.py,sha256=JxbXXA4MTnXrk0XHEoMBoNC7J-M2oL5Hl3W_QmXvmBg,13222
|
|
18
18
|
reflex/testing.py,sha256=kR-imGVnWCp6xiryuZcJJIfogRg2tcNT4tw5mt0T3sY,39901
|
|
19
19
|
reflex/.templates/apps/blank/assets/favicon.ico,sha256=baxxgDAQ2V4-G5Q4S2yK5uUJTUGkv-AOWBQ0xd6myUo,4286
|
|
20
20
|
reflex/.templates/apps/blank/code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
21
|
reflex/.templates/apps/blank/code/blank.py,sha256=wry9E3VjC7qtt_gzqNOyo4KZAAlzVyNp3uhFkcLZmM0,898
|
|
22
|
-
reflex/.templates/jinja/app/rxconfig.py.jinja2,sha256=ywlCgdKvAcUzmzyW-TGIiYCF5yqIH641PD0tWr6tOTc,170
|
|
23
|
-
reflex/.templates/jinja/custom_components/README.md.jinja2,sha256=qA4XZDxOTc2gRIG7CO1VvVawOgThwZqU2RZvRTPhXwE,127
|
|
24
|
-
reflex/.templates/jinja/custom_components/__init__.py.jinja2,sha256=z5n2tvoS7iNDaM6mUGKETdpGlC0oA1_rrYURu7O_xpk,32
|
|
25
|
-
reflex/.templates/jinja/custom_components/demo_app.py.jinja2,sha256=ipbKtObNqQLcwbFowod_bSWW4bttW_8bNyTXl7JL1zg,826
|
|
26
|
-
reflex/.templates/jinja/custom_components/pyproject.toml.jinja2,sha256=HG-k3pruUlMy7xYz339hgFkNMTLqB-C_FTLKkOgfBPM,630
|
|
27
|
-
reflex/.templates/jinja/custom_components/src.py.jinja2,sha256=e80PwMI6NoeQtGJ0NXWhYrkqUe7jvvJTFuztYQe-R5w,2403
|
|
28
|
-
reflex/.templates/jinja/web/package.json.jinja2,sha256=cS9M6ADYDoYL2Kc8m5dYhV8eDaehOXb6qK_IOijT3N0,673
|
|
29
|
-
reflex/.templates/jinja/web/vite.config.js.jinja2,sha256=pSrDq10Y4oSSO55CCsxsT2I0OUIoqBnEhxjG6ElFVN4,1715
|
|
30
|
-
reflex/.templates/jinja/web/pages/_app.js.jinja2,sha256=tG-SRR7DCP3SxLoUl_5rIRmL1uBDVnkcenSUxy459hY,1575
|
|
31
|
-
reflex/.templates/jinja/web/pages/_document.js.jinja2,sha256=v_r79GPGKnw1g9Bg4lK9o_ow5AzBnvKdz0nv3OgJyzU,166
|
|
32
|
-
reflex/.templates/jinja/web/pages/base_page.js.jinja2,sha256=nteivFZgOhgwxlPvejgaoxKTPGvDRb7_JAXhsZDZeLM,361
|
|
33
|
-
reflex/.templates/jinja/web/pages/component.js.jinja2,sha256=1Pui62uSL7LYA7FXZrh9ZmhKH8vHYu663eR134hhsAY,86
|
|
34
|
-
reflex/.templates/jinja/web/pages/custom_component.js.jinja2,sha256=xUOfUwREPp4h2kozr6mEqSAASnNLzC9b9XHCXVsUQjg,485
|
|
35
|
-
reflex/.templates/jinja/web/pages/index.js.jinja2,sha256=7sXw99TfjlcLYiLKlWvD3k-3IuFzLO4Y63mvSU97uds,360
|
|
36
|
-
reflex/.templates/jinja/web/pages/macros.js.jinja2,sha256=RtMZ6eufmMrHghNDMKpueSAhd-znKjgBbJXAAHFc7vU,901
|
|
37
|
-
reflex/.templates/jinja/web/pages/stateful_component.js.jinja2,sha256=gAipi5MiAVgHntadfThsogunlqpmUwLk5ROLyJJGgUM,387
|
|
38
|
-
reflex/.templates/jinja/web/pages/stateful_components.js.jinja2,sha256=BfHi7ckH9u5xOliKWxjgmnia6AJbNnII97SC-dt_KSU,101
|
|
39
|
-
reflex/.templates/jinja/web/pages/utils.js.jinja2,sha256=12v0-q-o-m0Oxr0H35GTtoJqGRpmbZSrRd5js95F5fI,3156
|
|
40
|
-
reflex/.templates/jinja/web/styles/styles.css.jinja2,sha256=acb0EFvhRLLMc_EDguy1qcMq9CJ6i2tsWUzFyXi-9vk,163
|
|
41
|
-
reflex/.templates/jinja/web/utils/context.js.jinja2,sha256=l1k-H4Y0DmOdeMr8xVEwkSzeBpVc1o94cOjJJ3B2WSY,4103
|
|
42
|
-
reflex/.templates/jinja/web/utils/theme.js.jinja2,sha256=OSpBMh0Z9tTeqb10js4ZtnE9s1RV4gJfE8629csST8M,26
|
|
43
22
|
reflex/.templates/web/.gitignore,sha256=3tT0CtVkCL09D_Y3Hd4myUgGcBuESeavCa0WHU5ifJ4,417
|
|
44
23
|
reflex/.templates/web/jsconfig.json,sha256=rhQZZRBYxBWclFYTeU6UakzbGveM4qyRQZUpEAVhyqY,118
|
|
45
24
|
reflex/.templates/web/postcss.config.js,sha256=6Hf540Ny078yfmJ_-tniZtmgHW6euyEyxO0zH-Y1EtQ,86
|
|
@@ -58,17 +37,17 @@ reflex/.templates/web/utils/helpers/paste.js,sha256=ef30HsR83jRzzvZnl8yV79yqFP8T
|
|
|
58
37
|
reflex/.templates/web/utils/helpers/range.js,sha256=Bjr7Ex1Mghpsopjfrcp__IVFw8F8AsMiP-0nE20ZZwk,1091
|
|
59
38
|
reflex/.templates/web/utils/helpers/throttle.js,sha256=qxeyaEojaTeX36FPGftzVWrzDsRQU4iqg3U9RJz9Vj4,566
|
|
60
39
|
reflex/app_mixins/__init__.py,sha256=Oegz3-gZLP9p2OAN5ALNbsgxuNQfS6lGZgQA8cc-9mQ,137
|
|
61
|
-
reflex/app_mixins/lifespan.py,sha256=
|
|
40
|
+
reflex/app_mixins/lifespan.py,sha256=a156ZUYVo2bN1Tv-4WmWSjojo90PP_2-V12BX0q8YNw,3543
|
|
62
41
|
reflex/app_mixins/middleware.py,sha256=BKhe0jUFO1_TylEC48LUZyaeYyPmAYW-NV4H5Rw221k,2848
|
|
63
42
|
reflex/app_mixins/mixin.py,sha256=R1YncalqDrbdPZvpKVbm72ZKmQZxYAWfuFq9JknzTqQ,305
|
|
64
43
|
reflex/compiler/__init__.py,sha256=r8jqmDSFf09iV2lHlNhfc9XrTLjNxfDNwPYlxS4cmHE,27
|
|
65
|
-
reflex/compiler/compiler.py,sha256=
|
|
66
|
-
reflex/compiler/templates.py,sha256=
|
|
67
|
-
reflex/compiler/utils.py,sha256=
|
|
44
|
+
reflex/compiler/compiler.py,sha256=mvGynpsmFI5de5vQcH7Urkv7l8eOO_ytUxB4_XigbyY,29125
|
|
45
|
+
reflex/compiler/templates.py,sha256=PcFJpmFJ99OlQtgXd_UKVCUQ62LDWAwMnwL3QKZgXI0,20080
|
|
46
|
+
reflex/compiler/utils.py,sha256=saz5INjH5C7WO1bS3FE1vRm5sKcSXrNnbmFpmLI0xyw,19128
|
|
68
47
|
reflex/components/__init__.py,sha256=eWpgWFbSQDj2TpGp6StEbxU7roQgzY7ZM0XIcIc5RE8,588
|
|
69
48
|
reflex/components/__init__.pyi,sha256=7VFHtJGIjvGtD3IiPk848IPWYSCcPRT1EyPGljLhYlU,736
|
|
70
|
-
reflex/components/component.py,sha256=
|
|
71
|
-
reflex/components/dynamic.py,sha256=
|
|
49
|
+
reflex/components/component.py,sha256=sv_zeiC8hZMn8DptUHgBzX2wffVNT3EzepWXxJd68R4,98628
|
|
50
|
+
reflex/components/dynamic.py,sha256=WfN1waxtRuuZ3-8MvooDi4SkFxem4R8wAHOLXx_9rCo,7422
|
|
72
51
|
reflex/components/field.py,sha256=j5JZFzNlET3GAIW91m1L31RypXylMAxJNm0-CJbtykM,5745
|
|
73
52
|
reflex/components/literals.py,sha256=hogLnwTJxFJODIvqihg-GD9kFZVsEBDoYzaRit56Nuk,501
|
|
74
53
|
reflex/components/props.py,sha256=BH7RiRu_EI2BRkB1PyBVp6tLeFTTV4FzGEdDIXXQ9Bk,14378
|
|
@@ -76,7 +55,7 @@ reflex/components/base/__init__.py,sha256=6DzVn2oVZqmsXYq3r9AN8Q40R0NAsyRpSyVzBD
|
|
|
76
55
|
reflex/components/base/__init__.pyi,sha256=CoM0dGGkZSKLNHe6KBS4Zgc6sRpRGM5dZ_EuVmZ2qkA,883
|
|
77
56
|
reflex/components/base/app_wrap.py,sha256=5K_myvYvHPeAJbm3BdEX17tKvdNEj6SV9RYahbIQBAQ,514
|
|
78
57
|
reflex/components/base/app_wrap.pyi,sha256=opdrLSp-IGFibjM4bPLZPxLsyhc1H6nev2F9XhPfOSg,1996
|
|
79
|
-
reflex/components/base/bare.py,sha256=
|
|
58
|
+
reflex/components/base/bare.py,sha256=yALgxs1OhssQVcrcJwWtprw_DKKeXjVMLMZpTzn0Isc,8271
|
|
80
59
|
reflex/components/base/body.py,sha256=KLPOhxVsKyjPwrY9AziCOOG_c9ckOqIhI4n2i3_Q3NU,129
|
|
81
60
|
reflex/components/base/body.pyi,sha256=VG8N-0ocwgFOJR9mXfu6a5BtIY_jR7mK9lX3Y22g9GQ,8655
|
|
82
61
|
reflex/components/base/document.py,sha256=Fr7y22NbeKeiz8kWPH2q5BpFjKdq-AmY-sxZilee_H8,636
|
|
@@ -100,19 +79,18 @@ reflex/components/core/auto_scroll.pyi,sha256=0R5NvVJ00X42-dSTX23zOGPbwGWGt1lQ_4
|
|
|
100
79
|
reflex/components/core/banner.py,sha256=JEutUBT1UfpgnaDJthE2BoSzpIEE-cSHoQZlEvQb0dw,18471
|
|
101
80
|
reflex/components/core/banner.pyi,sha256=F7LPVH4wkdsBnTaXG3NW3NkULYQSm5wAmvHerEOFdjQ,25480
|
|
102
81
|
reflex/components/core/breakpoints.py,sha256=7nNG9Ewjvbk1hB0VoFiQxlDR333Mq2y977CNWjslAWA,2692
|
|
103
|
-
reflex/components/core/client_side_routing.pyi,sha256=zY06iJEGGaqGE59If4VEnehg6-mvRlnxEOPqIWbUQuY,2616
|
|
104
82
|
reflex/components/core/clipboard.py,sha256=lrM4KpbioSqBclhvtrgawgeg9Vq2dKsv40xP4bUgYmA,3339
|
|
105
83
|
reflex/components/core/clipboard.pyi,sha256=Wt84ce1rd5vje-KuzAIkn_0riAD91_VtnZcRiRBsFLs,3230
|
|
106
84
|
reflex/components/core/colors.py,sha256=gkT5o5OqI_BR5fGMcCmBUpaz99XRNol9zAis46WktI4,1564
|
|
107
|
-
reflex/components/core/cond.py,sha256=
|
|
85
|
+
reflex/components/core/cond.py,sha256=zjDM7Elf0iYpA1MtnUjXvEbD5XvYbluWDTaQ96uxZSI,5531
|
|
108
86
|
reflex/components/core/debounce.py,sha256=P0rj23JKVsx_dzPMVI4HTOyrXhhacxh-QkI4Z9K6KNQ,5022
|
|
109
87
|
reflex/components/core/debounce.pyi,sha256=-vEa4eIS2VlHwoL1jMmAey_dMGzz0h4VbDhzC6JT6vI,3105
|
|
110
|
-
reflex/components/core/foreach.py,sha256=
|
|
88
|
+
reflex/components/core/foreach.py,sha256=HCAoDfdyumK8FvgNrfnQeNRaf6Cngn_6U02640M8ofI,6264
|
|
111
89
|
reflex/components/core/helmet.py,sha256=9Fr2Tz_J2v8r5t1xeZClL0V5-fEWTiFAXTcJ6bECvAw,220
|
|
112
90
|
reflex/components/core/helmet.pyi,sha256=dp5AOEPQYM77-_ylpsbgbsZkUqu37RblgUGw7Y0BGcI,2391
|
|
113
91
|
reflex/components/core/html.py,sha256=JKK3MsbuzxtcVXbzvW_Q4TZuF9yk3WwiC9LmQl34rzA,1303
|
|
114
92
|
reflex/components/core/html.pyi,sha256=yDzRQ10yf8ZzbP76C2rEG2gx6Vud_Ez3LcHDWMgyFns,8944
|
|
115
|
-
reflex/components/core/match.py,sha256=
|
|
93
|
+
reflex/components/core/match.py,sha256=xBB9vtWgVlotPHq6ssng8lzxwXDDQLp9k6Ew5RPPd3U,9888
|
|
116
94
|
reflex/components/core/responsive.py,sha256=ACZdtJ4a4F8B3dm1k8h6J2_UJx0Z5LDB7XHQ2ty4wAc,1911
|
|
117
95
|
reflex/components/core/sticky.py,sha256=2B3TxrwG2Rtp_lv1VkMOIF2bqSiT7qYGbqbiZiMKxKY,3856
|
|
118
96
|
reflex/components/core/sticky.pyi,sha256=jtxJjHR8eZEq2yKHGr0U16Nof4OpDXMadf1JtA_6ofk,32750
|
|
@@ -138,8 +116,8 @@ reflex/components/el/elements/__init__.py,sha256=_uZaPHSQSDZBqo-v_hRZECJbWBY3Srq
|
|
|
138
116
|
reflex/components/el/elements/__init__.pyi,sha256=LCaxINN6BUqHsxgpDITjOUqJnF3x5rRI8y2fj62ZT14,8680
|
|
139
117
|
reflex/components/el/elements/base.py,sha256=4jnwyCQUHvWcIfwiIWVCiIC_jbwZlkAiOgx73t7tdw8,3075
|
|
140
118
|
reflex/components/el/elements/base.pyi,sha256=RPdq_8Z1gkV-5n2qeEVQWpPCwVSTzY4eYb6iIJVU-ig,10074
|
|
141
|
-
reflex/components/el/elements/forms.py,sha256=
|
|
142
|
-
reflex/components/el/elements/forms.pyi,sha256=
|
|
119
|
+
reflex/components/el/elements/forms.py,sha256=75RJqmw4vBEUeYFNZwza91BpiXnEVSSK3HVPqyZcK44,22004
|
|
120
|
+
reflex/components/el/elements/forms.pyi,sha256=NSmo68oksZkzOoSGA5XKNVzqU0K3WIzkFN82EDLC-f8,168115
|
|
143
121
|
reflex/components/el/elements/inline.py,sha256=q3Ku_x8L9NaXrYQovCfkWwZ5AfXG0VyhGN_OT73kA0Y,4126
|
|
144
122
|
reflex/components/el/elements/inline.pyi,sha256=0pjqiHH8DmFfghbM8MK5tqgiZGSnfT-o055GINU8xrA,231760
|
|
145
123
|
reflex/components/el/elements/media.py,sha256=t5vDG5q8K_-YTu2tkyeC7bXb0O913Z5C74jPhDjIqmA,14586
|
|
@@ -160,10 +138,10 @@ reflex/components/gridjs/__init__.py,sha256=xJwDm1AZ70L5-t9LLqZwGUtDpijbf1KuMYDT
|
|
|
160
138
|
reflex/components/gridjs/datatable.py,sha256=7JKrRw1zkpFB0_wwoaIhrVrldsm7-dyi3PASgqLq8Hc,4224
|
|
161
139
|
reflex/components/gridjs/datatable.pyi,sha256=kFgv82vCgfdWZaUq4bZ73G8X3mkw6ecvSRkZ9G9-28E,5185
|
|
162
140
|
reflex/components/lucide/__init__.py,sha256=EggTK2MuQKQeOBLKW-mF0VaDK9zdWBImu1HO2dvHZbE,73
|
|
163
|
-
reflex/components/lucide/icon.py,sha256=
|
|
164
|
-
reflex/components/lucide/icon.pyi,sha256=
|
|
141
|
+
reflex/components/lucide/icon.py,sha256=Ow04V0M_9Ccgitp82NqaxTpMkTcIGYxTactJRZrrQMI,35214
|
|
142
|
+
reflex/components/lucide/icon.pyi,sha256=aqYf3ax3GX7RH4BUIfIG-PIeFVwZe0P9SHbucfb7q1Y,38008
|
|
165
143
|
reflex/components/markdown/__init__.py,sha256=Dfl1At5uYoY7H4ufZU_RY2KOGQDLtj75dsZ2BTqqAns,87
|
|
166
|
-
reflex/components/markdown/markdown.py,sha256=
|
|
144
|
+
reflex/components/markdown/markdown.py,sha256=kzvO2VnfCbxV7AcIMBJbxLtAlQ6U5T_QB_JTh8l-HJ4,15450
|
|
167
145
|
reflex/components/markdown/markdown.pyi,sha256=oOlXZItHB0TPWsFz1Qjvr3KzG8sssthBp40UO_KkRIA,4322
|
|
168
146
|
reflex/components/moment/__init__.py,sha256=jGnZgRBivYJQPIcFgtLaXFteCeIG3gGH5ACXkjEgmsI,92
|
|
169
147
|
reflex/components/moment/moment.py,sha256=fhhzrun9USb8J30btpyyDD3JuXF_N7EL5Dou3x7NQYw,4080
|
|
@@ -175,17 +153,17 @@ reflex/components/radix/__init__.py,sha256=fRsLvIO3MrTtPOXtmnxYDB9phvzlcbyB_utgp
|
|
|
175
153
|
reflex/components/radix/__init__.pyi,sha256=ke_dGrpFMNHd3MgQ9qiStSQDlGcJ39KVSrpIxayBU3c,3927
|
|
176
154
|
reflex/components/radix/primitives/__init__.py,sha256=R2sdZJqQCYaLScGkXnXDKAjVgV5MidceemooEUtvBt4,443
|
|
177
155
|
reflex/components/radix/primitives/__init__.pyi,sha256=kOCtVqDuSsBt5-lCcqM-3CBJsv-QokWIfkq0_iyqVDU,413
|
|
178
|
-
reflex/components/radix/primitives/accordion.py,sha256=
|
|
156
|
+
reflex/components/radix/primitives/accordion.py,sha256=yr_GtuU8cGiMyXmWXFx-Tz8P1dyz-zNTa1-bsHoME-Y,16191
|
|
179
157
|
reflex/components/radix/primitives/accordion.pyi,sha256=QuAwkB02qfJs8zqHfS25tpLYCjlnenEIMH61KKI8u1Q,28219
|
|
180
158
|
reflex/components/radix/primitives/base.py,sha256=9OvGDI1to8XL_a2hr3fNBQUwTHZBUO424ea2-UTKD18,770
|
|
181
159
|
reflex/components/radix/primitives/base.pyi,sha256=Cv5PCGNBO-QFXvBs5E5sxIkcQUgSHHUhSxQPl64T4ZU,4635
|
|
182
|
-
reflex/components/radix/primitives/drawer.py,sha256=
|
|
160
|
+
reflex/components/radix/primitives/drawer.py,sha256=3-l8kUX9WZ-4SFbMIVOeU5CJWHHC5SMLpZk_kgd2o3I,9262
|
|
183
161
|
reflex/components/radix/primitives/drawer.pyi,sha256=bdYaa6-WjH3kdFBFZc2IRwfSTrgqI3vFy5ueQuvAHEo,29735
|
|
184
|
-
reflex/components/radix/primitives/form.py,sha256=
|
|
162
|
+
reflex/components/radix/primitives/form.py,sha256=jxCt0xZRE9Xx5tBIJNojYwyvhN631_aNdlFQSPgm2dU,4801
|
|
185
163
|
reflex/components/radix/primitives/form.pyi,sha256=1g9IOcPDWPQDrdLYkeHgVXnF9Dcsng82yH8xKlOjrRw,47184
|
|
186
164
|
reflex/components/radix/primitives/progress.py,sha256=UvuUn6eWEhnhqImDvYOwa9Z3CE5gu5EV28uPBbZAT4k,3988
|
|
187
165
|
reflex/components/radix/primitives/progress.pyi,sha256=63AyvhVFf1lDG5NQTW-1o2Ek_kx2dt_tVAS-5RXM-Fw,16469
|
|
188
|
-
reflex/components/radix/primitives/slider.py,sha256=
|
|
166
|
+
reflex/components/radix/primitives/slider.py,sha256=a0btZ7GCuyXHSV4CZbXD7AP1BTh_VHvOnrac3a8BnCY,5030
|
|
189
167
|
reflex/components/radix/primitives/slider.pyi,sha256=Hv8YlWsCgGhstlaq9_C8abryIu60bImpjCvzTwbDVn0,12446
|
|
190
168
|
reflex/components/radix/themes/__init__.py,sha256=3ASzR_OrjkLXZ6CksGKIQPOcyYZ984NzXrn2UCIdxUc,492
|
|
191
169
|
reflex/components/radix/themes/__init__.pyi,sha256=B_xv0vBBRsCOinQasRO3ni_g8xbpucIPXCn5xZckgww,445
|
|
@@ -326,31 +304,31 @@ reflex/components/sonner/__init__.py,sha256=L_mdRIy7-ccRGSz5VK6J8O-c-e-D1p9xWw29
|
|
|
326
304
|
reflex/components/sonner/toast.py,sha256=sJ9E60VaMBwoev4aBrKr42ygN7e0jajNTooa5o5wYPQ,12505
|
|
327
305
|
reflex/components/sonner/toast.pyi,sha256=cj0zlkcFVmJ3CrHe2XIsF0MeBw61Bn-hrGkzHTFz8Og,7782
|
|
328
306
|
reflex/components/tags/__init__.py,sha256=Pc0JU-Tv_W7KCsydXgbKmu7w2VtHNkI6Cx2hTkNhW_Q,152
|
|
329
|
-
reflex/components/tags/cond_tag.py,sha256=
|
|
330
|
-
reflex/components/tags/iter_tag.py,sha256=
|
|
331
|
-
reflex/components/tags/match_tag.py,sha256=
|
|
332
|
-
reflex/components/tags/tag.py,sha256=
|
|
333
|
-
reflex/components/tags/tagless.py,sha256=
|
|
307
|
+
reflex/components/tags/cond_tag.py,sha256=svlnSP2ZMwHqjsHa3fq7a7K2--3XTLo5FcbjOw7fVik,849
|
|
308
|
+
reflex/components/tags/iter_tag.py,sha256=Q4rPOt0NSjYhAPDOnNtu7XPxn3MCYZInZjYU3xPJq2Q,3716
|
|
309
|
+
reflex/components/tags/match_tag.py,sha256=ppkf2o4sMcaK-lAn7cNC3ZcmiUUbtdVhRdsw6IvD10s,805
|
|
310
|
+
reflex/components/tags/tag.py,sha256=wlwD1We3ipgibPGsT1FS0aYYaJasLsjlfaOTgUT_aGg,3848
|
|
311
|
+
reflex/components/tags/tagless.py,sha256=APeSG-6N5-ucWwkq_hUl7zfT_vpoKleQdP80wPERG18,904
|
|
334
312
|
reflex/constants/__init__.py,sha256=q2Jf-LBbNcGrOmx5M7QotIAYW_t3m02TsmmdtJ5_IhM,2190
|
|
335
|
-
reflex/constants/base.py,sha256=
|
|
313
|
+
reflex/constants/base.py,sha256=rZ2JFO3mu5fVpjIUbiPJ7YCbensCjefbzYtV9uEwqpw,7539
|
|
336
314
|
reflex/constants/colors.py,sha256=n-FN7stNrvk5rCN0TAvE28dqwUeQZHue-b5q1CO0EyQ,2048
|
|
337
315
|
reflex/constants/compiler.py,sha256=bzmC1OW6kWr06rV1Gwoa2AtQ4yPoGhEzeoqpiNY0jwU,5703
|
|
338
316
|
reflex/constants/config.py,sha256=8OIjiBdZZJrRVHsNBheMwopE9AwBFFzau0SXqXKcrPg,1715
|
|
339
317
|
reflex/constants/custom_components.py,sha256=joJt4CEt1yKy7wsBH6vYo7_QRW0O_fWXrrTf0VY2q14,1317
|
|
340
318
|
reflex/constants/event.py,sha256=tgoynWQi2L0_Kqc3XhXo7XXL76A-OKhJGHRrNjm7gFw,2885
|
|
341
|
-
reflex/constants/installer.py,sha256=
|
|
319
|
+
reflex/constants/installer.py,sha256=VmTFvbevO5lk_t1KbY4Nq_uvnfnFzUChf4IJWfjBCbs,4191
|
|
342
320
|
reflex/constants/route.py,sha256=UBjqaAOxiUxlDZCSY4O2JJChKvA4MZrhUU0E5rNvKbM,2682
|
|
343
321
|
reflex/constants/state.py,sha256=dkoVvO9JcJyHovHJlGsZx-dDxpM80OvS4cJEm_TUOiM,349
|
|
344
322
|
reflex/constants/utils.py,sha256=e1ChEvbHfmE_V2UJvCSUhD_qTVAIhEGPpRJSqdSd6PA,780
|
|
345
323
|
reflex/custom_components/__init__.py,sha256=R4zsvOi4dfPmHc18KEphohXnQFBPnUCb50cMR5hSLDE,36
|
|
346
|
-
reflex/custom_components/custom_components.py,sha256=
|
|
324
|
+
reflex/custom_components/custom_components.py,sha256=QfSEiPQY7Z7ZdYDsxJOgtD7EZopIdGw2ERpt_dMcPCs,25500
|
|
347
325
|
reflex/experimental/__init__.py,sha256=P8fe8S2e2gy2HCwHFGQzr3lPMmh7qN5Ii2e8ukoPHuQ,1664
|
|
348
|
-
reflex/experimental/client_state.py,sha256=
|
|
326
|
+
reflex/experimental/client_state.py,sha256=adITjFmvzO081yaVgne2PZpG0hc_SrJHyLLbE-zfet0,10024
|
|
349
327
|
reflex/experimental/hooks.py,sha256=CHYGrAE5t8riltrJmDFgJ4D2Vhmhw-y3B3MSGNlOQow,2366
|
|
350
328
|
reflex/istate/__init__.py,sha256=afq_pCS5B_REC-Kl3Rbaa538uWi59xNz4INeuENcWnk,2039
|
|
351
329
|
reflex/istate/data.py,sha256=KrANpAQFTZcfFWnxyykgK1FRNuXTwTin1WYpyqymV-U,7547
|
|
352
330
|
reflex/istate/dynamic.py,sha256=xOQ9upZVPf6ngqcLQZ9HdAAYmoWwJ8kRFPH34Q5HTiM,91
|
|
353
|
-
reflex/istate/manager.py,sha256=
|
|
331
|
+
reflex/istate/manager.py,sha256=xQhvpTqnsVI5DmnZOq39IiQ-g1d-gtihQdEGKKM6-oQ,30531
|
|
354
332
|
reflex/istate/proxy.py,sha256=Q8JrV1m6drVcTNJL9JuN-nKUXclazs96OHl_fhR0UBk,25928
|
|
355
333
|
reflex/istate/storage.py,sha256=gCPoiZxuG-Rw0y-Pz3OC7rv4o08dQ_jK1fE2u8Jhxqg,4339
|
|
356
334
|
reflex/istate/wrappers.py,sha256=p8uuioXRbR5hperwbOJHUcWdu7hukLikQdoR7qrnKsI,909
|
|
@@ -360,10 +338,10 @@ reflex/middleware/middleware.py,sha256=p5VVoIgQ_NwOg_GOY6g0S4fmrV76_VE1zt-HiwbMw
|
|
|
360
338
|
reflex/plugins/__init__.py,sha256=jrMWQqMxCwDwgwQYTygeR_pIewMcvIFwAnngPbjSumQ,439
|
|
361
339
|
reflex/plugins/_screenshot.py,sha256=CAOaRpbrpTTIswwCXqhv7WYShB86Ao9MVv6dcXJzRb4,3958
|
|
362
340
|
reflex/plugins/base.py,sha256=5BgzCM7boj9kJ6FGzVzVlgQk-crJuVmOLCl1PXvv4-E,3372
|
|
363
|
-
reflex/plugins/shared_tailwind.py,sha256=
|
|
341
|
+
reflex/plugins/shared_tailwind.py,sha256=Zx1TDAjpXGI5aEjpB8NWS__xYRSNu_SEMTB6Z3ub120,7305
|
|
364
342
|
reflex/plugins/sitemap.py,sha256=Jj47uSMnkxndl7awkl48EhlQylBfY00WuMBNyTBcZHA,6186
|
|
365
|
-
reflex/plugins/tailwind_v3.py,sha256=
|
|
366
|
-
reflex/plugins/tailwind_v4.py,sha256=
|
|
343
|
+
reflex/plugins/tailwind_v3.py,sha256=jCEZ5UYdr706Mw48L-WSHOUB6O55o1C3uG6AMwXqZoI,4810
|
|
344
|
+
reflex/plugins/tailwind_v4.py,sha256=q6OxgWENu4fml4mKr8ncgjIU5ENgQCfNagtUOh51hik,5230
|
|
367
345
|
reflex/utils/__init__.py,sha256=y-AHKiRQAhk2oAkvn7W8cRVTZVK625ff8tTwvZtO7S4,24
|
|
368
346
|
reflex/utils/build.py,sha256=GLT2ycqgAe1cw__MFbfdlYrkzcTnY1oJ8cAv80jEcnQ,8641
|
|
369
347
|
reflex/utils/codespaces.py,sha256=kEQ-j-jclTukFpXDlYgNp95kYMGDrQmP3VNEoYGZ1u4,3052
|
|
@@ -373,9 +351,9 @@ reflex/utils/decorator.py,sha256=QUZntENupeW5FA5mNRTx0I1GzGKFQXhMjVg24_IIM5o,395
|
|
|
373
351
|
reflex/utils/exceptions.py,sha256=Wwu7Ji2xgq521bJKtU2NgjwhmFfnG8erirEVN2h8S-g,8884
|
|
374
352
|
reflex/utils/exec.py,sha256=o0u81B6pHv5Yt982V1vFYEJDxgM-HxmM5KRUBbTYmZI,21965
|
|
375
353
|
reflex/utils/export.py,sha256=Z2AHuhkxGQzOi9I90BejQ4qEcD0URr2i-ZU5qTJt7eQ,2562
|
|
376
|
-
reflex/utils/format.py,sha256=
|
|
377
|
-
reflex/utils/frontend_skeleton.py,sha256=
|
|
378
|
-
reflex/utils/imports.py,sha256=
|
|
354
|
+
reflex/utils/format.py,sha256=ZgZndjYujTMiHaG2Yg3LPVqr7-yoZZTBvlCLNX07iEU,21109
|
|
355
|
+
reflex/utils/frontend_skeleton.py,sha256=aCWJZN-xtZ9pOMrUwpx9RDXorCpTcNDeD9p3Meh-Q5U,8608
|
|
356
|
+
reflex/utils/imports.py,sha256=3hBb_3UPRjHt90HiFEoAt1acJWQ29RU8PFA1rFLLVRo,4242
|
|
379
357
|
reflex/utils/js_runtimes.py,sha256=ipVrZCajiRcjow-nQeUuxPS_c6F_NpfvMtITOesbPjU,13153
|
|
380
358
|
reflex/utils/lazy_loader.py,sha256=BiY9OvmAJDCz10qpuyTYv9duXgMFQa6RXKQmTO9hqKU,4453
|
|
381
359
|
reflex/utils/misc.py,sha256=folEweZVCrhHNkkqut9KqQdTJ80HxwL_gI41m40FnNM,4592
|
|
@@ -384,13 +362,13 @@ reflex/utils/net.py,sha256=q3h5pNbAlFiqy8U15S9DTOvzy_OnenVVug5ROBTGRTA,4267
|
|
|
384
362
|
reflex/utils/path_ops.py,sha256=_RS17IQDNr5vcoLLGZx2-z1E5WP-JgDHvaRAOgqrZiU,8154
|
|
385
363
|
reflex/utils/prerequisites.py,sha256=LEQCGg_PpvrNOBiOMZUZRrqWXYAW1Zkp56tHAPrpL9s,18643
|
|
386
364
|
reflex/utils/processes.py,sha256=t-ufWwu9RDsSMXCSsmjS2TILP5s7-AY94Rgx2O2gHMw,18178
|
|
387
|
-
reflex/utils/pyi_generator.py,sha256=
|
|
365
|
+
reflex/utils/pyi_generator.py,sha256=j-xzMg2XjjM7eJsdx5cG4tWpe__ef0a8Isv1AvawqpA,46393
|
|
388
366
|
reflex/utils/redir.py,sha256=E6lJ6UYGQs_uCyQAKHT_dDMplo5IRZ9JarWfvgGAgGo,1731
|
|
389
367
|
reflex/utils/registry.py,sha256=omKh5rrsybDuuKmh4K88lwdwwcpGsu3Vc4pCko_djKY,2239
|
|
390
368
|
reflex/utils/rename.py,sha256=qdE4SXHOaNs-TDGrnJz-h_nvLWA1C5osVrWb4wLSfyI,5262
|
|
391
369
|
reflex/utils/serializers.py,sha256=sVLfbWIBKPpmo0CVVxoxXGu0K3R9mYMWgaI02LXZmcM,13952
|
|
392
|
-
reflex/utils/telemetry.py,sha256=
|
|
393
|
-
reflex/utils/templates.py,sha256=
|
|
370
|
+
reflex/utils/telemetry.py,sha256=KY54NmGWyJVSf9TMTcXw2V6gIbEqut1JkAXmmtIlRfw,10776
|
|
371
|
+
reflex/utils/templates.py,sha256=tWo3jO6laQX8b0gUsqHkio_hUQGIvFbmXC-lxiGcdRo,14251
|
|
394
372
|
reflex/utils/token_manager.py,sha256=o_HGbqT9WfYRmek2iY9nem4vDZMz8Q4Dra-eW1lKmuA,6999
|
|
395
373
|
reflex/utils/types.py,sha256=jFHfd2-yHWV61L7YP2gc9Zj2ZLwdthHOOfRIc_PAWH0,38390
|
|
396
374
|
reflex/vars/__init__.py,sha256=85eXMt32bFoKtMdH3KxYRMD8mtnKyYiQcThPxJLoW1k,1359
|
|
@@ -402,8 +380,8 @@ reflex/vars/number.py,sha256=tO7pnvFaBsedq1HWT4skytnSqHWMluGEhUbjAUMx8XQ,28190
|
|
|
402
380
|
reflex/vars/object.py,sha256=BDmeiwG8v97s_BnR1Egq3NxOKVjv9TfnREB3cz0zZtk,17322
|
|
403
381
|
reflex/vars/sequence.py,sha256=1kBrqihspyjyQ1XDqFPC8OpVGtZs_EVkOdIKBro5ilA,55249
|
|
404
382
|
scripts/hatch_build.py,sha256=-4pxcLSFmirmujGpQX9UUxjhIC03tQ_fIQwVbHu9kc0,1861
|
|
405
|
-
reflex-0.8.
|
|
406
|
-
reflex-0.8.
|
|
407
|
-
reflex-0.8.
|
|
408
|
-
reflex-0.8.
|
|
409
|
-
reflex-0.8.
|
|
383
|
+
reflex-0.8.8a1.dist-info/METADATA,sha256=YRd_uiDbOXgskGwb-csfoXMKBmyglU9xxt-k4lnguYY,12507
|
|
384
|
+
reflex-0.8.8a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
385
|
+
reflex-0.8.8a1.dist-info/entry_points.txt,sha256=Rxt4dXc7MLBNt5CSHTehVPuSe9Xqow4HLX55nD9tQQ0,45
|
|
386
|
+
reflex-0.8.8a1.dist-info/licenses/LICENSE,sha256=dw3zLrp9f5ObD7kqS32vWfhcImfO52PMmRqvtxq_YEE,11358
|
|
387
|
+
reflex-0.8.8a1.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .{{ module_name }} import *
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"""Welcome to Reflex! This file showcases the custom component in a basic app."""
|
|
2
|
-
|
|
3
|
-
from rxconfig import config
|
|
4
|
-
|
|
5
|
-
import reflex as rx
|
|
6
|
-
|
|
7
|
-
from {{ custom_component_module_dir }} import {{ module_name }}
|
|
8
|
-
|
|
9
|
-
filename = f"{config.app_name}/{config.app_name}.py"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class State(rx.State):
|
|
13
|
-
"""The app state."""
|
|
14
|
-
|
|
15
|
-
pass
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def index() -> rx.Component:
|
|
19
|
-
return rx.center(
|
|
20
|
-
rx.theme_panel(),
|
|
21
|
-
rx.vstack(
|
|
22
|
-
rx.heading("Welcome to Reflex!", size="9"),
|
|
23
|
-
rx.text(
|
|
24
|
-
"Test your custom component by editing ",
|
|
25
|
-
rx.code(filename),
|
|
26
|
-
font_size="2em",
|
|
27
|
-
),
|
|
28
|
-
{{ module_name }}(),
|
|
29
|
-
align="center",
|
|
30
|
-
spacing="7",
|
|
31
|
-
),
|
|
32
|
-
height="100vh",
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
# Add state and page to the app.
|
|
37
|
-
app = rx.App()
|
|
38
|
-
app.add_page(index)
|
|
39
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
[build-system]
|
|
2
|
-
requires = ["setuptools", "wheel"]
|
|
3
|
-
build-backend = "setuptools.build_meta"
|
|
4
|
-
|
|
5
|
-
[project]
|
|
6
|
-
name = "{{ package_name }}"
|
|
7
|
-
version = "0.0.1"
|
|
8
|
-
description = "Reflex custom component {{ module_name }}"
|
|
9
|
-
readme = "README.md"
|
|
10
|
-
license = { text = "Apache-2.0" }
|
|
11
|
-
requires-python = ">=3.10"
|
|
12
|
-
authors = [{ name = "", email = "YOUREMAIL@domain.com" }]
|
|
13
|
-
keywords = ["reflex","reflex-custom-components"]
|
|
14
|
-
|
|
15
|
-
dependencies = ["reflex>={{ reflex_version }}"]
|
|
16
|
-
|
|
17
|
-
classifiers = ["Development Status :: 4 - Beta"]
|
|
18
|
-
|
|
19
|
-
[project.urls]
|
|
20
|
-
|
|
21
|
-
[project.optional-dependencies]
|
|
22
|
-
dev = ["build", "twine"]
|
|
23
|
-
|
|
24
|
-
[tool.setuptools.packages.find]
|
|
25
|
-
where = ["custom_components"]
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"""Reflex custom component {{ component_class_name }}."""
|
|
2
|
-
|
|
3
|
-
# For wrapping react guide, visit https://reflex.dev/docs/wrapping-react/overview/
|
|
4
|
-
|
|
5
|
-
import reflex as rx
|
|
6
|
-
|
|
7
|
-
# Some libraries you want to wrap may require dynamic imports.
|
|
8
|
-
# This is because they they may not be compatible with Server-Side Rendering (SSR).
|
|
9
|
-
# To handle this in Reflex, all you need to do is subclass `NoSSRComponent` instead.
|
|
10
|
-
# For example:
|
|
11
|
-
# from reflex.components.component import NoSSRComponent
|
|
12
|
-
# class {{ component_class_name }}(NoSSRComponent):
|
|
13
|
-
# pass
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class {{ component_class_name }}(rx.Component):
|
|
17
|
-
"""{{ component_class_name }} component."""
|
|
18
|
-
|
|
19
|
-
# The React library to wrap.
|
|
20
|
-
library = "Fill-Me"
|
|
21
|
-
|
|
22
|
-
# The React component tag.
|
|
23
|
-
tag = "Fill-Me"
|
|
24
|
-
|
|
25
|
-
# If the tag is the default export from the module, you must set is_default = True.
|
|
26
|
-
# This is normally used when components don't have curly braces around them when importing.
|
|
27
|
-
# is_default = True
|
|
28
|
-
|
|
29
|
-
# If you are wrapping another components with the same tag as a component in your project
|
|
30
|
-
# you can use aliases to differentiate between them and avoid naming conflicts.
|
|
31
|
-
# alias = "Other{{ component_class_name }}"
|
|
32
|
-
|
|
33
|
-
# The props of the React component.
|
|
34
|
-
# Note: when Reflex compiles the component to Javascript,
|
|
35
|
-
# `snake_case` property names are automatically formatted as `camelCase`.
|
|
36
|
-
# The prop names may be defined in `camelCase` as well.
|
|
37
|
-
# some_prop: rx.Var[str] = "some default value"
|
|
38
|
-
# some_other_prop: rx.Var[int] = 1
|
|
39
|
-
|
|
40
|
-
# By default Reflex will install the library you have specified in the library property.
|
|
41
|
-
# However, sometimes you may need to install other libraries to use a component.
|
|
42
|
-
# In this case you can use the lib_dependencies property to specify other libraries to install.
|
|
43
|
-
# lib_dependencies: list[str] = []
|
|
44
|
-
|
|
45
|
-
# Event triggers declaration if any.
|
|
46
|
-
# Below is equivalent to merging `{ "on_change": lambda e: [e] }`
|
|
47
|
-
# onto the default event triggers of parent/base Component.
|
|
48
|
-
# The function defined for the `on_change` trigger maps event for the javascript
|
|
49
|
-
# trigger to what will be passed to the backend event handler function.
|
|
50
|
-
# on_change: rx.EventHandler[lambda e: [e]]
|
|
51
|
-
|
|
52
|
-
# To add custom code to your component
|
|
53
|
-
# def _get_custom_code(self) -> str:
|
|
54
|
-
# return "const customCode = 'customCode';"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{{ module_name }} = {{ component_class_name }}.create
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "reflex",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"scripts": {
|
|
5
|
-
"dev": "{{ scripts.dev }}",
|
|
6
|
-
"export": "{{ scripts.export }}",
|
|
7
|
-
"prod": "{{ scripts.prod }}"
|
|
8
|
-
},
|
|
9
|
-
"dependencies": {
|
|
10
|
-
{% for package, version in dependencies.items() %}
|
|
11
|
-
"{{ package }}": "{{ version }}"{% if not loop.last %},{% endif %}
|
|
12
|
-
|
|
13
|
-
{% endfor %}
|
|
14
|
-
},
|
|
15
|
-
"devDependencies": {
|
|
16
|
-
{% for package, version in dev_dependencies.items() %}
|
|
17
|
-
"{{ package }}": "{{ version }}"{% if not loop.last %},{% endif %}
|
|
18
|
-
|
|
19
|
-
{% endfor %}
|
|
20
|
-
},
|
|
21
|
-
"overrides": {
|
|
22
|
-
{% for package, version in overrides.items() %}
|
|
23
|
-
"{{ package }}": "{{ version }}"{% if not loop.last %},{% endif %}
|
|
24
|
-
|
|
25
|
-
{% endfor %}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
{% extends "web/pages/base_page.js.jinja2" %}
|
|
2
|
-
{% from "web/pages/macros.js.jinja2" import renderHooks %}
|
|
3
|
-
|
|
4
|
-
{% block early_imports %}
|
|
5
|
-
import reflexGlobalStyles from '$/styles/__reflex_global_styles.css?url';
|
|
6
|
-
{% endblock %}
|
|
7
|
-
|
|
8
|
-
{% block declaration %}
|
|
9
|
-
import { EventLoopProvider, StateProvider, defaultColorMode } from "$/utils/context";
|
|
10
|
-
import { ThemeProvider } from '$/utils/react-theme';
|
|
11
|
-
import { Layout as AppLayout } from './_document';
|
|
12
|
-
import { Outlet } from 'react-router';
|
|
13
|
-
{% for library_alias, library_path in window_libraries %}
|
|
14
|
-
import * as {{library_alias}} from "{{library_path}}";
|
|
15
|
-
{% endfor %}
|
|
16
|
-
|
|
17
|
-
{% for custom_code in custom_codes %}
|
|
18
|
-
{{custom_code}}
|
|
19
|
-
{% endfor %}
|
|
20
|
-
{% endblock %}
|
|
21
|
-
|
|
22
|
-
{% block export %}
|
|
23
|
-
export const links = () => [
|
|
24
|
-
{ rel: 'stylesheet', href: reflexGlobalStyles, type: 'text/css' }
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
function AppWrap({children}) {
|
|
28
|
-
{{ renderHooks(hooks) }}
|
|
29
|
-
|
|
30
|
-
return (
|
|
31
|
-
{{utils.render(render)}}
|
|
32
|
-
)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export function Layout({children}) {
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
// Make contexts and state objects available globally for dynamic eval'd components
|
|
39
|
-
let windowImports = {
|
|
40
|
-
{% for library_alias, library_path in window_libraries %}
|
|
41
|
-
"{{library_path}}": {{library_alias}},
|
|
42
|
-
{% endfor %}
|
|
43
|
-
};
|
|
44
|
-
window["__reflex"] = windowImports;
|
|
45
|
-
}, []);
|
|
46
|
-
|
|
47
|
-
return jsx(AppLayout, {},
|
|
48
|
-
jsx(ThemeProvider, {defaultTheme: defaultColorMode, attribute: "class"},
|
|
49
|
-
jsx(StateProvider, {},
|
|
50
|
-
jsx(EventLoopProvider, {},
|
|
51
|
-
jsx(AppWrap, {}, children)
|
|
52
|
-
)
|
|
53
|
-
)
|
|
54
|
-
)
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export default function App() {
|
|
59
|
-
return jsx(Outlet, {});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
{% endblock %}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{% import 'web/pages/utils.js.jinja2' as utils %}
|
|
2
|
-
|
|
3
|
-
{% block early_imports %}
|
|
4
|
-
{% endblock %}
|
|
5
|
-
|
|
6
|
-
{%- block imports_libs %}
|
|
7
|
-
|
|
8
|
-
{% for module in imports%}
|
|
9
|
-
{{- utils.get_import(module) }}
|
|
10
|
-
{% endfor %}
|
|
11
|
-
|
|
12
|
-
{% for dynamic_import in dynamic_imports %}
|
|
13
|
-
{{dynamic_import}}
|
|
14
|
-
{% endfor %}
|
|
15
|
-
{% endblock %}
|
|
16
|
-
|
|
17
|
-
{% block declaration %}
|
|
18
|
-
{% endblock %}
|
|
19
|
-
|
|
20
|
-
{% block export %}
|
|
21
|
-
{% endblock %}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{% extends "web/pages/base_page.js.jinja2" %}
|
|
2
|
-
{% from "web/pages/macros.js.jinja2" import renderHooks %}
|
|
3
|
-
|
|
4
|
-
{% block declaration %}
|
|
5
|
-
{% for custom_code in custom_codes %}
|
|
6
|
-
{{custom_code}}
|
|
7
|
-
{% endfor %}
|
|
8
|
-
{% endblock %}
|
|
9
|
-
|
|
10
|
-
{% block export %}
|
|
11
|
-
{% for component in components %}
|
|
12
|
-
|
|
13
|
-
export const {{component.name}} = memo(({ {{-component.props|join(", ")-}} }) => {
|
|
14
|
-
{{ renderHooks(component.hooks) }}
|
|
15
|
-
|
|
16
|
-
return(
|
|
17
|
-
{{utils.render(component.render)}}
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
})
|
|
21
|
-
{% endfor %}
|
|
22
|
-
{% endblock %}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{% extends "web/pages/base_page.js.jinja2" %}
|
|
2
|
-
{% from "web/pages/macros.js.jinja2" import renderHooks %}
|
|
3
|
-
|
|
4
|
-
{% block declaration %}
|
|
5
|
-
{% for custom_code in custom_codes %}
|
|
6
|
-
{{custom_code}}
|
|
7
|
-
{% endfor %}
|
|
8
|
-
{% endblock %}
|
|
9
|
-
|
|
10
|
-
{% block export %}
|
|
11
|
-
export default function Component() {
|
|
12
|
-
{{ renderHooks(hooks)}}
|
|
13
|
-
|
|
14
|
-
return (
|
|
15
|
-
{{utils.render(render)}}
|
|
16
|
-
)
|
|
17
|
-
}
|
|
18
|
-
{% endblock %}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{% macro renderHooks(hooks) %}
|
|
2
|
-
{% set sorted_hooks = sort_hooks(hooks) %}
|
|
3
|
-
|
|
4
|
-
{# Render the grouped hooks #}
|
|
5
|
-
{% for hook, _ in sorted_hooks[const.hook_position.INTERNAL] %}
|
|
6
|
-
{{ hook }}
|
|
7
|
-
{% endfor %}
|
|
8
|
-
|
|
9
|
-
{% for hook, _ in sorted_hooks[const.hook_position.PRE_TRIGGER] %}
|
|
10
|
-
{{ hook }}
|
|
11
|
-
{% endfor %}
|
|
12
|
-
|
|
13
|
-
{% for hook, _ in sorted_hooks[const.hook_position.POST_TRIGGER] %}
|
|
14
|
-
{{ hook }}
|
|
15
|
-
{% endfor %}
|
|
16
|
-
{% endmacro %}
|
|
17
|
-
|
|
18
|
-
{% macro renderHooksWithMemo(hooks, memo)%}
|
|
19
|
-
{% set sorted_hooks = sort_hooks(hooks) %}
|
|
20
|
-
|
|
21
|
-
{# Render the grouped hooks #}
|
|
22
|
-
{% for hook, _ in sorted_hooks[const.hook_position.INTERNAL] %}
|
|
23
|
-
{{ hook }}
|
|
24
|
-
{% endfor %}
|
|
25
|
-
|
|
26
|
-
{% for hook, _ in sorted_hooks[const.hook_position.PRE_TRIGGER] %}
|
|
27
|
-
{{ hook }}
|
|
28
|
-
{% endfor %}
|
|
29
|
-
|
|
30
|
-
{% for hook in memo %}
|
|
31
|
-
{{ hook }}
|
|
32
|
-
{% endfor %}
|
|
33
|
-
|
|
34
|
-
{% for hook, _ in sorted_hooks[const.hook_position.POST_TRIGGER] %}
|
|
35
|
-
{{ hook }}
|
|
36
|
-
{% endfor %}
|
|
37
|
-
|
|
38
|
-
{% endmacro %}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{% import 'web/pages/utils.js.jinja2' as utils %}
|
|
2
|
-
{% from 'web/pages/macros.js.jinja2' import renderHooksWithMemo %}
|
|
3
|
-
{% set all_hooks = component._get_all_hooks() %}
|
|
4
|
-
|
|
5
|
-
{% if export %}
|
|
6
|
-
export function {{tag_name}} () {
|
|
7
|
-
{% else %}
|
|
8
|
-
function {{tag_name}} () {
|
|
9
|
-
{% endif %}
|
|
10
|
-
{{ renderHooksWithMemo(all_hooks, memo_trigger_hooks) }}
|
|
11
|
-
|
|
12
|
-
return (
|
|
13
|
-
{{utils.render(component.render())}}
|
|
14
|
-
)
|
|
15
|
-
}
|