streamlit-nightly 1.34.1.dev20240513__py2.py3-none-any.whl → 1.34.1.dev20240516__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 (32) hide show
  1. streamlit/delta_generator.py +4 -4
  2. streamlit/elements/arrow.py +4 -4
  3. streamlit/elements/lib/column_config_utils.py +4 -1
  4. streamlit/elements/plotly_chart.py +4 -4
  5. streamlit/elements/vega_charts.py +410 -47
  6. streamlit/proto/ArrowVegaLiteChart_pb2.py +2 -2
  7. streamlit/proto/ArrowVegaLiteChart_pb2.pyi +15 -2
  8. streamlit/runtime/metrics_util.py +1 -1
  9. streamlit/runtime/state/common.py +3 -1
  10. streamlit/runtime/state/widgets.py +1 -0
  11. streamlit/static/asset-manifest.json +8 -10
  12. streamlit/static/index.html +1 -1
  13. streamlit/static/static/js/1168.14f7c6ff.chunk.js +1 -0
  14. streamlit/static/static/js/474.7eb0c6cd.chunk.js +1 -0
  15. streamlit/static/static/js/5345.73d26e5d.chunk.js +1 -0
  16. streamlit/static/static/js/5441.1b94928f.chunk.js +1 -0
  17. streamlit/static/static/js/8148.f80eec24.chunk.js +1 -0
  18. streamlit/static/static/js/{main.45247b52.js → main.60ba1bc7.js} +2 -2
  19. {streamlit_nightly-1.34.1.dev20240513.dist-info → streamlit_nightly-1.34.1.dev20240516.dist-info}/METADATA +1 -1
  20. {streamlit_nightly-1.34.1.dev20240513.dist-info → streamlit_nightly-1.34.1.dev20240516.dist-info}/RECORD +25 -27
  21. streamlit/static/static/js/1168.7452e363.chunk.js +0 -1
  22. streamlit/static/static/js/3631.be5c35fa.chunk.js +0 -1
  23. streamlit/static/static/js/474.87506447.chunk.js +0 -1
  24. streamlit/static/static/js/5345.65c91ee7.chunk.js +0 -1
  25. streamlit/static/static/js/5441.5bacdeda.chunk.js +0 -1
  26. streamlit/static/static/js/8148.cc5b50d8.chunk.js +0 -1
  27. streamlit/static/static/js/9758.6e6d8662.chunk.js +0 -1
  28. /streamlit/static/static/js/{main.45247b52.js.LICENSE.txt → main.60ba1bc7.js.LICENSE.txt} +0 -0
  29. {streamlit_nightly-1.34.1.dev20240513.data → streamlit_nightly-1.34.1.dev20240516.data}/scripts/streamlit.cmd +0 -0
  30. {streamlit_nightly-1.34.1.dev20240513.dist-info → streamlit_nightly-1.34.1.dev20240516.dist-info}/WHEEL +0 -0
  31. {streamlit_nightly-1.34.1.dev20240513.dist-info → streamlit_nightly-1.34.1.dev20240516.dist-info}/entry_points.txt +0 -0
  32. {streamlit_nightly-1.34.1.dev20240513.dist-info → streamlit_nightly-1.34.1.dev20240516.dist-info}/top_level.txt +0 -0
@@ -40,6 +40,9 @@ class ArrowVegaLiteChart(google.protobuf.message.Message):
40
40
  DATASETS_FIELD_NUMBER: builtins.int
41
41
  USE_CONTAINER_WIDTH_FIELD_NUMBER: builtins.int
42
42
  THEME_FIELD_NUMBER: builtins.int
43
+ ID_FIELD_NUMBER: builtins.int
44
+ SELECTION_MODE_FIELD_NUMBER: builtins.int
45
+ FORM_ID_FIELD_NUMBER: builtins.int
43
46
  spec: builtins.str
44
47
  """The a JSON-formatted string with the Vega-Lite spec."""
45
48
  @property
@@ -50,12 +53,19 @@ class ArrowVegaLiteChart(google.protobuf.message.Message):
50
53
  @property
51
54
  def datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[streamlit.proto.ArrowNamedDataSet_pb2.ArrowNamedDataSet]:
52
55
  """Dataframes associated with this chart using Vega-Lite's datasets API, if
53
- any.
56
+ any. The data is either in `data` field or in the `datasets` field.
54
57
  """
55
58
  use_container_width: builtins.bool
56
59
  """If True, will overwrite the chart width spec to fit to container."""
57
60
  theme: builtins.str
58
61
  """override the properties with a theme. Currently, only "streamlit" or None are accepted."""
62
+ id: builtins.str
63
+ """ID, required for selection events."""
64
+ @property
65
+ def selection_mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
66
+ """Named selection parameters that are activated to trigger reruns."""
67
+ form_id: builtins.str
68
+ """The form ID of the widget, this is required if selections are activated on the chart."""
59
69
  def __init__(
60
70
  self,
61
71
  *,
@@ -64,8 +74,11 @@ class ArrowVegaLiteChart(google.protobuf.message.Message):
64
74
  datasets: collections.abc.Iterable[streamlit.proto.ArrowNamedDataSet_pb2.ArrowNamedDataSet] | None = ...,
65
75
  use_container_width: builtins.bool = ...,
66
76
  theme: builtins.str = ...,
77
+ id: builtins.str = ...,
78
+ selection_mode: collections.abc.Iterable[builtins.str] | None = ...,
79
+ form_id: builtins.str = ...,
67
80
  ) -> None: ...
68
81
  def HasField(self, field_name: typing_extensions.Literal["data", b"data"]) -> builtins.bool: ...
69
- def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "datasets", b"datasets", "spec", b"spec", "theme", b"theme", "use_container_width", b"use_container_width"]) -> None: ...
82
+ def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "datasets", b"datasets", "form_id", b"form_id", "id", b"id", "selection_mode", b"selection_mode", "spec", b"spec", "theme", b"theme", "use_container_width", b"use_container_width"]) -> None: ...
70
83
 
71
84
  global___ArrowVegaLiteChart = ArrowVegaLiteChart
@@ -469,6 +469,6 @@ def create_page_profile_message(
469
469
  page_profile.uncaught_exception = uncaught_exception
470
470
 
471
471
  if ctx := get_script_run_ctx():
472
- page_profile.is_fragment_run = bool(ctx.current_fragment_id)
472
+ page_profile.is_fragment_run = bool(ctx.fragment_ids_this_run)
473
473
 
474
474
  return msg
@@ -38,6 +38,7 @@ from typing_extensions import TypeAlias
38
38
  from streamlit import config, util
39
39
  from streamlit.errors import StreamlitAPIException
40
40
  from streamlit.proto.Arrow_pb2 import Arrow
41
+ from streamlit.proto.ArrowVegaLiteChart_pb2 import ArrowVegaLiteChart
41
42
  from streamlit.proto.Button_pb2 import Button
42
43
  from streamlit.proto.CameraInput_pb2 import CameraInput
43
44
  from streamlit.proto.ChatInput_pb2 import ChatInput
@@ -69,6 +70,7 @@ if TYPE_CHECKING:
69
70
  # Protobuf types for all widgets.
70
71
  WidgetProto: TypeAlias = Union[
71
72
  Arrow,
73
+ ArrowVegaLiteChart,
72
74
  Button,
73
75
  CameraInput,
74
76
  ChatInput,
@@ -80,13 +82,13 @@ WidgetProto: TypeAlias = Union[
80
82
  FileUploader,
81
83
  MultiSelect,
82
84
  NumberInput,
85
+ PlotlyChart,
83
86
  Radio,
84
87
  Selectbox,
85
88
  Slider,
86
89
  TextArea,
87
90
  TextInput,
88
91
  TimeInput,
89
- PlotlyChart,
90
92
  ]
91
93
 
92
94
  GENERATED_WIDGET_ID_PREFIX: Final = "$$WIDGET_ID"
@@ -72,6 +72,7 @@ ELEMENT_TYPE_TO_VALUE_TYPE: Final[
72
72
  "text_area": "string_value",
73
73
  "text_input": "string_value",
74
74
  "time_input": "string_value",
75
+ "vega_lite_chart": "string_value",
75
76
  }
76
77
  )
77
78
 
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "./static/css/main.3aaaea00.css",
4
- "main.js": "./static/js/main.45247b52.js",
4
+ "main.js": "./static/js/main.60ba1bc7.js",
5
5
  "static/js/9336.2d95d840.chunk.js": "./static/js/9336.2d95d840.chunk.js",
6
6
  "static/js/9330.2b4c99e0.chunk.js": "./static/js/9330.2b4c99e0.chunk.js",
7
7
  "static/js/2736.4336e2b9.chunk.js": "./static/js/2736.4336e2b9.chunk.js",
8
8
  "static/js/3301.1d1b10bb.chunk.js": "./static/js/3301.1d1b10bb.chunk.js",
9
9
  "static/css/8148.49dfd2ce.chunk.css": "./static/css/8148.49dfd2ce.chunk.css",
10
- "static/js/8148.cc5b50d8.chunk.js": "./static/js/8148.cc5b50d8.chunk.js",
10
+ "static/js/8148.f80eec24.chunk.js": "./static/js/8148.f80eec24.chunk.js",
11
11
  "static/css/5441.e3b876c5.chunk.css": "./static/css/5441.e3b876c5.chunk.css",
12
- "static/js/5441.5bacdeda.chunk.js": "./static/js/5441.5bacdeda.chunk.js",
12
+ "static/js/5441.1b94928f.chunk.js": "./static/js/5441.1b94928f.chunk.js",
13
13
  "static/js/8427.bd0a7cf3.chunk.js": "./static/js/8427.bd0a7cf3.chunk.js",
14
14
  "static/js/7323.b74cc85b.chunk.js": "./static/js/7323.b74cc85b.chunk.js",
15
15
  "static/js/8536.f8de3d9a.chunk.js": "./static/js/8536.f8de3d9a.chunk.js",
@@ -18,7 +18,7 @@
18
18
  "static/js/1307.0f0cca93.chunk.js": "./static/js/1307.0f0cca93.chunk.js",
19
19
  "static/js/2469.09ea79bb.chunk.js": "./static/js/2469.09ea79bb.chunk.js",
20
20
  "static/js/4113.99983645.chunk.js": "./static/js/4113.99983645.chunk.js",
21
- "static/js/1168.7452e363.chunk.js": "./static/js/1168.7452e363.chunk.js",
21
+ "static/js/1168.14f7c6ff.chunk.js": "./static/js/1168.14f7c6ff.chunk.js",
22
22
  "static/js/178.7bea8c5d.chunk.js": "./static/js/178.7bea8c5d.chunk.js",
23
23
  "static/js/1792.8bd6ce2a.chunk.js": "./static/js/1792.8bd6ce2a.chunk.js",
24
24
  "static/js/3513.7dedbda2.chunk.js": "./static/js/3513.7dedbda2.chunk.js",
@@ -39,14 +39,12 @@
39
39
  "static/js/8691.9ccf7f89.chunk.js": "./static/js/8691.9ccf7f89.chunk.js",
40
40
  "static/js/6718.802da17e.chunk.js": "./static/js/6718.802da17e.chunk.js",
41
41
  "static/js/7175.be4076bc.chunk.js": "./static/js/7175.be4076bc.chunk.js",
42
- "static/js/5345.65c91ee7.chunk.js": "./static/js/5345.65c91ee7.chunk.js",
42
+ "static/js/5345.73d26e5d.chunk.js": "./static/js/5345.73d26e5d.chunk.js",
43
43
  "static/js/9865.fd93213d.chunk.js": "./static/js/9865.fd93213d.chunk.js",
44
44
  "static/js/6405.ac5a6f23.chunk.js": "./static/js/6405.ac5a6f23.chunk.js",
45
- "static/js/9758.6e6d8662.chunk.js": "./static/js/9758.6e6d8662.chunk.js",
46
- "static/js/474.87506447.chunk.js": "./static/js/474.87506447.chunk.js",
47
- "static/js/3631.be5c35fa.chunk.js": "./static/js/3631.be5c35fa.chunk.js",
48
- "static/js/8005.43974a35.chunk.js": "./static/js/8005.43974a35.chunk.js",
45
+ "static/js/474.7eb0c6cd.chunk.js": "./static/js/474.7eb0c6cd.chunk.js",
49
46
  "static/js/3053.7e70ec3b.chunk.js": "./static/js/3053.7e70ec3b.chunk.js",
47
+ "static/js/8005.43974a35.chunk.js": "./static/js/8005.43974a35.chunk.js",
50
48
  "static/js/9656.8c935274.chunk.js": "./static/js/9656.8c935274.chunk.js",
51
49
  "static/js/8570.6de19120.chunk.js": "./static/js/8570.6de19120.chunk.js",
52
50
  "static/js/7142.83028745.chunk.js": "./static/js/7142.83028745.chunk.js",
@@ -153,6 +151,6 @@
153
151
  },
154
152
  "entrypoints": [
155
153
  "static/css/main.3aaaea00.css",
156
- "static/js/main.45247b52.js"
154
+ "static/js/main.60ba1bc7.js"
157
155
  ]
