reflex 0.8.0a5__py3-none-any.whl → 0.8.0a7__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.

Files changed (148) hide show
  1. reflex/.templates/jinja/web/pages/_app.js.jinja2 +1 -1
  2. reflex/.templates/web/utils/state.js +78 -31
  3. reflex/__init__.pyi +327 -188
  4. reflex/app.py +17 -7
  5. reflex/compiler/compiler.py +3 -1
  6. reflex/compiler/utils.py +28 -12
  7. reflex/components/__init__.pyi +34 -15
  8. reflex/components/base/__init__.pyi +30 -19
  9. reflex/components/base/app_wrap.pyi +2 -3
  10. reflex/components/base/body.pyi +2 -3
  11. reflex/components/base/document.pyi +7 -13
  12. reflex/components/base/error_boundary.pyi +2 -3
  13. reflex/components/base/fragment.pyi +2 -3
  14. reflex/components/base/link.pyi +3 -5
  15. reflex/components/base/meta.pyi +14 -18
  16. reflex/components/base/script.pyi +2 -3
  17. reflex/components/base/strict_mode.pyi +2 -3
  18. reflex/components/core/__init__.pyi +77 -38
  19. reflex/components/core/auto_scroll.pyi +2 -3
  20. reflex/components/core/banner.pyi +8 -14
  21. reflex/components/core/client_side_routing.pyi +2 -3
  22. reflex/components/core/clipboard.pyi +2 -3
  23. reflex/components/core/debounce.pyi +2 -3
  24. reflex/components/core/helmet.pyi +2 -3
  25. reflex/components/core/html.pyi +2 -3
  26. reflex/components/core/sticky.pyi +4 -7
  27. reflex/components/core/upload.pyi +5 -9
  28. reflex/components/datadisplay/__init__.pyi +13 -7
  29. reflex/components/datadisplay/code.pyi +2 -3
  30. reflex/components/datadisplay/dataeditor.pyi +33 -11
  31. reflex/components/datadisplay/shiki_code_block.pyi +3 -5
  32. reflex/components/el/__init__.pyi +506 -246
  33. reflex/components/el/element.pyi +2 -3
  34. reflex/components/el/elements/__init__.pyi +504 -245
  35. reflex/components/el/elements/base.pyi +2 -3
  36. reflex/components/el/elements/forms.pyi +77 -49
  37. reflex/components/el/elements/inline.pyi +29 -57
  38. reflex/components/el/elements/media.pyi +26 -51
  39. reflex/components/el/elements/metadata.pyi +7 -13
  40. reflex/components/el/elements/other.pyi +8 -15
  41. reflex/components/el/elements/scripts.pyi +4 -7
  42. reflex/components/el/elements/sectioning.pyi +16 -31
  43. reflex/components/el/elements/tables.pyi +11 -21
  44. reflex/components/el/elements/typography.pyi +16 -31
  45. reflex/components/gridjs/datatable.pyi +3 -5
  46. reflex/components/lucide/icon.pyi +4 -7
  47. reflex/components/markdown/markdown.pyi +2 -3
  48. reflex/components/moment/moment.py +1 -1
  49. reflex/components/moment/moment.pyi +2 -3
  50. reflex/components/plotly/plotly.pyi +31 -39
  51. reflex/components/radix/__init__.pyi +123 -65
  52. reflex/components/radix/primitives/__init__.pyi +6 -4
  53. reflex/components/radix/primitives/accordion.pyi +8 -15
  54. reflex/components/radix/primitives/base.pyi +3 -5
  55. reflex/components/radix/primitives/drawer.pyi +11 -21
  56. reflex/components/radix/primitives/form.pyi +22 -22
  57. reflex/components/radix/primitives/progress.pyi +5 -9
  58. reflex/components/radix/primitives/slider.pyi +6 -11
  59. reflex/components/radix/themes/__init__.pyi +5 -6
  60. reflex/components/radix/themes/base.pyi +9 -17
  61. reflex/components/radix/themes/color_mode.pyi +4 -7
  62. reflex/components/radix/themes/components/__init__.pyi +75 -38
  63. reflex/components/radix/themes/components/alert_dialog.pyi +8 -15
  64. reflex/components/radix/themes/components/aspect_ratio.pyi +2 -3
  65. reflex/components/radix/themes/components/avatar.pyi +2 -3
  66. reflex/components/radix/themes/components/badge.pyi +2 -3
  67. reflex/components/radix/themes/components/button.pyi +2 -3
  68. reflex/components/radix/themes/components/callout.pyi +5 -9
  69. reflex/components/radix/themes/components/card.pyi +2 -3
  70. reflex/components/radix/themes/components/checkbox.pyi +3 -5
  71. reflex/components/radix/themes/components/checkbox_cards.pyi +3 -5
  72. reflex/components/radix/themes/components/checkbox_group.pyi +3 -5
  73. reflex/components/radix/themes/components/context_menu.pyi +14 -27
  74. reflex/components/radix/themes/components/data_list.pyi +5 -9
  75. reflex/components/radix/themes/components/dialog.pyi +7 -13
  76. reflex/components/radix/themes/components/dropdown_menu.pyi +9 -17
  77. reflex/components/radix/themes/components/hover_card.pyi +4 -7
  78. reflex/components/radix/themes/components/icon_button.pyi +2 -3
  79. reflex/components/radix/themes/components/inset.pyi +2 -3
  80. reflex/components/radix/themes/components/popover.pyi +5 -9
  81. reflex/components/radix/themes/components/progress.pyi +2 -3
  82. reflex/components/radix/themes/components/radio.pyi +2 -3
  83. reflex/components/radix/themes/components/radio_cards.pyi +3 -5
  84. reflex/components/radix/themes/components/radio_group.pyi +4 -7
  85. reflex/components/radix/themes/components/scroll_area.pyi +2 -3
  86. reflex/components/radix/themes/components/segmented_control.pyi +3 -5
  87. reflex/components/radix/themes/components/select.pyi +9 -17
  88. reflex/components/radix/themes/components/separator.pyi +2 -3
  89. reflex/components/radix/themes/components/skeleton.pyi +2 -3
  90. reflex/components/radix/themes/components/slider.pyi +12 -5
  91. reflex/components/radix/themes/components/spinner.pyi +2 -3
  92. reflex/components/radix/themes/components/switch.pyi +2 -3
  93. reflex/components/radix/themes/components/table.pyi +8 -15
  94. reflex/components/radix/themes/components/tabs.pyi +5 -9
  95. reflex/components/radix/themes/components/text_area.pyi +10 -5
  96. reflex/components/radix/themes/components/text_field.pyi +19 -9
  97. reflex/components/radix/themes/components/tooltip.pyi +2 -3
  98. reflex/components/radix/themes/layout/__init__.pyi +27 -14
  99. reflex/components/radix/themes/layout/base.pyi +2 -3
  100. reflex/components/radix/themes/layout/box.pyi +2 -3
  101. reflex/components/radix/themes/layout/center.pyi +2 -3
  102. reflex/components/radix/themes/layout/container.pyi +2 -3
  103. reflex/components/radix/themes/layout/flex.pyi +2 -3
  104. reflex/components/radix/themes/layout/grid.pyi +2 -3
  105. reflex/components/radix/themes/layout/list.pyi +5 -9
  106. reflex/components/radix/themes/layout/section.pyi +2 -3
  107. reflex/components/radix/themes/layout/spacer.pyi +2 -3
  108. reflex/components/radix/themes/layout/stack.pyi +4 -7
  109. reflex/components/radix/themes/typography/__init__.pyi +7 -5
  110. reflex/components/radix/themes/typography/blockquote.pyi +2 -3
  111. reflex/components/radix/themes/typography/code.pyi +2 -3
  112. reflex/components/radix/themes/typography/heading.pyi +2 -3
  113. reflex/components/radix/themes/typography/link.pyi +3 -5
  114. reflex/components/radix/themes/typography/text.pyi +7 -13
  115. reflex/components/react_player/audio.pyi +5 -4
  116. reflex/components/react_player/react_player.pyi +2 -3
  117. reflex/components/react_player/video.pyi +5 -4
  118. reflex/components/recharts/__init__.pyi +208 -100
  119. reflex/components/recharts/cartesian.py +0 -6
  120. reflex/components/recharts/cartesian.pyi +25 -48
  121. reflex/components/recharts/charts.pyi +13 -25
  122. reflex/components/recharts/general.pyi +7 -13
  123. reflex/components/recharts/polar.pyi +7 -13
  124. reflex/components/recharts/recharts.py +2 -2
  125. reflex/components/recharts/recharts.pyi +3 -5
  126. reflex/components/sonner/toast.py +1 -1
  127. reflex/components/sonner/toast.pyi +2 -3
  128. reflex/config.py +7 -36
  129. reflex/constants/installer.py +7 -8
  130. reflex/environment.py +70 -0
  131. reflex/istate/__init__.py +69 -0
  132. reflex/istate/manager.py +1 -0
  133. reflex/plugins/shared_tailwind.py +58 -1
  134. reflex/plugins/tailwind_v3.py +4 -4
  135. reflex/plugins/tailwind_v4.py +6 -5
  136. reflex/state.py +17 -12
  137. reflex/testing.py +2 -1
  138. reflex/utils/exec.py +16 -6
  139. reflex/utils/imports.py +5 -12
  140. reflex/utils/misc.py +1 -2
  141. reflex/utils/prerequisites.py +1 -1
  142. reflex/utils/processes.py +14 -39
  143. reflex/utils/telemetry.py +0 -15
  144. {reflex-0.8.0a5.dist-info → reflex-0.8.0a7.dist-info}/METADATA +3 -3
  145. {reflex-0.8.0a5.dist-info → reflex-0.8.0a7.dist-info}/RECORD +148 -148
  146. {reflex-0.8.0a5.dist-info → reflex-0.8.0a7.dist-info}/WHEEL +0 -0
  147. {reflex-0.8.0a5.dist-info → reflex-0.8.0a7.dist-info}/entry_points.txt +0 -0
  148. {reflex-0.8.0a5.dist-info → reflex-0.8.0a7.dist-info}/licenses/LICENSE +0 -0
