streamlit-react-components 1.8.1.0__tar.gz → 1.8.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {streamlit_react_components-1.8.1.0/src/streamlit_react_components.egg-info → streamlit_react_components-1.8.1.1}/PKG-INFO +1 -1
  2. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/pyproject.toml +1 -1
  3. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/_frontend/index.js +1 -1
  4. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1/src/streamlit_react_components.egg-info}/PKG-INFO +1 -1
  5. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/MANIFEST.in +0 -0
  6. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/README.md +0 -0
  7. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/setup.cfg +0 -0
  8. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/__init__.py +0 -0
  9. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/_frontend/index.css +0 -0
  10. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/_frontend/index.html +0 -0
  11. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/__init__.py +0 -0
  12. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/button_group.py +0 -0
  13. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/chart_legend.py +0 -0
  14. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/data_table.py +0 -0
  15. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/metric_row.py +0 -0
  16. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/panel.py +0 -0
  17. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/plotly_chart.py +0 -0
  18. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/section_header.py +0 -0
  19. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/smart_chart.py +0 -0
  20. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/stat_card.py +0 -0
  21. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/common/step_indicator.py +0 -0
  22. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/form/__init__.py +0 -0
  23. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/form/checkbox_group.py +0 -0
  24. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/form/form_date_slider.py +0 -0
  25. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/form/form_select.py +0 -0
  26. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/form/form_slider.py +0 -0
  27. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/form/radio_group.py +0 -0
  28. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/styled_container.py +0 -0
  29. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/tailwind.py +0 -0
  30. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components/themes.py +0 -0
  31. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components.egg-info/SOURCES.txt +0 -0
  32. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components.egg-info/dependency_links.txt +0 -0
  33. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components.egg-info/requires.txt +0 -0
  34. {streamlit_react_components-1.8.1.0 → streamlit_react_components-1.8.1.1}/src/streamlit_react_components.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: streamlit-react-components
3
- Version: 1.8.1.0
3
+ Version: 1.8.1.1
4
4
  Summary: Reusable React-based Streamlit components with Tailwind CSS styling
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/your-org/streamlit-react-components
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "streamlit-react-components"
7
- version = "1.8.1.0"
7
+ version = "1.8.1.1"
8
8
  description = "Reusable React-based Streamlit components with Tailwind CSS styling"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -3917,4 +3917,4 @@ maplibre-gl/dist/maplibre-gl.js:
3917
3917
  * MapLibre GL JS
3918
3918
  * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt
3919
3919
  *)