158
156
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><link rel="shortcut icon" href="./favicon.png"/><link rel="preload" href="./static/media/SourceSansPro-Regular.0d69e5ff5e92ac64a0c9.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-SemiBold.abed79cd0df1827e18cf.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-Bold.118dea98980e20a81ced.woff2" as="font" type="font/woff2" crossorigin><title>Streamlit</title><script>window.prerenderReady=!1</script><script defer="defer" src="./static/js/main.45247b52.js"></script><link href="./static/css/main.3aaaea00.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><link rel="shortcut icon" href="./favicon.png"/><link rel="preload" href="./static/media/SourceSansPro-Regular.0d69e5ff5e92ac64a0c9.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-SemiBold.abed79cd0df1827e18cf.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="./static/media/SourceSansPro-Bold.118dea98980e20a81ced.woff2" as="font" type="font/woff2" crossorigin><title>Streamlit</title><script>window.prerenderReady=!1</script><script defer="defer" src="./static/js/main.60ba1bc7.js"></script><link href="./static/css/main.3aaaea00.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[1168],{71168:(e,o,t)=>{t.r(o),t.d(o,{default:()=>w});var l=t(66845),n=t(25621),i=t(42736),r=t(16295),s=t(23593),c=t(50641),a=t(87814),d=t(96825),p=t.n(d),u=t(27466),h=t(63765),m=t(23849);function f(e,o,t){return e=function(e,o){return(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll("#000032",(0,u.By)(o))).replaceAll("#000033",(0,u.He)(o))).replaceAll("#000034",(0,u.Iy)(o)?o.colors.blue80:o.colors.blue40)).replaceAll("#000035",(0,u.ny)(o))).replaceAll("#000036",(0,u.Xy)(o))).replaceAll("#000037",(0,u.yq)(o))).replaceAll("#000038",o.colors.bgColor)).replaceAll("#000039",o.colors.fadedText05)).replaceAll("#000040",o.colors.bgMix)}(e,o),e=function(e,o,t){const l="#000001",n="#000002",i="#000003",r="#000004",s="#000005",c="#000006",a="#000007",d="#000008",p="#000009",h="#000010";if("streamlit"===t){const t=(0,u.iY)(o);e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll(l,t[0])).replaceAll(n,t[1])).replaceAll(i,t[2])).replaceAll(r,t[3])).replaceAll(s,t[4])).replaceAll(c,t[5])).replaceAll(a,t[6])).replaceAll(d,t[7])).replaceAll(p,t[8])).replaceAll(h,t[9])}else e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll(l,"#636efa")).replaceAll(n,"#EF553B")).replaceAll(i,"#00cc96")).replaceAll(r,"#ab63fa")).replaceAll(s,"#FFA15A")).replaceAll(c,"#19d3f3")).replaceAll(a,"#FF6692")).replaceAll(d,"#B6E880")).replaceAll(p,"#FF97FF")).replaceAll(h,"#FECB52");return e}(e,o,t),e=function(e,o,t){const l="#000011",n="#000012",i="#000013",r="#000014",s="#000015",c="#000016",a="#000017",d="#000018",p="#000019",h="#000020";if("streamlit"===t){const t=(0,u.Gy)(o);e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll(l,t[0])).replaceAll(n,t[1])).replaceAll(i,t[2])).replaceAll(r,t[3])).replaceAll(s,t[4])).replaceAll(c,t[5])).replaceAll(a,t[6])).replaceAll(d,t[7])).replaceAll(p,t[8])).replaceAll(h,t[9])}else e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll(l,"#0d0887")).replaceAll(n,"#46039f")).replaceAll(i,"#7201a8")).replaceAll(r,"#9c179e")).replaceAll(s,"#bd3786")).replaceAll(c,"#d8576b")).replaceAll(a,"#ed7953")).replaceAll(d,"#fb9f3a")).replaceAll(p,"#fdca26")).replaceAll(h,"#f0f921");return e}(e,o,t),e=function(e,o,t){const l="#000021",n="#000022",i="#000023",r="#000024",s="#000025",c="#000026",a="#000027",d="#000028",p="#000029",h="#000030",m="#000031";if("streamlit"===t){const t=(0,u.ru)(o);e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll(l,t[0])).replaceAll(n,t[1])).replaceAll(i,t[2])).replaceAll(r,t[3])).replaceAll(s,t[4])).replaceAll(c,t[5])).replaceAll(a,t[6])).replaceAll(d,t[7])).replaceAll(p,t[8])).replaceAll(h,t[9])).replaceAll(m,t[10])}else e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replaceAll(l,"#8e0152")).replaceAll(n,"#c51b7d")).replaceAll(i,"#de77ae")).replaceAll(r,"#f1b6da")).replaceAll(s,"#fde0ef")).replaceAll(c,"#f7f7f7")).replaceAll(a,"#e6f5d0")).replaceAll(d,"#b8e186")).replaceAll(p,"#7fbc41")).replaceAll(h,"#4d9221")).replaceAll(m,"#276419");return e}(e,o,t),e}function y(e,o){try{!function(e,o){const{genericFonts:t,colors:l,fontSizes:n}=o,i={font:{color:(0,u.Xy)(o),family:t.bodyFont,size:n.twoSmPx},title:{color:l.headingColor,subtitleColor:l.bodyText,font:{family:t.headingFont,size:n.mdPx,color:l.headingColor},pad:{l:o.spacing.twoXSPx},xanchor:"left",x:0},legend:{title:{font:{size:n.twoSmPx,color:(0,u.Xy)(o)},side:"top"},valign:"top",bordercolor:l.transparent,borderwidth:o.spacing.nonePx,font:{size:n.twoSmPx,color:(0,u.yq)(o)}},paper_bgcolor:l.bgColor,plot_bgcolor:l.bgColor,yaxis:{ticklabelposition:"outside",zerolinecolor:(0,u.ny)(o),title:{font:{color:(0,u.Xy)(o),size:n.smPx},standoff:o.spacing.twoXLPx},tickcolor:(0,u.ny)(o),tickfont:{color:(0,u.Xy)(o),size:n.twoSmPx},gridcolor:(0,u.ny)(o),minor:{gridcolor:(0,u.ny)(o)},automargin:!0},xaxis:{zerolinecolor:(0,u.ny)(o),gridcolor:(0,u.ny)(o),showgrid:!1,tickfont:{color:(0,u.Xy)(o),size:n.twoSmPx},tickcolor:(0,u.ny)(o),title:{font:{color:(0,u.Xy)(o),size:n.smPx},standoff:o.spacing.xlPx},minor:{gridcolor:(0,u.ny)(o)},zeroline:!1,automargin:!0,rangeselector:{bgcolor:l.bgColor,bordercolor:(0,u.ny)(o),borderwidth:1,x:0}},margin:{pad:o.spacing.smPx,r:o.spacing.nonePx,l:o.spacing.nonePx},hoverlabel:{bgcolor:l.bgColor,bordercolor:l.fadedText10,font:{color:(0,u.Xy)(o),family:t.bodyFont,size:n.twoSmPx}},coloraxis:{colorbar:{thickness:16,xpad:o.spacing.twoXLPx,ticklabelposition:"outside",outlinecolor:l.transparent,outlinewidth:8,len:.75,y:.5745,title:{font:{color:(0,u.Xy)(o),size:n.smPx}},tickfont:{color:(0,u.Xy)(o),size:n.twoSmPx}}},ternary:{gridcolor:(0,u.Xy)(o),bgcolor:l.bgColor,title:{font:{family:t.bodyFont,size:n.smPx}},color:(0,u.Xy)(o),aaxis:{gridcolor:(0,u.Xy)(o),linecolor:(0,u.Xy)(o),tickfont:{family:t.bodyFont,size:n.twoSmPx}},baxis:{linecolor:(0,u.Xy)(o),gridcolor:(0,u.Xy)(o),tickfont:{family:t.bodyFont,size:n.twoSmPx}},caxis:{linecolor:(0,u.Xy)(o),gridcolor:(0,u.Xy)(o),tickfont:{family:t.bodyFont,size:n.twoSmPx}}}};p()(e,i)}(e.layout.template.layout,o)}catch(t){const e=(0,h.b)(t);(0,m.H)(e)}"title"in e.layout&&(e.layout.title=p()(e.layout.title,{text:"<b>".concat(e.layout.title.text,"</b>")}))}var g=t(40864);const x={width:600,height:470,name:"fullscreen-expand",path:"M32 32C14.3 32 0 46.3 0 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V96h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zM64 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H64V352zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32h64v64c0 17.7 14.3 32 32 32s32-14.3 32-32V64c0-17.7-14.3-32-32-32H320zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H320c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V352z"},b={width:600,height:470,name:"fullscreen-collapse",path:"M160 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32V64zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32H96v64c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V64zM320 320c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V384h64c17.7 0 32-14.3 32-32s-14.3-32-32-32H320z"};function v(e,o,t){const l=JSON.parse(f(JSON.stringify(e),t,o));return"streamlit"===o?y(l,t):l.layout=function(e,o){const{colors:t,genericFonts:l}=o,n={font:{color:t.bodyText,family:l.bodyFont},paper_bgcolor:t.bgColor,plot_bgcolor:t.secondaryBg};return{...e,font:{...n.font,...e.font},paper_bgcolor:e.paper_bgcolor||n.paper_bgcolor,plot_bgcolor:e.plot_bgcolor||n.plot_bgcolor}}(l.layout,t),l}function A(e,o,t,l){if(!e)return;const n={selection:{points:[],point_indices:[],box:[],lasso:[]}},i=new Set,s=[],a=[],d=[],{selections:p,points:u}=e;if(u&&u.forEach((function(e){d.push({...e,legendgroup:e.data.legendgroup||void 0,data:void 0,fullData:void 0}),(0,c.bb)(e.pointIndex)&&i.add(e.pointIndex),(0,c.bb)(e.pointIndices)&&e.pointIndices.length>0&&e.pointIndices.forEach((e=>i.add(e)))})),p&&p.forEach((e=>{if("rect"===e.type){const o=function(e){return"x0"in e&&"x1"in e&&"y0"in e&&"y1"in e?{x:[e.x0,e.x1],y:[e.y0,e.y1]}:{x:[],y:[]}}(e),t={xref:e.xref,yref:e.yref,x:o.x,y:o.y};s.push(t)}if("path"===e.type){const o=function(e){if(""===e)return{x:[],y:[]};const o=e.replace("M","").replace("Z","").split("L"),t=[],l=[];return o.forEach((e=>{const[o,n]=e.split(",").map(Number);t.push(o),l.push(n)})),{x:t,y:l}}(e.path),t={xref:e.xref,yref:e.yref,x:o.x,y:o.y};a.push(t)}})),n.selection.point_indices=Array.from(i),n.selection.points=d.map((e=>(0,c.KI)(e))),n.selection.box=s,n.selection.lasso=a,n.selection.box.length>0&&!t.selectionMode.includes(r.hP.SelectionMode.BOX))return;if(n.selection.lasso.length>0&&!t.selectionMode.includes(r.hP.SelectionMode.LASSO))return;const h=o.getStringValue(t),m=JSON.stringify(n);h!==m&&o.setStringValue(t,m,{fromUi:!0},l)}const w=(0,s.Z)((function(e){var o,t,s,c,d;let{element:p,width:u,height:h,widgetMgr:m,disabled:f,fragmentId:y,isFullScreen:w,expand:S,collapse:z,disableFullscreenMode:F}=e;const C=(0,n.u)(),M=(0,l.useMemo)((()=>p.spec?JSON.parse(p.spec):{layout:{},data:[],frames:void 0}),[p.id,p.spec]),[P,k]=(0,l.useState)((()=>{const e=m.getElementState(p.id,"figure");return e||v(M,p.theme,C)})),I=p.selectionMode.length>0&&!f,E=I&&p.selectionMode.includes(r.hP.SelectionMode.LASSO),X=I&&p.selectionMode.includes(r.hP.SelectionMode.BOX),L=I&&p.selectionMode.includes(r.hP.SelectionMode.POINTS),T=(0,l.useMemo)((()=>{if(!p.config)return{};const e=JSON.parse(p.config);if(F||(e.modeBarButtonsToAdd=[{name:w?"Close fullscreen":"Fullscreen",icon:w?b:x,click:()=>{w&&z?z():S&&S()}}]),!e.modeBarButtonsToRemove){e.displaylogo=!1;const o=["sendDataToCloud"];I?(E||o.push("lasso2d"),X||o.push("select2d")):o.push("lasso2d","select2d"),e.modeBarButtonsToRemove=o}return e}),[p.id,p.config,w,F,I,E,X,z,S]);(0,l.useEffect)((()=>{k((e=>v(e,p.theme,C)))}),[p.id,C,p.theme]),(0,l.useEffect)((()=>{let e=M.layout.clickmode,o=M.layout.hovermode,t=M.layout.dragmode;f?(e="none",t="pan"):I&&(M.layout.clickmode||(e=L?"event+select":"none"),M.layout.hovermode||(o="closest"),M.layout.dragmode||(t=L?"pan":X?"select":E?"lasso":"pan")),k((l=>l.layout.clickmode===e&&l.layout.hovermode===o&&l.layout.dragmode===t?l:{...l,layout:{...l.layout,clickmode:e,hovermode:o,dragmode:t}}))}),[p.id,I,L,X,E,f]);let W=-1===u?null===(o=P.layout)||void 0===o?void 0:o.width:Math.max(p.useContainerWidth?u:Math.min(null!==(t=M.layout.width)&&void 0!==t?t:u,u),150),_=M.layout.height;w&&(W=u,_=h),P.layout.height===_&&P.layout.width===W||k((e=>({...e,layout:{...e.layout,height:_,width:W}})));const O=(0,l.useCallback)((e=>{A(e,m,p,y)}),[p.id,m,y]),V=(0,l.useCallback)((function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];!function(e,o,t){const l=e.getStringValue(o),n=JSON.stringify({selection:{points:[],point_indices:[],box:[],lasso:[]}});l!==n&&e.setStringValue(o,n,{fromUi:!0},t)}(m,p,y),e&&setTimeout((()=>{k((e=>({...e,data:e.data.map((e=>({...e,selectedpoints:null}))),layout:{...e.layout,selections:[]}})))}),50)}),[p.id,m,y]);return(0,l.useEffect)((()=>{if(!p.formId||!I)return;const e=new a.K;return e.manageFormClearListener(m,p.formId,V),()=>{e.disconnect()}}),[p.formId,m,I,V]),(0,l.useEffect)((()=>{var e,o,t;if(!I)return;let l;l="select"===(null===(e=P.layout)||void 0===e?void 0:e.dragmode)||"lasso"===(null===(o=P.layout)||void 0===o?void 0:o.dragmode)?"event":L?"event+select":"none",(null===(t=P.layout)||void 0===t?void 0:t.clickmode)!==l&&k((e=>({...e,layout:{...e.layout,clickmode:l}})))}),[null===(s=P.layout)||void 0===s?void 0:s.dragmode]),(0,g.jsx)(i.Z,{className:"stPlotlyChart",data:P.data,layout:P.layout,config:T,frames:null!==(c=P.frames)&&void 0!==c?c:void 0,style:{visibility:void 0===(null===(d=P.layout)||void 0===d?void 0:d.width)?"hidden":void 0},onSelected:I?O:()=>{},onDoubleClick:I?()=>V():void 0,onDeselect:I?()=>{V(!1)}:void 0,onInitialized:e=>{m.setElementState(p.id,"figure",e)},onUpdate:e=>{m.setElementState(p.id,"figure",e),k(e)}},w?"fullscreen":"original")}),!0)},23593:(e,o,t)=>{t.d(o,{Z:()=>g});var l=t(66845),n=t(13005),i=t.n(n),r=t(25621),s=t(82218),c=t(97781),a=t(46927),d=t(66694),p=t(1515);const u=(0,p.Z)("button",{target:"e1vs0wn31"})((e=>{let{isExpanded:o,theme:t}=e;const l=o?{right:"0.4rem",top:"0.5rem",backgroundColor:"transparent"}:{right:"-3.0rem",top:"-0.375rem",opacity:0,transform:"scale(0)",backgroundColor:t.colors.lightenedBg05};return{position:"absolute",display:"flex",alignItems:"center",justifyContent:"center",zIndex:t.zIndices.sidebar+1,height:"2.5rem",width:"2.5rem",transition:"opacity 300ms 150ms, transform 300ms 150ms",border:"none",color:t.colors.fadedText60,borderRadius:"50%",...l,"&:focus":{outline:"none"},"&:active, &:focus-visible, &:hover":{opacity:1,outline:"none",transform:"scale(1)",color:t.colors.bodyText,transition:"none"}}}),""),h=(0,p.Z)("div",{target:"e1vs0wn30"})((e=>{let{theme:o,isExpanded:t}=e;return{"&:hover":{[u]:{opacity:1,transform:"scale(1)",transition:"none"}},...t?{position:"fixed",top:0,left:0,bottom:0,right:0,background:o.colors.bgColor,zIndex:o.zIndices.fullscreenWrapper,padding:o.spacing.md,paddingTop:"2.875rem",overflow:["auto","overlay"],display:"flex",alignItems:"center",justifyContent:"center"}:{}}}),"");var m=t(40864);class f extends l.PureComponent{constructor(e){super(e),this.context=void 0,this.controlKeys=e=>{const{expanded:o}=this.state;27===e.keyCode&&o&&this.zoomOut()},this.zoomIn=()=>{document.body.style.overflow="hidden",this.context.setFullScreen(!0),this.setState({expanded:!0})},this.zoomOut=()=>{document.body.style.overflow="unset",this.context.setFullScreen(!1),this.setState({expanded:!1})},this.convertScssRemValueToPixels=e=>parseFloat(e)*parseFloat(getComputedStyle(document.documentElement).fontSize),this.getWindowDimensions=()=>{const e=this.convertScssRemValueToPixels(this.props.theme.spacing.md),o=this.convertScssRemValueToPixels("2.875rem");return{fullWidth:window.innerWidth-2*e,fullHeight:window.innerHeight-(e+o)}},this.updateWindowDimensions=()=>{this.setState(this.getWindowDimensions())},this.state={expanded:!1,...this.getWindowDimensions()}}componentDidMount(){window.addEventListener("resize",this.updateWindowDimensions),document.addEventListener("keydown",this.controlKeys,!1)}componentWillUnmount(){window.removeEventListener("resize",this.updateWindowDimensions),document.removeEventListener("keydown",this.controlKeys,!1)}render(){const{expanded:e,fullWidth:o,fullHeight:t}=this.state,{children:l,width:n,height:i,disableFullscreenMode:r}=this.props;let d=s.d,p=this.zoomIn,f="View fullscreen";return e&&(d=c.m,p=this.zoomOut,f="Exit fullscreen"),(0,m.jsxs)(h,{isExpanded:e,"data-testid":"stFullScreenFrame",children:[!r&&(0,m.jsx)(u,{"data-testid":"StyledFullScreenButton",onClick:p,title:f,isExpanded:e,children:(0,m.jsx)(a.Z,{content:d})}),l(e?{width:o,height:t,expanded:e,expand:this.zoomIn,collapse:this.zoomOut}:{width:n,height:i,expanded:e,expand:this.zoomIn,collapse:this.zoomOut})]})}}f.contextType=d.E;const y=(0,r.b)(f);const g=function(e){let o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];class t extends l.PureComponent{constructor(){super(...arguments),this.render=()=>{const{width:t,height:l,disableFullscreenMode:n}=this.props;return(0,m.jsx)(y,{width:t,height:l,disableFullscreenMode:o||n,children:o=>{let{width:t,height:l,expanded:n,expand:i,collapse:r}=o;return(0,m.jsx)(e,{...this.props,width:t,height:l,isFullScreen:n,expand:i,collapse:r})}})}}}return t.displayName="withFullScreenWrapper(".concat(e.displayName||e.name,")"),i()(t,e)}},87814:(e,o,t)=>{t.d(o,{K:()=>n});var l=t(50641);class n{constructor(){this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}manageFormClearListener(e,o,t){null!=this.formClearListener&&this.lastWidgetMgr===e&&this.lastFormId===o||(this.disconnect(),(0,l.bM)(o)&&(this.formClearListener=e.addFormClearedListener(o,t),this.lastWidgetMgr=e,this.lastFormId=o))}disconnect(){var e;null===(e=this.formClearListener)||void 0===e||e.disconnect(),this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[474],{60474:(e,t,r)=>{r.r(t),r.d(t,{FileHandle:()=>d});var s=r(69758),a=r(60643);const{WritableStream:o,TransformStream:n,DOMException:i,Blob:c}=a.Z,{GONE:l}=s.errors,h=/constructor/i.test(window.HTMLElement);class d{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"unkown";this.name=e,this.kind="file"}async getFile(){throw new i(...l)}async isSameEntry(e){return this===e}async createWritable(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=await(null===(e=navigator.serviceWorker)||void 0===e?void 0:e.getRegistration()),s=document.createElement("a"),a=new n,i=a.writable;if(s.download=this.name,h||!r){let e=[];a.readable.pipeTo(new o({write(t){e.push(new c([t]))},close(){const t=new c(e,{type:"application/octet-stream; charset=utf-8"});e=[],s.href=URL.createObjectURL(t),s.click(),setTimeout((()=>URL.revokeObjectURL(s.href)),1e4)}}))}else{const{writable:e,readablePort:s}=new _(o),i=encodeURIComponent(this.name).replace(/['()]/g,escape).replace(/\*/g,"%2A"),c={"content-disposition":"attachment; filename*=UTF-8''"+i,"content-type":"application/octet-stream; charset=utf-8",...t.size?{"content-length":t.size}:{}},l=setTimeout((()=>r.active.postMessage(0)),1e4);a.readable.pipeThrough(new n({transform(e,t){if(e instanceof Uint8Array)return t.enqueue(e);const r=new Response(e).body.getReader(),s=e=>r.read().then((e=>e.done?0:s(t.enqueue(e.value))));return s()}})).pipeTo(e).finally((()=>{clearInterval(l)})),r.active.postMessage({url:r.scope+i,headers:c,readablePort:s},[s]);const h=document.createElement("iframe");h.hidden=!0,h.src=r.scope+i,document.body.appendChild(h)}return i.getWriter()}}class p{constructor(e){e.onmessage=e=>this._onMessage(e.data),this._port=e,this._resetReady()}start(e){return this._controller=e,this._readyPromise}write(e){const t={type:0,chunk:e};return this._port.postMessage(t,[e.buffer]),this._resetReady(),this._readyPromise}close(){this._port.postMessage({type:2}),this._port.close()}abort(e){this._port.postMessage({type:1,reason:e}),this._port.close()}_onMessage(e){0===e.type&&this._resolveReady(),1===e.type&&this._onError(e.reason)}_onError(e){this._controller.error(e),this._rejectReady(e),this._port.close()}_resetReady(){this._readyPromise=new Promise(((e,t)=>{this._readyResolve=e,this._readyReject=t})),this._readyPending=!0}_resolveReady(){this._readyResolve(),this._readyPending=!1}_rejectReady(e){this._readyPending||this._resetReady(),this._readyPromise.catch((()=>{})),this._readyReject(e),this._readyPending=!1}}class _{constructor(e){const t=new MessageChannel;this.readablePort=t.port1,this.writable=new e(new p(t.port2))}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[5345],{46979:(e,t,r)=>{r.r(t),r.d(t,{FileSystemDirectoryHandle:()=>d,default:()=>y});var n=r(64649),i=r(93232),a=r(69758);let o;const{GONE:s,MOD_ERR:l}=a.errors,c=Symbol("adapter");o=Symbol.asyncIterator;class d extends i.Z{constructor(e){super(e),(0,n.Z)(this,c,void 0),this[c]=e}async getDirectoryHandle(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(""===e)throw new TypeError("Name can't be an empty string.");if("."===e||".."===e||e.includes("/"))throw new TypeError("Name contains invalid characters.");t.create=!!t.create;const r=await this[c].getDirectoryHandle(e,t);return new d(r)}async*entries(){const{FileSystemFileHandle:e}=await Promise.resolve().then(r.bind(r,8192));for await(const[t,r]of this[c].entries())yield[r.name,"file"===r.kind?new e(r):new d(r)]}async*getEntries(){const{FileSystemFileHandle:e}=await Promise.resolve().then(r.bind(r,8192));console.warn("deprecated, use .entries() instead");for await(let t of this[c].entries())yield"file"===t.kind?new e(t):new d(t)}async getFileHandle(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{FileSystemFileHandle:n}=await Promise.resolve().then(r.bind(r,8192));if(""===e)throw new TypeError("Name can't be an empty string.");if("."===e||".."===e||e.includes("/"))throw new TypeError("Name contains invalid characters.");t.create=!!t.create;return new n(await this[c].getFileHandle(e,t))}async removeEntry(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(""===e)throw new TypeError("Name can't be an empty string.");if("."===e||".."===e||e.includes("/"))throw new TypeError("Name contains invalid characters.");return t.recursive=!!t.recursive,this[c].removeEntry(e,t)}async resolve(e){if(await e.isSameEntry(this))return[];const t=[{handle:this,path:[]}];for(;t.length;){let{handle:r,path:n}=t.pop();for await(const i of r.values()){if(await i.isSameEntry(e))return[...n,i.name];"directory"===i.kind&&t.push({handle:i,path:[...n,i.name]})}}return null}async*keys(){for await(const[e]of this[c].entries())yield e}async*values(){for await(const[e,t]of this)yield t}[o](){return this.entries()}}if(Object.defineProperty(d.prototype,Symbol.toStringTag,{value:"FileSystemDirectoryHandle",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(d.prototype,{getDirectoryHandle:{enumerable:!0},entries:{enumerable:!0},getFileHandle:{enumerable:!0},removeEntry:{enumerable:!0}}),globalThis.FileSystemDirectoryHandle){const m=globalThis.FileSystemDirectoryHandle.prototype;async function p(e){const t=await navigator.storage.getDirectory();if(null===await t.resolve(e))throw new DOMException(...s)}m.resolve=async function(e){if(await e.isSameEntry(this))return[];const t=[{handle:this,path:[]}];for(;t.length;){let{handle:r,path:n}=t.pop();for await(const i of r.values()){if(await i.isSameEntry(e))return[...n,i.name];"directory"===i.kind&&t.push({handle:i,path:[...n,i.name]})}}return null};const u=m.entries;m.entries=async function*(){await p(this),yield*u.call(this)},m[Symbol.asyncIterator]=async function*(){yield*this.entries()};const h=m.removeEntry;m.removeEntry=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h.call(this,e,t).catch((async e=>{if(e instanceof DOMException&&"UnknownError"===e.name&&!t.recursive){if(!(await u.call(this).next()).done)throw new DOMException(...l)}throw e}))}}const y=d},8192:(e,t,r)=>{r.r(t),r.d(t,{FileSystemFileHandle:()=>y,default:()=>m});var n=r(64649),i=r(93232),a=r(83885),o=r(69758);const{INVALID:s,SYNTAX:l,GONE:c}=o.errors,d=Symbol("adapter");class y extends i.Z{constructor(e){super(e),(0,n.Z)(this,d,void 0),this[d]=e}async createWritable(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new a.Z(await this[d].createWritable(e))}async getFile(){return this[d].getFile()}}if(Object.defineProperty(y.prototype,Symbol.toStringTag,{value:"FileSystemFileHandle",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(y.prototype,{createWritable:{enumerable:!0},getFile:{enumerable:!0}}),globalThis.FileSystemFileHandle&&!globalThis.FileSystemFileHandle.prototype.createWritable){const e=new WeakMap;let t;const r=()=>{let e,t;onmessage=async r=>{const n=r.ports[0],i=r.data;switch(i.type){case"open":const r=i.name;let n=await navigator.storage.getDirectory();for(const e of i.path)n=await n.getDirectoryHandle(e);e=await n.getFileHandle(r),t=await e.createSyncAccessHandle();break;case"write":t.write(i.data,{at:i.position}),t.flush();break;case"truncate":t.truncate(i.size);break;case"abort":case"close":t.close()}n.postMessage(0)}};globalThis.FileSystemFileHandle.prototype.createWritable=async function(n){if(!t){const e="(".concat(r.toString(),")()"),n=new Blob([e],{type:"text/javascript"});t=URL.createObjectURL(n)}const i=new Worker(t,{type:"module"});let o=0;const d=new TextEncoder;let y=await this.getFile().then((e=>e.size));const m=e=>new Promise(((t,r)=>{const n=new MessageChannel;n.port1.onmessage=e=>{e.data instanceof Error?r(e.data):t(e.data),n.port1.close(),n.port2.close(),n.port1.onmessage=null},i.postMessage(e,[n.port2])})),p=await navigator.storage.getDirectory(),u=await e.get(this),h=await p.resolve(u);if(null===h)throw new DOMException(...c);let w;await m({type:"open",path:h,name:this.name}),!1===(null===n||void 0===n?void 0:n.keepExistingData)&&(await m({type:"truncate",size:0}),y=0);return new a.Z({start:e=>{w=e},async write(e){var t;if("write"===(e=(null===(t=e)||void 0===t?void 0:t.constructor)===Object?{...e}:{type:"write",data:e,position:o}).type){var r,n;if(!("data"in e))throw await m({type:"close"}),new DOMException(...l("write requires a data argument"));if(null!==(n=(r=e).position)&&void 0!==n||(r.position=o),"string"===typeof e.data)e.data=d.encode(e.data);else if(e.data instanceof ArrayBuffer)e.data=new Uint8Array(e.data);else if(e.data instanceof Uint8Array||!ArrayBuffer.isView(e.data)){if(!(e.data instanceof Uint8Array)){const t=await new Response(e.data).arrayBuffer();e.data=new Uint8Array(t)}}else e.data=new Uint8Array(e.data.buffer,e.data.byteOffset,e.data.byteLength);Number.isInteger(e.position)&&e.position>=0&&(o=e.position),o+=e.data.byteLength,y+=e.data.byteLength}else{if("seek"===e.type){if(Number.isInteger(e.position)&&e.position>=0){if(y<e.position)throw new DOMException(...s);return console.log("seeking",e),void(o=e.position)}throw await m({type:"close"}),new DOMException(...l("seek requires a position argument"))}if("truncate"===e.type){if(!(Number.isInteger(e.size)&&e.size>=0))throw await m({type:"close"}),new DOMException(...l("truncate requires a size argument"));y=e.size,o>y&&(o=y)}}await m(e)},async close(){await m({type:"close"}),i.terminate()},async abort(e){await m({type:"abort",reason:e}),i.terminate()}})};const n=FileSystemDirectoryHandle.prototype.getFileHandle;FileSystemDirectoryHandle.prototype.getFileHandle=async function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];const a=await n.call(this,...r);return e.set(a,this),a}}const m=y},93232:(e,t,r)=>{r.d(t,{Z:()=>l});var n=r(64649);const i=Symbol("adapter");class a{constructor(e){(0,n.Z)(this,i,void 0),(0,n.Z)(this,"name",void 0),(0,n.Z)(this,"kind",void 0),this.kind=e.kind,this.name=e.name,this[i]=e}async queryPermission(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{mode:t="read"}=e,r=this[i];if(r.queryPermission)return r.queryPermission({mode:t});if("read"===t)return"granted";if("readwrite"===t)return r.writable?"granted":"denied";throw new TypeError("Mode ".concat(t," must be 'read' or 'readwrite'"))}async requestPermission(){let{mode:e="read"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this[i];if(t.requestPermission)return t.requestPermission({mode:e});if("read"===e)return"granted";if("readwrite"===e)return t.writable?"granted":"denied";throw new TypeError("Mode ".concat(e," must be 'read' or 'readwrite'"))}async remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};await this[i].remove(e)}async isSameEntry(e){return this===e||!(!e||"object"!==typeof e||this.kind!==e.kind||!e[i])&&this[i].isSameEntry(e[i])}}var o,s;(Object.defineProperty(a.prototype,Symbol.toStringTag,{value:"FileSystemHandle",writable:!1,enumerable:!1,configurable:!0}),globalThis.FileSystemHandle)&&(null!==(s=(o=globalThis.FileSystemHandle.prototype).queryPermission)&&void 0!==s||(o.queryPermission=function(e){return"granted"}));const l=a},83885:(e,t,r)=>{function n(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}function i(e,t,r){var n=function(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}(e,t,"set");return function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}(e,n,r),r}r.d(t,{Z:()=>c});var a=r(60643);const{WritableStream:o}=a.Z;var s=new WeakMap;class l extends o{constructor(e){super(e),n(this,s,{writable:!0,value:void 0}),i(this,s,e),Object.setPrototypeOf(this,l.prototype),this._closed=!1}async close(){this._closed=!0;const e=this.getWriter(),t=e.close();return e.releaseLock(),t}seek(e){return this.write({type:"seek",position:e})}truncate(e){return this.write({type:"truncate",size:e})}write(e){if(this._closed)return Promise.reject(new TypeError("Cannot write to a CLOSED writable stream"));const t=this.getWriter(),r=t.write(e);return t.releaseLock(),r}}Object.defineProperty(l.prototype,Symbol.toStringTag,{value:"FileSystemWritableFileStream",writable:!1,enumerable:!1,configurable:!0}),Object.defineProperties(l.prototype,{close:{enumerable:!0},seek:{enumerable:!0},truncate:{enumerable:!0},write:{enumerable:!0}}),!globalThis.FileSystemFileHandle||globalThis.FileSystemFileHandle.prototype.createWritable||globalThis.FileSystemWritableFileStream||(globalThis.FileSystemWritableFileStream=l);const c=l},60643:(e,t,r)=>{r.d(t,{Z:()=>n});const n={ReadableStream:globalThis.ReadableStream,WritableStream:globalThis.WritableStream,TransformStream:globalThis.TransformStream,DOMException:globalThis.DOMException,Blob:globalThis.Blob,File:globalThis.File}},95345:(e,t,r)=>{r.r(t),r.d(t,{FileSystemDirectoryHandle:()=>m.default,FileSystemFileHandle:()=>p.default,FileSystemHandle:()=>u.Z,FileSystemWritableFileStream:()=>y.Z,getOriginPrivateDirectory:()=>d,showDirectoryPicker:()=>i,showOpenFilePicker:()=>s,showSaveFilePicker:()=>c});const n=globalThis.showDirectoryPicker;const i=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n&&!e._preferPolyfill)return n(e);const t=document.createElement("input");t.type="file",t.webkitdirectory=!0,t.multiple=!0,t.style.position="fixed",t.style.top="-100000px",t.style.left="-100000px",document.body.appendChild(t);const i=Promise.resolve().then(r.bind(r,69758));return await new Promise((e=>{t.addEventListener("change",e),t.click()})),i.then((e=>e.getDirHandlesFromInput(t)))},a={accepts:[]},o=globalThis.showOpenFilePicker;const s=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={...a,...e};if(o&&!e._preferPolyfill)return o(t);const n=document.createElement("input");n.type="file",n.multiple=t.multiple,n.accept=(t.accepts||[]).map((e=>[...(e.extensions||[]).map((e=>"."+e)),...e.mimeTypes||[]])).flat().join(","),Object.assign(n.style,{position:"fixed",top:"-100000px",left:"-100000px"}),document.body.appendChild(n);const i=Promise.resolve().then(r.bind(r,69758));return await new Promise((e=>{n.addEventListener("change",e,{once:!0}),n.click()})),n.remove(),i.then((e=>e.getFileHandlesFromInput(n)))},l=globalThis.showSaveFilePicker;const c=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(l&&!e._preferPolyfill)return l(e);e._name&&(console.warn("deprecated _name, spec now have `suggestedName`"),e.suggestedName=e._name);const{FileSystemFileHandle:t}=await Promise.resolve().then(r.bind(r,8192)),{FileHandle:n}=await r.e(474).then(r.bind(r,60474));return new t(new n(e.suggestedName))};globalThis.DataTransferItem&&!DataTransferItem.prototype.getAsFileSystemHandle&&(DataTransferItem.prototype.getAsFileSystemHandle=async function(){const e=this.webkitGetAsEntry(),[{FileHandle:t,FolderHandle:n},{FileSystemDirectoryHandle:i},{FileSystemFileHandle:a}]=await Promise.all([r.e(3053).then(r.bind(r,13053)),Promise.resolve().then(r.bind(r,46979)),Promise.resolve().then(r.bind(r,8192))]);return e.isFile?new a(new t(e,!1)):new i(new n(e,!1))});const d=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n,i;if(!e)return(null===(n=globalThis.navigator)||void 0===n||null===(i=n.storage)||void 0===i?void 0:i.getDirectory())||globalThis.getOriginPrivateDirectory();const{FileSystemDirectoryHandle:a}=await Promise.resolve().then(r.bind(r,46979)),o=await e;return new a(await(o.default?o.default(t):o(t)))};var y=r(83885),m=r(46979),p=r(8192),u=r(93232)},69758:(e,t,r)=>{r.r(t),r.d(t,{config:()=>i,errors:()=>n,fromDataTransfer:()=>a,getDirHandlesFromInput:()=>o,getFileHandlesFromInput:()=>s});const n={INVALID:["seeking position failed.","InvalidStateError"],GONE:["A requested file or directory could not be found at the time an operation was processed.","NotFoundError"],MISMATCH:["The path supplied exists, but was not an entry of requested type.","TypeMismatchError"],MOD_ERR:["The object can not be modified in this way.","InvalidModificationError"],SYNTAX:e=>["Failed to execute 'write' on 'UnderlyingSinkBase': Invalid params passed. ".concat(e),"SyntaxError"],SECURITY:["It was determined that certain files are unsafe for access within a Web application, or that too many calls are being made on file resources.","SecurityError"],DISALLOWED:["The request is not allowed by the user agent or the platform in the current context.","NotAllowedError"]},i={writable:globalThis.WritableStream};async function a(e){console.warn("deprecated fromDataTransfer - use `dt.items[0].getAsFileSystemHandle()` instead");const[t,n,i]=await Promise.all([r.e(8005).then(r.bind(r,28005)),r.e(3053).then(r.bind(r,13053)),Promise.resolve().then(r.bind(r,46979))]),a=new t.FolderHandle("",!1);return a._entries=e.map((e=>e.isFile?new n.FileHandle(e,!1):new n.FolderHandle(e,!1))),new i.FileSystemDirectoryHandle(a)}async function o(e){const{FolderHandle:t,FileHandle:n}=await r.e(8005).then(r.bind(r,28005)),{FileSystemDirectoryHandle:i}=await Promise.resolve().then(r.bind(r,46979)),a=Array.from(e.files),o=a[0].webkitRelativePath.split("/",1)[0],s=new t(o,!1);return a.forEach((e=>{const r=e.webkitRelativePath.split("/");r.shift();const i=r.pop();r.reduce(((e,r)=>(e._entries[r]||(e._entries[r]=new t(r,!1)),e._entries[r])),s)._entries[i]=new n(e.name,e,!1)})),new i(s)}async function s(e){const{FileHandle:t}=await r.e(8005).then(r.bind(r,28005)),{FileSystemFileHandle:n}=await Promise.resolve().then(r.bind(r,8192));return Array.from(e.files).map((e=>new n(new t(e.name,e,!1))))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[5441],{5441:(e,t,o)=>{o.r(t),o.d(t,{default:()=>P});var n=o(66845),i=o(25621),s=o(72965),a=o(94206),r=o(60784),l=o(62813),d=o.n(l),c=o(50641),h=o(23849),u=o(23593),m=o(63765),g=o(87814),p=o(91191);const f={DATAFRAME_INDEX:"(index)"},v=new Set([p.GI.DatetimeIndex,p.GI.Float64Index,p.GI.Int64Index,p.GI.RangeIndex,p.GI.UInt64Index]);function b(e){var t;if(0===(null===(t=e.datasets)||void 0===t?void 0:t.length))return null;const o={};return e.datasets.forEach((e=>{if(!e)return;const t=e.hasName?e.name:null;o[t]=e.data})),o}function w(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e.isEmpty())return[];const o=[],{dataRows:n,dataColumns:i}=e.dimensions,s=p.fu.getTypeName(e.types.index[0]),a=v.has(s);for(let r=t;r<n;r++){const t={};if(a){const o=e.getIndexValue(r,0);t[f.DATAFRAME_INDEX]="bigint"===typeof o?Number(o):o}for(let o=0;o<i;o++){const n=e.getDataValue(r,o),i=e.types.data[o],s=p.fu.getTypeName(i);if("datetimetz"!==s&&(n instanceof Date||Number.isFinite(n))&&(s.startsWith("datetime")||"date"===s)){const i=60*new Date(n).getTimezoneOffset()*1e3;t[e.columns[0][o]]=n.valueOf()+i}else t[e.columns[0][o]]="bigint"===typeof n?Number(n):n}o.push(t)}return o}var y=o(96825),x=o.n(y),S=o(99394),F=o.n(S),C=o(27466);function z(e,t){const o={font:t.genericFonts.bodyFont,background:t.colors.bgColor,fieldTitle:"verbal",autosize:{type:"fit",contains:"padding"},title:{align:"left",anchor:"start",color:t.colors.headingColor,titleFontStyle:"normal",fontWeight:t.fontWeights.bold,fontSize:t.fontSizes.smPx+2,orient:"top",offset:26},header:{titleFontWeight:t.fontWeights.normal,titleFontSize:t.fontSizes.mdPx,titleColor:(0,C.Xy)(t),titleFontStyle:"normal",labelFontSize:t.fontSizes.twoSmPx,labelFontWeight:t.fontWeights.normal,labelColor:(0,C.Xy)(t),labelFontStyle:"normal"},axis:{labelFontSize:t.fontSizes.twoSmPx,labelFontWeight:t.fontWeights.normal,labelColor:(0,C.Xy)(t),labelFontStyle:"normal",titleFontWeight:t.fontWeights.normal,titleFontSize:t.fontSizes.smPx,titleColor:(0,C.Xy)(t),titleFontStyle:"normal",ticks:!1,gridColor:(0,C.ny)(t),domain:!1,domainWidth:1,domainColor:(0,C.ny)(t),labelFlush:!0,labelFlushOffset:1,labelBound:!1,labelLimit:100,titlePadding:t.spacing.lgPx,labelPadding:t.spacing.lgPx,labelSeparation:t.spacing.twoXSPx,labelOverlap:!0},legend:{labelFontSize:t.fontSizes.smPx,labelFontWeight:t.fontWeights.normal,labelColor:(0,C.Xy)(t),titleFontSize:t.fontSizes.smPx,titleFontWeight:t.fontWeights.normal,titleFontStyle:"normal",titleColor:(0,C.Xy)(t),titlePadding:5,labelPadding:t.spacing.lgPx,columnPadding:t.spacing.smPx,rowPadding:t.spacing.twoXSPx,padding:7,symbolStrokeWidth:4},range:{category:(0,C.iY)(t),diverging:(0,C.ru)(t),ramp:(0,C.Gy)(t),heatmap:(0,C.Gy)(t)},view:{columns:1,strokeWidth:0,stroke:"transparent",continuousHeight:350,continuousWidth:400,discreteHeight:350,discreteWidth:{step:20}},concat:{columns:1},facet:{columns:1},mark:{tooltip:!0,...(0,C.Iy)(t)?{color:"#0068C9"}:{color:"#83C9FF"}},bar:{binSpacing:t.spacing.twoXSPx,discreteBandSize:{band:.85}},axisDiscrete:{grid:!1},axisXPoint:{grid:!1},axisTemporal:{grid:!1},axisXBand:{grid:!1}};return e?F()({},o,e,((e,t)=>Array.isArray(t)?t:void 0)):o}const W=(0,o(1515).Z)("div",{target:"egd2k5h0"})((e=>{let{theme:t,useContainerWidth:o,isFullScreen:n}=e;return{width:o||n?"100%":"auto",height:n?"100%":"auto","&.vega-embed":{"&:hover summary, .vega-embed:focus summary":{background:"transparent"},"&.has-actions":{paddingRight:0},".vega-actions":{zIndex:t.zIndices.popupMenu,backgroundColor:t.colors.bgColor,boxShadow:"rgb(0 0 0 / 16%) 0px 4px 16px",border:"1px solid ".concat(t.colors.fadedText10),a:{fontFamily:t.genericFonts.bodyFont,fontWeight:t.fontWeights.normal,fontSize:t.fontSizes.md,margin:0,padding:"".concat(t.spacing.twoXS," ").concat(t.spacing.twoXL),color:t.colors.bodyText},"a:hover":{backgroundColor:t.colors.secondaryBg,color:t.colors.bodyText},":before":{content:"none"},":after":{content:"none"}},summary:{opacity:0,height:"auto",zIndex:t.zIndices.menuButton,border:"none",boxShadow:"none",borderRadius:t.radii.lg,color:t.colors.fadedText10,backgroundColor:"transparent",transition:"opacity 300ms 150ms,transform 300ms 150ms","&:active, &:focus-visible, &:hover":{border:"none",boxShadow:"none",color:t.colors.bodyText,opacity:"1 !important",background:t.colors.darkenedBgMix25}}}}}),"");var V=o(40864);const I="source";class D extends n.PureComponent{constructor(){super(...arguments),this.vegaView=void 0,this.vegaFinalizer=void 0,this.defaultDataName=I,this.element=null,this.formClearHelper=new g.K,this.state={error:void 0},this.finalizeView=()=>{this.vegaFinalizer&&this.vegaFinalizer(),this.vegaFinalizer=void 0,this.vegaView=void 0},this.generateSpec=()=>{var e,t;const{element:o,theme:n,isFullScreen:i,width:s,height:a}=this.props,r=JSON.parse(o.spec),{useContainerWidth:l}=o;if("streamlit"===o.vegaLiteTheme?r.config=z(r.config,n):"streamlit"===(null===(e=r.usermeta)||void 0===e||null===(t=e.embedOptions)||void 0===t?void 0:t.theme)?(r.config=z(r.config,n),r.usermeta.embedOptions.theme=void 0):r.config=function(e,t){const{colors:o,fontSizes:n,genericFonts:i}=t,s={labelFont:i.bodyFont,titleFont:i.bodyFont,labelFontSize:n.twoSmPx,titleFontSize:n.twoSmPx},a={background:o.bgColor,axis:{labelColor:o.bodyText,titleColor:o.bodyText,gridColor:(0,C.ny)(t),...s},legend:{labelColor:o.bodyText,titleColor:o.bodyText,...s},title:{color:o.bodyText,subtitleColor:o.bodyText,...s},header:{labelColor:o.bodyText,titleColor:o.bodyText,...s},view:{stroke:(0,C.ny)(t),continuousHeight:350,continuousWidth:400,discreteHeight:350,discreteWidth:{step:20}},mark:{tooltip:!0}};return e?x()({},a,e):a}(r.config,n),i?(r.width=s,r.height=a,"vconcat"in r&&r.vconcat.forEach((e=>{e.width=s}))):l&&(r.width=s,"vconcat"in r&&r.vconcat.forEach((e=>{e.width=s}))),r.padding||(r.padding={}),null==r.padding.bottom&&(r.padding.bottom=20),r.datasets)throw new Error("Datasets should not be passed as part of the spec");return o.selectionMode.length>0&&function(e){"params"in e&&"encoding"in e&&e.params.forEach((t=>{"select"in t&&(["interval","point"].includes(t.select)&&(t.select={type:t.select}),"type"in t.select&&"point"===t.select.type&&!("encodings"in t.select)&&(0,c.le)(t.select.encodings)&&(t.select.encodings=Object.keys(e.encoding)))}))}(r),r},this.maybeConfigureSelections=()=>{if(void 0===this.vegaView)return;const{widgetMgr:e,element:t}=this.props;if(null===t||void 0===t||!t.id||0===t.selectionMode.length)return;const o=e.getElementState(this.props.element.id,"viewState");if((0,c.bb)(o))try{this.vegaView=this.vegaView.setState(o)}catch(i){(0,h.KE)("Failed to restore view state",i)}t.selectionMode.forEach(((o,n)=>{var i;null===(i=this.vegaView)||void 0===i||i.addSignalListener(o,(0,c.Ds)(150,((o,n)=>{var i;const s=null===(i=this.vegaView)||void 0===i?void 0:i.getState({data:(e,o)=>t.selectionMode.some((t=>"".concat(t,"_store")===e)),recurse:!1});(0,c.bb)(s)&&e.setElementState(t.id,"viewState",s);let a=n;"vlPoint"in n&&"or"in n.vlPoint&&(a=n.vlPoint.or);const r=JSON.parse(e.getStringValue(t)||"{}"),l={selection:{...(null===r||void 0===r?void 0:r.selection)||{},[o]:a||{}}};d()(r,l)||e.setStringValue(t,JSON.stringify(l),{fromUi:!0},this.props.fragmentId)})))}));const n=()=>{const o={selection:{}};this.props.element.selectionMode.forEach((e=>{o.selection[e]={}}));const n=e.getStringValue(t),i=n?JSON.parse(n):o;var s;d()(i,o)||(null===(s=this.props.widgetMgr)||void 0===s||s.setStringValue(this.props.element,JSON.stringify(o),{fromUi:!0},this.props.fragmentId))};this.props.element.formId&&this.formClearHelper.manageFormClearListener(this.props.widgetMgr,this.props.element.formId,n)}}async componentDidMount(){try{await this.createView()}catch(e){const t=(0,m.b)(e);this.setState({error:t})}}componentWillUnmount(){this.finalizeView()}async componentDidUpdate(e){const{element:t,theme:o}=e,{element:n,theme:i}=this.props,s=t.spec,{spec:a}=n;if(!this.vegaView||s!==a||o!==i||e.width!==this.props.width||e.height!==this.props.height||e.element.vegaLiteTheme!==this.props.element.vegaLiteTheme||!d()(e.element.selectionMode,this.props.element.selectionMode)){(0,h.ji)("Vega spec changed.");try{await this.createView()}catch(g){const e=(0,m.b)(g);this.setState({error:e})}return}const r=t.data,{data:l}=n;(r||l)&&this.updateData(this.defaultDataName,r,l);const c=b(t)||{},u=b(n)||{};for(const[d,h]of Object.entries(u)){const e=d||this.defaultDataName,t=c[e];this.updateData(e,t,h)}for(const d of Object.keys(c))u.hasOwnProperty(d)||d===this.defaultDataName||this.updateData(d,null,null);this.vegaView.resize().runAsync()}updateData(e,t,o){if(!this.vegaView)throw new Error("Chart has not been drawn yet");if(!o||0===o.data.numRows)try{this.vegaView.remove(e,a.truthy)}finally{return}if(!t||0===t.data.numRows)return void this.vegaView.insert(e,w(o));const{dataRows:n,dataColumns:i}=t.dimensions,{dataRows:s,dataColumns:r}=o.dimensions;!function(e,t,o,n,i,s){if(o!==s)return!1;if(t>=i)return!1;if(0===t)return!1;const a=s-1,r=t-1;return e.getDataValue(0,a)===n.getDataValue(0,a)&&e.getDataValue(r,a)===n.getDataValue(r,a)}(t,n,i,o,s,r)?(this.vegaView.data(e,w(o)),(0,h.ji)("Had to clear the ".concat(e," dataset before inserting data through Vega view."))):n<s&&this.vegaView.insert(e,w(o,n))}async createView(){if((0,h.ji)("Creating a new Vega view."),!this.element)throw Error("Element missing.");this.finalizeView();const{element:e}=this.props,t=this.generateSpec(),o={ast:!0,expr:r.N,tooltip:{disableDefaultStyle:!0},defaultStyle:!1,forceActionsMenu:!0},{vgSpec:n,view:i,finalize:a}=await(0,s.ZP)(this.element,t,o);this.vegaView=i,this.maybeConfigureSelections(),this.vegaFinalizer=a;const l=function(e){const t=b(e);if(null==t)return null;const o={};for(const[n,i]of Object.entries(t))o[n]=w(i);return o}(e),d=l?Object.keys(l):[];if(1===d.length){const[e]=d;this.defaultDataName=e}else 0===d.length&&n.data&&(this.defaultDataName=I);const c=function(e){const t=e.data;return t&&0!==t.data.numRows?w(t):null}(e);if(c&&i.insert(this.defaultDataName,c),l)for(const[s,r]of Object.entries(l))i.insert(s,r);await i.runAsync(),this.vegaView.resize().runAsync()}render(){if(this.state.error)throw this.state.error;return(0,V.jsx)(W,{"data-testid":"stArrowVegaLiteChart",useContainerWidth:this.props.element.useContainerWidth,isFullScreen:this.props.isFullScreen,ref:e=>{this.element=e}})}}const P=(0,i.b)((0,u.Z)(D))},23593:(e,t,o)=>{o.d(t,{Z:()=>v});var n=o(66845),i=o(13005),s=o.n(i),a=o(25621),r=o(82218),l=o(97781),d=o(46927),c=o(66694),h=o(1515);const u=(0,h.Z)("button",{target:"e1vs0wn31"})((e=>{let{isExpanded:t,theme:o}=e;const n=t?{right:"0.4rem",top:"0.5rem",backgroundColor:"transparent"}:{right:"-3.0rem",top:"-0.375rem",opacity:0,transform:"scale(0)",backgroundColor:o.colors.lightenedBg05};return{position:"absolute",display:"flex",alignItems:"center",justifyContent:"center",zIndex:o.zIndices.sidebar+1,height:"2.5rem",width:"2.5rem",transition:"opacity 300ms 150ms, transform 300ms 150ms",border:"none",color:o.colors.fadedText60,borderRadius:"50%",...n,"&:focus":{outline:"none"},"&:active, &:focus-visible, &:hover":{opacity:1,outline:"none",transform:"scale(1)",color:o.colors.bodyText,transition:"none"}}}),""),m=(0,h.Z)("div",{target:"e1vs0wn30"})((e=>{let{theme:t,isExpanded:o}=e;return{"&:hover":{[u]:{opacity:1,transform:"scale(1)",transition:"none"}},...o?{position:"fixed",top:0,left:0,bottom:0,right:0,background:t.colors.bgColor,zIndex:t.zIndices.fullscreenWrapper,padding:t.spacing.md,paddingTop:"2.875rem",overflow:["auto","overlay"],display:"flex",alignItems:"center",justifyContent:"center"}:{}}}),"");var g=o(40864);class p extends n.PureComponent{constructor(e){super(e),this.context=void 0,this.controlKeys=e=>{const{expanded:t}=this.state;27===e.keyCode&&t&&this.zoomOut()},this.zoomIn=()=>{document.body.style.overflow="hidden",this.context.setFullScreen(!0),this.setState({expanded:!0})},this.zoomOut=()=>{document.body.style.overflow="unset",this.context.setFullScreen(!1),this.setState({expanded:!1})},this.convertScssRemValueToPixels=e=>parseFloat(e)*parseFloat(getComputedStyle(document.documentElement).fontSize),this.getWindowDimensions=()=>{const e=this.convertScssRemValueToPixels(this.props.theme.spacing.md),t=this.convertScssRemValueToPixels("2.875rem");return{fullWidth:window.innerWidth-2*e,fullHeight:window.innerHeight-(e+t)}},this.updateWindowDimensions=()=>{this.setState(this.getWindowDimensions())},this.state={expanded:!1,...this.getWindowDimensions()}}componentDidMount(){window.addEventListener("resize",this.updateWindowDimensions),document.addEventListener("keydown",this.controlKeys,!1)}componentWillUnmount(){window.removeEventListener("resize",this.updateWindowDimensions),document.removeEventListener("keydown",this.controlKeys,!1)}render(){const{expanded:e,fullWidth:t,fullHeight:o}=this.state,{children:n,width:i,height:s,disableFullscreenMode:a}=this.props;let c=r.d,h=this.zoomIn,p="View fullscreen";return e&&(c=l.m,h=this.zoomOut,p="Exit fullscreen"),(0,g.jsxs)(m,{isExpanded:e,"data-testid":"stFullScreenFrame",children:[!a&&(0,g.jsx)(u,{"data-testid":"StyledFullScreenButton",onClick:h,title:p,isExpanded:e,children:(0,g.jsx)(d.Z,{content:c})}),n(e?{width:t,height:o,expanded:e,expand:this.zoomIn,collapse:this.zoomOut}:{width:i,height:s,expanded:e,expand:this.zoomIn,collapse:this.zoomOut})]})}}p.contextType=c.E;const f=(0,a.b)(p);const v=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];class o extends n.PureComponent{constructor(){super(...arguments),this.render=()=>{const{width:o,height:n,disableFullscreenMode:i}=this.props;return(0,g.jsx)(f,{width:o,height:n,disableFullscreenMode:t||i,children:t=>{let{width:o,height:n,expanded:i,expand:s,collapse:a}=t;return(0,g.jsx)(e,{...this.props,width:o,height:n,isFullScreen:i,expand:s,collapse:a})}})}}}return o.displayName="withFullScreenWrapper(".concat(e.displayName||e.name,")"),s()(o,e)}},87814:(e,t,o)=>{o.d(t,{K:()=>i});var n=o(50641);class i{constructor(){this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}manageFormClearListener(e,t,o){null!=this.formClearListener&&this.lastWidgetMgr===e&&this.lastFormId===t||(this.disconnect(),(0,n.bM)(t)&&(this.formClearListener=e.addFormClearedListener(t,o),this.lastWidgetMgr=e,this.lastFormId=t))}disconnect(){var e;null===(e=this.formClearListener)||void 0===e||e.disconnect(),this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[8148],{23593:(e,t,n)=>{n.d(t,{Z:()=>b});var i=n(66845),o=n(13005),l=n.n(o),r=n(25621),a=n(82218),s=n(97781),d=n(46927),c=n(66694),u=n(1515);const m=(0,u.Z)("button",{target:"e1vs0wn31"})((e=>{let{isExpanded:t,theme:n}=e;const i=t?{right:"0.4rem",top:"0.5rem",backgroundColor:"transparent"}:{right:"-3.0rem",top:"-0.375rem",opacity:0,transform:"scale(0)",backgroundColor:n.colors.lightenedBg05};return{position:"absolute",display:"flex",alignItems:"center",justifyContent:"center",zIndex:n.zIndices.sidebar+1,height:"2.5rem",width:"2.5rem",transition:"opacity 300ms 150ms, transform 300ms 150ms",border:"none",color:n.colors.fadedText60,borderRadius:"50%",...i,"&:focus":{outline:"none"},"&:active, &:focus-visible, &:hover":{opacity:1,outline:"none",transform:"scale(1)",color:n.colors.bodyText,transition:"none"}}}),""),h=(0,u.Z)("div",{target:"e1vs0wn30"})((e=>{let{theme:t,isExpanded:n}=e;return{"&:hover":{[m]:{opacity:1,transform:"scale(1)",transition:"none"}},...n?{position:"fixed",top:0,left:0,bottom:0,right:0,background:t.colors.bgColor,zIndex:t.zIndices.fullscreenWrapper,padding:t.spacing.md,paddingTop:"2.875rem",overflow:["auto","overlay"],display:"flex",alignItems:"center",justifyContent:"center"}:{}}}),"");var p=n(40864);class g extends i.PureComponent{constructor(e){super(e),this.context=void 0,this.controlKeys=e=>{const{expanded:t}=this.state;27===e.keyCode&&t&&this.zoomOut()},this.zoomIn=()=>{document.body.style.overflow="hidden",this.context.setFullScreen(!0),this.setState({expanded:!0})},this.zoomOut=()=>{document.body.style.overflow="unset",this.context.setFullScreen(!1),this.setState({expanded:!1})},this.convertScssRemValueToPixels=e=>parseFloat(e)*parseFloat(getComputedStyle(document.documentElement).fontSize),this.getWindowDimensions=()=>{const e=this.convertScssRemValueToPixels(this.props.theme.spacing.md),t=this.convertScssRemValueToPixels("2.875rem");return{fullWidth:window.innerWidth-2*e,fullHeight:window.innerHeight-(e+t)}},this.updateWindowDimensions=()=>{this.setState(this.getWindowDimensions())},this.state={expanded:!1,...this.getWindowDimensions()}}componentDidMount(){window.addEventListener("resize",this.updateWindowDimensions),document.addEventListener("keydown",this.controlKeys,!1)}componentWillUnmount(){window.removeEventListener("resize",this.updateWindowDimensions),document.removeEventListener("keydown",this.controlKeys,!1)}render(){const{expanded:e,fullWidth:t,fullHeight:n}=this.state,{children:i,width:o,height:l,disableFullscreenMode:r}=this.props;let c=a.d,u=this.zoomIn,g="View fullscreen";return e&&(c=s.m,u=this.zoomOut,g="Exit fullscreen"),(0,p.jsxs)(h,{isExpanded:e,"data-testid":"stFullScreenFrame",children:[!r&&(0,p.jsx)(m,{"data-testid":"StyledFullScreenButton",onClick:u,title:g,isExpanded:e,children:(0,p.jsx)(d.Z,{content:c})}),i(e?{width:t,height:n,expanded:e,expand:this.zoomIn,collapse:this.zoomOut}:{width:o,height:l,expanded:e,expand:this.zoomIn,collapse:this.zoomOut})]})}}g.contextType=c.E;const f=(0,r.b)(g);const b=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];class n extends i.PureComponent{constructor(){super(...arguments),this.render=()=>{const{width:n,height:i,disableFullscreenMode:o}=this.props;return(0,p.jsx)(f,{width:n,height:i,disableFullscreenMode:t||o,children:t=>{let{width:n,height:i,expanded:o,expand:l,collapse:r}=t;return(0,p.jsx)(e,{...this.props,width:n,height:i,isFullScreen:o,expand:l,collapse:r})}})}}}return n.displayName="withFullScreenWrapper(".concat(e.displayName||e.name,")"),l()(n,e)}},75064:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ft});var i=n(66845),o=n(67930),l=n(78170),r=n(17330),a=n(20545),s=n(57463),d=n(97943),c=n(41342),u=n(17875),m=n(87814),h=n(23593),p=n(16295),g=n(50641),f=n(25621),b=n(34367),v=n(31011),y=n(63730),w=n(68411),x=n(9003),C=n(81354),E=n(46927),S=n(1515),M=n(27466);const k=(0,S.Z)("div",{target:"e2wxzia1"})((e=>{let{theme:t,locked:n,target:i}=e;return{padding:"0.5rem 0 0.5rem 0.5rem",position:"absolute",top:n?"-2.4rem":"-1rem",right:t.spacing.none,transition:"none",...!n&&{opacity:0,"&:active, &:focus-visible, &:hover":{transition:"opacity 150ms 100ms, top 100ms 100ms",opacity:1,top:"-2.4rem"},...i&&{["".concat(i,":hover &, ").concat(i,":active &, ").concat(i,":focus-visible &")]:{transition:"opacity 150ms 100ms, top 100ms 100ms",opacity:1,top:"-2.4rem"}}}}}),""),T=(0,S.Z)("div",{target:"e2wxzia0"})((e=>{let{theme:t}=e;return{color:(0,M.Iy)(t)?t.colors.fadedText60:t.colors.bodyText,display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"flex-end",boxShadow:"1px 2px 8px rgba(0, 0, 0, 0.08)",borderRadius:t.radii.lg,backgroundColor:t.colors.lightenedBg05,width:"fit-content",zIndex:t.zIndices.sidebar+1}}),"");var R=n(40864);function N(e){let{label:t,show_label:n,icon:i,onClick:o}=e;const l=(0,f.u)(),r=n?t:"";return(0,R.jsx)("div",{"data-testid":"stElementToolbarButton",children:(0,R.jsx)(w.Z,{content:(0,R.jsx)(y.ZP,{source:t,allowHTML:!1,style:{fontSize:l.fontSizes.sm}}),placement:w.u.TOP,onMouseEnterDelay:1e3,inline:!0,children:(0,R.jsxs)(x.ZP,{onClick:e=>{o&&o(),e.stopPropagation()},kind:C.nW.ELEMENT_TOOLBAR,children:[i&&(0,R.jsx)(E.Z,{content:i,size:"md",testid:"stElementToolbarButtonIcon"}),r&&(0,R.jsx)("span",{children:r})]})})})}const I=e=>{let{onExpand:t,onCollapse:n,isFullScreen:i,locked:o,children:l,target:r,disableFullscreenMode:a}=e;return(0,R.jsx)(k,{className:"stElementToolbar","data-testid":"stElementToolbar",locked:o||i,target:r,children:(0,R.jsxs)(T,{children:[l,t&&!a&&!i&&(0,R.jsx)(N,{label:"Fullscreen",icon:b.i,onClick:()=>t()}),n&&!a&&i&&(0,R.jsx)(N,{label:"Close fullscreen",icon:v.m,onClick:()=>n()})]})})};var _=n(66694),O=n(38145),D=n.n(O),A=n(96825),F=n.n(A),z=n(29724),V=n.n(z),H=n(52347),L=n(53608),W=n.n(L),j=(n(87717),n(55842),n(91191));const B=["true","t","yes","y","on","1"],P=["false","f","no","n","off","0"];function Z(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e="\u26a0\ufe0f ".concat(e),{kind:o.p6.Text,readonly:!0,allowOverlay:!0,data:e+(t?"\n\n".concat(t,"\n"):""),displayData:e,isError:!0}}function Y(e){return e.hasOwnProperty("isError")&&e.isError}function U(e){return e.hasOwnProperty("isMissingValue")&&e.isMissingValue}function q(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]?{kind:o.p6.Loading,allowOverlay:!1,isMissingValue:!0}:{kind:o.p6.Loading,allowOverlay:!1}}function J(e,t){const n=t?"faded":"normal";return{kind:o.p6.Text,data:"",displayData:"",allowOverlay:!0,readonly:e,style:n}}function K(e){return{id:e.id,title:e.title,hasMenu:!1,themeOverride:e.themeOverride,icon:e.icon,...e.isStretched&&{grow:e.isIndex?1:3},...e.width&&{width:e.width}}}function G(e,t){return(0,g.le)(e)?t||{}:(0,g.le)(t)?e||{}:F()(e,t)}function X(e){if((0,g.le)(e))return[];if("number"===typeof e||"boolean"===typeof e)return[e];if("string"===typeof e){if(""===e)return[];if(!e.trim().startsWith("[")||!e.trim().endsWith("]"))return e.split(",");try{return JSON.parse(e)}catch(t){return[e]}}try{const t=JSON.parse(JSON.stringify(e,((e,t)=>"bigint"===typeof t?Number(t):t)));return Array.isArray(t)?t.map((e=>["string","number","boolean","null"].includes(typeof e)?e:Q(e))):[Q(t)]}catch(t){return[Q(e)]}}function Q(e){try{try{return D()(e)}catch(t){return JSON.stringify(e,((e,t)=>"bigint"===typeof t?Number(t):t))}}catch(t){return"[".concat(typeof e,"]")}}function $(e){if((0,g.le)(e))return null;if("boolean"===typeof e)return e;const t=Q(e).toLowerCase().trim();return""===t?null:!!B.includes(t)||!P.includes(t)&&void 0}function ee(e){if((0,g.le)(e))return null;if(Array.isArray(e))return NaN;if("string"===typeof e){if(0===e.trim().length)return null;try{const t=V().unformat(e.trim());if((0,g.bb)(t))return t}catch(t){}}else if(e instanceof Int32Array)return Number(e[0]);return Number(e)}function te(e,t,n){return Number.isNaN(e)||!Number.isFinite(e)?"":(0,g.le)(t)||""===t?(0===n&&(e=Math.round(e)),V()(e).format((0,g.bb)(n)?"0,0.".concat("0".repeat(n)):"0,0.[0000]")):"percent"===t?new Intl.NumberFormat(void 0,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2}).format(e):["compact","scientific","engineering"].includes(t)?new Intl.NumberFormat(void 0,{notation:t}).format(e):"duration[ns]"===t?W().duration(e/1e6,"milliseconds").humanize():t.startsWith("period[")?j.fu.formatPeriodType(BigInt(e),t):(0,H.sprintf)(t,e)}function ne(e,t){return"locale"===t?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"medium"}).format(e.toDate()):"distance"===t?e.fromNow():"relative"===t?e.calendar():e.format(t)}function ie(e){if((0,g.le)(e))return null;if(e instanceof Date)return isNaN(e.getTime())?void 0:e;if("string"===typeof e&&0===e.trim().length)return null;try{const t=Number(e);if(!isNaN(t)){let e=t;t>=10**18?e=t/1e3**3:t>=10**15?e=t/1e6:t>=10**12&&(e=t/1e3);const n=W().unix(e).utc();if(n.isValid())return n.toDate()}if("string"===typeof e){const t=W().utc(e);if(t.isValid())return t.toDate();const n=W().utc(e,[W().HTML5_FMT.TIME_MS,W().HTML5_FMT.TIME_SECONDS,W().HTML5_FMT.TIME]);if(n.isValid())return n.toDate()}}catch(t){return}}function oe(e){if(e%1===0)return 0;let t=e.toString();return-1!==t.indexOf("e")&&(t=e.toLocaleString("fullwide",{useGrouping:!1,maximumFractionDigits:20})),-1===t.indexOf(".")?0:t.split(".")[1].length}const le=new RegExp(/(\r\n|\n|\r)/gm);function re(e){return-1!==e.indexOf("\n")?e.replace(le," "):e}var ae=n(23849);function se(e){const t={kind:o.p6.Text,data:"",displayData:"",allowOverlay:!0,contentAlignment:e.contentAlignment,readonly:!0,style:e.isIndex?"faded":"normal"};return{...e,kind:"object",sortMode:"default",isEditable:!1,getCell(e){try{const n=(0,g.bb)(e)?Q(e):null,i=(0,g.bb)(n)?re(n):"";return{...t,data:n,displayData:i,isMissingValue:(0,g.le)(e)}}catch(n){return Z(Q(e),"The value cannot be interpreted as a string. Error: ".concat(n))}},getCellValue:e=>void 0===e.data?null:e.data}}se.isEditableType=!1;const de=se;function ce(e){const t=e.columnTypeOptions||{};let n;if(t.validate)try{n=new RegExp(t.validate,"us")}catch(r){n="Invalid validate regex: ".concat(t.validate,".\nError: ").concat(r)}const i={kind:o.p6.Text,data:"",displayData:"",allowOverlay:!0,contentAlignment:e.contentAlignment,readonly:!e.isEditable,style:e.isIndex?"faded":"normal"},l=i=>{if((0,g.le)(i))return!e.isRequired;let o=Q(i),l=!1;return t.max_chars&&o.length>t.max_chars&&(o=o.slice(0,t.max_chars),l=!0),!(n instanceof RegExp&&!1===n.test(o))&&(!l||o)};return{...e,kind:"text",sortMode:"default",validateInput:l,getCell(e,t){if("string"===typeof n)return Z(Q(e),n);if(t){const t=l(e);if(!1===t)return Z(Q(e),"Invalid input.");"string"===typeof t&&(e=t)}try{const t=(0,g.bb)(e)?Q(e):null,n=(0,g.bb)(t)?re(t):"";return{...i,isMissingValue:(0,g.le)(t),data:t,displayData:n}}catch(r){return Z("Incompatible value","The value cannot be interpreted as string. Error: ".concat(r))}},getCellValue:e=>void 0===e.data?null:e.data}}ce.isEditableType=!0;const ue=ce;function me(e,t){return e=t.startsWith("+")||t.startsWith("-")?e.utcOffset(t,!1):e.tz(t)}function he(e,t,n,i,l,r,a){var s;const d=G({format:n,step:i,timezone:a},t.columnTypeOptions);let c,u,m;if((0,g.bb)(d.timezone))try{var h;c=(null===(h=me(W()(),d.timezone))||void 0===h?void 0:h.utcOffset())||void 0}catch(b){}(0,g.bb)(d.min_value)&&(u=ie(d.min_value)||void 0),(0,g.bb)(d.max_value)&&(m=ie(d.max_value)||void 0);const p={kind:o.p6.Custom,allowOverlay:!0,copyData:"",readonly:!t.isEditable,contentAlign:t.contentAlignment,style:t.isIndex?"faded":"normal",data:{kind:"date-picker-cell",date:void 0,displayDate:"",step:(null===(s=d.step)||void 0===s?void 0:s.toString())||"1",format:l,min:u,max:m}},f=e=>{const n=ie(e);return null===n?!t.isRequired:void 0!==n&&(!((0,g.bb)(u)&&r(n)<r(u))&&!((0,g.bb)(m)&&r(n)>r(m)))};return{...t,kind:e,sortMode:"default",validateInput:f,getCell(e,t){if(!0===t){const t=f(e);if(!1===t)return Z(Q(e),"Invalid input.");t instanceof Date&&(e=t)}const i=ie(e);let o="",l="",r=c;if(void 0===i)return Z(Q(e),"The value cannot be interpreted as a datetime object.");if(null!==i){let e=W().utc(i);if(!e.isValid())return Z(Q(i),"This should never happen. Please report this bug. \nError: ".concat(e.toString()));if(d.timezone){try{e=me(e,d.timezone)}catch(b){return Z(e.toISOString(),"Failed to adjust to the provided timezone: ".concat(d.timezone,". \nError: ").concat(b))}r=e.utcOffset()}try{l=ne(e,d.format||n)}catch(b){return Z(e.toISOString(),"Failed to format the date for rendering with: ".concat(d.format,". \nError: ").concat(b))}o=ne(e,n)}return{...p,copyData:o,isMissingValue:(0,g.le)(i),data:{...p.data,date:i,displayDate:l,timezoneOffset:r}}},getCellValue(e){var t;return(0,g.le)(null===e||void 0===e||null===(t=e.data)||void 0===t?void 0:t.date)?null:r(e.data.date)}}}function pe(e){var t,n,i,o,l;let r="YYYY-MM-DD HH:mm:ss";(null===(t=e.columnTypeOptions)||void 0===t?void 0:t.step)>=60?r="YYYY-MM-DD HH:mm":(null===(n=e.columnTypeOptions)||void 0===n?void 0:n.step)<1&&(r="YYYY-MM-DD HH:mm:ss.SSS");const a=null===(i=e.arrowType)||void 0===i||null===(o=i.meta)||void 0===o?void 0:o.timezone,s=(0,g.bb)(a)||(0,g.bb)(null===e||void 0===e||null===(l=e.columnTypeOptions)||void 0===l?void 0:l.timezone);return he("datetime",e,s?r+"Z":r,1,"datetime-local",(e=>s?e.toISOString():e.toISOString().replace("Z","")),a)}function ge(e){var t,n;let i="HH:mm:ss";return(null===(t=e.columnTypeOptions)||void 0===t?void 0:t.step)>=60?i="HH:mm":(null===(n=e.columnTypeOptions)||void 0===n?void 0:n.step)<1&&(i="HH:mm:ss.SSS"),he("time",e,i,1,"time",(e=>e.toISOString().split("T")[1].replace("Z","")))}function fe(e){return he("date",e,"YYYY-MM-DD",1,"date",(e=>e.toISOString().split("T")[0]))}function be(e){const t={kind:o.p6.Boolean,data:!1,allowOverlay:!1,contentAlign:e.contentAlignment,readonly:!e.isEditable,style:e.isIndex?"faded":"normal"};return{...e,kind:"checkbox",sortMode:"default",getCell(e){let n=null;return n=$(e),void 0===n?Z(Q(e),"The value cannot be interpreted as boolean."):{...t,data:n,isMissingValue:(0,g.le)(n)}},getCellValue:e=>void 0===e.data?null:e.data}}pe.isEditableType=!0,ge.isEditableType=!0,fe.isEditableType=!0,be.isEditableType=!0;const ve=be;function ye(e){return e.startsWith("int")&&!e.startsWith("interval")||"range"===e||e.startsWith("uint")}function we(e){const t=j.fu.getTypeName(e.arrowType);let n;"timedelta64[ns]"===t?n="duration[ns]":t.startsWith("period[")&&(n=t);const i=G({step:ye(t)?1:void 0,min_value:t.startsWith("uint")?0:void 0,format:n},e.columnTypeOptions),l=(0,g.le)(i.min_value)||i.min_value<0,r=(0,g.bb)(i.step)&&!Number.isNaN(i.step)?oe(i.step):void 0,a={kind:o.p6.Number,data:void 0,displayData:"",readonly:!e.isEditable,allowOverlay:!0,contentAlign:e.contentAlignment||"right",style:e.isIndex?"faded":"normal",allowNegative:l,fixedDecimals:r},s=t=>{let n=ee(t);if((0,g.le)(n))return!e.isRequired;if(Number.isNaN(n))return!1;let o=!1;return(0,g.bb)(i.max_value)&&n>i.max_value&&(n=i.max_value,o=!0),!((0,g.bb)(i.min_value)&&n<i.min_value)&&(!o||n)};return{...e,kind:"number",sortMode:"smart",validateInput:s,getCell(e,t){if(!0===t){const t=s(e);if(!1===t)return Z(Q(e),"Invalid input.");"number"===typeof t&&(e=t)}let n=ee(e),o="";if((0,g.bb)(n)){if(Number.isNaN(n))return Z(Q(e),"The value cannot be interpreted as a number.");if((0,g.bb)(r)&&(l=n,n=0===(d=r)?Math.trunc(l):Math.trunc(l*10**d)/10**d),Number.isInteger(n)&&!Number.isSafeInteger(n))return Z(Q(e),"The value is larger than the maximum supported integer values in number columns (2^53).");try{o=te(n,i.format,r)}catch(c){return Z(Q(n),(0,g.bb)(i.format)?"Failed to format the number based on the provided format configuration: (".concat(i.format,"). Error: ").concat(c):"Failed to format the number. Error: ".concat(c))}}var l,d;return{...a,data:n,displayData:o,isMissingValue:(0,g.le)(n)}},getCellValue:e=>void 0===e.data?null:e.data}}we.isEditableType=!0;const xe=we;function Ce(e){let t="string";const n=G({options:"bool"===j.fu.getTypeName(e.arrowType)?[!0,!1]:[]},e.columnTypeOptions),i=new Set(n.options.map((e=>typeof e)));1===i.size&&(i.has("number")||i.has("bigint")?t="number":i.has("boolean")&&(t="boolean"));const l={kind:o.p6.Custom,allowOverlay:!0,copyData:"",contentAlign:e.contentAlignment,readonly:!e.isEditable,data:{kind:"dropdown-cell",allowedValues:[...!0!==e.isRequired?[null]:[],...n.options.filter((e=>null!==e&&""!==e)).map((e=>Q(e)))],value:"",readonly:!e.isEditable}};return{...e,kind:"selectbox",sortMode:"default",getCell(e,t){let n=null;return(0,g.bb)(e)&&""!==e&&(n=Q(e)),t&&!l.data.allowedValues.includes(n)?Z(Q(n),"The value is not part of the allowed options."):{...l,isMissingValue:null===n,copyData:n||"",data:{...l.data,value:n}}},getCellValue(e){var n,i,o,l,r,a,s;return(0,g.le)(null===(n=e.data)||void 0===n?void 0:n.value)||""===(null===(i=e.data)||void 0===i?void 0:i.value)?null:"number"===t?null!==(l=ee(null===(r=e.data)||void 0===r?void 0:r.value))&&void 0!==l?l:null:"boolean"===t?null!==(a=$(null===(s=e.data)||void 0===s?void 0:s.value))&&void 0!==a?a:null:null===(o=e.data)||void 0===o?void 0:o.value}}}Ce.isEditableType=!0;const Ee=Ce;function Se(e){const t={kind:o.p6.Bubble,data:[],allowOverlay:!0,contentAlign:e.contentAlignment,style:e.isIndex?"faded":"normal"};return{...e,kind:"list",sortMode:"default",isEditable:!1,getCell(e){const n=(0,g.le)(e)?[]:X(e);return{...t,data:n,isMissingValue:(0,g.le)(e),copyData:(0,g.le)(e)?"":Q(n.map((e=>"string"===typeof e&&e.includes(",")?e.replace(/,/g," "):e)))}},getCellValue:e=>(0,g.le)(e.data)||U(e)?null:e.data}}Se.isEditableType=!1;const Me=Se;function ke(e,t,n){const i=new RegExp("".concat(e,"[,\\s].*{(?:[^}]*[\\s;]{1})?").concat(t,":\\s*([^;}]+)[;]?.*}"),"gm");n=n.replace(/{/g," {");const o=i.exec(n);if(o)return o[1].trim()}function Te(e,t){const n=e.types.index[t],i=e.indexNames[t];let o=!0;return"range"===j.fu.getTypeName(n)&&(o=!1),{id:"index-".concat(t),name:i,title:i,isEditable:o,arrowType:n,isIndex:!0,isHidden:!1}}function Re(e,t){const n=e.columns[0][t];let i,o=e.types.data[t];if((0,g.le)(o)&&(o={meta:null,numpy_type:"object",pandas_type:"object"}),"categorical"===j.fu.getTypeName(o)){const n=e.getCategoricalOptions(t);(0,g.bb)(n)&&(i={options:n})}return{id:"column-".concat(n,"-").concat(t),name:n,title:n,isEditable:!0,arrowType:o,columnTypeOptions:i,isIndex:!1,isHidden:!1}}function Ne(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const i=e.arrowType?j.fu.getTypeName(e.arrowType):null;let l;if("object"===e.kind)l=e.getCell((0,g.bb)(t.content)?re(j.fu.format(t.content,t.contentType,t.field)):null);else if(["time","date","datetime"].includes(e.kind)&&(0,g.bb)(t.content)&&("number"===typeof t.content||"bigint"===typeof t.content)){var r,a;let n;var s,d,c;if("time"===i&&(0,g.bb)(null===(r=t.field)||void 0===r||null===(a=r.type)||void 0===a?void 0:a.unit))n=W().unix(j.fu.convertToSeconds(t.content,null!==(s=null===(d=t.field)||void 0===d||null===(c=d.type)||void 0===c?void 0:c.unit)&&void 0!==s?s:0)).utc().toDate();else n=W().utc(Number(t.content)).toDate();l=e.getCell(n)}else if("decimal"===i){const n=(0,g.le)(t.content)?null:j.fu.format(t.content,t.contentType,t.field);l=e.getCell(n)}else l=e.getCell(t.content);if(Y(l))return l;if(!e.isEditable){if((0,g.bb)(t.displayContent)){var u;const e=re(t.displayContent);l.kind===o.p6.Text||l.kind===o.p6.Number||l.kind===o.p6.Uri?l={...l,displayData:e}:l.kind===o.p6.Custom&&"date-picker-cell"===(null===(u=l.data)||void 0===u?void 0:u.kind)&&(l={...l,data:{...l.data,displayDate:e}})}n&&t.cssId&&(l=function(e,t,n){const i={},o=ke(t,"color",n);o&&(i.textDark=o);const l=ke(t,"background-color",n);return l&&(i.bgCell=l),"yellow"===l&&void 0===o&&(i.textDark="#31333F"),i?{...e,themeOverride:i}:e}(l,t.cssId,n))}return l}function Ie(e){const t=e.columnTypeOptions||{};let n,i;if(t.validate)try{n=new RegExp(t.validate,"us")}catch(a){n="Invalid validate regex: ".concat(t.validate,".\nError: ").concat(a)}if(!(0,g.le)(t.display_text)&&t.display_text.includes("(")&&t.display_text.includes(")"))try{i=new RegExp(t.display_text,"us")}catch(a){i=void 0}const l={kind:o.p6.Uri,readonly:!e.isEditable,allowOverlay:!0,contentAlign:e.contentAlignment,style:e.isIndex?"faded":"normal",hoverEffect:!0,data:"",displayData:"",copyData:""},r=i=>{if((0,g.le)(i))return!e.isRequired;const o=Q(i);return!(t.max_chars&&o.length>t.max_chars)&&!(n instanceof RegExp&&!1===n.test(o))};return{...e,kind:"link",sortMode:"default",validateInput:r,getCell(e,o){if((0,g.le)(e))return{...l,data:null,isMissingValue:!0,onClickUri:()=>{}};const s=e;if("string"===typeof n)return Z(Q(s),n);if(o){if(!1===r(s))return Z(Q(s),"Invalid input.")}let d="";return s&&(d=void 0!==i?function(e,t){if((0,g.le)(t))return"";try{const n=t.match(e);return n&&void 0!==n[1]?decodeURI(n[1]):t}catch(a){return t}}(i,s):t.display_text||s),{...l,data:s,displayData:d,isMissingValue:(0,g.le)(s),onClickUri:e=>{window.open(s.startsWith("www.")?"https://".concat(s):s,"_blank","noopener,noreferrer"),e.preventDefault()},copyData:s}},getCellValue:e=>(0,g.le)(e.data)?null:e.data}}Ie.isEditableType=!0;const _e=Ie;function Oe(e){const t={kind:o.p6.Image,data:[],displayData:[],readonly:!0,allowOverlay:!0,contentAlign:e.contentAlignment||"center",style:e.isIndex?"faded":"normal"};return{...e,kind:"image",sortMode:"default",isEditable:!1,getCell(e){const n=(0,g.bb)(e)?[Q(e)]:[];return{...t,data:n,isMissingValue:!(0,g.bb)(e),displayData:n}},getCellValue:e=>void 0===e.data||0===e.data.length?null:e.data[0]}}Oe.isEditableType=!1;const De=Oe;function Ae(e){const t=ye(j.fu.getTypeName(e.arrowType)),n=G({min_value:0,max_value:t?100:1,step:t?1:.01,format:t?"%3d%%":"percent"},e.columnTypeOptions);let i;try{i=te(n.max_value,n.format)}catch(a){i=Q(n.max_value)}const l=(0,g.le)(n.step)||Number.isNaN(n.step)?void 0:oe(n.step),r={kind:o.p6.Custom,allowOverlay:!1,copyData:"",contentAlign:e.contentAlignment,data:{kind:"range-cell",min:n.min_value,max:n.max_value,step:n.step,value:n.min_value,label:String(n.min_value),measureLabel:i,readonly:!0}};return{...e,kind:"progress",sortMode:"smart",isEditable:!1,getCell(e){if((0,g.le)(e))return q();if((0,g.le)(n.min_value)||(0,g.le)(n.max_value)||Number.isNaN(n.min_value)||Number.isNaN(n.max_value)||n.min_value>=n.max_value)return Z("Invalid min/max parameters","The min_value (".concat(n.min_value,") and max_value (").concat(n.max_value,") parameters must be valid numbers."));if((0,g.le)(n.step)||Number.isNaN(n.step))return Z("Invalid step parameter","The step parameter (".concat(n.step,") must be a valid number."));const t=ee(e);if(Number.isNaN(t)||(0,g.le)(t))return Z(Q(e),"The value cannot be interpreted as a number.");if(Number.isInteger(t)&&!Number.isSafeInteger(t))return Z(Q(e),"The value is larger than the maximum supported integer values in number columns (2^53).");let i="";try{i=te(t,n.format,l)}catch(a){return Z(Q(t),(0,g.bb)(n.format)?"Failed to format the number based on the provided format configuration: (".concat(n.format,"). Error: ").concat(a):"Failed to format the number. Error: ".concat(a))}const o=Math.min(n.max_value,Math.max(n.min_value,t));return{...r,isMissingValue:(0,g.le)(e),copyData:String(t),data:{...r.data,value:o,label:i}}},getCellValue(e){var t,n;return e.kind===o.p6.Loading||void 0===(null===(t=e.data)||void 0===t?void 0:t.value)?null:null===(n=e.data)||void 0===n?void 0:n.value}}}Ae.isEditableType=!1;const Fe=Ae;function ze(e,t,n){const i=G({y_min:0,y_max:1},t.columnTypeOptions),l={kind:o.p6.Custom,allowOverlay:!1,copyData:"",contentAlign:t.contentAlignment,data:{kind:"sparkline-cell",values:[],displayValues:[],graphKind:n,yAxis:[i.y_min,i.y_max]}};return{...t,kind:e,sortMode:"default",isEditable:!1,getCell(e){if((0,g.le)(i.y_min)||(0,g.le)(i.y_max)||Number.isNaN(i.y_min)||Number.isNaN(i.y_max)||i.y_min>=i.y_max)return Z("Invalid min/max y-axis configuration","The y_min (".concat(i.y_min,") and y_max (").concat(i.y_max,") configuration options must be valid numbers."));if((0,g.le)(e))return q();const t=X(e),n=[];let o=[];if(0===t.length)return q();let r=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER;for(let i=0;i<t.length;i++){const e=ee(t[i]);if(Number.isNaN(e)||(0,g.le)(e))return Z(Q(t),"The value cannot be interpreted as a numeric array. ".concat(Q(e)," is not a number."));e>r&&(r=e),e<a&&(a=e),n.push(e)}return o=n.length>0&&(r>i.y_max||a<i.y_min)?n.map((e=>r-a===0?r>(i.y_max||1)?i.y_max||1:i.y_min||0:((i.y_max||1)-(i.y_min||0))*((e-a)/(r-a))+(i.y_min||0))):n,{...l,copyData:n.join(","),data:{...l.data,values:o,displayValues:n.map((e=>te(e)))},isMissingValue:(0,g.le)(e)}},getCellValue(e){var t,n;return e.kind===o.p6.Loading||void 0===(null===(t=e.data)||void 0===t?void 0:t.values)?null:null===(n=e.data)||void 0===n?void 0:n.values}}}function Ve(e){return ze("line_chart",e,"line")}function He(e){return ze("bar_chart",e,"bar")}function Le(e){return ze("area_chart",e,"area")}Ve.isEditableType=!1,He.isEditableType=!1,Le.isEditableType=!1;const We=new Map(Object.entries({object:de,text:ue,checkbox:ve,selectbox:Ee,list:Me,number:xe,link:_e,datetime:pe,date:fe,time:ge,line_chart:Ve,bar_chart:He,area_chart:Le,image:De,progress:Fe})),je=[],Be="_index",Pe="_pos:",Ze={small:75,medium:200,large:400};function Ye(e){if(!(0,g.le)(e))return"number"===typeof e?e:e in Ze?Ze[e]:void 0}function Ue(e,t){if(!t)return e;let n;return t.has(e.name)&&e.name!==Be?n=t.get(e.name):t.has("".concat(Pe).concat(e.indexNumber))?n=t.get("".concat(Pe).concat(e.indexNumber)):e.isIndex&&t.has(Be)&&(n=t.get(Be)),n?F()({...e},{title:n.label,width:Ye(n.width),isEditable:(0,g.bb)(n.disabled)?!n.disabled:void 0,isHidden:n.hidden,isRequired:n.required,columnTypeOptions:n.type_config,contentAlignment:n.alignment,defaultValue:n.default,help:n.help}):e}function qe(e){var t;const n=null===(t=e.columnTypeOptions)||void 0===t?void 0:t.type;let i;return(0,g.bb)(n)&&(We.has(n)?i=We.get(n):(0,ae.KE)("Unknown column type configured in column configuration: ".concat(n))),(0,g.le)(i)&&(i=function(e){let t=e?j.fu.getTypeName(e):null;return t?(t=t.toLowerCase().trim(),["unicode","empty"].includes(t)?ue:["datetime","datetimetz"].includes(t)?pe:"time"===t?ge:"date"===t?fe:["object","bytes"].includes(t)?de:["bool"].includes(t)?ve:["int8","int16","int32","int64","uint8","uint16","uint32","uint64","float16","float32","float64","float96","float128","range","decimal"].includes(t)?xe:"categorical"===t?Ee:t.startsWith("list")?Me:de):de}(e.arrowType)),i}const Je=function(e,t,n){const o=(0,f.u)(),l=i.useMemo((()=>function(e){if(!e)return new Map;try{return new Map(Object.entries(JSON.parse(e)))}catch(t){return(0,ae.H)(t),new Map}}(e.columns)),[e.columns]),r=e.useContainerWidth||(0,g.bb)(e.width)&&e.width>0;return{columns:i.useMemo((()=>{let i=function(e){const t=[],{dimensions:n}=e,i=n.headerColumns,o=n.dataColumns;if(0===i&&0===o)return t.push({id:"empty-index",title:"",indexNumber:0,isEditable:!1,isIndex:!0}),t;for(let l=0;l<i;l++){const n={...Te(e,l),indexNumber:l};t.push(n)}for(let l=0;l<o;l++){const n={...Re(e,l),indexNumber:l+i};t.push(n)}return t}(t).map((t=>{let i={...t,...Ue(t,l),isStretched:r};const a=qe(i);return(e.editingMode===p.Eh.EditingMode.READ_ONLY||n||!1===a.isEditableType)&&(i={...i,isEditable:!1}),e.editingMode!==p.Eh.EditingMode.READ_ONLY&&1==i.isEditable&&(i={...i,icon:"editable"},i.isRequired&&e.editingMode===p.Eh.EditingMode.DYNAMIC&&(i={...i,isHidden:!1})),a(i,o)})).filter((e=>!e.isHidden));if(e.columnOrder&&e.columnOrder.length>0){const t=[];i.forEach((e=>{e.isIndex&&t.push(e)})),e.columnOrder.forEach((e=>{const n=i.find((t=>t.name===e));n&&!n.isIndex&&t.push(n)})),i=t}return i.length>0?i:[de({id:"empty-index",title:"",indexNumber:0,isEditable:!1,isIndex:!0})]}),[t,l,r,n,e.editingMode,e.columnOrder,o])}};function Ke(e){return e.isIndex?Be:(0,g.le)(e.name)?"":e.name}const Ge=class{constructor(e){this.editedCells=new Map,this.addedRows=[],this.deletedRows=[],this.numRows=0,this.numRows=e}toJson(e){const t=new Map;e.forEach((e=>{t.set(e.indexNumber,e)}));const n={edited_rows:{},added_rows:[],deleted_rows:[]};this.editedCells.forEach(((e,i,o)=>{const l={};e.forEach(((e,n,i)=>{const o=t.get(n);o&&(l[Ke(o)]=o.getCellValue(e))})),n.edited_rows[i]=l})),this.addedRows.forEach((e=>{const i={};let o=!1;e.forEach(((e,n,l)=>{const r=t.get(n);if(r){const t=r.getCellValue(e);r.isRequired&&r.isEditable&&U(e)&&(o=!0),(0,g.bb)(t)&&(i[Ke(r)]=t)}})),o||n.added_rows.push(i)})),n.deleted_rows=this.deletedRows;return JSON.stringify(n,((e,t)=>void 0===t?null:t))}fromJson(e,t){this.editedCells=new Map,this.addedRows=[],this.deletedRows=[];const n=JSON.parse(e),i=new Map;t.forEach((e=>{i.set(e.indexNumber,e)}));const o=new Map;t.forEach((e=>{o.set(Ke(e),e)})),Object.keys(n.edited_rows).forEach((e=>{const t=Number(e),i=n.edited_rows[e];Object.keys(i).forEach((e=>{const n=i[e],l=o.get(e);if(l){const e=l.getCell(n);var r;if(e)this.editedCells.has(t)||this.editedCells.set(t,new Map),null===(r=this.editedCells.get(t))||void 0===r||r.set(l.indexNumber,e)}}))})),n.added_rows.forEach((e=>{const n=new Map;t.forEach((e=>{n.set(e.indexNumber,e.getCell(null))})),Object.keys(e).forEach((t=>{const i=e[t],l=o.get(t);if(l){const e=l.getCell(i);e&&n.set(l.indexNumber,e)}})),this.addedRows.push(n)})),this.deletedRows=n.deleted_rows}isAddedRow(e){return e>=this.numRows}getCell(e,t){if(this.isAddedRow(t))return this.addedRows[t-this.numRows].get(e);const n=this.editedCells.get(t);return void 0!==n?n.get(e):void 0}setCell(e,t,n){if(this.isAddedRow(t)){if(t-this.numRows>=this.addedRows.length)return;this.addedRows[t-this.numRows].set(e,n)}else{void 0===this.editedCells.get(t)&&this.editedCells.set(t,new Map);this.editedCells.get(t).set(e,n)}}addRow(e){this.addedRows.push(e)}deleteRows(e){e.sort(((e,t)=>t-e)).forEach((e=>{this.deleteRow(e)}))}deleteRow(e){(0,g.le)(e)||e<0||(this.isAddedRow(e)?this.addedRows.splice(e-this.numRows,1):(this.deletedRows.includes(e)||(this.deletedRows.push(e),this.deletedRows=this.deletedRows.sort(((e,t)=>e-t))),this.editedCells.delete(e)))}getOriginalRowIndex(e){let t=e;for(let n=0;n<this.deletedRows.length&&!(this.deletedRows[n]>t);n++)t+=1;return t}getNumRows(){return this.numRows+this.addedRows.length-this.deletedRows.length}};var Xe=n(35704);const Qe=function(){const e=(0,f.u)(),t=i.useMemo((()=>({editable:e=>'<svg xmlns="http://www.w3.org/2000/svg" height="40" viewBox="0 96 960 960" width="40" fill="'.concat(e.bgColor,'"><path d="m800.641 679.743-64.384-64.384 29-29q7.156-6.948 17.642-6.948 10.485 0 17.742 6.948l29 29q6.948 7.464 6.948 17.95 0 10.486-6.948 17.434l-29 29Zm-310.64 246.256v-64.383l210.82-210.821 64.384 64.384-210.821 210.82h-64.383Zm-360-204.872v-50.254h289.743v50.254H130.001Zm0-162.564v-50.255h454.615v50.255H130.001Zm0-162.307v-50.255h454.615v50.255H130.001Z"/></svg>')})),[]);return{theme:i.useMemo((()=>({accentColor:e.colors.primary,accentFg:e.colors.white,accentLight:(0,Xe.DZ)(e.colors.primary,.9),borderColor:e.colors.fadedText05,horizontalBorderColor:e.colors.fadedText05,fontFamily:e.genericFonts.bodyFont,bgSearchResult:(0,Xe.DZ)(e.colors.primary,.9),resizeIndicatorColor:e.colors.primary,bgIconHeader:e.colors.fadedText60,fgIconHeader:e.colors.white,bgHeader:e.colors.bgMix,bgHeaderHasFocus:e.colors.secondaryBg,bgHeaderHovered:e.colors.secondaryBg,textHeader:e.colors.fadedText60,textHeaderSelected:e.colors.white,textGroupHeader:e.colors.fadedText60,headerFontStyle:"".concat(e.fontSizes.sm),baseFontStyle:e.fontSizes.sm,editorFontSize:e.fontSizes.sm,textDark:e.colors.bodyText,textMedium:(0,Xe.DZ)(e.colors.bodyText,.2),textLight:e.colors.fadedText40,textBubble:e.colors.fadedText60,bgCell:e.colors.bgColor,bgCellMedium:e.colors.bgColor,cellHorizontalPadding:8,cellVerticalPadding:3,bgBubble:e.colors.secondaryBg,bgBubbleSelected:e.colors.secondaryBg,linkColor:e.colors.linkText,drilldownBorder:e.colors.darkenedBgMix25})),[e]),tableBorderRadius:e.radii.lg,headerIcons:t}};const $e=function(e,t,n,o){return{getCellContent:i.useCallback((i=>{let[l,r]=i;if(l>t.length-1)return Z("Column index out of bounds.","This should never happen. Please report this bug.");if(r>n-1)return Z("Row index out of bounds.","This should never happen. Please report this bug.");const a=t[l],s=a.indexNumber,d=o.current.getOriginalRowIndex(r),c=o.current.isAddedRow(d);if(a.isEditable||c){const e=o.current.getCell(s,d);if((0,g.bb)(e))return e;if(c)return Z("Error during cell creation.","This should never happen. Please report this bug. "+"No cell found for an added row: col=".concat(s,"; row=").concat(d))}try{return Ne(a,e.getCell(d+1,s),e.cssStyles)}catch(u){return Z("Error during cell creation.","This should never happen. Please report this bug. \nError: ".concat(u))}}),[t,n,e,o])}};var et=n(32700);const tt=function(e,t,n){const[o,l]=i.useState(),{getCellContent:r,getOriginalIndex:a}=(0,et.fF)({columns:t.map((e=>K(e))),getCellContent:n,rows:e,sort:o}),s=i.useMemo((()=>function(e,t){return void 0===t?e:e.map((e=>e.id===t.column.id?{...e,title:"asc"===t.direction?"\u2191 ".concat(e.title):"\u2193 ".concat(e.title)}:e))}(t,o)),[t,o]),d=i.useCallback((e=>{let t="asc";const n=s[e];if(o&&o.column.id===n.id){if("asc"!==o.direction)return void l(void 0);t="desc"}l({column:K(n),direction:t,mode:n.sortMode})}),[o,s]);return{columns:s,sortColumn:d,getOriginalIndex:a,getCellContent:r}};var nt=n(62813),it=n.n(nt);const ot=function(e,t,n,l,r){const[a,s]=i.useState({columns:o.EV.empty(),rows:o.EV.empty(),current:void 0}),d=!t&&!n&&(e.selectionMode.includes(p.Eh.SelectionMode.MULTI_ROW)||e.selectionMode.includes(p.Eh.SelectionMode.SINGLE_ROW)),c=d&&e.selectionMode.includes(p.Eh.SelectionMode.MULTI_ROW),u=!t&&!n&&(e.selectionMode.includes(p.Eh.SelectionMode.SINGLE_COLUMN)||e.selectionMode.includes(p.Eh.SelectionMode.MULTI_COLUMN)),m=u&&e.selectionMode.includes(p.Eh.SelectionMode.MULTI_COLUMN),h=a.rows.length>0,g=a.columns.length>0,f=void 0!==a.current,b=i.useCallback((e=>{const t=!it()(e.rows.toArray(),a.rows.toArray()),n=!it()(e.columns.toArray(),a.columns.toArray()),i=!it()(e.current,a.current);let o=d&&t||u&&n,c=e;if((d||u)&&void 0!==e.current&&i&&(c={...e,rows:a.rows,columns:a.columns},o=!1),t&&e.rows.length>0&&n&&0===e.columns.length&&(c={...c,columns:a.columns},o=!0),n&&e.columns.length>0&&t&&0===e.rows.length&&(c={...c,rows:a.rows},o=!0),n&&c.columns.length>=0){let e=c.columns;l.forEach(((t,n)=>{t.isIndex&&(e=e.remove(n))})),e.length<c.columns.length&&(c={...c,columns:e})}s(c),o&&r(c)}),[a,d,u,r,l]),v=i.useCallback((function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n={columns:t?a.columns:o.EV.empty(),rows:e?a.rows:o.EV.empty(),current:void 0};s(n),(!e&&d||!t&&u)&&r(n)}),[a,d,u,r]);return{gridSelection:a,isRowSelectionActivated:d,isMultiRowSelectionActivated:c,isColumnSelectionActivated:u,isMultiColumnSelectionActivated:m,isRowSelected:h,isColumnSelected:g,isCellSelected:f,clearSelection:v,processSelectionChange:b}},lt=",",rt='"',at='"',st="\n",dt="\ufeff",ct=new RegExp("[".concat([lt,rt,st].join(""),"]"));function ut(e){return e.map((e=>function(e){if((0,g.le)(e))return"";const t=Q(e);if(ct.test(t))return"".concat(rt).concat(t.replace(new RegExp(rt,"g"),at+rt)).concat(rt);return t}(e))).join(lt)+st}async function mt(e,t,n,i){const o=new TextEncoder;await e.write(o.encode(dt));const l=n.map((e=>e.name));await e.write(o.encode(ut(l)));for(let r=0;r<i;r++){const i=[];n.forEach(((e,n,o)=>{i.push(e.getCellValue(t([n,r])))})),await e.write(o.encode(ut(i)))}await e.close()}const ht=function(e,t,o,l){return{exportToCsv:i.useCallback((async()=>{const i=(new Date).toISOString().slice(0,16).replace(":","-"),r="".concat(i,"_export.csv");try{const i=await n.e(5345).then(n.bind(n,95345)),l=await i.showSaveFilePicker({suggestedName:r,types:[{accept:{"text/csv":[".csv"]}}],excludeAcceptAllOption:!1}),a=await l.createWritable();await mt(a,e,t,o)}catch(a){if(a instanceof Error&&"AbortError"===a.name)return;try{(0,ae.KE)("Failed to export data as CSV with FileSystem API, trying fallback method",a);let n="";const i=new WritableStream({write:async e=>{n+=new TextDecoder("utf-8").decode(e)},close:async()=>{}});await mt(i.getWriter(),e,t,o);const s=new Blob([n],{type:"text/csv;charset=utf-8;"}),d=URL.createObjectURL(s),c=document.createElement("a");l?c.setAttribute("target","_blank"):c.setAttribute("target","_self"),c.style.display="none",c.href=d,c.download=r,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(d)}catch(a){(0,ae.H)("Failed to export data as CSV",a)}}}),[t,o,e,l])}};const pt=function(e,t,n,o,l,r,a,s,d){const c=i.useCallback(((t,i)=>{let[r,a]=t;const d=e[r];if(!d.isEditable)return;const c=d.indexNumber,u=n.current.getOriginalRowIndex(l(a)),m=o([r,a]),h=d.getCellValue(m),p=d.getCellValue(i);if(!Y(m)&&p===h)return;const g=d.getCell(p,!0);Y(g)?(0,ae.KE)("Not applying the cell edit since it causes this error:\n ".concat(g.data)):(n.current.setCell(c,u,{...g,lastUpdated:performance.now()}),s())}),[e,n,l,o,s]),u=i.useCallback((()=>{if(t)return;const i=new Map;e.forEach((e=>{i.set(e.indexNumber,e.getCell(e.defaultValue))})),n.current.addRow(i),a()}),[e,n,t,a]),m=i.useCallback((()=>{t||(u(),s())}),[u,s,t]),h=i.useCallback((i=>{var o;if(i.rows.length>0){if(t)return!0;const e=i.rows.toArray().map((e=>n.current.getOriginalRowIndex(l(e))));return n.current.deleteRows(e),a(),d(),s(),!1}if(null!==(o=i.current)&&void 0!==o&&o.range){const t=[],n=i.current.range;for(let i=n.y;i<n.y+n.height;i++)for(let o=n.x;o<n.x+n.width;o++){const n=e[o];n.isEditable&&!n.isRequired&&(t.push({cell:[o,i]}),c([o,i],n.getCell(null)))}return t.length>0&&(s(),r(t)),!1}return!0}),[e,n,t,r,l,s,c,d,a]),p=i.useCallback(((i,a)=>{const[d,c]=i,m=[];for(let h=0;h<a.length;h++){const i=a[h];if(h+c>=n.current.getNumRows()){if(t)break;u()}for(let t=0;t<i.length;t++){const r=i[t],a=h+c,s=t+d;if(s>=e.length)break;const u=e[s];if(u.isEditable){const e=u.getCell(r,!0);if((0,g.bb)(e)&&!Y(e)){const t=u.indexNumber,i=n.current.getOriginalRowIndex(l(a)),r=u.getCellValue(o([s,a]));u.getCellValue(e)!==r&&(n.current.setCell(t,i,{...e,lastUpdated:performance.now()}),m.push({cell:[s,a]}))}}}m.length>0&&(s(),r(m))}return!1}),[e,n,t,l,o,u,s,r]),f=i.useCallback(((t,n)=>{const i=t[0];if(i>=e.length)return!0;const o=e[i];if(o.validateInput){const e=o.validateInput(o.getCellValue(n));return!0===e||!1===e?e:o.getCell(e)}return!0}),[e]);return{onCellEdited:c,onPaste:p,onRowAppended:m,onDelete:h,validateCell:f}};const gt=function(e,t){const[n,o]=i.useState(),l=i.useRef(null),r=i.useCallback((n=>{if(clearTimeout(l.current),l.current=0,o(void 0),("header"===n.kind||"cell"===n.kind)&&n.location){const i=n.location[0],r=n.location[1];let a;if(i<0||i>=e.length)return;const s=e[i];if("header"===n.kind&&(0,g.bb)(s))a=s.help;else if("cell"===n.kind){const e=t([i,r]);s.isRequired&&s.isEditable&&U(e)?a="\u26a0\ufe0f Please fill out this cell.":function(e){return e.hasOwnProperty("tooltip")&&""!==e.tooltip}(e)&&(a=e.tooltip)}a&&(l.current=setTimeout((()=>{a&&o({content:a,left:n.bounds.x+n.bounds.width/2,top:n.bounds.y})}),600))}}),[e,t,o,l]);return{tooltip:n,clearTooltip:i.useCallback((()=>{o(void 0)}),[o]),onItemHovered:r}};var ft=n(39806),bt=n(97613),vt=n(5527),yt=n(85e3),wt=n(37538);const xt=function(e){return{drawCell:i.useCallback(((t,n)=>{const{cell:i,theme:o,ctx:l,rect:r}=t,a=t.col;if(U(i)&&a<e.length){const i=e[a];return["checkbox","line_chart","bar_chart","progress"].includes(i.kind)?n():(e=>{const{cell:t,theme:n,ctx:i}=e;(0,ft.L6)({...e,theme:{...n,textDark:n.textLight,headerFontFull:"".concat(n.headerFontStyle," ").concat(n.fontFamily),baseFontFull:"".concat(n.baseFontStyle," ").concat(n.fontFamily),markerFontFull:"".concat(n.markerFontStyle," ").concat(n.fontFamily)},spriteManager:{},hyperWrapping:!1},"None",t.contentAlign),i.fillStyle=n.textDark})(t),void(i.isRequired&&i.isEditable&&function(e,t,n){e.save(),e.beginPath(),e.moveTo(t.x+t.width-8,t.y+1),e.lineTo(t.x+t.width,t.y+1),e.lineTo(t.x+t.width,t.y+1+8),e.fillStyle=n.accentColor,e.fill(),e.restore()}(l,r,o))}n()}),[e]),customRenderers:i.useMemo((()=>[bt.Z,vt.Z,yt.Z,wt.ZP,...je]),[])}};const Ct=function(e){const[t,n]=(0,i.useState)((()=>new Map)),o=i.useCallback(((e,i,o,l)=>{e.id&&n(new Map(t).set(e.id,l))}),[t]);return{columns:i.useMemo((()=>e.map((e=>e.id&&t.has(e.id)&&void 0!==t.get(e.id)?{...e,width:t.get(e.id),grow:0}:e))),[e,t]),onColumnResize:o}},Et=2,St=35,Mt=50+Et,kt=2*St+Et;const Tt=function(e,t,n,o,l){let r,a=function(e){return Math.max(e*St+Et,kt)}(t+1+(e.editingMode===p.Eh.EditingMode.DYNAMIC?1:0)),s=Math.min(a,400);e.height&&(s=Math.max(e.height,kt),a=Math.max(e.height,a)),o&&(s=Math.min(s,o),a=Math.min(a,o),e.height||(s=a));let d=n;e.useContainerWidth?r=n:e.width&&(r=Math.min(Math.max(e.width,Mt),n),d=Math.min(Math.max(e.width,d),n));const[c,u]=i.useState({width:r||"100%",height:s});return i.useLayoutEffect((()=>{e.useContainerWidth&&"100%"===c.width&&u({width:n,height:c.height})}),[n]),i.useLayoutEffect((()=>{u({width:c.width,height:s})}),[t]),i.useLayoutEffect((()=>{u({width:r||"100%",height:c.height})}),[r]),i.useLayoutEffect((()=>{u({width:c.width,height:s})}),[s]),i.useLayoutEffect((()=>{if(l){const t=e.useContainerWidth||(0,g.bb)(e.width)&&e.width>0;u({width:t?d:"100%",height:a})}else u({width:r||"100%",height:s})}),[l]),{minHeight:kt,maxHeight:a,minWidth:Mt,maxWidth:d,resizableSize:c,setResizableSize:u}},Rt=(0,S.Z)("img",{target:"e24uaba0"})((()=>({maxWidth:"100%",maxHeight:"600px",objectFit:"scale-down"})),""),Nt=e=>{let{urls:t}=e;const n=t&&t.length>0?t[0]:"";return n.startsWith("http")?(0,R.jsx)("a",{href:n,target:"_blank",rel:"noreferrer noopener",children:(0,R.jsx)(Rt,{src:n})}):(0,R.jsx)(Rt,{src:n})};var It=n(31572),_t=n(13553),Ot=n(80152);const Dt=function(e){let{top:t,left:n,content:o,clearTooltip:l}=e;const[r,a]=i.useState(!0),s=(0,f.u)(),{colors:d,fontSizes:c,radii:u}=s,m=i.useCallback((()=>{a(!1),l()}),[l,a]);return(0,R.jsx)(It.Z,{content:(0,R.jsx)(Ot.Uo,{className:"stTooltipContent",children:(0,R.jsx)(y.ZP,{style:{fontSize:c.sm},source:o,allowHTML:!1})}),placement:_t.r4.top,accessibilityType:_t.SI.tooltip,showArrow:!1,popoverMargin:5,onClickOutside:m,onEsc:m,overrides:{Body:{style:{borderTopLeftRadius:u.md,borderTopRightRadius:u.md,borderBottomLeftRadius:u.md,borderBottomRightRadius:u.md,paddingTop:"0 !important",paddingBottom:"0 !important",paddingLeft:"0 !important",paddingRight:"0 !important",backgroundColor:"transparent"}},Inner:{style:{backgroundColor:(0,M.Iy)(s)?d.bgColor:d.secondaryBg,color:d.bodyText,fontSize:c.sm,fontWeight:"normal",paddingTop:"0 !important",paddingBottom:"0 !important",paddingLeft:"0 !important",paddingRight:"0 !important"}}},isOpen:r,children:(0,R.jsx)("div",{className:"stTooltipTarget","data-testid":"stTooltipTarget",style:{position:"fixed",top:t,left:n}})})},At=(0,S.Z)("div",{target:"e1w7nams0"})((e=>{let{hasCustomizedScrollbars:t,theme:n}=e;return{position:"relative",display:"inline-block","& .glideDataEditor":{height:"100%",minWidth:"100%",borderRadius:n.radii.lg},"& .dvn-scroller":{...!t&&{scrollbarWidth:"thin"},overflowX:"auto !important",overflowY:"auto !important"}}}),"");n(2739),n(24665);const Ft=(0,h.Z)((function(e){let{element:t,data:n,width:h,height:f,disabled:b,widgetMgr:v,isFullScreen:y,disableFullscreenMode:w,expand:x,collapse:C,fragmentId:E}=e;const S=i.useRef(null),M=i.useRef(null),k=i.useRef(null),{theme:T,headerIcons:O,tableBorderRadius:D}=Qe(),{libConfig:{enforceDownloadInNewTab:A=!1}}=i.useContext(_.E),[F,z]=i.useState(!0),[V,H]=i.useState(!1),[L,W]=i.useState(!1),[j,B]=i.useState(!1),P=i.useMemo((()=>window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),[]),Z=i.useMemo((()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")||window.navigator.userAgent.includes("Chrome")),[]);(0,g.le)(t.editingMode)&&(t.editingMode=p.Eh.EditingMode.READ_ONLY);const{READ_ONLY:Y,DYNAMIC:U}=p.Eh.EditingMode,q=n.dimensions,G=Math.max(0,q.rows-1),X=0===G&&!(t.editingMode===U&&q.dataColumns>0),Q=G>15e4,$=i.useRef(new Ge(G)),[ee,te]=i.useState($.current.getNumRows());i.useEffect((()=>{$.current=new Ge(G),te($.current.getNumRows())}),[G]);const ne=i.useCallback((()=>{$.current=new Ge(G),te($.current.getNumRows())}),[G]),{columns:ie}=Je(t,n,b);i.useEffect((()=>{if(t.editingMode===Y)return;const e=v.getStringValue({id:t.id,formId:t.formId});e&&($.current.fromJson(e,ie),te($.current.getNumRows()))}),[]);const{getCellContent:oe}=$e(n,ie,ee,$),{columns:le,sortColumn:re,getOriginalIndex:ae,getCellContent:se}=tt(G,ie,oe),de=i.useCallback((0,g.Ds)(150,(e=>{const n={selection:{rows:[],columns:[]}};n.selection.rows=e.rows.toArray().map((e=>ae(e))),n.selection.columns=e.columns.toArray().map((e=>Ke(le[e])));const i=JSON.stringify(n),o=v.getStringValue({id:t.id,formId:t.formId});void 0!==o&&o===i||v.setStringValue({id:t.id,formId:t.formId},i,{fromUi:!0},E)})),[t.id,t.formId,v,E]),{gridSelection:ce,isRowSelectionActivated:ue,isMultiRowSelectionActivated:me,isColumnSelectionActivated:he,isMultiColumnSelectionActivated:pe,isRowSelected:ge,isColumnSelected:fe,isCellSelected:be,clearSelection:ve,processSelectionChange:ye}=ot(t,X,b,le,de);i.useEffect((()=>{ve(!0,!0)}),[y]);const we=i.useCallback((e=>{var t;null===(t=M.current)||void 0===t||t.updateCells(e)}),[]);i.useEffect((()=>{if(!ue&&!he)return;const e=v.getStringValue({id:t.id,formId:t.formId});if(e){var n,i,l,r;const t=le.map((e=>Ke(e))),a=JSON.parse(e);let s=o.EV.empty(),d=o.EV.empty();if(null===(n=a.selection)||void 0===n||null===(i=n.rows)||void 0===i||i.forEach((e=>{s=s.add(e)})),null===(l=a.selection)||void 0===l||null===(r=l.columns)||void 0===r||r.forEach((e=>{d=d.add(t.indexOf(e))})),s.length>0||d.length>0){ye({rows:s,columns:d,current:void 0})}}}),[]);const xe=i.useCallback((()=>{ee!==$.current.getNumRows()&&te($.current.getNumRows())}),[ee]),Ce=i.useCallback((0,g.Ds)(150,(()=>{const e=$.current.toJson(le);let n=v.getStringValue({id:t.id,formId:t.formId});void 0===n&&(n=new Ge(0).toJson([])),e!==n&&v.setStringValue({id:t.id,formId:t.formId},e,{fromUi:!0},E)})),[t.id,t.formId,v,E,le,$.current]),{exportToCsv:Ee}=ht(se,le,ee,A),{onCellEdited:Se,onPaste:Me,onRowAppended:ke,onDelete:Te,validateCell:Re}=pt(le,t.editingMode!==U,$,se,ae,we,xe,Ce,ve),{tooltip:Ne,clearTooltip:Ie,onItemHovered:_e}=gt(le,se),{drawCell:Oe,customRenderers:De}=xt(le),Ae=i.useMemo((()=>le.map((e=>K(e)))),[le]),{columns:Fe,onColumnResize:ze}=Ct(Ae),{minHeight:Ve,maxHeight:He,minWidth:Le,maxWidth:We,resizableSize:je,setResizableSize:Be}=Tt(t,ee,h,f,y),Pe=i.useCallback((e=>{let[t,n]=e;return{...J(!0,!1),displayData:"empty",contentAlign:"center",allowOverlay:!1,themeOverride:{textDark:T.textLight},span:[0,Math.max(le.length-1,0)]}}),[le,T.textLight]);i.useEffect((()=>{if(!t.formId)return;const e=new m.K;return e.manageFormClearListener(v,t.formId,(()=>{ne(),ve()})),()=>{e.disconnect()}}),[t.formId,ne,ve,v]);const Ze=!X&&t.editingMode===U&&!b,Ye=X?0:le.filter((e=>e.isIndex)).length;return i.useEffect((()=>{setTimeout((()=>{if(k.current&&M.current){var e,t;const n=null===(e=k.current)||void 0===e||null===(t=e.querySelector(".dvn-stack"))||void 0===t?void 0:t.getBoundingClientRect();n&&(W(n.height>k.current.clientHeight),B(n.width>k.current.clientWidth))}}),1)}),[je,ee,Fe]),(0,R.jsxs)(At,{"data-testid":"stDataFrame",className:"stDataFrame",hasCustomizedScrollbars:Z,ref:k,onMouseDown:e=>{if(k.current&&Z){const t=k.current.getBoundingClientRect();j&&t.height-7<e.clientY-t.top&&e.stopPropagation(),L&&t.width-7<e.clientX-t.left&&e.stopPropagation()}},onBlur:e=>{F||P||e.currentTarget.contains(e.relatedTarget)||ve(!0,!0)},children:[(0,R.jsxs)(I,{isFullScreen:y,disableFullscreenMode:w,locked:ge&&!ue||be||P&&F,onExpand:x,onCollapse:C,target:At,children:[(ue&&ge||he&&fe)&&(0,R.jsx)(N,{label:"Clear selection",icon:a.x,onClick:()=>{ve(),Ie()}}),Ze&&ge&&(0,R.jsx)(N,{label:"Delete row(s)",icon:s.H,onClick:()=>{Te&&(Te(ce),Ie())}}),Ze&&!ge&&(0,R.jsx)(N,{label:"Add row",icon:d.m,onClick:()=>{ke&&(z(!0),ke(),Ie())}}),!Q&&!X&&(0,R.jsx)(N,{label:"Download as CSV",icon:c.k,onClick:()=>Ee()}),!X&&(0,R.jsx)(N,{label:"Search",icon:u.o,onClick:()=>{V?H(!1):(z(!0),H(!0)),Ie()}})]}),(0,R.jsx)(r.e,{"data-testid":"stDataFrameResizable",ref:S,defaultSize:je,style:{border:"1px solid ".concat(T.borderColor),borderRadius:"".concat(D)},minHeight:Ve,maxHeight:He,minWidth:Le,maxWidth:We,size:je,enable:{top:!1,right:!1,bottom:!1,left:!1,topRight:!1,bottomRight:!0,bottomLeft:!1,topLeft:!1},grid:[1,St],snapGap:St/3,onResizeStop:(e,t,n,i)=>{S.current&&Be({width:S.current.size.width,height:He-S.current.size.height===Et?S.current.size.height+Et:S.current.size.height})},children:(0,R.jsx)(l.F,{className:"glideDataEditor",ref:M,columns:Fe,rows:X?1:ee,minColumnWidth:50,maxColumnWidth:1e3,maxColumnAutoWidth:500,rowHeight:St,headerHeight:St,getCellContent:X?Pe:se,onColumnResize:P?void 0:ze,resizeIndicator:"header",freezeColumns:Ye,smoothScrollX:!0,smoothScrollY:!0,verticalBorder:!0,getCellsForSelection:!0,rowMarkers:"none",rangeSelect:P?"cell":"rect",columnSelect:"none",rowSelect:"none",onItemHovered:_e,keybindings:{downFill:!0},onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&"f"===e.key&&(H((e=>!e)),e.stopPropagation(),e.preventDefault())},showSearch:V,onSearchClose:()=>{H(!1),Ie()},onHeaderClicked:(e,t)=>{X||Q||he||(ue&&ge&&ve(),re(e))},gridSelection:ce,onGridSelectionChange:e=>{(F||P)&&(ye(e),void 0!==Ne&&Ie())},theme:T,onMouseMove:e=>{"out-of-bounds"===e.kind&&F?z(!1):"out-of-bounds"===e.kind||F||z(!0)},fixedShadowX:!0,fixedShadowY:!0,experimental:{scrollbarWidthOverride:0,...Z&&{paddingBottom:j?-6:void 0,paddingRight:L?-6:void 0}},drawCell:Oe,customRenderers:De,imageEditorOverride:Nt,headerIcons:O,validateCell:Re,onPaste:!1,...ue&&{rowMarkers:{kind:"checkbox",checkboxStyle:"square",theme:{bgCell:T.bgHeader,bgCellMedium:T.bgHeader}},rowSelectionMode:me?"multi":"auto",rowSelect:b?"none":me?"multi":"single",rowSelectionBlending:"mixed",rangeSelectionBlending:"exclusive"},...he&&{columnSelect:b?"none":pe?"multi":"single",columnSelectionBlending:"mixed",rangeSelectionBlending:"exclusive"},...!X&&t.editingMode!==Y&&!b&&{fillHandle:!P,onCellEdited:Se,onPaste:Me,onDelete:Te},...!X&&t.editingMode===U&&{trailingRowOptions:{sticky:!1,tint:!0},rowMarkers:{kind:"checkbox",checkboxStyle:"square",theme:{bgCell:T.bgHeader,bgCellMedium:T.bgHeader}},rowSelectionMode:"multi",rowSelect:b?"none":"multi",onRowAppended:b?void 0:ke,onHeaderClicked:void 0}})}),Ne&&Ne.content&&(0,R.jsx)(Dt,{top:Ne.top,left:Ne.left,content:Ne.content,clearTooltip:Ie})]})}),!0)},87814:(e,t,n)=>{n.d(t,{K:()=>o});var i=n(50641);class o{constructor(){this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}manageFormClearListener(e,t,n){null!=this.formClearListener&&this.lastWidgetMgr===e&&this.lastFormId===t||(this.disconnect(),(0,i.bM)(t)&&(this.formClearListener=e.addFormClearedListener(t,n),this.lastWidgetMgr=e,this.lastFormId=t))}disconnect(){var e;null===(e=this.formClearListener)||void 0===e||e.disconnect(),this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}}}}]);