streamlit 1.53.0__py3-none-any.whl → 1.54.0__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.
Files changed (311) hide show
  1. streamlit/__init__.py +1 -31
  2. streamlit/auth_util.py +91 -2
  3. streamlit/cli_util.py +3 -2
  4. streamlit/commands/echo.py +2 -2
  5. streamlit/commands/execution_control.py +1 -1
  6. streamlit/commands/logo.py +76 -24
  7. streamlit/commands/navigation.py +1 -1
  8. streamlit/components/types/base_custom_component.py +0 -2
  9. streamlit/components/v1/custom_component.py +0 -2
  10. streamlit/components/v2/bidi_component/main.py +2 -2
  11. streamlit/components/v2/component_path_utils.py +17 -29
  12. streamlit/components/v2/manifest_scanner.py +8 -3
  13. streamlit/components/v2/presentation.py +1 -1
  14. streamlit/config.py +57 -13
  15. streamlit/config_util.py +5 -5
  16. streamlit/connections/snowflake_connection.py +6 -3
  17. streamlit/dataframe_util.py +10 -10
  18. streamlit/deprecation_util.py +19 -1
  19. streamlit/elements/arrow.py +18 -8
  20. streamlit/elements/deck_gl_json_chart.py +6 -2
  21. streamlit/elements/exception.py +4 -2
  22. streamlit/elements/form.py +1 -1
  23. streamlit/elements/layouts.py +1 -1
  24. streamlit/elements/lib/built_in_chart_utils.py +36 -13
  25. streamlit/elements/lib/color_util.py +21 -2
  26. streamlit/elements/lib/column_config_utils.py +9 -7
  27. streamlit/elements/lib/dialog.py +1 -1
  28. streamlit/elements/lib/image_utils.py +5 -5
  29. streamlit/elements/lib/layout_utils.py +1 -1
  30. streamlit/elements/lib/options_selector_utils.py +112 -18
  31. streamlit/elements/lib/policies.py +1 -1
  32. streamlit/elements/lib/streamlit_plotly_theme.py +9 -11
  33. streamlit/elements/lib/utils.py +1 -1
  34. streamlit/elements/map.py +6 -6
  35. streamlit/elements/plotly_chart.py +2 -2
  36. streamlit/elements/toast.py +1 -1
  37. streamlit/elements/vega_charts.py +30 -7
  38. streamlit/elements/widgets/button.py +3 -3
  39. streamlit/elements/widgets/button_group.py +3 -3
  40. streamlit/elements/widgets/chat.py +1 -1
  41. streamlit/elements/widgets/data_editor.py +6 -6
  42. streamlit/elements/widgets/multiselect.py +32 -8
  43. streamlit/elements/widgets/number_input.py +1 -1
  44. streamlit/elements/widgets/radio.py +91 -31
  45. streamlit/elements/widgets/select_slider.py +123 -37
  46. streamlit/elements/widgets/selectbox.py +38 -16
  47. streamlit/elements/widgets/slider.py +5 -5
  48. streamlit/elements/widgets/time_widgets.py +150 -18
  49. streamlit/elements/write.py +2 -3
  50. streamlit/env_util.py +1 -1
  51. streamlit/errors.py +2 -14
  52. streamlit/external/langchain/streamlit_callback_handler.py +1 -1
  53. streamlit/hello/dataframe_demo.py +1 -1
  54. streamlit/hello/plotting_demo.py +19 -12
  55. streamlit/path_security.py +98 -0
  56. streamlit/proto/Alert_pb2.py +2 -3
  57. streamlit/proto/AppPage_pb2.py +2 -3
  58. streamlit/proto/ArrowData_pb2.py +2 -3
  59. streamlit/proto/ArrowNamedDataSet_pb2.py +2 -3
  60. streamlit/proto/ArrowVegaLiteChart_pb2.py +2 -3
  61. streamlit/proto/Arrow_pb2.py +2 -3
  62. streamlit/proto/AudioInput_pb2.py +2 -3
  63. streamlit/proto/Audio_pb2.py +2 -3
  64. streamlit/proto/AuthRedirect_pb2.py +2 -3
  65. streamlit/proto/AutoRerun_pb2.py +2 -3
  66. streamlit/proto/BackMsg_pb2.py +2 -3
  67. streamlit/proto/Balloons_pb2.py +2 -3
  68. streamlit/proto/BidiComponent_pb2.py +2 -3
  69. streamlit/proto/Block_pb2.py +2 -3
  70. streamlit/proto/BokehChart_pb2.py +2 -3
  71. streamlit/proto/ButtonGroup_pb2.py +2 -3
  72. streamlit/proto/ButtonLikeIconPosition_pb2.py +2 -3
  73. streamlit/proto/Button_pb2.py +2 -3
  74. streamlit/proto/CameraInput_pb2.py +2 -3
  75. streamlit/proto/ChatInput_pb2.py +2 -3
  76. streamlit/proto/Checkbox_pb2.py +2 -3
  77. streamlit/proto/ClientState_pb2.py +2 -3
  78. streamlit/proto/Code_pb2.py +2 -3
  79. streamlit/proto/ColorPicker_pb2.py +2 -3
  80. streamlit/proto/Common_pb2.py +2 -3
  81. streamlit/proto/Components_pb2.py +2 -3
  82. streamlit/proto/DataFrame_pb2.py +2 -3
  83. streamlit/proto/DateInput_pb2.py +2 -3
  84. streamlit/proto/DateTimeInput_pb2.py +2 -3
  85. streamlit/proto/DeckGlJsonChart_pb2.py +2 -3
  86. streamlit/proto/Delta_pb2.py +2 -3
  87. streamlit/proto/DocString_pb2.py +2 -3
  88. streamlit/proto/DownloadButton_pb2.py +2 -3
  89. streamlit/proto/Element_pb2.py +2 -3
  90. streamlit/proto/Empty_pb2.py +2 -3
  91. streamlit/proto/Exception_pb2.py +2 -3
  92. streamlit/proto/Favicon_pb2.py +2 -3
  93. streamlit/proto/FileUploader_pb2.py +2 -3
  94. streamlit/proto/ForwardMsg_pb2.py +2 -3
  95. streamlit/proto/GapSize_pb2.py +2 -3
  96. streamlit/proto/GitInfo_pb2.py +2 -3
  97. streamlit/proto/GraphVizChart_pb2.py +2 -3
  98. streamlit/proto/Heading_pb2.py +2 -3
  99. streamlit/proto/HeightConfig_pb2.py +2 -3
  100. streamlit/proto/Html_pb2.py +2 -3
  101. streamlit/proto/IFrame_pb2.py +2 -3
  102. streamlit/proto/Image_pb2.py +2 -3
  103. streamlit/proto/Json_pb2.py +2 -3
  104. streamlit/proto/LabelVisibilityMessage_pb2.py +2 -3
  105. streamlit/proto/LinkButton_pb2.py +2 -3
  106. streamlit/proto/Logo_pb2.py +6 -5
  107. streamlit/proto/Logo_pb2.pyi +25 -1
  108. streamlit/proto/Markdown_pb2.py +2 -3
  109. streamlit/proto/Metric_pb2.py +2 -3
  110. streamlit/proto/MetricsEvent_pb2.py +2 -3
  111. streamlit/proto/MultiSelect_pb2.py +2 -3
  112. streamlit/proto/NamedDataSet_pb2.py +2 -3
  113. streamlit/proto/Navigation_pb2.py +2 -3
  114. streamlit/proto/NewSession_pb2.py +25 -24
  115. streamlit/proto/NewSession_pb2.pyi +28 -2
  116. streamlit/proto/NumberInput_pb2.py +2 -3
  117. streamlit/proto/PageConfig_pb2.py +2 -3
  118. streamlit/proto/PageInfo_pb2.py +2 -3
  119. streamlit/proto/PageLink_pb2.py +2 -3
  120. streamlit/proto/PageNotFound_pb2.py +2 -3
  121. streamlit/proto/PageProfile_pb2.py +2 -3
  122. streamlit/proto/PagesChanged_pb2.py +2 -3
  123. streamlit/proto/ParentMessage_pb2.py +2 -3
  124. streamlit/proto/PlotlyChart_pb2.py +2 -3
  125. streamlit/proto/Progress_pb2.py +2 -3
  126. streamlit/proto/Radio_pb2.py +5 -4
  127. streamlit/proto/Radio_pb2.pyi +20 -3
  128. streamlit/proto/RootContainer_pb2.py +2 -3
  129. streamlit/proto/Selectbox_pb2.py +2 -3
  130. streamlit/proto/SessionEvent_pb2.py +2 -3
  131. streamlit/proto/SessionStatus_pb2.py +2 -3
  132. streamlit/proto/Skeleton_pb2.py +2 -3
  133. streamlit/proto/Slider_pb2.py +7 -8
  134. streamlit/proto/Slider_pb2.pyi +9 -1
  135. streamlit/proto/Snow_pb2.py +2 -3
  136. streamlit/proto/Space_pb2.py +2 -3
  137. streamlit/proto/Spinner_pb2.py +2 -3
  138. streamlit/proto/TextAlignmentConfig_pb2.py +2 -3
  139. streamlit/proto/TextArea_pb2.py +2 -3
  140. streamlit/proto/TextInput_pb2.py +2 -3
  141. streamlit/proto/Text_pb2.py +2 -3
  142. streamlit/proto/TimeInput_pb2.py +2 -3
  143. streamlit/proto/Toast_pb2.py +2 -3
  144. streamlit/proto/Transient_pb2.py +2 -3
  145. streamlit/proto/VegaLiteChart_pb2.py +2 -3
  146. streamlit/proto/Video_pb2.py +2 -3
  147. streamlit/proto/WidgetStates_pb2.py +2 -3
  148. streamlit/proto/WidthConfig_pb2.py +2 -3
  149. streamlit/proto/openmetrics_data_model_pb2.py +2 -3
  150. streamlit/runtime/app_session.py +106 -60
  151. streamlit/runtime/caching/cache_data_api.py +3 -3
  152. streamlit/runtime/caching/cache_errors.py +0 -2
  153. streamlit/runtime/caching/cache_resource_api.py +1 -1
  154. streamlit/runtime/caching/cache_utils.py +2 -2
  155. streamlit/runtime/caching/hashing.py +1 -3
  156. streamlit/runtime/caching/storage/cache_storage_protocol.py +0 -3
  157. streamlit/runtime/connection_factory.py +1 -1
  158. streamlit/runtime/credentials.py +2 -2
  159. streamlit/runtime/metrics_util.py +3 -3
  160. streamlit/runtime/runtime.py +6 -6
  161. streamlit/runtime/scriptrunner/script_runner.py +17 -0
  162. streamlit/runtime/scriptrunner_utils/exceptions.py +0 -4
  163. streamlit/runtime/scriptrunner_utils/script_run_context.py +13 -31
  164. streamlit/runtime/secrets.py +3 -4
  165. streamlit/runtime/state/__init__.py +7 -1
  166. streamlit/runtime/state/common.py +13 -0
  167. streamlit/runtime/state/query_params.py +493 -24
  168. streamlit/runtime/state/session_state.py +179 -4
  169. streamlit/runtime/state/widgets.py +26 -1
  170. streamlit/runtime/stats.py +1 -10
  171. streamlit/static/index.html +1 -1
  172. streamlit/static/manifest.json +304 -304
  173. streamlit/static/static/js/{ErrorOutline.esm.Cxoit62D.js → ErrorOutline.esm.BWk6F-Tz.js} +1 -1
  174. streamlit/static/static/js/{FileDownload.esm.Cym2KVOR.js → FileDownload.esm.AllYUuOW.js} +1 -1
  175. streamlit/static/static/js/{FileHelper.C47VLeXF.js → FileHelper.BvVTNdmy.js} +1 -1
  176. streamlit/static/static/js/{FormClearHelper.CUrwwEeX.js → FormClearHelper.C__r5Llk.js} +1 -1
  177. streamlit/static/static/js/{InputInstructions.DyVOE42q.js → InputInstructions.DOtkdOMV.js} +1 -1
  178. streamlit/static/static/js/Particles.DCsqQZlE.js +1 -0
  179. streamlit/static/static/js/{ProgressBar.qKdiDYyx.js → ProgressBar.DLCRvt4m.js} +2 -2
  180. streamlit/static/static/js/{StreamlitSyntaxHighlighter.DUPp9dS3.js → StreamlitSyntaxHighlighter.CYFWoZHb.js} +1 -1
  181. streamlit/static/static/js/{TableChart.esm.C_g2CvCE.js → TableChart.esm.D6ydHcIm.js} +1 -1
  182. streamlit/static/static/js/Toolbar.BHDNzWBx.js +1 -0
  183. streamlit/static/static/js/{WidgetLabelHelpIconInline.Dy4yV6I2.js → WidgetLabelHelpIconInline.DEXBrVlc.js} +1 -1
  184. streamlit/static/static/js/{base-input.DQAb60v0.js → base-input.TSQjctlq.js} +4 -4
  185. streamlit/static/static/js/{checkbox.C0HE0ojW.js → checkbox.BKgfzJZV.js} +1 -1
  186. streamlit/static/static/js/{createDownloadLinkElement.DBMfH8_e.js → createDownloadLinkElement.CG7nr2a4.js} +1 -1
  187. streamlit/static/static/js/{data-grid-overlay-editor.CSZWem5Q.js → data-grid-overlay-editor.ChXO__lP.js} +1 -1
  188. streamlit/static/static/js/{downloader.Bp8c7mYD.js → downloader.DJ3R_zWA.js} +1 -1
  189. streamlit/static/static/js/embed.u3PPfLkw.js +193 -0
  190. streamlit/static/static/js/{es6.j7akTCaI.js → es6.C5Mfy8nd.js} +2 -2
  191. streamlit/static/static/js/{formatNumber.CfuUiEpF.js → formatNumber.CMRgW9EJ.js} +1 -1
  192. streamlit/static/static/js/{iconPosition.BVSTKfGd.js → iconPosition.B4EEXI3E.js} +1 -1
  193. streamlit/static/static/js/{iframeResizer.contentWindow.BZ3lugzo.js → iframeResizer.contentWindow.WSvOiTW0.js} +1 -1
  194. streamlit/static/static/js/index.-FOBV3nz.js +1 -0
  195. streamlit/static/static/js/{index.D0tXFTaW.js → index.-NF8OSF5.js} +1 -1
  196. streamlit/static/static/js/{index.Dk0CU4R6.js → index.4cBg8kn5.js} +1 -1
  197. streamlit/static/static/js/{index.DtZTtufl.js → index.B0pzzCsH.js} +1 -1
  198. streamlit/static/static/js/{index.DSaE74nc.js → index.BID6ND5j.js} +2 -2
  199. streamlit/static/static/js/index.BMp5bGjh.js +1 -0
  200. streamlit/static/static/js/{index.CAMxgVFm.js → index.BQcmlvas.js} +1 -1
  201. streamlit/static/static/js/{index.C0F0G-wg.js → index.BRcmclgI.js} +1 -1
  202. streamlit/static/static/js/index.BaUZR4IG.js +1 -0
  203. streamlit/static/static/js/{index.Cow0Hs9V.js → index.BbMJj4PN.js} +1 -1
  204. streamlit/static/static/js/{index.iboGgrkh.js → index.BdCTJtq3.js} +2 -2
  205. streamlit/static/static/js/index.BdETLMuI.js +1 -0
  206. streamlit/static/static/js/index.BnKMWhs1.js +1 -0
  207. streamlit/static/static/js/index.Br1kXwQW.js +2 -0
  208. streamlit/static/static/js/{index.B2fTHpId.js → index.Bt2olRE4.js} +1 -1
  209. streamlit/static/static/js/{index.DBIRzFM7.js → index.Bxwsv5T8.js} +1 -1
  210. streamlit/static/static/js/index.C4KskYz6.js +1 -0
  211. streamlit/static/static/js/{index.BgCYNmov.js → index.C6bmbXk0.js} +1 -1
  212. streamlit/static/static/js/{index.7S_sCSRx.js → index.CEfKfbta.js} +1 -1
  213. streamlit/static/static/js/index.CIuaA8q0.js +2 -0
  214. streamlit/static/static/js/{index.CWAvu1Qu.js → index.CV1sObFX.js} +1 -1
  215. streamlit/static/static/js/{index.C9QftD-S.js → index.CbR6dgaV.js} +1 -1
  216. streamlit/static/static/js/index.Cq6szKqJ.js +1 -0
  217. streamlit/static/static/js/index.CyouXqCz.js +1 -0
  218. streamlit/static/static/js/{index.BMFt07G_.js → index.D1NUgMFI.js} +1 -1
  219. streamlit/static/static/js/{index.Tq2okoAU.js → index.D7SWG4Om.js} +1 -1
  220. streamlit/static/static/js/{index.DgJeIFb5.js → index.DAYPEwLI.js} +1 -1
  221. streamlit/static/static/js/index.DKS75Vfg.js +11 -0
  222. streamlit/static/static/js/{index.FfR9SXQv.js → index.DOXrMIxB.js} +1 -1
  223. streamlit/static/static/js/{index.BiVJWMS-.js → index.DOzYX8yS.js} +3 -3
  224. streamlit/static/static/js/{index.nEa8y_He.js → index.DRFMYcC4.js} +4 -4
  225. streamlit/static/static/js/{index.dgs1TGpP.js → index.Divl5FCY.js} +1 -1
  226. streamlit/static/static/js/{index.95DldRtG.js → index.DjAJ_CUa.js} +1 -1
  227. streamlit/static/static/js/{index.Z0mB4zBp.js → index.Dncue2pm.js} +33 -33
  228. streamlit/static/static/js/{index.DFT9nVK6.js → index.Drusyo5m.js} +48 -48
  229. streamlit/static/static/js/{index.1PD6f3vh.js → index.DuUyDGnP.js} +1 -1
  230. streamlit/static/static/js/{index.DpU0Bc2F.js → index.DvgT2rB2.js} +223 -223
  231. streamlit/static/static/js/{index.Bukztsaz.js → index.DzutABu5.js} +2 -2
  232. streamlit/static/static/js/index.Dzw2iPzi.js +3 -0
  233. streamlit/static/static/js/{index.DYkkO_of.js → index.FsTmxLbT.js} +1 -1
  234. streamlit/static/static/js/{index.CTQ8QcOV.js → index.OIwPqGYN.js} +1 -1
  235. streamlit/static/static/js/{index.NtSfVVJe.js → index.RXLN7YFT.js} +2 -2
  236. streamlit/static/static/js/{index.BU3d_gp1.js → index.YYb2u0jk.js} +2 -2
  237. streamlit/static/static/js/{index.BXfSsjdq.js → index.h8ejt-W3.js} +1 -1
  238. streamlit/static/static/js/{index.gPUFpUqs.js → index.lFMCi9am.js} +1 -1
  239. streamlit/static/static/js/{index.BDA5l7b9.js → index.pOgf4cEj.js} +1 -1
  240. streamlit/static/static/js/index.s_E0s7LB.js +188 -0
  241. streamlit/static/static/js/{index.DysJZEAt.js → index.xLCbzoqj.js} +1 -1
  242. streamlit/static/static/js/{input.Pz8Lwzsi.js → input.BLG7kWaj.js} +2 -2
  243. streamlit/static/static/js/{main.BeiYkHRo.js → main.D_CmqChN.js} +1 -1
  244. streamlit/static/static/js/{memory.Dyx_JBbb.js → memory.T8u9KqIQ.js} +1 -1
  245. streamlit/static/static/js/{number-overlay-editor.NLIdF6b9.js → number-overlay-editor.BKBSXkAM.js} +2 -2
  246. streamlit/static/static/js/{pandasStylerUtils.DsNlDEqS.js → pandasStylerUtils.B4tLYMwS.js} +1 -1
  247. streamlit/static/static/js/{sandbox.bER7qtR1.js → sandbox.jRlkcPem.js} +1 -1
  248. streamlit/static/static/js/{styled-components.DcoFBb7G.js → styled-components.D2QhNwzd.js} +1 -1
  249. streamlit/static/static/js/{throttle.DOaQWO4U.js → throttle.Cyw_V0Dq.js} +1 -1
  250. streamlit/static/static/js/{timepicker.RjHB2IT4.js → timepicker.PzyuDDWl.js} +1 -1
  251. streamlit/static/static/js/{toConsumableArray.DFAIugL0.js → toConsumableArray.gE9fMkLj.js} +1 -1
  252. streamlit/static/static/js/uniqueId.B1GeHnT1.js +1 -0
  253. streamlit/static/static/js/{useBasicWidgetState.CTtyymrp.js → useBasicWidgetState.DFklfao0.js} +1 -1
  254. streamlit/static/static/js/{useIntlLocale.DG5haQGX.js → useIntlLocale.C3tUGWTU.js} +8 -8
  255. streamlit/static/static/js/{useTextInputAutoExpand.Cnfcep1Z.js → useTextInputAutoExpand.D9nU_y-e.js} +1 -1
  256. streamlit/static/static/js/useUpdateUiValue.ClTdrkJN.js +1 -0
  257. streamlit/static/static/js/{useWaveformController.DozaayUB.js → useWaveformController.lzTbjMW2.js} +1 -1
  258. streamlit/static/static/js/{withCalculatedWidth.SNNFFxhJ.js → withCalculatedWidth.Dxs9I5Oe.js} +1 -1
  259. streamlit/static/static/js/{withFullScreenWrapper.Dl2f8_gt.js → withFullScreenWrapper.DfpAcJxf.js} +1 -1
  260. streamlit/string_util.py +2 -2
  261. streamlit/testing/v1/app_test.py +1 -1
  262. streamlit/testing/v1/element_tree.py +33 -20
  263. streamlit/type_util.py +2 -2
  264. streamlit/url_util.py +2 -2
  265. streamlit/user_info.py +2 -41
  266. streamlit/util.py +1 -1
  267. streamlit/watcher/event_based_path_watcher.py +37 -7
  268. streamlit/watcher/path_watcher.py +61 -2
  269. streamlit/watcher/util.py +26 -10
  270. streamlit/web/bootstrap.py +16 -4
  271. streamlit/web/cli.py +1 -4
  272. streamlit/web/server/app_discovery.py +2 -1
  273. streamlit/web/server/app_static_file_handler.py +9 -0
  274. streamlit/web/server/bidi_component_request_handler.py +4 -4
  275. streamlit/web/server/component_file_utils.py +14 -6
  276. streamlit/web/server/component_request_handler.py +2 -2
  277. streamlit/web/server/oauth_authlib_routes.py +14 -42
  278. streamlit/web/server/server.py +1 -1
  279. streamlit/web/server/server_util.py +23 -1
  280. streamlit/web/server/starlette/starlette_app.py +7 -1
  281. streamlit/web/server/starlette/starlette_auth_routes.py +94 -16
  282. streamlit/web/server/starlette/starlette_path_security_middleware.py +97 -0
  283. streamlit/web/server/starlette/starlette_routes.py +16 -9
  284. streamlit/web/server/starlette/starlette_server.py +2 -2
  285. streamlit/web/server/starlette/starlette_static_routes.py +14 -4
  286. streamlit/web/server/stats_request_handler.py +1 -3
  287. {streamlit-1.53.0.dist-info → streamlit-1.54.0.dist-info}/METADATA +10 -25
  288. {streamlit-1.53.0.dist-info → streamlit-1.54.0.dist-info}/RECORD +291 -291
  289. {streamlit-1.53.0.dist-info → streamlit-1.54.0.dist-info}/WHEEL +1 -1
  290. streamlit/commands/experimental_query_params.py +0 -169
  291. streamlit/static/static/js/Particles.D5ZUTvE6.js +0 -1
  292. streamlit/static/static/js/Toolbar.BbO8bxwz.js +0 -1
  293. streamlit/static/static/js/embed.DQBlGL9Q.js +0 -195
  294. streamlit/static/static/js/index.5CsPRetw.js +0 -1
  295. streamlit/static/static/js/index.BGgra9Bb.js +0 -188
  296. streamlit/static/static/js/index.BGzJYcHz.js +0 -1
  297. streamlit/static/static/js/index.BNpEDrb2.js +0 -1
  298. streamlit/static/static/js/index.Bk5wGJXh.js +0 -1
  299. streamlit/static/static/js/index.By8GIgDH.js +0 -1
  300. streamlit/static/static/js/index.C8VoW8Ph.js +0 -1
  301. streamlit/static/static/js/index.CZzy-Gct.js +0 -1
  302. streamlit/static/static/js/index.CeFdbzfR.js +0 -11
  303. streamlit/static/static/js/index.CkmNfvPD.js +0 -1
  304. streamlit/static/static/js/index.CsmTnJl4.js +0 -3
  305. streamlit/static/static/js/index.DZGCJu4I.js +0 -2
  306. streamlit/static/static/js/index.svncz-Ad.js +0 -2
  307. streamlit/static/static/js/uniqueId.DEvFPH9n.js +0 -1
  308. streamlit/static/static/js/useUpdateUiValue.BWnXwmrp.js +0 -1
  309. streamlit-1.53.0.data/scripts/streamlit.cmd +0 -16
  310. {streamlit-1.53.0.dist-info → streamlit-1.54.0.dist-info}/entry_points.txt +0 -0
  311. {streamlit-1.53.0.dist-info → streamlit-1.54.0.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- import{r,E as S,_ as z,W as dt,F as m,aj as Re,cw as b,cu as Me,o as A,j as a,P as ue,az as V,aA as pe,a0 as K,b as ut,B as pt,Z as Te,bX as gt,l as ft,k as ht,b8 as mt,cx as wt,e as ie,bS as Ve,bT as vt,ab as Ct}from"./index.DFT9nVK6.js";import{u as ke,I as yt,g as Ae,F as G,E as ce,b as xt,s as bt,a as Fe}from"./FileHelper.C47VLeXF.js";import{u as St}from"./useWaveformController.DozaayUB.js";import{I as zt}from"./InputInstructions.DyVOE42q.js";import{u as Et,T as It}from"./useTextInputAutoExpand.Cnfcep1Z.js";import{i as Rt}from"./inputUtils.CptNuJwn.js";import{T as Vt}from"./TableChart.esm.C_g2CvCE.js";import{E as At}from"./ErrorOutline.esm.Cxoit62D.js";import{U as De}from"./UploadFileInfo.Dr-zDST7.js";import"./base-input.DQAb60v0.js";var Ue=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("rect",{width:24,height:24,fill:"none"}),r.createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),r.createElement("path",{d:"M14 17H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"}))});Ue.displayName="Article";var He=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}))});He.displayName="Code";var Le=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M8 16h8v2H8zm0-4h8v2H8zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z"}))});Le.displayName="Description";var Be=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M9.17 6l2 2H20v10H4V6h5.17M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"}))});Be.displayName="Folder";var Ne=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86l-3 3.87L9 13.14 6 17h12l-3.86-5.14z"}))});Ne.displayName="Image";var We=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M12 3l.01 10.55c-.59-.34-1.27-.55-2-.55a4.001 4.001 0 100 8c2.22 0 3.99-1.79 3.99-4V7h4V3h-6zm-1.99 16c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}))});We.displayName="MusicNote";var Pe=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm-1-9c0-.55.45-1 1-1s1 .45 1 1v6c0 .55-.45 1-1 1s-1-.45-1-1V5zm6 6c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z"}))});Pe.displayName="MicNone";var Oe=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M15 8v8H5V8h10m1-2H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4V7c0-.55-.45-1-1-1z"}))});Oe.displayName="Videocam";var $e=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("rect",{width:24,height:24,fill:"none"}),r.createElement("path",{d:"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1z"}))});$e.displayName="Add";var Xe=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M13 19V7.83l4.88 4.88c.39.39 1.03.39 1.42 0a.996.996 0 000-1.41l-6.59-6.59a.996.996 0 00-1.41 0l-6.6 6.58a.996.996 0 101.41 1.41L11 7.83V19c0 .55.45 1 1 1s1-.45 1-1z"}))});Xe.displayName="ArrowUpward";var je=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm4.29 12.89a.996.996 0 11-1.41 1.41L12 13.41 9.11 16.3a.996.996 0 11-1.41-1.41L10.59 12 7.71 9.11A.996.996 0 119.12 7.7L12 10.59l2.89-2.89a.996.996 0 111.41 1.41L13.41 12l2.88 2.89z"}))});je.displayName="Cancel";var _e=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M18 6.7l-8.48 8.48-3.54-3.54a.996.996 0 10-1.41 1.41l4.24 4.24c.39.39 1.02.39 1.41 0l9.18-9.18a.999.999 0 00-.01-1.42c-.37-.38-1-.38-1.39.01z"}))});_e.displayName="Check";var Ke=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M18.3 5.71a.996.996 0 00-1.41 0L12 10.59 7.11 5.7A.996.996 0 105.7 7.11L10.59 12 5.7 16.89a.996.996 0 101.41 1.41L12 13.41l4.89 4.89a.996.996 0 101.41-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4z"}))});Ke.displayName="Close";var Ge=r.forwardRef(function(e,t){var o={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return r.createElement(S,z({iconAttrs:o,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},e,{ref:t}),r.createElement("rect",{width:24,height:24,fill:"none"}),r.createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm0 4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}))});Ge.displayName="ErrorOutline";const _=dt.getLogger("ChatInput"),Ft=m("div",{target:"e5ztmp70"})({position:"relative",display:"flex",flexDirection:"column"}),Mt=m("div",{target:"e5ztmp71"})(({theme:e})=>({backgroundColor:e.colors.secondaryBg,border:`${e.sizes.borderWidth} solid`,borderColor:e.colors.widgetBorderColor??e.colors.transparent,position:"relative",display:"flex",flexDirection:"column",alignItems:"stretch",flex:1,paddingTop:e.spacing.md,paddingBottom:e.spacing.md,paddingLeft:e.spacing.lg,paddingRight:e.spacing.lg,gap:e.spacing.sm,borderRadius:e.radii.default,boxSizing:"border-box",":focus-within":{borderColor:e.colors.primary}})),Tt=m("div",{target:"e5ztmp72"})(({theme:e})=>({display:"flex",flexWrap:"wrap",gap:e.spacing.sm})),kt=m("div",{target:"e5ztmp73"})(({theme:e,isStacked:t})=>({display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",gap:e.spacing.sm,flexWrap:t?"wrap":"nowrap"})),Dt=m("div",{target:"e5ztmp74"})(({isStacked:e})=>({flex:e?"none":1,width:e?"100%":"auto",order:e?-1:0,display:"flex",alignItems:"center",minWidth:0})),Ut=m("div",{target:"e5ztmp75"})(({theme:e})=>({display:"flex",flexDirection:"row",flexShrink:0,gap:e.spacing.sm,alignItems:"center"})),Ht=m("div",{target:"e5ztmp76"})(({theme:e})=>({display:"flex",flexDirection:"row",gap:e.spacing.sm,alignItems:"center"})),Lt=m("div",{target:"e5ztmp77"})(({theme:e})=>({position:"absolute",top:e.spacing.twoXS,right:e.spacing.lg,color:e.colors.fadedText60,fontSize:e.fontSizes.twoSm,textAlign:"right",whiteSpace:"nowrap",pointerEvents:"auto",cursor:"text",zIndex:e.zIndices.priority,"& .stChatInputInstructions":{position:"static"}})),T=m("button",{target:"e5ztmp78"})(({theme:e,disabled:t,hasError:o,primary:p})=>{if(p)return{border:"none",backgroundColor:t?e.colors.darkenedBgMix15:e.colors.primary,borderRadius:e.radii.button,display:"inline-flex",alignItems:"center",justifyContent:"center",lineHeight:e.lineHeights.none,margin:e.spacing.none,padding:e.spacing.xs,width:e.sizes.chatInputPrimaryButtonSize,height:e.sizes.chatInputPrimaryButtonSize,color:t?e.colors.fadedText40:e.colors.white,cursor:t?"not-allowed":"pointer",transition:"background-color 200ms ease","&:focus":{outline:"none"},":focus":{outline:"none"},"&:focus-visible":{boxShadow:Re(e)},"&:hover":{backgroundColor:t?e.colors.darkenedBgMix15:e.colors.primary}};const l=()=>o?e.colors.redTextColor:t?e.colors.fadedText40:e.colors.fadedText60;return{border:"none",backgroundColor:e.colors.transparent,borderRadius:e.radii.default,display:"inline-flex",alignItems:"center",justifyContent:"center",lineHeight:e.lineHeights.none,margin:e.spacing.none,padding:e.spacing.none,color:l(),pointerEvents:"auto","&:focus":{outline:"none"},":focus":{outline:"none"},"&:focus-visible":{boxShadow:Re(e)},"&:hover":{color:o?e.colors.redColor:e.colors.bodyText},"&:active":{color:e.colors.primary},"&:disabled, &:disabled:hover, &:disabled:active":{backgroundColor:e.colors.transparent,borderColor:e.colors.transparent,color:e.colors.fadedText40,cursor:"not-allowed"},"& svg":{width:e.iconSizes.lg,height:e.iconSizes.lg}}}),Bt=m("div",{target:"e5ztmp79"})(({isRecording:e})=>({display:e?"flex":"none",flex:1,alignItems:"center",minWidth:0})),Nt=m("div",{target:"e5ztmp710"})(({theme:e})=>({position:"relative",width:"100%",height:e.sizes.chatInputPrimaryButtonSize,borderRadius:e.radii.default,overflow:"hidden","& > div":{position:"absolute",inset:0}})),Ye=(e,t)=>t===b.Directory?{...e,webkitdirectory:"",multiple:!0}:e,Wt=(e,t)=>{if(!t||t.length===0)return!0;const o=e.name.toLowerCase(),p=o.lastIndexOf(".");if(p===-1||p===o.length-1)return t.some(d=>d===""||d===".");const l=o.substring(p),w=o.substring(p+1);return t.some(d=>{const v=d.toLowerCase();return v.startsWith(".")?l===v:w===v})},Pt=(e,t)=>Wt(e,t)?{isValid:!0}:{isValid:!1,errorMessage:`${e.type||"This type of"} files are not allowed.`},de=e=>{switch(e){case b.None:return"a file";case b.Single:return"a file";case b.Multiple:return"files";case b.Directory:return"a directory";default:return Me(e),"a file"}},Ot=m("div",{target:"e1p4ydfm0"})(({theme:e})=>({backgroundColor:e.colors.transparent,position:"absolute",inset:0,zIndex:e.zIndices.priority,borderRadius:e.radii.chatInput})),$t=m("div",{target:"e1p4ydfm1"})(({theme:e})=>({position:"absolute",inset:0,border:`${e.sizes.borderWidth} solid`,borderColor:e.colors.primary,borderRadius:e.radii.chatInput,backgroundColor:e.colors.secondaryBg,color:e.colors.primary,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:e.fontWeights.bold,pointerEvents:"none",zIndex:e.zIndices.priority})),Xt=m("div",{target:"e1p4ydfm2"})(({disabled:e})=>({pointerEvents:e?"none":"auto"})),jt=m("div",{target:"e1p4ydfm3"})(({theme:e})=>({lineHeight:e.lineHeights.tight})),_t=m("div",{target:"e1p4ydfm4"})(({theme:e})=>({display:"flex",flexWrap:"wrap",gap:e.spacing.sm})),Kt=m("div",{target:"e1p4ydfm5"})({flex:"0 0 auto",maxWidth:"100%"}),Gt=m("div",{target:"e1p4ydfm6"})(({theme:e,isError:t,isClickable:o})=>({position:"relative",display:"inline-flex",alignItems:"center",width:"fit-content",minWidth:"9rem",maxWidth:"11rem",backgroundColor:t?e.colors.redBackgroundColor:e.colors.bgColor,padding:e.spacing.twoXS,paddingRight:e.spacing.twoXL,borderRadius:e.radii.default,gap:e.spacing.sm,cursor:o?"pointer":"default"})),Yt=m("div",{target:"e1p4ydfm7"})({display:"flex",flexDirection:"column",minWidth:0}),qt=m("div",{target:"e1p4ydfm8"})(({theme:e,fileStatus:t})=>({display:"flex",alignItems:"center",justifyContent:"center",borderRadius:e.radii.default,width:e.sizes.chatInputFileIconSize,height:e.sizes.chatInputFileIconSize,flexShrink:0,overflow:"hidden",...t==="uploaded"&&{backgroundColor:e.colors.bodyText,color:e.colors.bgColor},...t==="uploading"&&{backgroundColor:e.colors.fadedText10,color:e.colors.fadedText60},...t==="error"&&{backgroundColor:e.colors.redBackgroundColor,color:e.colors.redTextColor}})),Zt=m("img",{target:"e1p4ydfm9"})({width:"100%",height:"100%",objectFit:"cover"}),Jt=m("div",{target:"e1p4ydfm10"})(({theme:e,fileStatus:t})=>({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:t.type==="uploading"?e.colors.fadedText60:e.colors.bodyText})),Qt=m("div",{target:"e1p4ydfm11"})(({theme:e})=>({color:e.colors.fadedText60,fontSize:e.fontSizes.sm})),er=m("small",{target:"e1p4ydfm12"})(({theme:e,isError:t})=>({position:"absolute",top:e.spacing.twoXS,right:e.spacing.twoXS,display:"flex",alignItems:"center",justifyContent:"center",lineHeight:0,"& button":{display:"flex",alignItems:"center",justifyContent:"center",width:"fit-content",height:"fit-content",minHeight:"unset",minWidth:"unset",maxHeight:"unset",maxWidth:"unset",borderRadius:"50%",backgroundColor:"transparent",color:t?e.colors.redTextColor:e.colors.fadedText60,padding:0,overflow:"hidden",boxSizing:"border-box",lineHeight:0,"&:hover":{backgroundColor:"transparent",color:t?e.colors.redColor:e.colors.bodyText}}})),tr=m("span",{target:"e1p4ydfm13"})({position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0}),rr=({onDrop:e,multiple:t,accept:o,maxSize:p,acceptFile:l,disabled:w})=>{const{getRootProps:d,getInputProps:v}=ke({onDrop:e,multiple:t,accept:o,maxSize:p,useFsAccessApi:!1}),C=Ye(v(),l),c=d({tabIndex:-1});return A(Xt,{"data-testid":"stChatInputFileUploadButton",disabled:w,...c,children:[a("input",{...C}),a(pe,{content:`Upload or drag and drop ${de(l)}`,placement:ue.TOP,onMouseEnterDelay:500,children:a(T,{type:"button",disabled:w,"aria-label":`Upload ${de(l)}`,children:a(V,{content:$e,size:"xl",color:"inherit"})})})]})},or=r.memo(rr),nr=({getRootProps:e,getInputProps:t,acceptFile:o})=>{const p=Ye(t(),o);return A(K,{children:[a(Ot,{...e(),children:a("input",{...p})}),a($t,{children:`Drag and drop ${de(o)} here`})]})},ar=r.memo(nr),qe=new Set(["jpg","jpeg","png","gif","webp","svg","bmp"]),ir=new Set(["pdf"]),sr=new Set(["csv","tsv","xlsx","xls"]),lr=new Set(["txt","md","json","xml","yaml","yml"]),cr=new Set(["py","js","ts","jsx","tsx","css","html","java","cpp","c","go","rs","rb","php","swift","kt","scala","sh","bash","sql"]),dr=new Set(["mp3","wav","m4a","ogg","flac","aac"]),ur=new Set(["mp4","webm","mov","avi","mkv","wmv"]),pr=new Set(["zip","tar","gz","rar","7z","bz2"]);function Ze(e){const t=e.lastIndexOf(".");return t===-1||t===e.length-1?"":e.slice(t+1).toLowerCase()}function gr(e){const t=Ze(e);return qe.has(t)?Ne:ir.has(t)?Ue:sr.has(t)?Vt:lr.has(t)?Le:cr.has(t)?He:dr.has(t)?We:ur.has(t)?Oe:pr.has(t)?Be:yt}function fr(e){const t=Ze(e);return qe.has(t)}const hr=16;function mr(e,t=hr){if(e.length<=t)return e;const o=e.lastIndexOf(".");if(!(o>0&&o<e.length-1)){const f=Math.floor((t-3)/2),g=f>0?e.slice(-f):"";return`${e.slice(0,f)}...${g}`}const l=e.slice(o),w=e.slice(0,o),d=t-l.length-3;if(d<=0){const f=Math.floor((t-3)/2),g=f>0?e.slice(-f):"";return`${e.slice(0,f)}...${g}`}const v=Math.ceil(d/2),C=Math.floor(d/2),c=C>0?w.slice(-C):"";return`${w.slice(0,v)}...${c}${l}`}function wr(e,t){const o=r.useMemo(()=>!e||!fr(t)?null:URL.createObjectURL(e),[e,t]);return r.useEffect(()=>()=>{o&&URL.revokeObjectURL(o)},[o]),o}const vr=({fileInfo:e,imagePreviewUrl:t})=>{const{type:o}=e.status;switch(o){case"uploading":return a(Te,{iconValue:"spinner",testid:"stChatInputFileIconSpinner",size:"lg"});case"error":return a(V,{content:At,size:"lg",testid:"stChatInputFileIconError"});case"uploaded":return t?a(Zt,{src:t,alt:e.name,"data-testid":"stChatInputFileImagePreview"}):a(V,{content:gr(e.name),size:"lg"});default:return Me(o),null}},Cr=({fileInfo:e,onDelete:t,onRetry:o})=>{const p=e.status.type,l=p==="error",w=p==="uploading",d=l&&o!==void 0&&e.file!==void 0,v=r.useId(),C=wr(e.file,e.name),c=e.status.type==="error"?e.status.errorMessage:"Upload failed",f=r.useCallback(()=>{d&&o(e)},[d,o,e]),g=r.useCallback(y=>{d&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),o(e))},[d,o,e]),h=r.useCallback(y=>{y.stopPropagation(),t(e.id)},[t,e.id]),k=w?`Cancel upload of ${e.name}`:`Remove ${e.name}`,Y=Ae(e.size,G.Byte),W=`${e.name}, ${Y}`,D=A(Gt,{className:"stChatInputFile","data-testid":"stChatInputFile",isError:l,isClickable:d,onClick:d?f:void 0,onKeyDown:d?g:void 0,title:d?"Click to retry upload":void 0,role:d?"button":void 0,tabIndex:d?0:void 0,"aria-label":W,"aria-invalid":l||void 0,"aria-describedby":l?v:void 0,children:[a(qt,{fileStatus:p,children:a(vr,{fileInfo:e,imagePreviewUrl:C})}),A(Yt,{children:[a(Jt,{className:"stChatInputFileName","data-testid":"stChatInputFileName",title:e.name,fileStatus:e.status,children:mr(e.name)}),a(Qt,{children:Ae(e.size,G.Byte)})]}),a(er,{"data-testid":"stChatInputDeleteBtn",isError:l,children:a(ut,{onClick:h,kind:pt.MINIMAL,"aria-label":k,children:a(V,{content:je,size:"md"})})}),l&&A(tr,{id:v,role:"alert",children:["Error: ",c]})]});return l?a(pe,{content:c,placement:ue.TOP,error:!0,children:D}):D},yr=r.memo(Cr),xr=({items:e,onDelete:t,onRetry:o})=>a(jt,{"data-testid":"stChatUploadedFiles",children:a(_t,{children:e.map(p=>a(Kt,{children:a(yr,{fileInfo:p,onDelete:t,onRetry:o})},p.id))})}),br=r.memo(xr),Sr=(e,t,o)=>{const p=[],l=[];return e.forEach(w=>{if(w.size>o){l.push({file:w,errors:[{code:ce.FileTooLarge,message:`File is too large. Maximum size is ${o} bytes.`}]});return}const d=Pt(w,t.fileType);if(!d.isValid){l.push({file:w,errors:[{code:ce.FileInvalidType,message:d.errorMessage||"File type not allowed."}]});return}p.push(w)}),{accepted:p,rejected:l}},zr=({acceptMultipleFiles:e,maxFileSize:t,uploadClient:o,uploadFile:p,addFiles:l,getNextLocalFileId:w,deleteExistingFiles:d,onUploadComplete:v,element:C})=>(c,f)=>{if(c.length>0){const{accepted:g,rejected:h}=Sr(c,C,t);c=g,f=[...f,...h]}if(!e&&c.length===0&&f.length>1){const g=f.findIndex(h=>h.errors?.[0].code===ce.TooManyFiles);g>=0&&(c.push(f[g].file),f.splice(g,1))}if(!e&&c.length>0&&d(),o.fetchFileURLs(c).then(g=>{gt(g,c).forEach(([h,k])=>{p(h,k)})}).catch(g=>{l(c.map(h=>new De(h.name,h.size,w(),{type:"error",errorMessage:g},h)))}),f.length>0){const g=f.map(h=>xt(h,w(),t));l(g)}v()},Er=({getNextLocalFileId:e,addFiles:t,updateFile:o,uploadClient:p,element:l,onUploadProgress:w,onUploadComplete:d})=>(v,C)=>{const c=C.webkitRelativePath||C.name,f=new AbortController,g=new De(c,C.size,e(),{type:"uploading",abortController:f,progress:1},C);t([g]),p.uploadFile({formId:"",...l},v.uploadUrl,C,h=>w(h,g.id),f.signal).then(()=>d(g.id,v)).catch(h=>{h instanceof DOMException&&h.name==="AbortError"||o(g.id,g.setStatus({type:"error",errorMessage:h?h.toString():"Unknown error"}))})};function Ir(e,t,o){return{Root:{style:{minHeight:e.sizes.chatInputTextareaMinHeight,outline:"none",borderLeftWidth:"0",borderRightWidth:"0",borderTopWidth:"0",borderBottomWidth:"0",borderTopLeftRadius:"0",borderTopRightRadius:"0",borderBottomRightRadius:"0",borderBottomLeftRadius:"0",...o}},Input:{props:{"data-testid":"stChatInputTextArea"},style:{fontWeight:e.fontWeights.normal,lineHeight:e.lineHeights.inputWidget,"::placeholder":{color:e.colors.fadedText60},height:t.isExtended?t.height:"auto",maxHeight:t.maxHeight,overflowY:"auto",paddingLeft:e.spacing.none,paddingRight:e.spacing.none,paddingBottom:e.spacing.twoXS,paddingTop:e.spacing.twoXS,width:"100%"}}}}const se=(e,t,o)=>o.map(p=>p.id===e?t:p),le=(e,t)=>t.find(o=>o.id===e);function Rr({disabled:e,element:t,widgetMgr:o,fragmentId:p,uploadClient:l}){const w=ft(),{placeholder:d,maxChars:v}=t,C=r.useRef(0),c=r.useRef(null),f=r.useRef(!1),g=r.useRef(null),h=r.useRef(null),{width:k,elementRef:Y}=ht(),{innerWidth:W,innerHeight:D}=mt(),[y,q]=r.useState(t.default),[I,F]=r.useState([]),[U,Z]=r.useState(!1),[H,ge]=r.useState(!1),[J,L]=r.useState(null),[M,Q]=r.useState(!1),[Je,fe]=r.useState(0),ee=t.acceptAudio??!1;r.useEffect(()=>()=>{h.current&&h.current.abort()},[]);const P=Et({textareaRef:c,dependencies:[d,M]}),O=r.useRef(""),$=r.useRef(0),te=r.useRef(null),he=r.useRef(null),B=r.useCallback(n=>{const i=getComputedStyle(n);O.current=`${i.fontWeight} ${i.fontSize} ${i.fontFamily}`;const u=parseFloat(i.paddingLeft)||0,s=parseFloat(i.paddingRight)||0;$.current=n.clientWidth-u-s},[]);r.useLayoutEffect(()=>{const n=c.current;if(!n)return;B(n);const i=new ResizeObserver(()=>B(n));return i.observe(n),()=>i.disconnect()},[B,M]),r.useEffect(()=>{if(y===""){Q(!1);return}if(M)return;const n=c.current;if(!n||(($.current<=0||!O.current)&&B(n),$.current<=0||!O.current))return;te.current||(te.current=document.createElement("canvas"),he.current=te.current.getContext("2d"));const i=he.current;i&&(i.font=O.current,i.measureText(y).width>$.current-10&&Q(!0))},[y,M,B]);const X=r.useMemo(()=>I.some(n=>n.status.type==="uploading")?!1:y!==""||I.length>0,[I,y]),E=wt(t.acceptFile),re=bt(t.maxUploadSizeMb,G.Megabyte,G.Byte),me=r.useCallback(n=>F(i=>[...i,...n]),[]),we=r.useCallback(n=>{n.status.type==="uploading"&&n.status.abortController.abort(),n.status.type==="uploaded"&&n.status.fileUrls.deleteUrl&&l.deleteFile(n.status.fileUrls.deleteUrl).catch(i=>{_.error("Failed to delete file from server:",i)})},[l]),ve=r.useCallback(n=>{F(i=>{const u=le(n,i);if(ie(u))return i;we(u);const s=i.filter(x=>x.id!==n);return s.length===0&&fe(x=>x+1),s})},[we]),oe=r.useRef(null),Qe=r.useCallback(n=>{!n.file||n.status.type!=="error"||(F(i=>i.filter(u=>u.id!==n.id)),oe.current&&oe.current([n.file],[]))},[]),Ce=r.useCallback(()=>{const n=I.filter(i=>i.status.type==="uploaded").map(i=>{const{name:u,size:s,status:x}=i,{fileId:ae,fileUrls:ct}=x;return new Ve({fileId:ae,fileUrls:ct,name:u,size:s})});return new vt({uploadedFileInfo:n})},[I]),ye=()=>C.current++,ne=zr({acceptMultipleFiles:E===b.Multiple||E===b.Directory,maxFileSize:re,uploadClient:l,uploadFile:Er({getNextLocalFileId:ye,addFiles:me,updateFile:(n,i)=>{F(u=>se(n,i,u))},uploadClient:l,element:t,onUploadProgress:(n,i)=>{F(u=>{const s=le(i,u);if(ie(s)||s.status.type!=="uploading")return u;const x=Math.round(n.loaded*100/n.total);return s.status.progress===x?u:se(i,s.setStatus({type:"uploading",abortController:s.status.abortController,progress:x}),u)})},onUploadComplete:(n,i)=>{F(u=>{const s=le(n,u);return ie(s)||s.status.type!=="uploading"?u:se(s.id,s.setStatus({type:"uploaded",fileId:i.fileId,fileUrls:i}),u)})}}),addFiles:me,getNextLocalFileId:ye,deleteExistingFiles:()=>I.forEach(n=>ve(n.id)),onUploadComplete:()=>{c.current&&c.current.focus()},element:t});oe.current=ne;const{getRootProps:et,getInputProps:tt}=ke({onDrop:ne,multiple:E===b.Multiple||E===b.Directory,accept:Fe(t.fileType),maxSize:re,useFsAccessApi:!1}),j=r.useCallback(n=>{if(c.current&&c.current.focus(),!X&&!n||e)return;const i=Ce(),u={data:y,fileUploaderState:i,audioFileInfo:n};o.setChatInputValue(t,u,{fromUi:!0},p),I.length>0&&fe(s=>s+1),F([]),q(""),Q(!1),P.clearScrollHeight()},[X,e,y,I.length,Ce,o,t,p,P]),xe=r.useCallback(async n=>{const i=new Date().toISOString().replace(/[:.]/g,"-"),u=new File([n],`audio-${i}.wav`,{type:"audio/wav"});try{ge(!0);const s=await l.fetchFileURLs([u]);if(s.length===0)throw new Error("Failed to get upload URL for audio file");const x=s[0];h.current=new AbortController,await l.uploadFile({formId:"",...t},x.uploadUrl,u,()=>{},h.current.signal);const ae=new Ve({fileId:x.fileId,fileUrls:x,name:u.name,size:u.size});j(ae)}catch(s){const x="Recording failed";_.error("Audio upload failed:",s),L(x),c.current&&c.current.focus()}finally{ge(!1)}},[l,t,j]),rt=r.useMemo(()=>({onApprove:xe,onPermissionDenied:()=>{const n="Microphone access denied";L(n),_.error("Permission denied:",n)},onError:n=>{L("Recording failed"),_.error("Recording error:",n)},onRecordStart:()=>{L(null)}}),[xe]),R=St({containerRef:g,sampleRate:t.audioSampleRate??void 0,events:rt}),be=r.useCallback(()=>{j()},[j]),ot=n=>{const{metaKey:i,ctrlKey:u,shiftKey:s}=n;Rt(n)&&!s&&!u&&!i&&(n.preventDefault(),be())},nt=n=>{const{value:i}=n.target;v!==0&&i.length>v||(q(i),P.updateScrollHeight(),J&&L(null))},Se=r.useCallback(async n=>{n.preventDefault(),n.stopPropagation(),!(!ee||e||R.state==="recording")&&await R.start()},[ee,e,R]),at=r.useCallback(()=>{R.cancel(),c.current&&c.current.focus()},[R]),ze=r.useCallback(async()=>{const{blob:n}=await R.stop();await R.approve(n)},[R]),Ee=r.useCallback(n=>{Se(n)},[Se]),it=r.useCallback(()=>{ze()},[ze]),st=r.useCallback(()=>{c.current&&c.current.focus()},[]);r.useEffect(()=>{if(t.setValue&&!f.current){f.current=!0;const n=t.value||"";q(n)}},[t.setValue,t.value]),r.useEffect(()=>{f.current=!1},[t]),r.useEffect(()=>{const n=s=>{s.preventDefault(),s.stopPropagation(),!U&&s.dataTransfer?.types.includes("Files")&&Z(!0)},i=s=>{s.preventDefault(),s.stopPropagation(),U&&(s.clientX<=0&&s.clientY<=0||s.clientX>=W&&s.clientY>=D)&&Z(!1)},u=s=>{s.preventDefault(),s.stopPropagation(),U&&Z(!1)};return window.addEventListener("dragover",n),window.addEventListener("drop",u),window.addEventListener("dragleave",i),()=>{window.removeEventListener("dragover",n),window.removeEventListener("drop",u),window.removeEventListener("dragleave",i)}},[U,W,D]);const lt=E!==b.None&&U,N=R.state==="recording",Ie=!N&&k>Ct(w.breakpoints.hideWidgetDetails)&&v>0;return a(Ft,{className:"stChatInput","data-testid":"stChatInput",ref:Y,children:A(Mt,{children:[Ie&&a(Lt,{onClick:st,id:"stChatInputInstructions",children:a(zt,{dirty:X,value:y,maxLength:v,type:"chat",inForm:!1,className:"stChatInputInstructions"})}),lt&&a(ar,{getRootProps:et,getInputProps:tt,acceptFile:E}),E!==b.None&&I.length>0&&a(Tt,{children:a(br,{items:[...I],onDelete:ve,onRetry:Qe})}),A(kt,{isStacked:M,children:[a(Ut,{children:E!==b.None&&!N&&a(or,{onDrop:ne,multiple:E===b.Multiple||E===b.Directory,accept:Fe(t.fileType),maxSize:re,acceptFile:E,disabled:e},Je)}),a(Bt,{isRecording:N,children:a(Nt,{ref:g})}),!N&&a(Dt,{isStacked:M,children:a(It,{inputRef:c,value:y,placeholder:d,onChange:nt,onKeyDown:ot,"aria-label":d,disabled:e,rows:1,"aria-describedby":Ie?"stChatInputInstructions":void 0,overrides:Ir(w,P,{width:"100%"})})}),a(Ht,{children:N?A(K,{children:[a(T,{onClick:at,disabled:e,"data-testid":"stChatInputCancelButton","aria-label":"Cancel recording",children:a(V,{content:Ke,size:"lg",color:"inherit"})}),a(T,{onClick:it,disabled:e||H,"data-testid":"stChatInputApproveButton","aria-label":"Submit recording",children:H?a(Te,{size:"lg",iconValue:"spinner"}):a(V,{content:_e,size:"lg",color:"inherit"})})]}):A(K,{children:[ee&&a(K,{children:J?a(pe,{content:J,placement:ue.TOP,error:!0,children:a(T,{onClick:Ee,disabled:e||H,hasError:!0,"data-testid":"stChatInputMicButton","aria-label":"Start recording",children:a(V,{content:Ge,size:"xl",color:"inherit"})})}):a(T,{onClick:Ee,disabled:e||H,"data-testid":"stChatInputMicButton","aria-label":"Start recording",children:a(V,{content:Pe,size:"xl",color:"inherit"})})}),a(T,{onClick:be,disabled:!X||e||H,"data-testid":"stChatInputSubmitButton","aria-label":"Send message",primary:!0,children:a(V,{content:Xe,size:"lg",color:"inherit"})})]})})]})]})})}const Br=r.memo(Rr);export{Br as default};