3920
- */return window.Plotly=B,B})})(dF);var Hte=dF.exports;(function(S){Object.defineProperty(S,"__esModule",{value:!0}),S.default=void 0;var o=he(uF),B=he(Hte);function he(Tt){return Tt&&Tt.__esModule?Tt:{default:Tt}}var Re=(0,o.default)(B.default),Ye=Re;S.default=Ye})(lF);const Wte=eD(lF);function Xte({args:S}){var Gi,_i,Oi;const{figure:o,config:B,onClickEnabled:he,onSelectEnabled:Re,onHoverEnabled:Ye,onRelayoutEnabled:Tt,expandable:Qt=!1,modalTitle:Mr="",style:cn,className:Gn}=S,{style:ta,className:Ca}=Lv(cn,Gn);gs.useEffect(()=>{Dl.setFrameHeight()},[]);const si=gs.useCallback(Ji=>{Ji.stopPropagation(),Dl.setComponentValue({type:"expand",figure:o,modalTitle:Mr,timestamp:Date.now()})},[o,Mr]),Ya=gs.useCallback(Ji=>{he&&Dl.setComponentValue({type:"click",points:Ji.points.map(qi=>({curveNumber:qi.curveNumber,pointNumber:qi.pointNumber,pointIndex:qi.pointIndex,x:qi.x,y:qi.y,customdata:qi.customdata}))})},[he]),Ei=gs.useCallback(Ji=>{var qi;Re&&Ji&&Dl.setComponentValue({type:"select",points:((qi=Ji.points)==null?void 0:qi.map(gi=>({curveNumber:gi.curveNumber,pointNumber:gi.pointNumber,x:gi.x,y:gi.y,customdata:gi.customdata})))||[]})},[Re]),Vo=gs.useCallback(Ji=>{Ye&&Dl.setComponentValue({type:"hover",points:Ji.points.map(qi=>({curveNumber:qi.curveNumber,pointNumber:qi.pointNumber,x:qi.x,y:qi.y,customdata:qi.customdata}))})},[Ye]),Yn=gs.useCallback(Ji=>{Tt&&Dl.setComponentValue({type:"relayout",relayout:Ji})},[Tt]),ze={paper_bgcolor:"transparent",plot_bgcolor:"transparent",font:{color:"#e2e8f0"},xaxis:{gridcolor:"#334155",linecolor:"#475569",zerolinecolor:"#475569"},yaxis:{gridcolor:"#334155",linecolor:"#475569",zerolinecolor:"#475569"},legend:{bgcolor:"transparent",font:{color:"#e2e8f0"}}},ja={...ze,...o.layout,autosize:!0,xaxis:{...ze.xaxis,...(Gi=o.layout)==null?void 0:Gi.xaxis},yaxis:{...ze.yaxis,...(_i=o.layout)==null?void 0:_i.yaxis},legend:{...ze.legend,...(Oi=o.layout)==null?void 0:Oi.legend}};return Zi.jsxs("div",{className:df("w-full relative",Ca),style:ta,children:[Zi.jsx(Wte,{data:o.data,layout:ja,frames:o.frames,config:{responsive:!0,displayModeBar:!0,...B},useResizeHandler:!0,style:{width:"100%",height:"100%"},onClick:he?Ya:void 0,onSelected:Re?Ei:void 0,onHover:Ye?Vo:void 0,onRelayout:Tt?Yn:void 0}),Qt&&Zi.jsx("button",{onClick:si,className:"absolute top-2 right-2 p-2 bg-slate-700/80 hover:bg-slate-600 rounded-lg text-slate-300 hover:text-white transition-colors z-10",title:"Expand chart",children:Zi.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:Zi.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"})})})]})}function Yte({args:S}){const{label:o,options:B,value:he="",groups:Re,style:Ye,className:Tt,deferUpdate:Qt=!1,componentKey:Mr}=S,{style:cn,className:Gn}=Lv(Ye,Tt),ta=gs.useRef(!0),[Ca,si]=gs.useState(()=>{if(Qt&&Mr){const Vo=sessionStorage.getItem(`deferred_${Mr}`);if(Vo)try{return JSON.parse(Vo)}catch{return he}}return he});gs.useEffect(()=>{if(Qt&&Mr){const Vo=sessionStorage.getItem(`deferred_${Mr}`);if(Vo)try{const Yn=JSON.parse(Vo);si(Yn),Dl.setComponentValue(Yn),sessionStorage.removeItem(`deferred_${Mr}`)}catch{}}},[]),gs.useEffect(()=>{if(ta.current){ta.current=!1;return}(!Qt||!Mr)&&si(he)},[he,Qt,Mr]),gs.useEffect(()=>{const Vo=[];if(Re?Re.forEach(Yn=>{Yn.options.forEach(ze=>{Vo.push(typeof ze=="string"?ze:ze.value)})}):B&&B.forEach(Yn=>{Vo.push(typeof Yn=="string"?Yn:Yn.value)}),Vo.length>0&&!Vo.includes(Ca)){const Yn=Vo[0];si(Yn),Qt&&Mr?sessionStorage.setItem(`deferred_${Mr}`,JSON.stringify(Yn)):Dl.setComponentValue(Yn)}},[B,Re,Ca,Qt,Mr]),gs.useEffect(()=>{Dl.setFrameHeight()});const Ya=gs.useCallback(Vo=>{const Yn=Vo.target.value;si(Yn),Qt&&Mr?sessionStorage.setItem(`deferred_${Mr}`,JSON.stringify(Yn)):Dl.setComponentValue(Yn)},[Qt,Mr]),Ei=(Vo,Yn)=>typeof Vo=="string"?Zi.jsx("option",{value:Vo,children:Vo},Yn):Zi.jsx("option",{value:Vo.value,children:Vo.label},Yn);return Zi.jsxs("div",{className:df("",Gn),style:cn,children:[Zi.jsx("label",{className:"text-xs text-slate-400 block mb-1",children:o}),Zi.jsx("select",{value:Ca,onChange:Ya,className:"w-full px-3 py-2 bg-slate-800 border border-slate-600 rounded text-sm text-white",children:Re?Re.map((Vo,Yn)=>Zi.jsx("optgroup",{label:Vo.label,children:Vo.options.map((ze,ja)=>Ei(ze,ja))},Yn)):B.map((Vo,Yn)=>Ei(Vo,Yn))})]})}function Zte({args:S}){const{label:o,value:B,minVal:he,maxVal:Re,step:Ye=1,unit:Tt="",color:Qt="blue",style:Mr,className:cn,deferUpdate:Gn=!1,componentKey:ta}=S,Ca=gs.useRef(!0),[si,Ya]=gs.useState(()=>{if(Gn&&ta){const _i=sessionStorage.getItem(`deferred_${ta}`);if(_i)try{return JSON.parse(_i)}catch{return B}}return B}),{cssVars:Ei,theme:Vo}=Qb({textColor:"primary"}),{style:Yn,className:ze}=Lv(Mr,cn);v5(Qt,"blue");const ja=Qt!=null&&Qt.startsWith("#")?Qt:Vo.colors[Qt]||Vo.colors.primary;gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(Gn&&ta){const _i=sessionStorage.getItem(`deferred_${ta}`);if(_i)try{const Oi=JSON.parse(_i);Ya(Oi),Dl.setComponentValue(Oi),sessionStorage.removeItem(`deferred_${ta}`)}catch{}}},[]),gs.useEffect(()=>{if(Ca.current){Ca.current=!1;return}(!Gn||!ta)&&Ya(B)},[B,Gn,ta]);const Gi=gs.useCallback(_i=>{const Oi=parseFloat(_i.target.value);Ya(Oi),Gn&&ta?sessionStorage.setItem(`deferred_${ta}`,JSON.stringify(Oi)):Dl.setComponentValue(Oi)},[Gn,ta]);return Zi.jsxs("div",{className:df("",ze),style:{...Ei,...Yn},children:[Zi.jsxs("label",{className:"flex justify-between text-sm mb-1",children:[Zi.jsx("span",{style:{color:"var(--text-secondary)"},children:o}),Zi.jsxs("span",{style:{color:ja},children:[si,Tt]})]}),Zi.jsx("input",{type:"range",min:he,max:Re,step:Ye,value:si,onChange:Gi,className:"w-full",style:{accentColor:ja}}),Zi.jsxs("div",{className:"flex justify-between text-xs mt-1",style:{color:"var(--text-tertiary)"},children:[Zi.jsxs("span",{children:[he,Tt]}),Zi.jsxs("span",{children:[Re,Tt]})]})]})}function $te({args:S}){const{label:o,items:B,layout:he="vertical",style:Re,className:Ye,deferUpdate:Tt=!1,componentKey:Qt}=S,{style:Mr,className:cn}=Lv(Re,Ye),Gn=gs.useRef(!0),[ta,Ca]=gs.useState(()=>{if(Tt&&Qt){const Ei=sessionStorage.getItem(`deferred_${Qt}`);if(Ei)try{const Vo=JSON.parse(Ei);return new Set(Vo)}catch{}}const Ya=new Set;return B.forEach(Ei=>{Ei.checked&&Ya.add(Ei.id)}),Ya});gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(Tt&&Qt){const Ya=sessionStorage.getItem(`deferred_${Qt}`);if(Ya)try{const Ei=JSON.parse(Ya);Ca(new Set(Ei)),Dl.setComponentValue(Ei),sessionStorage.removeItem(`deferred_${Qt}`)}catch{}}},[]),gs.useEffect(()=>{if(Gn.current){Gn.current=!1;return}if(!Tt||!Qt){const Ya=new Set;B.forEach(Ei=>{Ei.checked&&Ya.add(Ei.id)}),Ca(Ya)}},[B,Tt,Qt]);const si=gs.useCallback((Ya,Ei,Vo)=>{Vo||Ca(Yn=>{const ze=new Set(Yn);Ei?ze.add(Ya):ze.delete(Ya);const ja=Array.from(ze);return Tt&&Qt?sessionStorage.setItem(`deferred_${Qt}`,JSON.stringify(ja)):Dl.setComponentValue(ja),ze})},[Tt,Qt]);return Zi.jsxs("div",{className:df("",cn),style:Mr,children:[o&&Zi.jsx("div",{className:"text-xs text-slate-400 mb-2",children:o}),Zi.jsx("div",{className:he==="horizontal"?"flex flex-row flex-wrap gap-4":"space-y-1",children:B.map(Ya=>Zi.jsxs("label",{className:df("flex items-center gap-2 text-sm",Ya.disabled?"text-slate-500 cursor-not-allowed":"text-slate-300 cursor-pointer"),children:[Zi.jsx("input",{type:"checkbox",checked:ta.has(Ya.id),onChange:Ei=>si(Ya.id,Ei.target.checked,Ya.disabled),disabled:Ya.disabled,className:df("rounded border-slate-600",Ya.disabled?"opacity-50 cursor-not-allowed":"")}),Ya.label]},Ya.id))})]})}function Kte({args:S}){const{label:o,items:B,layout:he="vertical",style:Re,className:Ye,deferUpdate:Tt=!1,componentKey:Qt}=S,{style:Mr,className:cn}=Lv(Re,Ye),Gn=gs.useRef(!0),[ta,Ca]=gs.useState(()=>{if(Tt&&Qt){const Ei=sessionStorage.getItem(`deferred_${Qt}`);if(Ei)try{return JSON.parse(Ei)}catch{}}const Ya=B.find(Ei=>Ei.checked);return Ya?Ya.id:null});gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(Tt&&Qt){const Ya=sessionStorage.getItem(`deferred_${Qt}`);if(Ya)try{const Ei=JSON.parse(Ya);Ca(Ei),Dl.setComponentValue(Ei),sessionStorage.removeItem(`deferred_${Qt}`)}catch{}}},[]),gs.useEffect(()=>{if(Gn.current){Gn.current=!1;return}if(!Tt||!Qt){const Ya=B.find(Ei=>Ei.checked);Ya&&Ca(Ya.id)}},[B,Tt,Qt]);const si=gs.useCallback((Ya,Ei)=>{Ei||(Ca(Ya),Tt&&Qt?sessionStorage.setItem(`deferred_${Qt}`,JSON.stringify(Ya)):Dl.setComponentValue(Ya))},[Tt,Qt]);return Zi.jsxs("div",{className:df("",cn),style:Mr,children:[o&&Zi.jsx("div",{className:"text-xs font-medium text-slate-400 mb-2 uppercase tracking-wide",children:o}),Zi.jsx("div",{className:he==="horizontal"?"flex flex-row flex-wrap gap-4":"flex flex-col space-y-2",children:B.map(Ya=>{const Ei=ta===Ya.id;return Zi.jsxs("label",{className:df("flex items-center gap-2 group",Ya.disabled?"cursor-not-allowed":"cursor-pointer"),children:[Zi.jsx("input",{type:"radio",name:"radio-group",checked:Ei,onChange:()=>si(Ya.id,Ya.disabled),disabled:Ya.disabled,className:df("w-4 h-4 text-blue-500 bg-slate-700 border-slate-500 focus:ring-blue-500 focus:ring-2",Ya.disabled?"cursor-not-allowed opacity-50":"cursor-pointer")}),Zi.jsx("span",{className:df("text-sm transition-colors",Ya.disabled?"text-slate-500":Ei?"text-slate-100 font-medium":"text-slate-400 group-hover:text-slate-300"),children:Ya.label})]},Ya.id)})})]})}function Jte(S,o,B,he){const Re=[],Ye=new Date(S);switch(B){case"month":for(Ye.setUTCDate(1);Ye<=o;)Re.push(Ye.getTime()),Ye.setUTCMonth(Ye.getUTCMonth()+1);break;case"quarter":for(Ye.setUTCDate(1),Ye.setUTCMonth(Math.floor(Ye.getUTCMonth()/3)*3);Ye<=o;)Re.push(Ye.getTime()),Ye.setUTCMonth(Ye.getUTCMonth()+3);break;case"year":for(Ye.setUTCMonth(0),Ye.setUTCDate(1);Ye<=o;)Re.push(Ye.getTime()),Ye.setUTCFullYear(Ye.getUTCFullYear()+1);break;case"week":const Qt=Ye.getUTCDay(),Mr=Qt===0?-6:1-Qt;for(Ye.setUTCDate(Ye.getUTCDate()+Mr);Ye<=o;)Ye>=S&&Re.push(Ye.getTime()),Ye.setUTCDate(Ye.getUTCDate()+7);break;case"day":default:const cn=he*24*60*60*1e3;let Gn=S.getTime();for(;Gn<=o.getTime();)Re.push(Gn),Gn+=cn;break}const Tt=o.getTime();return(Re.length===0||Re[Re.length-1]!==Tt)&&(Re.length===0||Re[Re.length-1]<Tt)&&Re.push(Tt),Re}function aE(S,o){return o.length===0?S:o.reduce((B,he)=>Math.abs(he-S)<Math.abs(B-S)?he:B)}function Jx(S,o){const B=S.getUTCFullYear(),he=S.getUTCMonth()+1,Re=S.getUTCDate(),Ye=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return o.replace("YYYY",String(B)).replace("MM",String(he).padStart(2,"0")).replace("DD",String(Re).padStart(2,"0")).replace("MMM",Ye[he-1]).replace("M",String(he)).replace("D",String(Re))}function Qte({args:S}){const{label:o,minVal:B,maxVal:he,value:Re,stepType:Ye="month",stepDays:Tt=1,format:Qt="YYYY-MM",color:Mr="blue",style:cn,className:Gn,deferUpdate:ta=!1,componentKey:Ca}=S,si=gs.useRef(!0),Ya=Array.isArray(Re),Ei=gs.useMemo(()=>new Date(B),[B]),Vo=gs.useMemo(()=>new Date(he),[he]),Yn=gs.useMemo(()=>Jte(Ei,Vo,Ye,Tt),[Ei,Vo,Ye,Tt]),[ze,ja]=gs.useState(()=>{if(ta&&Ca){const rc=sessionStorage.getItem(`deferred_${Ca}`);if(rc)try{const no=JSON.parse(rc);if(Array.isArray(no))return[new Date(no[0]).getTime(),new Date(no[1]).getTime()];{const Is=new Date(no).getTime();return[Is,Is]}}catch{}}if(Ya)return[new Date(Re[0]).getTime(),new Date(Re[1]).getTime()];{const rc=new Date(Re).getTime();return[rc,rc]}}),{cssVars:Gi,theme:_i}=Qb({textColor:"primary"}),{style:Oi,className:Ji}=Lv(cn,Gn),qi=Mr!=null&&Mr.startsWith("#")?Mr:_i.colors[Mr]||_i.colors.primary;gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(ta&&Ca){const rc=sessionStorage.getItem(`deferred_${Ca}`);if(rc)try{const no=JSON.parse(rc);if(Ya){const Is=[new Date(no[0]).getTime(),new Date(no[1]).getTime()];ja(Is),Dl.setComponentValue(no)}else{const Is=new Date(no).getTime();ja([Is,Is]),Dl.setComponentValue(no)}sessionStorage.removeItem(`deferred_${Ca}`)}catch{}}},[]),gs.useEffect(()=>{if(si.current){si.current=!1;return}if(!ta||!Ca)if(Ya)ja([new Date(Re[0]).getTime(),new Date(Re[1]).getTime()]);else{const rc=new Date(Re).getTime();ja([rc,rc])}},[Re,ta,Ca,Ya]);const gi=gs.useCallback(rc=>{const no=new Date(rc[0]).toISOString().split("T")[0],Is=new Date(rc[1]).toISOString().split("T")[0],Tl=Ya?[no,Is]:no;ta&&Ca?sessionStorage.setItem(`deferred_${Ca}`,JSON.stringify(Tl)):Dl.setComponentValue(Tl)},[Ya,ta,Ca]),os=gs.useCallback(rc=>{const no=parseInt(rc.target.value,10),Is=aE(no,Yn),Xc=[Math.min(Is,ze[1]),ze[1]];ja(Xc),gi(Xc)},[Yn,ze,gi]),io=gs.useCallback(rc=>{const no=parseInt(rc.target.value,10),Is=aE(no,Yn),Tl=Math.max(Is,ze[0]),Xc=[ze[0],Tl];ja(Xc),gi(Xc)},[Yn,ze,gi]),Fu=gs.useCallback(rc=>{const no=parseInt(rc.target.value,10),Is=aE(no,Yn),Tl=[Is,Is];ja(Tl),gi(Tl)},[Yn,gi]),xc=Ei.getTime(),Qi=Vo.getTime(),hs=(ze[0]-xc)/(Qi-xc)*100,Zv=(ze[1]-xc)/(Qi-xc)*100;return Zi.jsxs("div",{className:df("",Ji),style:{...Gi,...Oi},children:[Zi.jsxs("label",{className:"flex justify-between text-sm mb-1",children:[Zi.jsx("span",{style:{color:"var(--text-secondary)"},children:o}),Zi.jsx("span",{style:{color:qi},children:Ya?Zi.jsxs(Zi.Fragment,{children:[Jx(new Date(ze[0]),Qt)," — ",Jx(new Date(ze[1]),Qt)]}):Jx(new Date(ze[0]),Qt)})]}),Zi.jsx("div",{className:"relative h-6",children:Ya?Zi.jsxs(Zi.Fragment,{children:[Zi.jsx("div",{className:"absolute top-1/2 left-0 right-0 h-1 -translate-y-1/2 rounded bg-slate-700"}),Zi.jsx("div",{className:"absolute top-1/2 h-1 -translate-y-1/2 rounded",style:{left:`${hs}%`,width:`${Zv-hs}%`,backgroundColor:qi}}),Zi.jsx("input",{type:"range",min:xc,max:Qi,value:ze[0],onChange:os,className:"absolute w-full h-full appearance-none bg-transparent pointer-events-none [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:bg-[var(--thumb-color)] [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:bg-[var(--thumb-color)]",style:{"--thumb-color":qi}}),Zi.jsx("input",{type:"range",min:xc,max:Qi,value:ze[1],onChange:io,className:"absolute w-full h-full appearance-none bg-transparent pointer-events-none [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:bg-[var(--thumb-color)] [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:bg-[var(--thumb-color)]",style:{"--thumb-color":qi}})]}):Zi.jsx("input",{type:"range",min:xc,max:Qi,value:ze[0],onChange:Fu,className:"w-full",style:{accentColor:qi}})}),Zi.jsxs("div",{className:"flex justify-between text-xs mt-1",style:{color:"var(--text-tertiary)"},children:[Zi.jsx("span",{children:Jx(Ei,Qt)}),Zi.jsx("span",{children:Jx(Vo,Qt)})]})]})}function ere(){const[S,o]=gs.useState(null),[B,he]=gs.useState(null);gs.useEffect(()=>{const Tt=Qt=>{const Mr=Qt.detail;o(Mr),he(Mr.args)};return Dl.events.addEventListener(Dl.RENDER_EVENT,Tt),Dl.setComponentReady(),Dl.setFrameHeight(),()=>{Dl.events.removeEventListener(Dl.RENDER_EVENT,Tt)}},[]);const Re=gs.useCallback(()=>{Dl.setFrameHeight()},[]),Ye=gs.useCallback(Tt=>{Dl.setComponentValue(Tt)},[]);return{renderData:S,args:B,theme:S==null?void 0:S.theme,disabled:(S==null?void 0:S.disabled)??!1,updateHeight:Re,setComponentValue:Ye}}const tre={panel:Cte,section_header:Ite,stat_card:Pte,metric_row:Rte,data_table:zte,step_indicator:Fte,button_group:Bte,chart_legend:Nte,plotly_chart:Xte,form_select:Yte,form_slider:Zte,checkbox_group:$te,radio_group:Kte,form_date_slider:Qte};function rre(){const{args:S,theme:o,updateHeight:B}=ere();if(BT.useEffect(()=>{B()}),!S)return null;const he=S.component,Re=tre[he];if(!Re)return Zi.jsxs("div",{className:"p-4 bg-red-900/30 border border-red-700 rounded text-red-400",children:["Unknown component: ",he]});const Ye=S.theme&&Object.keys(S.theme).length>0?S.theme:void 0;return Zi.jsx(LJ,{theme:Ye,streamlitTheme:o,children:Zi.jsx(Re,{args:S})})}iE.createRoot(document.getElementById("root")).render(Zi.jsx(BT.StrictMode,{children:Zi.jsx(rre,{})}));
3920
+ */return window.Plotly=B,B})})(dF);var Hte=dF.exports;(function(S){Object.defineProperty(S,"__esModule",{value:!0}),S.default=void 0;var o=he(uF),B=he(Hte);function he(Tt){return Tt&&Tt.__esModule?Tt:{default:Tt}}var Re=(0,o.default)(B.default),Ye=Re;S.default=Ye})(lF);const Wte=eD(lF);function Xte({args:S}){var Gi,_i,Oi;const{figure:o,config:B,onClickEnabled:he,onSelectEnabled:Re,onHoverEnabled:Ye,onRelayoutEnabled:Tt,expandable:Qt=!1,modalTitle:Mr="",style:cn,className:Gn}=S,{style:ta,className:Ca}=Lv(cn,Gn);gs.useEffect(()=>{Dl.setFrameHeight()},[]);const si=gs.useCallback(Ji=>{Ji.stopPropagation(),Dl.setComponentValue({type:"expand",figure:o,modalTitle:Mr,timestamp:Date.now()})},[o,Mr]),Ya=gs.useCallback(Ji=>{he&&Dl.setComponentValue({type:"click",points:Ji.points.map(qi=>({curveNumber:qi.curveNumber,pointNumber:qi.pointNumber,pointIndex:qi.pointIndex,x:qi.x,y:qi.y,customdata:qi.customdata}))})},[he]),Ei=gs.useCallback(Ji=>{var qi;Re&&Ji&&Dl.setComponentValue({type:"select",points:((qi=Ji.points)==null?void 0:qi.map(gi=>({curveNumber:gi.curveNumber,pointNumber:gi.pointNumber,x:gi.x,y:gi.y,customdata:gi.customdata})))||[]})},[Re]),Vo=gs.useCallback(Ji=>{Ye&&Dl.setComponentValue({type:"hover",points:Ji.points.map(qi=>({curveNumber:qi.curveNumber,pointNumber:qi.pointNumber,x:qi.x,y:qi.y,customdata:qi.customdata}))})},[Ye]),Yn=gs.useCallback(Ji=>{Tt&&Dl.setComponentValue({type:"relayout",relayout:Ji})},[Tt]),ze={paper_bgcolor:"transparent",plot_bgcolor:"transparent",font:{color:"#e2e8f0"},xaxis:{gridcolor:"#334155",linecolor:"#475569",zerolinecolor:"#475569"},yaxis:{gridcolor:"#334155",linecolor:"#475569",zerolinecolor:"#475569"},legend:{bgcolor:"transparent",font:{color:"#e2e8f0"}}},ja={...ze,...o.layout,autosize:!0,xaxis:{...ze.xaxis,...(Gi=o.layout)==null?void 0:Gi.xaxis},yaxis:{...ze.yaxis,...(_i=o.layout)==null?void 0:_i.yaxis},legend:{...ze.legend,...(Oi=o.layout)==null?void 0:Oi.legend}};return Zi.jsxs("div",{className:df("w-full relative",Ca),style:ta,children:[Zi.jsx(Wte,{data:o.data,layout:ja,frames:o.frames,config:{responsive:!0,displayModeBar:!0,...B},useResizeHandler:!0,style:{width:"100%",height:"100%"},onClick:he?Ya:void 0,onSelected:Re?Ei:void 0,onHover:Ye?Vo:void 0,onRelayout:Tt?Yn:void 0}),Qt&&Zi.jsx("button",{onClick:si,className:"absolute top-2 right-2 p-2 bg-slate-700/80 hover:bg-slate-600 rounded-lg text-slate-300 hover:text-white transition-colors z-10",title:"Expand chart",children:Zi.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:Zi.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"})})})]})}function Yte({args:S}){const{label:o,options:B,value:he="",groups:Re,style:Ye,className:Tt,deferUpdate:Qt=!1,componentKey:Mr}=S,{style:cn,className:Gn}=Lv(Ye,Tt),ta=gs.useRef(!0),[Ca,si]=gs.useState(()=>{if(Qt&&Mr){const Vo=sessionStorage.getItem(`deferred_${Mr}`);if(Vo)try{return JSON.parse(Vo)}catch{return he}}return he});gs.useEffect(()=>{if(Qt&&Mr){const Vo=sessionStorage.getItem(`deferred_${Mr}`);if(Vo){sessionStorage.removeItem(`deferred_${Mr}`);try{const Yn=JSON.parse(Vo);si(Yn),Dl.setComponentValue(Yn)}catch{}}}},[]),gs.useEffect(()=>{if(ta.current){ta.current=!1;return}(!Qt||!Mr)&&si(he)},[he,Qt,Mr]),gs.useEffect(()=>{const Vo=[];if(Re?Re.forEach(Yn=>{Yn.options.forEach(ze=>{Vo.push(typeof ze=="string"?ze:ze.value)})}):B&&B.forEach(Yn=>{Vo.push(typeof Yn=="string"?Yn:Yn.value)}),Vo.length>0&&!Vo.includes(Ca)){const Yn=Vo[0];si(Yn),Qt&&Mr?sessionStorage.setItem(`deferred_${Mr}`,JSON.stringify(Yn)):Dl.setComponentValue(Yn)}},[B,Re,Ca,Qt,Mr]),gs.useEffect(()=>{Dl.setFrameHeight()});const Ya=gs.useCallback(Vo=>{const Yn=Vo.target.value;si(Yn),Qt&&Mr?sessionStorage.setItem(`deferred_${Mr}`,JSON.stringify(Yn)):Dl.setComponentValue(Yn)},[Qt,Mr]),Ei=(Vo,Yn)=>typeof Vo=="string"?Zi.jsx("option",{value:Vo,children:Vo},Yn):Zi.jsx("option",{value:Vo.value,children:Vo.label},Yn);return Zi.jsxs("div",{className:df("",Gn),style:cn,children:[Zi.jsx("label",{className:"text-xs text-slate-400 block mb-1",children:o}),Zi.jsx("select",{value:Ca,onChange:Ya,className:"w-full px-3 py-2 bg-slate-800 border border-slate-600 rounded text-sm text-white",children:Re?Re.map((Vo,Yn)=>Zi.jsx("optgroup",{label:Vo.label,children:Vo.options.map((ze,ja)=>Ei(ze,ja))},Yn)):B.map((Vo,Yn)=>Ei(Vo,Yn))})]})}function Zte({args:S}){const{label:o,value:B,minVal:he,maxVal:Re,step:Ye=1,unit:Tt="",color:Qt="blue",style:Mr,className:cn,deferUpdate:Gn=!1,componentKey:ta}=S,Ca=gs.useRef(!0),[si,Ya]=gs.useState(()=>{if(Gn&&ta){const _i=sessionStorage.getItem(`deferred_${ta}`);if(_i)try{return JSON.parse(_i)}catch{return B}}return B}),{cssVars:Ei,theme:Vo}=Qb({textColor:"primary"}),{style:Yn,className:ze}=Lv(Mr,cn);v5(Qt,"blue");const ja=Qt!=null&&Qt.startsWith("#")?Qt:Vo.colors[Qt]||Vo.colors.primary;gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(Gn&&ta){const _i=sessionStorage.getItem(`deferred_${ta}`);if(_i)try{const Oi=JSON.parse(_i);Ya(Oi),Dl.setComponentValue(Oi),sessionStorage.removeItem(`deferred_${ta}`)}catch{}}},[]),gs.useEffect(()=>{if(Ca.current){Ca.current=!1;return}(!Gn||!ta)&&Ya(B)},[B,Gn,ta]);const Gi=gs.useCallback(_i=>{const Oi=parseFloat(_i.target.value);Ya(Oi),Gn&&ta?sessionStorage.setItem(`deferred_${ta}`,JSON.stringify(Oi)):Dl.setComponentValue(Oi)},[Gn,ta]);return Zi.jsxs("div",{className:df("",ze),style:{...Ei,...Yn},children:[Zi.jsxs("label",{className:"flex justify-between text-sm mb-1",children:[Zi.jsx("span",{style:{color:"var(--text-secondary)"},children:o}),Zi.jsxs("span",{style:{color:ja},children:[si,Tt]})]}),Zi.jsx("input",{type:"range",min:he,max:Re,step:Ye,value:si,onChange:Gi,className:"w-full",style:{accentColor:ja}}),Zi.jsxs("div",{className:"flex justify-between text-xs mt-1",style:{color:"var(--text-tertiary)"},children:[Zi.jsxs("span",{children:[he,Tt]}),Zi.jsxs("span",{children:[Re,Tt]})]})]})}function $te({args:S}){const{label:o,items:B,layout:he="vertical",style:Re,className:Ye,deferUpdate:Tt=!1,componentKey:Qt}=S,{style:Mr,className:cn}=Lv(Re,Ye),Gn=gs.useRef(!0),[ta,Ca]=gs.useState(()=>{if(Tt&&Qt){const Ei=sessionStorage.getItem(`deferred_${Qt}`);if(Ei)try{const Vo=JSON.parse(Ei);return new Set(Vo)}catch{}}const Ya=new Set;return B.forEach(Ei=>{Ei.checked&&Ya.add(Ei.id)}),Ya});gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(Tt&&Qt){const Ya=sessionStorage.getItem(`deferred_${Qt}`);if(Ya){sessionStorage.removeItem(`deferred_${Qt}`);try{const Ei=JSON.parse(Ya);Ca(new Set(Ei)),Dl.setComponentValue(Ei)}catch{}}}},[]),gs.useEffect(()=>{if(Gn.current){Gn.current=!1;return}if(!Tt||!Qt){const Ya=new Set;B.forEach(Ei=>{Ei.checked&&Ya.add(Ei.id)}),Ca(Ya)}},[B,Tt,Qt]);const si=gs.useCallback((Ya,Ei,Vo)=>{Vo||Ca(Yn=>{const ze=new Set(Yn);Ei?ze.add(Ya):ze.delete(Ya);const ja=Array.from(ze);return Tt&&Qt?sessionStorage.setItem(`deferred_${Qt}`,JSON.stringify(ja)):Dl.setComponentValue(ja),ze})},[Tt,Qt]);return Zi.jsxs("div",{className:df("",cn),style:Mr,children:[o&&Zi.jsx("div",{className:"text-xs text-slate-400 mb-2",children:o}),Zi.jsx("div",{className:he==="horizontal"?"flex flex-row flex-wrap gap-4":"space-y-1",children:B.map(Ya=>Zi.jsxs("label",{className:df("flex items-center gap-2 text-sm",Ya.disabled?"text-slate-500 cursor-not-allowed":"text-slate-300 cursor-pointer"),children:[Zi.jsx("input",{type:"checkbox",checked:ta.has(Ya.id),onChange:Ei=>si(Ya.id,Ei.target.checked,Ya.disabled),disabled:Ya.disabled,className:df("rounded border-slate-600",Ya.disabled?"opacity-50 cursor-not-allowed":"")}),Ya.label]},Ya.id))})]})}function Kte({args:S}){const{label:o,items:B,layout:he="vertical",style:Re,className:Ye,deferUpdate:Tt=!1,componentKey:Qt}=S,{style:Mr,className:cn}=Lv(Re,Ye),Gn=gs.useRef(!0),[ta,Ca]=gs.useState(()=>{if(Tt&&Qt){const Ei=sessionStorage.getItem(`deferred_${Qt}`);if(Ei)try{return JSON.parse(Ei)}catch{}}const Ya=B.find(Ei=>Ei.checked);return Ya?Ya.id:null});gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(Tt&&Qt){const Ya=sessionStorage.getItem(`deferred_${Qt}`);if(Ya){sessionStorage.removeItem(`deferred_${Qt}`);try{const Ei=JSON.parse(Ya);Ca(Ei),Dl.setComponentValue(Ei)}catch{}}}},[]),gs.useEffect(()=>{if(Gn.current){Gn.current=!1;return}if(!Tt||!Qt){const Ya=B.find(Ei=>Ei.checked);Ya&&Ca(Ya.id)}},[B,Tt,Qt]);const si=gs.useCallback((Ya,Ei)=>{Ei||(Ca(Ya),Tt&&Qt?sessionStorage.setItem(`deferred_${Qt}`,JSON.stringify(Ya)):Dl.setComponentValue(Ya))},[Tt,Qt]);return Zi.jsxs("div",{className:df("",cn),style:Mr,children:[o&&Zi.jsx("div",{className:"text-xs font-medium text-slate-400 mb-2 uppercase tracking-wide",children:o}),Zi.jsx("div",{className:he==="horizontal"?"flex flex-row flex-wrap gap-4":"flex flex-col space-y-2",children:B.map(Ya=>{const Ei=ta===Ya.id;return Zi.jsxs("label",{className:df("flex items-center gap-2 group",Ya.disabled?"cursor-not-allowed":"cursor-pointer"),children:[Zi.jsx("input",{type:"radio",name:"radio-group",checked:Ei,onChange:()=>si(Ya.id,Ya.disabled),disabled:Ya.disabled,className:df("w-4 h-4 text-blue-500 bg-slate-700 border-slate-500 focus:ring-blue-500 focus:ring-2",Ya.disabled?"cursor-not-allowed opacity-50":"cursor-pointer")}),Zi.jsx("span",{className:df("text-sm transition-colors",Ya.disabled?"text-slate-500":Ei?"text-slate-100 font-medium":"text-slate-400 group-hover:text-slate-300"),children:Ya.label})]},Ya.id)})})]})}function Jte(S,o,B,he){const Re=[],Ye=new Date(S);switch(B){case"month":for(Ye.setUTCDate(1);Ye<=o;)Re.push(Ye.getTime()),Ye.setUTCMonth(Ye.getUTCMonth()+1);break;case"quarter":for(Ye.setUTCDate(1),Ye.setUTCMonth(Math.floor(Ye.getUTCMonth()/3)*3);Ye<=o;)Re.push(Ye.getTime()),Ye.setUTCMonth(Ye.getUTCMonth()+3);break;case"year":for(Ye.setUTCMonth(0),Ye.setUTCDate(1);Ye<=o;)Re.push(Ye.getTime()),Ye.setUTCFullYear(Ye.getUTCFullYear()+1);break;case"week":const Qt=Ye.getUTCDay(),Mr=Qt===0?-6:1-Qt;for(Ye.setUTCDate(Ye.getUTCDate()+Mr);Ye<=o;)Ye>=S&&Re.push(Ye.getTime()),Ye.setUTCDate(Ye.getUTCDate()+7);break;case"day":default:const cn=he*24*60*60*1e3;let Gn=S.getTime();for(;Gn<=o.getTime();)Re.push(Gn),Gn+=cn;break}const Tt=o.getTime();return(Re.length===0||Re[Re.length-1]!==Tt)&&(Re.length===0||Re[Re.length-1]<Tt)&&Re.push(Tt),Re}function aE(S,o){return o.length===0?S:o.reduce((B,he)=>Math.abs(he-S)<Math.abs(B-S)?he:B)}function Jx(S,o){const B=S.getUTCFullYear(),he=S.getUTCMonth()+1,Re=S.getUTCDate(),Ye=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return o.replace("YYYY",String(B)).replace("MM",String(he).padStart(2,"0")).replace("DD",String(Re).padStart(2,"0")).replace("MMM",Ye[he-1]).replace("M",String(he)).replace("D",String(Re))}function Qte({args:S}){const{label:o,minVal:B,maxVal:he,value:Re,stepType:Ye="month",stepDays:Tt=1,format:Qt="YYYY-MM",color:Mr="blue",style:cn,className:Gn,deferUpdate:ta=!1,componentKey:Ca}=S,si=gs.useRef(!0),Ya=Array.isArray(Re),Ei=gs.useMemo(()=>new Date(B),[B]),Vo=gs.useMemo(()=>new Date(he),[he]),Yn=gs.useMemo(()=>Jte(Ei,Vo,Ye,Tt),[Ei,Vo,Ye,Tt]),[ze,ja]=gs.useState(()=>{if(ta&&Ca){const rc=sessionStorage.getItem(`deferred_${Ca}`);if(rc)try{const no=JSON.parse(rc);if(Array.isArray(no))return[new Date(no[0]).getTime(),new Date(no[1]).getTime()];{const Is=new Date(no).getTime();return[Is,Is]}}catch{}}if(Ya)return[new Date(Re[0]).getTime(),new Date(Re[1]).getTime()];{const rc=new Date(Re).getTime();return[rc,rc]}}),{cssVars:Gi,theme:_i}=Qb({textColor:"primary"}),{style:Oi,className:Ji}=Lv(cn,Gn),qi=Mr!=null&&Mr.startsWith("#")?Mr:_i.colors[Mr]||_i.colors.primary;gs.useEffect(()=>{Dl.setFrameHeight()}),gs.useEffect(()=>{if(ta&&Ca){const rc=sessionStorage.getItem(`deferred_${Ca}`);if(rc){sessionStorage.removeItem(`deferred_${Ca}`);try{const no=JSON.parse(rc);if(Ya){const Is=[new Date(no[0]).getTime(),new Date(no[1]).getTime()];ja(Is),Dl.setComponentValue(no)}else{const Is=new Date(no).getTime();ja([Is,Is]),Dl.setComponentValue(no)}}catch{}}}},[]),gs.useEffect(()=>{if(si.current){si.current=!1;return}if(!ta||!Ca)if(Ya)ja([new Date(Re[0]).getTime(),new Date(Re[1]).getTime()]);else{const rc=new Date(Re).getTime();ja([rc,rc])}},[Re,ta,Ca,Ya]);const gi=gs.useCallback(rc=>{const no=new Date(rc[0]).toISOString().split("T")[0],Is=new Date(rc[1]).toISOString().split("T")[0],Tl=Ya?[no,Is]:no;ta&&Ca?sessionStorage.setItem(`deferred_${Ca}`,JSON.stringify(Tl)):Dl.setComponentValue(Tl)},[Ya,ta,Ca]),os=gs.useCallback(rc=>{const no=parseInt(rc.target.value,10),Is=aE(no,Yn),Xc=[Math.min(Is,ze[1]),ze[1]];ja(Xc),gi(Xc)},[Yn,ze,gi]),io=gs.useCallback(rc=>{const no=parseInt(rc.target.value,10),Is=aE(no,Yn),Tl=Math.max(Is,ze[0]),Xc=[ze[0],Tl];ja(Xc),gi(Xc)},[Yn,ze,gi]),Fu=gs.useCallback(rc=>{const no=parseInt(rc.target.value,10),Is=aE(no,Yn),Tl=[Is,Is];ja(Tl),gi(Tl)},[Yn,gi]),xc=Ei.getTime(),Qi=Vo.getTime(),hs=(ze[0]-xc)/(Qi-xc)*100,Zv=(ze[1]-xc)/(Qi-xc)*100;return Zi.jsxs("div",{className:df("",Ji),style:{...Gi,...Oi},children:[Zi.jsxs("label",{className:"flex justify-between text-sm mb-1",children:[Zi.jsx("span",{style:{color:"var(--text-secondary)"},children:o}),Zi.jsx("span",{style:{color:qi},children:Ya?Zi.jsxs(Zi.Fragment,{children:[Jx(new Date(ze[0]),Qt)," — ",Jx(new Date(ze[1]),Qt)]}):Jx(new Date(ze[0]),Qt)})]}),Zi.jsx("div",{className:"relative h-6",children:Ya?Zi.jsxs(Zi.Fragment,{children:[Zi.jsx("div",{className:"absolute top-1/2 left-0 right-0 h-1 -translate-y-1/2 rounded bg-slate-700"}),Zi.jsx("div",{className:"absolute top-1/2 h-1 -translate-y-1/2 rounded",style:{left:`${hs}%`,width:`${Zv-hs}%`,backgroundColor:qi}}),Zi.jsx("input",{type:"range",min:xc,max:Qi,value:ze[0],onChange:os,className:"absolute w-full h-full appearance-none bg-transparent pointer-events-none [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:bg-[var(--thumb-color)] [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:bg-[var(--thumb-color)]",style:{"--thumb-color":qi}}),Zi.jsx("input",{type:"range",min:xc,max:Qi,value:ze[1],onChange:io,className:"absolute w-full h-full appearance-none bg-transparent pointer-events-none [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:bg-[var(--thumb-color)] [&::-moz-range-thumb]:pointer-events-auto [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:bg-[var(--thumb-color)]",style:{"--thumb-color":qi}})]}):Zi.jsx("input",{type:"range",min:xc,max:Qi,value:ze[0],onChange:Fu,className:"w-full",style:{accentColor:qi}})}),Zi.jsxs("div",{className:"flex justify-between text-xs mt-1",style:{color:"var(--text-tertiary)"},children:[Zi.jsx("span",{children:Jx(Ei,Qt)}),Zi.jsx("span",{children:Jx(Vo,Qt)})]})]})}function ere(){const[S,o]=gs.useState(null),[B,he]=gs.useState(null);gs.useEffect(()=>{const Tt=Qt=>{const Mr=Qt.detail;o(Mr),he(Mr.args)};return Dl.events.addEventListener(Dl.RENDER_EVENT,Tt),Dl.setComponentReady(),Dl.setFrameHeight(),()=>{Dl.events.removeEventListener(Dl.RENDER_EVENT,Tt)}},[]);const Re=gs.useCallback(()=>{Dl.setFrameHeight()},[]),Ye=gs.useCallback(Tt=>{Dl.setComponentValue(Tt)},[]);return{renderData:S,args:B,theme:S==null?void 0:S.theme,disabled:(S==null?void 0:S.disabled)??!1,updateHeight:Re,setComponentValue:Ye}}const tre={panel:Cte,section_header:Ite,stat_card:Pte,metric_row:Rte,data_table:zte,step_indicator:Fte,button_group:Bte,chart_legend:Nte,plotly_chart:Xte,form_select:Yte,form_slider:Zte,checkbox_group:$te,radio_group:Kte,form_date_slider:Qte};function rre(){const{args:S,theme:o,updateHeight:B}=ere();if(BT.useEffect(()=>{B()}),!S)return null;const he=S.component,Re=tre[he];if(!Re)return Zi.jsxs("div",{className:"p-4 bg-red-900/30 border border-red-700 rounded text-red-400",children:["Unknown component: ",he]});const Ye=S.theme&&Object.keys(S.theme).length>0?S.theme:void 0;return Zi.jsx(LJ,{theme:Ye,streamlitTheme:o,children:Zi.jsx(Re,{args:S})})}iE.createRoot(document.getElementById("root")).render(Zi.jsx(BT.StrictMode,{children:Zi.jsx(rre,{})}));
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: streamlit-react-components
3
- Version: 1.8.1.0
3
+ Version: 1.8.1.1
4
4
  Summary: Reusable React-based Streamlit components with Tailwind CSS styling
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/your-org/streamlit-react-components