@@ -34,7 +34,7 @@ function AppWrap({children}) {
34
34
 
35
35
 
36
36
  export function Layout({children}) {
37
- React.useEffect(() => {
37
+ useEffect(() => {
38
38
  // Make contexts and state objects available globally for dynamic eval'd components
39
39
  let windowImports = {
40
40
  {% for library_alias, library_path in window_libraries %}
@@ -1,5 +1,4 @@
1
1
  // State management for Reflex web apps.
2
- import axios from "axios";
3
2
  import io from "socket.io-client";
4
3
  import JSON5 from "json5";
5
4
  import env from "$/env.json";
@@ -655,17 +654,6 @@ export const uploadFiles = async (
655
654
  };
656
655
 
657
656
  const controller = new AbortController();
658
- const config = {
659
- headers: {
660
- "Reflex-Client-Token": getToken(),
661
- "Reflex-Event-Handler": handler,
662
- },
663
- signal: controller.signal,
664
- onDownloadProgress: eventHandler,
665
- };
666
- if (on_upload_progress) {
667
- config["onUploadProgress"] = on_upload_progress;
668
- }
669
657
  const formdata = new FormData();
670
658
 
671
659
  // Add the token and handler to the file name.
@@ -676,26 +664,85 @@ export const uploadFiles = async (
676
664
  // Send the file to the server.
677
665
  refs[upload_ref_name] = controller;
678
666
 
679
- try {
680
- return await axios.post(getBackendURL(UPLOADURL), formdata, config);
681
- } catch (error) {
682
- if (error.response) {
683
- // The request was made and the server responded with a status code
684
- // that falls out of the range of 2xx
685
- console.log(error.response.data);
686
- } else if (error.request) {
687
- // The request was made but no response was received
688
- // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
689
- // http.ClientRequest in node.js
690
- console.log(error.request);
691
- } else {
692
- // Something happened in setting up the request that triggered an Error
693
- console.log(error.message);
667
+ return new Promise((resolve, reject) => {
668
+ const xhr = new XMLHttpRequest();
669
+
670
+ // Set up event handlers
671
+ xhr.onload = function () {
672
+ if (xhr.status >= 200 && xhr.status < 300) {
673
+ resolve({
674
+ data: xhr.responseText,
675
+ status: xhr.status,
676
+ statusText: xhr.statusText,
677
+ headers: {
678
+ get: (name) => xhr.getResponseHeader(name),
679
+ },
680
+ });
681
+ } else {
682
+ reject(new Error(`HTTP error! status: ${xhr.status}`));
683
+ }
684
+ };
685
+
686
+ xhr.onerror = function () {
687
+ reject(new Error("Network error"));
688
+ };
689
+
690
+ xhr.onabort = function () {
691
+ reject(new Error("Upload aborted"));
692
+ };
693
+
694
+ // Handle upload progress
695
+ if (on_upload_progress) {
696
+ xhr.upload.onprogress = function (event) {
697
+ if (event.lengthComputable) {
698
+ const progressEvent = {
699
+ loaded: event.loaded,
700
+ total: event.total,
701
+ progress: event.loaded / event.total,
702
+ };
703
+ on_upload_progress(progressEvent);
704
+ }
705
+ };
694
706
  }
695
- return false;
696
- } finally {
697
- delete refs[upload_ref_name];
698
- }
707
+
708
+ // Handle download progress with streaming response parsing
709
+ xhr.onprogress = function (event) {
710
+ if (eventHandler) {
711
+ const progressEvent = {
712
+ event: {
713
+ target: {
714
+ responseText: xhr.responseText,
715
+ },
716
+ },
717
+ progress: event.lengthComputable ? event.loaded / event.total : 0,
718
+ };
719
+ eventHandler(progressEvent);
720
+ }
721
+ };
722
+
723
+ // Handle abort controller
724
+ controller.signal.addEventListener("abort", () => {
725
+ xhr.abort();
726
+ });
727
+
728
+ // Configure and send request
729
+ xhr.open("POST", getBackendURL(UPLOADURL));
730
+ xhr.setRequestHeader("Reflex-Client-Token", getToken());
731
+ xhr.setRequestHeader("Reflex-Event-Handler", handler);
732
+
733
+ try {
734
+ xhr.send(formdata);
735
+ } catch (error) {
736
+ reject(error);
737
+ }
738
+ })
739
+ .catch((error) => {
740
+ console.log("Upload error:", error.message);
741
+ return false;
742
+ })
743
+ .finally(() => {
744
+ delete refs[upload_ref_name];
745
+ });
699
746
  };
700
747
 
701
748
  /**
reflex/__init__.pyi CHANGED
@@ -5,200 +5,158 @@
5
5
 
6
6
  from reflex.utils import compat
7
7
 
8
- from . import admin as admin
9
- from . import app as app
10
- from . import base as base
11
- from . import compiler as compiler
12
- from . import components as components
13
- from . import config as config
14
- from . import model as model
15
- from . import plugins as plugins
16
- from . import style as style
17
- from . import testing as testing
18
- from . import utils as utils
19
- from . import vars as vars
20
- from .admin import AdminDash as AdminDash
21
- from .app import App as App
22
- from .app import UploadFile as UploadFile
23
- from .assets import asset as asset
24
- from .base import Base as Base
25
- from .components import el as el
26
- from .components import lucide as lucide
27
- from .components import radix as radix
28
- from .components import recharts as recharts
29
- from .components.base.fragment import Fragment as Fragment
30
- from .components.base.fragment import fragment as fragment
31
- from .components.base.script import Script as Script
32
- from .components.base.script import script as script
33
- from .components.component import Component as Component
34
- from .components.component import ComponentNamespace as ComponentNamespace
35
- from .components.component import NoSSRComponent as NoSSRComponent
36
- from .components.component import memo as memo
37
- from .components.core.auto_scroll import auto_scroll as auto_scroll
38
- from .components.core.banner import connection_banner as connection_banner
39
- from .components.core.banner import connection_modal as connection_modal
40
- from .components.core.breakpoints import breakpoints as breakpoints
41
- from .components.core.clipboard import clipboard as clipboard
42
- from .components.core.colors import color as color
43
- from .components.core.cond import color_mode_cond as color_mode_cond
44
- from .components.core.cond import cond as cond
45
- from .components.core.debounce import debounce_input as debounce_input
46
- from .components.core.foreach import foreach as foreach
47
- from .components.core.html import html as html
48
- from .components.core.match import match as match
49
- from .components.core.responsive import desktop_only as desktop_only
50
- from .components.core.responsive import mobile_and_tablet as mobile_and_tablet
51
- from .components.core.responsive import mobile_only as mobile_only
52
- from .components.core.responsive import tablet_and_desktop as tablet_and_desktop
53
- from .components.core.responsive import tablet_only as tablet_only
54
- from .components.core.upload import cancel_upload as cancel_upload
55
- from .components.core.upload import clear_selected_files as clear_selected_files
56
- from .components.core.upload import get_upload_dir as get_upload_dir
57
- from .components.core.upload import get_upload_url as get_upload_url
58
- from .components.core.upload import selected_files as selected_files
59
- from .components.core.upload import upload as upload
60
- from .components.datadisplay.code import code_block as code_block
61
- from .components.datadisplay.dataeditor import data_editor as data_editor
62
- from .components.datadisplay.dataeditor import data_editor_theme as data_editor_theme
63
- from .components.datadisplay.logo import logo as logo
64
- from .components.el.elements.media import image as image
65
- from .components.gridjs import data_table as data_table
66
- from .components.lucide import icon as icon
67
- from .components.markdown import markdown as markdown
68
- from .components.moment import MomentDelta as MomentDelta
69
- from .components.moment import moment as moment
70
- from .components.plotly import plotly as plotly
71
- from .components.radix.primitives.accordion import accordion as accordion
72
- from .components.radix.primitives.drawer import drawer as drawer
73
- from .components.radix.primitives.form import form as form
74
- from .components.radix.themes.base import theme as theme
75
- from .components.radix.themes.base import theme_panel as theme_panel
76
- from .components.radix.themes.color_mode import color_mode as color_mode
77
- from .components.radix.themes.components.alert_dialog import (
78
- alert_dialog as alert_dialog,
8
+ from . import (
9
+ admin,
10
+ app,
11
+ base,
12
+ compiler,
13
+ components,
14
+ config,
15
+ model,
16
+ plugins,
17
+ style,
18
+ testing,
19
+ utils,
20
+ vars,
79
21
  )
80
- from .components.radix.themes.components.aspect_ratio import (
81
- aspect_ratio as aspect_ratio,
22
+ from .admin import AdminDash
23
+ from .app import App, UploadFile
24
+ from .assets import asset
25
+ from .base import Base
26
+ from .components import el, lucide, radix, recharts
27
+ from .components.base.fragment import Fragment, fragment
28
+ from .components.base.script import Script, script
29
+ from .components.component import Component, ComponentNamespace, NoSSRComponent, memo
30
+ from .components.core.auto_scroll import auto_scroll
31
+ from .components.core.banner import connection_banner, connection_modal
32
+ from .components.core.breakpoints import breakpoints
33
+ from .components.core.clipboard import clipboard
34
+ from .components.core.colors import color
35
+ from .components.core.cond import color_mode_cond, cond
36
+ from .components.core.debounce import debounce_input
37
+ from .components.core.foreach import foreach
38
+ from .components.core.html import html
39
+ from .components.core.match import match
40
+ from .components.core.responsive import (
41
+ desktop_only,
42
+ mobile_and_tablet,
43
+ mobile_only,
44
+ tablet_and_desktop,
45
+ tablet_only,
82
46
  )
83
- from .components.radix.themes.components.avatar import avatar as avatar
84
- from .components.radix.themes.components.badge import badge as badge
85
- from .components.radix.themes.components.button import button as button
86
- from .components.radix.themes.components.callout import callout as callout
87
- from .components.radix.themes.components.card import card as card
88
- from .components.radix.themes.components.checkbox import checkbox as checkbox
89
- from .components.radix.themes.components.checkbox_cards import (
90
- checkbox_cards as checkbox_cards,
47
+ from .components.core.upload import (
48
+ cancel_upload,
49
+ clear_selected_files,
50
+ get_upload_dir,
51
+ get_upload_url,
52
+ selected_files,
53
+ upload,
91
54
  )
92
- from .components.radix.themes.components.checkbox_group import (
93
- checkbox_group as checkbox_group,
55
+ from .components.datadisplay.code import code_block
56
+ from .components.datadisplay.dataeditor import data_editor, data_editor_theme
57
+ from .components.datadisplay.logo import logo
58
+ from .components.el.elements.media import image
59
+ from .components.gridjs import data_table
60
+ from .components.lucide import icon
61
+ from .components.markdown import markdown
62
+ from .components.moment import MomentDelta, moment
63
+ from .components.plotly import plotly
64
+ from .components.radix.primitives.accordion import accordion
65
+ from .components.radix.primitives.drawer import drawer
66
+ from .components.radix.primitives.form import form
67
+ from .components.radix.themes.base import theme, theme_panel
68
+ from .components.radix.themes.color_mode import color_mode
69
+ from .components.radix.themes.components.alert_dialog import alert_dialog
70
+ from .components.radix.themes.components.aspect_ratio import aspect_ratio
71
+ from .components.radix.themes.components.avatar import avatar
72
+ from .components.radix.themes.components.badge import badge
73
+ from .components.radix.themes.components.button import button
74
+ from .components.radix.themes.components.callout import callout
75
+ from .components.radix.themes.components.card import card
76
+ from .components.radix.themes.components.checkbox import checkbox
77
+ from .components.radix.themes.components.checkbox_cards import checkbox_cards
78
+ from .components.radix.themes.components.checkbox_group import checkbox_group
79
+ from .components.radix.themes.components.context_menu import context_menu
80
+ from .components.radix.themes.components.data_list import data_list
81
+ from .components.radix.themes.components.dialog import dialog
82
+ from .components.radix.themes.components.dropdown_menu import dropdown_menu, menu
83
+ from .components.radix.themes.components.hover_card import hover_card
84
+ from .components.radix.themes.components.icon_button import icon_button
85
+ from .components.radix.themes.components.inset import inset
86
+ from .components.radix.themes.components.popover import popover
87
+ from .components.radix.themes.components.progress import progress
88
+ from .components.radix.themes.components.radio_cards import radio_cards
89
+ from .components.radix.themes.components.radio_group import radio, radio_group
90
+ from .components.radix.themes.components.scroll_area import scroll_area
91
+ from .components.radix.themes.components.segmented_control import segmented_control
92
+ from .components.radix.themes.components.select import select
93
+ from .components.radix.themes.components.separator import divider, separator
94
+ from .components.radix.themes.components.skeleton import skeleton
95
+ from .components.radix.themes.components.slider import slider
96
+ from .components.radix.themes.components.spinner import spinner
97
+ from .components.radix.themes.components.switch import switch
98
+ from .components.radix.themes.components.table import table
99
+ from .components.radix.themes.components.tabs import tabs
100
+ from .components.radix.themes.components.text_area import text_area
101
+ from .components.radix.themes.components.text_field import input, text_field
102
+ from .components.radix.themes.components.tooltip import tooltip
103
+ from .components.radix.themes.layout.box import box
104
+ from .components.radix.themes.layout.center import center
105
+ from .components.radix.themes.layout.container import container
106
+ from .components.radix.themes.layout.flex import flex
107
+ from .components.radix.themes.layout.grid import grid
108
+ from .components.radix.themes.layout.list import list_item, ordered_list, unordered_list
109
+ from .components.radix.themes.layout.list import list_ns as list
110
+ from .components.radix.themes.layout.section import section
111
+ from .components.radix.themes.layout.spacer import spacer
112
+ from .components.radix.themes.layout.stack import hstack, stack, vstack
113
+ from .components.radix.themes.typography.blockquote import blockquote
114
+ from .components.radix.themes.typography.code import code
115
+ from .components.radix.themes.typography.heading import heading
116
+ from .components.radix.themes.typography.link import link
117
+ from .components.radix.themes.typography.text import text
118
+ from .components.react_player import audio, video
119
+ from .components.sonner.toast import toast
120
+ from .config import Config, DBConfig
121
+ from .constants import Env
122
+ from .constants.colors import Color
123
+ from .event import (
124
+ EventChain,
125
+ EventHandler,
126
+ call_function,
127
+ call_script,
128
+ clear_local_storage,
129
+ clear_session_storage,
130
+ console_log,
131
+ download,
132
+ noop,
133
+ prevent_default,
134
+ redirect,
135
+ remove_cookie,
136
+ remove_local_storage,
137
+ remove_session_storage,
138
+ run_script,
139
+ scroll_to,
140
+ set_clipboard,
141
+ set_focus,
142
+ set_value,
143
+ stop_propagation,
144
+ upload_files,
145
+ window_alert,
94
146
  )
95
- from .components.radix.themes.components.context_menu import (
96
- context_menu as context_menu,
97
- )
98
- from .components.radix.themes.components.data_list import data_list as data_list
99
- from .components.radix.themes.components.dialog import dialog as dialog
100
- from .components.radix.themes.components.dropdown_menu import (
101
- dropdown_menu as dropdown_menu,
102
- )
103
- from .components.radix.themes.components.dropdown_menu import menu as menu
104
- from .components.radix.themes.components.hover_card import hover_card as hover_card
105
- from .components.radix.themes.components.icon_button import icon_button as icon_button
106
- from .components.radix.themes.components.inset import inset as inset
107
- from .components.radix.themes.components.popover import popover as popover
108
- from .components.radix.themes.components.progress import progress as progress
109
- from .components.radix.themes.components.radio_cards import radio_cards as radio_cards
110
- from .components.radix.themes.components.radio_group import radio as radio
111
- from .components.radix.themes.components.radio_group import radio_group as radio_group
112
- from .components.radix.themes.components.scroll_area import scroll_area as scroll_area
113
- from .components.radix.themes.components.segmented_control import (
114
- segmented_control as segmented_control,
115
- )
116
- from .components.radix.themes.components.select import select as select
117
- from .components.radix.themes.components.separator import divider as divider
118
- from .components.radix.themes.components.separator import separator as separator
119
- from .components.radix.themes.components.skeleton import skeleton as skeleton
120
- from .components.radix.themes.components.slider import slider as slider
121
- from .components.radix.themes.components.spinner import spinner as spinner
122
- from .components.radix.themes.components.switch import switch as switch
123
- from .components.radix.themes.components.table import table as table
124
- from .components.radix.themes.components.tabs import tabs as tabs
125
- from .components.radix.themes.components.text_area import text_area as text_area
126
- from .components.radix.themes.components.text_field import input as input
127
- from .components.radix.themes.components.text_field import text_field as text_field
128
- from .components.radix.themes.components.tooltip import tooltip as tooltip
129
- from .components.radix.themes.layout.box import box as box
130
- from .components.radix.themes.layout.center import center as center
131
- from .components.radix.themes.layout.container import container as container
132
- from .components.radix.themes.layout.flex import flex as flex
133
- from .components.radix.themes.layout.grid import grid as grid
134
- from .components.radix.themes.layout.list import list_item as list_item
135
- from .components.radix.themes.layout.list import list_ns as list # noqa: F401
136
- from .components.radix.themes.layout.list import ordered_list as ordered_list
137
- from .components.radix.themes.layout.list import unordered_list as unordered_list
138
- from .components.radix.themes.layout.section import section as section
139
- from .components.radix.themes.layout.spacer import spacer as spacer
140
- from .components.radix.themes.layout.stack import hstack as hstack
141
- from .components.radix.themes.layout.stack import stack as stack
142
- from .components.radix.themes.layout.stack import vstack as vstack
143
- from .components.radix.themes.typography.blockquote import blockquote as blockquote
144
- from .components.radix.themes.typography.code import code as code
145
- from .components.radix.themes.typography.heading import heading as heading
146
- from .components.radix.themes.typography.link import link as link
147
- from .components.radix.themes.typography.text import text as text
148
- from .components.react_player import audio as audio
149
- from .components.react_player import video as video
150
- from .components.sonner.toast import toast as toast
151
- from .config import Config as Config
152
- from .config import DBConfig as DBConfig
153
- from .constants import Env as Env
154
- from .constants.colors import Color as Color
155
- from .event import EventChain as EventChain
156
- from .event import EventHandler as EventHandler
157
- from .event import call_function as call_function
158
- from .event import call_script as call_script
159
- from .event import clear_local_storage as clear_local_storage
160
- from .event import clear_session_storage as clear_session_storage
161
- from .event import console_log as console_log
162
- from .event import download as download
163
147
  from .event import event as event
164
- from .event import noop as noop
165
- from .event import prevent_default as prevent_default
166
- from .event import redirect as redirect
167
- from .event import remove_cookie as remove_cookie
168
- from .event import remove_local_storage as remove_local_storage
169
- from .event import remove_session_storage as remove_session_storage
170
- from .event import run_script as run_script
171
- from .event import scroll_to as scroll_to
172
- from .event import set_clipboard as set_clipboard
173
- from .event import set_focus as set_focus
174
- from .event import set_value as set_value
175
- from .event import stop_propagation as stop_propagation
176
- from .event import upload_files as upload_files
177
- from .event import window_alert as window_alert
178
- from .experimental import _x as _x
179
- from .istate.storage import Cookie as Cookie
180
- from .istate.storage import LocalStorage as LocalStorage
181
- from .istate.storage import SessionStorage as SessionStorage
182
- from .istate.wrappers import get_state as get_state
183
- from .middleware import Middleware as Middleware
184
- from .middleware import middleware as middleware
185
- from .model import Model as Model
186
- from .model import asession as asession
187
- from .model import session as session
148
+ from .experimental import _x
149
+ from .istate.storage import Cookie, LocalStorage, SessionStorage
150
+ from .istate.wrappers import get_state
151
+ from .middleware import Middleware, middleware
152
+ from .model import Model, asession, session
188
153
  from .page import page as page
189
- from .state import ComponentState as ComponentState
190
- from .state import State as State
191
- from .state import dynamic as dynamic
192
- from .state import var as var
193
- from .style import Style as Style
194
- from .style import toggle_color_mode as toggle_color_mode
195
- from .utils.imports import ImportDict as ImportDict
196
- from .utils.imports import ImportVar as ImportVar
197
- from .utils.misc import run_in_thread as run_in_thread
198
- from .utils.serializers import serializer as serializer
199
- from .vars import Field as Field
200
- from .vars import Var as Var
201
- from .vars import field as field
154
+ from .state import ComponentState, State, dynamic, var
155
+ from .style import Style, toggle_color_mode
156
+ from .utils.imports import ImportDict, ImportVar
157
+ from .utils.misc import run_in_thread
158
+ from .utils.serializers import serializer
159
+ from .vars import Field, Var, field
202
160
 
203
161
  del compat
204
162
  RADIX_THEMES_MAPPING: dict
@@ -210,3 +168,184 @@ RADIX_PRIMITIVES_SHORTCUT_MAPPING: dict
210
168
  COMPONENTS_CORE_MAPPING: dict
211
169
  COMPONENTS_BASE_MAPPING: dict
212
170
  RADIX_MAPPING: dict
171
+
172
+ __all__ = [
173
+ "AdminDash",
174
+ "App",
175
+ "Base",
176
+ "Color",
177
+ "Component",
178
+ "ComponentNamespace",
179
+ "ComponentState",
180
+ "Config",
181
+ "Cookie",
182
+ "DBConfig",
183
+ "Env",
184
+ "EventChain",
185
+ "EventHandler",
186
+ "Field",
187
+ "Fragment",
188
+ "ImportDict",
189
+ "ImportVar",
190
+ "LocalStorage",
191
+ "Middleware",
192
+ "Model",
193
+ "MomentDelta",
194
+ "NoSSRComponent",
195
+ "Script",
196
+ "SessionStorage",
197
+ "State",
198
+ "Style",
199
+ "UploadFile",
200
+ "Var",
201
+ "_x",
202
+ "accordion",
203
+ "admin",
204
+ "alert_dialog",
205
+ "app",
206
+ "asession",
207
+ "aspect_ratio",
208
+ "asset",
209
+ "audio",
210
+ "auto_scroll",
211
+ "avatar",
212
+ "badge",
213
+ "base",
214
+ "blockquote",
215
+ "box",
216
+ "breakpoints",
217
+ "button",
218
+ "call_function",
219
+ "call_script",
220
+ "callout",
221
+ "cancel_upload",
222
+ "card",
223
+ "center",
224
+ "checkbox",
225
+ "checkbox_cards",
226
+ "checkbox_group",
227
+ "clear_local_storage",
228
+ "clear_selected_files",
229
+ "clear_session_storage",
230
+ "clipboard",
231
+ "code",
232
+ "code_block",
233
+ "color",
234
+ "color_mode",
235
+ "color_mode_cond",
236
+ "compiler",
237
+ "components",
238
+ "cond",
239
+ "config",
240
+ "connection_banner",
241
+ "connection_modal",
242
+ "console_log",
243
+ "container",
244
+ "context_menu",
245
+ "data_editor",
246
+ "data_editor_theme",
247
+ "data_list",
248
+ "data_table",
249
+ "debounce_input",
250
+ "desktop_only",
251
+ "dialog",
252
+ "divider",
253
+ "download",
254
+ "drawer",
255
+ "dropdown_menu",
256
+ "dynamic",
257
+ "el",
258
+ "field",
259
+ "flex",
260
+ "foreach",
261
+ "form",
262
+ "fragment",
263
+ "get_state",
264
+ "get_upload_dir",
265
+ "get_upload_url",
266
+ "grid",
267
+ "heading",
268
+ "hover_card",
269
+ "hstack",
270
+ "html",
271
+ "icon",
272
+ "icon_button",
273
+ "image",
274
+ "input",
275
+ "inset",
276
+ "link",
277
+ "list",
278
+ "list_item",
279
+ "logo",
280
+ "lucide",
281
+ "markdown",
282
+ "match",
283
+ "memo",
284
+ "menu",
285
+ "middleware",
286
+ "mobile_and_tablet",
287
+ "mobile_only",
288
+ "model",
289
+ "moment",
290
+ "noop",
291
+ "ordered_list",
292
+ "plotly",
293
+ "plugins",
294
+ "popover",
295
+ "prevent_default",
296
+ "progress",
297
+ "radio",
298
+ "radio_cards",
299
+ "radio_group",
300
+ "radix",
301
+ "recharts",
302
+ "redirect",
303
+ "remove_cookie",
304
+ "remove_local_storage",
305
+ "remove_session_storage",
306
+ "run_in_thread",
307
+ "run_script",
308
+ "script",
309
+ "scroll_area",
310
+ "scroll_to",
311
+ "section",
312
+ "segmented_control",
313
+ "select",
314
+ "selected_files",
315
+ "separator",
316
+ "serializer",
317
+ "session",
318
+ "set_clipboard",
319
+ "set_focus",
320
+ "set_value",
321
+ "skeleton",
322
+ "slider",
323
+ "spacer",
324
+ "spinner",
325
+ "stack",
326
+ "stop_propagation",
327
+ "style",
328
+ "switch",
329
+ "table",
330
+ "tablet_and_desktop",
331
+ "tablet_only",
332
+ "tabs",
333
+ "testing",
334
+ "text",
335
+ "text_area",
336
+ "text_field",
337
+ "theme",
338
+ "theme_panel",
339
+ "toast",
340
+ "toggle_color_mode",
341
+ "tooltip",
342
+ "unordered_list",
343
+ "upload",
344
+ "upload_files",
345
+ "utils",
346
+ "var",
347
+ "vars",
348
+ "video",
349
+ "vstack",
350
+ "window_alert",
351
+ ]