streamlit-nightly 1.38.1.dev20240924__py2.py3-none-any.whl → 1.38.1.dev20240925__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/__init__.py +1 -0
- streamlit/config_option.py +2 -0
- streamlit/delta_generator.py +2 -0
- streamlit/elements/widgets/audio_input.py +248 -0
- streamlit/proto/AudioInput_pb2.py +28 -0
- streamlit/proto/AudioInput_pb2.pyi +58 -0
- streamlit/proto/Element_pb2.py +4 -3
- streamlit/proto/Element_pb2.pyi +9 -4
- streamlit/runtime/state/common.py +2 -0
- streamlit/runtime/state/widgets.py +1 -0
- streamlit/static/asset-manifest.json +8 -6
- streamlit/static/index.html +1 -1
- streamlit/static/static/js/{238.f9bc20d9.chunk.js → 238.8d3a7d25.chunk.js} +1 -1
- streamlit/static/static/js/266.e595f506.chunk.js +1 -0
- streamlit/static/static/js/3710.d73e609f.chunk.js +1 -0
- streamlit/static/static/js/5281.02b3ddc4.chunk.js +1 -0
- streamlit/static/static/js/708.a5252e2f.chunk.js +1 -0
- streamlit/static/static/js/9943.6af344bb.chunk.js +1 -0
- streamlit/static/static/js/main.e9d8ce9e.js +28 -0
- streamlit/web/cli.py +2 -0
- {streamlit_nightly-1.38.1.dev20240924.dist-info → streamlit_nightly-1.38.1.dev20240925.dist-info}/METADATA +1 -1
- {streamlit_nightly-1.38.1.dev20240924.dist-info → streamlit_nightly-1.38.1.dev20240925.dist-info}/RECORD +27 -22
- streamlit/static/static/js/3710.a5101ccc.chunk.js +0 -1
- streamlit/static/static/js/5180.e826dd46.chunk.js +0 -1
- streamlit/static/static/js/9943.2d62e2c4.chunk.js +0 -1
- streamlit/static/static/js/main.133ce9b9.js +0 -28
- /streamlit/static/static/js/{main.133ce9b9.js.LICENSE.txt → main.e9d8ce9e.js.LICENSE.txt} +0 -0
- {streamlit_nightly-1.38.1.dev20240924.data → streamlit_nightly-1.38.1.dev20240925.data}/scripts/streamlit.cmd +0 -0
- {streamlit_nightly-1.38.1.dev20240924.dist-info → streamlit_nightly-1.38.1.dev20240925.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.38.1.dev20240924.dist-info → streamlit_nightly-1.38.1.dev20240925.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.38.1.dev20240924.dist-info → streamlit_nightly-1.38.1.dev20240925.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[266],{85850:(e,t,r)=>{r.d(t,{K:()=>b,A:()=>x});r(58878);var i=r(8151),n=r(12274),o=r(63186),l=r(34914),a=r(997),s=r(36459),d=r(84720),c=r(64611),u=r(89653),g=r(58144);const p="-2.4rem",m=(0,u.A)("div",{target:"e2wxzia1"})((e=>{let{theme:t,locked:r,target:i}=e;return{padding:`${t.spacing.sm} 0 ${t.spacing.sm} ${t.spacing.sm}`,position:"absolute",top:r?p:"-1rem",right:t.spacing.none,transition:"none",...!r&&{opacity:0,"&:active, &:focus-visible, &:hover":{transition:"opacity 150ms 100ms, top 100ms 100ms",opacity:1,top:p},...i&&{[`${i}:hover &, ${i}:active &, ${i}:focus-visible &`]:{transition:"opacity 150ms 100ms, top 100ms 100ms",opacity:1,top:p}}}}}),""),f=(0,u.A)("div",{target:"e2wxzia0"})((e=>{let{theme:t}=e;return{color:(0,g.iq)(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 h=r(90782);function b(e){let{label:t,show_label:r,icon:n,onClick:o}=e;const u=(0,i.u)(),g=r?t:"";return(0,h.jsx)("div",{"data-testid":"stElementToolbarButton",children:(0,h.jsx)(a.A,{content:(0,h.jsx)(l.Ay,{source:t,allowHTML:!1,style:{fontSize:u.fontSizes.sm}}),placement:a.W.TOP,onMouseEnterDelay:1e3,inline:!0,children:(0,h.jsxs)(s.Ay,{onClick:e=>{o&&o(),e.stopPropagation()},kind:d.KX.ELEMENT_TOOLBAR,"aria-label":t,children:[n&&(0,h.jsx)(c.A,{content:n,size:"md",testid:"stElementToolbarButtonIcon"}),g&&(0,h.jsx)("span",{children:g})]})})})}const x=e=>{let{onExpand:t,onCollapse:r,isFullScreen:i,locked:l,children:a,target:s,disableFullscreenMode:d}=e;return(0,h.jsx)(m,{className:"stElementToolbar","data-testid":"stElementToolbar",locked:l||i,target:s,children:(0,h.jsxs)(f,{children:[a,t&&!d&&!i&&(0,h.jsx)(b,{label:"Fullscreen",icon:n.g,onClick:()=>t()}),r&&!d&&i&&(0,h.jsx)(b,{label:"Close fullscreen",icon:o.Q,onClick:()=>r()})]})})}},30266:(e,t,r)=>{r.r(t),r.d(t,{default:()=>se});var i=r(58878),n=r(8151),o=r(19613),l=r(56146),a=r(95241),s=r(71034),d=r.n(s),c=r(85850),u=r(25571),g=r(58144),p=r(50609),m=r.n(p),f=r(29669),h=r(67253);var b=r(93480),x=r(997),y=r(70474),w=r(35526);const v=e=>{var t;let{widgetMgr:r,id:n,key:o,defaultValue:l}=e;(0,i.useEffect)((()=>{const e=r.getElementState(n,o);(0,u.hX)(e)&&(0,u.se)(l)&&r.setElementState(n,o,l)}),[r,n,o,l]);const[a,s]=(0,i.useState)(null!==(t=r.getElementState(n,o))&&void 0!==t?t:l);return[a,(0,i.useCallback)((e=>{r.setElementState(n,o,e),s(e)}),[r,n,o])]};var j=r(69768),C=r(75577),k=r(3257),A=r(89653);const S=(0,A.A)("div",{target:"e12wn80j15"})(""),R=(0,A.A)("div",{target:"e12wn80j14"})((e=>{let{theme:t}=e;return{height:t.sizes.largestElementHeight,width:"100%",background:t.genericColors.secondaryBg,borderRadius:t.radii.default,marginBottom:t.spacing.twoXS,display:"flex",alignItems:"center",position:"relative",paddingLeft:t.spacing.xs,paddingRight:t.spacing.sm}}),""),I=(0,A.A)("div",{target:"e12wn80j13"})({name:"82a6rk",styles:"flex:1"}),U=(0,A.A)("div",{target:"e12wn80j12"})((e=>{let{show:t}=e;return{display:t?"block":"none"}}),""),T=(0,A.A)("span",{target:"e12wn80j11"})((e=>{let{theme:t,isPlayingOrRecording:r}=e;return{margin:t.spacing.sm,fontFamily:t.fonts.monospace,color:r?t.genericColors.bodyText:t.colors.fadedText60,backgroundColor:t.genericColors.secondaryBg,fontSize:t.fontSizes.sm}}),""),E=(0,A.A)("div",{target:"e12wn80j10"})((()=>({width:"100%",textAlign:"center",overflow:"hidden"})),""),P=(0,A.A)("span",{target:"e12wn80j9"})(""),L=(0,A.A)("a",{target:"e12wn80j8"})(""),F=(0,A.A)("div",{target:"e12wn80j7"})((e=>{let{theme:t}=e;return{height:t.sizes.largestElementHeight,display:"flex",justifyContent:"center",alignItems:"center"}}),""),M=(0,A.A)("div",{target:"e12wn80j6"})((e=>{let{theme:t}=e;return{height:10,opacity:.2,width:"100%",backgroundImage:`radial-gradient(${t.colors.fadedText10} 40%, transparent 40%)`,backgroundSize:"10px 10px",backgroundRepeat:"repeat"}}),""),z=(0,A.A)("span",{target:"e12wn80j5"})((e=>{let{theme:t}=e;return{"& > button":{color:t.colors.primary,padding:t.spacing.threeXS},"& > button:hover, & > button:focus":{color:t.colors.red}}}),""),B=(0,A.A)("span",{target:"e12wn80j4"})((e=>{let{theme:t}=e;return{"& > button":{padding:t.spacing.threeXS,color:t.colors.fadedText40},"& > button:hover, & > button:focus":{color:t.colors.primary}}}),""),O=(0,A.A)("span",{target:"e12wn80j3"})((e=>{let{theme:t}=e;return{"& > button":{padding:t.spacing.threeXS,color:t.colors.fadedText60},"& > button:hover, & > button:focus":{color:t.colors.bodyText}}}),""),X=(0,A.A)("div",{target:"e12wn80j2"})((e=>{let{theme:t}=e;return{display:"flex",justifyContent:"center",alignItems:"center",flexGrow:0,flexShrink:1,padding:t.spacing.xs,gap:t.spacing.twoXS,marginRight:t.spacing.twoXS}}),""),W=(0,A.A)("div",{target:"e12wn80j1"})((e=>{let{theme:t}=e;return{marginLeft:t.spacing.sm}}),""),$=(0,A.A)("div",{target:"e12wn80j0"})((e=>{let{theme:t}=e;return{marginTop:t.spacing.lg}}),"");var _=r(39095),N=r(90782);const D=()=>(0,N.jsxs)(E,{children:[(0,N.jsx)(P,{children:"This app would like to use your microphone."})," ",(0,N.jsx)(L,{href:_.ML,children:"Learn how to allow access."})]}),V=()=>(0,N.jsx)(F,{children:(0,N.jsx)(M,{})}),H="00:00",G=e=>new Date(e).toLocaleTimeString(void 0,{minute:"2-digit",second:"2-digit"});var K=r(96626),q=r(34783),Z=r(37789),Q=r(14757),Y=r(36459),J=r(84720),ee=r(64611);const te=e=>{let{onClick:t,disabled:r,ariaLabel:i,iconContent:n}=e;return(0,N.jsx)(Y.Ay,{kind:J.KX.BORDERLESS_ICON,onClick:t,disabled:r,"aria-label":i,fluidWidth:!0,"data-testid":"stAudioInputActionButton",children:(0,N.jsx)(ee.A,{content:n,size:"lg",color:"inherit"})})},re=e=>{let{disabled:t,stopRecording:r}=e;return(0,N.jsx)(z,{children:(0,N.jsx)(te,{onClick:r,disabled:t,ariaLabel:"Stop recording",iconContent:q.X})})},ie=e=>{let{disabled:t,isPlaying:r,onClickPlayPause:i}=e;return(0,N.jsx)(O,{children:r?(0,N.jsx)(te,{onClick:i,disabled:t,ariaLabel:"Pause",iconContent:Z.v}):(0,N.jsx)(te,{onClick:i,disabled:t,ariaLabel:"Play",iconContent:Q.S})})},ne=e=>{let{disabled:t,startRecording:r}=e;return(0,N.jsx)(B,{children:(0,N.jsx)(te,{onClick:r,disabled:t,ariaLabel:"Record",iconContent:K.G})})},oe=e=>{let{disabled:t,isRecording:r,isPlaying:i,recordingUrlExists:n,startRecording:o,stopRecording:l,onClickPlayPause:a}=e;return(0,N.jsxs)(X,{children:[r?(0,N.jsx)(re,{disabled:t,stopRecording:l}):(0,N.jsx)(ne,{disabled:t,startRecording:o}),n&&(0,N.jsx)(ie,{disabled:t,isPlaying:i,onClickPlayPause:a})]})},le=(0,i.memo)(oe),ae=e=>{var t;let{element:r,uploadClient:s,widgetMgr:p,fragmentId:A,disabled:E}=e;const P=(0,i.useMemo)((()=>{const{browserName:e,os:t}=(0,j.A)();return"Safari"===e||"iOS"===t}),[]),L=(0,n.u)(),F=(0,w.Z)(L),[M,z]=(0,i.useState)(null),B=i.useRef(null),[O,X]=v({widgetMgr:p,id:r.id,key:"deleteFileUrl"}),[_,K]=(0,i.useState)(null),[q,Z]=(0,i.useState)([]),[Q,Y]=(0,i.useState)(null),[J,ee]=v({widgetMgr:p,id:r.id,key:"recordingUrl"}),[,te]=(0,i.useState)(0),re=()=>{te((e=>e+1))},[ie,ne]=(0,i.useState)(H),[oe,ae]=v({widgetMgr:p,id:r.id,key:"recordingTime",defaultValue:H}),[se,de]=(0,i.useState)(!1),[ce,ue]=(0,i.useState)(!1),[ge,pe]=(0,i.useState)(!1),me=r.id,fe=r.formId,he=(0,i.useCallback)((e=>{(async e=>{let{files:t,uploadClient:r,widgetMgr:i,widgetInfo:n,fragmentId:o}=e,l=[];try{l=await r.fetchFileURLs(t)}catch(c){return{successfulUploads:[],failedUploads:t.map((e=>({file:e,error:(0,h.$)(c)})))}}const a=m()(t,l),s=[],d=[];return await Promise.all(a.map((async e=>{let[t,i]=e;if(!t||!i||!i.uploadUrl||!i.fileId)return{file:t,fileUrl:i,error:new Error("No upload URL found")};try{await r.uploadFile({id:i.fileId,formId:n.formId||""},i.uploadUrl,t),s.push({fileUrl:i,file:t})}catch(c){const r=(0,h.$)(c);d.push({file:t,error:r})}}))),i.setFileUploaderStateValue(n,new f.qX({uploadedFileInfo:s.map((e=>{let{file:t,fileUrl:r}=e;return new f.HY({fileId:r.fileId,fileUrls:r,name:t.name,size:t.size})}))}),{fromUi:!0},o),{successfulUploads:s,failedUploads:d}})({files:[e],uploadClient:s,widgetMgr:p,widgetInfo:{id:me,formId:fe},fragmentId:A}).then((e=>{let{successfulUploads:t}=e;const r=t[0];r&&r.fileUrl.deleteUrl&&X(r.fileUrl.deleteUrl)}))}),[s,p,me,fe,A,X]),be=(0,i.useCallback)((e=>{let{updateWidgetManager:t}=e;(0,u.hX)(M)||(0,u.hX)(O)||(ee(null),M.empty(),s.deleteFile(O),ne(H),ae(H),X(null),t&&p.setFileUploaderStateValue(r,{},{fromUi:!0},A),de(!1),(0,u.se)(J)&&URL.revokeObjectURL(J))}),[O,J,s,M,r,p,A,ae,ee,X]),xe=(0,i.useCallback)((()=>{if(null===B.current)return;const e=o.A.create({container:B.current,waveColor:J?(0,g.au)(L.colors.fadedText40,L.genericColors.secondaryBg):L.colors.primary,progressColor:L.colors.bodyText,height:parseFloat(getComputedStyle(document.documentElement).fontSize)*parseFloat(L.sizes.largestElementHeight.replace("rem",""))-8,barWidth:4,barGap:4,barRadius:8,cursorWidth:0,url:null!==J&&void 0!==J?J:void 0});e.on("timeupdate",(e=>{ne(G(1e3*e))})),e.on("pause",(()=>{re()}));const t=e.registerPlugin(l.A.create({scrollingWaveform:!1,renderRecordedAudio:!0}));return t.on("record-end",(e=>{const t=URL.createObjectURL(e);ee(t);const r=new File([e],"audio.wav",{type:e.type});he(r)})),t.on("record-progress",(e=>{ae(G(e))})),z(e),K(t),()=>{e&&e.destroy(),t&&t.destroy()}}),[he]);(0,i.useEffect)((()=>xe()),[xe]),(0,i.useEffect)((()=>{d()(F,L)||null===M||void 0===M||M.setOptions({waveColor:J?(0,g.au)(L.colors.fadedText40,L.genericColors.secondaryBg):L.colors.primary,progressColor:L.colors.bodyText})}),[L,F,J,M]);const ye=(0,i.useCallback)((()=>{M&&(M.playPause(),de(!0),re())}),[M]),we=(0,i.useCallback)((async()=>{let e=Q;ge||(await navigator.mediaDevices.getUserMedia({audio:!0}).then((()=>l.A.getAvailableAudioDevices().then((t=>{if(Z(t),t.length>0){const{deviceId:r}=t[0];Y(r),e=r}})))).catch((e=>{ue(!0)})),pe(!0)),_&&e&&M&&(M.setOptions({waveColor:L.colors.primary}),J&&be({updateWidgetManager:!1}),_.startRecording({deviceId:e}).then((()=>{re()})))}),[Q,_,L,M,J,be,ge]),ve=(0,i.useCallback)((()=>{_&&(_.stopRecording(),null===M||void 0===M||M.setOptions({waveColor:(0,g.au)(L.colors.fadedText40,L.genericColors.secondaryBg)}))}),[_,M,L]),je=Boolean(null===_||void 0===_?void 0:_.isRecording()),Ce=Boolean(null===M||void 0===M?void 0:M.isPlaying()),ke=je||Ce,Ae=!je&&!J&&!ce,Se=ce||Ae,Re=E||ce||P;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(S,{className:"stAudioInput","data-testid":"stAudioInput",children:[(0,N.jsx)(y.L,{label:r.label,disabled:Re,labelVisibility:(0,u.yv)(null===(t=r.labelVisibility)||void 0===t?void 0:t.value),children:r.help&&(0,N.jsx)(W,{children:(0,N.jsx)(b.A,{content:r.help,placement:x.W.TOP})})}),(0,N.jsxs)(R,{children:[(0,N.jsx)(c.A,{isFullScreen:!1,disableFullscreenMode:!0,target:R,children:O&&(0,N.jsx)(c.K,{label:"Clear recording",icon:a.e,onClick:()=>be({updateWidgetManager:!0}),"data-testid":"stAudioInputClearRecordingButton"})}),(0,N.jsx)(le,{isRecording:je,isPlaying:Ce,recordingUrlExists:Boolean(J),startRecording:we,stopRecording:ve,onClickPlayPause:ye,disabled:Re}),(0,N.jsxs)(I,{children:[Ae&&(0,N.jsx)(V,{}),ce&&(0,N.jsx)(D,{}),(0,N.jsx)(U,{"data-testid":"stAudioInputWaveSurfer",ref:B,show:!Se})]}),(0,N.jsx)(T,{isPlayingOrRecording:ke,"data-testid":"stAudioInputWaveformTimeCode",children:se?ie:oe})]})]}),P&&(0,N.jsx)($,{children:(0,N.jsx)(C.A,{width:100,kind:k.b.WARNING,body:"`st.experimental_audio_input` does not yet work on this browser. It will be supported in one of the next versions of Streamlit. Please use Chrome or Firefox on a non-iOS device for now."})})]})},se=(0,i.memo)(ae)},35526:(e,t,r)=>{r.d(t,{Z:()=>n});var i=r(58878);const n=e=>{const t=(0,i.useRef)();return(0,i.useEffect)((()=>{t.current=e}),[e]),t.current}}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[3710],{40223:(e,t,o)=>{"use strict";o.r(t),o.d(t,{default:()=>xe});var i=o(58878),r=o(6334),n=o(72192),l=o(59353),a=o(78025),s=o(43338),c=o(8151),d=o(68994),h=o(58144),u=o(85850),g=o(22044),m=o(29669);var p=o(53124),b=o.n(p),f=o(32782),v=o(67253),y=o(1780),w=o(84152),S=o(6240),x=o(90782);const j=e=>{let{error:t,width:o,deltaType:i}=e;return t instanceof C?(0,x.jsx)(S.A,{width:o,name:"No Mapbox token provided",message:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("p",{children:["To use ",(0,x.jsxs)("code",{children:["st.",i]})," or ",(0,x.jsx)("code",{children:"st.map"})," you need to set up a Mapbox access token."]}),(0,x.jsxs)("p",{children:["To get a token, create an account at"," ",(0,x.jsx)("a",{href:"https://mapbox.com",children:"https://mapbox.com"}),". It's free for moderate usage levels!"]}),(0,x.jsxs)("p",{children:["Once you have a token, just set it using the Streamlit config option ",(0,x.jsx)("code",{children:"mapbox.token"})," and don't forget to restart your Streamlit server at this point if it's still running, then reload this tab."]}),(0,x.jsxs)("p",{children:["See"," ",(0,x.jsx)("a",{href:"https://docs.streamlit.io/develop/api-reference/configuration/config.toml",children:"our documentation"})," ","for more info on how to set config options."]})]})}):t instanceof k?(0,x.jsx)(S.A,{width:o,name:"Error fetching Streamlit Mapbox token",message:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("p",{children:"This app requires an internet connection."}),(0,x.jsx)("p",{children:"Please check your connection and try again."}),(0,x.jsxs)("p",{children:["If you think this is a bug, please file bug report"," ",(0,x.jsx)("a",{href:"https://github.com/streamlit/streamlit/issues/new/choose",children:"here"}),"."]})]})}):(0,x.jsx)(S.A,{width:o,name:"Error fetching Streamlit Mapbox token",message:t.message})};class C extends Error{}class k extends Error{}const A="https://data.streamlit.io/tokens.json",F="mapbox",M=e=>t=>{class o extends i.PureComponent{constructor(o){super(o),this.context=void 0,this.initMapboxToken=async()=>{try{const e=await f.A.get(A),{[F]:t}=e.data;if(!t)throw new Error(`Missing token ${F}`);this.setState({mapboxToken:t,isFetching:!1})}catch(e){const t=(0,v.$)(e);throw this.setState({mapboxTokenError:t,isFetching:!1}),new k(`${t.message} (${A})`)}},this.render=()=>{const{mapboxToken:o,mapboxTokenError:i,isFetching:r}=this.state,{width:n}=this.props;return i?(0,x.jsx)(j,{width:n,error:i,deltaType:e}):r?(0,x.jsx)(y.E,{element:m.EA.create({style:m.EA.SkeletonStyle.ELEMENT})}):(0,x.jsx)(t,{...this.props,mapboxToken:o,width:n})},this.state={isFetching:!0,mapboxToken:void 0,mapboxTokenError:void 0}}componentDidMount(){const e=this.props.element.mapboxToken||this.context.libConfig.mapboxToken;e?this.setState({mapboxToken:e,isFetching:!1}):this.initMapboxToken()}}return o.displayName=`withMapboxToken(${t.displayName||t.name})`,o.contextType=w.n,b()(o,t)};var T=o(89653);const N=(0,T.A)("div",{target:"e1az0zs51"})((e=>{let{width:t,height:o}=e;return{position:"relative",height:o,width:t}}),""),E=(0,T.A)("div",{target:"e1az0zs50"})((e=>{let{theme:t}=e;return{position:"absolute",right:"2.625rem",top:t.spacing.md,zIndex:1,".mapboxgl-ctrl.mapboxgl-ctrl-group":{overflow:"hidden",background:t.colors.bgColor},"button:not(:disabled)":{background:t.colors.bgColor,"& + button":{borderTopColor:t.colors.secondaryBg},"&.mapboxgl-ctrl-icon:hover":{backgroundColor:(0,h.iq)(t)?"":t.colors.darkenedBgMix25},"& span":{filter:(0,h.iq)(t)?"":"invert(100%)"}}}}),"");var I=o(21640),O=o(71034),V=o.n(O),$=o(32735);var W=o(3101),D=o(14251),U=o(86202),P=o(26592),_=o(64639),z=o(73417),J=o(27126),B=o(38287);const L={classes:{...z,...o(19720),...B,...o(14249),CartoLayer:D.A},functions:{colorBins:U.A,colorCategories:P.A,colorContinuous:_.A}},q=new J.A({configuration:L});var G=o(44605),X=o(24983),Z=o(68212),K=o(20302),R=o(52265),H=o(60152),Q=o(70023),Y=o(6934),ee=o(34676),te=o(36217),oe=o(79579),ie=o(5830),re=o(74839),ne=o(16554),le=o(10762),ae=o(71749),se=o(45310),ce=o(26642),de=o(38610),he=o(41881);const ue={[ie.A.layerName]:["getFillColor"],[re.A.layerName]:["getFillColor"],[ne.Ay.layerName]:["getFillColor"],[le.A.layerName]:["getFillColor"],[ae.A.layerName]:["getFillColor"],[se.A.layerName]:["getFillColor"],[ce.A.layerName]:["getColor"],[G.A.layerName]:["getTargetColor","getSourceColor"],[X.A.layerName]:["getFillColor"],[Z.A.layerName]:["getFillColor"],[K.A.layerName]:["getColor"],[R.A.layerName]:["getColor"],[H.A.layerName]:["getColor"],[Q.A.layerName]:["getColor"],[Y.A.layerName]:["getFillColor"],[ee.A.layerName]:["getFillColor"],[te.A.layerName]:["getFillColor"],[oe.A.layerName]:["getColor"],[de.A.layerName]:["getColor"],[he.A.layerName]:["getColor"]},ge=e=>{let{isSelected:t,object:o,objectInfo:i,opacity:r,originalFillFunction:n}=e;const l=(e=>{let{object:t,objectInfo:o,originalFillFunction:i}=e;const r="function"===typeof i?i(t,o):i;if(Array.isArray(r))return[r[0]||0,r[1]||0,r[2]||0,r[3]||255];if("string"===typeof r&&r.startsWith("@@=")){const e=q.convert({originalColor:r}).originalColor(t);return[e[0]||0,e[1]||0,e[2]||0,e[3]||255]}return null})({object:o,objectInfo:i,originalFillFunction:n});if(!l)return null;let a=0;return a=t?Math.max("number"===typeof l[3]?l[3]:r,r):Math.min("number"===typeof l[3]?l[3]:r,r),[l[0]||0,l[1]||0,l[2]||0,a]},me={selection:{indices:{},objects:{}}},pe=(e,t)=>{const o=t.match(/{(.*?)}/g);return o&&o.forEach((o=>{const i=o.substring(1,o.length-1);e.object.hasOwnProperty(i)?t=t.replace(o,e.object[i]):e.object.hasOwnProperty("properties")&&e.object.properties.hasOwnProperty(i)&&(t=t.replace(o,e.object.properties[i]))})),t};function be(e,t){if(!t.id)return me;const o=e.getElementState(t.id,"selection");return null!==o&&void 0!==o?o:me}function fe(e,t){if(!t.id)return me;const o=e.getStringValue(t),i=o?I.A.parse(o):null;return null!==i&&void 0!==i?i:me}function ve(e,t,o,i){e.id&&t.setStringValue(e,JSON.stringify(o.value),{fromUi:o.fromUi},i)}const ye=e=>{var t;const{element:o,fragmentId:r,height:n,isFullScreen:l,isLightTheme:a,theme:s,widgetMgr:c,width:d}=e,{selectionMode:h,tooltip:u,useContainerWidth:g}=o,m=null!==l&&void 0!==l&&l,[p,b]=(0,W._)({element:o,getDefaultState:be,getStateFromWidgetMgr:fe,updateWidgetMgrState:ve,widgetMgr:c,fragmentId:r}),[f,v]=(0,i.useState)({bearing:0,pitch:0,zoom:11}),{height:y,width:w}=(e=>{let{container:t,element:o,heightFallback:r="auto",isFullScreen:n,shouldUseContainerWidth:l,widthFallback:a="auto"}=e;return{width:(0,i.useMemo)((()=>l||n?"100%":o.width||t.width||a),[t.width,o.width,n,l,a]),height:(0,i.useMemo)((()=>n&&t.height?t.height:o.height||t.height||r),[n,o.height,t.height,r])}})({element:o,isFullScreen:m,shouldUseContainerWidth:g,container:{height:n,width:d},heightFallback:(null===(t=f.initialViewState)||void 0===t?void 0:t.height)||500}),[S,x]=(0,i.useState)({}),j=h[0],C=void 0!==j,k=C&&Object.keys(p.selection.indices).length>0,A=(0,i.useMemo)((()=>Object.freeze(I.A.parse(o.json))),[m,a,o.json]),F=(0,i.useMemo)((()=>{const e={...A};if(e.mapStyle||(e.mapStyle=`mapbox://styles/mapbox/${a?"light":"dark"}-v9`),m?Object.assign(e.initialViewState,{width:w,height:y}):(e.initialViewState.height||(e.initialViewState.height=500),g&&(e.initialViewState.width=w)),e.layers){const t=Object.values(p.selection.indices).some((e=>null===e||void 0===e?void 0:e.length)),o=e.layers.some((e=>Object.hasOwn(e,"pickable")));e.layers=e.layers.map((e=>{var i,r;if(!e||Array.isArray(e)||!C)return e;o||(e.pickable=!0);const n=`${e.id||null}`,l=(null===p||void 0===p||null===(i=p.selection)||void 0===i||null===(r=i.indices)||void 0===r?void 0:r[n])||[],a=ue[e["@@type"]];if(!a)return e;const c={...e};return a.forEach((o=>{var i;c.updateTriggers={[o]:[...(null===(i=c.updateTriggers)||void 0===i?void 0:i[o])||[],l,t]};if(!t)return c;const r=e[o],n=(0,$.Du)(s.colors.primary),a=(0,$.Du)(s.colors.gray20);c[o]=(e,t)=>(e=>{let{isSelected:t,object:o,objectInfo:i,originalFillFunction:r,selectedColor:n,selectedOpacity:l=255,unselectedColor:a,unselectedOpacity:s=Math.floor(102)}=e;return t?ge({opacity:l,isSelected:!0,object:o,objectInfo:i,originalFillFunction:r})||n:ge({opacity:s,isSelected:!1,object:o,objectInfo:i,originalFillFunction:r})||a})({isSelected:l.includes(t.index),object:e,objectInfo:t,originalFillFunction:r,selectedColor:n,unselectedColor:a})})),c}))}return null===e||void 0===e||delete e.views,q.convert(e)}),[p.selection.indices,y,m,a,C,A,g,s.colors.gray20,s.colors.primary,w]);(0,i.useEffect)((()=>{if(!V()(F.initialViewState,S)){const e=Object.keys(F.initialViewState).reduce(((e,t)=>F.initialViewState[t]===S[t]?e:{...e,[t]:F.initialViewState[t]}),{});v({...f,...e}),x(F.initialViewState)}}),[F.initialViewState,S,f]);const M=(0,i.useCallback)((e=>{if(!e||!e.object||!u)return null;const t=I.A.parse(u);return t.html?t.html=pe(e,t.html):t.text=pe(e,t.text),t}),[u]),T=(0,i.useCallback)((e=>{let{viewState:t}=e;v(t)}),[v]);return{createTooltip:M,data:p,deck:F,hasActiveSelection:k,height:y,isSelectionModeActivated:C,onViewStateChange:T,selectionMode:j,setSelection:b,viewState:f,width:w}};o(93298);(0,s.mk)([l.y,a.B]);const we=me.selection,Se=[],xe=M("st.pydeck_chart")((0,g.A)((e=>{const{collapse:t,disabled:o,disableFullscreenMode:l,element:a,expand:s,fragmentId:g,height:p,isFullScreen:b,mapboxToken:f,widgetMgr:v,width:y}=e,{mapboxToken:w}=a,S=(0,c.u)(),{createTooltip:j,data:C,deck:k,hasActiveSelection:A,height:F,isSelectionModeActivated:M,onViewStateChange:T,selectionMode:I,setSelection:O,viewState:V,width:$}=ye({element:a,fragmentId:g,height:p,isFullScreen:b,isLightTheme:(0,h.iq)(S),theme:S,widgetMgr:v,width:y}),[W,D]=(0,i.useState)(!1);(0,i.useEffect)((()=>{D(!0)}),[]);const U=(0,i.useCallback)((e=>{var t;if(void 0===I)return;const{index:o,object:i}=e,r=`${(null===(t=e.layer)||void 0===t?void 0:t.id)||null}`,n=C,l=-1===o,a=(()=>{if(l)return we;switch(I){case m.Xw.SelectionMode.SINGLE_OBJECT:var e;return(null===(e=n.selection.indices[r])||void 0===e?void 0:e[0])===o?we:{indices:{[`${r}`]:[o]},objects:{[`${r}`]:[i]}};case m.Xw.SelectionMode.MULTI_OBJECT:{const e=new Map(((null===n||void 0===n||null===(t=n.selection)||void 0===t||null===(a=t.indices)||void 0===a?void 0:a[r])||[]).map(((e,t)=>{var o,i,l;return[e,null===(o=n.selection)||void 0===o||null===(i=o.objects)||void 0===i||null===(l=i[r])||void 0===l?void 0:l[t]]})));if(e.has(o)?e.delete(o):e.set(o,i),0===e.size){const{[r]:e,...t}=n.selection.indices,{[r]:o,...i}=n.selection.objects;return{indices:t,objects:i}}return{indices:{...n.selection.indices,[`${r}`]:Array.from(e.keys())},objects:{...n.selection.objects,[`${r}`]:Array.from(e.values())}}}default:throw(e=>{throw new Error(`Reached a branch with non-exhaustive item: ${e}`)})(I),new Error("Invalid selection mode")}var t,a})();JSON.stringify(a)!==JSON.stringify(n.selection)&&O({fromUi:!0,value:{selection:a}})}),[I,C,O]),P=(0,i.useCallback)((()=>{O({value:{selection:we},fromUi:!0})}),[O]);return(0,x.jsxs)(N,{className:"stDeckGlJsonChart","data-testid":"stDeckGlJsonChart",width:$,height:F,children:[(0,x.jsx)(u.A,{isFullScreen:b,disableFullscreenMode:l,onExpand:s,onCollapse:t,target:N,locked:!(!A||o)||void 0,children:A&&!o&&(0,x.jsx)(u.K,{label:"Clear selection",onClick:P,icon:d.b})}),(0,x.jsxs)(r.A,{viewState:V,onViewStateChange:T,height:F,width:$,layers:W?k.layers:Se,getTooltip:j,ContextProvider:n.wZ.Provider,controller:!0,onClick:M&&!o?U:void 0,children:[(0,x.jsx)(n.b,{height:F,width:$,mapStyle:k.mapStyle&&("string"===typeof k.mapStyle?k.mapStyle:k.mapStyle[0]),mapboxApiAccessToken:w||f}),(0,x.jsx)(E,{children:(0,x.jsx)(n.ov,{"data-testid":"stDeckGlJsonChartZoomButton",showCompass:!1})})]})]})}),!0))},3101:(e,t,o)=>{"use strict";o.d(t,{_:()=>l,t:()=>a});var i=o(58878),r=o(34752),n=o(25571);function l(e){let{getStateFromWidgetMgr:t,getDefaultState:o,updateWidgetMgrState:l,element:a,widgetMgr:s,fragmentId:c}=e;const[d,h]=(0,i.useState)((()=>{var e;return null!==(e=t(s,a))&&void 0!==e?e:o(s,a)})),[u,g]=(0,i.useState)({value:d,fromUi:!1});(0,i.useEffect)((()=>{(0,n.hX)(u)||(g(null),h(u.value),l(a,s,u,c))}),[u,l,a,s,c]);const m=(0,i.useCallback)((()=>{g({value:o(s,a),fromUi:!0})}),[g,a,o,s]);return(0,r.X)({widgetMgr:s,element:a,onFormCleared:m}),[d,g]}function a(e){let{getStateFromWidgetMgr:t,getDefaultStateFromProto:o,getCurrStateFromProto:r,updateWidgetMgrState:n,element:a,widgetMgr:s,fragmentId:c}=e;const d=(0,i.useCallback)(((e,t)=>o(t)),[o]),[h,u]=l({getStateFromWidgetMgr:t,getDefaultState:d,updateWidgetMgrState:n,element:a,widgetMgr:s,fragmentId:c});return(0,i.useEffect)((()=>{a.setValue&&(a.setValue=!1,u({value:r(a),fromUi:!1}))}),[a,r,u]),[h,u]}},63872:()=>{},35111:()=>{}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[5281],{3727:(e,t,i)=>{i.d(t,{A:()=>c,o:()=>p});var s=i(58878),n=i(8151),l=i(70766),r=i(35331),a=i(58144),o=i(84152),d=i(90782);let p;!function(e){e.EXTRASMALL="xs",e.SMALL="sm",e.MEDIUM="md",e.LARGE="lg",e.EXTRALARGE="xl"}(p||(p={}));const c=function(e){let{value:t,width:i,size:c=p.SMALL,overrides:g}=e;const h=(0,n.u)(),u={xs:h.spacing.twoXS,sm:h.spacing.sm,md:h.spacing.lg,lg:h.spacing.xl,xl:h.spacing.twoXL},{activeTheme:m}=s.useContext(o.n),f=!(0,a.tl)(m),x={BarContainer:{style:{marginTop:h.spacing.none,marginBottom:h.spacing.none,marginRight:h.spacing.none,marginLeft:h.spacing.none}},Bar:{style:e=>{let{$theme:t}=e;return{width:i?i.toString():void 0,marginTop:h.spacing.none,marginBottom:h.spacing.none,marginRight:h.spacing.none,marginLeft:h.spacing.none,height:u[c],backgroundColor:t.colors.progressbarTrackFill,borderTopLeftRadius:h.spacing.twoXS,borderTopRightRadius:h.spacing.twoXS,borderBottomLeftRadius:h.spacing.twoXS,borderBottomRightRadius:h.spacing.twoXS}}},BarProgress:{style:()=>({backgroundColor:f?h.colors.primary:h.colors.blue70,borderTopLeftRadius:h.spacing.twoXS,borderTopRightRadius:h.spacing.twoXS,borderBottomLeftRadius:h.spacing.twoXS,borderBottomRightRadius:h.spacing.twoXS})}};return(0,d.jsx)(l.A,{value:t,overrides:(0,r.Qp)(x,g)})}},9830:(e,t,i)=>{i.d(t,{m:()=>s});class s{setStatus(e){return new s(this.name,this.size,this.id,e)}constructor(e,t,i,s){this.name=void 0,this.size=void 0,this.status=void 0,this.id=void 0,this.name=e,this.size=t,this.id=i,this.status=s}}},55281:(e,t,i)=>{i.r(t),i.d(t,{default:()=>he});var s=i(58878),n=i(32782),l=i(71034),r=i.n(l),a=i(50609),o=i.n(a),d=i(25571),p=i(29669),c=i(34752);let g;!function(e){e.Gigabyte="gb",e.Megabyte="mb",e.Kilobyte="kb",e.Byte="b"}(g||(g={}));const h=(0,d.Q2)()?1024:1e3,u=[g.Gigabyte,g.Megabyte,g.Kilobyte,g.Byte],m=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(t||(t=g.Byte),i<0&&(i=0),e<0)throw new Error("Size must be greater than or equal to 0");const s=u.indexOf(t);return s&&e>h/2?m(e/h,u[s-1],i):`${e.toFixed(i)}${t.toUpperCase()}`};var f=i(70474),x=i(78286),w=i(93480),y=i(997),b=i(97779),F=i(36459),S=i(84720),v=i(89653);const I=(0,v.A)("section",{target:"e1b2p2ww15"})((e=>{let{isDisabled:t,theme:i}=e;return{display:"flex",alignItems:"center",padding:i.spacing.lg,backgroundColor:i.colors.secondaryBg,borderRadius:i.radii.default,":focus":{outline:"none"},":focus-visible":{boxShadow:`0 0 0 1px ${i.colors.primary}`},color:t?i.colors.gray:i.colors.bodyText}}),""),j=(0,v.A)("div",{target:"e1b2p2ww14"})((()=>({marginRight:"auto",alignItems:"center",display:"flex"})),""),U=(0,v.A)("span",{target:"e1b2p2ww13"})((e=>{let{theme:t}=e;return{color:t.colors.darkenedBgMix100,marginRight:t.spacing.lg}}),""),A=(0,v.A)("span",{target:"e1b2p2ww12"})((e=>{let{theme:t}=e;return{marginBottom:t.spacing.twoXS}}),""),L=(0,v.A)("div",{target:"e1b2p2ww11"})({name:"1fttcpj",styles:"display:flex;flex-direction:column"}),z=(0,v.A)("div",{target:"e1b2p2ww10"})((e=>{let{theme:t}=e;return{left:0,right:0,lineHeight:t.lineHeights.tight,paddingTop:t.spacing.md,paddingLeft:t.spacing.lg,paddingRight:t.spacing.lg}}),""),M=(0,v.A)("ul",{target:"e1b2p2ww9"})((e=>{let{theme:t}=e;return{listStyleType:"none",marginBottom:t.spacing.none}}),""),C=(0,v.A)("li",{target:"e1b2p2ww8"})((e=>{let{theme:t}=e;return{margin:t.spacing.none,padding:t.spacing.none}}),""),B=(0,v.A)("div",{target:"e1b2p2ww7"})((e=>{let{theme:t}=e;return{display:"flex",alignItems:"baseline",flex:1,paddingLeft:t.spacing.lg,overflow:"hidden"}}),""),X=(0,v.A)("div",{target:"e1b2p2ww6"})((e=>{let{theme:t}=e;return{marginRight:t.spacing.sm,marginBottom:t.spacing.twoXS,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}),""),R=(0,v.A)("div",{target:"e1b2p2ww5"})((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center",marginBottom:t.spacing.twoXS}}),""),k=(0,v.A)("span",{target:"e1b2p2ww4"})((e=>{let{theme:t}=e;return{marginRight:t.spacing.twoXS}}),""),T=(0,v.A)("div",{target:"e1b2p2ww3"})((e=>{let{theme:t}=e;return{display:"flex",padding:t.spacing.twoXS,color:t.colors.darkenedBgMix100}}),""),D=(0,v.A)("small",{target:"e1b2p2ww2"})((e=>{let{theme:t}=e;return{color:t.colors.danger,fontSize:t.fontSizes.sm,height:t.fontSizes.sm,lineHeight:t.fontSizes.sm,display:"flex",alignItems:"center",whiteSpace:"nowrap"}}),""),E=(0,v.A)("span",{target:"e1b2p2ww1"})({name:"0",styles:""}),P=e=>({[I]:{display:"flex",flexDirection:"column",alignItems:"flex-start"},[j]:{marginBottom:e.spacing.lg},[U]:{display:"none"},[z]:{paddingRight:e.spacing.lg},[R]:{maxWidth:"inherit",flex:1,alignItems:"flex-start",marginBottom:e.spacing.sm},[X]:{width:e.sizes.full},[B]:{flexDirection:"column"},[D]:{height:"auto",whiteSpace:"initial"},[E]:{display:"none"},[C]:{margin:e.spacing.none,padding:e.spacing.none}}),V=(0,v.A)("div",{target:"e1b2p2ww0"})((e=>{let{theme:t}=e;return t.inSidebar?P(t):{[`@media (max-width: ${t.breakpoints.sm})`]:P(t)}}),"");var N=i(72718),$=i(64611),W=i(12978),H=i(90782);const O=e=>{let{multiple:t,acceptedExtensions:i,maxSizeBytes:s}=e;return(0,H.jsxs)(j,{"data-testid":"stFileUploaderDropzoneInstructions",children:[(0,H.jsx)(U,{children:(0,H.jsx)($.A,{content:N.b,size:"threeXL"})}),(0,H.jsxs)(L,{children:[(0,H.jsxs)(A,{children:["Drag and drop file",t?"s":""," here"]}),(0,H.jsxs)(W.O,{children:[`Limit ${m(s,g.Byte,0)} per file`,i.length?` \u2022 ${i.map((e=>e.replace(/^\./,"").toUpperCase())).join(", ")}`:null]})]})]})},_=e=>{let{onDrop:t,multiple:i,acceptedExtensions:s,maxSizeBytes:n,disabled:l,label:r}=e;return(0,H.jsx)(b.Ay,{onDrop:t,multiple:i,accept:s.length?s:void 0,maxSize:n,disabled:l,useFsAccessApi:!1,children:e=>{let{getRootProps:t,getInputProps:a}=e;return(0,H.jsxs)(I,{...t(),"data-testid":"stFileUploaderDropzone",isDisabled:l,"aria-label":r,children:[(0,H.jsx)("input",{"data-testid":"stFileUploaderDropzoneInput",...a()}),(0,H.jsx)(O,{multiple:i,acceptedExtensions:s,maxSizeBytes:n}),(0,H.jsx)(F.Ay,{kind:S.KX.SECONDARY,disabled:l,size:S.Pj.SMALL,children:"Browse files"})]})}})};var K=i(53124),G=i.n(K),q=i(35526),Q=i(77434),Y=i(76370);const Z=(0,v.A)("div",{target:"e1nlpozb1"})((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:t.spacing.twoXS,marginBottom:t.spacing.twoXS}}),""),J=(0,v.A)("div",{target:"e1nlpozb0"})((e=>{let{theme:t}=e;return{display:"flex",alignItems:"center",justifyContent:"center",color:t.colors.fadedText40}}),""),ee=e=>{let{currentPage:t,totalPages:i,onNext:s,onPrevious:n}=e;return(0,H.jsxs)(Z,{"data-testid":"stFileUploaderPagination",children:[(0,H.jsx)(W.O,{children:`Showing page ${t} of ${i}`}),(0,H.jsxs)(J,{children:[(0,H.jsx)(F.Ay,{onClick:n,kind:S.KX.MINIMAL,children:(0,H.jsx)($.A,{content:Q.J,size:"xl"})}),(0,H.jsx)(F.Ay,{onClick:s,kind:S.KX.MINIMAL,children:(0,H.jsx)($.A,{content:Y.c,size:"xl"})})]})]})},te=(e,t)=>Math.ceil(e.length/t),ie=e=>G()((t=>{let{pageSize:i,items:n,resetOnAdd:l,...r}=t;const[a,o]=(0,s.useState)(0),[d,p]=(0,s.useState)(te(n,i)),c=(0,q.Z)(n);(0,s.useEffect)((()=>{c&&c.length!==n.length&&p(te(n,i)),c&&c.length<n.length?l&&o(0):a+1>=d&&o(d-1)}),[n,a,i,c,l,d]);const g=n.slice(a*i,a*i+i);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(e,{items:g,...r}),n.length>i?(0,H.jsx)(ee,{pageSize:i,totalPages:d,currentPage:a+1,onNext:()=>{o(Math.min(a+1,d-1))},onPrevious:()=>{o(Math.max(0,a-1))}}):null]})}),e);var se=i(2742),ne=i(97522),le=i(64754),re=i(3727);const ae=e=>{let{fileInfo:t}=e;return"uploading"===t.status.type?(0,H.jsx)(re.A,{value:t.status.progress,size:re.o.SMALL,overrides:{Bar:{style:{marginLeft:0,marginTop:"4px"}}}}):"error"===t.status.type?(0,H.jsxs)(D,{children:[(0,H.jsx)(k,{"data-testid":"stFileUploaderFileErrorMessage",children:t.status.errorMessage}),(0,H.jsx)(E,{children:(0,H.jsx)($.A,{content:se.$,size:"lg"})})]}):"uploaded"===t.status.type?(0,H.jsx)(W.O,{children:m(t.size,g.Byte)}):null},oe=e=>{let{fileInfo:t,onDelete:i}=e;return(0,H.jsxs)(R,{className:"stFileUploaderFile","data-testid":"stFileUploaderFile",children:[(0,H.jsx)(T,{children:(0,H.jsx)($.A,{content:ne.i,size:"twoXL"})}),(0,H.jsxs)(B,{className:"stFileUploaderFileData",children:[(0,H.jsx)(X,{className:"stFileUploaderFileName","data-testid":"stFileUploaderFileName",title:t.name,children:t.name}),(0,H.jsx)(ae,{fileInfo:t})]}),(0,H.jsx)("div",{"data-testid":"stFileUploaderDeleteBtn",children:(0,H.jsx)(F.Ay,{onClick:()=>i(t.id),kind:S.KX.MINIMAL,children:(0,H.jsx)($.A,{content:le.k,size:"lg"})})})]})},de=ie((e=>{let{items:t,onDelete:i}=e;return(0,H.jsx)(M,{children:t.map((e=>(0,H.jsx)(C,{children:(0,H.jsx)(oe,{fileInfo:e,onDelete:i})},e.id)))})})),pe=e=>(0,H.jsx)(z,{children:(0,H.jsx)(de,{...e})});var ce=i(9830);class ge extends s.PureComponent{constructor(e){super(e),this.formClearHelper=new c.o,this.localFileIdCounter=1,this.forceUpdatingStatus=!1,this.componentDidUpdate=()=>{if("ready"!==this.status)return;const e=this.createWidgetValue(),{element:t,widgetMgr:i,fragmentId:s}=this.props,n=i.getFileUploaderStateValue(t);r()(e,n)||i.setFileUploaderStateValue(t,e,{fromUi:!0},s)},this.reset=()=>{this.setState({files:[]})},this.dropHandler=(e,t)=>{const{element:i}=this.props,{multipleFiles:s}=i;if(!s&&0===e.length&&t.length>1){const i=t.findIndex((e=>1===e.errors.length&&"too-many-files"===e.errors[0].code));i>=0&&(e.push(t[i].file),t.splice(i,1))}if(this.props.uploadClient.fetchFileURLs(e).then((t=>{if(!s&&e.length>0){const e=this.state.files.find((e=>"error"!==e.status.type));e&&(this.forceUpdatingStatus=!0,this.deleteFile(e.id),this.forceUpdatingStatus=!1)}o()(t,e).forEach((e=>{let[t,i]=e;this.uploadFile(t,i)}))})).catch((t=>{this.addFiles(e.map((e=>new ce.m(e.name,e.size,this.nextLocalFileId(),{type:"error",errorMessage:t}))))})),t.length>0){const e=t.map((e=>{const{file:t}=e;return new ce.m(t.name,t.size,this.nextLocalFileId(),{type:"error",errorMessage:this.getErrorMessage(e.errors[0].code,e.file)})}));this.addFiles(e)}},this.uploadFile=(e,t)=>{const i=n.A.CancelToken.source(),s=new ce.m(t.name,t.size,this.nextLocalFileId(),{type:"uploading",cancelToken:i,progress:1});this.addFile(s),this.props.uploadClient.uploadFile(this.props.element,e.uploadUrl,t,(e=>this.onUploadProgress(e,s.id)),i.token).then((()=>this.onUploadComplete(s.id,e))).catch((e=>{n.A.isCancel(e)||this.updateFile(s.id,s.setStatus({type:"error",errorMessage:e?e.toString():"Unknown error"}))}))},this.onUploadComplete=(e,t)=>{const i=this.getFile(e);(0,d.hX)(i)||"uploading"!==i.status.type||this.updateFile(i.id,i.setStatus({type:"uploaded",fileId:t.fileId,fileUrls:t}))},this.getErrorMessage=(e,t)=>{switch(e){case"file-too-large":return`File must be ${m(this.maxUploadSizeInBytes,g.Byte)} or smaller.`;case"file-invalid-type":return`${t.type} files are not allowed.`;case"file-too-small":return"File size is too small.";case"too-many-files":return"Only one file is allowed.";default:return"Unexpected error. Please try again."}},this.deleteFile=e=>{const t=this.getFile(e);(0,d.hX)(t)||("uploading"===t.status.type&&t.status.cancelToken.cancel(),"uploaded"===t.status.type&&t.status.fileUrls.deleteUrl&&this.props.uploadClient.deleteFile(t.status.fileUrls.deleteUrl),this.removeFile(e))},this.addFile=e=>{this.setState((t=>({files:[...t.files,e]})))},this.addFiles=e=>{this.setState((t=>({files:[...t.files,...e]})))},this.removeFile=e=>{this.setState((t=>({files:t.files.filter((t=>t.id!==e))})))},this.getFile=e=>this.state.files.find((t=>t.id===e)),this.updateFile=(e,t)=>{this.setState((i=>({files:i.files.map((i=>i.id===e?t:i))})))},this.onUploadProgress=(e,t)=>{const i=this.getFile(t);if((0,d.hX)(i)||"uploading"!==i.status.type)return;const s=Math.round(100*e.loaded/e.total);i.status.progress!==s&&this.updateFile(t,i.setStatus({type:"uploading",cancelToken:i.status.cancelToken,progress:s}))},this.onFormCleared=()=>{this.setState({files:[]},(()=>{const e=this.createWidgetValue();if((0,d.hX)(e))return;const{widgetMgr:t,element:i,fragmentId:s}=this.props;t.setFileUploaderStateValue(i,e,{fromUi:!0},s)}))},this.state=this.initialValue}get initialValue(){const e={files:[],newestServerFileId:0},{widgetMgr:t,element:i}=this.props,s=t.getFileUploaderStateValue(i);if((0,d.hX)(s))return e;const{uploadedFileInfo:n}=s;return(0,d.hX)(n)||0===n.length?e:{files:n.map((e=>{const t=e.name,i=e.size,s=e.fileId,n=e.fileUrls;return new ce.m(t,i,this.nextLocalFileId(),{type:"uploaded",fileId:s,fileUrls:n})}))}}componentWillUnmount(){this.formClearHelper.disconnect()}get maxUploadSizeInBytes(){return((e,t,i)=>{if(e<0)throw Error("Size must be 0 or greater");const s=u.findIndex((e=>e===t)),n=u.findIndex((e=>e===i));if(-1===s||-1===n)throw Error("Unexpected byte unit provided");if(s===n)return e;const l=Math.abs(s-n),r=h**l;return s>n?e/r:e*r})(this.props.element.maxUploadSizeMb,g.Megabyte,g.Byte)}get status(){return this.state.files.some((e=>"uploading"===e.status.type))||this.forceUpdatingStatus?"updating":"ready"}componentDidMount(){const e=this.createWidgetValue(),{element:t,widgetMgr:i,fragmentId:s}=this.props;void 0===i.getFileUploaderStateValue(t)&&i.setFileUploaderStateValue(t,e,{fromUi:!1},s)}createWidgetValue(){const e=this.state.files.filter((e=>"uploaded"===e.status.type)).map((e=>{const{name:t,size:i,status:s}=e,{fileId:n,fileUrls:l}=s;return new p.HY({fileId:n,fileUrls:l,name:t,size:i})}));return new p.qX({uploadedFileInfo:e})}render(){var e;const{files:t}=this.state,{element:i,disabled:s,widgetMgr:n}=this.props,l=i.type;this.formClearHelper.manageFormClearListener(n,i.formId,this.onFormCleared);const r=t.slice().reverse();return(0,H.jsxs)(V,{className:"stFileUploader","data-testid":"stFileUploader",children:[(0,H.jsx)(f.L,{label:i.label,disabled:s,labelVisibility:(0,d.yv)(null===(e=i.labelVisibility)||void 0===e?void 0:e.value),children:i.help&&(0,H.jsx)(x.j,{children:(0,H.jsx)(w.A,{content:i.help,placement:y.W.TOP_RIGHT})})}),(0,H.jsx)(_,{onDrop:this.dropHandler,multiple:i.multipleFiles,acceptedExtensions:l,maxSizeBytes:this.maxUploadSizeInBytes,label:i.label,disabled:s}),r.length>0&&(0,H.jsx)(pe,{items:r,pageSize:3,onDelete:this.deleteFile,resetOnAdd:!0})]})}nextLocalFileId(){return this.localFileIdCounter++}}const he=ge},34752:(e,t,i)=>{i.d(t,{X:()=>r,o:()=>l});var s=i(58878),n=i(25571);class l{constructor(){this.formClearListener=void 0,this.lastWidgetMgr=void 0,this.lastFormId=void 0}manageFormClearListener(e,t,i){(0,n.se)(this.formClearListener)&&this.lastWidgetMgr===e&&this.lastFormId===t||(this.disconnect(),(0,n._L)(t)&&(this.formClearListener=e.addFormClearedListener(t,i),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}}function r(e){let{element:t,widgetMgr:i,onFormCleared:l}=e;(0,s.useEffect)((()=>{if(!(0,n._L)(t.formId))return;const e=i.addFormClearedListener(t.formId,l);return()=>{e.disconnect()}}),[t,i,l])}},35526:(e,t,i)=>{i.d(t,{Z:()=>n});var s=i(58878);const n=e=>{const t=(0,s.useRef)();return(0,s.useEffect)((()=>{t.current=e}),[e]),t.current}}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[708],{95241:(t,e,i)=>{i.d(e,{e:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"}))}));o.displayName="Delete"},12274:(t,e,i)=>{i.d(e,{g:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"}))}));o.displayName="Fullscreen"},63186:(t,e,i)=>{i.d(e,{Q:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"}),r.createElement("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"}))}));o.displayName="FullscreenExit"},96626:(t,e,i)=>{i.d(e,{G:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("g",{fill:"none"},r.createElement("rect",{width:24,height:24}),r.createElement("rect",{width:24,height:24}),r.createElement("rect",{width:24,height:24})),r.createElement("path",{d:"M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z"}),r.createElement("path",{d:"M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z"}))}));o.displayName="Mic"},37789:(t,e,i)=>{i.d(e,{v:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("rect",{width:24,height:24,fill:"none"}),r.createElement("path",{d:"M8 19c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2s-2 .9-2 2v10c0 1.1.9 2 2 2zm6-12v10c0 1.1.9 2 2 2s2-.9 2-2V7c0-1.1-.9-2-2-2s-2 .9-2 2z"}))}));o.displayName="Pause"},14757:(t,e,i)=>{i.d(e,{S:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("rect",{width:24,height:24,fill:"none"}),r.createElement("path",{d:"M8 6.82v10.36c0 .79.87 1.27 1.54.84l8.14-5.18a1 1 0 000-1.69L9.54 5.98A.998.998 0 008 6.82z"}))}));o.displayName="PlayArrow"},34783:(t,e,i)=>{i.d(e,{X:()=>o});var s=i(68102),r=i(58878),n=i(68622),o=r.forwardRef((function(t,e){return r.createElement(n.I,(0,s.A)({iconAttrs:{fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},iconVerticalAlign:"middle",iconViewBox:"0 0 24 24"},t,{ref:e}),r.createElement("g",{fill:"none"},r.createElement("rect",{width:24,height:24}),r.createElement("rect",{width:24,height:24})),r.createElement("path",{fillRule:"evenodd",d:"M9 16h6c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2z"}))}));o.displayName="StopCircle"},56146:(t,e,i)=>{function s(t,e,i,s){return new(i||(i=Promise))((function(r,n){function o(t){try{h(s.next(t))}catch(t){n(t)}}function a(t){try{h(s.throw(t))}catch(t){n(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,a)}h((s=s.apply(t,e||[])).next())}))}i.d(e,{A:()=>h}),"function"==typeof SuppressedError&&SuppressedError;class r{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),null==i?void 0:i.once){const i=()=>{this.un(t,i),this.un(t,e)};return this.on(t,i),i}return()=>this.un(t,e)}un(t,e){var i;null===(i=this.listeners[t])||void 0===i||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];this.listeners[t]&&this.listeners[t].forEach((t=>t(...i)))}}class n extends r{constructor(t){super(),this.subscriptions=[],this.options=t}onInit(){}_init(t){this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach((t=>t()))}}class o extends r{constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on("tick",(()=>{requestAnimationFrame((()=>{this.emit("tick")}))})),this.emit("tick")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}const a=["audio/webm","audio/wav","audio/mpeg","audio/mp4","audio/mp3"];class h extends n{constructor(t){var e,i,s,r,n;super(Object.assign(Object.assign({},t),{audioBitsPerSecond:null!==(e=t.audioBitsPerSecond)&&void 0!==e?e:128e3,scrollingWaveform:null!==(i=t.scrollingWaveform)&&void 0!==i&&i,scrollingWaveformWindow:null!==(s=t.scrollingWaveformWindow)&&void 0!==s?s:5,renderRecordedAudio:null===(r=t.renderRecordedAudio)||void 0===r||r,mediaRecorderTimeslice:null!==(n=t.mediaRecorderTimeslice)&&void 0!==n?n:void 0})),this.stream=null,this.mediaRecorder=null,this.dataWindow=null,this.isWaveformPaused=!1,this.lastStartTime=0,this.lastDuration=0,this.duration=0,this.timer=new o,this.subscriptions.push(this.timer.on("tick",(()=>{const t=performance.now()-this.lastStartTime;this.duration=this.isPaused()?this.duration:this.lastDuration+t,this.emit("record-progress",this.duration)})))}static create(t){return new h(t||{})}renderMicStream(t){const e=new AudioContext,i=e.createMediaStreamSource(t),s=e.createAnalyser();i.connect(s);const r=s.frequencyBinCount,n=new Float32Array(r);let o;const a=Math.floor((this.options.scrollingWaveformWindow||0)*e.sampleRate),h=()=>{var t;if(this.isWaveformPaused)return void(o=requestAnimationFrame(h));if(s.getFloatTimeDomainData(n),this.options.scrollingWaveform){const t=Math.min(a,this.dataWindow?this.dataWindow.length+r:r),e=new Float32Array(a);if(this.dataWindow){const i=Math.max(0,a-this.dataWindow.length);e.set(this.dataWindow.slice(-t+r),i)}e.set(n,a-r),this.dataWindow=e}else this.dataWindow=n;const e=this.options.scrollingWaveformWindow;this.wavesurfer&&(null!==(t=this.originalOptions)&&void 0!==t||(this.originalOptions={cursorWidth:this.wavesurfer.options.cursorWidth,interact:this.wavesurfer.options.interact}),this.wavesurfer.options.cursorWidth=0,this.wavesurfer.options.interact=!1,this.wavesurfer.load("",[this.dataWindow],e)),o=requestAnimationFrame(h)};return h(),{onDestroy:()=>{cancelAnimationFrame(o),null==i||i.disconnect(),null==e||e.close()},onEnd:()=>{this.isWaveformPaused=!0,cancelAnimationFrame(o),this.stopMic()}}}startMic(t){return s(this,void 0,void 0,(function*(){let e;try{e=yield navigator.mediaDevices.getUserMedia({audio:!(null==t?void 0:t.deviceId)||{deviceId:t.deviceId}})}catch(e){throw new Error("Error accessing the microphone: "+e.message)}const{onDestroy:i,onEnd:s}=this.renderMicStream(e);return this.subscriptions.push(this.once("destroy",i)),this.subscriptions.push(this.once("record-end",s)),this.stream=e,e}))}stopMic(){this.stream&&(this.stream.getTracks().forEach((t=>t.stop())),this.stream=null,this.mediaRecorder=null)}startRecording(t){return s(this,void 0,void 0,(function*(){const e=this.stream||(yield this.startMic(t));this.dataWindow=null;const i=this.mediaRecorder||new MediaRecorder(e,{mimeType:this.options.mimeType||a.find((t=>MediaRecorder.isTypeSupported(t))),audioBitsPerSecond:this.options.audioBitsPerSecond});this.mediaRecorder=i,this.stopRecording();const s=[];i.ondataavailable=t=>{t.data.size>0&&s.push(t.data),this.emit("record-data-available",t.data)};const r=t=>{var e;const r=new Blob(s,{type:i.mimeType});this.emit(t,r),this.options.renderRecordedAudio&&(this.applyOriginalOptionsIfNeeded(),null===(e=this.wavesurfer)||void 0===e||e.load(URL.createObjectURL(r)))};i.onpause=()=>r("record-pause"),i.onstop=()=>r("record-end"),i.start(this.options.mediaRecorderTimeslice),this.lastStartTime=performance.now(),this.lastDuration=0,this.duration=0,this.isWaveformPaused=!1,this.timer.start(),this.emit("record-start")}))}getDuration(){return this.duration}isRecording(){var t;return"recording"===(null===(t=this.mediaRecorder)||void 0===t?void 0:t.state)}isPaused(){var t;return"paused"===(null===(t=this.mediaRecorder)||void 0===t?void 0:t.state)}isActive(){var t;return"inactive"!==(null===(t=this.mediaRecorder)||void 0===t?void 0:t.state)}stopRecording(){var t;this.isActive()&&(null===(t=this.mediaRecorder)||void 0===t||t.stop(),this.timer.stop())}pauseRecording(){var t,e;this.isRecording()&&(this.isWaveformPaused=!0,null===(t=this.mediaRecorder)||void 0===t||t.requestData(),null===(e=this.mediaRecorder)||void 0===e||e.pause(),this.timer.stop(),this.lastDuration=this.duration)}resumeRecording(){var t;this.isPaused()&&(this.isWaveformPaused=!1,null===(t=this.mediaRecorder)||void 0===t||t.resume(),this.timer.start(),this.lastStartTime=performance.now(),this.emit("record-resume"))}static getAvailableAudioDevices(){return s(this,void 0,void 0,(function*(){return navigator.mediaDevices.enumerateDevices().then((t=>t.filter((t=>"audioinput"===t.kind))))}))}destroy(){this.applyOriginalOptionsIfNeeded(),super.destroy(),this.stopRecording(),this.stopMic()}applyOriginalOptionsIfNeeded(){this.wavesurfer&&this.originalOptions&&(this.wavesurfer.options.cursorWidth=this.originalOptions.cursorWidth,this.wavesurfer.options.interact=this.originalOptions.interact,delete this.originalOptions)}}},19613:(t,e,i)=>{function s(t,e,i,s){return new(i||(i=Promise))((function(r,n){function o(t){try{h(s.next(t))}catch(t){n(t)}}function a(t){try{h(s.throw(t))}catch(t){n(t)}}function h(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,a)}h((s=s.apply(t,e||[])).next())}))}i.d(e,{A:()=>v}),"function"==typeof SuppressedError&&SuppressedError;class r{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),null==i?void 0:i.once){const i=()=>{this.un(t,i),this.un(t,e)};return this.on(t,i),i}return()=>this.un(t,e)}un(t,e){var i;null===(i=this.listeners[t])||void 0===i||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];this.listeners[t]&&this.listeners[t].forEach((t=>t(...i)))}}const n={decode:function(t,e){return s(this,void 0,void 0,(function*(){const i=new AudioContext({sampleRate:e});return i.decodeAudioData(t).finally((()=>i.close()))}))},createBuffer:function(t,e){return"number"==typeof t[0]&&(t=[t]),function(t){const e=t[0];if(e.some((t=>t>1||t<-1))){const i=e.length;let s=0;for(let t=0;t<i;t++){const i=Math.abs(e[t]);i>s&&(s=i)}for(const e of t)for(let t=0;t<i;t++)e[t]/=s}}(t),{duration:e,length:t[0].length,sampleRate:t[0].length/e,numberOfChannels:t.length,getChannelData:e=>null==t?void 0:t[e],copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function o(t,e){const i=e.xmlns?document.createElementNS(e.xmlns,t):document.createElement(t);for(const[s,r]of Object.entries(e))if("children"===s)for(const[t,n]of Object.entries(e))"string"==typeof n?i.appendChild(document.createTextNode(n)):i.appendChild(o(t,n));else"style"===s?Object.assign(i.style,r):"textContent"===s?i.textContent=r:i.setAttribute(s,r.toString());return i}function a(t,e,i){const s=o(t,e||{});return null==i||i.appendChild(s),s}var h=Object.freeze({__proto__:null,createElement:a,default:a});const l={fetchBlob:function(t,e,i){return s(this,void 0,void 0,(function*(){const r=yield fetch(t,i);if(r.status>=400)throw new Error(`Failed to fetch ${t}: ${r.status} (${r.statusText})`);return function(t,e){s(this,void 0,void 0,(function*(){if(!t.body||!t.headers)return;const i=t.body.getReader(),r=Number(t.headers.get("Content-Length"))||0;let n=0;const o=t=>s(this,void 0,void 0,(function*(){n+=(null==t?void 0:t.length)||0;const i=Math.round(n/r*100);e(i)})),a=()=>s(this,void 0,void 0,(function*(){let t;try{t=yield i.read()}catch(t){return}t.done||(o(t.value),yield a())}));a()}))}(r.clone(),e),r.blob()}))}};class d extends r{constructor(t){super(),this.isExternalMedia=!1,t.media?(this.media=t.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),t.mediaControls&&(this.media.controls=!0),t.autoplay&&(this.media.autoplay=!0),null!=t.playbackRate&&this.onMediaEvent("canplay",(()=>{null!=t.playbackRate&&(this.media.playbackRate=t.playbackRate)}),{once:!0})}onMediaEvent(t,e,i){return this.media.addEventListener(t,e,i),()=>this.media.removeEventListener(t,e,i)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){const t=this.getSrc();t.startsWith("blob:")&&URL.revokeObjectURL(t)}canPlayType(t){return""!==this.media.canPlayType(t)}setSrc(t,e){const i=this.getSrc();if(t&&i===t)return;this.revokeSrc();const s=e instanceof Blob&&(this.canPlayType(e.type)||!t)?URL.createObjectURL(e):t;try{this.media.src=s}catch(e){this.media.src=t}}destroy(){this.media.pause(),this.isExternalMedia||(this.media.remove(),this.revokeSrc(),this.media.src="",this.media.load())}setMediaElement(t){this.media=t}play(){return s(this,void 0,void 0,(function*(){return this.media.play()}))}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(t){this.media.currentTime=t}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(t){this.media.volume=t}getMuted(){return this.media.muted}setMuted(t){this.media.muted=t}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(t,e){null!=e&&(this.media.preservesPitch=e),this.media.playbackRate=t}getMediaElement(){return this.media}setSinkId(t){return this.media.setSinkId(t)}}class c extends r{constructor(t,e){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.subscriptions=[],this.options=t;const i=this.parentFromOptionsContainer(t.container);this.parent=i;const[s,r]=this.initHtml();i.appendChild(s),this.container=s,this.scrollContainer=r.querySelector(".scroll"),this.wrapper=r.querySelector(".wrapper"),this.canvasWrapper=r.querySelector(".canvases"),this.progressWrapper=r.querySelector(".progress"),this.cursor=r.querySelector(".cursor"),e&&r.appendChild(e),this.initEvents()}parentFromOptionsContainer(t){let e;if("string"==typeof t?e=document.querySelector(t):t instanceof HTMLElement&&(e=t),!e)throw new Error("Container not found");return e}initEvents(){const t=t=>{const e=this.wrapper.getBoundingClientRect(),i=t.clientX-e.left,s=t.clientY-e.top;return[i/e.width,s/e.height]};if(this.wrapper.addEventListener("click",(e=>{const[i,s]=t(e);this.emit("click",i,s)})),this.wrapper.addEventListener("dblclick",(e=>{const[i,s]=t(e);this.emit("dblclick",i,s)})),!0!==this.options.dragToSeek&&"object"!=typeof this.options.dragToSeek||this.initDrag(),this.scrollContainer.addEventListener("scroll",(()=>{const{scrollLeft:t,scrollWidth:e,clientWidth:i}=this.scrollContainer,s=t/e,r=(t+i)/e;this.emit("scroll",s,r,t,t+i)})),"function"==typeof ResizeObserver){const t=this.createDelay(100);this.resizeObserver=new ResizeObserver((()=>{t().then((()=>this.onContainerResize())).catch((()=>{}))})),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const t=this.parent.clientWidth;t===this.lastContainerWidth&&"auto"!==this.options.height||(this.lastContainerWidth=t,this.reRender())}initDrag(){this.subscriptions.push(function(t,e,i,s){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:100;if(!t)return()=>{};const a=matchMedia("(pointer: coarse)").matches;let h=()=>{};const l=l=>{if(l.button!==n)return;l.preventDefault(),l.stopPropagation();let d=l.clientX,c=l.clientY,u=!1;const p=Date.now(),m=s=>{if(s.preventDefault(),s.stopPropagation(),a&&Date.now()-p<o)return;const n=s.clientX,h=s.clientY,l=n-d,m=h-c;if(u||Math.abs(l)>r||Math.abs(m)>r){const s=t.getBoundingClientRect(),{left:r,top:o}=s;u||(null==i||i(d-r,c-o),u=!0),e(l,m,n-r,h-o),d=n,c=h}},v=e=>{if(u){const i=e.clientX,r=e.clientY,n=t.getBoundingClientRect(),{left:o,top:a}=n;null==s||s(i-o,r-a)}h()},f=t=>{t.relatedTarget&&t.relatedTarget!==document.documentElement||v(t)},g=t=>{u&&(t.stopPropagation(),t.preventDefault())},b=t=>{u&&t.preventDefault()};document.addEventListener("pointermove",m),document.addEventListener("pointerup",v),document.addEventListener("pointerout",f),document.addEventListener("pointercancel",f),document.addEventListener("touchmove",b,{passive:!1}),document.addEventListener("click",g,{capture:!0}),h=()=>{document.removeEventListener("pointermove",m),document.removeEventListener("pointerup",v),document.removeEventListener("pointerout",f),document.removeEventListener("pointercancel",f),document.removeEventListener("touchmove",b),setTimeout((()=>{document.removeEventListener("click",g,{capture:!0})}),10)}};return t.addEventListener("pointerdown",l),()=>{h(),t.removeEventListener("pointerdown",l)}}(this.wrapper,((t,e,i)=>{this.emit("drag",Math.max(0,Math.min(1,i/this.wrapper.getBoundingClientRect().width)))}),(t=>{this.isDragging=!0,this.emit("dragstart",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))}),(t=>{this.isDragging=!1,this.emit("dragend",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))})))}getHeight(t,e){var i;const s=(null===(i=this.audioData)||void 0===i?void 0:i.numberOfChannels)||1;if(null==t)return 128;if(!isNaN(Number(t)))return Number(t);if("auto"===t){const t=this.parent.clientHeight||128;return(null==e?void 0:e.every((t=>!t.overlay)))?t/s:t}return 128}initHtml(){const t=document.createElement("div"),e=t.attachShadow({mode:"open"});return e.innerHTML=`\n <style>\n :host {\n user-select: none;\n min-width: 1px;\n }\n :host audio {\n display: block;\n width: 100%;\n }\n :host .scroll {\n overflow-x: auto;\n overflow-y: hidden;\n width: 100%;\n position: relative;\n }\n :host .noScrollbar {\n scrollbar-color: transparent;\n scrollbar-width: none;\n }\n :host .noScrollbar::-webkit-scrollbar {\n display: none;\n -webkit-appearance: none;\n }\n :host .wrapper {\n position: relative;\n overflow: visible;\n z-index: 2;\n }\n :host .canvases {\n min-height: ${this.getHeight(this.options.height,this.options.splitChannels)}px;\n }\n :host .canvases > div {\n position: relative;\n }\n :host canvas {\n display: block;\n position: absolute;\n top: 0;\n image-rendering: pixelated;\n }\n :host .progress {\n pointer-events: none;\n position: absolute;\n z-index: 2;\n top: 0;\n left: 0;\n width: 0;\n height: 100%;\n overflow: hidden;\n }\n :host .progress > div {\n position: relative;\n }\n :host .cursor {\n pointer-events: none;\n position: absolute;\n z-index: 5;\n top: 0;\n left: 0;\n height: 100%;\n border-radius: 2px;\n }\n </style>\n\n <div class="scroll" part="scroll">\n <div class="wrapper" part="wrapper">\n <div class="canvases" part="canvases"></div>\n <div class="progress" part="progress"></div>\n <div class="cursor" part="cursor"></div>\n </div>\n </div>\n `,[t,e]}setOptions(t){if(this.options.container!==t.container){const e=this.parentFromOptionsContainer(t.container);e.appendChild(this.container),this.parent=e}!0!==t.dragToSeek&&"object"!=typeof this.options.dragToSeek||this.initDrag(),this.options=t,this.reRender()}getWrapper(){return this.wrapper}getWidth(){return this.scrollContainer.clientWidth}getScroll(){return this.scrollContainer.scrollLeft}setScroll(t){this.scrollContainer.scrollLeft=t}setScrollPercentage(t){const{scrollWidth:e}=this.scrollContainer,i=e*t;this.setScroll(i)}destroy(){var t,e;this.subscriptions.forEach((t=>t())),this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(e=this.unsubscribeOnScroll)||void 0===e||e.call(this)}createDelay(){let t,e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10;const s=()=>{t&&clearTimeout(t),e&&e()};return this.timeouts.push(s),()=>new Promise(((r,n)=>{s(),e=n,t=setTimeout((()=>{t=void 0,e=void 0,r()}),i)}))}convertColorValues(t){if(!Array.isArray(t))return t||"";if(t.length<2)return t[0]||"";const e=document.createElement("canvas"),i=e.getContext("2d"),s=e.height*(window.devicePixelRatio||1),r=i.createLinearGradient(0,0,0,s),n=1/(t.length-1);return t.forEach(((t,e)=>{const i=e*n;r.addColorStop(i,t)})),r}getPixelRatio(){return Math.max(1,window.devicePixelRatio||1)}renderBarWaveform(t,e,i,s){const r=t[0],n=t[1]||t[0],o=r.length,{width:a,height:h}=i.canvas,l=h/2,d=this.getPixelRatio(),c=e.barWidth?e.barWidth*d:1,u=e.barGap?e.barGap*d:e.barWidth?c/2:0,p=e.barRadius||0,m=a/(c+u)/o,v=p&&"roundRect"in i?"roundRect":"rect";i.beginPath();let f=0,g=0,b=0;for(let y=0;y<=o;y++){const t=Math.round(y*m);if(t>f){const r=Math.round(g*l*s),n=r+Math.round(b*l*s)||1;let o=l-r;"top"===e.barAlign?o=0:"bottom"===e.barAlign&&(o=h-n),i[v](f*(c+u),o,c,n,p),f=t,g=0,b=0}const o=Math.abs(r[y]||0),a=Math.abs(n[y]||0);o>g&&(g=o),a>b&&(b=a)}i.fill(),i.closePath()}renderLineWaveform(t,e,i,s){const r=e=>{const r=t[e]||t[0],n=r.length,{height:o}=i.canvas,a=o/2,h=i.canvas.width/n;i.moveTo(0,a);let l=0,d=0;for(let t=0;t<=n;t++){const n=Math.round(t*h);if(n>l){const t=a+(Math.round(d*a*s)||1)*(0===e?-1:1);i.lineTo(l,t),l=n,d=0}const o=Math.abs(r[t]||0);o>d&&(d=o)}i.lineTo(l,a)};i.beginPath(),r(0),r(1),i.fill(),i.closePath()}renderWaveform(t,e,i){if(i.fillStyle=this.convertColorValues(e.waveColor),e.renderFunction)return void e.renderFunction(t,i);let s=e.barHeight||1;if(e.normalize){const e=Array.from(t[0]).reduce(((t,e)=>Math.max(t,Math.abs(e))),0);s=e?1/e:1}e.barWidth||e.barGap||e.barAlign?this.renderBarWaveform(t,e,i,s):this.renderLineWaveform(t,e,i,s)}renderSingleCanvas(t,e,i,s,r,n,o){const a=this.getPixelRatio(),h=document.createElement("canvas");h.width=Math.round(i*a),h.height=Math.round(s*a),h.style.width=`${i}px`,h.style.height=`${s}px`,h.style.left=`${Math.round(r)}px`,n.appendChild(h);const l=h.getContext("2d");if(this.renderWaveform(t,e,l),h.width>0&&h.height>0){const t=h.cloneNode(),i=t.getContext("2d");i.drawImage(h,0,0),i.globalCompositeOperation="source-in",i.fillStyle=this.convertColorValues(e.progressColor),i.fillRect(0,0,h.width,h.height),o.appendChild(t)}}renderMultiCanvas(t,e,i,s,r,n){const o=this.getPixelRatio(),{clientWidth:a}=this.scrollContainer;if(a*o>=i)return void this.renderSingleCanvas(t,e,a,s,0,r,n);const h=i/o;let l=Math.min(c.MAX_CANVAS_WIDTH,a,h),d={};if(e.barWidth||e.barGap){const t=e.barWidth||.5,i=t+(e.barGap||t/2);l%i!=0&&(l=Math.floor(l/i)*i)}const u=i=>{if(i<0||i>=p)return;if(d[i])return;d[i]=!0;const o=i*l,a=Math.min(h-o,l);if(a<=0)return;const c=t.map((t=>{const e=Math.floor(o/h*t.length),i=Math.floor((o+a)/h*t.length);return t.slice(e,i)}));this.renderSingleCanvas(c,e,a,s,o,r,n)},p=Math.ceil(h/l),m=this.scrollContainer.scrollLeft/h,v=Math.floor(m*p);u(v-1),u(v),u(v+1),p>1&&(this.unsubscribeOnScroll=this.on("scroll",(()=>{const{scrollLeft:t}=this.scrollContainer,e=Math.floor(t/h*p);Object.keys(d).length>c.MAX_NODES&&(r.innerHTML="",n.innerHTML="",d={}),u(e-1),u(e),u(e+1)})))}renderChannel(t,e,i,s){var{overlay:r}=e,n=function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(t);r<s.length;r++)e.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(t,s[r])&&(i[s[r]]=t[s[r]])}return i}(e,["overlay"]);const o=document.createElement("div"),a=this.getHeight(n.height,n.splitChannels);o.style.height=`${a}px`,r&&s>0&&(o.style.marginTop=`-${a}px`),this.canvasWrapper.style.minHeight=`${a}px`,this.canvasWrapper.appendChild(o);const h=o.cloneNode();this.progressWrapper.appendChild(h),this.renderMultiCanvas(t,n,i,a,o,h)}render(t){return s(this,void 0,void 0,(function*(){var e;this.timeouts.forEach((t=>t())),this.timeouts=[],this.canvasWrapper.innerHTML="",this.progressWrapper.innerHTML="",null!=this.options.width&&(this.scrollContainer.style.width="number"==typeof this.options.width?`${this.options.width}px`:this.options.width);const i=this.getPixelRatio(),s=this.scrollContainer.clientWidth,r=Math.ceil(t.duration*(this.options.minPxPerSec||0));this.isScrollable=r>s;const n=this.options.fillParent&&!this.isScrollable,o=(n?s:r)*i;if(this.wrapper.style.width=n?"100%":`${r}px`,this.scrollContainer.style.overflowX=this.isScrollable?"auto":"hidden",this.scrollContainer.classList.toggle("noScrollbar",!!this.options.hideScrollbar),this.cursor.style.backgroundColor=`${this.options.cursorColor||this.options.progressColor}`,this.cursor.style.width=`${this.options.cursorWidth}px`,this.audioData=t,this.emit("render"),this.options.splitChannels)for(let a=0;a<t.numberOfChannels;a++){const i=Object.assign(Object.assign({},this.options),null===(e=this.options.splitChannels)||void 0===e?void 0:e[a]);this.renderChannel([t.getChannelData(a)],i,o,a)}else{const e=[t.getChannelData(0)];t.numberOfChannels>1&&e.push(t.getChannelData(1)),this.renderChannel(e,this.options,o,0)}Promise.resolve().then((()=>this.emit("rendered")))}))}reRender(){var t;if(null===(t=this.unsubscribeOnScroll)||void 0===t||t.call(this),delete this.unsubscribeOnScroll,!this.audioData)return;const{scrollWidth:e}=this.scrollContainer,{right:i}=this.progressWrapper.getBoundingClientRect();if(this.render(this.audioData),this.isScrollable&&e!==this.scrollContainer.scrollWidth){const{right:t}=this.progressWrapper.getBoundingClientRect();let e=t-i;e*=2,e=e<0?Math.floor(e):Math.ceil(e),e/=2,this.scrollContainer.scrollLeft+=e}}zoom(t){this.options.minPxPerSec=t,this.reRender()}scrollIntoView(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const{scrollLeft:i,scrollWidth:s,clientWidth:r}=this.scrollContainer,n=t*s,o=i,a=i+r,h=r/2;if(this.isDragging){const t=30;n+t>a?this.scrollContainer.scrollLeft+=t:n-t<o&&(this.scrollContainer.scrollLeft-=t)}else{(n<o||n>a)&&(this.scrollContainer.scrollLeft=n-(this.options.autoCenter?h:0));const t=n-i-h;e&&this.options.autoCenter&&t>0&&(this.scrollContainer.scrollLeft+=Math.min(t,10))}{const t=this.scrollContainer.scrollLeft,e=t/s,i=(t+r)/s;this.emit("scroll",e,i,t,t+r)}}renderProgress(t,e){if(isNaN(t))return;const i=100*t;this.canvasWrapper.style.clipPath=`polygon(${i}% 0, 100% 0, 100% 100%, ${i}% 100%)`,this.progressWrapper.style.width=`${i}%`,this.cursor.style.left=`${i}%`,this.cursor.style.transform=`translateX(-${100===Math.round(i)?this.options.cursorWidth:0}px)`,this.isScrollable&&this.options.autoScroll&&this.scrollIntoView(t,e)}exportImage(t,e,i){return s(this,void 0,void 0,(function*(){const s=this.canvasWrapper.querySelectorAll("canvas");if(!s.length)throw new Error("No waveform data");if("dataURL"===i){const i=Array.from(s).map((i=>i.toDataURL(t,e)));return Promise.resolve(i)}return Promise.all(Array.from(s).map((i=>new Promise(((s,r)=>{i.toBlob((t=>{t?s(t):r(new Error("Could not export image"))}),t,e)})))))}))}}c.MAX_CANVAS_WIDTH=8e3,c.MAX_NODES=10;class u extends r{constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on("tick",(()=>{requestAnimationFrame((()=>{this.emit("tick")}))})),this.emit("tick")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}class p extends r{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new AudioContext;super(),this.bufferNode=null,this.playStartTime=0,this.playedDuration=0,this._muted=!1,this._playbackRate=1,this._duration=void 0,this.buffer=null,this.currentSrc="",this.paused=!0,this.crossOrigin=null,this.seeking=!1,this.autoplay=!1,this.addEventListener=this.on,this.removeEventListener=this.un,this.audioContext=t,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}load(){return s(this,void 0,void 0,(function*(){}))}get src(){return this.currentSrc}set src(t){if(this.currentSrc=t,this._duration=void 0,!t)return this.buffer=null,void this.emit("emptied");fetch(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch ${t}: ${e.status} (${e.statusText})`);return e.arrayBuffer()})).then((e=>this.currentSrc!==t?null:this.audioContext.decodeAudioData(e))).then((e=>{this.currentSrc===t&&(this.buffer=e,this.emit("loadedmetadata"),this.emit("canplay"),this.autoplay&&this.play())}))}_play(){var t;if(!this.paused)return;this.paused=!1,null===(t=this.bufferNode)||void 0===t||t.disconnect(),this.bufferNode=this.audioContext.createBufferSource(),this.buffer&&(this.bufferNode.buffer=this.buffer),this.bufferNode.playbackRate.value=this._playbackRate,this.bufferNode.connect(this.gainNode);let e=this.playedDuration*this._playbackRate;e>=this.duration&&(e=0,this.playedDuration=0),this.bufferNode.start(this.audioContext.currentTime,e),this.playStartTime=this.audioContext.currentTime,this.bufferNode.onended=()=>{this.currentTime>=this.duration&&(this.pause(),this.emit("ended"))}}_pause(){var t;this.paused=!0,null===(t=this.bufferNode)||void 0===t||t.stop(),this.playedDuration+=this.audioContext.currentTime-this.playStartTime}play(){return s(this,void 0,void 0,(function*(){this.paused&&(this._play(),this.emit("play"))}))}pause(){this.paused||(this._pause(),this.emit("pause"))}stopAt(t){var e,i;const s=t-this.currentTime;null===(e=this.bufferNode)||void 0===e||e.stop(this.audioContext.currentTime+s),null===(i=this.bufferNode)||void 0===i||i.addEventListener("ended",(()=>{this.bufferNode=null,this.pause()}),{once:!0})}setSinkId(t){return s(this,void 0,void 0,(function*(){return this.audioContext.setSinkId(t)}))}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this.bufferNode&&(this.bufferNode.playbackRate.value=t)}get currentTime(){return(this.paused?this.playedDuration:this.playedDuration+(this.audioContext.currentTime-this.playStartTime))*this._playbackRate}set currentTime(t){const e=!this.paused;e&&this._pause(),this.playedDuration=t/this._playbackRate,e&&this._play(),this.emit("seeking"),this.emit("timeupdate")}get duration(){var t,e;return null!==(t=this._duration)&&void 0!==t?t:(null===(e=this.buffer)||void 0===e?void 0:e.duration)||0}set duration(t){this._duration=t}get volume(){return this.gainNode.gain.value}set volume(t){this.gainNode.gain.value=t,this.emit("volumechange")}get muted(){return this._muted}set muted(t){this._muted!==t&&(this._muted=t,this._muted?this.gainNode.disconnect():this.gainNode.connect(this.audioContext.destination))}canPlayType(t){return/^(audio|video)\//.test(t)}getGainNode(){return this.gainNode}getChannelData(){const t=[];if(!this.buffer)return t;const e=this.buffer.numberOfChannels;for(let i=0;i<e;i++)t.push(this.buffer.getChannelData(i));return t}}const m={waveColor:"#999",progressColor:"#555",cursorWidth:1,minPxPerSec:0,fillParent:!0,interact:!0,dragToSeek:!1,autoScroll:!0,autoCenter:!0,sampleRate:8e3};class v extends d{static create(t){return new v(t)}constructor(t){const e=t.media||("WebAudio"===t.backend?new p:void 0);super({media:e,mediaControls:t.mediaControls,autoplay:t.autoplay,playbackRate:t.audioRate}),this.plugins=[],this.decodedData=null,this.subscriptions=[],this.mediaSubscriptions=[],this.abortController=null,this.options=Object.assign({},m,t),this.timer=new u;const i=e?void 0:this.getMediaElement();this.renderer=new c(this.options,i),this.initPlayerEvents(),this.initRendererEvents(),this.initTimerEvents(),this.initPlugins();const s=this.options.url||this.getSrc()||"";Promise.resolve().then((()=>{this.emit("init");const{peaks:t,duration:e}=this.options;(s||t&&e)&&this.load(s,t,e).catch((()=>null))}))}updateProgress(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getCurrentTime();return this.renderer.renderProgress(t/this.getDuration(),this.isPlaying()),t}initTimerEvents(){this.subscriptions.push(this.timer.on("tick",(()=>{if(!this.isSeeking()){const t=this.updateProgress();this.emit("timeupdate",t),this.emit("audioprocess",t)}})))}initPlayerEvents(){this.isPlaying()&&(this.emit("play"),this.timer.start()),this.mediaSubscriptions.push(this.onMediaEvent("timeupdate",(()=>{const t=this.updateProgress();this.emit("timeupdate",t)})),this.onMediaEvent("play",(()=>{this.emit("play"),this.timer.start()})),this.onMediaEvent("pause",(()=>{this.emit("pause"),this.timer.stop()})),this.onMediaEvent("emptied",(()=>{this.timer.stop()})),this.onMediaEvent("ended",(()=>{this.emit("finish")})),this.onMediaEvent("seeking",(()=>{this.emit("seeking",this.getCurrentTime())})),this.onMediaEvent("error",(t=>{this.emit("error",t.error)})))}initRendererEvents(){this.subscriptions.push(this.renderer.on("click",((t,e)=>{this.options.interact&&(this.seekTo(t),this.emit("interaction",t*this.getDuration()),this.emit("click",t,e))})),this.renderer.on("dblclick",((t,e)=>{this.emit("dblclick",t,e)})),this.renderer.on("scroll",((t,e,i,s)=>{const r=this.getDuration();this.emit("scroll",t*r,e*r,i,s)})),this.renderer.on("render",(()=>{this.emit("redraw")})),this.renderer.on("rendered",(()=>{this.emit("redrawcomplete")})),this.renderer.on("dragstart",(t=>{this.emit("dragstart",t)})),this.renderer.on("dragend",(t=>{this.emit("dragend",t)})));{let t;this.subscriptions.push(this.renderer.on("drag",(e=>{if(!this.options.interact)return;let i;this.renderer.renderProgress(e),clearTimeout(t),this.isPlaying()?i=0:!0===this.options.dragToSeek?i=200:"object"==typeof this.options.dragToSeek&&void 0!==this.options.dragToSeek&&(i=this.options.dragToSeek.debounceTime),t=setTimeout((()=>{this.seekTo(e)}),i),this.emit("interaction",e*this.getDuration()),this.emit("drag",e)})))}}initPlugins(){var t;(null===(t=this.options.plugins)||void 0===t?void 0:t.length)&&this.options.plugins.forEach((t=>{this.registerPlugin(t)}))}unsubscribePlayerEvents(){this.mediaSubscriptions.forEach((t=>t())),this.mediaSubscriptions=[]}setOptions(t){this.options=Object.assign({},this.options,t),this.renderer.setOptions(this.options),t.audioRate&&this.setPlaybackRate(t.audioRate),null!=t.mediaControls&&(this.getMediaElement().controls=t.mediaControls)}registerPlugin(t){return t._init(this),this.plugins.push(t),this.subscriptions.push(t.once("destroy",(()=>{this.plugins=this.plugins.filter((e=>e!==t))}))),t}getWrapper(){return this.renderer.getWrapper()}getWidth(){return this.renderer.getWidth()}getScroll(){return this.renderer.getScroll()}setScroll(t){return this.renderer.setScroll(t)}setScrollTime(t){const e=t/this.getDuration();this.renderer.setScrollPercentage(e)}getActivePlugins(){return this.plugins}loadAudio(t,e,i,r){return s(this,void 0,void 0,(function*(){var s;if(this.emit("load",t),!this.options.media&&this.isPlaying()&&this.pause(),this.decodedData=null,!e&&!i){const i=this.options.fetchParams||{};window.AbortController&&!i.signal&&(this.abortController=new AbortController,i.signal=null===(s=this.abortController)||void 0===s?void 0:s.signal);const r=t=>this.emit("loading",t);e=yield l.fetchBlob(t,r,i)}this.setSrc(t,e);const o=yield new Promise((t=>{const e=r||this.getDuration();e?t(e):this.mediaSubscriptions.push(this.onMediaEvent("loadedmetadata",(()=>t(this.getDuration())),{once:!0}))}));if(!t&&!e){const t=this.getMediaElement();t instanceof p&&(t.duration=o)}if(i)this.decodedData=n.createBuffer(i,o||0);else if(e){const t=yield e.arrayBuffer();this.decodedData=yield n.decode(t,this.options.sampleRate)}this.decodedData&&(this.emit("decode",this.getDuration()),this.renderer.render(this.decodedData)),this.emit("ready",this.getDuration())}))}load(t,e,i){return s(this,void 0,void 0,(function*(){try{return yield this.loadAudio(t,void 0,e,i)}catch(s){throw this.emit("error",s),s}}))}loadBlob(t,e,i){return s(this,void 0,void 0,(function*(){try{return yield this.loadAudio("",t,e,i)}catch(s){throw this.emit("error",s),s}}))}zoom(t){if(!this.decodedData)throw new Error("No audio loaded");this.renderer.zoom(t),this.emit("zoom",t)}getDecodedData(){return this.decodedData}exportPeaks(){let{channels:t=2,maxLength:e=8e3,precision:i=1e4}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.decodedData)throw new Error("The audio has not been decoded yet");const s=Math.min(t,this.decodedData.numberOfChannels),r=[];for(let n=0;n<s;n++){const t=this.decodedData.getChannelData(n),s=[],o=t.length/e;for(let r=0;r<e;r++){const e=t.slice(Math.floor(r*o),Math.ceil((r+1)*o));let n=0;for(let t=0;t<e.length;t++){const i=e[t];Math.abs(i)>Math.abs(n)&&(n=i)}s.push(Math.round(n*i)/i)}r.push(s)}return r}getDuration(){let t=super.getDuration()||0;return 0!==t&&t!==1/0||!this.decodedData||(t=this.decodedData.duration),t}toggleInteraction(t){this.options.interact=t}setTime(t){super.setTime(t),this.updateProgress(t),this.emit("timeupdate",t)}seekTo(t){const e=this.getDuration()*t;this.setTime(e)}playPause(){return s(this,void 0,void 0,(function*(){return this.isPlaying()?this.pause():this.play()}))}stop(){this.pause(),this.setTime(0)}skip(t){this.setTime(this.getCurrentTime()+t)}empty(){this.load("",[[0]],.001)}setMediaElement(t){this.unsubscribePlayerEvents(),super.setMediaElement(t),this.initPlayerEvents()}exportImage(){return s(this,arguments,void 0,(function(){var t=this;let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"image/png",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"dataURL";return function*(){return t.renderer.exportImage(e,i,s)}()}))}destroy(){var t;this.emit("destroy"),null===(t=this.abortController)||void 0===t||t.abort(),this.plugins.forEach((t=>t.destroy())),this.subscriptions.forEach((t=>t())),this.unsubscribePlayerEvents(),this.timer.destroy(),this.renderer.destroy(),super.destroy()}}v.BasePlugin=class extends r{constructor(t){super(),this.subscriptions=[],this.options=t}onInit(){}_init(t){this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach((t=>t()))}},v.dom=h}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_streamlit_app=self.webpackChunk_streamlit_app||[]).push([[9943],{251:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Tt});var i=n(58878),o=n(35753),r=n(79104),l=n(52583),a=n(68994),s=n(95241),d=n(61730),u=n(18364),c=n(2128),m=n(34752),h=n(22044),g=n(29669),f=n(25571),p=n(85850),v=n(84152),y=n(37638),b=n.n(y),w=n(30136),x=n.n(w),C=n(90491),M=n.n(C),S=(n(20641),n(48517)),E=n.n(S),R=n(37904),k=n.n(R),T=n(34694),N=n(85729);const I=["true","t","yes","y","on","1"],_=["false","f","no","n","off","0"];function O(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return e=`\u26a0\ufe0f ${e}`,{kind:o.dd.Text,readonly:!0,allowOverlay:!0,data:e+(t?`\n\n${t}\n`:""),displayData:e,isError:!0}}function D(e){return e.hasOwnProperty("isError")&&e.isError}function A(e){return e.hasOwnProperty("isMissingValue")&&e.isMissingValue}function F(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]?{kind:o.dd.Loading,allowOverlay:!1,isMissingValue:!0}:{kind:o.dd.Loading,allowOverlay:!1}}function $(e,t){const n=t?"faded":"normal";return{kind:o.dd.Text,data:"",displayData:"",allowOverlay:!0,readonly:e,style:n}}function V(e){return{id:e.id,title:e.title,hasMenu:!1,themeOverride:e.themeOverride,icon:e.icon,group:e.group,...e.isStretched&&{grow:e.isIndex?1:3},...e.width&&{width:e.width}}}function X(e,t){return(0,f.hX)(e)?t||{}:(0,f.hX)(t)?e||{}:b()(e,t)}function H(e){if((0,f.hX)(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:L(e))):[L(t)]}catch(t){return[L(e)]}}function L(e){try{try{return x()(e)}catch(t){return JSON.stringify(e,((e,t)=>"bigint"===typeof t?Number(t):t))}}catch(t){return`[${typeof e}]`}}function z(e){if((0,f.hX)(e))return null;if("boolean"===typeof e)return e;const t=L(e).toLowerCase().trim();return""===t?null:!!I.includes(t)||!_.includes(t)&&void 0}function W(e){if((0,f.hX)(e))return null;if(Array.isArray(e))return NaN;if("string"===typeof e){if(0===e.trim().length)return null;try{const t=k().unformat(e.trim());if((0,f.se)(t))return t}catch(t){}}else if(e instanceof Int32Array)return Number(e[0]);return Number(e)}function j(e,t,n){return Number.isNaN(e)||!Number.isFinite(e)?"":(0,f.hX)(t)||""===t?(0===n&&(e=Math.round(e)),k()(e).format((0,f.se)(n)?`0,0.${"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?M().duration(e/1e6,"milliseconds").humanize():t.startsWith("period[")?N.D0.formatPeriodType(BigInt(e),t):(0,T.sprintf)(t,e)}function B(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 Y(e){if((0,f.hX)(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=M().unix(e).utc();if(n.isValid())return n.toDate()}if("string"===typeof e){const t=M().utc(e);if(t.isValid())return t.toDate();const n=M().utc(e,[M().HTML5_FMT.TIME_MS,M().HTML5_FMT.TIME_SECONDS,M().HTML5_FMT.TIME]);if(n.isValid())return n.toDate()}}catch(t){return}}function P(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 U=new RegExp(/(\r\n|\n|\r)/gm);function q(e){return-1!==e.indexOf("\n")?e.replace(U," "):e}var J=n(8151),G=n(84996);function K(e){const t={kind:o.dd.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,f.se)(e)?L(e):null,i=(0,f.se)(n)?q(n):"";return{...t,data:n,displayData:i,isMissingValue:(0,f.hX)(e)}}catch(n){return O(L(e),`The value cannot be interpreted as a string. Error: ${n}`)}},getCellValue:e=>void 0===e.data?null:e.data}}K.isEditableType=!1;const Z=K;function Q(e){const t=e.columnTypeOptions||{};let n;if(t.validate)try{n=new RegExp(t.validate,"us")}catch(l){n=`Invalid validate regex: ${t.validate}.\nError: ${l}`}const i={kind:o.dd.Text,data:"",displayData:"",allowOverlay:!0,contentAlignment:e.contentAlignment,readonly:!e.isEditable,style:e.isIndex?"faded":"normal"},r=i=>{if((0,f.hX)(i))return!e.isRequired;let o=L(i),r=!1;return t.max_chars&&o.length>t.max_chars&&(o=o.slice(0,t.max_chars),r=!0),!(n instanceof RegExp&&!1===n.test(o))&&(!r||o)};return{...e,kind:"text",sortMode:"default",validateInput:r,getCell(e,t){if("string"===typeof n)return O(L(e),n);if(t){const t=r(e);if(!1===t)return O(L(e),"Invalid input.");"string"===typeof t&&(e=t)}try{const t=(0,f.se)(e)?L(e):null,n=(0,f.se)(t)?q(t):"";return{...i,isMissingValue:(0,f.hX)(t),data:t,displayData:n}}catch(l){return O("Incompatible value",`The value cannot be interpreted as string. Error: ${l}`)}},getCellValue:e=>void 0===e.data?null:e.data}}Q.isEditableType=!0;const ee=Q;function te(e,t){return e=t.startsWith("+")||t.startsWith("-")?e.utcOffset(t,!1):e.tz(t)}function ne(e,t,n,i,r,l,a){var s;const d=X({format:n,step:i,timezone:a},t.columnTypeOptions);let u,c,m;if((0,f.se)(d.timezone))try{var h;u=(null===(h=te(E()(),d.timezone))||void 0===h?void 0:h.utcOffset())||void 0}catch(v){}(0,f.se)(d.min_value)&&(c=Y(d.min_value)||void 0),(0,f.se)(d.max_value)&&(m=Y(d.max_value)||void 0);const g={kind:o.dd.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:r,min:c,max:m}},p=e=>{const n=Y(e);return null===n?!t.isRequired:void 0!==n&&(!((0,f.se)(c)&&l(n)<l(c))&&!((0,f.se)(m)&&l(n)>l(m)))};return{...t,kind:e,sortMode:"default",validateInput:p,getCell(e,t){if(!0===t){const t=p(e);if(!1===t)return O(L(e),"Invalid input.");t instanceof Date&&(e=t)}const i=Y(e);let o="",r="",l=u;if(void 0===i)return O(L(e),"The value cannot be interpreted as a datetime object.");if(null!==i){let e=E().utc(i);if(!e.isValid())return O(L(i),`This should never happen. Please report this bug. \nError: ${e.toString()}`);if(d.timezone){try{e=te(e,d.timezone)}catch(v){return O(e.toISOString(),`Failed to adjust to the provided timezone: ${d.timezone}. \nError: ${v}`)}l=e.utcOffset()}try{r=B(e,d.format||n)}catch(v){return O(e.toISOString(),`Failed to format the date for rendering with: ${d.format}. \nError: ${v}`)}o=B(e,n)}return{...g,copyData:o,isMissingValue:(0,f.hX)(i),data:{...g.data,date:i,displayDate:r,timezoneOffset:l}}},getCellValue(e){var t;return(0,f.hX)(null===e||void 0===e||null===(t=e.data)||void 0===t?void 0:t.date)?null:l(e.data.date)}}}function ie(e){var t,n,i,o,r;let l="YYYY-MM-DD HH:mm:ss";(null===(t=e.columnTypeOptions)||void 0===t?void 0:t.step)>=60?l="YYYY-MM-DD HH:mm":(null===(n=e.columnTypeOptions)||void 0===n?void 0:n.step)<1&&(l="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,f.se)(a)||(0,f.se)(null===e||void 0===e||null===(r=e.columnTypeOptions)||void 0===r?void 0:r.timezone);return ne("datetime",e,s?l+"Z":l,1,"datetime-local",(e=>s?e.toISOString():e.toISOString().replace("Z","")),a)}function oe(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"),ne("time",e,i,1,"time",(e=>e.toISOString().split("T")[1].replace("Z","")))}function re(e){return ne("date",e,"YYYY-MM-DD",1,"date",(e=>e.toISOString().split("T")[0]))}function le(e){const t={kind:o.dd.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=z(e),void 0===n?O(L(e),"The value cannot be interpreted as boolean."):{...t,data:n,isMissingValue:(0,f.hX)(n)}},getCellValue:e=>void 0===e.data?null:e.data}}ie.isEditableType=!0,oe.isEditableType=!0,re.isEditableType=!0,le.isEditableType=!0;const ae=le;function se(e){return e.startsWith("int")&&!e.startsWith("interval")||"range"===e||e.startsWith("uint")}function de(e){const t=N.D0.getTypeName(e.arrowType);let n;"timedelta64[ns]"===t?n="duration[ns]":t.startsWith("period[")&&(n=t);const i=X({step:se(t)?1:void 0,min_value:t.startsWith("uint")?0:void 0,format:n},e.columnTypeOptions),r=(0,f.hX)(i.min_value)||i.min_value<0,l=(0,f.se)(i.step)&&!Number.isNaN(i.step)?P(i.step):void 0,a={kind:o.dd.Number,data:void 0,displayData:"",readonly:!e.isEditable,allowOverlay:!0,contentAlign:e.contentAlignment||"right",style:e.isIndex?"faded":"normal",allowNegative:r,fixedDecimals:l,thousandSeparator:""},s=t=>{let n=W(t);if((0,f.hX)(n))return!e.isRequired;if(Number.isNaN(n))return!1;let o=!1;return(0,f.se)(i.max_value)&&n>i.max_value&&(n=i.max_value,o=!0),!((0,f.se)(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 O(L(e),"Invalid input.");"number"===typeof t&&(e=t)}let n=W(e),o="";if((0,f.se)(n)){if(Number.isNaN(n))return O(L(e),"The value cannot be interpreted as a number.");if((0,f.se)(l)&&(r=n,n=0===(d=l)?Math.trunc(r):Math.trunc(r*10**d)/10**d),Number.isInteger(n)&&!Number.isSafeInteger(n))return O(L(e),"The value is larger than the maximum supported integer values in number columns (2^53).");try{o=j(n,i.format,l)}catch(u){return O(L(n),(0,f.se)(i.format)?`Failed to format the number based on the provided format configuration: (${i.format}). Error: ${u}`:`Failed to format the number. Error: ${u}`)}}var r,d;return{...a,data:n,displayData:o,isMissingValue:(0,f.hX)(n),copyData:(0,f.hX)(n)?"":L(n)}},getCellValue:e=>void 0===e.data?null:e.data}}de.isEditableType=!0;const ue=de;function ce(e){let t="string";const n=X({options:"bool"===N.D0.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 r={kind:o.dd.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=>L(e)))],value:""}};return{...e,kind:"selectbox",sortMode:"default",getCell(e,t){let n=null;return(0,f.se)(e)&&""!==e&&(n=L(e)),t&&!r.data.allowedValues.includes(n)?O(L(n),"The value is not part of the allowed options."):{...r,isMissingValue:null===n,copyData:n||"",data:{...r.data,value:n}}},getCellValue(e){var n,i,o,r,l,a,s;return(0,f.hX)(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!==(r=W(null===(l=e.data)||void 0===l?void 0:l.value))&&void 0!==r?r:null:"boolean"===t?null!==(a=z(null===(s=e.data)||void 0===s?void 0:s.value))&&void 0!==a?a:null:null===(o=e.data)||void 0===o?void 0:o.value}}}ce.isEditableType=!0;const me=ce;function he(e){const t={kind:o.dd.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,f.hX)(e)?[]:H(e);return{...t,data:n,isMissingValue:(0,f.hX)(e),copyData:(0,f.hX)(e)?"":L(n.map((e=>"string"===typeof e&&e.includes(",")?e.replace(/,/g," "):e)))}},getCellValue:e=>(0,f.hX)(e.data)||A(e)?null:e.data}}he.isEditableType=!1;const ge=he;function fe(e,t,n){const i=new RegExp(`${e}[,\\s].*{(?:[^}]*[\\s;]{1})?${t}:\\s*([^;}]+)[;]?.*}`,"gm");n=n.replace(/{/g," {");const o=i.exec(n);if(o)return o[1].trim()}function pe(e,t){const n=e.types.index[t],i=e.indexNames[t];let o=!0;return"range"===N.D0.getTypeName(n)&&(o=!1),{id:`index-${t}`,name:i,title:i,isEditable:o,arrowType:n,isIndex:!0,isHidden:!1}}function ve(e,t){const n=e.columns.map((e=>e[t])),i=n.length>0?n[n.length-1]:"",o=n.length>1?n.filter((e=>""!==e)).slice(0,-1).join(" / "):void 0;let r,l=e.types.data[t];if((0,f.hX)(l)&&(l={meta:null,numpy_type:"object",pandas_type:"object"}),"categorical"===N.D0.getTypeName(l)){const n=e.getCategoricalOptions(t);(0,f.se)(n)&&(r={options:n})}return{id:`column-${i}-${t}`,name:i,title:i,isEditable:!0,arrowType:l,columnTypeOptions:r,isIndex:!1,isHidden:!1,group:o}}function ye(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const i=e.arrowType?N.D0.getTypeName(e.arrowType):null;let r;if("object"===e.kind)r=e.getCell((0,f.se)(t.content)?q(N.D0.format(t.content,t.contentType,t.field)):null);else if(["time","date","datetime"].includes(e.kind)&&(0,f.se)(t.content)&&("number"===typeof t.content||"bigint"===typeof t.content)){var l,a;let n;var s,d,u;if("time"===i&&(0,f.se)(null===(l=t.field)||void 0===l||null===(a=l.type)||void 0===a?void 0:a.unit))n=M().unix(N.D0.convertToSeconds(t.content,null!==(s=null===(d=t.field)||void 0===d||null===(u=d.type)||void 0===u?void 0:u.unit)&&void 0!==s?s:0)).utc().toDate();else n=M().utc(Number(t.content)).toDate();r=e.getCell(n)}else if("decimal"===i){const n=(0,f.hX)(t.content)?null:N.D0.format(t.content,t.contentType,t.field);r=e.getCell(n)}else r=e.getCell(t.content);if(D(r))return r;if(!e.isEditable){if((0,f.se)(t.displayContent)){var c,m,h,g;const n=q(t.displayContent);r.kind===o.dd.Text||r.kind===o.dd.Number&&(0,f.hX)(null===(c=e.columnTypeOptions)||void 0===c?void 0:c.format)||r.kind===o.dd.Uri&&(0,f.hX)(null===(m=e.columnTypeOptions)||void 0===m?void 0:m.display_text)?r={...r,displayData:n}:r.kind===o.dd.Custom&&"date-picker-cell"===(null===(h=r.data)||void 0===h?void 0:h.kind)&&(0,f.hX)(null===(g=e.columnTypeOptions)||void 0===g?void 0:g.format)&&(r={...r,data:{...r.data,displayDate:n}})}n&&t.cssId&&(r=function(e,t,n){const i={},o=fe(t,"color",n);o&&(i.textDark=o);const r=fe(t,"background-color",n);return r&&(i.bgCell=r),"yellow"===r&&void 0===o&&(i.textDark="#31333F"),i?{...e,themeOverride:i}:e}(r,t.cssId,n))}return r}function be(e,t,n){const i=X({y_min:0,y_max:1},t.columnTypeOptions),r={kind:o.dd.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,f.hX)(i.y_min)||(0,f.hX)(i.y_max)||Number.isNaN(i.y_min)||Number.isNaN(i.y_max)||i.y_min>=i.y_max)return O("Invalid min/max y-axis configuration",`The y_min (${i.y_min}) and y_max (${i.y_max}) configuration options must be valid numbers.`);if((0,f.hX)(e))return F();const t=H(e),n=[];let o=[];if(0===t.length)return F();let l=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER;for(let i=0;i<t.length;i++){const e=W(t[i]);if(Number.isNaN(e)||(0,f.hX)(e))return O(L(t),`The value cannot be interpreted as a numeric array. ${L(e)} is not a number.`);e>l&&(l=e),e<a&&(a=e),n.push(e)}return o=n.length>0&&(l>i.y_max||a<i.y_min)?n.map((e=>l-a===0?l>(i.y_max||1)?i.y_max||1:i.y_min||0:((i.y_max||1)-(i.y_min||0))*((e-a)/(l-a))+(i.y_min||0))):n,{...r,copyData:n.join(","),data:{...r.data,values:o,displayValues:n.map((e=>j(e)))},isMissingValue:(0,f.hX)(e)}},getCellValue(e){var t,n;return e.kind===o.dd.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 be("line_chart",e,"line")}function xe(e){return be("bar_chart",e,"bar")}function Ce(e){return be("area_chart",e,"area")}function Me(e){const t={kind:o.dd.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,f.se)(e)?[L(e)]:[];return{...t,data:n,isMissingValue:!(0,f.se)(e),displayData:n}},getCellValue:e=>void 0===e.data||0===e.data.length?null:e.data[0]}}we.isEditableType=!1,xe.isEditableType=!1,Ce.isEditableType=!1,Me.isEditableType=!1;const Se=Me;function Ee(e){const t=e.columnTypeOptions||{};let n,i;if(t.validate)try{n=new RegExp(t.validate,"us")}catch(a){n=`Invalid validate regex: ${t.validate}.\nError: ${a}`}if(!(0,f.hX)(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 r={kind:o.dd.Uri,readonly:!e.isEditable,allowOverlay:!0,contentAlign:e.contentAlignment,style:e.isIndex?"faded":"normal",hoverEffect:!0,data:"",displayData:"",copyData:""},l=i=>{if((0,f.hX)(i))return!e.isRequired;const o=L(i);return!(t.max_chars&&o.length>t.max_chars)&&!(n instanceof RegExp&&!1===n.test(o))};return{...e,kind:"link",sortMode:"default",validateInput:l,getCell(e,o){if((0,f.hX)(e))return{...r,data:null,isMissingValue:!0,onClickUri:()=>{}};const s=e;if("string"===typeof n)return O(L(s),n);if(o){if(!1===l(s))return O(L(s),"Invalid input.")}let d="";return s&&(d=void 0!==i?function(e,t){if((0,f.hX)(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),{...r,data:s,displayData:d,isMissingValue:(0,f.hX)(s),onClickUri:e=>{window.open(s.startsWith("www.")?`https://${s}`:s,"_blank","noopener,noreferrer"),e.preventDefault()},copyData:s}},getCellValue:e=>(0,f.hX)(e.data)?null:e.data}}Ee.isEditableType=!0;const Re=Ee;function ke(e){const t=se(N.D0.getTypeName(e.arrowType)),n=X({min_value:0,max_value:t?100:1,step:t?1:.01,format:t?"%3d%%":"percent"},e.columnTypeOptions);let i;try{i=j(n.max_value,n.format)}catch(a){i=L(n.max_value)}const r=(0,f.hX)(n.step)||Number.isNaN(n.step)?void 0:P(n.step),l={kind:o.dd.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,f.hX)(e))return F();if((0,f.hX)(n.min_value)||(0,f.hX)(n.max_value)||Number.isNaN(n.min_value)||Number.isNaN(n.max_value)||n.min_value>=n.max_value)return O("Invalid min/max parameters",`The min_value (${n.min_value}) and max_value (${n.max_value}) parameters must be valid numbers.`);if((0,f.hX)(n.step)||Number.isNaN(n.step))return O("Invalid step parameter",`The step parameter (${n.step}) must be a valid number.`);const t=W(e);if(Number.isNaN(t)||(0,f.hX)(t))return O(L(e),"The value cannot be interpreted as a number.");if(Number.isInteger(t)&&!Number.isSafeInteger(t))return O(L(e),"The value is larger than the maximum supported integer values in number columns (2^53).");let i="";try{i=j(t,n.format,r)}catch(a){return O(L(t),(0,f.se)(n.format)?`Failed to format the number based on the provided format configuration: (${n.format}). Error: ${a}`:`Failed to format the number. Error: ${a}`)}const o=Math.min(n.max_value,Math.max(n.min_value,t));return{...l,isMissingValue:(0,f.hX)(e),copyData:String(t),data:{...l.data,value:o,label:i}}},getCellValue(e){var t,n;return e.kind===o.dd.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}}}ke.isEditableType=!1;const Te=ke,Ne=new Map(Object.entries({object:Z,text:ee,checkbox:ae,selectbox:me,list:ge,number:ue,link:Re,datetime:ie,date:re,time:oe,line_chart:we,bar_chart:xe,area_chart:Ce,image:Se,progress:Te})),Ie=[],_e="_index",Oe="_pos:",De={small:75,medium:200,large:400};function Ae(e){if(!(0,f.hX)(e))return"number"===typeof e?e:e in De?De[e]:void 0}function Fe(e,t){if(!t)return e;let n;return t.has(e.name)&&e.name!==_e?n=t.get(e.name):t.has(`${Oe}${e.indexNumber}`)?n=t.get(`${Oe}${e.indexNumber}`):e.isIndex&&t.has(_e)&&(n=t.get(_e)),n?b()({...e},{title:n.label,width:Ae(n.width),isEditable:(0,f.se)(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 $e(e){var t;const n=null===(t=e.columnTypeOptions)||void 0===t?void 0:t.type;let i;return(0,f.se)(n)&&(Ne.has(n)?i=Ne.get(n):(0,G.FF)(`Unknown column type configured in column configuration: ${n}`)),(0,f.hX)(i)&&(i=function(e){let t=e?N.D0.getTypeName(e):null;return t?(t=t.toLowerCase().trim(),["unicode","empty","large_string[pyarrow]"].includes(t)?ee:["datetime","datetimetz"].includes(t)?ie:"time"===t?oe:"date"===t?re:["object","bytes"].includes(t)?Z:["bool"].includes(t)?ae:["int8","int16","int32","int64","uint8","uint16","uint32","uint64","float16","float32","float64","float96","float128","range","decimal"].includes(t)?ue:"categorical"===t?me:t.startsWith("list")?ge:Z):Z}(e.arrowType)),i}const Ve=function(e,t,n){const o=(0,J.u)(),r=i.useMemo((()=>function(e){if(!e)return new Map;try{return new Map(Object.entries(JSON.parse(e)))}catch(t){return(0,G.vV)(t),new Map}}(e.columns)),[e.columns]),l=e.useContainerWidth||(0,f.se)(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 r=0;r<i;r++){const n={...pe(e,r),indexNumber:r};t.push(n)}for(let r=0;r<o;r++){const n={...ve(e,r),indexNumber:r+i};t.push(n)}return t}(t).map((t=>{let i={...t,...Fe(t,r),isStretched:l};const a=$e(i);return(e.editingMode===g.i3.EditingMode.READ_ONLY||n||!1===a.isEditableType)&&(i={...i,isEditable:!1}),e.editingMode!==g.i3.EditingMode.READ_ONLY&&1==i.isEditable&&(i={...i,icon:"editable"},i.isRequired&&e.editingMode===g.i3.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:[Z({id:"empty-index",title:"",indexNumber:0,isEditable:!1,isIndex:!0})]}),[t,r,l,n,e.editingMode,e.columnOrder,o])}};function Xe(e){return e.isIndex?_e:(0,f.hX)(e.name)?"":e.name}const He=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 r={};e.forEach(((e,n,i)=>{const o=t.get(n);o&&(r[Xe(o)]=o.getCellValue(e))})),n.edited_rows[i]=r})),this.addedRows.forEach((e=>{const i={};let o=!1;e.forEach(((e,n,r)=>{const l=t.get(n);if(l){const t=l.getCellValue(e);l.isRequired&&l.isEditable&&A(e)&&(o=!0),(0,f.se)(t)&&(i[Xe(l)]=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(Xe(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],r=o.get(e);if(r){const e=r.getCell(n);var l;if(e)this.editedCells.has(t)||this.editedCells.set(t,new Map),null===(l=this.editedCells.get(t))||void 0===l||l.set(r.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],r=o.get(t);if(r){const e=r.getCell(i);e&&n.set(r.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,f.hX)(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 Le=n(32735);const ze=function(){const e=(0,J.u)(),t=i.useMemo((()=>({editable:e=>`<svg xmlns="http://www.w3.org/2000/svg" height="40" viewBox="0 96 960 960" width="40" fill="${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,Le.No)(e.colors.primary,.9),borderColor:e.colors.borderColorLight,horizontalBorderColor:e.colors.borderColorLight,fontFamily:e.genericFonts.bodyFont,bgSearchResult:(0,Le.No)(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:`${e.fontSizes.sm}`,baseFontStyle:e.fontSizes.sm,editorFontSize:e.fontSizes.sm,textDark:e.colors.bodyText,textMedium:(0,Le.No)(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 We=function(e,t,n,o){const r=e.columns.length;return{getCellContent:i.useCallback((i=>{let[l,a]=i;if(l>t.length-1)return O("Column index out of bounds.","This should never happen. Please report this bug.");if(a>n-1)return O("Row index out of bounds.","This should never happen. Please report this bug.");const s=t[l],d=s.indexNumber,u=o.current.getOriginalRowIndex(a),c=o.current.isAddedRow(u);if(s.isEditable||c){const e=o.current.getCell(d,u);if((0,f.se)(e))return e;if(c)return O("Error during cell creation.",`This should never happen. Please report this bug. No cell found for an added row: col=${d}; row=${u}`)}try{return ye(s,e.getCell(u+r,d),e.cssStyles)}catch(m){return O("Error during cell creation.",`This should never happen. Please report this bug. \nError: ${m}`)}}),[t,n,e,o,r])}};var je=n(53221);const Be=function(e,t,n){const[o,r]=i.useState(),{getCellContent:l,getOriginalIndex:a}=(0,je.uf)({columns:t.map((e=>V(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 ${e.title}`:`\u2193 ${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 r(void 0);t="desc"}r({column:V(n),direction:t,mode:n.sortMode})}),[o,s]);return{columns:s,sortColumn:d,getOriginalIndex:a,getCellContent:l}};var Ye=n(71034),Pe=n.n(Ye);const Ue=function(e,t,n,r,l){const[a,s]=i.useState({columns:o.I1.empty(),rows:o.I1.empty(),current:void 0}),d=!t&&!n&&(e.selectionMode.includes(g.i3.SelectionMode.MULTI_ROW)||e.selectionMode.includes(g.i3.SelectionMode.SINGLE_ROW)),u=d&&e.selectionMode.includes(g.i3.SelectionMode.MULTI_ROW),c=!t&&!n&&(e.selectionMode.includes(g.i3.SelectionMode.SINGLE_COLUMN)||e.selectionMode.includes(g.i3.SelectionMode.MULTI_COLUMN)),m=c&&e.selectionMode.includes(g.i3.SelectionMode.MULTI_COLUMN),h=a.rows.length>0,f=a.columns.length>0,p=void 0!==a.current,v=i.useCallback((e=>{const t=!Pe()(e.rows.toArray(),a.rows.toArray()),n=!Pe()(e.columns.toArray(),a.columns.toArray()),i=!Pe()(e.current,a.current);let o=d&&t||c&&n,u=e;if((d||c)&&void 0!==e.current&&i&&(u={...e,rows:a.rows,columns:a.columns},o=!1),t&&e.rows.length>0&&n&&0===e.columns.length&&(u={...u,columns:a.columns},o=!0),n&&e.columns.length>0&&t&&0===e.rows.length&&(u={...u,rows:a.rows},o=!0),n&&u.columns.length>=0){let e=u.columns;r.forEach(((t,n)=>{t.isIndex&&(e=e.remove(n))})),e.length<u.columns.length&&(u={...u,columns:e})}s(u),o&&l(u)}),[a,d,c,l,r]),y=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.I1.empty(),rows:e?a.rows:o.I1.empty(),current:void 0};s(n),(!e&&d||!t&&c)&&l(n)}),[a,d,c,l]);return{gridSelection:a,isRowSelectionActivated:d,isMultiRowSelectionActivated:u,isColumnSelectionActivated:c,isMultiColumnSelectionActivated:m,isRowSelected:h,isColumnSelected:f,isCellSelected:p,clearSelection:y,processSelectionChange:v}},qe=",",Je='"',Ge='"',Ke="\n",Ze="\ufeff",Qe=new RegExp(`[${[qe,Je,Ke].join("")}]`);function et(e){return e.map((e=>function(e){if((0,f.hX)(e))return"";const t=L(e);if(Qe.test(t))return`${Je}${t.replace(new RegExp(Je,"g"),Ge+Je)}${Je}`;return t}(e))).join(qe)+Ke}async function tt(e,t,n,i){const o=new TextEncoder;await e.write(o.encode(Ze));const r=n.map((e=>e.name));await e.write(o.encode(et(r)));for(let l=0;l<i;l++){const i=[];n.forEach(((e,n,o)=>{i.push(e.getCellValue(t([n,l])))})),await e.write(o.encode(et(i)))}await e.close()}const nt=function(e,t,o,r){return{exportToCsv:i.useCallback((async()=>{const i=`${(new Date).toISOString().slice(0,16).replace(":","-")}_export.csv`;try{const r=await n.e(3966).then(n.bind(n,93966)),l=await r.showSaveFilePicker({suggestedName:i,types:[{accept:{"text/csv":[".csv"]}}],excludeAcceptAllOption:!1}),a=await l.createWritable();await tt(a,e,t,o)}catch(l){if(l instanceof Error&&"AbortError"===l.name)return;try{(0,G.FF)("Failed to export data as CSV with FileSystem API, trying fallback method",l);let n="";const a=new WritableStream({write:async e=>{n+=new TextDecoder("utf-8").decode(e)},close:async()=>{}});await tt(a.getWriter(),e,t,o);const s=new Blob([n],{type:"text/csv;charset=utf-8;"}),d=URL.createObjectURL(s),u=document.createElement("a");r?u.setAttribute("target","_blank"):u.setAttribute("target","_self"),u.style.display="none",u.href=d,u.download=i,document.body.appendChild(u),u.click(),document.body.removeChild(u),URL.revokeObjectURL(d)}catch(l){(0,G.vV)("Failed to export data as CSV",l)}}}),[t,o,e,r])}};const it=function(e,t,n,o,r,l,a,s,d){const u=i.useCallback(((t,i)=>{let[l,a]=t;const d=e[l];if(!d.isEditable)return;const u=d.indexNumber,c=n.current.getOriginalRowIndex(r(a)),m=o([l,a]),h=d.getCellValue(m),g=d.getCellValue(i);if(!D(m)&&g===h)return;const f=d.getCell(g,!0);D(f)?(0,G.FF)(`Not applying the cell edit since it causes this error:\n ${f.data}`):(n.current.setCell(u,c,{...f,lastUpdated:performance.now()}),s())}),[e,n,r,o,s]),c=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||(c(),s())}),[c,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(r(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]}),u([o,i],n.getCell(null)))}return t.length>0&&(s(),l(t)),!1}return!0}),[e,n,t,l,r,s,u,d,a]),g=i.useCallback(((i,a)=>{const[d,u]=i,m=[];for(let h=0;h<a.length;h++){const i=a[h];if(h+u>=n.current.getNumRows()){if(t)break;c()}for(let t=0;t<i.length;t++){const l=i[t],a=h+u,s=t+d;if(s>=e.length)break;const c=e[s];if(c.isEditable){const e=c.getCell(l,!0);if((0,f.se)(e)&&!D(e)){const t=c.indexNumber,i=n.current.getOriginalRowIndex(r(a)),l=c.getCellValue(o([s,a]));c.getCellValue(e)!==l&&(n.current.setCell(t,i,{...e,lastUpdated:performance.now()}),m.push({cell:[s,a]}))}}}m.length>0&&(s(),l(m))}return!1}),[e,n,t,r,o,c,s,l]),p=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:u,onPaste:g,onRowAppended:m,onDelete:h,validateCell:p}};const ot=function(e,t){const[n,o]=i.useState(),r=i.useRef(null),l=i.useCallback((n=>{if(clearTimeout(r.current),r.current=0,o(void 0),("header"===n.kind||"cell"===n.kind)&&n.location){const i=n.location[0],l=n.location[1];let a;if(i<0||i>=e.length)return;const s=e[i];if("header"===n.kind&&(0,f.se)(s))a=s.help;else if("cell"===n.kind){const e=t([i,l]);s.isRequired&&s.isEditable&&A(e)?a="\u26a0\ufe0f Please fill out this cell.":function(e){return e.hasOwnProperty("tooltip")&&""!==e.tooltip}(e)&&(a=e.tooltip)}a&&(r.current=setTimeout((()=>{a&&o({content:a,left:n.bounds.x+n.bounds.width/2,top:n.bounds.y})}),600))}}),[e,t,o,r]);return{tooltip:n,clearTooltip:i.useCallback((()=>{o(void 0)}),[o]),onItemHovered:l}};var rt=n(28873),lt=n(70128),at=n(13914),st=n(43301),dt=n(67338);const ut=function(e){return{drawCell:i.useCallback(((t,n)=>{const{cell:i,theme:o,ctx:r,rect:l}=t,a=t.col;if(A(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,rt.lR)({...e,theme:{...n,textDark:n.textLight,headerFontFull:`${n.headerFontStyle} ${n.fontFamily}`,baseFontFull:`${n.baseFontStyle} ${n.fontFamily}`,markerFontFull:`${n.markerFontStyle} ${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()}(r,l,o))}n()}),[e]),customRenderers:i.useMemo((()=>[lt.A,at.A,st.A,dt.Ay,...Ie]),[])}};const ct=function(e){const[t,n]=(0,i.useState)((()=>new Map)),o=i.useCallback(((e,i,o,r)=>{e.id&&n(new Map(t).set(e.id,r))}),[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}},mt=2,ht=35,gt=50+mt,ft=2*ht+mt;const pt=function(e,t,n,o,r,l){let a=function(e){return Math.max(e*ht+mt,ft)}(t+(n?2:1)+(e.editingMode===g.i3.EditingMode.DYNAMIC?1:0)),s=Math.min(a,400);e.height&&(s=Math.max(e.height,ft),a=Math.max(e.height,a)),r&&(s=Math.min(s,r),a=Math.min(a,r),e.height||(s=a));const d=Math.max(o,gt);let u,c=d;e.useContainerWidth?u=d:e.width&&(u=Math.min(Math.max(e.width,gt),d),c=Math.min(Math.max(e.width,c),d));const[m,h]=i.useState({width:u||"100%",height:s});return i.useLayoutEffect((()=>{e.useContainerWidth&&"100%"===m.width&&h({width:d,height:m.height})}),[d]),i.useLayoutEffect((()=>{h({width:m.width,height:s})}),[t]),i.useLayoutEffect((()=>{h({width:u||"100%",height:m.height})}),[u]),i.useLayoutEffect((()=>{h({width:m.width,height:s})}),[s]),i.useLayoutEffect((()=>{if(l){const t=e.useContainerWidth||(0,f.se)(e.width)&&e.width>0;h({width:t?c:"100%",height:a})}else h({width:u||"100%",height:s})}),[l]),{minHeight:ft,maxHeight:a,minWidth:gt,maxWidth:c,resizableSize:m,setResizableSize:h}};var vt=n(89653),yt=n(90782);const bt=(0,vt.A)("img",{target:"e24uaba0"})((()=>({maxWidth:"100%",maxHeight:"600px",objectFit:"scale-down"})),""),wt=e=>{let{urls:t}=e;const n=t&&t.length>0?t[0]:"";return n.startsWith("http")?(0,yt.jsx)("a",{href:n,target:"_blank",rel:"noreferrer noopener",children:(0,yt.jsx)(bt,{src:n})}):(0,yt.jsx)(bt,{src:n})};var xt=n(3074),Ct=n(41639),Mt=n(34914),St=n(88044),Et=n(58144);const Rt=function(e){let{top:t,left:n,content:o,clearTooltip:r}=e;const[l,a]=i.useState(!0),s=(0,J.u)(),{colors:d,fontSizes:u,radii:c}=s,m=i.useCallback((()=>{a(!1),r()}),[r,a]);return(0,yt.jsx)(xt.A,{content:(0,yt.jsx)(St.hW,{"data-testid":"stDataFrameTooltipContent",children:(0,yt.jsx)(Mt.Ay,{style:{fontSize:u.sm},source:o,allowHTML:!1})}),placement:Ct.El.top,accessibilityType:Ct.IP.tooltip,showArrow:!1,popoverMargin:5,onClickOutside:m,onEsc:m,overrides:{Body:{style:{borderTopLeftRadius:c.default,borderTopRightRadius:c.default,borderBottomLeftRadius:c.default,borderBottomRightRadius:c.default,paddingTop:"0 !important",paddingBottom:"0 !important",paddingLeft:"0 !important",paddingRight:"0 !important",backgroundColor:"transparent"}},Inner:{style:{backgroundColor:(0,Et.iq)(s)?d.bgColor:d.secondaryBg,color:d.bodyText,fontSize:u.sm,fontWeight:"normal",paddingTop:"0 !important",paddingBottom:"0 !important",paddingLeft:"0 !important",paddingRight:"0 !important"}}},isOpen:l,children:(0,yt.jsx)("div",{"data-testid":"stDataFrameTooltipTarget",style:{position:"fixed",top:t,left:n}})})},kt=(0,vt.A)("div",{target:"e1w7nams0"})((e=>{let{hasCustomizedScrollbars:t,theme:n}=e;return{position:"relative",display:"inline-block","& .stDataFrameGlideDataEditor":{height:"100%",minWidth:"100%",borderRadius:n.radii.default},"& .dvn-scroller":{...!t&&{scrollbarWidth:"thin"},overflowX:"auto !important",overflowY:"auto !important"}}}),"");n(32595),n(1627);const Tt=(0,h.A)((function(e){let{element:t,data:n,width:h,height:y,disabled:b,widgetMgr:w,isFullScreen:x,disableFullscreenMode:C,expand:M,collapse:S,fragmentId:E}=e;const R=i.useRef(null),k=i.useRef(null),T=i.useRef(null),{theme:N,headerIcons:I,tableBorderRadius:_}=ze(),{libConfig:{enforceDownloadInNewTab:O=!1}}=i.useContext(v.n),[D,A]=i.useState(!0),[F,X]=i.useState(!1),[H,L]=i.useState(!1),[z,W]=i.useState(!1),j=i.useMemo((()=>window.matchMedia&&window.matchMedia("(pointer: coarse)").matches),[]),B=i.useMemo((()=>window.navigator.userAgent.includes("Mac OS")&&window.navigator.userAgent.includes("Safari")||window.navigator.userAgent.includes("Chrome")),[]);(0,f.hX)(t.editingMode)&&(t.editingMode=g.i3.EditingMode.READ_ONLY);const{READ_ONLY:Y,DYNAMIC:P}=g.i3.EditingMode,U=n.dimensions,q=Math.max(0,U.dataRows),J=0===q&&!(t.editingMode===P&&U.dataColumns>0),G=q>15e4,K=i.useRef(new He(q)),[Z,Q]=i.useState(K.current.getNumRows());i.useEffect((()=>{K.current=new He(q),Q(K.current.getNumRows())}),[q]);const ee=i.useCallback((()=>{K.current=new He(q),Q(K.current.getNumRows())}),[q]),{columns:te}=Ve(t,n,b);i.useEffect((()=>{if(t.editingMode===Y)return;const e=w.getStringValue({id:t.id,formId:t.formId});e&&(K.current.fromJson(e,te),Q(K.current.getNumRows()))}),[]);const{getCellContent:ne}=We(n,te,Z,K),{columns:ie,sortColumn:oe,getOriginalIndex:re,getCellContent:le}=Be(q,te,ne),ae=i.useCallback((0,f.sg)(150,(e=>{const n={selection:{rows:[],columns:[]}};n.selection.rows=e.rows.toArray().map((e=>re(e))),n.selection.columns=e.columns.toArray().map((e=>Xe(ie[e])));const i=JSON.stringify(n),o=w.getStringValue({id:t.id,formId:t.formId});void 0!==o&&o===i||w.setStringValue({id:t.id,formId:t.formId},i,{fromUi:!0},E)})),[t.id,t.formId,w,E,re,Xe]),{gridSelection:se,isRowSelectionActivated:de,isMultiRowSelectionActivated:ue,isColumnSelectionActivated:ce,isMultiColumnSelectionActivated:me,isRowSelected:he,isColumnSelected:ge,isCellSelected:fe,clearSelection:pe,processSelectionChange:ve}=Ue(t,J,b,ie,ae);i.useEffect((()=>{pe(!0,!0)}),[x]);const ye=i.useCallback((e=>{var t;null===(t=k.current)||void 0===t||t.updateCells(e)}),[]);i.useEffect((()=>{if(!de&&!ce)return;const e=w.getStringValue({id:t.id,formId:t.formId});if(e){var n,i,r,l;const t=ie.map((e=>Xe(e))),a=JSON.parse(e);let s=o.I1.empty(),d=o.I1.empty();if(null===(n=a.selection)||void 0===n||null===(i=n.rows)||void 0===i||i.forEach((e=>{s=s.add(e)})),null===(r=a.selection)||void 0===r||null===(l=r.columns)||void 0===l||l.forEach((e=>{d=d.add(t.indexOf(e))})),s.length>0||d.length>0){ve({rows:s,columns:d,current:void 0})}}}),[]);const be=i.useCallback((()=>{Z!==K.current.getNumRows()&&Q(K.current.getNumRows())}),[Z]),we=i.useCallback((0,f.sg)(150,(()=>{const e=K.current.toJson(ie);let n=w.getStringValue({id:t.id,formId:t.formId});void 0===n&&(n=new He(0).toJson([])),e!==n&&w.setStringValue({id:t.id,formId:t.formId},e,{fromUi:!0},E)})),[t.id,t.formId,w,E,ie,K.current]),{exportToCsv:xe}=nt(le,ie,Z,O),{onCellEdited:Ce,onPaste:Me,onRowAppended:Se,onDelete:Ee,validateCell:Re}=it(ie,t.editingMode!==P,K,le,re,ye,be,we,pe),{tooltip:ke,clearTooltip:Te,onItemHovered:Ne}=ot(ie,le),{drawCell:Ie,customRenderers:_e}=ut(ie),Oe=i.useMemo((()=>ie.map((e=>V(e)))),[ie]),{columns:De,onColumnResize:Ae}=ct(Oe),Fe=n.columns.length>1,{minHeight:$e,maxHeight:Le,minWidth:je,maxWidth:Ye,resizableSize:Pe,setResizableSize:qe}=pt(t,Z,Fe,h,y,x),Je=i.useCallback((e=>{let[t,n]=e;return{...$(!0,!1),displayData:"empty",contentAlign:"center",allowOverlay:!1,themeOverride:{textDark:N.textLight},span:[0,Math.max(ie.length-1,0)]}}),[ie,N.textLight]);i.useEffect((()=>{if(!t.formId)return;const e=new m.o;return e.manageFormClearListener(w,t.formId,(()=>{ee(),pe()})),()=>{e.disconnect()}}),[t.formId,ee,pe,w]);const Ge=!J&&t.editingMode===P&&!b,Ke=J?0:ie.filter((e=>e.isIndex)).length;return i.useEffect((()=>{setTimeout((()=>{if(T.current&&k.current){var e,t;const n=null===(e=T.current)||void 0===e||null===(t=e.querySelector(".dvn-stack"))||void 0===t?void 0:t.getBoundingClientRect();n&&(L(n.height>T.current.clientHeight),W(n.width>T.current.clientWidth))}}),1)}),[Pe,Z,De]),(0,yt.jsxs)(kt,{className:"stDataFrame","data-testid":"stDataFrame",hasCustomizedScrollbars:B,ref:T,onMouseDown:e=>{if(T.current&&B){const t=T.current.getBoundingClientRect();z&&t.height-7<e.clientY-t.top&&e.stopPropagation(),H&&t.width-7<e.clientX-t.left&&e.stopPropagation()}},onBlur:e=>{D||j||e.currentTarget.contains(e.relatedTarget)||pe(!0,!0)},children:[(0,yt.jsxs)(p.A,{isFullScreen:x,disableFullscreenMode:C,locked:he&&!de||fe||j&&D,onExpand:M,onCollapse:S,target:kt,children:[(de&&he||ce&&ge)&&(0,yt.jsx)(p.K,{label:"Clear selection",icon:a.b,onClick:()=>{pe(),Te()}}),Ge&&he&&(0,yt.jsx)(p.K,{label:"Delete row(s)",icon:s.e,onClick:()=>{Ee&&(Ee(se),Te())}}),Ge&&!he&&(0,yt.jsx)(p.K,{label:"Add row",icon:d.O,onClick:()=>{Se&&(A(!0),Se(),Te())}}),!G&&!J&&(0,yt.jsx)(p.K,{label:"Download as CSV",icon:u.n,onClick:()=>xe()}),!J&&(0,yt.jsx)(p.K,{label:"Search",icon:c.v,onClick:()=>{F?X(!1):(A(!0),X(!0)),Te()}})]}),(0,yt.jsx)(l.c,{"data-testid":"stDataFrameResizable",ref:R,defaultSize:Pe,style:{border:`1px solid ${N.borderColor}`,borderRadius:`${_}`},minHeight:$e,maxHeight:Le,minWidth:je,maxWidth:Ye,size:Pe,enable:{top:!1,right:!1,bottom:!1,left:!1,topRight:!1,bottomRight:!0,bottomLeft:!1,topLeft:!1},grid:[1,ht],snapGap:ht/3,onResizeStop:(e,t,n,i)=>{R.current&&qe({width:R.current.size.width,height:Le-R.current.size.height===mt?R.current.size.height+mt:R.current.size.height})},children:(0,yt.jsx)(r.D,{className:"stDataFrameGlideDataEditor","data-testid":"stDataFrameGlideDataEditor",ref:k,columns:De,rows:J?1:Z,minColumnWidth:50,maxColumnWidth:1e3,maxColumnAutoWidth:500,rowHeight:ht,headerHeight:ht,getCellContent:J?Je:le,onColumnResize:j?void 0:Ae,resizeIndicator:"header",freezeColumns:Ke,smoothScrollX:!0,smoothScrollY:!0,verticalBorder:!0,getCellsForSelection:!0,rowMarkers:"none",rangeSelect:j?"cell":"rect",columnSelect:"none",rowSelect:"none",onItemHovered:Ne,keybindings:{downFill:!0},onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&"f"===e.key&&(X((e=>!e)),e.stopPropagation(),e.preventDefault())},showSearch:F,onSearchClose:()=>{X(!1),Te()},onHeaderClicked:(e,t)=>{J||G||ce||(de&&he&&pe(),oe(e))},gridSelection:se,onGridSelectionChange:e=>{(D||j)&&(ve(e),void 0!==ke&&Te())},theme:N,onMouseMove:e=>{"out-of-bounds"===e.kind&&D?A(!1):"out-of-bounds"===e.kind||D||A(!0)},fixedShadowX:!0,fixedShadowY:!0,experimental:{scrollbarWidthOverride:0,...B&&{paddingBottom:z?-6:void 0,paddingRight:H?-6:void 0}},drawCell:Ie,customRenderers:_e,imageEditorOverride:wt,headerIcons:I,validateCell:Re,onPaste:!1,...de&&{rowMarkers:{kind:"checkbox",checkboxStyle:"square",theme:{bgCell:N.bgHeader,bgCellMedium:N.bgHeader}},rowSelectionMode:ue?"multi":"auto",rowSelect:b?"none":ue?"multi":"single",rowSelectionBlending:"mixed",rangeSelectionBlending:"exclusive"},...ce&&{columnSelect:b?"none":me?"multi":"single",columnSelectionBlending:"mixed",rangeSelectionBlending:"exclusive"},...!J&&t.editingMode!==Y&&!b&&{fillHandle:!j,onCellEdited:Ce,onPaste:Me,onDelete:Ee},...!J&&t.editingMode===P&&{trailingRowOptions:{sticky:!1,tint:!0},rowMarkers:{kind:"checkbox",checkboxStyle:"square",theme:{bgCell:N.bgHeader,bgCellMedium:N.bgHeader}},rowSelectionMode:"multi",rowSelect:b?"none":"multi",onRowAppended:b?void 0:Se,onHeaderClicked:void 0}})}),ke&&ke.content&&(0,yt.jsx)(Rt,{top:ke.top,left:ke.left,content:ke.content,clearTooltip:Te})]})}),!0)}}]);
|