streamlit-nightly 1.41.2.dev20250106__py2.py3-none-any.whl → 1.41.2.dev20250108__py2.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 (413) hide show
  1. streamlit/__init__.py +11 -2
  2. streamlit/__main__.py +1 -1
  3. streamlit/auth_util.py +209 -0
  4. streamlit/cli_util.py +1 -1
  5. streamlit/column_config.py +1 -1
  6. streamlit/commands/__init__.py +1 -1
  7. streamlit/commands/echo.py +1 -1
  8. streamlit/commands/execution_control.py +1 -1
  9. streamlit/commands/experimental_query_params.py +1 -1
  10. streamlit/commands/logo.py +1 -1
  11. streamlit/commands/navigation.py +1 -1
  12. streamlit/commands/page_config.py +1 -1
  13. streamlit/components/__init__.py +1 -1
  14. streamlit/components/lib/__init__.py +1 -1
  15. streamlit/components/lib/local_component_registry.py +1 -1
  16. streamlit/components/types/__init__.py +1 -1
  17. streamlit/components/types/base_component_registry.py +1 -1
  18. streamlit/components/types/base_custom_component.py +1 -1
  19. streamlit/components/v1/__init__.py +1 -1
  20. streamlit/components/v1/component_arrow.py +1 -1
  21. streamlit/components/v1/component_registry.py +1 -1
  22. streamlit/components/v1/components.py +1 -1
  23. streamlit/components/v1/custom_component.py +1 -1
  24. streamlit/config.py +1 -1
  25. streamlit/config_option.py +1 -1
  26. streamlit/config_util.py +1 -1
  27. streamlit/connections/__init__.py +1 -1
  28. streamlit/connections/base_connection.py +1 -1
  29. streamlit/connections/snowflake_connection.py +1 -1
  30. streamlit/connections/snowpark_connection.py +1 -1
  31. streamlit/connections/sql_connection.py +1 -1
  32. streamlit/connections/util.py +1 -1
  33. streamlit/cursor.py +1 -1
  34. streamlit/dataframe_util.py +1 -1
  35. streamlit/delta_generator.py +1 -1
  36. streamlit/delta_generator_singletons.py +1 -1
  37. streamlit/deprecation_util.py +1 -1
  38. streamlit/development.py +1 -1
  39. streamlit/elements/__init__.py +1 -1
  40. streamlit/elements/alert.py +1 -1
  41. streamlit/elements/arrow.py +1 -1
  42. streamlit/elements/balloons.py +1 -1
  43. streamlit/elements/bokeh_chart.py +1 -1
  44. streamlit/elements/code.py +1 -1
  45. streamlit/elements/deck_gl_json_chart.py +1 -1
  46. streamlit/elements/dialog_decorator.py +1 -1
  47. streamlit/elements/doc_string.py +1 -1
  48. streamlit/elements/empty.py +1 -1
  49. streamlit/elements/exception.py +1 -1
  50. streamlit/elements/form.py +1 -1
  51. streamlit/elements/graphviz_chart.py +1 -1
  52. streamlit/elements/heading.py +1 -1
  53. streamlit/elements/html.py +1 -1
  54. streamlit/elements/iframe.py +1 -1
  55. streamlit/elements/image.py +1 -1
  56. streamlit/elements/json.py +1 -1
  57. streamlit/elements/layouts.py +1 -1
  58. streamlit/elements/lib/__init__.py +1 -1
  59. streamlit/elements/lib/built_in_chart_utils.py +1 -1
  60. streamlit/elements/lib/color_util.py +1 -1
  61. streamlit/elements/lib/column_config_utils.py +1 -1
  62. streamlit/elements/lib/column_types.py +1 -1
  63. streamlit/elements/lib/dialog.py +1 -1
  64. streamlit/elements/lib/dicttools.py +1 -1
  65. streamlit/elements/lib/event_utils.py +1 -1
  66. streamlit/elements/lib/file_uploader_utils.py +1 -1
  67. streamlit/elements/lib/form_utils.py +1 -1
  68. streamlit/elements/lib/image_utils.py +1 -1
  69. streamlit/elements/lib/js_number.py +1 -1
  70. streamlit/elements/lib/mutable_status_container.py +1 -1
  71. streamlit/elements/lib/options_selector_utils.py +1 -1
  72. streamlit/elements/lib/pandas_styler_utils.py +1 -1
  73. streamlit/elements/lib/policies.py +1 -1
  74. streamlit/elements/lib/streamlit_plotly_theme.py +1 -1
  75. streamlit/elements/lib/subtitle_utils.py +1 -1
  76. streamlit/elements/lib/utils.py +1 -1
  77. streamlit/elements/map.py +1 -1
  78. streamlit/elements/markdown.py +3 -3
  79. streamlit/elements/media.py +1 -1
  80. streamlit/elements/metric.py +1 -1
  81. streamlit/elements/plotly_chart.py +1 -1
  82. streamlit/elements/progress.py +1 -1
  83. streamlit/elements/pyplot.py +1 -1
  84. streamlit/elements/snow.py +1 -1
  85. streamlit/elements/spinner.py +14 -7
  86. streamlit/elements/text.py +1 -1
  87. streamlit/elements/toast.py +1 -1
  88. streamlit/elements/vega_charts.py +1 -1
  89. streamlit/elements/widgets/__init__.py +1 -1
  90. streamlit/elements/widgets/audio_input.py +1 -1
  91. streamlit/elements/widgets/button.py +1 -1
  92. streamlit/elements/widgets/button_group.py +1 -1
  93. streamlit/elements/widgets/camera_input.py +1 -1
  94. streamlit/elements/widgets/chat.py +1 -1
  95. streamlit/elements/widgets/checkbox.py +1 -1
  96. streamlit/elements/widgets/color_picker.py +1 -1
  97. streamlit/elements/widgets/data_editor.py +1 -1
  98. streamlit/elements/widgets/file_uploader.py +1 -1
  99. streamlit/elements/widgets/multiselect.py +1 -1
  100. streamlit/elements/widgets/number_input.py +1 -1
  101. streamlit/elements/widgets/radio.py +1 -1
  102. streamlit/elements/widgets/select_slider.py +1 -1
  103. streamlit/elements/widgets/selectbox.py +1 -1
  104. streamlit/elements/widgets/slider.py +1 -1
  105. streamlit/elements/widgets/text_widgets.py +1 -1
  106. streamlit/elements/widgets/time_widgets.py +1 -1
  107. streamlit/elements/write.py +2 -2
  108. streamlit/emojis.py +1 -1
  109. streamlit/env_util.py +1 -1
  110. streamlit/error_util.py +1 -1
  111. streamlit/errors.py +5 -1
  112. streamlit/external/__init__.py +1 -1
  113. streamlit/external/langchain/__init__.py +1 -1
  114. streamlit/external/langchain/streamlit_callback_handler.py +1 -1
  115. streamlit/file_util.py +1 -1
  116. streamlit/git_util.py +1 -1
  117. streamlit/hello/__init__.py +1 -1
  118. streamlit/hello/animation_demo.py +1 -1
  119. streamlit/hello/dataframe_demo.py +1 -1
  120. streamlit/hello/hello.py +1 -1
  121. streamlit/hello/mapping_demo.py +1 -1
  122. streamlit/hello/plotting_demo.py +1 -1
  123. streamlit/hello/streamlit_app.py +1 -1
  124. streamlit/hello/utils.py +1 -1
  125. streamlit/logger.py +1 -1
  126. streamlit/material_icon_names.py +1 -1
  127. streamlit/navigation/__init__.py +1 -1
  128. streamlit/navigation/page.py +1 -1
  129. streamlit/net_util.py +1 -1
  130. streamlit/platform.py +1 -1
  131. streamlit/proto/Alert_pb2.pyi +1 -1
  132. streamlit/proto/AppPage_pb2.pyi +1 -1
  133. streamlit/proto/ArrowNamedDataSet_pb2.pyi +1 -1
  134. streamlit/proto/ArrowVegaLiteChart_pb2.pyi +1 -1
  135. streamlit/proto/Arrow_pb2.pyi +1 -1
  136. streamlit/proto/AudioInput_pb2.pyi +1 -1
  137. streamlit/proto/Audio_pb2.pyi +1 -1
  138. streamlit/proto/AuthRedirect_pb2.py +27 -0
  139. streamlit/proto/AuthRedirect_pb2.pyi +41 -0
  140. streamlit/proto/AutoRerun_pb2.pyi +1 -1
  141. streamlit/proto/BackMsg_pb2.pyi +1 -1
  142. streamlit/proto/Balloons_pb2.pyi +1 -1
  143. streamlit/proto/Block_pb2.pyi +1 -1
  144. streamlit/proto/BokehChart_pb2.pyi +1 -1
  145. streamlit/proto/ButtonGroup_pb2.pyi +1 -1
  146. streamlit/proto/Button_pb2.pyi +1 -1
  147. streamlit/proto/CameraInput_pb2.pyi +1 -1
  148. streamlit/proto/ChatInput_pb2.pyi +1 -1
  149. streamlit/proto/Checkbox_pb2.pyi +1 -1
  150. streamlit/proto/ClientState_pb2.pyi +1 -1
  151. streamlit/proto/Code_pb2.pyi +1 -1
  152. streamlit/proto/ColorPicker_pb2.pyi +1 -1
  153. streamlit/proto/Common_pb2.pyi +1 -1
  154. streamlit/proto/Components_pb2.pyi +1 -1
  155. streamlit/proto/DataFrame_pb2.pyi +1 -1
  156. streamlit/proto/DateInput_pb2.pyi +1 -1
  157. streamlit/proto/DeckGlJsonChart_pb2.pyi +1 -1
  158. streamlit/proto/Delta_pb2.pyi +1 -1
  159. streamlit/proto/DocString_pb2.pyi +1 -1
  160. streamlit/proto/DownloadButton_pb2.pyi +1 -1
  161. streamlit/proto/Element_pb2.pyi +1 -1
  162. streamlit/proto/Empty_pb2.pyi +1 -1
  163. streamlit/proto/Exception_pb2.pyi +1 -1
  164. streamlit/proto/Favicon_pb2.pyi +1 -1
  165. streamlit/proto/FileUploader_pb2.pyi +1 -1
  166. streamlit/proto/ForwardMsg_pb2.py +10 -9
  167. streamlit/proto/ForwardMsg_pb2.pyi +11 -4
  168. streamlit/proto/GitInfo_pb2.pyi +1 -1
  169. streamlit/proto/GraphVizChart_pb2.pyi +1 -1
  170. streamlit/proto/Heading_pb2.pyi +1 -1
  171. streamlit/proto/Html_pb2.pyi +1 -1
  172. streamlit/proto/IFrame_pb2.pyi +1 -1
  173. streamlit/proto/Image_pb2.pyi +1 -1
  174. streamlit/proto/Json_pb2.pyi +1 -1
  175. streamlit/proto/LabelVisibilityMessage_pb2.pyi +1 -1
  176. streamlit/proto/LinkButton_pb2.pyi +1 -1
  177. streamlit/proto/Logo_pb2.pyi +1 -1
  178. streamlit/proto/Markdown_pb2.pyi +1 -1
  179. streamlit/proto/Metric_pb2.pyi +1 -1
  180. streamlit/proto/MetricsEvent_pb2.pyi +1 -1
  181. streamlit/proto/MultiSelect_pb2.pyi +1 -1
  182. streamlit/proto/NamedDataSet_pb2.pyi +1 -1
  183. streamlit/proto/Navigation_pb2.pyi +1 -1
  184. streamlit/proto/NewSession_pb2.pyi +1 -1
  185. streamlit/proto/NumberInput_pb2.pyi +1 -1
  186. streamlit/proto/PageConfig_pb2.pyi +1 -1
  187. streamlit/proto/PageInfo_pb2.pyi +1 -1
  188. streamlit/proto/PageLink_pb2.pyi +1 -1
  189. streamlit/proto/PageNotFound_pb2.pyi +1 -1
  190. streamlit/proto/PageProfile_pb2.pyi +1 -1
  191. streamlit/proto/PagesChanged_pb2.pyi +1 -1
  192. streamlit/proto/ParentMessage_pb2.pyi +1 -1
  193. streamlit/proto/PlotlyChart_pb2.pyi +1 -1
  194. streamlit/proto/Progress_pb2.pyi +1 -1
  195. streamlit/proto/Radio_pb2.pyi +1 -1
  196. streamlit/proto/RootContainer_pb2.pyi +1 -1
  197. streamlit/proto/Selectbox_pb2.pyi +1 -1
  198. streamlit/proto/SessionEvent_pb2.pyi +1 -1
  199. streamlit/proto/SessionStatus_pb2.pyi +1 -1
  200. streamlit/proto/Skeleton_pb2.pyi +1 -1
  201. streamlit/proto/Slider_pb2.pyi +1 -1
  202. streamlit/proto/Snow_pb2.pyi +1 -1
  203. streamlit/proto/Spinner_pb2.py +2 -2
  204. streamlit/proto/Spinner_pb2.pyi +6 -2
  205. streamlit/proto/TextArea_pb2.pyi +1 -1
  206. streamlit/proto/TextInput_pb2.pyi +1 -1
  207. streamlit/proto/Text_pb2.pyi +1 -1
  208. streamlit/proto/TimeInput_pb2.pyi +1 -1
  209. streamlit/proto/Toast_pb2.pyi +1 -1
  210. streamlit/proto/VegaLiteChart_pb2.pyi +1 -1
  211. streamlit/proto/Video_pb2.pyi +1 -1
  212. streamlit/proto/WidgetStates_pb2.pyi +1 -1
  213. streamlit/proto/__init__.py +1 -1
  214. streamlit/runtime/__init__.py +1 -1
  215. streamlit/runtime/app_session.py +6 -2
  216. streamlit/runtime/caching/__init__.py +1 -1
  217. streamlit/runtime/caching/cache_data_api.py +1 -1
  218. streamlit/runtime/caching/cache_errors.py +1 -1
  219. streamlit/runtime/caching/cache_resource_api.py +1 -1
  220. streamlit/runtime/caching/cache_type.py +1 -1
  221. streamlit/runtime/caching/cache_utils.py +1 -1
  222. streamlit/runtime/caching/cached_message_replay.py +1 -1
  223. streamlit/runtime/caching/hashing.py +1 -1
  224. streamlit/runtime/caching/legacy_cache_api.py +1 -1
  225. streamlit/runtime/caching/storage/__init__.py +1 -1
  226. streamlit/runtime/caching/storage/cache_storage_protocol.py +1 -1
  227. streamlit/runtime/caching/storage/dummy_cache_storage.py +1 -1
  228. streamlit/runtime/caching/storage/in_memory_cache_storage_wrapper.py +1 -1
  229. streamlit/runtime/caching/storage/local_disk_cache_storage.py +1 -1
  230. streamlit/runtime/connection_factory.py +1 -1
  231. streamlit/runtime/context.py +1 -1
  232. streamlit/runtime/credentials.py +1 -1
  233. streamlit/runtime/forward_msg_cache.py +1 -1
  234. streamlit/runtime/forward_msg_queue.py +1 -1
  235. streamlit/runtime/fragment.py +1 -1
  236. streamlit/runtime/media_file_manager.py +1 -1
  237. streamlit/runtime/media_file_storage.py +1 -1
  238. streamlit/runtime/memory_media_file_storage.py +1 -1
  239. streamlit/runtime/memory_session_storage.py +1 -1
  240. streamlit/runtime/memory_uploaded_file_manager.py +1 -1
  241. streamlit/runtime/metrics_util.py +2 -1
  242. streamlit/runtime/pages_manager.py +1 -1
  243. streamlit/runtime/runtime.py +14 -3
  244. streamlit/runtime/runtime_util.py +1 -1
  245. streamlit/runtime/script_data.py +1 -1
  246. streamlit/runtime/scriptrunner/__init__.py +1 -1
  247. streamlit/runtime/scriptrunner/exec_code.py +1 -1
  248. streamlit/runtime/scriptrunner/magic.py +1 -1
  249. streamlit/runtime/scriptrunner/magic_funcs.py +1 -1
  250. streamlit/runtime/scriptrunner/script_cache.py +1 -1
  251. streamlit/runtime/scriptrunner/script_runner.py +18 -9
  252. streamlit/runtime/scriptrunner_utils/__init__.py +1 -1
  253. streamlit/runtime/scriptrunner_utils/exceptions.py +1 -1
  254. streamlit/runtime/scriptrunner_utils/script_requests.py +1 -1
  255. streamlit/runtime/scriptrunner_utils/script_run_context.py +2 -2
  256. streamlit/runtime/secrets.py +1 -1
  257. streamlit/runtime/session_manager.py +2 -2
  258. streamlit/runtime/state/__init__.py +1 -1
  259. streamlit/runtime/state/common.py +1 -1
  260. streamlit/runtime/state/query_params.py +1 -1
  261. streamlit/runtime/state/query_params_proxy.py +1 -1
  262. streamlit/runtime/state/safe_session_state.py +1 -1
  263. streamlit/runtime/state/session_state.py +1 -1
  264. streamlit/runtime/state/session_state_proxy.py +1 -1
  265. streamlit/runtime/state/widgets.py +1 -1
  266. streamlit/runtime/stats.py +1 -1
  267. streamlit/runtime/uploaded_file_manager.py +1 -1
  268. streamlit/runtime/websocket_session_manager.py +2 -2
  269. streamlit/source_util.py +1 -1
  270. streamlit/static/index.html +2 -2
  271. streamlit/static/static/js/{FileDownload.esm.BfiuyXfu.js → FileDownload.esm.CXWFIN7B.js} +1 -1
  272. streamlit/static/static/js/{FormClearHelper.BIe6FN2Y.js → FormClearHelper.dauERNYc.js} +1 -1
  273. streamlit/static/static/js/{Hooks.CHslqKt4.js → Hooks.CqBCxxzg.js} +1 -1
  274. streamlit/static/static/js/{InputInstructions.BMT8dg5S.js → InputInstructions.Dm8zppD9.js} +1 -1
  275. streamlit/static/static/js/ProgressBar.CQTs8xxT.js +2 -0
  276. streamlit/static/static/js/RenderInPortalIfExists.BIVWPcSk.js +1 -0
  277. streamlit/static/static/js/Toolbar.D_9Mp69H.js +1 -0
  278. streamlit/static/static/js/{base-input.B1a61Ojd.js → base-input.JrivAGt5.js} +4 -4
  279. streamlit/static/static/js/{createSuper.DuLZrute.js → createSuper.BLkfEjg8.js} +1 -1
  280. streamlit/static/static/js/data-grid-overlay-editor.4d_NBoKr.js +1 -0
  281. streamlit/static/static/js/{downloader.BVrmPJui.js → downloader.i394ggfM.js} +1 -1
  282. streamlit/static/static/js/{es6.44cVHEXS.js → es6.BPf5kpFH.js} +2 -2
  283. streamlit/static/static/js/getPrototypeOf.DcAVjrh9.js +1 -0
  284. streamlit/static/static/js/{iframeResizer.contentWindow.Bd3a4rtP.js → iframeResizer.contentWindow.YDN8GVx9.js} +1 -1
  285. streamlit/static/static/js/index.57g5CAPC.js +1 -0
  286. streamlit/static/static/js/{index.C9YRT0fo.js → index.B3dyGG7q.js} +3 -3
  287. streamlit/static/static/js/index.B6GM885g.js +1 -0
  288. streamlit/static/static/js/{index.Q2CKSyfz.js → index.BB2p9KgS.js} +1 -1
  289. streamlit/static/static/js/index.BOBIcAmK.js +1 -0
  290. streamlit/static/static/js/index.B_o9A-oO.js +1 -0
  291. streamlit/static/static/js/index.BfABFd7-.js +3 -0
  292. streamlit/static/static/js/{index.D_cUCQty.js → index.BidgRpd5.js} +1 -1
  293. streamlit/static/static/js/index.Bj7LBigw.js +197 -0
  294. streamlit/static/static/js/{index.CIMJL36S.js → index.C-TBipT2.js} +2 -2
  295. streamlit/static/static/js/{index.0AR3jk4J.js → index.C4muCvfN.js} +1 -1
  296. streamlit/static/static/js/{index.CmHLY_aM.js → index.CAZAG6f3.js} +2 -2
  297. streamlit/static/static/js/index.CJlBME-_.js +1 -0
  298. streamlit/static/static/js/{index.6ZeP-L28.js → index.CMAjN-j5.js} +2 -2
  299. streamlit/static/static/js/index.CSmBE6cg.js +1 -0
  300. streamlit/static/static/js/index.CgkfCbvP.js +1 -0
  301. streamlit/static/static/js/index.D1CJOG3s.js +1 -0
  302. streamlit/static/static/js/index.D1qR2sOA.js +1 -0
  303. streamlit/static/static/js/index.D7EG5vd0.js +2 -0
  304. streamlit/static/static/js/index.DE-FOSSU.js +1 -0
  305. streamlit/static/static/js/{index.lvhOjMEi.js → index.DWU1GWqY.js} +1 -1
  306. streamlit/static/static/js/{index.BRjwQabs.js → index.D_bHPQ8s.js} +1 -1
  307. streamlit/static/static/js/{index.CkxcnfCr.js → index.DalTq5GL.js} +1 -1
  308. streamlit/static/static/js/index.Df7nX4KF.js +1 -0
  309. streamlit/static/static/js/index.DgOwxLz5.js +4 -0
  310. streamlit/static/static/js/{index.BfjxH33Q.js → index.DmHQeMtj.js} +1 -1
  311. streamlit/static/static/js/index.DsKBnIk-.js +201 -0
  312. streamlit/static/static/js/{index.3p3iyxFl.js → index.DxsOgtLc.js} +11 -11
  313. streamlit/static/static/js/index.DyNkf5tM.js +1 -0
  314. streamlit/static/static/js/{index.C-fIpagH.js → index.Dz6VQ3qN.js} +2 -2
  315. streamlit/static/static/js/{index.vp4vsBFK.js → index.HktO7F0v.js} +112 -112
  316. streamlit/static/static/js/{index.CzhhqwJO.js → index.PriAkdhw.js} +1 -1
  317. streamlit/static/static/js/{index.PqkLl1t0.js → index.SKaK1lYU.js} +2 -2
  318. streamlit/static/static/js/index.V5OLP0n7.js +1 -0
  319. streamlit/static/static/js/index.YfuWGKrN.js +1 -0
  320. streamlit/static/static/js/index.g_BxiUns.js +1 -0
  321. streamlit/static/static/js/{index.3qE-vjOX.js → index.kc3Ycvjj.js} +34 -34
  322. streamlit/static/static/js/{input.mrdmFJfU.js → input.CqdNsSbL.js} +2 -2
  323. streamlit/static/static/js/{memory.BjfNr0ig.js → memory.Bkvk-eRa.js} +1 -1
  324. streamlit/static/static/js/mergeWith.DtsbyD6H.js +1 -0
  325. streamlit/static/static/js/number-overlay-editor.CR4D4kK1.js +9 -0
  326. streamlit/static/static/js/{sandbox.oLnJKv78.js → sandbox.C5M8yw5Z.js} +1 -1
  327. streamlit/static/static/js/{slicedToArray.BzQ82qu6.js → slicedToArray.BL5-s74J.js} +1 -1
  328. streamlit/static/static/js/{textarea.Da3YV5aR.js → textarea.DrGlWUDC.js} +2 -2
  329. streamlit/static/static/js/threshold.B8r8f5kt.js +1 -0
  330. streamlit/static/static/js/{timepicker.BAT5exrW.js → timepicker.Bdf2lGHx.js} +1 -1
  331. streamlit/static/static/js/timer.RueuYoQV.js +1 -0
  332. streamlit/static/static/js/{uniqueId.C8z92sBf.js → uniqueId.LGvQ35eR.js} +1 -1
  333. streamlit/static/static/js/{useBasicWidgetState.CH5oDGQl.js → useBasicWidgetState.TTzKcGCs.js} +1 -1
  334. streamlit/static/static/js/{useOnInputChange.Bo325HzD.js → useOnInputChange.ChvkrwHU.js} +1 -1
  335. streamlit/static/static/js/value.iufjd77T.js +1 -0
  336. streamlit/static/static/js/withFullScreenWrapper.ChQqb1TZ.js +1 -0
  337. streamlit/string_util.py +1 -1
  338. streamlit/temporary_directory.py +1 -1
  339. streamlit/testing/__init__.py +1 -1
  340. streamlit/testing/v1/__init__.py +1 -1
  341. streamlit/testing/v1/app_test.py +1 -1
  342. streamlit/testing/v1/element_tree.py +1 -1
  343. streamlit/testing/v1/local_script_runner.py +1 -1
  344. streamlit/testing/v1/util.py +1 -1
  345. streamlit/time_util.py +1 -1
  346. streamlit/type_util.py +2 -2
  347. streamlit/url_util.py +24 -1
  348. streamlit/user_info.py +94 -27
  349. streamlit/util.py +1 -1
  350. streamlit/version.py +1 -1
  351. streamlit/watcher/__init__.py +1 -1
  352. streamlit/watcher/event_based_path_watcher.py +1 -1
  353. streamlit/watcher/folder_black_list.py +1 -1
  354. streamlit/watcher/local_sources_watcher.py +1 -1
  355. streamlit/watcher/path_watcher.py +1 -1
  356. streamlit/watcher/polling_path_watcher.py +1 -1
  357. streamlit/watcher/util.py +1 -1
  358. streamlit/web/__init__.py +1 -1
  359. streamlit/web/bootstrap.py +1 -1
  360. streamlit/web/cache_storage_manager_config.py +1 -1
  361. streamlit/web/cli.py +1 -1
  362. streamlit/web/server/__init__.py +1 -1
  363. streamlit/web/server/app_static_file_handler.py +1 -1
  364. streamlit/web/server/authlib_tornado_integration.py +58 -0
  365. streamlit/web/server/browser_websocket_handler.py +72 -6
  366. streamlit/web/server/component_request_handler.py +1 -1
  367. streamlit/web/server/media_file_handler.py +1 -1
  368. streamlit/web/server/oauth_authlib_routes.py +176 -0
  369. streamlit/web/server/oidc_mixin.py +108 -0
  370. streamlit/web/server/routes.py +6 -4
  371. streamlit/web/server/server.py +41 -4
  372. streamlit/web/server/server_util.py +25 -1
  373. streamlit/web/server/stats_request_handler.py +1 -1
  374. streamlit/web/server/upload_file_request_handler.py +3 -2
  375. streamlit/web/server/websocket_headers.py +1 -1
  376. {streamlit_nightly-1.41.2.dev20250106.data → streamlit_nightly-1.41.2.dev20250108.data}/scripts/streamlit.cmd +1 -1
  377. {streamlit_nightly-1.41.2.dev20250106.dist-info → streamlit_nightly-1.41.2.dev20250108.dist-info}/METADATA +14 -2
  378. streamlit_nightly-1.41.2.dev20250108.dist-info/RECORD +562 -0
  379. {streamlit_nightly-1.41.2.dev20250106.dist-info → streamlit_nightly-1.41.2.dev20250108.dist-info}/WHEEL +1 -1
  380. streamlit/static/static/js/ProgressBar.VmrIzSqo.js +0 -2
  381. streamlit/static/static/js/RenderInPortalIfExists.B2NAzO0r.js +0 -1
  382. streamlit/static/static/js/Toolbar.DbmFapWn.js +0 -1
  383. streamlit/static/static/js/_commonjs-dynamic-modules.TDtrdbi3.js +0 -1
  384. streamlit/static/static/js/data-grid-overlay-editor.BkcxIt6O.js +0 -1
  385. streamlit/static/static/js/getPrototypeOf.bvOEi7fo.js +0 -1
  386. streamlit/static/static/js/index.1fq50cer.js +0 -4
  387. streamlit/static/static/js/index.75EUE6su.js +0 -1
  388. streamlit/static/static/js/index.8Bq56lcM.js +0 -1
  389. streamlit/static/static/js/index.BF04V0db.js +0 -1
  390. streamlit/static/static/js/index.BSgVnwxN.js +0 -1
  391. streamlit/static/static/js/index.B_nF-WE5.js +0 -1
  392. streamlit/static/static/js/index.BdfmpndH.js +0 -1
  393. streamlit/static/static/js/index.C3rcPpxm.js +0 -2
  394. streamlit/static/static/js/index.CgSymxeL.js +0 -201
  395. streamlit/static/static/js/index.D277ro6Y.js +0 -1
  396. streamlit/static/static/js/index.D6WGxtqm.js +0 -1
  397. streamlit/static/static/js/index.DaJKYvsa.js +0 -197
  398. streamlit/static/static/js/index.GNEDK2sZ.js +0 -1
  399. streamlit/static/static/js/index.KOla1gMY.js +0 -1
  400. streamlit/static/static/js/index.KmZ5vhVN.js +0 -32
  401. streamlit/static/static/js/index.KnCHOP8N.js +0 -1
  402. streamlit/static/static/js/index.SOQTU-r_.js +0 -1
  403. streamlit/static/static/js/index.WrhWPW-4.js +0 -1
  404. streamlit/static/static/js/index.dgKFPPrX.js +0 -1
  405. streamlit/static/static/js/index.drbticTq.js +0 -1
  406. streamlit/static/static/js/number-overlay-editor.WosTCRC_.js +0 -9
  407. streamlit/static/static/js/string.Bl9OLDCw.js +0 -1
  408. streamlit/static/static/js/threshold.skajmqVB.js +0 -1
  409. streamlit/static/static/js/timer.DwZfkapc.js +0 -1
  410. streamlit/static/static/js/withFullScreenWrapper.C7zDWu4g.js +0 -1
  411. streamlit_nightly-1.41.2.dev20250106.dist-info/RECORD +0 -556
  412. {streamlit_nightly-1.41.2.dev20250106.dist-info → streamlit_nightly-1.41.2.dev20250108.dist-info}/entry_points.txt +0 -0
  413. {streamlit_nightly-1.41.2.dev20250106.dist-info → streamlit_nightly-1.41.2.dev20250108.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- import{n as p,am as T,r as s,a8 as x,j as r,an as v,a2 as h,ao as e,ap as L,aq as R,F as k,a5 as m}from"./index.3qE-vjOX.js";const B=p("button",{target:"e1f244930"})(({theme:o})=>({fontSize:o.fontSizes.sm,lineHeight:o.lineHeights.base,color:o.colors.fadedText60,backgroundColor:o.colors.transparent,fontFamily:"inherit",margin:o.spacing.none,border:"none",boxShadow:"none",padding:o.spacing.none,"&:hover, &:active, &:focus":{border:"none",outline:"none",boxShadow:"none"},"&:hover":{color:o.colors.primary}})),C=p("div",{target:"e1f244931"})(({theme:o})=>({display:"flex",flexDirection:"row",gap:o.spacing.lg,"> span":{marginTop:o.spacing.twoXS}})),z=p("div",{target:"e1f244933"})(({theme:o})=>({display:"flex",flexDirection:"column",gap:o.spacing.sm,alignItems:"start",justifyContent:"center",overflow:"hidden",minHeight:"100%",fontSize:o.fontSizes.sm,lineHeight:o.lineHeights.base,div:{display:"inline-flex"}}));function E(o){const t=m(o);return{Body:{props:{"data-testid":"stToast",className:"stToast"},style:{display:"flex",flexDirection:"row",gap:o.spacing.md,width:o.sizes.toastWidth,marginTop:o.spacing.sm,borderTopLeftRadius:o.radii.default,borderTopRightRadius:o.radii.default,borderBottomLeftRadius:o.radii.default,borderBottomRightRadius:o.radii.default,paddingTop:o.spacing.lg,paddingBottom:o.spacing.lg,paddingLeft:o.spacing.twoXL,paddingRight:o.spacing.twoXL,backgroundColor:t?o.colors.gray10:o.colors.gray90,color:o.colors.bodyText,boxShadow:t?"0px 4px 16px rgba(0, 0, 0, 0.16)":"0px 4px 16px rgba(0, 0, 0, 0.7)"}},CloseIcon:{style:{color:o.colors.fadedText40,width:o.fontSizes.lg,height:o.fontSizes.lg,marginRight:`calc(-1 * ${o.spacing.lg} / 2)`,":hover":{color:o.colors.bodyText}}}}}function D(o){if(o.length>104){let a=o.replace(/^(.{104}[^\s]*).*/,"$1");return a.length>104&&(a=a.substring(0,104).split(" ").slice(0,-1).join(" ")),a.trim()}return o}function H({theme:o,body:t,icon:a,width:y}){const n=D(t),d=t!==n,[i,b]=s.useState(!d),[f,w]=s.useState(0),u=s.useCallback(()=>{b(!i)},[i]),c=s.useMemo(()=>E(o),[o]),l=s.useMemo(()=>x(C,{expanded:i,children:[a&&r(v,{iconValue:a,size:"xl",testid:"stToastDynamicIcon"}),x(z,{children:[r(h,{source:i?t:n,allowHTML:!1,isToast:!0}),d&&r(B,{"data-testid":"stToastViewButton",onClick:u,children:i?"view less":"view more"})]})]}),[d,i,t,a,n,u]);s.useEffect(()=>{if(o.inSidebar)return;const g=e.info(l,{overrides:{...c}});return w(g),()=>{e.update(g,{overrides:{Body:{style:{transitionDuration:0}}}}),e.clear(g)}},[]),s.useEffect(()=>{e.update(f,{children:l,overrides:{...c}})},[f,l,c]);const S=r(R,{kind:L.ERROR,body:"Streamlit API Error: `st.toast` cannot be called directly on the sidebar with `st.sidebar.toast`. See our `st.toast` API [docs](https://docs.streamlit.io/develop/api-reference/status/st.toast) for more information.",width:y});return r(k,{children:o.inSidebar&&S})}const M=T(H);export{M as default};
1
+ import{n as p,az as T,r as s,am as x,j as r,aA as v,ag as h,aB as e,aC as k,aD as z,F as L,aj as R}from"./index.kc3Ycvjj.js";const B=p("button",{target:"e1rpgzpk0"})(({theme:o})=>({fontSize:o.fontSizes.sm,lineHeight:o.lineHeights.base,color:o.colors.fadedText60,backgroundColor:o.colors.transparent,fontFamily:"inherit",margin:o.spacing.none,border:"none",boxShadow:"none",padding:o.spacing.none,"&:hover, &:active, &:focus":{border:"none",outline:"none",boxShadow:"none"},"&:hover":{color:o.colors.primary}})),C=p("div",{target:"e1rpgzpk1"})(({theme:o})=>({display:"flex",flexDirection:"row",gap:o.spacing.lg,"> span":{marginTop:o.spacing.twoXS}})),m=p("div",{target:"e1rpgzpk3"})(({theme:o})=>({display:"flex",flexDirection:"column",gap:o.spacing.sm,alignItems:"start",justifyContent:"center",overflow:"hidden",minHeight:"100%",fontSize:o.fontSizes.sm,lineHeight:o.lineHeights.base,div:{display:"inline-flex"}}));function E(o){const t=R(o);return{Body:{props:{"data-testid":"stToast",className:"stToast"},style:{display:"flex",flexDirection:"row",gap:o.spacing.md,width:o.sizes.toastWidth,marginTop:o.spacing.sm,borderTopLeftRadius:o.radii.default,borderTopRightRadius:o.radii.default,borderBottomLeftRadius:o.radii.default,borderBottomRightRadius:o.radii.default,paddingTop:o.spacing.lg,paddingBottom:o.spacing.lg,paddingLeft:o.spacing.twoXL,paddingRight:o.spacing.twoXL,backgroundColor:t?o.colors.gray10:o.colors.gray90,color:o.colors.bodyText,boxShadow:t?"0px 4px 16px rgba(0, 0, 0, 0.16)":"0px 4px 16px rgba(0, 0, 0, 0.7)"}},CloseIcon:{style:{color:o.colors.fadedText40,width:o.fontSizes.lg,height:o.fontSizes.lg,marginRight:`calc(-1 * ${o.spacing.lg} / 2)`,":hover":{color:o.colors.bodyText}}}}}function D(o){if(o.length>104){let a=o.replace(/^(.{104}[^\s]*).*/,"$1");return a.length>104&&(a=a.substring(0,104).split(" ").slice(0,-1).join(" ")),a.trim()}return o}function j({theme:o,body:t,icon:a,width:y}){const n=D(t),d=t!==n,[i,b]=s.useState(!d),[u,w]=s.useState(0),f=s.useCallback(()=>{b(!i)},[i]),c=s.useMemo(()=>E(o),[o]),l=s.useMemo(()=>x(C,{expanded:i,children:[a&&r(v,{iconValue:a,size:"xl",testid:"stToastDynamicIcon"}),x(m,{children:[r(h,{source:i?t:n,allowHTML:!1,isToast:!0}),d&&r(B,{"data-testid":"stToastViewButton",onClick:f,children:i?"view less":"view more"})]})]}),[d,i,t,a,n,f]);s.useEffect(()=>{if(o.inSidebar)return;const g=e.info(l,{overrides:{...c}});return w(g),()=>{e.update(g,{overrides:{Body:{style:{transitionDuration:0}}}}),e.clear(g)}},[]),s.useEffect(()=>{e.update(u,{children:l,overrides:{...c}})},[u,l,c]);const S=r(z,{kind:k.ERROR,body:"Streamlit API Error: `st.toast` cannot be called directly on the sidebar with `st.sidebar.toast`. See our `st.toast` API [docs](https://docs.streamlit.io/develop/api-reference/status/st.toast) for more information.",width:y});return r(L,{children:o.inSidebar&&S})}const I=T(j);export{I as default};
@@ -1,4 +1,4 @@
1
- import{r as u,E as H,_ as V,al as ut,aT as Vt,aU as $t,aV as jt,A as X,D as G,R as bt,a7 as Xt,n as x,aW as Gt,a8 as N,j as v,aX as qt,aH as Yt,aY as Zt,aZ as Kt,O as Jt,M as Qt,a_ as Q,Y as te,a0 as ee,a$ as ie,b0 as ne,aL as se,b1 as re}from"./index.3qE-vjOX.js";import{u as oe,F as ae}from"./FormClearHelper.BIe6FN2Y.js";import{T as le,a as pt}from"./Toolbar.DbmFapWn.js";import{u as ce}from"./Hooks.CHslqKt4.js";import{c as de}from"./createDownloadLinkElement.DZMwyjvU.js";import{F as he,D as ue}from"./FileDownload.esm.BfiuyXfu.js";var wt=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("g",{fill:"none"},u.createElement("rect",{width:24,height:24}),u.createElement("rect",{width:24,height:24}),u.createElement("rect",{width:24,height:24})),u.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 3z"}),u.createElement("path",{d:"M17 11c0 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"}))});wt.displayName="Mic";var Ct=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("rect",{width:24,height:24,fill:"none"}),u.createElement("path",{d:"M8 19c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2s-2 .9-2 2v10c0 1.1.9 2 2 2zm6-12v10c0 1.1.9 2 2 2s2-.9 2-2V7c0-1.1-.9-2-2-2s-2 .9-2 2z"}))});Ct.displayName="Pause";var St=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("rect",{width:24,height:24,fill:"none"}),u.createElement("path",{d:"M8 6.82v10.36c0 .79.87 1.27 1.54.84l8.14-5.18a1 1 0 000-1.69L9.54 5.98A.998.998 0 008 6.82z"}))});St.displayName="PlayArrow";var Rt=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),u.createElement("path",{d:"M17.65 6.35a7.95 7.95 0 00-6.48-2.31c-3.67.37-6.69 3.35-7.1 7.02C3.52 15.91 7.27 20 12 20a7.98 7.98 0 007.21-4.56c.32-.67-.16-1.44-.9-1.44-.37 0-.72.2-.88.53a5.994 5.994 0 01-6.8 3.31c-2.22-.49-4.01-2.3-4.48-4.52A6.002 6.002 0 0112 6c1.66 0 3.14.69 4.22 1.78l-1.51 1.51c-.63.63-.19 1.71.7 1.71H19c.55 0 1-.45 1-1V6.41c0-.89-1.08-1.34-1.71-.71l-.64.65z"}))});Rt.displayName="Refresh";var Et=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("g",{fill:"none"},u.createElement("rect",{width:24,height:24}),u.createElement("rect",{width:24,height:24})),u.createElement("path",{fillRule:"evenodd",d:"M9 16h6c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"}))});Et.displayName="StopCircle";function E(n,t,e,i){return new(e||(e=Promise))(function(r,s){function a(c){try{d(i.next(c))}catch(l){s(l)}}function o(c){try{d(i.throw(c))}catch(l){s(l)}}function d(c){var l;c.done?r(c.value):(l=c.value,l instanceof e?l:new e(function(p){p(l)})).then(a,o)}d((i=i.apply(n,t||[])).next())})}let $=class{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),i==null?void 0:i.once){const r=()=>{this.un(t,r),this.un(t,e)};return this.on(t,r),r}return()=>this.un(t,e)}un(t,e){var i;(i=this.listeners[t])===null||i===void 0||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach(i=>i(...e))}};const mt={decode:function(n,t){return E(this,void 0,void 0,function*(){const e=new AudioContext({sampleRate:t});return e.decodeAudioData(n).finally(()=>e.close())})},createBuffer:function(n,t){return typeof n[0]=="number"&&(n=[n]),function(e){const i=e[0];if(i.some(r=>r>1||r<-1)){const r=i.length;let s=0;for(let a=0;a<r;a++){const o=Math.abs(i[a]);o>s&&(s=o)}for(const a of e)for(let o=0;o<r;o++)a[o]/=s}}(n),{duration:t,length:n[0].length,sampleRate:n[0].length/t,numberOfChannels:n.length,getChannelData:e=>n==null?void 0:n[e],copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function xt(n,t){const e=t.xmlns?document.createElementNS(t.xmlns,n):document.createElement(n);for(const[i,r]of Object.entries(t))if(i==="children")for(const[s,a]of Object.entries(t))typeof a=="string"?e.appendChild(document.createTextNode(a)):e.appendChild(xt(s,a));else i==="style"?Object.assign(e.style,r):i==="textContent"?e.textContent=r:e.setAttribute(i,r.toString());return e}function ft(n,t,e){const i=xt(n,t||{});return e==null||e.appendChild(i),i}var pe=Object.freeze({__proto__:null,createElement:ft,default:ft});const me={fetchBlob:function(n,t,e){return E(this,void 0,void 0,function*(){const i=yield fetch(n,e);if(i.status>=400)throw new Error(`Failed to fetch ${n}: ${i.status} (${i.statusText})`);return function(r,s){E(this,void 0,void 0,function*(){if(!r.body||!r.headers)return;const a=r.body.getReader(),o=Number(r.headers.get("Content-Length"))||0;let d=0;const c=p=>E(this,void 0,void 0,function*(){d+=(p==null?void 0:p.length)||0;const h=Math.round(d/o*100);s(h)}),l=()=>E(this,void 0,void 0,function*(){let p;try{p=yield a.read()}catch{return}p.done||(c(p.value),yield l())});l()})}(i.clone(),t),i.blob()})}};class fe extends ${constructor(t){super(),this.isExternalMedia=!1,t.media?(this.media=t.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),t.mediaControls&&(this.media.controls=!0),t.autoplay&&(this.media.autoplay=!0),t.playbackRate!=null&&this.onMediaEvent("canplay",()=>{t.playbackRate!=null&&(this.media.playbackRate=t.playbackRate)},{once:!0})}onMediaEvent(t,e,i){return this.media.addEventListener(t,e,i),()=>this.media.removeEventListener(t,e,i)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){const t=this.getSrc();t.startsWith("blob:")&&URL.revokeObjectURL(t)}canPlayType(t){return this.media.canPlayType(t)!==""}setSrc(t,e){const i=this.getSrc();if(t&&i===t)return;this.revokeSrc();const r=e instanceof Blob&&(this.canPlayType(e.type)||!t)?URL.createObjectURL(e):t;try{this.media.src=r}catch{this.media.src=t}}destroy(){this.media.pause(),this.isExternalMedia||(this.media.remove(),this.revokeSrc(),this.media.src="",this.media.load())}setMediaElement(t){this.media=t}play(){return E(this,void 0,void 0,function*(){return this.media.play()})}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(t){this.media.currentTime=t}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(t){this.media.volume=t}getMuted(){return this.media.muted}setMuted(t){this.media.muted=t}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(t,e){e!=null&&(this.media.preservesPitch=e),this.media.playbackRate=t}getMediaElement(){return this.media}setSinkId(t){return this.media.setSinkId(t)}}class U extends ${constructor(t,e){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.subscriptions=[],this.options=t;const i=this.parentFromOptionsContainer(t.container);this.parent=i;const[r,s]=this.initHtml();i.appendChild(r),this.container=r,this.scrollContainer=s.querySelector(".scroll"),this.wrapper=s.querySelector(".wrapper"),this.canvasWrapper=s.querySelector(".canvases"),this.progressWrapper=s.querySelector(".progress"),this.cursor=s.querySelector(".cursor"),e&&s.appendChild(e),this.initEvents()}parentFromOptionsContainer(t){let e;if(typeof t=="string"?e=document.querySelector(t):t instanceof HTMLElement&&(e=t),!e)throw new Error("Container not found");return e}initEvents(){const t=e=>{const i=this.wrapper.getBoundingClientRect(),r=e.clientX-i.left,s=e.clientY-i.top;return[r/i.width,s/i.height]};if(this.wrapper.addEventListener("click",e=>{const[i,r]=t(e);this.emit("click",i,r)}),this.wrapper.addEventListener("dblclick",e=>{const[i,r]=t(e);this.emit("dblclick",i,r)}),this.options.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.scrollContainer.addEventListener("scroll",()=>{const{scrollLeft:e,scrollWidth:i,clientWidth:r}=this.scrollContainer,s=e/i,a=(e+r)/i;this.emit("scroll",s,a,e,e+r)}),typeof ResizeObserver=="function"){const e=this.createDelay(100);this.resizeObserver=new ResizeObserver(()=>{e().then(()=>this.onContainerResize()).catch(()=>{})}),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const t=this.parent.clientWidth;t===this.lastContainerWidth&&this.options.height!=="auto"||(this.lastContainerWidth=t,this.reRender())}initDrag(){this.subscriptions.push(function(t,e,i,r,s=3,a=0,o=100){if(!t)return()=>{};const d=matchMedia("(pointer: coarse)").matches;let c=()=>{};const l=p=>{if(p.button!==a)return;p.preventDefault(),p.stopPropagation();let h=p.clientX,m=p.clientY,f=!1;const y=Date.now(),g=C=>{if(C.preventDefault(),C.stopPropagation(),d&&Date.now()-y<o)return;const D=C.clientX,W=C.clientY,M=D-h,A=W-m;if(f||Math.abs(M)>s||Math.abs(A)>s){const I=t.getBoundingClientRect(),{left:F,top:L}=I;f||(i==null||i(h-F,m-L),f=!0),e(M,A,D-F,W-L),h=D,m=W}},w=C=>{if(f){const D=C.clientX,W=C.clientY,M=t.getBoundingClientRect(),{left:A,top:I}=M;r==null||r(D-A,W-I)}c()},b=C=>{C.relatedTarget&&C.relatedTarget!==document.documentElement||w(C)},P=C=>{f&&(C.stopPropagation(),C.preventDefault())},T=C=>{f&&C.preventDefault()};document.addEventListener("pointermove",g),document.addEventListener("pointerup",w),document.addEventListener("pointerout",b),document.addEventListener("pointercancel",b),document.addEventListener("touchmove",T,{passive:!1}),document.addEventListener("click",P,{capture:!0}),c=()=>{document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",w),document.removeEventListener("pointerout",b),document.removeEventListener("pointercancel",b),document.removeEventListener("touchmove",T),setTimeout(()=>{document.removeEventListener("click",P,{capture:!0})},10)}};return t.addEventListener("pointerdown",l),()=>{c(),t.removeEventListener("pointerdown",l)}}(this.wrapper,(t,e,i)=>{this.emit("drag",Math.max(0,Math.min(1,i/this.wrapper.getBoundingClientRect().width)))},t=>{this.isDragging=!0,this.emit("dragstart",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))},t=>{this.isDragging=!1,this.emit("dragend",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))}))}getHeight(t,e){var i;const r=((i=this.audioData)===null||i===void 0?void 0:i.numberOfChannels)||1;if(t==null)return 128;if(!isNaN(Number(t)))return Number(t);if(t==="auto"){const s=this.parent.clientHeight||128;return e!=null&&e.every(a=>!a.overlay)?s/r:s}return 128}initHtml(){const t=document.createElement("div"),e=t.attachShadow({mode:"open"}),i=this.options.cspNonce&&typeof this.options.cspNonce=="string"?this.options.cspNonce.replace(/"/g,""):"";return e.innerHTML=`
1
+ import{r as u,E as H,_ as V,aL as ut,b4 as Vt,b5 as $t,b6 as jt,A as G,D as X,R as yt,al as Gt,n as x,b7 as Xt,am as N,j as v,b8 as qt,aU as Yt,b9 as Kt,ba as Zt,a2 as Jt,a0 as Qt,bb as Q,ab as te,ae as ee,bc as ie,bd as ne,aY as se,be as re}from"./index.kc3Ycvjj.js";import{u as oe,F as ae}from"./FormClearHelper.dauERNYc.js";import{T as le,a as pt}from"./Toolbar.D_9Mp69H.js";import{u as ce}from"./Hooks.CqBCxxzg.js";import{c as de}from"./createDownloadLinkElement.DZMwyjvU.js";import{F as he,D as ue}from"./FileDownload.esm.CXWFIN7B.js";var wt=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("g",{fill:"none"},u.createElement("rect",{width:24,height:24}),u.createElement("rect",{width:24,height:24}),u.createElement("rect",{width:24,height:24})),u.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 3z"}),u.createElement("path",{d:"M17 11c0 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"}))});wt.displayName="Mic";var Ct=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("rect",{width:24,height:24,fill:"none"}),u.createElement("path",{d:"M8 19c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2s-2 .9-2 2v10c0 1.1.9 2 2 2zm6-12v10c0 1.1.9 2 2 2s2-.9 2-2V7c0-1.1-.9-2-2-2s-2 .9-2 2z"}))});Ct.displayName="Pause";var St=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("rect",{width:24,height:24,fill:"none"}),u.createElement("path",{d:"M8 6.82v10.36c0 .79.87 1.27 1.54.84l8.14-5.18a1 1 0 000-1.69L9.54 5.98A.998.998 0 008 6.82z"}))});St.displayName="PlayArrow";var Rt=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),u.createElement("path",{d:"M17.65 6.35a7.95 7.95 0 00-6.48-2.31c-3.67.37-6.69 3.35-7.1 7.02C3.52 15.91 7.27 20 12 20a7.98 7.98 0 007.21-4.56c.32-.67-.16-1.44-.9-1.44-.37 0-.72.2-.88.53a5.994 5.994 0 01-6.8 3.31c-2.22-.49-4.01-2.3-4.48-4.52A6.002 6.002 0 0112 6c1.66 0 3.14.69 4.22 1.78l-1.51 1.51c-.63.63-.19 1.71.7 1.71H19c.55 0 1-.45 1-1V6.41c0-.89-1.08-1.34-1.71-.71l-.64.65z"}))});Rt.displayName="Refresh";var Et=u.forwardRef(function(n,t){var e={fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"};return u.createElement(H,V({iconAttrs:e,iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},n,{ref:t}),u.createElement("g",{fill:"none"},u.createElement("rect",{width:24,height:24}),u.createElement("rect",{width:24,height:24})),u.createElement("path",{fillRule:"evenodd",d:"M9 16h6c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"}))});Et.displayName="StopCircle";function E(n,t,e,i){return new(e||(e=Promise))(function(r,s){function a(c){try{d(i.next(c))}catch(l){s(l)}}function o(c){try{d(i.throw(c))}catch(l){s(l)}}function d(c){var l;c.done?r(c.value):(l=c.value,l instanceof e?l:new e(function(p){p(l)})).then(a,o)}d((i=i.apply(n,t||[])).next())})}let $=class{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),i==null?void 0:i.once){const r=()=>{this.un(t,r),this.un(t,e)};return this.on(t,r),r}return()=>this.un(t,e)}un(t,e){var i;(i=this.listeners[t])===null||i===void 0||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach(i=>i(...e))}};const mt={decode:function(n,t){return E(this,void 0,void 0,function*(){const e=new AudioContext({sampleRate:t});return e.decodeAudioData(n).finally(()=>e.close())})},createBuffer:function(n,t){return typeof n[0]=="number"&&(n=[n]),function(e){const i=e[0];if(i.some(r=>r>1||r<-1)){const r=i.length;let s=0;for(let a=0;a<r;a++){const o=Math.abs(i[a]);o>s&&(s=o)}for(const a of e)for(let o=0;o<r;o++)a[o]/=s}}(n),{duration:t,length:n[0].length,sampleRate:n[0].length/t,numberOfChannels:n.length,getChannelData:e=>n==null?void 0:n[e],copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function xt(n,t){const e=t.xmlns?document.createElementNS(t.xmlns,n):document.createElement(n);for(const[i,r]of Object.entries(t))if(i==="children")for(const[s,a]of Object.entries(t))typeof a=="string"?e.appendChild(document.createTextNode(a)):e.appendChild(xt(s,a));else i==="style"?Object.assign(e.style,r):i==="textContent"?e.textContent=r:e.setAttribute(i,r.toString());return e}function ft(n,t,e){const i=xt(n,t||{});return e==null||e.appendChild(i),i}var pe=Object.freeze({__proto__:null,createElement:ft,default:ft});const me={fetchBlob:function(n,t,e){return E(this,void 0,void 0,function*(){const i=yield fetch(n,e);if(i.status>=400)throw new Error(`Failed to fetch ${n}: ${i.status} (${i.statusText})`);return function(r,s){E(this,void 0,void 0,function*(){if(!r.body||!r.headers)return;const a=r.body.getReader(),o=Number(r.headers.get("Content-Length"))||0;let d=0;const c=p=>E(this,void 0,void 0,function*(){d+=(p==null?void 0:p.length)||0;const h=Math.round(d/o*100);s(h)}),l=()=>E(this,void 0,void 0,function*(){let p;try{p=yield a.read()}catch{return}p.done||(c(p.value),yield l())});l()})}(i.clone(),t),i.blob()})}};class fe extends ${constructor(t){super(),this.isExternalMedia=!1,t.media?(this.media=t.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),t.mediaControls&&(this.media.controls=!0),t.autoplay&&(this.media.autoplay=!0),t.playbackRate!=null&&this.onMediaEvent("canplay",()=>{t.playbackRate!=null&&(this.media.playbackRate=t.playbackRate)},{once:!0})}onMediaEvent(t,e,i){return this.media.addEventListener(t,e,i),()=>this.media.removeEventListener(t,e,i)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){const t=this.getSrc();t.startsWith("blob:")&&URL.revokeObjectURL(t)}canPlayType(t){return this.media.canPlayType(t)!==""}setSrc(t,e){const i=this.getSrc();if(t&&i===t)return;this.revokeSrc();const r=e instanceof Blob&&(this.canPlayType(e.type)||!t)?URL.createObjectURL(e):t;try{this.media.src=r}catch{this.media.src=t}}destroy(){this.media.pause(),this.isExternalMedia||(this.media.remove(),this.revokeSrc(),this.media.src="",this.media.load())}setMediaElement(t){this.media=t}play(){return E(this,void 0,void 0,function*(){return this.media.play()})}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(t){this.media.currentTime=t}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(t){this.media.volume=t}getMuted(){return this.media.muted}setMuted(t){this.media.muted=t}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(t,e){e!=null&&(this.media.preservesPitch=e),this.media.playbackRate=t}getMediaElement(){return this.media}setSinkId(t){return this.media.setSinkId(t)}}class U extends ${constructor(t,e){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.subscriptions=[],this.options=t;const i=this.parentFromOptionsContainer(t.container);this.parent=i;const[r,s]=this.initHtml();i.appendChild(r),this.container=r,this.scrollContainer=s.querySelector(".scroll"),this.wrapper=s.querySelector(".wrapper"),this.canvasWrapper=s.querySelector(".canvases"),this.progressWrapper=s.querySelector(".progress"),this.cursor=s.querySelector(".cursor"),e&&s.appendChild(e),this.initEvents()}parentFromOptionsContainer(t){let e;if(typeof t=="string"?e=document.querySelector(t):t instanceof HTMLElement&&(e=t),!e)throw new Error("Container not found");return e}initEvents(){const t=e=>{const i=this.wrapper.getBoundingClientRect(),r=e.clientX-i.left,s=e.clientY-i.top;return[r/i.width,s/i.height]};if(this.wrapper.addEventListener("click",e=>{const[i,r]=t(e);this.emit("click",i,r)}),this.wrapper.addEventListener("dblclick",e=>{const[i,r]=t(e);this.emit("dblclick",i,r)}),this.options.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.scrollContainer.addEventListener("scroll",()=>{const{scrollLeft:e,scrollWidth:i,clientWidth:r}=this.scrollContainer,s=e/i,a=(e+r)/i;this.emit("scroll",s,a,e,e+r)}),typeof ResizeObserver=="function"){const e=this.createDelay(100);this.resizeObserver=new ResizeObserver(()=>{e().then(()=>this.onContainerResize()).catch(()=>{})}),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const t=this.parent.clientWidth;t===this.lastContainerWidth&&this.options.height!=="auto"||(this.lastContainerWidth=t,this.reRender())}initDrag(){this.subscriptions.push(function(t,e,i,r,s=3,a=0,o=100){if(!t)return()=>{};const d=matchMedia("(pointer: coarse)").matches;let c=()=>{};const l=p=>{if(p.button!==a)return;p.preventDefault(),p.stopPropagation();let h=p.clientX,m=p.clientY,f=!1;const b=Date.now(),g=C=>{if(C.preventDefault(),C.stopPropagation(),d&&Date.now()-b<o)return;const D=C.clientX,W=C.clientY,M=D-h,A=W-m;if(f||Math.abs(M)>s||Math.abs(A)>s){const I=t.getBoundingClientRect(),{left:F,top:L}=I;f||(i==null||i(h-F,m-L),f=!0),e(M,A,D-F,W-L),h=D,m=W}},w=C=>{if(f){const D=C.clientX,W=C.clientY,M=t.getBoundingClientRect(),{left:A,top:I}=M;r==null||r(D-A,W-I)}c()},y=C=>{C.relatedTarget&&C.relatedTarget!==document.documentElement||w(C)},P=C=>{f&&(C.stopPropagation(),C.preventDefault())},T=C=>{f&&C.preventDefault()};document.addEventListener("pointermove",g),document.addEventListener("pointerup",w),document.addEventListener("pointerout",y),document.addEventListener("pointercancel",y),document.addEventListener("touchmove",T,{passive:!1}),document.addEventListener("click",P,{capture:!0}),c=()=>{document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",w),document.removeEventListener("pointerout",y),document.removeEventListener("pointercancel",y),document.removeEventListener("touchmove",T),setTimeout(()=>{document.removeEventListener("click",P,{capture:!0})},10)}};return t.addEventListener("pointerdown",l),()=>{c(),t.removeEventListener("pointerdown",l)}}(this.wrapper,(t,e,i)=>{this.emit("drag",Math.max(0,Math.min(1,i/this.wrapper.getBoundingClientRect().width)))},t=>{this.isDragging=!0,this.emit("dragstart",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))},t=>{this.isDragging=!1,this.emit("dragend",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))}))}getHeight(t,e){var i;const r=((i=this.audioData)===null||i===void 0?void 0:i.numberOfChannels)||1;if(t==null)return 128;if(!isNaN(Number(t)))return Number(t);if(t==="auto"){const s=this.parent.clientHeight||128;return e!=null&&e.every(a=>!a.overlay)?s/r:s}return 128}initHtml(){const t=document.createElement("div"),e=t.attachShadow({mode:"open"}),i=this.options.cspNonce&&typeof this.options.cspNonce=="string"?this.options.cspNonce.replace(/"/g,""):"";return e.innerHTML=`
2
2
  <style${i?` nonce="${i}"`:""}>
3
3
  :host {
4
4
  user-select: none;
@@ -70,4 +70,4 @@ import{r as u,E as H,_ as V,al as ut,aT as Vt,aU as $t,aV as jt,A as X,D as G,R
70
70
  <div class="cursor" part="cursor"></div>
71
71
  </div>
72
72
  </div>
73
- `,[t,e]}setOptions(t){if(this.options.container!==t.container){const e=this.parentFromOptionsContainer(t.container);e.appendChild(this.container),this.parent=e}t.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.options=t,this.reRender()}getWrapper(){return this.wrapper}getWidth(){return this.scrollContainer.clientWidth}getScroll(){return this.scrollContainer.scrollLeft}setScroll(t){this.scrollContainer.scrollLeft=t}setScrollPercentage(t){const{scrollWidth:e}=this.scrollContainer,i=e*t;this.setScroll(i)}destroy(){var t,e;this.subscriptions.forEach(i=>i()),this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(e=this.unsubscribeOnScroll)===null||e===void 0||e.call(this)}createDelay(t=10){let e,i;const r=()=>{e&&clearTimeout(e),i&&i()};return this.timeouts.push(r),()=>new Promise((s,a)=>{r(),i=a,e=setTimeout(()=>{e=void 0,i=void 0,s()},t)})}convertColorValues(t){if(!Array.isArray(t))return t||"";if(t.length<2)return t[0]||"";const e=document.createElement("canvas"),i=e.getContext("2d"),r=e.height*(window.devicePixelRatio||1),s=i.createLinearGradient(0,0,0,r),a=1/(t.length-1);return t.forEach((o,d)=>{const c=d*a;s.addColorStop(c,o)}),s}getPixelRatio(){return Math.max(1,window.devicePixelRatio||1)}renderBarWaveform(t,e,i,r){const s=t[0],a=t[1]||t[0],o=s.length,{width:d,height:c}=i.canvas,l=c/2,p=this.getPixelRatio(),h=e.barWidth?e.barWidth*p:1,m=e.barGap?e.barGap*p:e.barWidth?h/2:0,f=e.barRadius||0,y=d/(h+m)/o,g=f&&"roundRect"in i?"roundRect":"rect";i.beginPath();let w=0,b=0,P=0;for(let T=0;T<=o;T++){const C=Math.round(T*y);if(C>w){const M=Math.round(b*l*r),A=M+Math.round(P*l*r)||1;let I=l-M;e.barAlign==="top"?I=0:e.barAlign==="bottom"&&(I=c-A),i[g](w*(h+m),I,h,A,f),w=C,b=0,P=0}const D=Math.abs(s[T]||0),W=Math.abs(a[T]||0);D>b&&(b=D),W>P&&(P=W)}i.fill(),i.closePath()}renderLineWaveform(t,e,i,r){const s=a=>{const o=t[a]||t[0],d=o.length,{height:c}=i.canvas,l=c/2,p=i.canvas.width/d;i.moveTo(0,l);let h=0,m=0;for(let f=0;f<=d;f++){const y=Math.round(f*p);if(y>h){const w=l+(Math.round(m*l*r)||1)*(a===0?-1:1);i.lineTo(h,w),h=y,m=0}const g=Math.abs(o[f]||0);g>m&&(m=g)}i.lineTo(h,l)};i.beginPath(),s(0),s(1),i.fill(),i.closePath()}renderWaveform(t,e,i){if(i.fillStyle=this.convertColorValues(e.waveColor),e.renderFunction)return void e.renderFunction(t,i);let r=e.barHeight||1;if(e.normalize){const s=Array.from(t[0]).reduce((a,o)=>Math.max(a,Math.abs(o)),0);r=s?1/s:1}e.barWidth||e.barGap||e.barAlign?this.renderBarWaveform(t,e,i,r):this.renderLineWaveform(t,e,i,r)}renderSingleCanvas(t,e,i,r,s,a,o){const d=this.getPixelRatio(),c=document.createElement("canvas");c.width=Math.round(i*d),c.height=Math.round(r*d),c.style.width=`${i}px`,c.style.height=`${r}px`,c.style.left=`${Math.round(s)}px`,a.appendChild(c);const l=c.getContext("2d");if(this.renderWaveform(t,e,l),c.width>0&&c.height>0){const p=c.cloneNode(),h=p.getContext("2d");h.drawImage(c,0,0),h.globalCompositeOperation="source-in",h.fillStyle=this.convertColorValues(e.progressColor),h.fillRect(0,0,c.width,c.height),o.appendChild(p)}}renderMultiCanvas(t,e,i,r,s,a){const o=this.getPixelRatio(),{clientWidth:d}=this.scrollContainer,c=i/o;let l=Math.min(U.MAX_CANVAS_WIDTH,d,c),p={};if(e.barWidth||e.barGap){const g=e.barWidth||.5,w=g+(e.barGap||g/2);l%w!=0&&(l=Math.floor(l/w)*w)}const h=g=>{if(g<0||g>=m||p[g])return;p[g]=!0;const w=g*l,b=Math.min(c-w,l);if(b<=0)return;const P=t.map(T=>{const C=Math.floor(w/c*T.length),D=Math.floor((w+b)/c*T.length);return T.slice(C,D)});this.renderSingleCanvas(P,e,b,r,w,s,a)},m=Math.ceil(c/l);if(!this.isScrollable){for(let g=0;g<m;g++)h(g);return}const f=this.scrollContainer.scrollLeft/c,y=Math.floor(f*m);h(y-1),h(y),h(y+1),m>1&&(this.unsubscribeOnScroll=this.on("scroll",()=>{const{scrollLeft:g}=this.scrollContainer,w=Math.floor(g/c*m);Object.keys(p).length>U.MAX_NODES&&(s.innerHTML="",a.innerHTML="",p={}),h(w-1),h(w),h(w+1)}))}renderChannel(t,e,i,r){var{overlay:s}=e,a=function(l,p){var h={};for(var m in l)Object.prototype.hasOwnProperty.call(l,m)&&p.indexOf(m)<0&&(h[m]=l[m]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function"){var f=0;for(m=Object.getOwnPropertySymbols(l);f<m.length;f++)p.indexOf(m[f])<0&&Object.prototype.propertyIsEnumerable.call(l,m[f])&&(h[m[f]]=l[m[f]])}return h}(e,["overlay"]);const o=document.createElement("div"),d=this.getHeight(a.height,a.splitChannels);o.style.height=`${d}px`,s&&r>0&&(o.style.marginTop=`-${d}px`),this.canvasWrapper.style.minHeight=`${d}px`,this.canvasWrapper.appendChild(o);const c=o.cloneNode();this.progressWrapper.appendChild(c),this.renderMultiCanvas(t,a,i,d,o,c)}render(t){return E(this,void 0,void 0,function*(){var e;this.timeouts.forEach(d=>d()),this.timeouts=[],this.canvasWrapper.innerHTML="",this.progressWrapper.innerHTML="",this.options.width!=null&&(this.scrollContainer.style.width=typeof this.options.width=="number"?`${this.options.width}px`:this.options.width);const i=this.getPixelRatio(),r=this.scrollContainer.clientWidth,s=Math.ceil(t.duration*(this.options.minPxPerSec||0));this.isScrollable=s>r;const a=this.options.fillParent&&!this.isScrollable,o=(a?r:s)*i;if(this.wrapper.style.width=a?"100%":`${s}px`,this.scrollContainer.style.overflowX=this.isScrollable?"auto":"hidden",this.scrollContainer.classList.toggle("noScrollbar",!!this.options.hideScrollbar),this.cursor.style.backgroundColor=`${this.options.cursorColor||this.options.progressColor}`,this.cursor.style.width=`${this.options.cursorWidth}px`,this.audioData=t,this.emit("render"),this.options.splitChannels)for(let d=0;d<t.numberOfChannels;d++){const c=Object.assign(Object.assign({},this.options),(e=this.options.splitChannels)===null||e===void 0?void 0:e[d]);this.renderChannel([t.getChannelData(d)],c,o,d)}else{const d=[t.getChannelData(0)];t.numberOfChannels>1&&d.push(t.getChannelData(1)),this.renderChannel(d,this.options,o,0)}Promise.resolve().then(()=>this.emit("rendered"))})}reRender(){var t;if((t=this.unsubscribeOnScroll)===null||t===void 0||t.call(this),delete this.unsubscribeOnScroll,!this.audioData)return;const{scrollWidth:e}=this.scrollContainer,{right:i}=this.progressWrapper.getBoundingClientRect();if(this.render(this.audioData),this.isScrollable&&e!==this.scrollContainer.scrollWidth){const{right:r}=this.progressWrapper.getBoundingClientRect();let s=r-i;s*=2,s=s<0?Math.floor(s):Math.ceil(s),s/=2,this.scrollContainer.scrollLeft+=s}}zoom(t){this.options.minPxPerSec=t,this.reRender()}scrollIntoView(t,e=!1){const{scrollLeft:i,scrollWidth:r,clientWidth:s}=this.scrollContainer,a=t*r,o=i,d=i+s,c=s/2;if(this.isDragging)a+30>d?this.scrollContainer.scrollLeft+=30:a-30<o&&(this.scrollContainer.scrollLeft-=30);else{(a<o||a>d)&&(this.scrollContainer.scrollLeft=a-(this.options.autoCenter?c:0));const l=a-i-c;e&&this.options.autoCenter&&l>0&&(this.scrollContainer.scrollLeft+=Math.min(l,10))}{const l=this.scrollContainer.scrollLeft,p=l/r,h=(l+s)/r;this.emit("scroll",p,h,l,l+s)}}renderProgress(t,e){if(isNaN(t))return;const i=100*t;this.canvasWrapper.style.clipPath=`polygon(${i}% 0, 100% 0, 100% 100%, ${i}% 100%)`,this.progressWrapper.style.width=`${i}%`,this.cursor.style.left=`${i}%`,this.cursor.style.transform=`translateX(-${Math.round(i)===100?this.options.cursorWidth:0}px)`,this.isScrollable&&this.options.autoScroll&&this.scrollIntoView(t,e)}exportImage(t,e,i){return E(this,void 0,void 0,function*(){const r=this.canvasWrapper.querySelectorAll("canvas");if(!r.length)throw new Error("No waveform data");if(i==="dataURL"){const s=Array.from(r).map(a=>a.toDataURL(t,e));return Promise.resolve(s)}return Promise.all(Array.from(r).map(s=>new Promise((a,o)=>{s.toBlob(d=>{d?a(d):o(new Error("Could not export image"))},t,e)})))})}}U.MAX_CANVAS_WIDTH=8e3,U.MAX_NODES=10;class ge extends ${constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on("tick",()=>{requestAnimationFrame(()=>{this.emit("tick")})}),this.emit("tick")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}class gt extends ${constructor(t=new AudioContext){super(),this.bufferNode=null,this.playStartTime=0,this.playedDuration=0,this._muted=!1,this._playbackRate=1,this._duration=void 0,this.buffer=null,this.currentSrc="",this.paused=!0,this.crossOrigin=null,this.seeking=!1,this.autoplay=!1,this.addEventListener=this.on,this.removeEventListener=this.un,this.audioContext=t,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}load(){return E(this,void 0,void 0,function*(){})}get src(){return this.currentSrc}set src(t){if(this.currentSrc=t,this._duration=void 0,!t)return this.buffer=null,void this.emit("emptied");fetch(t).then(e=>{if(e.status>=400)throw new Error(`Failed to fetch ${t}: ${e.status} (${e.statusText})`);return e.arrayBuffer()}).then(e=>this.currentSrc!==t?null:this.audioContext.decodeAudioData(e)).then(e=>{this.currentSrc===t&&(this.buffer=e,this.emit("loadedmetadata"),this.emit("canplay"),this.autoplay&&this.play())})}_play(){var t;if(!this.paused)return;this.paused=!1,(t=this.bufferNode)===null||t===void 0||t.disconnect(),this.bufferNode=this.audioContext.createBufferSource(),this.buffer&&(this.bufferNode.buffer=this.buffer),this.bufferNode.playbackRate.value=this._playbackRate,this.bufferNode.connect(this.gainNode);let e=this.playedDuration*this._playbackRate;e>=this.duration&&(e=0,this.playedDuration=0),this.bufferNode.start(this.audioContext.currentTime,e),this.playStartTime=this.audioContext.currentTime,this.bufferNode.onended=()=>{this.currentTime>=this.duration&&(this.pause(),this.emit("ended"))}}_pause(){var t;this.paused=!0,(t=this.bufferNode)===null||t===void 0||t.stop(),this.playedDuration+=this.audioContext.currentTime-this.playStartTime}play(){return E(this,void 0,void 0,function*(){this.paused&&(this._play(),this.emit("play"))})}pause(){this.paused||(this._pause(),this.emit("pause"))}stopAt(t){var e,i;const r=t-this.currentTime;(e=this.bufferNode)===null||e===void 0||e.stop(this.audioContext.currentTime+r),(i=this.bufferNode)===null||i===void 0||i.addEventListener("ended",()=>{this.bufferNode=null,this.pause()},{once:!0})}setSinkId(t){return E(this,void 0,void 0,function*(){return this.audioContext.setSinkId(t)})}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this.bufferNode&&(this.bufferNode.playbackRate.value=t)}get currentTime(){return(this.paused?this.playedDuration:this.playedDuration+(this.audioContext.currentTime-this.playStartTime))*this._playbackRate}set currentTime(t){const e=!this.paused;e&&this._pause(),this.playedDuration=t/this._playbackRate,e&&this._play(),this.emit("seeking"),this.emit("timeupdate")}get duration(){var t,e;return(t=this._duration)!==null&&t!==void 0?t:((e=this.buffer)===null||e===void 0?void 0:e.duration)||0}set duration(t){this._duration=t}get volume(){return this.gainNode.gain.value}set volume(t){this.gainNode.gain.value=t,this.emit("volumechange")}get muted(){return this._muted}set muted(t){this._muted!==t&&(this._muted=t,this._muted?this.gainNode.disconnect():this.gainNode.connect(this.audioContext.destination))}canPlayType(t){return/^(audio|video)\//.test(t)}getGainNode(){return this.gainNode}getChannelData(){const t=[];if(!this.buffer)return t;const e=this.buffer.numberOfChannels;for(let i=0;i<e;i++)t.push(this.buffer.getChannelData(i));return t}}const ve={waveColor:"#999",progressColor:"#555",cursorWidth:1,minPxPerSec:0,fillParent:!0,interact:!0,dragToSeek:!1,autoScroll:!0,autoCenter:!0,sampleRate:8e3};class _ extends fe{static create(t){return new _(t)}constructor(t){const e=t.media||(t.backend==="WebAudio"?new gt:void 0);super({media:e,mediaControls:t.mediaControls,autoplay:t.autoplay,playbackRate:t.audioRate}),this.plugins=[],this.decodedData=null,this.subscriptions=[],this.mediaSubscriptions=[],this.abortController=null,this.options=Object.assign({},ve,t),this.timer=new ge;const i=e?void 0:this.getMediaElement();this.renderer=new U(this.options,i),this.initPlayerEvents(),this.initRendererEvents(),this.initTimerEvents(),this.initPlugins();const r=this.options.url||this.getSrc()||"";Promise.resolve().then(()=>{this.emit("init");const{peaks:s,duration:a}=this.options;(r||s&&a)&&this.load(r,s,a).catch(()=>null)})}updateProgress(t=this.getCurrentTime()){return this.renderer.renderProgress(t/this.getDuration(),this.isPlaying()),t}initTimerEvents(){this.subscriptions.push(this.timer.on("tick",()=>{if(!this.isSeeking()){const t=this.updateProgress();this.emit("timeupdate",t),this.emit("audioprocess",t)}}))}initPlayerEvents(){this.isPlaying()&&(this.emit("play"),this.timer.start()),this.mediaSubscriptions.push(this.onMediaEvent("timeupdate",()=>{const t=this.updateProgress();this.emit("timeupdate",t)}),this.onMediaEvent("play",()=>{this.emit("play"),this.timer.start()}),this.onMediaEvent("pause",()=>{this.emit("pause"),this.timer.stop()}),this.onMediaEvent("emptied",()=>{this.timer.stop()}),this.onMediaEvent("ended",()=>{this.emit("finish")}),this.onMediaEvent("seeking",()=>{this.emit("seeking",this.getCurrentTime())}),this.onMediaEvent("error",t=>{this.emit("error",t.error)}))}initRendererEvents(){this.subscriptions.push(this.renderer.on("click",(t,e)=>{this.options.interact&&(this.seekTo(t),this.emit("interaction",t*this.getDuration()),this.emit("click",t,e))}),this.renderer.on("dblclick",(t,e)=>{this.emit("dblclick",t,e)}),this.renderer.on("scroll",(t,e,i,r)=>{const s=this.getDuration();this.emit("scroll",t*s,e*s,i,r)}),this.renderer.on("render",()=>{this.emit("redraw")}),this.renderer.on("rendered",()=>{this.emit("redrawcomplete")}),this.renderer.on("dragstart",t=>{this.emit("dragstart",t)}),this.renderer.on("dragend",t=>{this.emit("dragend",t)}));{let t;this.subscriptions.push(this.renderer.on("drag",e=>{if(!this.options.interact)return;let i;this.renderer.renderProgress(e),clearTimeout(t),this.isPlaying()?i=0:this.options.dragToSeek===!0?i=200:typeof this.options.dragToSeek=="object"&&this.options.dragToSeek!==void 0&&(i=this.options.dragToSeek.debounceTime),t=setTimeout(()=>{this.seekTo(e)},i),this.emit("interaction",e*this.getDuration()),this.emit("drag",e)}))}}initPlugins(){var t;!((t=this.options.plugins)===null||t===void 0)&&t.length&&this.options.plugins.forEach(e=>{this.registerPlugin(e)})}unsubscribePlayerEvents(){this.mediaSubscriptions.forEach(t=>t()),this.mediaSubscriptions=[]}setOptions(t){this.options=Object.assign({},this.options,t),this.renderer.setOptions(this.options),t.audioRate&&this.setPlaybackRate(t.audioRate),t.mediaControls!=null&&(this.getMediaElement().controls=t.mediaControls)}registerPlugin(t){return t._init(this),this.plugins.push(t),this.subscriptions.push(t.once("destroy",()=>{this.plugins=this.plugins.filter(e=>e!==t)})),t}getWrapper(){return this.renderer.getWrapper()}getWidth(){return this.renderer.getWidth()}getScroll(){return this.renderer.getScroll()}setScroll(t){return this.renderer.setScroll(t)}setScrollTime(t){const e=t/this.getDuration();this.renderer.setScrollPercentage(e)}getActivePlugins(){return this.plugins}loadAudio(t,e,i,r){return E(this,void 0,void 0,function*(){var s;if(this.emit("load",t),!this.options.media&&this.isPlaying()&&this.pause(),this.decodedData=null,!e&&!i){const o=this.options.fetchParams||{};window.AbortController&&!o.signal&&(this.abortController=new AbortController,o.signal=(s=this.abortController)===null||s===void 0?void 0:s.signal);const d=c=>this.emit("loading",c);e=yield me.fetchBlob(t,d,o)}this.setSrc(t,e);const a=yield new Promise(o=>{const d=r||this.getDuration();d?o(d):this.mediaSubscriptions.push(this.onMediaEvent("loadedmetadata",()=>o(this.getDuration()),{once:!0}))});if(!t&&!e){const o=this.getMediaElement();o instanceof gt&&(o.duration=a)}if(i)this.decodedData=mt.createBuffer(i,a||0);else if(e){const o=yield e.arrayBuffer();this.decodedData=yield mt.decode(o,this.options.sampleRate)}this.decodedData&&(this.emit("decode",this.getDuration()),this.renderer.render(this.decodedData)),this.emit("ready",this.getDuration())})}load(t,e,i){return E(this,void 0,void 0,function*(){try{return yield this.loadAudio(t,void 0,e,i)}catch(r){throw this.emit("error",r),r}})}loadBlob(t,e,i){return E(this,void 0,void 0,function*(){try{return yield this.loadAudio("",t,e,i)}catch(r){throw this.emit("error",r),r}})}zoom(t){if(!this.decodedData)throw new Error("No audio loaded");this.renderer.zoom(t),this.emit("zoom",t)}getDecodedData(){return this.decodedData}exportPeaks({channels:t=2,maxLength:e=8e3,precision:i=1e4}={}){if(!this.decodedData)throw new Error("The audio has not been decoded yet");const r=Math.min(t,this.decodedData.numberOfChannels),s=[];for(let a=0;a<r;a++){const o=this.decodedData.getChannelData(a),d=[],c=o.length/e;for(let l=0;l<e;l++){const p=o.slice(Math.floor(l*c),Math.ceil((l+1)*c));let h=0;for(let m=0;m<p.length;m++){const f=p[m];Math.abs(f)>Math.abs(h)&&(h=f)}d.push(Math.round(h*i)/i)}s.push(d)}return s}getDuration(){let t=super.getDuration()||0;return t!==0&&t!==1/0||!this.decodedData||(t=this.decodedData.duration),t}toggleInteraction(t){this.options.interact=t}setTime(t){super.setTime(t),this.updateProgress(t),this.emit("timeupdate",t)}seekTo(t){const e=this.getDuration()*t;this.setTime(e)}playPause(){return E(this,void 0,void 0,function*(){return this.isPlaying()?this.pause():this.play()})}stop(){this.pause(),this.setTime(0)}skip(t){this.setTime(this.getCurrentTime()+t)}empty(){this.load("",[[0]],.001)}setMediaElement(t){this.unsubscribePlayerEvents(),super.setMediaElement(t),this.initPlayerEvents()}exportImage(){return E(this,arguments,void 0,function*(t="image/png",e=1,i="dataURL"){return this.renderer.exportImage(t,e,i)})}destroy(){var t;this.emit("destroy"),(t=this.abortController)===null||t===void 0||t.abort(),this.plugins.forEach(e=>e.destroy()),this.subscriptions.forEach(e=>e()),this.unsubscribePlayerEvents(),this.timer.destroy(),this.renderer.destroy(),super.destroy()}}_.BasePlugin=class extends ${constructor(n){super(),this.subscriptions=[],this.options=n}onInit(){}_init(n){this.wavesurfer=n,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(n=>n())}},_.dom=pe;function tt(n,t,e,i){return new(e||(e=Promise))(function(r,s){function a(c){try{d(i.next(c))}catch(l){s(l)}}function o(c){try{d(i.throw(c))}catch(l){s(l)}}function d(c){var l;c.done?r(c.value):(l=c.value,l instanceof e?l:new e(function(p){p(l)})).then(a,o)}d((i=i.apply(n,[])).next())})}class Pt{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),i==null?void 0:i.once){const r=()=>{this.un(t,r),this.un(t,e)};return this.on(t,r),r}return()=>this.un(t,e)}un(t,e){var i;(i=this.listeners[t])===null||i===void 0||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach(i=>i(...e))}}class ye extends Pt{constructor(t){super(),this.subscriptions=[],this.options=t}onInit(){}_init(t){this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(t=>t())}}class be extends Pt{constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on("tick",()=>{requestAnimationFrame(()=>{this.emit("tick")})}),this.emit("tick")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}const we=["audio/webm","audio/wav","audio/mpeg","audio/mp4","audio/mp3"];class q extends ye{constructor(t){var e,i,r,s,a,o;super(Object.assign(Object.assign({},t),{audioBitsPerSecond:(e=t.audioBitsPerSecond)!==null&&e!==void 0?e:128e3,scrollingWaveform:(i=t.scrollingWaveform)!==null&&i!==void 0&&i,scrollingWaveformWindow:(r=t.scrollingWaveformWindow)!==null&&r!==void 0?r:5,continuousWaveform:(s=t.continuousWaveform)!==null&&s!==void 0&&s,renderRecordedAudio:(a=t.renderRecordedAudio)===null||a===void 0||a,mediaRecorderTimeslice:(o=t.mediaRecorderTimeslice)!==null&&o!==void 0?o:void 0})),this.stream=null,this.mediaRecorder=null,this.dataWindow=null,this.isWaveformPaused=!1,this.lastStartTime=0,this.lastDuration=0,this.duration=0,this.timer=new be,this.subscriptions.push(this.timer.on("tick",()=>{const d=performance.now()-this.lastStartTime;this.duration=this.isPaused()?this.duration:this.lastDuration+d,this.emit("record-progress",this.duration)}))}static create(t){return new q(t||{})}renderMicStream(t){var e;const i=new AudioContext,r=i.createMediaStreamSource(t),s=i.createAnalyser();r.connect(s),this.options.continuousWaveform&&(s.fftSize=32);const a=s.frequencyBinCount,o=new Float32Array(a);let d=0;this.wavesurfer&&((e=this.originalOptions)!==null&&e!==void 0||(this.originalOptions=Object.assign({},this.wavesurfer.options)),this.wavesurfer.options.interact=!1,this.options.scrollingWaveform&&(this.wavesurfer.options.cursorWidth=0));const c=setInterval(()=>{var l,p,h,m;if(!this.isWaveformPaused){if(s.getFloatTimeDomainData(o),this.options.scrollingWaveform){const f=Math.floor((this.options.scrollingWaveformWindow||0)*i.sampleRate),y=Math.min(f,this.dataWindow?this.dataWindow.length+a:a),g=new Float32Array(f);if(this.dataWindow){const w=Math.max(0,f-this.dataWindow.length);g.set(this.dataWindow.slice(-y+a),w)}g.set(o,f-a),this.dataWindow=g}else if(this.options.continuousWaveform){if(!this.dataWindow){const y=this.options.continuousWaveformDuration?Math.round(100*this.options.continuousWaveformDuration):((p=(l=this.wavesurfer)===null||l===void 0?void 0:l.getWidth())!==null&&p!==void 0?p:0)*window.devicePixelRatio;this.dataWindow=new Float32Array(y)}let f=0;for(let y=0;y<a;y++){const g=Math.abs(o[y]);g>f&&(f=g)}if(d+1>this.dataWindow.length){const y=new Float32Array(2*this.dataWindow.length);y.set(this.dataWindow,0),this.dataWindow=y}this.dataWindow[d]=f,d++}else this.dataWindow=o;if(this.wavesurfer){const f=((m=(h=this.dataWindow)===null||h===void 0?void 0:h.length)!==null&&m!==void 0?m:0)/100;this.wavesurfer.load("",[this.dataWindow],this.options.scrollingWaveform?this.options.scrollingWaveformWindow:f).then(()=>{this.wavesurfer&&this.options.continuousWaveform&&(this.wavesurfer.setTime(this.getDuration()/1e3),this.wavesurfer.options.minPxPerSec||this.wavesurfer.setOptions({minPxPerSec:this.wavesurfer.getWidth()/this.wavesurfer.getDuration()}))}).catch(y=>{console.error("Error rendering real-time recording data:",y)})}}},10);return{onDestroy:()=>{clearInterval(c),r==null||r.disconnect(),i==null||i.close()},onEnd:()=>{this.isWaveformPaused=!0,clearInterval(c),this.stopMic()}}}startMic(t){return tt(this,void 0,void 0,function*(){let e;try{e=yield navigator.mediaDevices.getUserMedia({audio:!(t!=null&&t.deviceId)||{deviceId:t.deviceId}})}catch(s){throw new Error("Error accessing the microphone: "+s.message)}const{onDestroy:i,onEnd:r}=this.renderMicStream(e);return this.subscriptions.push(this.once("destroy",i)),this.subscriptions.push(this.once("record-end",r)),this.stream=e,e})}stopMic(){this.stream&&(this.stream.getTracks().forEach(t=>t.stop()),this.stream=null,this.mediaRecorder=null)}startRecording(t){return tt(this,void 0,void 0,function*(){const e=this.stream||(yield this.startMic(t));this.dataWindow=null;const i=this.mediaRecorder||new MediaRecorder(e,{mimeType:this.options.mimeType||we.find(a=>MediaRecorder.isTypeSupported(a)),audioBitsPerSecond:this.options.audioBitsPerSecond});this.mediaRecorder=i,this.stopRecording();const r=[];i.ondataavailable=a=>{a.data.size>0&&r.push(a.data),this.emit("record-data-available",a.data)};const s=a=>{var o;const d=new Blob(r,{type:i.mimeType});this.emit(a,d),this.options.renderRecordedAudio&&(this.applyOriginalOptionsIfNeeded(),(o=this.wavesurfer)===null||o===void 0||o.load(URL.createObjectURL(d)))};i.onpause=()=>s("record-pause"),i.onstop=()=>s("record-end"),i.start(this.options.mediaRecorderTimeslice),this.lastStartTime=performance.now(),this.lastDuration=0,this.duration=0,this.isWaveformPaused=!1,this.timer.start(),this.emit("record-start")})}getDuration(){return this.duration}isRecording(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)==="recording"}isPaused(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)==="paused"}isActive(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)!=="inactive"}stopRecording(){var t;this.isActive()&&((t=this.mediaRecorder)===null||t===void 0||t.stop(),this.timer.stop())}pauseRecording(){var t,e;this.isRecording()&&(this.isWaveformPaused=!0,(t=this.mediaRecorder)===null||t===void 0||t.requestData(),(e=this.mediaRecorder)===null||e===void 0||e.pause(),this.timer.stop(),this.lastDuration=this.duration)}resumeRecording(){var t;this.isPaused()&&(this.isWaveformPaused=!1,(t=this.mediaRecorder)===null||t===void 0||t.resume(),this.timer.start(),this.lastStartTime=performance.now(),this.emit("record-resume"))}static getAvailableAudioDevices(){return tt(this,void 0,void 0,function*(){return navigator.mediaDevices.enumerateDevices().then(t=>t.filter(e=>e.kind==="audioinput"))})}destroy(){this.applyOriginalOptionsIfNeeded(),super.destroy(),this.stopRecording(),this.stopMic()}applyOriginalOptionsIfNeeded(){this.wavesurfer&&this.originalOptions&&(this.wavesurfer.setOptions(this.originalOptions),delete this.originalOptions)}}const Ce=async({files:n,uploadClient:t,widgetMgr:e,widgetInfo:i,fragmentId:r})=>{let s=[];try{s=await t.fetchFileURLs(n)}catch(c){return{successfulUploads:[],failedUploads:n.map(l=>({file:l,error:ut(c)}))}}const a=Vt(n,s),o=[],d=[];return await Promise.all(a.map(async([c,l])=>{if(!c||!l||!l.uploadUrl||!l.fileId)return{file:c,fileUrl:l,error:new Error("No upload URL found")};try{await t.uploadFile({id:l.fileId,formId:i.formId||""},l.uploadUrl,c),o.push({fileUrl:l,file:c})}catch(p){const h=ut(p);d.push({file:c,error:h})}})),e.setFileUploaderStateValue(i,new $t({uploadedFileInfo:o.map(({file:c,fileUrl:l})=>new jt({fileId:l.fileId,fileUrls:l,name:c.name,size:c.size}))}),{fromUi:!0},r),{successfulUploads:o,failedUploads:d}},et=({widgetMgr:n,id:t,formId:e,key:i,defaultValue:r})=>{u.useEffect(()=>{const l=n.getElementState(t,i);X(l)&&G(r)&&n.setElementState(t,i,r)},[n,t,i,r]);const[s,a]=u.useState(n.getElementState(t,i)??r),o=u.useCallback(l=>{n.setElementState(t,i,l),a(l)},[n,t,i]),d=u.useMemo(()=>({formId:e||""}),[e]),c=u.useCallback(()=>o(r),[r,o]);return oe({element:d,widgetMgr:n,onFormCleared:c}),[s,o]},Se=(n,t)=>{const{libConfig:{enforceDownloadInNewTab:e=!1}}=bt.useContext(Xt);return u.useCallback(()=>{if(!n)return;const r=de({enforceDownloadInNewTab:e,url:n,filename:t});r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)},[n,e,t])},Re=x("div",{target:"ereal7m0"})(),vt=x("div",{target:"ereal7m1"})(({theme:n})=>({height:n.sizes.largestElementHeight,width:"100%",background:n.colors.secondaryBg,borderRadius:n.radii.default,marginBottom:n.spacing.twoXS,display:"flex",alignItems:"center",position:"relative",paddingLeft:n.spacing.xs,paddingRight:n.spacing.sm})),Ee=x("div",{target:"ereal7m2"})({flex:1}),xe=x("div",{target:"ereal7m3"})(({show:n})=>({display:n?"block":"none"})),Pe=x("span",{target:"ereal7m4"})(({theme:n,isPlayingOrRecording:t})=>({margin:n.spacing.sm,fontFamily:n.fonts.monospace,color:t?n.colors.bodyText:n.colors.fadedText60,backgroundColor:n.colors.secondaryBg,fontSize:n.fontSizes.sm})),Tt=x("div",{target:"ereal7m5"})({width:"100%",textAlign:"center",overflow:"hidden"}),Dt=x("span",{target:"ereal7m6"})(({theme:n})=>({color:n.colors.bodyText})),Te=x("a",{target:"ereal7m7"})(({theme:n})=>({color:n.colors.linkText,textDecoration:"underline"})),De=x("div",{target:"ereal7m8"})(({theme:n})=>({height:n.sizes.largestElementHeight,display:"flex",justifyContent:"center",alignItems:"center"})),We=x("div",{target:"ereal7m9"})(({theme:n})=>{const t="0.625em";return{opacity:.2,width:"100%",height:t,backgroundSize:t,backgroundImage:`radial-gradient(${n.colors.fadedText10} 40%, transparent 40%)`,backgroundRepeat:"repeat"}}),Ae=x("span",{target:"ereal7m10"})(({theme:n})=>({"& > button":{color:n.colors.primary,padding:n.spacing.threeXS},"& > button:hover, & > button:focus":{color:n.colors.red}})),ke=x("span",{target:"ereal7m11"})(({theme:n})=>({"& > button":{padding:n.spacing.threeXS,color:n.colors.fadedText40},"& > button:hover, & > button:focus":{color:n.colors.primary}})),Wt=x("span",{target:"ereal7m12"})(({theme:n})=>({"& > button":{padding:n.spacing.threeXS,color:n.colors.fadedText60},"& > button:hover, & > button:focus":{color:n.colors.bodyText}})),it=x("div",{target:"ereal7m13"})(({theme:n})=>({display:"flex",justifyContent:"center",alignItems:"center",flexGrow:0,flexShrink:1,padding:n.spacing.xs,gap:n.spacing.twoXS,marginRight:n.spacing.twoXS})),Me=x("div",{target:"ereal7m14"})(({theme:n})=>({marginLeft:n.spacing.sm})),Ie=x(Gt,{target:"ereal7m15"})(({theme:n})=>({fontSize:n.fontSizes.sm,width:n.sizes.spinnerSize,height:n.sizes.spinnerSize,borderWidth:n.sizes.spinnerThickness,radius:n.radii.md,justifyContents:"center",padding:n.spacing.none,margin:n.spacing.none,borderColor:n.colors.borderColor,borderTopColor:n.colors.primary,flexGrow:0,flexShrink:0})),Oe=()=>N(Tt,{children:[v(Dt,{children:"This app would like to use your microphone."})," ",v(Te,{href:qt,children:"Learn how to allow access."})]}),Le=()=>v(De,{children:v(We,{})}),Be=4,Ne=4,Ue=4,Fe=8,_e=0,j="00:00",yt=n=>new Date(n).toLocaleTimeString(void 0,{minute:"2-digit",second:"2-digit",timeZone:"UTC"}),z=({onClick:n,disabled:t,ariaLabel:e,iconContent:i})=>v(Kt,{kind:Yt.BORDERLESS_ICON,onClick:n,disabled:t,"aria-label":e,fluidWidth:!0,"data-testid":"stAudioInputActionButton",children:v(Zt,{content:i,size:"lg",color:"inherit"})}),ze=({disabled:n,stopRecording:t})=>v(Ae,{children:v(z,{onClick:t,disabled:n,ariaLabel:"Stop recording",iconContent:Et})}),He=({disabled:n,isPlaying:t,onClickPlayPause:e})=>v(Wt,{children:t?v(z,{onClick:e,disabled:n,ariaLabel:"Pause",iconContent:Ct}):v(z,{onClick:e,disabled:n,ariaLabel:"Play",iconContent:St})}),Ve=({disabled:n,startRecording:t})=>v(ke,{children:v(z,{onClick:t,disabled:n,ariaLabel:"Record",iconContent:wt})}),$e=({onClick:n})=>v(Wt,{children:v(z,{disabled:!1,onClick:n,ariaLabel:"Reset",iconContent:Rt})}),je=({disabled:n,isRecording:t,isPlaying:e,isUploading:i,isError:r,recordingUrlExists:s,startRecording:a,stopRecording:o,onClickPlayPause:d,onClear:c})=>r?v(it,{children:v($e,{onClick:c})}):i?v(it,{children:v(Ie,{"aria-label":"Uploading"})}):N(it,{children:[t?v(ze,{disabled:n,stopRecording:o}):v(Ve,{disabled:n,startRecording:a}),s&&v(He,{disabled:n,isPlaying:e,onClickPlayPause:d})]}),Xe=u.memo(je);async function Ge(n){const t=new window.AudioContext,e=await n.arrayBuffer();let i;try{i=await t.decodeAudioData(e)}catch(m){Jt(m);return}const r=44,s=i.numberOfChannels,a=i.sampleRate,o=i.length*s*2+r,d=new ArrayBuffer(o),c=new DataView(d),l={0:{type:"string",value:"RIFF"},4:{type:"uint32",value:o-8},8:{type:"string",value:"WAVE"},12:{type:"string",value:"fmt "},16:{type:"uint32",value:16},20:{type:"uint16",value:1},22:{type:"uint16",value:s},24:{type:"uint32",value:a},28:{type:"uint32",value:a*s*2},32:{type:"uint16",value:s*2},34:{type:"uint16",value:16},36:{type:"string",value:"data"},40:{type:"uint32",value:i.length*s*2}};Object.entries(l).forEach(([m,{type:f,value:y}])=>{const g=parseInt(m,10);f==="string"?qe(c,g,y):f==="uint32"?c.setUint32(g,y,!0):f==="uint16"&&c.setUint16(g,y,!0)});let p=r;for(let m=0;m<i.length;m++)for(let f=0;f<s;f++){const y=Math.max(-1,Math.min(1,i.getChannelData(f)[m]));c.setInt16(p,y*32767,!0),p+=2}const h=new Uint8Array(d);return new Blob([h],{type:"audio/wav"})}function qe(n,t,e){for(let i=0;i<e.length;i++)n.setUint8(t+i,e.charCodeAt(i))}const Ye=()=>v(Tt,{children:v(Dt,{children:"An error has occurred, please try again."})}),Ze=({element:n,uploadClient:t,widgetMgr:e,fragmentId:i,disabled:r})=>{var ht;const s=Qt(),a=ce(s),[o,d]=u.useState(null),c=bt.useRef(null),[l,p]=et({widgetMgr:e,id:n.id,key:"deleteFileUrl",defaultValue:null}),[h,m]=u.useState(null),[f,y]=u.useState([]),[g,w]=u.useState(null),[b,P]=et({widgetMgr:e,id:n.id,key:"recordingUrl",defaultValue:null}),[,T]=u.useState(0),C=()=>{T(S=>S+1)},[D,W]=u.useState(j),[M,A]=et({widgetMgr:e,id:n.id,formId:n.formId,key:"recordingTime",defaultValue:j}),[I,F]=u.useState(!1),[L,At]=u.useState(!1),[nt,kt]=u.useState(!1),[Mt,st]=u.useState(!1),[Y,Z]=u.useState(!1),rt=n.id,O=n.formId,ot=u.useCallback(async S=>{st(!0),G(O)&&e.setFormsWithUploadsInProgress(new Set([O]));let R;if(S.type==="audio/wav"?R=S:R=await Ge(S),!R){Z(!0);return}const k=URL.createObjectURL(R),Ft=new Date().toISOString().slice(0,16).replace(":","-"),_t=new File([R],`${Ft}_audio.wav`,{type:R.type});P(k),Ce({files:[_t],uploadClient:t,widgetMgr:e,widgetInfo:{id:rt,formId:O},fragmentId:i}).then(({successfulUploads:zt,failedUploads:Ht})=>{if(Ht.length>0){Z(!0);return}const J=zt[0];J&&J.fileUrl.deleteUrl&&p(J.fileUrl.deleteUrl)}).finally(()=>{G(O)&&e.setFormsWithUploadsInProgress(new Set),st(!1)})},[P,t,e,rt,O,i,p]),B=u.useCallback(({updateWidgetManager:S,deleteFile:R})=>{X(o)||X(l)||(P(null),o.empty(),R&&t.deleteFile(l),p(null),W(j),A(j),S&&e.setFileUploaderStateValue(n,{},{fromUi:!0},i),F(!1),G(b)&&URL.revokeObjectURL(b))},[l,b,t,o,n,e,i,A,P,p]);u.useEffect(()=>{if(X(O))return;const S=new ae;return S.manageFormClearListener(e,O,()=>B({updateWidgetManager:!0,deleteFile:!1})),()=>S.disconnect()},[O,B,e]);const at=u.useCallback(()=>{if(c.current===null)return;const S=_.create({container:c.current,waveColor:b?Q(s.colors.fadedText40,s.colors.secondaryBg):s.colors.primary,progressColor:s.colors.bodyText,height:te(s.sizes.largestElementHeight)-2*Be,barWidth:Ne,barGap:Ue,barRadius:Fe,cursorWidth:_e,url:b??void 0});S.on("timeupdate",k=>{W(yt(k*1e3))}),S.on("pause",()=>{C()});const R=S.registerPlugin(q.create({scrollingWaveform:!1,renderRecordedAudio:!0}));return R.on("record-end",async k=>{ot(k)}),R.on("record-progress",k=>{A(yt(k))}),d(S),m(R),()=>{S&&S.destroy(),R&&R.destroy()}},[ot]);u.useEffect(()=>at(),[at]),u.useEffect(()=>{ee(a,s)||o==null||o.setOptions({waveColor:b?Q(s.colors.fadedText40,s.colors.secondaryBg):s.colors.primary,progressColor:s.colors.bodyText})},[s,a,b,o]);const It=u.useCallback(()=>{o&&(o.playPause(),F(!0),C())},[o]),Ot=u.useCallback(async()=>{let S=g;nt||(await navigator.mediaDevices.getUserMedia({audio:!0}).then(()=>q.getAvailableAudioDevices().then(R=>{if(y(R),R.length>0){const{deviceId:k}=R[0];w(k),S=k}})).catch(R=>{At(!0)}),kt(!0)),!(!h||!S||!o)&&(o.setOptions({waveColor:s.colors.primary}),b&&B({updateWidgetManager:!1,deleteFile:!0}),h.startRecording({deviceId:S}).then(()=>{C()}))},[g,h,s,o,b,B,nt]),Lt=u.useCallback(()=>{h&&(h.stopRecording(),o==null||o.setOptions({waveColor:Q(s.colors.fadedText40,s.colors.secondaryBg)}))},[h,o,s]),Bt=Se(b,"recording.wav"),K=!!(h!=null&&h.isRecording()),lt=!!(o!=null&&o.isPlaying()),Nt=K||lt,ct=!K&&!b&&!L,Ut=L||ct||Y,dt=r||L;return N(Re,{className:"stAudioInput","data-testid":"stAudioInput",children:[v(re,{label:n.label,disabled:dt,labelVisibility:ie((ht=n.labelVisibility)==null?void 0:ht.value),children:n.help&&v(Me,{children:v(ne,{content:n.help,placement:se.TOP})})}),N(vt,{children:[N(le,{isFullScreen:!1,disableFullscreenMode:!0,target:vt,children:[b&&v(pt,{label:"Download as WAV",icon:he,onClick:()=>Bt()}),l&&v(pt,{label:"Clear recording",icon:ue,onClick:()=>B({updateWidgetManager:!0,deleteFile:!0})})]}),v(Xe,{isRecording:K,isPlaying:lt,isUploading:Mt,isError:Y,recordingUrlExists:!!b,startRecording:Ot,stopRecording:Lt,onClickPlayPause:It,onClear:()=>{B({updateWidgetManager:!1,deleteFile:!0}),Z(!1)},disabled:dt}),N(Ee,{children:[Y&&v(Ye,{}),ct&&v(Le,{}),L&&v(Oe,{}),v(xe,{"data-testid":"stAudioInputWaveSurfer",ref:c,show:!Ut})]}),v(Pe,{isPlayingOrRecording:Nt,"data-testid":"stAudioInputWaveformTimeCode",children:I?D:M})]})]})},si=u.memo(Ze);export{si as default};
73
+ `,[t,e]}setOptions(t){if(this.options.container!==t.container){const e=this.parentFromOptionsContainer(t.container);e.appendChild(this.container),this.parent=e}t.dragToSeek!==!0&&typeof this.options.dragToSeek!="object"||this.initDrag(),this.options=t,this.reRender()}getWrapper(){return this.wrapper}getWidth(){return this.scrollContainer.clientWidth}getScroll(){return this.scrollContainer.scrollLeft}setScroll(t){this.scrollContainer.scrollLeft=t}setScrollPercentage(t){const{scrollWidth:e}=this.scrollContainer,i=e*t;this.setScroll(i)}destroy(){var t,e;this.subscriptions.forEach(i=>i()),this.container.remove(),(t=this.resizeObserver)===null||t===void 0||t.disconnect(),(e=this.unsubscribeOnScroll)===null||e===void 0||e.call(this)}createDelay(t=10){let e,i;const r=()=>{e&&clearTimeout(e),i&&i()};return this.timeouts.push(r),()=>new Promise((s,a)=>{r(),i=a,e=setTimeout(()=>{e=void 0,i=void 0,s()},t)})}convertColorValues(t){if(!Array.isArray(t))return t||"";if(t.length<2)return t[0]||"";const e=document.createElement("canvas"),i=e.getContext("2d"),r=e.height*(window.devicePixelRatio||1),s=i.createLinearGradient(0,0,0,r),a=1/(t.length-1);return t.forEach((o,d)=>{const c=d*a;s.addColorStop(c,o)}),s}getPixelRatio(){return Math.max(1,window.devicePixelRatio||1)}renderBarWaveform(t,e,i,r){const s=t[0],a=t[1]||t[0],o=s.length,{width:d,height:c}=i.canvas,l=c/2,p=this.getPixelRatio(),h=e.barWidth?e.barWidth*p:1,m=e.barGap?e.barGap*p:e.barWidth?h/2:0,f=e.barRadius||0,b=d/(h+m)/o,g=f&&"roundRect"in i?"roundRect":"rect";i.beginPath();let w=0,y=0,P=0;for(let T=0;T<=o;T++){const C=Math.round(T*b);if(C>w){const M=Math.round(y*l*r),A=M+Math.round(P*l*r)||1;let I=l-M;e.barAlign==="top"?I=0:e.barAlign==="bottom"&&(I=c-A),i[g](w*(h+m),I,h,A,f),w=C,y=0,P=0}const D=Math.abs(s[T]||0),W=Math.abs(a[T]||0);D>y&&(y=D),W>P&&(P=W)}i.fill(),i.closePath()}renderLineWaveform(t,e,i,r){const s=a=>{const o=t[a]||t[0],d=o.length,{height:c}=i.canvas,l=c/2,p=i.canvas.width/d;i.moveTo(0,l);let h=0,m=0;for(let f=0;f<=d;f++){const b=Math.round(f*p);if(b>h){const w=l+(Math.round(m*l*r)||1)*(a===0?-1:1);i.lineTo(h,w),h=b,m=0}const g=Math.abs(o[f]||0);g>m&&(m=g)}i.lineTo(h,l)};i.beginPath(),s(0),s(1),i.fill(),i.closePath()}renderWaveform(t,e,i){if(i.fillStyle=this.convertColorValues(e.waveColor),e.renderFunction)return void e.renderFunction(t,i);let r=e.barHeight||1;if(e.normalize){const s=Array.from(t[0]).reduce((a,o)=>Math.max(a,Math.abs(o)),0);r=s?1/s:1}e.barWidth||e.barGap||e.barAlign?this.renderBarWaveform(t,e,i,r):this.renderLineWaveform(t,e,i,r)}renderSingleCanvas(t,e,i,r,s,a,o){const d=this.getPixelRatio(),c=document.createElement("canvas");c.width=Math.round(i*d),c.height=Math.round(r*d),c.style.width=`${i}px`,c.style.height=`${r}px`,c.style.left=`${Math.round(s)}px`,a.appendChild(c);const l=c.getContext("2d");if(this.renderWaveform(t,e,l),c.width>0&&c.height>0){const p=c.cloneNode(),h=p.getContext("2d");h.drawImage(c,0,0),h.globalCompositeOperation="source-in",h.fillStyle=this.convertColorValues(e.progressColor),h.fillRect(0,0,c.width,c.height),o.appendChild(p)}}renderMultiCanvas(t,e,i,r,s,a){const o=this.getPixelRatio(),{clientWidth:d}=this.scrollContainer,c=i/o;let l=Math.min(U.MAX_CANVAS_WIDTH,d,c),p={};if(e.barWidth||e.barGap){const g=e.barWidth||.5,w=g+(e.barGap||g/2);l%w!=0&&(l=Math.floor(l/w)*w)}const h=g=>{if(g<0||g>=m||p[g])return;p[g]=!0;const w=g*l,y=Math.min(c-w,l);if(y<=0)return;const P=t.map(T=>{const C=Math.floor(w/c*T.length),D=Math.floor((w+y)/c*T.length);return T.slice(C,D)});this.renderSingleCanvas(P,e,y,r,w,s,a)},m=Math.ceil(c/l);if(!this.isScrollable){for(let g=0;g<m;g++)h(g);return}const f=this.scrollContainer.scrollLeft/c,b=Math.floor(f*m);h(b-1),h(b),h(b+1),m>1&&(this.unsubscribeOnScroll=this.on("scroll",()=>{const{scrollLeft:g}=this.scrollContainer,w=Math.floor(g/c*m);Object.keys(p).length>U.MAX_NODES&&(s.innerHTML="",a.innerHTML="",p={}),h(w-1),h(w),h(w+1)}))}renderChannel(t,e,i,r){var{overlay:s}=e,a=function(l,p){var h={};for(var m in l)Object.prototype.hasOwnProperty.call(l,m)&&p.indexOf(m)<0&&(h[m]=l[m]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function"){var f=0;for(m=Object.getOwnPropertySymbols(l);f<m.length;f++)p.indexOf(m[f])<0&&Object.prototype.propertyIsEnumerable.call(l,m[f])&&(h[m[f]]=l[m[f]])}return h}(e,["overlay"]);const o=document.createElement("div"),d=this.getHeight(a.height,a.splitChannels);o.style.height=`${d}px`,s&&r>0&&(o.style.marginTop=`-${d}px`),this.canvasWrapper.style.minHeight=`${d}px`,this.canvasWrapper.appendChild(o);const c=o.cloneNode();this.progressWrapper.appendChild(c),this.renderMultiCanvas(t,a,i,d,o,c)}render(t){return E(this,void 0,void 0,function*(){var e;this.timeouts.forEach(d=>d()),this.timeouts=[],this.canvasWrapper.innerHTML="",this.progressWrapper.innerHTML="",this.options.width!=null&&(this.scrollContainer.style.width=typeof this.options.width=="number"?`${this.options.width}px`:this.options.width);const i=this.getPixelRatio(),r=this.scrollContainer.clientWidth,s=Math.ceil(t.duration*(this.options.minPxPerSec||0));this.isScrollable=s>r;const a=this.options.fillParent&&!this.isScrollable,o=(a?r:s)*i;if(this.wrapper.style.width=a?"100%":`${s}px`,this.scrollContainer.style.overflowX=this.isScrollable?"auto":"hidden",this.scrollContainer.classList.toggle("noScrollbar",!!this.options.hideScrollbar),this.cursor.style.backgroundColor=`${this.options.cursorColor||this.options.progressColor}`,this.cursor.style.width=`${this.options.cursorWidth}px`,this.audioData=t,this.emit("render"),this.options.splitChannels)for(let d=0;d<t.numberOfChannels;d++){const c=Object.assign(Object.assign({},this.options),(e=this.options.splitChannels)===null||e===void 0?void 0:e[d]);this.renderChannel([t.getChannelData(d)],c,o,d)}else{const d=[t.getChannelData(0)];t.numberOfChannels>1&&d.push(t.getChannelData(1)),this.renderChannel(d,this.options,o,0)}Promise.resolve().then(()=>this.emit("rendered"))})}reRender(){var t;if((t=this.unsubscribeOnScroll)===null||t===void 0||t.call(this),delete this.unsubscribeOnScroll,!this.audioData)return;const{scrollWidth:e}=this.scrollContainer,{right:i}=this.progressWrapper.getBoundingClientRect();if(this.render(this.audioData),this.isScrollable&&e!==this.scrollContainer.scrollWidth){const{right:r}=this.progressWrapper.getBoundingClientRect();let s=r-i;s*=2,s=s<0?Math.floor(s):Math.ceil(s),s/=2,this.scrollContainer.scrollLeft+=s}}zoom(t){this.options.minPxPerSec=t,this.reRender()}scrollIntoView(t,e=!1){const{scrollLeft:i,scrollWidth:r,clientWidth:s}=this.scrollContainer,a=t*r,o=i,d=i+s,c=s/2;if(this.isDragging)a+30>d?this.scrollContainer.scrollLeft+=30:a-30<o&&(this.scrollContainer.scrollLeft-=30);else{(a<o||a>d)&&(this.scrollContainer.scrollLeft=a-(this.options.autoCenter?c:0));const l=a-i-c;e&&this.options.autoCenter&&l>0&&(this.scrollContainer.scrollLeft+=Math.min(l,10))}{const l=this.scrollContainer.scrollLeft,p=l/r,h=(l+s)/r;this.emit("scroll",p,h,l,l+s)}}renderProgress(t,e){if(isNaN(t))return;const i=100*t;this.canvasWrapper.style.clipPath=`polygon(${i}% 0, 100% 0, 100% 100%, ${i}% 100%)`,this.progressWrapper.style.width=`${i}%`,this.cursor.style.left=`${i}%`,this.cursor.style.transform=`translateX(-${Math.round(i)===100?this.options.cursorWidth:0}px)`,this.isScrollable&&this.options.autoScroll&&this.scrollIntoView(t,e)}exportImage(t,e,i){return E(this,void 0,void 0,function*(){const r=this.canvasWrapper.querySelectorAll("canvas");if(!r.length)throw new Error("No waveform data");if(i==="dataURL"){const s=Array.from(r).map(a=>a.toDataURL(t,e));return Promise.resolve(s)}return Promise.all(Array.from(r).map(s=>new Promise((a,o)=>{s.toBlob(d=>{d?a(d):o(new Error("Could not export image"))},t,e)})))})}}U.MAX_CANVAS_WIDTH=8e3,U.MAX_NODES=10;class ge extends ${constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on("tick",()=>{requestAnimationFrame(()=>{this.emit("tick")})}),this.emit("tick")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}class gt extends ${constructor(t=new AudioContext){super(),this.bufferNode=null,this.playStartTime=0,this.playedDuration=0,this._muted=!1,this._playbackRate=1,this._duration=void 0,this.buffer=null,this.currentSrc="",this.paused=!0,this.crossOrigin=null,this.seeking=!1,this.autoplay=!1,this.addEventListener=this.on,this.removeEventListener=this.un,this.audioContext=t,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}load(){return E(this,void 0,void 0,function*(){})}get src(){return this.currentSrc}set src(t){if(this.currentSrc=t,this._duration=void 0,!t)return this.buffer=null,void this.emit("emptied");fetch(t).then(e=>{if(e.status>=400)throw new Error(`Failed to fetch ${t}: ${e.status} (${e.statusText})`);return e.arrayBuffer()}).then(e=>this.currentSrc!==t?null:this.audioContext.decodeAudioData(e)).then(e=>{this.currentSrc===t&&(this.buffer=e,this.emit("loadedmetadata"),this.emit("canplay"),this.autoplay&&this.play())})}_play(){var t;if(!this.paused)return;this.paused=!1,(t=this.bufferNode)===null||t===void 0||t.disconnect(),this.bufferNode=this.audioContext.createBufferSource(),this.buffer&&(this.bufferNode.buffer=this.buffer),this.bufferNode.playbackRate.value=this._playbackRate,this.bufferNode.connect(this.gainNode);let e=this.playedDuration*this._playbackRate;e>=this.duration&&(e=0,this.playedDuration=0),this.bufferNode.start(this.audioContext.currentTime,e),this.playStartTime=this.audioContext.currentTime,this.bufferNode.onended=()=>{this.currentTime>=this.duration&&(this.pause(),this.emit("ended"))}}_pause(){var t;this.paused=!0,(t=this.bufferNode)===null||t===void 0||t.stop(),this.playedDuration+=this.audioContext.currentTime-this.playStartTime}play(){return E(this,void 0,void 0,function*(){this.paused&&(this._play(),this.emit("play"))})}pause(){this.paused||(this._pause(),this.emit("pause"))}stopAt(t){var e,i;const r=t-this.currentTime;(e=this.bufferNode)===null||e===void 0||e.stop(this.audioContext.currentTime+r),(i=this.bufferNode)===null||i===void 0||i.addEventListener("ended",()=>{this.bufferNode=null,this.pause()},{once:!0})}setSinkId(t){return E(this,void 0,void 0,function*(){return this.audioContext.setSinkId(t)})}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this.bufferNode&&(this.bufferNode.playbackRate.value=t)}get currentTime(){return(this.paused?this.playedDuration:this.playedDuration+(this.audioContext.currentTime-this.playStartTime))*this._playbackRate}set currentTime(t){const e=!this.paused;e&&this._pause(),this.playedDuration=t/this._playbackRate,e&&this._play(),this.emit("seeking"),this.emit("timeupdate")}get duration(){var t,e;return(t=this._duration)!==null&&t!==void 0?t:((e=this.buffer)===null||e===void 0?void 0:e.duration)||0}set duration(t){this._duration=t}get volume(){return this.gainNode.gain.value}set volume(t){this.gainNode.gain.value=t,this.emit("volumechange")}get muted(){return this._muted}set muted(t){this._muted!==t&&(this._muted=t,this._muted?this.gainNode.disconnect():this.gainNode.connect(this.audioContext.destination))}canPlayType(t){return/^(audio|video)\//.test(t)}getGainNode(){return this.gainNode}getChannelData(){const t=[];if(!this.buffer)return t;const e=this.buffer.numberOfChannels;for(let i=0;i<e;i++)t.push(this.buffer.getChannelData(i));return t}}const ve={waveColor:"#999",progressColor:"#555",cursorWidth:1,minPxPerSec:0,fillParent:!0,interact:!0,dragToSeek:!1,autoScroll:!0,autoCenter:!0,sampleRate:8e3};class z extends fe{static create(t){return new z(t)}constructor(t){const e=t.media||(t.backend==="WebAudio"?new gt:void 0);super({media:e,mediaControls:t.mediaControls,autoplay:t.autoplay,playbackRate:t.audioRate}),this.plugins=[],this.decodedData=null,this.subscriptions=[],this.mediaSubscriptions=[],this.abortController=null,this.options=Object.assign({},ve,t),this.timer=new ge;const i=e?void 0:this.getMediaElement();this.renderer=new U(this.options,i),this.initPlayerEvents(),this.initRendererEvents(),this.initTimerEvents(),this.initPlugins();const r=this.options.url||this.getSrc()||"";Promise.resolve().then(()=>{this.emit("init");const{peaks:s,duration:a}=this.options;(r||s&&a)&&this.load(r,s,a).catch(()=>null)})}updateProgress(t=this.getCurrentTime()){return this.renderer.renderProgress(t/this.getDuration(),this.isPlaying()),t}initTimerEvents(){this.subscriptions.push(this.timer.on("tick",()=>{if(!this.isSeeking()){const t=this.updateProgress();this.emit("timeupdate",t),this.emit("audioprocess",t)}}))}initPlayerEvents(){this.isPlaying()&&(this.emit("play"),this.timer.start()),this.mediaSubscriptions.push(this.onMediaEvent("timeupdate",()=>{const t=this.updateProgress();this.emit("timeupdate",t)}),this.onMediaEvent("play",()=>{this.emit("play"),this.timer.start()}),this.onMediaEvent("pause",()=>{this.emit("pause"),this.timer.stop()}),this.onMediaEvent("emptied",()=>{this.timer.stop()}),this.onMediaEvent("ended",()=>{this.emit("finish")}),this.onMediaEvent("seeking",()=>{this.emit("seeking",this.getCurrentTime())}),this.onMediaEvent("error",t=>{this.emit("error",t.error)}))}initRendererEvents(){this.subscriptions.push(this.renderer.on("click",(t,e)=>{this.options.interact&&(this.seekTo(t),this.emit("interaction",t*this.getDuration()),this.emit("click",t,e))}),this.renderer.on("dblclick",(t,e)=>{this.emit("dblclick",t,e)}),this.renderer.on("scroll",(t,e,i,r)=>{const s=this.getDuration();this.emit("scroll",t*s,e*s,i,r)}),this.renderer.on("render",()=>{this.emit("redraw")}),this.renderer.on("rendered",()=>{this.emit("redrawcomplete")}),this.renderer.on("dragstart",t=>{this.emit("dragstart",t)}),this.renderer.on("dragend",t=>{this.emit("dragend",t)}));{let t;this.subscriptions.push(this.renderer.on("drag",e=>{if(!this.options.interact)return;let i;this.renderer.renderProgress(e),clearTimeout(t),this.isPlaying()?i=0:this.options.dragToSeek===!0?i=200:typeof this.options.dragToSeek=="object"&&this.options.dragToSeek!==void 0&&(i=this.options.dragToSeek.debounceTime),t=setTimeout(()=>{this.seekTo(e)},i),this.emit("interaction",e*this.getDuration()),this.emit("drag",e)}))}}initPlugins(){var t;!((t=this.options.plugins)===null||t===void 0)&&t.length&&this.options.plugins.forEach(e=>{this.registerPlugin(e)})}unsubscribePlayerEvents(){this.mediaSubscriptions.forEach(t=>t()),this.mediaSubscriptions=[]}setOptions(t){this.options=Object.assign({},this.options,t),this.renderer.setOptions(this.options),t.audioRate&&this.setPlaybackRate(t.audioRate),t.mediaControls!=null&&(this.getMediaElement().controls=t.mediaControls)}registerPlugin(t){return t._init(this),this.plugins.push(t),this.subscriptions.push(t.once("destroy",()=>{this.plugins=this.plugins.filter(e=>e!==t)})),t}getWrapper(){return this.renderer.getWrapper()}getWidth(){return this.renderer.getWidth()}getScroll(){return this.renderer.getScroll()}setScroll(t){return this.renderer.setScroll(t)}setScrollTime(t){const e=t/this.getDuration();this.renderer.setScrollPercentage(e)}getActivePlugins(){return this.plugins}loadAudio(t,e,i,r){return E(this,void 0,void 0,function*(){var s;if(this.emit("load",t),!this.options.media&&this.isPlaying()&&this.pause(),this.decodedData=null,!e&&!i){const o=this.options.fetchParams||{};window.AbortController&&!o.signal&&(this.abortController=new AbortController,o.signal=(s=this.abortController)===null||s===void 0?void 0:s.signal);const d=c=>this.emit("loading",c);e=yield me.fetchBlob(t,d,o)}this.setSrc(t,e);const a=yield new Promise(o=>{const d=r||this.getDuration();d?o(d):this.mediaSubscriptions.push(this.onMediaEvent("loadedmetadata",()=>o(this.getDuration()),{once:!0}))});if(!t&&!e){const o=this.getMediaElement();o instanceof gt&&(o.duration=a)}if(i)this.decodedData=mt.createBuffer(i,a||0);else if(e){const o=yield e.arrayBuffer();this.decodedData=yield mt.decode(o,this.options.sampleRate)}this.decodedData&&(this.emit("decode",this.getDuration()),this.renderer.render(this.decodedData)),this.emit("ready",this.getDuration())})}load(t,e,i){return E(this,void 0,void 0,function*(){try{return yield this.loadAudio(t,void 0,e,i)}catch(r){throw this.emit("error",r),r}})}loadBlob(t,e,i){return E(this,void 0,void 0,function*(){try{return yield this.loadAudio("",t,e,i)}catch(r){throw this.emit("error",r),r}})}zoom(t){if(!this.decodedData)throw new Error("No audio loaded");this.renderer.zoom(t),this.emit("zoom",t)}getDecodedData(){return this.decodedData}exportPeaks({channels:t=2,maxLength:e=8e3,precision:i=1e4}={}){if(!this.decodedData)throw new Error("The audio has not been decoded yet");const r=Math.min(t,this.decodedData.numberOfChannels),s=[];for(let a=0;a<r;a++){const o=this.decodedData.getChannelData(a),d=[],c=o.length/e;for(let l=0;l<e;l++){const p=o.slice(Math.floor(l*c),Math.ceil((l+1)*c));let h=0;for(let m=0;m<p.length;m++){const f=p[m];Math.abs(f)>Math.abs(h)&&(h=f)}d.push(Math.round(h*i)/i)}s.push(d)}return s}getDuration(){let t=super.getDuration()||0;return t!==0&&t!==1/0||!this.decodedData||(t=this.decodedData.duration),t}toggleInteraction(t){this.options.interact=t}setTime(t){super.setTime(t),this.updateProgress(t),this.emit("timeupdate",t)}seekTo(t){const e=this.getDuration()*t;this.setTime(e)}playPause(){return E(this,void 0,void 0,function*(){return this.isPlaying()?this.pause():this.play()})}stop(){this.pause(),this.setTime(0)}skip(t){this.setTime(this.getCurrentTime()+t)}empty(){this.load("",[[0]],.001)}setMediaElement(t){this.unsubscribePlayerEvents(),super.setMediaElement(t),this.initPlayerEvents()}exportImage(){return E(this,arguments,void 0,function*(t="image/png",e=1,i="dataURL"){return this.renderer.exportImage(t,e,i)})}destroy(){var t;this.emit("destroy"),(t=this.abortController)===null||t===void 0||t.abort(),this.plugins.forEach(e=>e.destroy()),this.subscriptions.forEach(e=>e()),this.unsubscribePlayerEvents(),this.timer.destroy(),this.renderer.destroy(),super.destroy()}}z.BasePlugin=class extends ${constructor(n){super(),this.subscriptions=[],this.options=n}onInit(){}_init(n){this.wavesurfer=n,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(n=>n())}},z.dom=pe;function tt(n,t,e,i){return new(e||(e=Promise))(function(r,s){function a(c){try{d(i.next(c))}catch(l){s(l)}}function o(c){try{d(i.throw(c))}catch(l){s(l)}}function d(c){var l;c.done?r(c.value):(l=c.value,l instanceof e?l:new e(function(p){p(l)})).then(a,o)}d((i=i.apply(n,[])).next())})}class Pt{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),i==null?void 0:i.once){const r=()=>{this.un(t,r),this.un(t,e)};return this.on(t,r),r}return()=>this.un(t,e)}un(t,e){var i;(i=this.listeners[t])===null||i===void 0||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach(i=>i(...e))}}class be extends Pt{constructor(t){super(),this.subscriptions=[],this.options=t}onInit(){}_init(t){this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(t=>t())}}class ye extends Pt{constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on("tick",()=>{requestAnimationFrame(()=>{this.emit("tick")})}),this.emit("tick")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}const we=["audio/webm","audio/wav","audio/mpeg","audio/mp4","audio/mp3"];class q extends be{constructor(t){var e,i,r,s,a,o;super(Object.assign(Object.assign({},t),{audioBitsPerSecond:(e=t.audioBitsPerSecond)!==null&&e!==void 0?e:128e3,scrollingWaveform:(i=t.scrollingWaveform)!==null&&i!==void 0&&i,scrollingWaveformWindow:(r=t.scrollingWaveformWindow)!==null&&r!==void 0?r:5,continuousWaveform:(s=t.continuousWaveform)!==null&&s!==void 0&&s,renderRecordedAudio:(a=t.renderRecordedAudio)===null||a===void 0||a,mediaRecorderTimeslice:(o=t.mediaRecorderTimeslice)!==null&&o!==void 0?o:void 0})),this.stream=null,this.mediaRecorder=null,this.dataWindow=null,this.isWaveformPaused=!1,this.lastStartTime=0,this.lastDuration=0,this.duration=0,this.timer=new ye,this.subscriptions.push(this.timer.on("tick",()=>{const d=performance.now()-this.lastStartTime;this.duration=this.isPaused()?this.duration:this.lastDuration+d,this.emit("record-progress",this.duration)}))}static create(t){return new q(t||{})}renderMicStream(t){var e;const i=new AudioContext,r=i.createMediaStreamSource(t),s=i.createAnalyser();r.connect(s),this.options.continuousWaveform&&(s.fftSize=32);const a=s.frequencyBinCount,o=new Float32Array(a);let d=0;this.wavesurfer&&((e=this.originalOptions)!==null&&e!==void 0||(this.originalOptions=Object.assign({},this.wavesurfer.options)),this.wavesurfer.options.interact=!1,this.options.scrollingWaveform&&(this.wavesurfer.options.cursorWidth=0));const c=setInterval(()=>{var l,p,h,m;if(!this.isWaveformPaused){if(s.getFloatTimeDomainData(o),this.options.scrollingWaveform){const f=Math.floor((this.options.scrollingWaveformWindow||0)*i.sampleRate),b=Math.min(f,this.dataWindow?this.dataWindow.length+a:a),g=new Float32Array(f);if(this.dataWindow){const w=Math.max(0,f-this.dataWindow.length);g.set(this.dataWindow.slice(-b+a),w)}g.set(o,f-a),this.dataWindow=g}else if(this.options.continuousWaveform){if(!this.dataWindow){const b=this.options.continuousWaveformDuration?Math.round(100*this.options.continuousWaveformDuration):((p=(l=this.wavesurfer)===null||l===void 0?void 0:l.getWidth())!==null&&p!==void 0?p:0)*window.devicePixelRatio;this.dataWindow=new Float32Array(b)}let f=0;for(let b=0;b<a;b++){const g=Math.abs(o[b]);g>f&&(f=g)}if(d+1>this.dataWindow.length){const b=new Float32Array(2*this.dataWindow.length);b.set(this.dataWindow,0),this.dataWindow=b}this.dataWindow[d]=f,d++}else this.dataWindow=o;if(this.wavesurfer){const f=((m=(h=this.dataWindow)===null||h===void 0?void 0:h.length)!==null&&m!==void 0?m:0)/100;this.wavesurfer.load("",[this.dataWindow],this.options.scrollingWaveform?this.options.scrollingWaveformWindow:f).then(()=>{this.wavesurfer&&this.options.continuousWaveform&&(this.wavesurfer.setTime(this.getDuration()/1e3),this.wavesurfer.options.minPxPerSec||this.wavesurfer.setOptions({minPxPerSec:this.wavesurfer.getWidth()/this.wavesurfer.getDuration()}))}).catch(b=>{console.error("Error rendering real-time recording data:",b)})}}},10);return{onDestroy:()=>{clearInterval(c),r==null||r.disconnect(),i==null||i.close()},onEnd:()=>{this.isWaveformPaused=!0,clearInterval(c),this.stopMic()}}}startMic(t){return tt(this,void 0,void 0,function*(){let e;try{e=yield navigator.mediaDevices.getUserMedia({audio:!(t!=null&&t.deviceId)||{deviceId:t.deviceId}})}catch(s){throw new Error("Error accessing the microphone: "+s.message)}const{onDestroy:i,onEnd:r}=this.renderMicStream(e);return this.subscriptions.push(this.once("destroy",i)),this.subscriptions.push(this.once("record-end",r)),this.stream=e,e})}stopMic(){this.stream&&(this.stream.getTracks().forEach(t=>t.stop()),this.stream=null,this.mediaRecorder=null)}startRecording(t){return tt(this,void 0,void 0,function*(){const e=this.stream||(yield this.startMic(t));this.dataWindow=null;const i=this.mediaRecorder||new MediaRecorder(e,{mimeType:this.options.mimeType||we.find(a=>MediaRecorder.isTypeSupported(a)),audioBitsPerSecond:this.options.audioBitsPerSecond});this.mediaRecorder=i,this.stopRecording();const r=[];i.ondataavailable=a=>{a.data.size>0&&r.push(a.data),this.emit("record-data-available",a.data)};const s=a=>{var o;const d=new Blob(r,{type:i.mimeType});this.emit(a,d),this.options.renderRecordedAudio&&(this.applyOriginalOptionsIfNeeded(),(o=this.wavesurfer)===null||o===void 0||o.load(URL.createObjectURL(d)))};i.onpause=()=>s("record-pause"),i.onstop=()=>s("record-end"),i.start(this.options.mediaRecorderTimeslice),this.lastStartTime=performance.now(),this.lastDuration=0,this.duration=0,this.isWaveformPaused=!1,this.timer.start(),this.emit("record-start")})}getDuration(){return this.duration}isRecording(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)==="recording"}isPaused(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)==="paused"}isActive(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)!=="inactive"}stopRecording(){var t;this.isActive()&&((t=this.mediaRecorder)===null||t===void 0||t.stop(),this.timer.stop())}pauseRecording(){var t,e;this.isRecording()&&(this.isWaveformPaused=!0,(t=this.mediaRecorder)===null||t===void 0||t.requestData(),(e=this.mediaRecorder)===null||e===void 0||e.pause(),this.timer.stop(),this.lastDuration=this.duration)}resumeRecording(){var t;this.isPaused()&&(this.isWaveformPaused=!1,(t=this.mediaRecorder)===null||t===void 0||t.resume(),this.timer.start(),this.lastStartTime=performance.now(),this.emit("record-resume"))}static getAvailableAudioDevices(){return tt(this,void 0,void 0,function*(){return navigator.mediaDevices.enumerateDevices().then(t=>t.filter(e=>e.kind==="audioinput"))})}destroy(){this.applyOriginalOptionsIfNeeded(),super.destroy(),this.stopRecording(),this.stopMic()}applyOriginalOptionsIfNeeded(){this.wavesurfer&&this.originalOptions&&(this.wavesurfer.setOptions(this.originalOptions),delete this.originalOptions)}}const Ce=async({files:n,uploadClient:t,widgetMgr:e,widgetInfo:i,fragmentId:r})=>{let s=[];try{s=await t.fetchFileURLs(n)}catch(c){return{successfulUploads:[],failedUploads:n.map(l=>({file:l,error:ut(c)}))}}const a=Vt(n,s),o=[],d=[];return await Promise.all(a.map(async([c,l])=>{if(!c||!l||!l.uploadUrl||!l.fileId)return{file:c,fileUrl:l,error:new Error("No upload URL found")};try{await t.uploadFile({id:l.fileId,formId:i.formId||""},l.uploadUrl,c),o.push({fileUrl:l,file:c})}catch(p){const h=ut(p);d.push({file:c,error:h})}})),e.setFileUploaderStateValue(i,new $t({uploadedFileInfo:o.map(({file:c,fileUrl:l})=>new jt({fileId:l.fileId,fileUrls:l,name:c.name,size:c.size}))}),{fromUi:!0},r),{successfulUploads:o,failedUploads:d}},et=({widgetMgr:n,id:t,formId:e,key:i,defaultValue:r})=>{u.useEffect(()=>{const l=n.getElementState(t,i);G(l)&&X(r)&&n.setElementState(t,i,r)},[n,t,i,r]);const[s,a]=u.useState(n.getElementState(t,i)??r),o=u.useCallback(l=>{n.setElementState(t,i,l),a(l)},[n,t,i]),d=u.useMemo(()=>({formId:e||""}),[e]),c=u.useCallback(()=>o(r),[r,o]);return oe({element:d,widgetMgr:n,onFormCleared:c}),[s,o]},Se=(n,t)=>{const{libConfig:{enforceDownloadInNewTab:e=!1}}=yt.useContext(Gt);return u.useCallback(()=>{if(!n)return;const r=de({enforceDownloadInNewTab:e,url:n,filename:t});r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)},[n,e,t])},Re=x("div",{target:"e1lme4w10"})(),vt=x("div",{target:"e1lme4w11"})(({theme:n})=>({height:n.sizes.largestElementHeight,width:"100%",background:n.colors.secondaryBg,borderRadius:n.radii.default,marginBottom:n.spacing.twoXS,display:"flex",alignItems:"center",position:"relative",paddingLeft:n.spacing.xs,paddingRight:n.spacing.sm})),Ee=x("div",{target:"e1lme4w12"})({flex:1}),xe=x("div",{target:"e1lme4w13"})(({show:n})=>({display:n?"block":"none"})),Pe=x("span",{target:"e1lme4w14"})(({theme:n,isPlayingOrRecording:t})=>({margin:n.spacing.sm,fontFamily:n.fonts.monospace,color:t?n.colors.bodyText:n.colors.fadedText60,backgroundColor:n.colors.secondaryBg,fontSize:n.fontSizes.sm})),Tt=x("div",{target:"e1lme4w15"})({width:"100%",textAlign:"center",overflow:"hidden"}),Dt=x("span",{target:"e1lme4w16"})(({theme:n})=>({color:n.colors.bodyText})),Te=x("a",{target:"e1lme4w17"})(({theme:n})=>({color:n.colors.linkText,textDecoration:"underline"})),De=x("div",{target:"e1lme4w18"})(({theme:n})=>({height:n.sizes.largestElementHeight,display:"flex",justifyContent:"center",alignItems:"center"})),We=x("div",{target:"e1lme4w19"})(({theme:n})=>{const t="0.625em";return{opacity:.2,width:"100%",height:t,backgroundSize:t,backgroundImage:`radial-gradient(${n.colors.fadedText10} 40%, transparent 40%)`,backgroundRepeat:"repeat"}}),Ae=x("span",{target:"e1lme4w110"})(({theme:n})=>({"& > button":{color:n.colors.primary,padding:n.spacing.threeXS},"& > button:hover, & > button:focus":{color:n.colors.red}})),ke=x("span",{target:"e1lme4w111"})(({theme:n})=>({"& > button":{padding:n.spacing.threeXS,color:n.colors.fadedText40},"& > button:hover, & > button:focus":{color:n.colors.primary}})),Wt=x("span",{target:"e1lme4w112"})(({theme:n})=>({"& > button":{padding:n.spacing.threeXS,color:n.colors.fadedText60},"& > button:hover, & > button:focus":{color:n.colors.bodyText}})),it=x("div",{target:"e1lme4w113"})(({theme:n})=>({display:"flex",justifyContent:"center",alignItems:"center",flexGrow:0,flexShrink:1,padding:n.spacing.xs,gap:n.spacing.twoXS,marginRight:n.spacing.twoXS})),Me=x("div",{target:"e1lme4w114"})(({theme:n})=>({marginLeft:n.spacing.sm})),Ie=x(Xt,{target:"e1lme4w115"})(({theme:n})=>({fontSize:n.fontSizes.sm,width:n.sizes.spinnerSize,height:n.sizes.spinnerSize,borderWidth:n.sizes.spinnerThickness,radius:n.radii.md,justifyContents:"center",padding:n.spacing.none,margin:n.spacing.none,borderColor:n.colors.borderColor,borderTopColor:n.colors.primary,flexGrow:0,flexShrink:0})),Oe=()=>N(Tt,{children:[v(Dt,{children:"This app would like to use your microphone."})," ",v(Te,{href:qt,children:"Learn how to allow access."})]}),Le=()=>v(De,{children:v(We,{})}),Be=4,Ne=4,Ue=4,Fe=8,ze=0,j="00:00",bt=n=>new Date(n).toLocaleTimeString(void 0,{minute:"2-digit",second:"2-digit",timeZone:"UTC"}),_=({onClick:n,disabled:t,ariaLabel:e,iconContent:i})=>v(Zt,{kind:Yt.BORDERLESS_ICON,onClick:n,disabled:t,"aria-label":e,fluidWidth:!0,"data-testid":"stAudioInputActionButton",children:v(Kt,{content:i,size:"lg",color:"inherit"})}),_e=({disabled:n,stopRecording:t})=>v(Ae,{children:v(_,{onClick:t,disabled:n,ariaLabel:"Stop recording",iconContent:Et})}),He=({disabled:n,isPlaying:t,onClickPlayPause:e})=>v(Wt,{children:t?v(_,{onClick:e,disabled:n,ariaLabel:"Pause",iconContent:Ct}):v(_,{onClick:e,disabled:n,ariaLabel:"Play",iconContent:St})}),Ve=({disabled:n,startRecording:t})=>v(ke,{children:v(_,{onClick:t,disabled:n,ariaLabel:"Record",iconContent:wt})}),$e=({onClick:n})=>v(Wt,{children:v(_,{disabled:!1,onClick:n,ariaLabel:"Reset",iconContent:Rt})}),je=({disabled:n,isRecording:t,isPlaying:e,isUploading:i,isError:r,recordingUrlExists:s,startRecording:a,stopRecording:o,onClickPlayPause:d,onClear:c})=>r?v(it,{children:v($e,{onClick:c})}):i?v(it,{children:v(Ie,{"aria-label":"Uploading"})}):N(it,{children:[t?v(_e,{disabled:n,stopRecording:o}):v(Ve,{disabled:n,startRecording:a}),s&&v(He,{disabled:n,isPlaying:e,onClickPlayPause:d})]}),Ge=u.memo(je);async function Xe(n){const t=new window.AudioContext,e=await n.arrayBuffer();let i;try{i=await t.decodeAudioData(e)}catch(m){Jt(m);return}const r=44,s=i.numberOfChannels,a=i.sampleRate,o=i.length*s*2+r,d=new ArrayBuffer(o),c=new DataView(d),l={0:{type:"string",value:"RIFF"},4:{type:"uint32",value:o-8},8:{type:"string",value:"WAVE"},12:{type:"string",value:"fmt "},16:{type:"uint32",value:16},20:{type:"uint16",value:1},22:{type:"uint16",value:s},24:{type:"uint32",value:a},28:{type:"uint32",value:a*s*2},32:{type:"uint16",value:s*2},34:{type:"uint16",value:16},36:{type:"string",value:"data"},40:{type:"uint32",value:i.length*s*2}};Object.entries(l).forEach(([m,{type:f,value:b}])=>{const g=parseInt(m,10);f==="string"?qe(c,g,b):f==="uint32"?c.setUint32(g,b,!0):f==="uint16"&&c.setUint16(g,b,!0)});let p=r;for(let m=0;m<i.length;m++)for(let f=0;f<s;f++){const b=Math.max(-1,Math.min(1,i.getChannelData(f)[m]));c.setInt16(p,b*32767,!0),p+=2}const h=new Uint8Array(d);return new Blob([h],{type:"audio/wav"})}function qe(n,t,e){for(let i=0;i<e.length;i++)n.setUint8(t+i,e.charCodeAt(i))}const Ye=()=>v(Tt,{children:v(Dt,{children:"An error has occurred, please try again."})}),Ke=({element:n,uploadClient:t,widgetMgr:e,fragmentId:i,disabled:r})=>{var ht;const s=Qt(),a=ce(s),[o,d]=u.useState(null),c=yt.useRef(null),[l,p]=et({widgetMgr:e,id:n.id,key:"deleteFileUrl",defaultValue:null}),[h,m]=u.useState(null),[f,b]=u.useState([]),[g,w]=u.useState(null),[y,P]=et({widgetMgr:e,id:n.id,key:"recordingUrl",defaultValue:null}),[,T]=u.useState(0),C=()=>{T(S=>S+1)},[D,W]=u.useState(j),[M,A]=et({widgetMgr:e,id:n.id,formId:n.formId,key:"recordingTime",defaultValue:j}),[I,F]=u.useState(!1),[L,At]=u.useState(!1),[nt,kt]=u.useState(!1),[Mt,st]=u.useState(!1),[Y,K]=u.useState(!1),rt=n.id,O=n.formId,ot=u.useCallback(async S=>{st(!0),X(O)&&e.setFormsWithUploadsInProgress(new Set([O]));let R;if(S.type==="audio/wav"?R=S:R=await Xe(S),!R){K(!0);return}const k=URL.createObjectURL(R),Ft=new Date().toISOString().slice(0,16).replace(":","-"),zt=new File([R],`${Ft}_audio.wav`,{type:R.type});P(k),Ce({files:[zt],uploadClient:t,widgetMgr:e,widgetInfo:{id:rt,formId:O},fragmentId:i}).then(({successfulUploads:_t,failedUploads:Ht})=>{if(Ht.length>0){K(!0);return}const J=_t[0];J&&J.fileUrl.deleteUrl&&p(J.fileUrl.deleteUrl)}).finally(()=>{X(O)&&e.setFormsWithUploadsInProgress(new Set),st(!1)})},[P,t,e,rt,O,i,p]),B=u.useCallback(({updateWidgetManager:S,deleteFile:R})=>{G(o)||G(l)||(P(null),o.empty(),R&&t.deleteFile(l),p(null),W(j),A(j),S&&e.setFileUploaderStateValue(n,{},{fromUi:!0},i),F(!1),X(y)&&URL.revokeObjectURL(y))},[l,y,t,o,n,e,i,A,P,p]);u.useEffect(()=>{if(G(O))return;const S=new ae;return S.manageFormClearListener(e,O,()=>B({updateWidgetManager:!0,deleteFile:!1})),()=>S.disconnect()},[O,B,e]);const at=u.useCallback(()=>{if(c.current===null)return;const S=z.create({container:c.current,waveColor:y?Q(s.colors.fadedText40,s.colors.secondaryBg):s.colors.primary,progressColor:s.colors.bodyText,height:te(s.sizes.largestElementHeight)-2*Be,barWidth:Ne,barGap:Ue,barRadius:Fe,cursorWidth:ze,url:y??void 0});S.on("timeupdate",k=>{W(bt(k*1e3))}),S.on("pause",()=>{C()});const R=S.registerPlugin(q.create({scrollingWaveform:!1,renderRecordedAudio:!0}));return R.on("record-end",async k=>{ot(k)}),R.on("record-progress",k=>{A(bt(k))}),d(S),m(R),()=>{S&&S.destroy(),R&&R.destroy()}},[ot]);u.useEffect(()=>at(),[at]),u.useEffect(()=>{ee(a,s)||o==null||o.setOptions({waveColor:y?Q(s.colors.fadedText40,s.colors.secondaryBg):s.colors.primary,progressColor:s.colors.bodyText})},[s,a,y,o]);const It=u.useCallback(()=>{o&&(o.playPause(),F(!0),C())},[o]),Ot=u.useCallback(async()=>{let S=g;nt||(await navigator.mediaDevices.getUserMedia({audio:!0}).then(()=>q.getAvailableAudioDevices().then(R=>{if(b(R),R.length>0){const{deviceId:k}=R[0];w(k),S=k}})).catch(R=>{At(!0)}),kt(!0)),!(!h||!S||!o)&&(o.setOptions({waveColor:s.colors.primary}),y&&B({updateWidgetManager:!1,deleteFile:!0}),h.startRecording({deviceId:S}).then(()=>{C()}))},[g,h,s,o,y,B,nt]),Lt=u.useCallback(()=>{h&&(h.stopRecording(),o==null||o.setOptions({waveColor:Q(s.colors.fadedText40,s.colors.secondaryBg)}))},[h,o,s]),Bt=Se(y,"recording.wav"),Z=!!(h!=null&&h.isRecording()),lt=!!(o!=null&&o.isPlaying()),Nt=Z||lt,ct=!Z&&!y&&!L,Ut=L||ct||Y,dt=r||L;return N(Re,{className:"stAudioInput","data-testid":"stAudioInput",children:[v(re,{label:n.label,disabled:dt,labelVisibility:ie((ht=n.labelVisibility)==null?void 0:ht.value),children:n.help&&v(Me,{children:v(ne,{content:n.help,placement:se.TOP})})}),N(vt,{children:[N(le,{isFullScreen:!1,disableFullscreenMode:!0,target:vt,children:[y&&v(pt,{label:"Download as WAV",icon:he,onClick:()=>Bt()}),l&&v(pt,{label:"Clear recording",icon:ue,onClick:()=>B({updateWidgetManager:!0,deleteFile:!0})})]}),v(Ge,{isRecording:Z,isPlaying:lt,isUploading:Mt,isError:Y,recordingUrlExists:!!y,startRecording:Ot,stopRecording:Lt,onClickPlayPause:It,onClear:()=>{B({updateWidgetManager:!1,deleteFile:!0}),K(!1)},disabled:dt}),N(Ee,{children:[Y&&v(Ye,{}),ct&&v(Le,{}),L&&v(Oe,{}),v(xe,{"data-testid":"stAudioInputWaveSurfer",ref:c,show:!Ut})]}),v(Pe,{isPlayingOrRecording:Nt,"data-testid":"stAudioInputWaveformTimeCode",children:I?D:M})]})]})},si=u.memo(Ke);export{si as default};
@@ -0,0 +1 @@
1
+ import{n as t,aZ as e,am as o,j as s,ag as i}from"./index.kc3Ycvjj.js";import{P as l}from"./ProgressBar.CQTs8xxT.js";const d=t("div",{target:"e1eqiuxd0"})(({theme:a})=>({paddingBottom:a.spacing.sm,lineHeight:"normal",color:e(a)}));function c({element:a,width:r}){return o("div",{className:"stProgress","data-testid":"stProgress",children:[s(d,{children:s(i,{source:a.text,allowHTML:!1,isLabel:!0})}),s(l,{value:a.value,width:r})]})}export{c as default};
@@ -0,0 +1 @@
1
+ import{n as U,r as s,b3 as V,j as l}from"./index.kc3Ycvjj.js";const P=U("iframe",{target:"eymnmwl0"})(({theme:a})=>({colorScheme:"normal",border:"none",padding:a.spacing.none,margin:a.spacing.none,width:"100%",aspectRatio:"16 / 9"})),R=528;function w({element:a,width:f,endpoints:m,elementMgr:c}){const i=s.useRef(null),{type:E,url:p,startTime:n,subtitles:y,endTime:d,loop:u,autoplay:T,muted:h}=a,S=s.useMemo(()=>{if(!a.id)return!0;const e=c.getElementState(a.id,"preventAutoplay");return e||c.setElementState(a.id,"preventAutoplay",!0),e??!1},[a.id,c]);s.useEffect(()=>{i.current&&(i.current.currentTime=n)},[n]),s.useEffect(()=>{const e=i.current,t=()=>{e&&(e.currentTime=a.startTime)};return e&&e.addEventListener("loadedmetadata",t),()=>{e&&e.removeEventListener("loadedmetadata",t)}},[a]),s.useEffect(()=>{const e=i.current;if(!e)return;let t=!1;const o=()=>{d>0&&e.currentTime>=d&&(u?(e.currentTime=n||0,e.play()):t||(t=!0,e.pause()))};return d>0&&e.addEventListener("timeupdate",o),()=>{e&&d>0&&e.removeEventListener("timeupdate",o)}},[d,u,n]),s.useEffect(()=>{const e=i.current;if(!e)return;const t=()=>{u&&(e.currentTime=n||0,e.play())};return e.addEventListener("ended",t),()=>{e&&e.removeEventListener("ended",t)}},[u,n]);const g=e=>{const{startTime:t,endTime:o,loop:L,autoplay:N,muted:b}=a,r=new URL(e);if(t&&!isNaN(t)&&r.searchParams.append("start",t.toString()),o&&!isNaN(o)&&r.searchParams.append("end",o.toString()),L){r.searchParams.append("loop","1");const v=r.pathname.split("/").pop();v&&r.searchParams.append("playlist",v)}return N&&r.searchParams.append("autoplay","1"),b&&r.searchParams.append("mute","1"),r.toString()};return E===V.Type.YOUTUBE_IFRAME?l(P,{className:"stVideo","data-testid":"stVideo",title:p,src:g(p),allow:"autoplay; encrypted-media",allowFullScreen:!0}):l("video",{className:"stVideo","data-testid":"stVideo",ref:i,controls:!0,muted:h,autoPlay:T&&!S,src:m.buildMediaURL(p),style:{width:f,height:f===0?R:void 0},crossOrigin:void 0,children:y&&y.map((e,t)=>l("track",{kind:"captions",src:m.buildMediaURL(`${e.url}`),label:`${e.label}`,default:t===0},t))})}export{w as default};
@@ -0,0 +1 @@
1
+ import{n as o,am as m,j as i,ag as S}from"./index.kc3Ycvjj.js";import{S as g,T as y}from"./Toolbar.D_9Mp69H.js";import{w as W,u as b,E as M}from"./withFullScreenWrapper.ChQqb1TZ.js";const L=o("div",{target:"evl31sl0"})(({theme:t})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",rowGap:t.spacing.lg,maxWidth:"100%",width:"fit-content"})),O=o("div",{target:"evl31sl1"})(({theme:t})=>({display:"flex",flexDirection:"column",alignItems:"stretch",width:"auto",flexGrow:0,">img":{borderRadius:t.radii.default}})),E=o("div",{target:"evl31sl2"})(({theme:t})=>({textAlign:"center",marginTop:t.spacing.xs,wordWrap:"break-word",padding:t.spacing.threeXS}));var p;(function(t){t[t.OriginalWidth=-1]="OriginalWidth",t[t.ColumnWidth=-2]="ColumnWidth",t[t.AutoWidth=-3]="AutoWidth",t[t.MinImageOrContainer=-4]="MinImageOrContainer",t[t.MaxImageOrContainer=-5]="MaxImageOrContainer"})(p||(p={}));function T({element:t,width:u,endpoints:f,disableFullscreenMode:x}){const{expanded:n,width:w,height:r,expand:C,collapse:h}=b(M),d=n?w:u;let l;const a=t.width;if([-1,-3,-4].includes(a))l=void 0;else if([-2,-5].includes(a))l=d;else if(a>0)l=a;else throw Error(`Invalid image width: ${a}`);const e={};return r&&n?(e.maxHeight=r,e.objectFit="contain"):(e.width=l,e.maxWidth="100%"),m(g,{width:d,height:r,useContainerWidth:n,topCentered:!0,children:[i(y,{target:g,isFullScreen:n,onExpand:C,onCollapse:h,disableFullscreenMode:x}),i(L,{className:"stImage","data-testid":"stImage",children:t.imgs.map((I,c)=>{const s=I;return m(O,{"data-testid":"stImageContainer",children:[i("img",{style:e,src:f.buildMediaURL(s.url),alt:c.toString()}),s.caption&&i(E,{"data-testid":"stImageCaption",style:e,children:i(S,{source:s.caption,allowHTML:!1,isCaption:!0,isLabel:!0})})]},c)})})]})}const R=W(T);export{R as default};