streamlit-nightly 1.37.2.dev20240806__py2.py3-none-any.whl → 1.37.2.dev20240807__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.
- streamlit/dataframe_util.py +74 -3
- streamlit/elements/write.py +1 -1
- streamlit/static/asset-manifest.json +3 -3
- streamlit/static/index.html +1 -1
- streamlit/static/static/js/8148.539ddabe.chunk.js +1 -0
- streamlit/static/static/js/{main.5d7956c8.js → main.80efcd23.js} +2 -2
- {streamlit_nightly-1.37.2.dev20240806.dist-info → streamlit_nightly-1.37.2.dev20240807.dist-info}/METADATA +2 -2
- {streamlit_nightly-1.37.2.dev20240806.dist-info → streamlit_nightly-1.37.2.dev20240807.dist-info}/RECORD +13 -13
- streamlit/static/static/js/8148.89abd285.chunk.js +0 -1
- /streamlit/static/static/js/{main.5d7956c8.js.LICENSE.txt → main.80efcd23.js.LICENSE.txt} +0 -0
- {streamlit_nightly-1.37.2.dev20240806.data → streamlit_nightly-1.37.2.dev20240807.data}/scripts/streamlit.cmd +0 -0
- {streamlit_nightly-1.37.2.dev20240806.dist-info → streamlit_nightly-1.37.2.dev20240807.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.37.2.dev20240806.dist-info → streamlit_nightly-1.37.2.dev20240807.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.37.2.dev20240806.dist-info → streamlit_nightly-1.37.2.dev20240807.dist-info}/top_level.txt +0 -0
streamlit/dataframe_util.py
CHANGED
@@ -72,6 +72,12 @@ _MODIN_DF_TYPE_STR: Final = "modin.pandas.dataframe.DataFrame"
|
|
72
72
|
_MODIN_SERIES_TYPE_STR: Final = "modin.pandas.series.Series"
|
73
73
|
_SNOWPANDAS_DF_TYPE_STR: Final = "snowflake.snowpark.modin.pandas.dataframe.DataFrame"
|
74
74
|
_SNOWPANDAS_SERIES_TYPE_STR: Final = "snowflake.snowpark.modin.pandas.series.Series"
|
75
|
+
_SNOWPANDAS_INDEX_TYPE_STR: Final = (
|
76
|
+
"snowflake.snowpark.modin.plugin.extensions.index.Index"
|
77
|
+
)
|
78
|
+
_POLARS_DATAFRAME: Final = "polars.dataframe.frame.DataFrame"
|
79
|
+
_POLARS_SERIES: Final = "polars.series.series.Series"
|
80
|
+
_POLARS_LAZYFRAME: Final = "polars.lazyframe.frame.LazyFrame"
|
75
81
|
|
76
82
|
V_co = TypeVar(
|
77
83
|
"V_co",
|
@@ -132,6 +138,9 @@ class DataFormat(Enum):
|
|
132
138
|
MODIN_OBJECT = auto() # Modin DataFrame, Series
|
133
139
|
SNOWPANDAS_OBJECT = auto() # Snowpandas DataFrame, Series
|
134
140
|
PANDAS_STYLER = auto() # pandas Styler
|
141
|
+
POLARS_DATAFRAME = auto() # polars.dataframe.frame.DataFrame
|
142
|
+
POLARS_LAZYFRAME = auto() # polars.lazyframe.frame.LazyFrame
|
143
|
+
POLARS_SERIES = auto() # polars.series.series.Series
|
135
144
|
LIST_OF_RECORDS = auto() # List[Dict[str, Scalar]]
|
136
145
|
LIST_OF_ROWS = auto() # List[List[Scalar]]
|
137
146
|
LIST_OF_VALUES = auto() # List[Scalar]
|
@@ -170,6 +179,9 @@ def is_dataframe_like(obj: object) -> bool:
|
|
170
179
|
DataFormat.PYSPARK_OBJECT,
|
171
180
|
DataFormat.MODIN_OBJECT,
|
172
181
|
DataFormat.SNOWPANDAS_OBJECT,
|
182
|
+
DataFormat.POLARS_SERIES,
|
183
|
+
DataFormat.POLARS_DATAFRAME,
|
184
|
+
DataFormat.POLARS_LAZYFRAME,
|
173
185
|
DataFormat.COLUMN_SERIES_MAPPING,
|
174
186
|
]
|
175
187
|
|
@@ -181,7 +193,8 @@ def is_unevaluated_data_object(obj: object) -> bool:
|
|
181
193
|
- Snowpark DataFrame / Table
|
182
194
|
- PySpark DataFrame
|
183
195
|
- Modin DataFrame / Series
|
184
|
-
- Snowpandas DataFrame / Series
|
196
|
+
- Snowpandas DataFrame / Series / Index
|
197
|
+
- Polars LazyFrame
|
185
198
|
- Generator functions
|
186
199
|
|
187
200
|
Unevaluated means that the data is not yet in the local memory.
|
@@ -193,6 +206,7 @@ def is_unevaluated_data_object(obj: object) -> bool:
|
|
193
206
|
or is_pyspark_data_object(obj)
|
194
207
|
or is_snowpandas_data_object(obj)
|
195
208
|
or is_modin_data_object(obj)
|
209
|
+
or is_polars_lazyframe(obj)
|
196
210
|
or inspect.isgeneratorfunction(obj)
|
197
211
|
)
|
198
212
|
|
@@ -233,11 +247,28 @@ def is_modin_data_object(obj: object) -> bool:
|
|
233
247
|
|
234
248
|
def is_snowpandas_data_object(obj: object) -> bool:
|
235
249
|
"""True if obj is a Snowpark Pandas DataFrame or Series."""
|
236
|
-
return
|
237
|
-
obj,
|
250
|
+
return (
|
251
|
+
is_type(obj, _SNOWPANDAS_DF_TYPE_STR)
|
252
|
+
or is_type(obj, _SNOWPANDAS_SERIES_TYPE_STR)
|
253
|
+
or is_type(obj, _SNOWPANDAS_INDEX_TYPE_STR)
|
238
254
|
)
|
239
255
|
|
240
256
|
|
257
|
+
def is_polars_dataframe(obj: object) -> bool:
|
258
|
+
"""True if obj is a Polars Dataframe."""
|
259
|
+
return is_type(obj, _POLARS_DATAFRAME)
|
260
|
+
|
261
|
+
|
262
|
+
def is_polars_series(obj: object) -> bool:
|
263
|
+
"""True if obj is a Polars Series."""
|
264
|
+
return is_type(obj, _POLARS_SERIES)
|
265
|
+
|
266
|
+
|
267
|
+
def is_polars_lazyframe(obj: object) -> bool:
|
268
|
+
"""True if obj is a Polars Lazyframe."""
|
269
|
+
return is_type(obj, _POLARS_LAZYFRAME)
|
270
|
+
|
271
|
+
|
241
272
|
def is_pandas_styler(obj: object) -> TypeGuard[Styler]:
|
242
273
|
"""True if obj is a pandas Styler."""
|
243
274
|
return is_type(obj, _PANDAS_STYLER_TYPE_STR)
|
@@ -361,6 +392,23 @@ def convert_anything_to_pandas_df(
|
|
361
392
|
else _fix_column_naming(pd.DataFrame(data))
|
362
393
|
)
|
363
394
|
|
395
|
+
if is_polars_dataframe(data):
|
396
|
+
data = data.clone() if ensure_copy else data
|
397
|
+
return data.to_pandas()
|
398
|
+
|
399
|
+
if is_polars_series(data):
|
400
|
+
data = data.clone() if ensure_copy else data
|
401
|
+
return data.to_pandas().to_frame()
|
402
|
+
|
403
|
+
if is_polars_lazyframe(data):
|
404
|
+
data = data.limit(max_unevaluated_rows).collect().to_pandas()
|
405
|
+
if data.shape[0] == max_unevaluated_rows:
|
406
|
+
_show_data_information(
|
407
|
+
f"⚠️ Showing only {string_util.simplify_number(max_unevaluated_rows)} "
|
408
|
+
"rows. Call `collect()` on the dataframe to show more."
|
409
|
+
)
|
410
|
+
return cast(pd.DataFrame, data)
|
411
|
+
|
364
412
|
if is_modin_data_object(data):
|
365
413
|
data = data.head(max_unevaluated_rows)._to_pandas()
|
366
414
|
|
@@ -601,6 +649,12 @@ def convert_anything_to_arrow_bytes(
|
|
601
649
|
df = convert_anything_to_pandas_df(data, max_unevaluated_rows)
|
602
650
|
return convert_pandas_df_to_arrow_bytes(df)
|
603
651
|
|
652
|
+
if is_polars_dataframe(data):
|
653
|
+
return convert_arrow_table_to_arrow_bytes(data.to_arrow())
|
654
|
+
|
655
|
+
if is_polars_series(data):
|
656
|
+
return convert_arrow_table_to_arrow_bytes(data.to_frame().to_arrow())
|
657
|
+
|
604
658
|
# Fallback: try to convert to pandas DataFrame
|
605
659
|
# and then to Arrow bytes.
|
606
660
|
df = convert_anything_to_pandas_df(data, max_unevaluated_rows)
|
@@ -881,6 +935,12 @@ def determine_data_format(input_data: Any) -> DataFormat:
|
|
881
935
|
return DataFormat.PANDAS_STYLER
|
882
936
|
elif isinstance(input_data, pd.api.extensions.ExtensionArray):
|
883
937
|
return DataFormat.PANDAS_ARRAY
|
938
|
+
elif is_polars_series(input_data):
|
939
|
+
return DataFormat.POLARS_SERIES
|
940
|
+
elif is_polars_dataframe(input_data):
|
941
|
+
return DataFormat.POLARS_DATAFRAME
|
942
|
+
elif is_polars_lazyframe(input_data):
|
943
|
+
return DataFormat.POLARS_LAZYFRAME
|
884
944
|
elif is_modin_data_object(input_data):
|
885
945
|
return DataFormat.MODIN_OBJECT
|
886
946
|
elif is_snowpandas_data_object(input_data):
|
@@ -1029,6 +1089,17 @@ def convert_pandas_df_to_data_format(
|
|
1029
1089
|
return pa.Array.from_pandas(_pandas_df_to_series(df))
|
1030
1090
|
elif data_format == DataFormat.PANDAS_SERIES:
|
1031
1091
|
return _pandas_df_to_series(df)
|
1092
|
+
elif (
|
1093
|
+
data_format == DataFormat.POLARS_DATAFRAME
|
1094
|
+
or data_format == DataFormat.POLARS_LAZYFRAME
|
1095
|
+
):
|
1096
|
+
import polars as pl
|
1097
|
+
|
1098
|
+
return pl.from_pandas(df)
|
1099
|
+
elif data_format == DataFormat.POLARS_SERIES:
|
1100
|
+
import polars as pl
|
1101
|
+
|
1102
|
+
return pl.from_pandas(_pandas_df_to_series(df))
|
1032
1103
|
elif data_format == DataFormat.LIST_OF_RECORDS:
|
1033
1104
|
return _unify_missing_values(df).to_dict(orient="records")
|
1034
1105
|
elif data_format == DataFormat.LIST_OF_ROWS:
|
streamlit/elements/write.py
CHANGED
@@ -165,7 +165,7 @@ class WriteMixin:
|
|
165
165
|
if type_util.is_openai_chunk(chunk):
|
166
166
|
# Try to convert OpenAI chat completion chunk to a string:
|
167
167
|
try:
|
168
|
-
if len(chunk.choices) == 0:
|
168
|
+
if len(chunk.choices) == 0 or chunk.choices[0].delta is None:
|
169
169
|
# The choices list can be empty. E.g. when using the
|
170
170
|
# AzureOpenAI client, the first chunk will always be empty.
|
171
171
|
chunk = ""
|
@@ -1,13 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"files": {
|
3
3
|
"main.css": "./static/css/main.554f96d9.css",
|
4
|
-
"main.js": "./static/js/main.
|
4
|
+
"main.js": "./static/js/main.80efcd23.js",
|
5
5
|
"static/js/9336.3e046ad7.chunk.js": "./static/js/9336.3e046ad7.chunk.js",
|
6
6
|
"static/js/9330.2b4c99e0.chunk.js": "./static/js/9330.2b4c99e0.chunk.js",
|
7
7
|
"static/js/2736.7d516fcc.chunk.js": "./static/js/2736.7d516fcc.chunk.js",
|
8
8
|
"static/js/3301.0cd98943.chunk.js": "./static/js/3301.0cd98943.chunk.js",
|
9
9
|
"static/css/8148.49dfd2ce.chunk.css": "./static/css/8148.49dfd2ce.chunk.css",
|
10
|
-
"static/js/8148.
|
10
|
+
"static/js/8148.539ddabe.chunk.js": "./static/js/8148.539ddabe.chunk.js",
|
11
11
|
"static/css/5441.e3b876c5.chunk.css": "./static/css/5441.e3b876c5.chunk.css",
|
12
12
|
"static/js/5441.a564862e.chunk.js": "./static/js/5441.a564862e.chunk.js",
|
13
13
|
"static/js/8427.4594845a.chunk.js": "./static/js/8427.4594845a.chunk.js",
|
@@ -153,6 +153,6 @@
|
|
153
153
|
},
|
154
154
|
"entrypoints": [
|
155
155
|
"static/css/main.554f96d9.css",
|
156
|
-
"static/js/main.
|
156
|
+
"static/js/main.80efcd23.js"
|
157
157
|
]
|
158
158
|
}
|
streamlit/static/index.html
CHANGED
@@ -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.
|
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.80efcd23.js"></script><link href="./static/css/main.554f96d9.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([[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:()=>Ht});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(12596),w=n(68411),x=n(9003),C=n(81354),E=n(46927),S=n(1515),M=n(27466);const k="-2.4rem",T=(0,S.Z)("div",{target:"e2wxzia1"})((e=>{let{theme:t,locked:n,target:i}=e;return{padding:"".concat(t.spacing.sm," 0 ").concat(t.spacing.sm," ").concat(t.spacing.sm),position:"absolute",top:n?k:"-1rem",right:t.spacing.none,transition:"none",...!n&&{opacity:0,"&:active, &:focus-visible, &:hover":{transition:"opacity 150ms 100ms, top 100ms 100ms",opacity:1,top:k},...i&&{["".concat(i,":hover &, ").concat(i,":active &, ").concat(i,":focus-visible &")]:{transition:"opacity 150ms 100ms, top 100ms 100ms",opacity:1,top:k}}}}}),""),R=(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.default,backgroundColor:t.colors.lightenedBg05,width:"fit-content",zIndex:t.zIndices.sidebar+1}}),"");var I=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,I.jsx)("div",{"data-testid":"stElementToolbarButton",children:(0,I.jsx)(w.Z,{content:(0,I.jsx)(y.ZP,{source:t,allowHTML:!1,style:{fontSize:l.fontSizes.sm}}),placement:w.u.TOP,onMouseEnterDelay:1e3,inline:!0,children:(0,I.jsxs)(x.ZP,{onClick:e=>{o&&o(),e.stopPropagation()},kind:C.nW.ELEMENT_TOOLBAR,children:[i&&(0,I.jsx)(E.Z,{content:i,size:"md",testid:"stElementToolbarButtonIcon"}),r&&(0,I.jsx)("span",{children:r})]})})})}const _=e=>{let{onExpand:t,onCollapse:n,isFullScreen:i,locked:o,children:l,target:r,disableFullscreenMode:a}=e;return(0,I.jsx)(T,{className:"stElementToolbar","data-testid":"stElementToolbar",locked:o||i,target:r,children:(0,I.jsxs)(R,{children:[l,t&&!a&&!i&&(0,I.jsx)(N,{label:"Fullscreen",icon:b.i,onClick:()=>t()}),n&&!a&&i&&(0,I.jsx)(N,{label:"Close fullscreen",icon:v.m,onClick:()=>n()})]})})};var O=n(66694),D=n(38145),A=n.n(D),F=n(96825),z=n.n(F),V=n(29724),H=n.n(V),L=n(52347),W=n(25267),j=n.n(W),B=(n(87717),n(35848)),P=n.n(B),Z=n(91191);const Y=["true","t","yes","y","on","1"],U=["false","f","no","n","off","0"];function q(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 J(e){return e.hasOwnProperty("isError")&&e.isError}function K(e){return e.hasOwnProperty("isMissingValue")&&e.isMissingValue}function G(){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 X(e,t){const n=t?"faded":"normal";return{kind:o.p6.Text,data:"",displayData:"",allowOverlay:!0,readonly:e,style:n}}function Q(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 $(e,t){return(0,g.le)(e)?t||{}:(0,g.le)(t)?e||{}:z()(e,t)}function ee(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:te(e))):[te(t)]}catch(t){return[te(e)]}}function te(e){try{try{return A()(e)}catch(t){return JSON.stringify(e,((e,t)=>"bigint"===typeof t?Number(t):t))}}catch(t){return"[".concat(typeof e,"]")}}function ne(e){if((0,g.le)(e))return null;if("boolean"===typeof e)return e;const t=te(e).toLowerCase().trim();return""===t?null:!!Y.includes(t)||!U.includes(t)&&void 0}function ie(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=H().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 oe(e,t,n){return Number.isNaN(e)||!Number.isFinite(e)?"":(0,g.le)(t)||""===t?(0===n&&(e=Math.round(e)),H()(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?j().duration(e/1e6,"milliseconds").humanize():t.startsWith("period[")?Z.fu.formatPeriodType(BigInt(e),t):(0,L.sprintf)(t,e)}function le(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 re(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=j().unix(e).utc();if(n.isValid())return n.toDate()}if("string"===typeof e){const t=j().utc(e);if(t.isValid())return t.toDate();const n=j().utc(e,[j().HTML5_FMT.TIME_MS,j().HTML5_FMT.TIME_SECONDS,j().HTML5_FMT.TIME]);if(n.isValid())return n.toDate()}}catch(t){return}}function ae(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 se=new RegExp(/(\r\n|\n|\r)/gm);function de(e){return-1!==e.indexOf("\n")?e.replace(se," "):e}var ce=n(23849);function ue(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)?te(e):null,i=(0,g.bb)(n)?de(n):"";return{...t,data:n,displayData:i,isMissingValue:(0,g.le)(e)}}catch(n){return q(te(e),"The value cannot be interpreted as a string. Error: ".concat(n))}},getCellValue:e=>void 0===e.data?null:e.data}}ue.isEditableType=!1;const me=ue;function he(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=te(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 q(te(e),n);if(t){const t=l(e);if(!1===t)return q(te(e),"Invalid input.");"string"===typeof t&&(e=t)}try{const t=(0,g.bb)(e)?te(e):null,n=(0,g.bb)(t)?de(t):"";return{...i,isMissingValue:(0,g.le)(t),data:t,displayData:n}}catch(r){return q("Incompatible value","The value cannot be interpreted as string. Error: ".concat(r))}},getCellValue:e=>void 0===e.data?null:e.data}}he.isEditableType=!0;const pe=he;function ge(e,t){return e=t.startsWith("+")||t.startsWith("-")?e.utcOffset(t,!1):e.tz(t)}function fe(e,t,n,i,l,r,a){var s;const d=$({format:n,step:i,timezone:a},t.columnTypeOptions);let c,u,m;if((0,g.bb)(d.timezone))try{var h;c=(null===(h=ge(P()(),d.timezone))||void 0===h?void 0:h.utcOffset())||void 0}catch(b){}(0,g.bb)(d.min_value)&&(u=re(d.min_value)||void 0),(0,g.bb)(d.max_value)&&(m=re(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=re(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 q(te(e),"Invalid input.");t instanceof Date&&(e=t)}const i=re(e);let o="",l="",r=c;if(void 0===i)return q(te(e),"The value cannot be interpreted as a datetime object.");if(null!==i){let e=P().utc(i);if(!e.isValid())return q(te(i),"This should never happen. Please report this bug. \nError: ".concat(e.toString()));if(d.timezone){try{e=ge(e,d.timezone)}catch(b){return q(e.toISOString(),"Failed to adjust to the provided timezone: ".concat(d.timezone,". \nError: ").concat(b))}r=e.utcOffset()}try{l=le(e,d.format||n)}catch(b){return q(e.toISOString(),"Failed to format the date for rendering with: ".concat(d.format,". \nError: ").concat(b))}o=le(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 be(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 fe("datetime",e,s?r+"Z":r,1,"datetime-local",(e=>s?e.toISOString():e.toISOString().replace("Z","")),a)}function ve(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"),fe("time",e,i,1,"time",(e=>e.toISOString().split("T")[1].replace("Z","")))}function ye(e){return fe("date",e,"YYYY-MM-DD",1,"date",(e=>e.toISOString().split("T")[0]))}function we(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=ne(e),void 0===n?q(te(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}}be.isEditableType=!0,ve.isEditableType=!0,ye.isEditableType=!0,we.isEditableType=!0;const xe=we;function Ce(e){return e.startsWith("int")&&!e.startsWith("interval")||"range"===e||e.startsWith("uint")}function Ee(e){const t=Z.fu.getTypeName(e.arrowType);let n;"timedelta64[ns]"===t?n="duration[ns]":t.startsWith("period[")&&(n=t);const i=$({step:Ce(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)?ae(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,thousandSeparator:""},s=t=>{let n=ie(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 q(te(e),"Invalid input.");"number"===typeof t&&(e=t)}let n=ie(e),o="";if((0,g.bb)(n)){if(Number.isNaN(n))return q(te(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 q(te(e),"The value is larger than the maximum supported integer values in number columns (2^53).");try{o=oe(n,i.format,r)}catch(c){return q(te(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),copyData:(0,g.le)(n)?"":te(n)}},getCellValue:e=>void 0===e.data?null:e.data}}Ee.isEditableType=!0;const Se=Ee;function Me(e){let t="string";const n=$({options:"bool"===Z.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,style:e.isIndex?"faded":"normal",data:{kind:"dropdown-cell",allowedValues:[...!0!==e.isRequired?[null]:[],...n.options.filter((e=>null!==e&&""!==e)).map((e=>te(e)))],value:""}};return{...e,kind:"selectbox",sortMode:"default",getCell(e,t){let n=null;return(0,g.bb)(e)&&""!==e&&(n=te(e)),t&&!l.data.allowedValues.includes(n)?q(te(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=ie(null===(r=e.data)||void 0===r?void 0:r.value))&&void 0!==l?l:null:"boolean"===t?null!==(a=ne(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}}}Me.isEditableType=!0;const ke=Me;function Te(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)?[]:ee(e);return{...t,data:n,isMissingValue:(0,g.le)(e),copyData:(0,g.le)(e)?"":te(n.map((e=>"string"===typeof e&&e.includes(",")?e.replace(/,/g," "):e)))}},getCellValue:e=>(0,g.le)(e.data)||K(e)?null:e.data}}Te.isEditableType=!1;const Re=Te;function Ie(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 Ne(e,t){const n=e.types.index[t],i=e.indexNames[t];let o=!0;return"range"===Z.fu.getTypeName(n)&&(o=!1),{id:"index-".concat(t),name:i,title:i,isEditable:o,arrowType:n,isIndex:!0,isHidden:!1}}function _e(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"===Z.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 Oe(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const i=e.arrowType?Z.fu.getTypeName(e.arrowType):null;let l;if("object"===e.kind)l=e.getCell((0,g.bb)(t.content)?de(Z.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=j().unix(Z.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=j().utc(Number(t.content)).toDate();l=e.getCell(n)}else if("decimal"===i){const n=(0,g.le)(t.content)?null:Z.fu.format(t.content,t.contentType,t.field);l=e.getCell(n)}else l=e.getCell(t.content);if(J(l))return l;if(!e.isEditable){if((0,g.bb)(t.displayContent)){var u;const e=de(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=Ie(t,"color",n);o&&(i.textDark=o);const l=Ie(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 De(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=te(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 q(te(s),n);if(o){if(!1===r(s))return q(te(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}}De.isEditableType=!0;const Ae=De;function Fe(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)?[te(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]}}Fe.isEditableType=!1;const ze=Fe;function Ve(e){const t=Ce(Z.fu.getTypeName(e.arrowType)),n=$({min_value:0,max_value:t?100:1,step:t?1:.01,format:t?"%3d%%":"percent"},e.columnTypeOptions);let i;try{i=oe(n.max_value,n.format)}catch(a){i=te(n.max_value)}const l=(0,g.le)(n.step)||Number.isNaN(n.step)?void 0:ae(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 G();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 q("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 q("Invalid step parameter","The step parameter (".concat(n.step,") must be a valid number."));const t=ie(e);if(Number.isNaN(t)||(0,g.le)(t))return q(te(e),"The value cannot be interpreted as a number.");if(Number.isInteger(t)&&!Number.isSafeInteger(t))return q(te(e),"The value is larger than the maximum supported integer values in number columns (2^53).");let i="";try{i=oe(t,n.format,l)}catch(a){return q(te(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}}}Ve.isEditableType=!1;const He=Ve;function Le(e,t,n){const i=$({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 q("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 G();const t=ee(e),n=[];let o=[];if(0===t.length)return G();let r=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER;for(let i=0;i<t.length;i++){const e=ie(t[i]);if(Number.isNaN(e)||(0,g.le)(e))return q(te(t),"The value cannot be interpreted as a numeric array. ".concat(te(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=>oe(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 We(e){return Le("line_chart",e,"line")}function je(e){return Le("bar_chart",e,"bar")}function Be(e){return Le("area_chart",e,"area")}We.isEditableType=!1,je.isEditableType=!1,Be.isEditableType=!1;const Pe=new Map(Object.entries({object:me,text:pe,checkbox:xe,selectbox:ke,list:Re,number:Se,link:Ae,datetime:be,date:ye,time:ve,line_chart:We,bar_chart:je,area_chart:Be,image:ze,progress:He})),Ze=[],Ye="_index",Ue="_pos:",qe={small:75,medium:200,large:400};function Je(e){if(!(0,g.le)(e))return"number"===typeof e?e:e in qe?qe[e]:void 0}function Ke(e,t){if(!t)return e;let n;return t.has(e.name)&&e.name!==Ye?n=t.get(e.name):t.has("".concat(Ue).concat(e.indexNumber))?n=t.get("".concat(Ue).concat(e.indexNumber)):e.isIndex&&t.has(Ye)&&(n=t.get(Ye)),n?z()({...e},{title:n.label,width:Je(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 Ge(e){var t;const n=null===(t=e.columnTypeOptions)||void 0===t?void 0:t.type;let i;return(0,g.bb)(n)&&(Pe.has(n)?i=Pe.get(n):(0,ce.KE)("Unknown column type configured in column configuration: ".concat(n))),(0,g.le)(i)&&(i=function(e){let t=e?Z.fu.getTypeName(e):null;return t?(t=t.toLowerCase().trim(),["unicode","empty","large_string[pyarrow]"].includes(t)?pe:["datetime","datetimetz"].includes(t)?be:"time"===t?ve:"date"===t?ye:["object","bytes"].includes(t)?me:["bool"].includes(t)?xe:["int8","int16","int32","int64","uint8","uint16","uint32","uint64","float16","float32","float64","float96","float128","range","decimal"].includes(t)?Se:"categorical"===t?ke:t.startsWith("list")?Re:me):me}(e.arrowType)),i}const Xe=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,ce.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={...Ne(e,l),indexNumber:l};t.push(n)}for(let l=0;l<o;l++){const n={..._e(e,l),indexNumber:l+i};t.push(n)}return t}(t).map((t=>{let i={...t,...Ke(t,l),isStretched:r};const a=Ge(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:[me({id:"empty-index",title:"",indexNumber:0,isEditable:!1,isIndex:!0})]}),[t,l,r,n,e.editingMode,e.columnOrder,o])}};function Qe(e){return e.isIndex?Ye:(0,g.le)(e.name)?"":e.name}const $e=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[Qe(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&&K(e)&&(o=!0),(0,g.bb)(t)&&(i[Qe(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(Qe(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 et=n(35704);const tt=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,et.DZ)(e.colors.primary,.9),borderColor:e.colors.fadedText05,horizontalBorderColor:e.colors.fadedText05,fontFamily:e.genericFonts.bodyFont,bgSearchResult:(0,et.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,et.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.default,headerIcons:t}};const nt=function(e,t,n,o){return{getCellContent:i.useCallback((i=>{let[l,r]=i;if(l>t.length-1)return q("Column index out of bounds.","This should never happen. Please report this bug.");if(r>n-1)return q("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 q("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 Oe(a,e.getCell(d+1,s),e.cssStyles)}catch(u){return q("Error during cell creation.","This should never happen. Please report this bug. \nError: ".concat(u))}}),[t,n,e,o])}};var it=n(32700);const ot=function(e,t,n){const[o,l]=i.useState(),{getCellContent:r,getOriginalIndex:a}=(0,it.fF)({columns:t.map((e=>Q(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:Q(n),direction:t,mode:n.sortMode})}),[o,s]);return{columns:s,sortColumn:d,getOriginalIndex:a,getCellContent:r}};var lt=n(62813),rt=n.n(lt);const at=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=!rt()(e.rows.toArray(),a.rows.toArray()),n=!rt()(e.columns.toArray(),a.columns.toArray()),i=!rt()(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}},st=",",dt='"',ct='"',ut="\n",mt="\ufeff",ht=new RegExp("[".concat([st,dt,ut].join(""),"]"));function pt(e){return e.map((e=>function(e){if((0,g.le)(e))return"";const t=te(e);if(ht.test(t))return"".concat(dt).concat(t.replace(new RegExp(dt,"g"),ct+dt)).concat(dt);return t}(e))).join(st)+ut}async function gt(e,t,n,i){const o=new TextEncoder;await e.write(o.encode(mt));const l=n.map((e=>e.name));await e.write(o.encode(pt(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(pt(i)))}await e.close()}const ft=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 gt(a,e,t,o)}catch(a){if(a instanceof Error&&"AbortError"===a.name)return;try{(0,ce.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 gt(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,ce.H)("Failed to export data as CSV",a)}}}),[t,o,e,l])}};const bt=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(!J(m)&&p===h)return;const g=d.getCell(p,!0);J(g)?(0,ce.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)&&!J(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 vt=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&&K(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 yt=n(39806),wt=n(97613),xt=n(5527),Ct=n(85e3),Et=n(37538);const St=function(e){return{drawCell:i.useCallback(((t,n)=>{const{cell:i,theme:o,ctx:l,rect:r}=t,a=t.col;if(K(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,yt.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((()=>[wt.Z,xt.Z,Ct.Z,Et.ZP,...Ze]),[])}};const Mt=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}},kt=2,Tt=35,Rt=50+kt,It=2*Tt+kt;const Nt=function(e,t,n,o,l){let r,a=function(e){return Math.max(e*Tt+kt,It)}(t+1+(e.editingMode===p.Eh.EditingMode.DYNAMIC?1:0)),s=Math.min(a,400);e.height&&(s=Math.max(e.height,It),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,Rt),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:It,maxHeight:a,minWidth:Rt,maxWidth:d,resizableSize:c,setResizableSize:u}},_t=(0,S.Z)("img",{target:"e24uaba0"})((()=>({maxWidth:"100%",maxHeight:"600px",objectFit:"scale-down"})),""),Ot=e=>{let{urls:t}=e;const n=t&&t.length>0?t[0]:"";return n.startsWith("http")?(0,I.jsx)("a",{href:n,target:"_blank",rel:"noreferrer noopener",children:(0,I.jsx)(_t,{src:n})}):(0,I.jsx)(_t,{src:n})};var Dt=n(31572),At=n(13553),Ft=n(80152);const zt=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,I.jsx)(Dt.Z,{content:(0,I.jsx)(Ft.Uo,{className:"stTooltipContent",children:(0,I.jsx)(y.ZP,{style:{fontSize:c.sm},source:o,allowHTML:!1})}),placement:At.r4.top,accessibilityType:At.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,I.jsx)("div",{className:"stTooltipTarget","data-testid":"stTooltipTarget",style:{position:"fixed",top:t,left:n}})})},Vt=(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.default},"& .dvn-scroller":{...!t&&{scrollbarWidth:"thin"},overflowX:"auto !important",overflowY:"auto !important"}}}),"");n(2739),n(24665);const Ht=(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:R,tableBorderRadius:D}=tt(),{libConfig:{enforceDownloadInNewTab:A=!1}}=i.useContext(O.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,J=Math.max(0,q.rows-1),K=0===J&&!(t.editingMode===U&&q.dataColumns>0),G=J>15e4,$=i.useRef(new $e(J)),[ee,te]=i.useState($.current.getNumRows());i.useEffect((()=>{$.current=new $e(J),te($.current.getNumRows())}),[J]);const ne=i.useCallback((()=>{$.current=new $e(J),te($.current.getNumRows())}),[J]),{columns:ie}=Xe(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}=nt(n,ie,ee,$),{columns:le,sortColumn:re,getOriginalIndex:ae,getCellContent:se}=ot(J,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=>Qe(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,ae,Qe]),{gridSelection:ce,isRowSelectionActivated:ue,isMultiRowSelectionActivated:me,isColumnSelectionActivated:he,isMultiColumnSelectionActivated:pe,isRowSelected:ge,isColumnSelected:fe,isCellSelected:be,clearSelection:ve,processSelectionChange:ye}=at(t,K,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=>Qe(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 $e(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}=ft(se,le,ee,A),{onCellEdited:Se,onPaste:Me,onRowAppended:ke,onDelete:Te,validateCell:Re}=bt(le,t.editingMode!==U,$,se,ae,we,xe,Ce,ve),{tooltip:Ie,clearTooltip:Ne,onItemHovered:_e}=vt(le,se),{drawCell:Oe,customRenderers:De}=St(le),Ae=i.useMemo((()=>le.map((e=>Q(e)))),[le]),{columns:Fe,onColumnResize:ze}=Mt(Ae),{minHeight:Ve,maxHeight:He,minWidth:Le,maxWidth:We,resizableSize:je,setResizableSize:Be}=Nt(t,ee,h,f,y),Pe=i.useCallback((e=>{let[t,n]=e;return{...X(!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=!K&&t.editingMode===U&&!b,Ye=K?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,I.jsxs)(Vt,{"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,I.jsxs)(_,{isFullScreen:y,disableFullscreenMode:w,locked:ge&&!ue||be||P&&F,onExpand:x,onCollapse:C,target:Vt,children:[(ue&&ge||he&&fe)&&(0,I.jsx)(N,{label:"Clear selection",icon:a.x,onClick:()=>{ve(),Ne()}}),Ze&&ge&&(0,I.jsx)(N,{label:"Delete row(s)",icon:s.H,onClick:()=>{Te&&(Te(ce),Ne())}}),Ze&&!ge&&(0,I.jsx)(N,{label:"Add row",icon:d.m,onClick:()=>{ke&&(z(!0),ke(),Ne())}}),!G&&!K&&(0,I.jsx)(N,{label:"Download as CSV",icon:c.k,onClick:()=>Ee()}),!K&&(0,I.jsx)(N,{label:"Search",icon:u.o,onClick:()=>{V?H(!1):(z(!0),H(!0)),Ne()}})]}),(0,I.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,Tt],snapGap:Tt/3,onResizeStop:(e,t,n,i)=>{S.current&&Be({width:S.current.size.width,height:He-S.current.size.height===kt?S.current.size.height+kt:S.current.size.height})},children:(0,I.jsx)(l.F,{className:"glideDataEditor",ref:M,columns:Fe,rows:K?1:ee,minColumnWidth:50,maxColumnWidth:1e3,maxColumnAutoWidth:500,rowHeight:Tt,headerHeight:Tt,getCellContent:K?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),Ne()},onHeaderClicked:(e,t)=>{K||G||he||(ue&&ge&&ve(),re(e))},gridSelection:ce,onGridSelectionChange:e=>{(F||P)&&(ye(e),void 0!==Ie&&Ne())},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:Ot,headerIcons:R,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"},...!K&&t.editingMode!==Y&&!b&&{fillHandle:!P,onCellEdited:Se,onPaste:Me,onDelete:Te},...!K&&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}})}),Ie&&Ie.content&&(0,I.jsx)(zt,{top:Ie.top,left:Ie.left,content:Ie.content,clearTooltip:Ne})]})}),!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){(0,i.bb)(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}}}}]);
|