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.
@@ -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 is_type(obj, _SNOWPANDAS_DF_TYPE_STR) or is_type(
237
- obj, _SNOWPANDAS_SERIES_TYPE_STR
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:
@@ -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.5d7956c8.js",
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.89abd285.chunk.js": "./static/js/8148.89abd285.chunk.js",
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.5d7956c8.js"
156
+ "static/js/main.80efcd23.js"
157
157
  ]
158
158
  }
@@ -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.5d7956c8.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>
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}}}}]);