@epam/statgpt-conversation-view 0.7.0-dev.19 → 0.7.0-dev.20

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.
package/index.js CHANGED
@@ -1,13 +1,13 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("react"),Ae=require("@epam/ai-dial-shared"),E=require("@epam/statgpt-ui-components"),Be=require("@tabler/icons-react"),K=require("classnames"),he=require("@epam/statgpt-dial-toolkit"),J=require("@epam/statgpt-shared-toolkit"),vr=require("@epam/statgpt-conversation-list"),zs=require("react-markdown"),$s=require("remark-gfm"),b=require("@epam/statgpt-sdmx-toolkit"),vn=require("lodash/isEqual"),br=require("flatpickr/dist/l10n"),Dr=require("flatpickr/dist/plugins/monthSelect"),yr=require("react-window"),Er=require("react-virtualized-auto-sizer"),qe=require("@floating-ui/react"),Qn=require("ag-grid-community"),jn=require("lodash"),Ws=require("echarts-for-react"),Rn=require("ag-grid-react"),Tr=require("tailwind-merge"),es=require("date-fns"),Mr=require("date-fns/locale"),Nr=require("@monaco-editor/react");function Ir(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Me=Ir(c),Ks=c.createContext(void 0),Ar=({children:e})=>{const[t,n]=c.useState(!1);return i.jsx(Ks.Provider,{value:{isOpenedAdvancedView:t,setIsOpenedAdvancedView:n},children:e})},We=()=>{const e=c.useContext(Ks);if(e===void 0)throw new Error("useAdvancedView must be used within a AdvancedViewProvider");return e},Ys=c.createContext(void 0),jr=({children:e})=>{const[t,n]=c.useState(!1);return i.jsx(Ys.Provider,{value:{isStreaming:t,setIsStreaming:n},children:e})},qs=()=>{const e=c.useContext(Ys);if(e===void 0)throw new Error("useChatMessages must be used within a ChatMessagesProvider");return e},Zs=c.createContext(null);function Rr({value:e,children:t}){const n=c.useMemo(()=>e,[e]);return i.jsx(Zs.Provider,{value:n,children:t})}function Ln(){const e=c.useContext(Zs);if(!e)throw new Error("useConversationViewMessages must be used within ConversationViewMessagesProvider");return e}const Xs=c.createContext(void 0),Lr=({children:e})=>{const[t,n]=c.useState(""),[s,o]=c.useState(""),[r,l]=c.useState(),[d,a]=c.useState();return i.jsx(Xs.Provider,{value:{onboardingFileName:t,onboardingFilePath:s,isShowOnboarding:r,onboardingFileSchema:d,setOnboardingFileName:n,setOnboardingFilePath:o,setIsShowOnboarding:l,setOnboardingFileSchema:a},children:e})},Ye=()=>{const e=c.useContext(Xs);if(e===void 0)throw new Error("useOnboarding must be used within a OnboardingProvider");return e};var Kt=(e=>(e.CHOICE="choice",e.COMPLETION="completion",e))(Kt||{}),tn=(e=>(e.COMPLETE="complete",e))(tn||{}),Js=(e=>(e.COMPLETED="completed",e))(Js||{}),Yt=(e=>(e.PREVIOUS="previous",e.NEXT="next",e))(Yt||{});const Qs=({inProcess:e,disabled:t,containerClasses:n,inputClasses:s,placeholder:o,sendMessageIcon:r,isLastFailed:l,retryIcon:d,onSendMessage:a,onStopStreaming:u,onRetryFailed:m})=>{const[h,f]=c.useState(""),p=c.useCallback(v=>{f(v)},[f]),g=v=>{e||t||(f(""),a(v))},w=v=>{t||v.key===E.KeyboardKey.Enter&&!v.shiftKey&&(l?m?.():g(h.trim()))},C=()=>t?null:l?i.jsx(E.IconButton,{buttonClassName:"input-for-ask-button",onClick:()=>m?.(),icon:d||i.jsx(Be.IconRefresh,{})}):e?i.jsx(E.IconButton,{buttonClassName:"input-for-ask-button",onClick:()=>u?.(),icon:i.jsx(Be.IconPlayerStopFilled,{})}):h?i.jsx(E.IconButton,{buttonClassName:"input-for-ask-button",onClick:()=>g(h),icon:r}):null;return i.jsx(E.InputWithIcon,{inputId:"ask-input",containerClasses:n,placeholder:o,onChange:p,onKeyDown:w,disabled:t,cssClass:K(s,"input-for-ask"),value:h,iconAfterInput:C()})},ts=160,Fr=':;,=/{}%&\\"',Pr=new RegExp(`[${Fr}]|(\r
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),c=require("react"),Ae=require("@epam/ai-dial-shared"),E=require("@epam/statgpt-ui-components"),Be=require("@tabler/icons-react"),W=require("classnames"),he=require("@epam/statgpt-dial-toolkit"),X=require("@epam/statgpt-shared-toolkit"),wr=require("@epam/statgpt-conversation-list"),zs=require("react-markdown"),$s=require("remark-gfm"),D=require("@epam/statgpt-sdmx-toolkit"),wn=require("lodash/isEqual"),br=require("flatpickr/dist/l10n"),Dr=require("flatpickr/dist/plugins/monthSelect"),yr=require("react-window"),Er=require("react-virtualized-auto-sizer"),qe=require("@floating-ui/react"),Qn=require("ag-grid-community"),jn=require("lodash"),Ws=require("echarts-for-react"),Rn=require("ag-grid-react"),Tr=require("tailwind-merge"),es=require("date-fns"),Mr=require("date-fns/locale"),Nr=require("@monaco-editor/react");function Ir(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,s.get?s:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Me=Ir(c),Ks=c.createContext(void 0),Ar=({children:e})=>{const[t,n]=c.useState(!1);return i.jsx(Ks.Provider,{value:{isOpenedAdvancedView:t,setIsOpenedAdvancedView:n},children:e})},We=()=>{const e=c.useContext(Ks);if(e===void 0)throw new Error("useAdvancedView must be used within a AdvancedViewProvider");return e},Ys=c.createContext(void 0),jr=({children:e})=>{const[t,n]=c.useState(!1);return i.jsx(Ys.Provider,{value:{isStreaming:t,setIsStreaming:n},children:e})},qs=()=>{const e=c.useContext(Ys);if(e===void 0)throw new Error("useChatMessages must be used within a ChatMessagesProvider");return e},Zs=c.createContext(null);function Rr({value:e,children:t}){const n=c.useMemo(()=>e,[e]);return i.jsx(Zs.Provider,{value:n,children:t})}function Ln(){const e=c.useContext(Zs);if(!e)throw new Error("useConversationViewMessages must be used within ConversationViewMessagesProvider");return e}const Xs=c.createContext(void 0),Lr=({children:e})=>{const[t,n]=c.useState(""),[s,o]=c.useState(""),[r,l]=c.useState(),[d,a]=c.useState();return i.jsx(Xs.Provider,{value:{onboardingFileName:t,onboardingFilePath:s,isShowOnboarding:r,onboardingFileSchema:d,setOnboardingFileName:n,setOnboardingFilePath:o,setIsShowOnboarding:l,setOnboardingFileSchema:a},children:e})},Ye=()=>{const e=c.useContext(Xs);if(e===void 0)throw new Error("useOnboarding must be used within a OnboardingProvider");return e};var Yt=(e=>(e.CHOICE="choice",e.COMPLETION="completion",e))(Yt||{}),nn=(e=>(e.COMPLETE="complete",e))(nn||{}),Js=(e=>(e.COMPLETED="completed",e))(Js||{}),qt=(e=>(e.PREVIOUS="previous",e.NEXT="next",e))(qt||{});const Qs=({inProcess:e,disabled:t,containerClasses:n,inputClasses:s,placeholder:o,sendMessageIcon:r,isLastFailed:l,retryIcon:d,onSendMessage:a,onStopStreaming:u,onRetryFailed:m})=>{const[h,f]=c.useState(""),p=c.useCallback(v=>{f(v)},[f]),g=v=>{e||t||(f(""),a(v))},S=v=>{t||v.key===E.KeyboardKey.Enter&&!v.shiftKey&&(l?m?.():g(h.trim()))},x=()=>t?null:l?i.jsx(E.IconButton,{buttonClassName:"input-for-ask-button",onClick:()=>m?.(),icon:d||i.jsx(Be.IconRefresh,{})}):e?i.jsx(E.IconButton,{buttonClassName:"input-for-ask-button",onClick:()=>u?.(),icon:i.jsx(Be.IconPlayerStopFilled,{})}):h?i.jsx(E.IconButton,{buttonClassName:"input-for-ask-button",onClick:()=>g(h),icon:r}):null;return i.jsx(E.InputWithIcon,{inputId:"ask-input",containerClasses:n,placeholder:o,onChange:p,onKeyDown:S,disabled:t,cssClass:W(s,"input-for-ask"),value:h,iconAfterInput:x()})},ts=160,Fr=':;,=/{}%&\\"',Pr=new RegExp(`[${Fr}]|(\r
2
2
  |
3
3
  |\r| )|[\0-]`,"gm"),_r=(e,t,n,s)=>({name:Vr(s||`${n} ${new Date().toLocaleDateString()}`),folderId:`${e}/${t}`,prompt:s}),Vr=e=>{const t=e?.replace(/\r\n|\r/gm,`
4
4
  `).split(`
5
- `).map(s=>s.replace(Pr," ").trim()).filter(Boolean)[0]??"";return(t.length>ts?t.substring(0,ts):t).trim()},Or=(e,t,n,s,o,r)=>{const l=`${e}/${t}`;return{name:n,folderId:l,prompt:o,id:he.generateConversationId({folderId:l,name:n}),messages:[{role:Ae.Role.Assistant,content:s}],custom_fields:{configuration:{choice:r}}}},eo=c.createContext(null);function nn({children:e,styles:t}){return i.jsx(eo.Provider,{value:t??{},children:e})}function we(){const e=c.useContext(eo);if(!e)throw new Error("useConversationViewStyles must be used within ConversationViewStylesProvider");return e}var kr=Object.defineProperty,qt=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable,ns=(e,t,n)=>t in e?kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bn=(e,t)=>{for(var n in t||(t={}))to.call(t,n)&&ns(e,n,t[n]);if(qt)for(var n of qt(t))no.call(t,n)&&ns(e,n,t[n]);return e},Dn=(e,t)=>{var n={};for(var s in e)to.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&qt)for(var s of qt(e))t.indexOf(s)<0&&no.call(e,s)&&(n[s]=e[s]);return n};var Ct;(e=>{const t=class Se{constructor(a,u,m,h){if(this.version=a,this.errorCorrectionLevel=u,this.modules=[],this.isFunction=[],a<Se.MIN_VERSION||a>Se.MAX_VERSION)throw new RangeError("Version value out of range");if(h<-1||h>7)throw new RangeError("Mask value out of range");this.size=a*4+17;let f=[];for(let g=0;g<this.size;g++)f.push(!1);for(let g=0;g<this.size;g++)this.modules.push(f.slice()),this.isFunction.push(f.slice());this.drawFunctionPatterns();const p=this.addEccAndInterleave(m);if(this.drawCodewords(p),h==-1){let g=1e9;for(let w=0;w<8;w++){this.applyMask(w),this.drawFormatBits(w);const C=this.getPenaltyScore();C<g&&(h=w,g=C),this.applyMask(w)}}o(0<=h&&h<=7),this.mask=h,this.applyMask(h),this.drawFormatBits(h),this.isFunction=[]}static encodeText(a,u){const m=e.QrSegment.makeSegments(a);return Se.encodeSegments(m,u)}static encodeBinary(a,u){const m=e.QrSegment.makeBytes(a);return Se.encodeSegments([m],u)}static encodeSegments(a,u,m=1,h=40,f=-1,p=!0){if(!(Se.MIN_VERSION<=m&&m<=h&&h<=Se.MAX_VERSION)||f<-1||f>7)throw new RangeError("Invalid value");let g,w;for(g=m;;g++){const S=Se.getNumDataCodewords(g,u)*8,y=l.getTotalBits(a,g);if(y<=S){w=y;break}if(g>=h)throw new RangeError("Data too long")}for(const S of[Se.Ecc.MEDIUM,Se.Ecc.QUARTILE,Se.Ecc.HIGH])p&&w<=Se.getNumDataCodewords(g,S)*8&&(u=S);let C=[];for(const S of a){n(S.mode.modeBits,4,C),n(S.numChars,S.mode.numCharCountBits(g),C);for(const y of S.getData())C.push(y)}o(C.length==w);const v=Se.getNumDataCodewords(g,u)*8;o(C.length<=v),n(0,Math.min(4,v-C.length),C),n(0,(8-C.length%8)%8,C),o(C.length%8==0);for(let S=236;C.length<v;S^=253)n(S,8,C);let x=[];for(;x.length*8<C.length;)x.push(0);return C.forEach((S,y)=>x[y>>>3]|=S<<7-(y&7)),new Se(g,u,x,f)}getModule(a,u){return 0<=a&&a<this.size&&0<=u&&u<this.size&&this.modules[u][a]}getModules(){return this.modules}drawFunctionPatterns(){for(let m=0;m<this.size;m++)this.setFunctionModule(6,m,m%2==0),this.setFunctionModule(m,6,m%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const a=this.getAlignmentPatternPositions(),u=a.length;for(let m=0;m<u;m++)for(let h=0;h<u;h++)m==0&&h==0||m==0&&h==u-1||m==u-1&&h==0||this.drawAlignmentPattern(a[m],a[h]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(a){const u=this.errorCorrectionLevel.formatBits<<3|a;let m=u;for(let f=0;f<10;f++)m=m<<1^(m>>>9)*1335;const h=(u<<10|m)^21522;o(h>>>15==0);for(let f=0;f<=5;f++)this.setFunctionModule(8,f,s(h,f));this.setFunctionModule(8,7,s(h,6)),this.setFunctionModule(8,8,s(h,7)),this.setFunctionModule(7,8,s(h,8));for(let f=9;f<15;f++)this.setFunctionModule(14-f,8,s(h,f));for(let f=0;f<8;f++)this.setFunctionModule(this.size-1-f,8,s(h,f));for(let f=8;f<15;f++)this.setFunctionModule(8,this.size-15+f,s(h,f));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let a=this.version;for(let m=0;m<12;m++)a=a<<1^(a>>>11)*7973;const u=this.version<<12|a;o(u>>>18==0);for(let m=0;m<18;m++){const h=s(u,m),f=this.size-11+m%3,p=Math.floor(m/3);this.setFunctionModule(f,p,h),this.setFunctionModule(p,f,h)}}drawFinderPattern(a,u){for(let m=-4;m<=4;m++)for(let h=-4;h<=4;h++){const f=Math.max(Math.abs(h),Math.abs(m)),p=a+h,g=u+m;0<=p&&p<this.size&&0<=g&&g<this.size&&this.setFunctionModule(p,g,f!=2&&f!=4)}}drawAlignmentPattern(a,u){for(let m=-2;m<=2;m++)for(let h=-2;h<=2;h++)this.setFunctionModule(a+h,u+m,Math.max(Math.abs(h),Math.abs(m))!=1)}setFunctionModule(a,u,m){this.modules[u][a]=m,this.isFunction[u][a]=!0}addEccAndInterleave(a){const u=this.version,m=this.errorCorrectionLevel;if(a.length!=Se.getNumDataCodewords(u,m))throw new RangeError("Invalid argument");const h=Se.NUM_ERROR_CORRECTION_BLOCKS[m.ordinal][u],f=Se.ECC_CODEWORDS_PER_BLOCK[m.ordinal][u],p=Math.floor(Se.getNumRawDataModules(u)/8),g=h-p%h,w=Math.floor(p/h);let C=[];const v=Se.reedSolomonComputeDivisor(f);for(let S=0,y=0;S<h;S++){let T=a.slice(y,y+w-f+(S<g?0:1));y+=T.length;const N=Se.reedSolomonComputeRemainder(T,v);S<g&&T.push(0),C.push(T.concat(N))}let x=[];for(let S=0;S<C[0].length;S++)C.forEach((y,T)=>{(S!=w-f||T>=g)&&x.push(y[S])});return o(x.length==p),x}drawCodewords(a){if(a.length!=Math.floor(Se.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let u=0;for(let m=this.size-1;m>=1;m-=2){m==6&&(m=5);for(let h=0;h<this.size;h++)for(let f=0;f<2;f++){const p=m-f,w=(m+1&2)==0?this.size-1-h:h;!this.isFunction[w][p]&&u<a.length*8&&(this.modules[w][p]=s(a[u>>>3],7-(u&7)),u++)}}o(u==a.length*8)}applyMask(a){if(a<0||a>7)throw new RangeError("Mask value out of range");for(let u=0;u<this.size;u++)for(let m=0;m<this.size;m++){let h;switch(a){case 0:h=(m+u)%2==0;break;case 1:h=u%2==0;break;case 2:h=m%3==0;break;case 3:h=(m+u)%3==0;break;case 4:h=(Math.floor(m/3)+Math.floor(u/2))%2==0;break;case 5:h=m*u%2+m*u%3==0;break;case 6:h=(m*u%2+m*u%3)%2==0;break;case 7:h=((m+u)%2+m*u%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[u][m]&&h&&(this.modules[u][m]=!this.modules[u][m])}}getPenaltyScore(){let a=0;for(let f=0;f<this.size;f++){let p=!1,g=0,w=[0,0,0,0,0,0,0];for(let C=0;C<this.size;C++)this.modules[f][C]==p?(g++,g==5?a+=Se.PENALTY_N1:g>5&&a++):(this.finderPenaltyAddHistory(g,w),p||(a+=this.finderPenaltyCountPatterns(w)*Se.PENALTY_N3),p=this.modules[f][C],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,w)*Se.PENALTY_N3}for(let f=0;f<this.size;f++){let p=!1,g=0,w=[0,0,0,0,0,0,0];for(let C=0;C<this.size;C++)this.modules[C][f]==p?(g++,g==5?a+=Se.PENALTY_N1:g>5&&a++):(this.finderPenaltyAddHistory(g,w),p||(a+=this.finderPenaltyCountPatterns(w)*Se.PENALTY_N3),p=this.modules[C][f],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,w)*Se.PENALTY_N3}for(let f=0;f<this.size-1;f++)for(let p=0;p<this.size-1;p++){const g=this.modules[f][p];g==this.modules[f][p+1]&&g==this.modules[f+1][p]&&g==this.modules[f+1][p+1]&&(a+=Se.PENALTY_N2)}let u=0;for(const f of this.modules)u=f.reduce((p,g)=>p+(g?1:0),u);const m=this.size*this.size,h=Math.ceil(Math.abs(u*20-m*10)/m)-1;return o(0<=h&&h<=9),a+=h*Se.PENALTY_N4,o(0<=a&&a<=2568888),a}getAlignmentPatternPositions(){if(this.version==1)return[];{const a=Math.floor(this.version/7)+2,u=this.version==32?26:Math.ceil((this.version*4+4)/(a*2-2))*2;let m=[6];for(let h=this.size-7;m.length<a;h-=u)m.splice(1,0,h);return m}}static getNumRawDataModules(a){if(a<Se.MIN_VERSION||a>Se.MAX_VERSION)throw new RangeError("Version number out of range");let u=(16*a+128)*a+64;if(a>=2){const m=Math.floor(a/7)+2;u-=(25*m-10)*m-55,a>=7&&(u-=36)}return o(208<=u&&u<=29648),u}static getNumDataCodewords(a,u){return Math.floor(Se.getNumRawDataModules(a)/8)-Se.ECC_CODEWORDS_PER_BLOCK[u.ordinal][a]*Se.NUM_ERROR_CORRECTION_BLOCKS[u.ordinal][a]}static reedSolomonComputeDivisor(a){if(a<1||a>255)throw new RangeError("Degree out of range");let u=[];for(let h=0;h<a-1;h++)u.push(0);u.push(1);let m=1;for(let h=0;h<a;h++){for(let f=0;f<u.length;f++)u[f]=Se.reedSolomonMultiply(u[f],m),f+1<u.length&&(u[f]^=u[f+1]);m=Se.reedSolomonMultiply(m,2)}return u}static reedSolomonComputeRemainder(a,u){let m=u.map(h=>0);for(const h of a){const f=h^m.shift();m.push(0),u.forEach((p,g)=>m[g]^=Se.reedSolomonMultiply(p,f))}return m}static reedSolomonMultiply(a,u){if(a>>>8||u>>>8)throw new RangeError("Byte out of range");let m=0;for(let h=7;h>=0;h--)m=m<<1^(m>>>7)*285,m^=(u>>>h&1)*a;return o(m>>>8==0),m}finderPenaltyCountPatterns(a){const u=a[1];o(u<=this.size*3);const m=u>0&&a[2]==u&&a[3]==u*3&&a[4]==u&&a[5]==u;return(m&&a[0]>=u*4&&a[6]>=u?1:0)+(m&&a[6]>=u*4&&a[0]>=u?1:0)}finderPenaltyTerminateAndCount(a,u,m){return a&&(this.finderPenaltyAddHistory(u,m),u=0),u+=this.size,this.finderPenaltyAddHistory(u,m),this.finderPenaltyCountPatterns(m)}finderPenaltyAddHistory(a,u){u[0]==0&&(a+=this.size),u.pop(),u.unshift(a)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(d,a,u){if(a<0||a>31||d>>>a)throw new RangeError("Value out of range");for(let m=a-1;m>=0;m--)u.push(d>>>m&1)}function s(d,a){return(d>>>a&1)!=0}function o(d){if(!d)throw new Error("Assertion error")}const r=class Ve{constructor(a,u,m){if(this.mode=a,this.numChars=u,this.bitData=m,u<0)throw new RangeError("Invalid argument");this.bitData=m.slice()}static makeBytes(a){let u=[];for(const m of a)n(m,8,u);return new Ve(Ve.Mode.BYTE,a.length,u)}static makeNumeric(a){if(!Ve.isNumeric(a))throw new RangeError("String contains non-numeric characters");let u=[];for(let m=0;m<a.length;){const h=Math.min(a.length-m,3);n(parseInt(a.substring(m,m+h),10),h*3+1,u),m+=h}return new Ve(Ve.Mode.NUMERIC,a.length,u)}static makeAlphanumeric(a){if(!Ve.isAlphanumeric(a))throw new RangeError("String contains unencodable characters in alphanumeric mode");let u=[],m;for(m=0;m+2<=a.length;m+=2){let h=Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m))*45;h+=Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m+1)),n(h,11,u)}return m<a.length&&n(Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m)),6,u),new Ve(Ve.Mode.ALPHANUMERIC,a.length,u)}static makeSegments(a){return a==""?[]:Ve.isNumeric(a)?[Ve.makeNumeric(a)]:Ve.isAlphanumeric(a)?[Ve.makeAlphanumeric(a)]:[Ve.makeBytes(Ve.toUtf8ByteArray(a))]}static makeEci(a){let u=[];if(a<0)throw new RangeError("ECI assignment value out of range");if(a<128)n(a,8,u);else if(a<16384)n(2,2,u),n(a,14,u);else if(a<1e6)n(6,3,u),n(a,21,u);else throw new RangeError("ECI assignment value out of range");return new Ve(Ve.Mode.ECI,0,u)}static isNumeric(a){return Ve.NUMERIC_REGEX.test(a)}static isAlphanumeric(a){return Ve.ALPHANUMERIC_REGEX.test(a)}getData(){return this.bitData.slice()}static getTotalBits(a,u){let m=0;for(const h of a){const f=h.mode.numCharCountBits(u);if(h.numChars>=1<<f)return 1/0;m+=4+f+h.bitData.length}return m}static toUtf8ByteArray(a){a=encodeURI(a);let u=[];for(let m=0;m<a.length;m++)a.charAt(m)!="%"?u.push(a.charCodeAt(m)):(u.push(parseInt(a.substring(m+1,m+3),16)),m+=2);return u}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let l=r;e.QrSegment=r})(Ct||(Ct={}));(e=>{(t=>{const n=class{constructor(o,r){this.ordinal=o,this.formatBits=r}};n.LOW=new n(0,1),n.MEDIUM=new n(1,0),n.QUARTILE=new n(2,3),n.HIGH=new n(3,2),t.Ecc=n})(e.QrCode||(e.QrCode={}))})(Ct||(Ct={}));(e=>{(t=>{const n=class{constructor(o,r){this.modeBits=o,this.numBitsCharCount=r}numCharCountBits(o){return this.numBitsCharCount[Math.floor((o+7)/17)]}};n.NUMERIC=new n(1,[10,12,14]),n.ALPHANUMERIC=new n(2,[9,11,13]),n.BYTE=new n(4,[8,16,16]),n.KANJI=new n(8,[8,10,12]),n.ECI=new n(7,[0,0,0]),t.Mode=n})(e.QrSegment||(e.QrSegment={}))})(Ct||(Ct={}));var wt=Ct;var Ur={L:wt.QrCode.Ecc.LOW,M:wt.QrCode.Ecc.MEDIUM,Q:wt.QrCode.Ecc.QUARTILE,H:wt.QrCode.Ecc.HIGH},so=128,oo="L",io="#FFFFFF",ro="#000000",ao=!1,lo=1,Hr=4,Br=0,Gr=.1;function co(e,t=0){const n=[];return e.forEach(function(s,o){let r=null;s.forEach(function(l,d){if(!l&&r!==null){n.push(`M${r+t} ${o+t}h${d-r}v1H${r+t}z`),r=null;return}if(d===s.length-1){if(!l)return;r===null?n.push(`M${d+t},${o+t} h1v1H${d+t}z`):n.push(`M${r+t},${o+t} h${d+1-r}v1H${r+t}z`);return}l&&r===null&&(r=d)})}),n.join("")}function uo(e,t){return e.slice().map((n,s)=>s<t.y||s>=t.y+t.h?n:n.map((o,r)=>r<t.x||r>=t.x+t.w?o:!1))}function zr(e,t,n,s){if(s==null)return null;const o=e.length+n*2,r=Math.floor(t*Gr),l=o/t,d=(s.width||r)*l,a=(s.height||r)*l,u=s.x==null?e.length/2-d/2:s.x*l,m=s.y==null?e.length/2-a/2:s.y*l,h=s.opacity==null?1:s.opacity;let f=null;if(s.excavate){let g=Math.floor(u),w=Math.floor(m),C=Math.ceil(d+u-g),v=Math.ceil(a+m-w);f={x:g,y:w,w:C,h:v}}const p=s.crossOrigin;return{x:u,y:m,h:a,w:d,excavation:f,opacity:h,crossOrigin:p}}function $r(e,t){return t!=null?Math.max(Math.floor(t),0):e?Hr:Br}function mo({value:e,level:t,minVersion:n,includeMargin:s,marginSize:o,imageSettings:r,size:l,boostLevel:d}){let a=c.useMemo(()=>{const g=(Array.isArray(e)?e:[e]).reduce((w,C)=>(w.push(...wt.QrSegment.makeSegments(C)),w),[]);return wt.QrCode.encodeSegments(g,Ur[t],n,void 0,void 0,d)},[e,t,n,d]);const{cells:u,margin:m,numCells:h,calculatedImageSettings:f}=c.useMemo(()=>{let p=a.getModules();const g=$r(s,o),w=p.length+g*2,C=zr(p,l,g,r);return{cells:p,margin:g,numCells:w,calculatedImageSettings:C}},[a,l,r,s,o]);return{qrcode:a,margin:m,cells:u,numCells:h,calculatedImageSettings:f}}var Wr=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),Kr=c.forwardRef(function(t,n){const s=t,{value:o,size:r=so,level:l=oo,bgColor:d=io,fgColor:a=ro,includeMargin:u=ao,minVersion:m=lo,boostLevel:h,marginSize:f,imageSettings:p}=s,w=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:C}=w,v=Dn(w,["style"]),x=p?.src,S=c.useRef(null),y=c.useRef(null),T=c.useCallback(G=>{S.current=G,typeof n=="function"?n(G):n&&(n.current=G)},[n]),[N,M]=c.useState(!1),{margin:D,cells:A,numCells:I,calculatedImageSettings:j}=mo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:f,imageSettings:p,size:r});c.useEffect(()=>{if(S.current!=null){const G=S.current,z=G.getContext("2d");if(!z)return;let $=A;const Q=y.current,_=j!=null&&Q!==null&&Q.complete&&Q.naturalHeight!==0&&Q.naturalWidth!==0;_&&j.excavation!=null&&($=uo(A,j.excavation));const Y=window.devicePixelRatio||1;G.height=G.width=r*Y;const q=r/I*Y;z.scale(q,q),z.fillStyle=d,z.fillRect(0,0,I,I),z.fillStyle=a,Wr?z.fill(new Path2D(co($,D))):A.forEach(function(X,ne){X.forEach(function(pe,ve){pe&&z.fillRect(ve+D,ne+D,1,1)})}),j&&(z.globalAlpha=j.opacity),_&&z.drawImage(Q,j.x+D,j.y+D,j.w,j.h)}}),c.useEffect(()=>{M(!1)},[x]);const L=bn({height:r,width:r},C);let B=null;return x!=null&&(B=c.createElement("img",{src:x,key:x,style:{display:"none"},onLoad:()=>{M(!0)},ref:y,crossOrigin:j?.crossOrigin})),c.createElement(c.Fragment,null,c.createElement("canvas",bn({style:L,height:r,width:r,ref:T,role:"img"},v)),B)});Kr.displayName="QRCodeCanvas";var fo=c.forwardRef(function(t,n){const s=t,{value:o,size:r=so,level:l=oo,bgColor:d=io,fgColor:a=ro,includeMargin:u=ao,minVersion:m=lo,boostLevel:h,title:f,marginSize:p,imageSettings:g}=s,w=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:C,cells:v,numCells:x,calculatedImageSettings:S}=mo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:p,imageSettings:g,size:r});let y=v,T=null;g!=null&&S!=null&&(S.excavation!=null&&(y=uo(v,S.excavation)),T=c.createElement("image",{href:g.src,height:S.h,width:S.w,x:S.x+C,y:S.y+C,preserveAspectRatio:"none",opacity:S.opacity,crossOrigin:S.crossOrigin}));const N=co(y,C);return c.createElement("svg",bn({height:r,width:r,viewBox:`0 0 ${x} ${x}`,ref:n,role:"img"},w),!!f&&c.createElement("title",null,f),c.createElement("path",{fill:d,d:`M0,0 h${x}v${x}H0z`,shapeRendering:"crispEdges"}),c.createElement("path",{fill:a,d:N,shapeRendering:"crispEdges"}),T)});fo.displayName="QRCodeSVG";const Yr=(e,t)=>({invitationType:he.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(e)}`},...t]}),qr=e=>{const t=e?.invitationLink?.split("/").at(-1)||"";return`/${J.SHARE_CONVERSATION_ROUTE}/${t}`},Zr=(e,t)=>t?.find(n=>{const s=e?.id?.split("/")?.pop(),o=n?.url?.split("/")?.pop()||"";return o===s||decodeURI(o)===s}),Xr=e=>e?.messages?.filter(n=>!!n?.custom_content?.attachments)?.flatMap(n=>n?.custom_content?.attachments?.map(s=>({url:s?.url||""}))||[])?.filter(n=>!!n?.url)||[],Jr=({conversation:e,locale:t,onCloseModal:n,modalDividers:s,getConversation:o,generateConversationLink:r,chatExpiration:l,chatExpirationDays:d,close:a,chatWarning:u,shareLink:m,shareCopyLink:h,shareCopiedLink:f,shareDescription:p,shareRemoveAccessToUsers:g,chatName:w,getSharedConversations:C,revokeSharedConversations:v,baseUrl:x,id:S,clientSharedPage:y,clientSharedProp:T,shareAlertMessage:N})=>{const[M,D]=c.useState(null),[A,I]=c.useState(),[j,L]=c.useState(!1),[B,G]=c.useState(!1),[z,$]=c.useState(),Q=c.useRef(null),_=c.useRef(null),Y=c.useMemo(()=>e?.id?decodeURI(e.id):S?.[0]&&S?.[1]&&t?decodeURI(`${S[0]}/${t}/${S[1]}`):null,[e?.id,S,t]),q=c.useMemo(()=>{if(!M)return"";const V=x||window.location.origin;if(x&&x!==window.location.origin&&y&&T){const P=M.split(`/${J.SHARE_CONVERSATION_ROUTE}/`)?.[1];return`${V}/${y}?${T}=${P}`}return`${V}/${t}${M}`},[x,M,t,y,T]),X=c.useCallback(async V=>{const P=await C?.(he.getSharedConversationsRequest(he.ShareTarget.OTHERS));if(P)return Zr({id:V},P.resources)},[C]);c.useEffect(()=>{if(!Y||Q.current===Y)return;Q.current=Y,L(!1),_.current?.abort();const V=new AbortController;return _.current=V,(async()=>{try{const ce=await o?.(Y),de=Yr(Y,Xr(ce)),le=await r?.(de),je=await X(Y);if(V.signal.aborted||!le)return;D(qr(le)),I(je),L(!0)}catch(ce){if(V.signal.aborted)return;L(!1),console.error("Error sharing conversation",ce)}})(),()=>{V.abort(),Q.current=null}},[Y,r,o,X]);const ne=c.useCallback(()=>{_.current?.abort(),Q.current=null,n(),D(null),L(!1),G(!1)},[n]),pe=c.useCallback(()=>{G(!0),navigator.clipboard.writeText(q||"")},[q]),ve=async()=>{try{if($(!0),A&&await v?.({resources:[A]}),Y){const V=await X(Y);_.current?.signal.aborted||I(V)}}catch(V){console.error("Error revoking shared conversation",V)}finally{_.current?.signal.aborted||$(!1)}},De=c.useCallback(()=>i.jsx(E.Button,{buttonClassName:B?"text-button-secondary":"text-button-primary",iconBefore:B?i.jsx(Be.IconCheck,{width:20,height:20}):i.jsx(Be.IconCopy,{width:20,height:20}),title:B?f??"Copied":h??"Copy link",disabled:B,onClick:pe}),[B,pe,f,h]);return i.jsxs(E.Popup,{heading:m??"Share link",portalId:"share",size:E.PopUpSize.SM,dividers:s,onClose:ne,closeButtonTitle:a??"Close",children:[j?i.jsxs("div",{className:"share flex flex-col gap-y-4 overflow-auto px-6 pb-6 sm:p-0",children:[N?i.jsx(E.InlineAlert,{type:E.InlineAlertType.Note,icon:i.jsx(Be.IconInfoCircle,{width:16,height:16}),children:N}):null,e?.name?i.jsxs("div",{className:"share-info flex w-full",children:[i.jsx("p",{className:"share-info-title body-1 mr-1 text-neutrals-800",children:w??"Chat name:"}),i.jsx("h3",{className:"min-w-0 flex-1 truncate",title:e?.name,children:e?.name})]}):null,i.jsxs("div",{className:"share-info flex",children:[i.jsx("p",{className:"share-info-title body-1 mr-1 text-neutrals-800",children:l??"Link expiration date:"}),i.jsxs("h3",{children:["3 ",d??"days"]})]}),i.jsx(fo,{className:"min-h-[200px] self-center rounded border border-neutrals-600 p-2",value:q,size:200}),i.jsx("p",{className:"body-2 text-neutrals-1000",children:p??"Your name, special instructions, and any messages you add after sharing remain confidential."}),i.jsx(E.InputWithIcon,{containerClasses:"share-input-container",cssClass:"share-input",readonly:!0,placeholder:q,value:q,inputId:"conversationLink",iconAfterInput:De()})]}):i.jsx("div",{className:"flex items-center justify-center p-6",children:i.jsx(E.Loader,{})}),j?e&&A?i.jsx("div",{className:"remove-access",children:i.jsx(E.Button,{title:g??"Remove access to all users",buttonClassName:"remove-access-button py-3 px-4",isSmallButton:!0,disabled:z,onClick:ve})}):i.jsx("p",{className:"body-2 share-footer text-neutrals-800",children:u??"This chat has not been shared with anyone yet."}):i.jsx("div",{})]})},ho=({shareButtonClass:e,shareIcon:t,...n})=>{const[s,o]=c.useState(E.PopUpState.Closed),r=()=>{o(E.PopUpState.Opened)},l=c.useCallback(()=>{o(E.PopUpState.Closed)},[]);return i.jsxs(i.Fragment,{children:[i.jsx(E.Button,{buttonClassName:e||"text-button-secondary",title:n?.share||"Share",iconBefore:t,onClick:r}),s===E.PopUpState.Opened&&i.jsx(Jr,{onCloseModal:l,...n})]})},po=({conversation:e,locale:t,isOpenedAdvancedView:n,isShowShareButton:s,shareConversationProps:o,rightSlot:r})=>i.jsx(i.Fragment,{children:i.jsxs("header",{className:K("bg-white border-b px-6 py-2 border-gray-200 flex justify-between items-center sm:hidden","conversation-view-header"),children:[i.jsx("span",{className:K("flex-1 min-w-0 truncate h4","conversation-view-header-text"),title:e?.name,children:e?.name}),i.jsxs("div",{className:"ml-3 flex items-center gap-4",children:[!n&&s&&i.jsx("div",{className:"flex gap-x-2",children:i.jsx(ho,{conversation:e,locale:t,...o})}),r]})]})}),go=({content:e,textColorClass:t})=>{const{isOpenedAdvancedView:n}=We();return i.jsx("div",{className:K("prose max-w-none break-words",n?"body-2":"body-1",t),children:i.jsx(zs,{remarkPlugins:[$s],components:{strong:s=>i.jsx("strong",{className:t,...s}),a:({href:s,children:o,...r})=>i.jsx("a",{href:s,target:"_blank",rel:"noreferrer",...r,children:o})},children:e})})},Co=({choiceButtons:e,disabled:t,onClick:n})=>{const s=K("flex w-full min-h-[72px] flex-col items-start justify-center rounded border px-4 py-2 text-left","border-hues-200 hover:bg-hues-100","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent");return e.map(o=>i.jsx("div",{className:"mt-4",children:i.jsxs("button",{type:"button",className:s,disabled:t,onClick:()=>n(o[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText,o?.const),"aria-label":"button",children:[i.jsx("h3",{className:"mb-1",children:o.title}),o.const!==tn.COMPLETE&&i.jsx("p",{className:"body-1 text-neutrals-800",children:o[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText})]})},o.title))},Qr=({messageContent:e,choiceButtons:t,disabled:n,onClick:s,handleOnboardingSkip:o})=>{const{titles:r}=we();return i.jsxs("div",{className:"onboarding flex size-full flex-1 flex-col overflow-auto",children:[i.jsx(po,{conversation:{name:r?.onboardingTitle??"Introducing the AI assistant"}}),i.jsxs("div",{className:"onboarding-content flex flex-col",children:[i.jsx(go,{content:e}),i.jsx("div",{className:"mt-4",children:i.jsx(Co,{choiceButtons:t,disabled:n,onClick:s})}),i.jsxs("div",{className:"mt-8 flex",children:[i.jsx(E.Button,{title:r?.skipOnboardingNow,buttonClassName:"text-button-secondary mr-4",disabled:n,onClick:()=>o?.(),isSmallButton:!0}),i.jsx(E.Button,{title:r?.refuseOnboarding,buttonClassName:"text-button-tertiary",disabled:n,onClick:()=>o?.(!0),isSmallButton:!0})]})]})]})},xo=({openNewConversation:e})=>{const{titles:t}=we();return i.jsxs("div",{className:"body-3 bg-accent-300 p-2 text-center",children:[i.jsx("span",{className:"mr-2 text-neutrals-900",children:t?.onboardingFooter}),i.jsxs("span",{onClick:e,className:"inline-flex cursor-pointer align-top",children:[i.jsx(Be.IconPlus,{width:15,height:15}),i.jsx("p",{className:"ml-1",children:t?.onboardingFooterLink})]})]})},So=({firstLine:e,secondLine:t})=>{const n=e!=null&&e.trim()!=="",s=t!=null&&t.trim()!=="";return i.jsxs("div",{className:K("text-center body-3",s?"p-0":n?"p-1":"p-3"),children:[n&&i.jsx("div",{className:"text-neutrals-800",children:e}),s&&i.jsx("div",{className:"text-neutrals-800",children:t})]})},ea=({suggestionsList:e,welcomeText:t,welcomeDescription:n,welcomeInputPlaceholder:s,titleIcon:o,actions:r,titles:l,inputMessageStyles:d,suggestionsContainerClass:a,isBottomInputPosition:u,prompt:m,onboardingMessageSchema:h,handleConversationClick:f,setConversations:p,locale:g,setSharedConversations:w})=>{const[C,v]=c.useState(null),[x,S]=c.useState(!0),[y,T]=c.useState(!1),{onboardingFileSchema:N,onboardingFileName:M,onboardingFilePath:D,isShowOnboarding:A,setIsShowOnboarding:I,setOnboardingFileSchema:j}=Ye(),{isAgentAvailable:L}=E.useAgentAvailability(),{statusMessages:B}=Ln();c.useEffect(()=>{(async()=>{try{const _=await r.getBucket();v(_.bucket)}catch(_){console.error(_ instanceof Error?_.message:"Request error")}finally{S(!1)}})()},[r]);const G=c.useCallback(async(Q,_)=>{if(!C){console.error("No bucket");return}T(!0);try{const Y=A?Or(C,g,l?.onboardingTitle??"Introducing the AI assistant",h?.properties?.choice?.description??"",Q,_):_r(C,g,l.newChat??"New chat",Q),q=await r.createConversation(Y,g,A),X=await r.getConversations(g),ne=await r.getSharedConversations(he.getSharedConversationsRequest(he.ShareTarget.ME));if(h&&N){const pe={...N,isStarted:!0};await r.putOnboardingFile?.(M,D,pe),j?.(pe)}p(J.cleanConversationNames(X)),w(J.cleanConversationNames(vr.transformSharedConversations(ne,g))),f(q.folderId,q.id)}catch(Y){console.error(Y instanceof Error?Y.message:"Creation conversation failed"),T(!1)}},[r,C,f,A,g,M,D,N,h,p,j,w,l.newChat,l?.onboardingTitle]),z=c.useCallback(async Q=>{if(I(!1),Q&&N){const _={...N,isSkipped:!0};await r.putOnboardingFile?.(M,D,_),j?.(_)}},[r,M,D,N,I,j]);c.useEffect(()=>{m&&C&&G(m)},[C,m]);const $=()=>{const Q=!C;return L?i.jsxs(i.Fragment,{children:[i.jsx(Qs,{containerClasses:K(d.inputContainerClass,u&&"order-3 mt-auto"),inputClasses:"mr-2",disabled:Q,placeholder:s||l?.askAnything||"Ask anything...",sendMessageIcon:d.sendMessageIcon,onSendMessage:G}),i.jsx("div",{className:K("no-scrollbar overflow-x-auto",a),children:i.jsx("div",{className:K("flex flex-wrap justify-center gap-2","tags-container"),children:e.map(_=>i.jsx(E.Tag,{title:_.title,text:_[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText,disabled:Q,onClick:G},_.title))})})]}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:B.assistantUnavailable})};return i.jsx(nn,{styles:{titles:l},children:i.jsxs("div",{className:"flex size-full flex-col",children:[y||m&&x?i.jsx(E.Loader,{}):A?i.jsx(Qr,{messageContent:h?.properties?.choice?.description||"",choiceButtons:h?.properties?.choice?.oneOf||[],disabled:!C,handleOnboardingSkip:z,onClick:G}):i.jsxs("div",{className:"flex h-full flex-col items-center justify-center sm:px-4",children:[i.jsxs("div",{className:K("flex items-center max-w-full sm-min:px-4",u?"mt-auto mb-8":n?"mb-0":"mb-6"),children:[o,i.jsx("h1",{className:"sm:h2 text-hues-800 text-center",children:t??l?.welcomeTitle??"How can I help you?"})]}),n&&i.jsx("p",{className:"body-1 text-neutrals-900 mb-6 mt-3 max-w-[784px] text-center",children:n}),$()]}),A&&i.jsx(xo,{openNewConversation:()=>I(!1)}),!A&&i.jsx(So,{firstLine:l.footerFirstLine,secondLine:l.footerSecondLine})]})})},wo=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M8.00016 1.33325C4.3135 1.33325 1.3335 4.31325 1.3335 7.99992C1.3335 11.6866 4.3135 14.6666 8.00016 14.6666C11.6868 14.6666 14.6668 11.6866 14.6668 7.99992C14.6668 4.31325 11.6868 1.33325 8.00016 1.33325ZM8.00016 13.3333C5.06016 13.3333 2.66683 10.9399 2.66683 7.99992C2.66683 5.05992 5.06016 2.66659 8.00016 2.66659C10.9402 2.66659 13.3335 5.05992 13.3335 7.99992C13.3335 10.9399 10.9402 13.3333 8.00016 13.3333ZM10.3935 4.66659L8.00016 7.05992L5.60683 4.66659L4.66683 5.60659L7.06016 7.99992L4.66683 10.3933L5.60683 11.3333L8.00016 8.93992L10.3935 11.3333L11.3335 10.3933L8.94016 7.99992L11.3335 5.60659L10.3935 4.66659Z",fill:"currentColor"})),ta=({dataQueries:e,disabledDatasetUrns:t,isSelected:n,onSelect:s,onClearAll:o})=>{const{titles:r}=we(),l=e.length-t.size,d=t.size>0;return i.jsxs("div",{className:K("flex justify-between items-center px-2 h-10 shrink-0 hover:bg-hues-100 rounded","filters-facet-item cursor-pointer",n&&"bg-hues-100"),onClick:s,children:[i.jsx("h3",{className:"w-full min-w-0 flex-1 truncate",title:r?.dataset??"Dataset",children:i.jsx("span",{className:"truncate",children:r?.dataset??"Dataset"})}),i.jsxs("div",{className:"ml-2 flex items-center gap-2 text-neutrals-800",children:[i.jsx("span",{className:"filters-facet-item-counter px-2 text-center",children:`${l}/${e.length}`}),d&&i.jsx("div",{className:"filters-facet-item-settings flex items-center gap-2",children:i.jsx(E.IconButton,{buttonClassName:"text-button-tertiary w-4 h-4 border-0 p-0 filters-facet-item-icon",icon:i.jsx(wo,{width:16,height:16}),title:r?.reset??"Reset",onClick:a=>{a.stopPropagation(),o()}})})]})]})},Fn=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M11.3301 6.25L8.00008 9.75L4.67008 6.25L11.3301 6.25Z",fill:"currentColor"})),na=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M12.8232 7C12.926 7 13.012 7.07201 13.0244 7.16797L13.1807 8.22754C13.4315 8.32754 13.6621 8.46012 13.876 8.62012L14.9004 8.21973C14.9208 8.21186 14.9453 8.20803 14.9697 8.20801C15.0436 8.20801 15.1133 8.24392 15.1504 8.30762L15.9736 9.69238C16.0227 9.7803 16.0018 9.88834 15.9238 9.94824L15.0566 10.6084C15.0731 10.7363 15.085 10.8642 15.085 11C15.085 11.1358 15.0731 11.2637 15.0566 11.3916L15.9238 12.0518C16.0018 12.1117 16.0227 12.2197 15.9736 12.3076L15.1504 13.6924C15.1133 13.7561 15.0434 13.792 14.9736 13.792C14.9492 13.7919 14.9248 13.7881 14.9004 13.7803L13.876 13.3799C13.6621 13.5359 13.4315 13.6725 13.1807 13.7725L13.0244 14.832C13.012 14.928 12.926 15 12.8232 15H11.1787C11.0759 15 10.9889 14.928 10.9766 14.832L10.8203 13.7725C10.5696 13.6725 10.3397 13.5398 10.126 13.3799L9.10156 13.7803C9.08115 13.7882 9.05667 13.792 9.03223 13.792C8.95826 13.792 8.88761 13.7563 8.85059 13.6924L8.02832 12.3076C7.97924 12.2197 8.0001 12.1117 8.07812 12.0518L8.94531 11.3916C8.92889 11.2637 8.91699 11.1319 8.91699 11C8.91699 10.8681 8.92889 10.7363 8.94531 10.6084L8.07812 9.94824C8.0001 9.88832 7.97515 9.78032 8.02832 9.69238L8.85059 8.30762C8.88754 8.24383 8.95763 8.20816 9.02734 8.20801C9.05192 8.20801 9.07699 8.21179 9.10156 8.21973L10.126 8.62012C10.3397 8.46418 10.5696 8.32752 10.8203 8.22754L10.9766 7.16797C10.9889 7.07197 11.0759 7 11.1787 7H12.8232ZM11.7129 7.7998L11.6309 8.33984L11.5654 8.79199L11.1289 8.96387C10.9604 9.03184 10.792 9.12795 10.6152 9.25586L10.2451 9.52832L9.81738 9.36035L9.29492 9.15625L9.00684 9.63965L9.45117 9.97559L9.81738 10.2559L9.75977 10.708C9.74743 10.828 9.73926 10.92 9.73926 11C9.73926 11.08 9.74743 11.1719 9.75977 11.2959L9.81738 11.748L9.45117 12.0283L9.00684 12.3643L9.29492 12.8477L9.81738 12.6436L10.2529 12.4717L10.627 12.752C10.7913 12.8719 10.9561 12.9642 11.1328 13.0361L11.5693 13.208L11.6348 13.6602L11.7129 14.2002H12.2891L12.3711 13.6602L12.4365 13.208L12.873 13.0361C13.0415 12.9681 13.21 12.8721 13.3867 12.7441L13.7568 12.4717L14.1846 12.6396L14.707 12.8438L14.9941 12.3604L14.5508 12.0244L14.1846 11.7441L14.2422 11.292C14.2545 11.172 14.2627 11.084 14.2627 11C14.2627 10.916 14.2586 10.832 14.2422 10.708L14.1846 10.2559L14.5508 9.97559L14.9902 9.63574L14.7021 9.15234L14.1807 9.35645L13.7441 9.52832L13.3701 9.24805C13.2057 9.12808 13.0411 9.03586 12.8643 8.96387L12.4287 8.79199L12.3623 8.33984L12.2842 7.7998H11.7129ZM3.33301 12.6338H2V11.3008H3.33301V12.6338ZM7.00977 11.3008C7.03732 11.7651 7.12864 12.2121 7.27441 12.6338H4.66699V11.3008H7.00977ZM12.001 9.40039C12.9097 9.40043 13.6455 10.116 13.6455 11C13.6455 11.884 12.9097 12.5996 12.001 12.5996C11.0922 12.5996 10.3564 11.884 10.3564 11C10.3564 10.116 11.0922 9.40039 12.001 9.40039ZM12.001 10.2002C11.5486 10.2002 11.1787 10.56 11.1787 11C11.1787 11.44 11.5486 11.7998 12.001 11.7998C12.4533 11.7998 12.8232 11.44 12.8232 11C12.8232 10.56 12.4533 10.2002 12.001 10.2002ZM3.33301 8.63379H2V7.30078H3.33301V8.63379ZM8.63574 7.30078C8.21765 7.68124 7.86483 8.13197 7.59473 8.63379H4.66699V7.30078H8.63574ZM3.33301 4.7334H2V3.40039H3.33301V4.7334ZM14 4.7334H4.66699V3.40039H14V4.7334Z",fill:"currentColor"})),ss=(e,t,n,s,o=!1,r)=>{const l={...br[s]},d=Dr;o&&(l.firstDayOfWeek=1);const a=new Date(e);a.setHours(0,0,0,0);const u=new Date(t);u.setHours(23,59,59,999);const m={minDate:n===J.CalendarResolution.MONTH?new Date(e.getFullYear(),e.getMonth()):a,maxDate:n===J.CalendarResolution.MONTH?new Date(t.getFullYear(),t.getMonth()):u,locale:l};return n===J.CalendarResolution.MONTH?{...m,dateFormat:"M Y",plugins:[new d({shorthand:!0,dateFormat:"M Y"})]}:{...m,monthSelectorType:"static",dateFormat:r||"d.m.Y"}},os=e=>{e?.setMinutes(e.getMinutes()-e.getTimezoneOffset())},sa={year:"numeric",month:"short",day:"numeric"},Zt=(e,t)=>e?.toLocaleDateString(t,sa)||"",oa=(e,t)=>{const{startPeriod:n,endPeriod:s}=e;if(!t.startPeriod&&!t.endPeriod&&n&&s)return{startPeriod:new Date(n?.getTime()),endPeriod:new Date(s?.getTime())};const o=n?new Date(Math.max(n.getTime(),t.startPeriod.getTime())):t.startPeriod,r=s?new Date(Math.min(s.getTime(),t.endPeriod.getTime())):t.endPeriod;return{startPeriod:o,endPeriod:r}},ia=(e,t)=>{const{endPeriod:n}=e,s=n?.getFullYear()||new Date().getFullYear(),o=s+ +t,r=new Date(+t<0?s:o,n?.getMonth()||0,n?.getDate()||1),l=new Date(+t<0?o:s,0,1);return{startPeriod:new Date(Math.max(l.getTime(),e?.startPeriod?.getTime()||0)),endPeriod:r}},ra=e=>({quarterly:e?.quarterly||"Q",monthly:e?.monthly||"M"}),vo=(e,t)=>{const n=ra(t);return b.isQuarterly(e)&&n?.quarterly?e?.replace(/Q/g,n?.quarterly):b.isMonthly(e)&&n?.monthly?e?.replace(/M/g,n?.monthly):e},aa=(e,t)=>{const n={...e};return(!e.startPeriod&&t?.startPeriod||t?.startPeriod&&e?.startPeriod&&t.startPeriod<e?.startPeriod)&&(n.startPeriod=t?.startPeriod||null),(!e.endPeriod&&t?.endPeriod||t?.endPeriod&&e?.endPeriod&&t.endPeriod>e?.endPeriod)&&(n.endPeriod=t?.endPeriod||null),n},is=e=>{if(!e?.length)return null;let t=null,n=null;for(const s of e){const o=s.filters?.find(a=>a.componentCode===b.TIME_PERIOD);if(!o)continue;const r=o.values.filter(Boolean),l=r[0]?J.getTimePeriod(r[0]):null,d=r[1]?J.getTimePeriod(r[1]):null;!l||!d||((!t||l<t)&&(t=l),(!n||d>n)&&(n=d))}return t&&n?{startPeriod:t,endPeriod:n}:null};var Qe=(e=>(e.FLAT_LIST="FLAT_LIST",e.HIERARCHY="HIERARCHY",e))(Qe||{});const bo=(e,t,n,s,o)=>e?.map(r=>{const l=b.findCodelistByDimension(t?.codelists,t?.conceptSchemes,r)?.codes,d=b.getAvailableCodes(r,n,l,s),a=l?.some(u=>u?.parent);return{id:r?.id,title:b.getDimensionTitle(t?.conceptSchemes,r,s),dimensionValues:d,isTimeDimension:r?.type===b.DimensionType.TIME_DIMENSION,isHierarchical:a,displayMode:a?Qe.HIERARCHY:Qe.FLAT_LIST,datasetUrn:o,filterType:"dataset"}})||[],Bt=e=>e?.filterType==="shared",Ke=e=>{if(e?.id)return Bt(e)?`shared:${e.id}`:e?.datasetUrn?`${e.datasetUrn}:${e.id}`:e.id},_e=(e,t)=>Ke(e)===Ke(t),Xt=(e,t)=>e?.map(n=>t&&_e(n,t)?{...t,isSelectedFilter:!0}:{...n,isSelectedFilter:!1}),Do=(e,t,n)=>e?e.map(s=>_e(s,t)?{...s,displayMode:n}:s):[],yo=e=>e?.filter(t=>!!t?.isSelectedValue)||[],sn=e=>e?.map(t=>({...t,dimensionValues:yo(t?.dimensionValues)})).filter(t=>t.dimensionValues?.length||t.timeRange?.startPeriod||t.timeRange?.endPeriod),Pn=e=>e?.reduce((t,n)=>(n?.dimensionValues?.length??0)+t,0)||0,Eo=e=>({...e,dimensionValues:e?.dimensionValues?.map(t=>({...t,isSelectedValue:!1})),timeRange:void 0}),To=(e,t)=>e?.map(n=>_e(n,t)?Eo(n):n),Mo=e=>e?.map(t=>Eo(t)),No=(e,t,n)=>e.map(s=>{const o=t?.filters?.find(l=>l.componentCode===s.id);let r=[];if(o)if(s.isTimeDimension){const l=o.values.filter(h=>!!h),d=b.getAnnotationPeriod(n?.[0]?.annotations),a=l[0]?J.getTimePeriod(l[0]):null,u=l[1]?J.getTimePeriod(l[1]):null;let m=d;return a&&u&&(m=d?oa({startPeriod:a,endPeriod:u},d):{startPeriod:a,endPeriod:u}),{...s,timeRange:m}}else r=s?.dimensionValues?.map(d=>o?.values?.includes(d.id)?{...d,isSelectedValue:!0}:d);else r=s.dimensionValues;return{...s,dimensionValues:r}}),Jt=e=>e?.map(t=>({...t,isDisabled:!0})),la=e=>new Map(e?.map(t=>[t.id,{...t,children:[]}])),ca=e=>{if(!e)return[];const t=la(e),n=[];return e.forEach(s=>{if(s&&s.parent){const o=t.get(s.parent),r=t.get(s.id);o&&o.children&&r&&(o.children=[...o.children,r])}else{const o=t.get(s.id);o&&n.push(o)}}),n},da=(e,t=!1)=>t?`${e*E.TREE_NODE_PADDING-E.TREE_NODE_ARROW_SIZE}px`:`${e*E.TREE_NODE_PADDING}px`,Io=e=>e?.children?.reduce((t,n)=>[...t,n,...Io(n)],[])||[],ua=(e,t)=>e?e.filter(n=>!n.disabled).map(n=>({...n,isSelectedValue:t})):[],Ao=e=>!!e?.children?.some(t=>t?.isSelectedValue||Ao(t)),ma=e=>{const t=Io(e);if(!e.children?.length)return[{...e,isSelectedValue:!e.isSelectedValue}];const n=(d,a)=>[{...e,isSelectedValue:d},...ua(t,a)];if(!e.isSelectableValue)return e.isSelectedValue?n(!1,!1):n(!0,!0);const s=t.filter(d=>!d.disabled),o=s.some(d=>d.isSelectedValue),r=s.length>0&&s.every(d=>d.isSelectedValue),l=!!e.isSelectedValue;return!l&&!o?n(!0,!0):l&&r?n(!1,!0):!l&&o?n(!0,!1):l&&!o?n(!1,!1):n(!0,!0)},fa=(e,t)=>e.filter(n=>n.isSelectableValue&&!t.has(n.id)).map(n=>({id:n.id,name:n.name,isSelectedValue:n.isSelectedValue})),ha=({isHierarchical:e,availableHierarchies:t,titles:n})=>[{key:"",title:n?.flatList??"Flat list"},...e?[{key:Qe.HIERARCHY,title:n?.hierarchy??"Hierarchy by parent"}]:[],...(t??[]).map(s=>({key:s.id,title:`${s.name??s.id} (${s.version})`}))],pa=({calendarResolution:e,timeRange:t,timeRangeOptions:n,calendarStartFromMonday:s=!0,locale:o=J.Locale.EN,radioIcon:r,initialConstraints:l,onValueChange:d,calendarIcon:a,dateFormat:u,defaultTimeOption:m,dataQueries:h})=>{const{titles:f}=we(),p=aa(b.getAnnotationPeriod(l?.[0]?.annotations),t),w=!!!(p?.startPeriod||p?.endPeriod)&&!t?is(h):null,C=w??p,[v,x]=c.useState(t??w),S=!t||t?.startPeriod?.getTime()===C?.startPeriod?.getTime()&&t?.endPeriod?.getTime()===C?.endPeriod?.getTime()?0:J.CUSTOM_PERIOD,[y,T]=c.useState(m??S),N=c.useMemo(()=>{const{startPeriod:j,endPeriod:L}=C,B=j?.getFullYear(),G=L?.getFullYear(),z=new Date().getFullYear();return n.filter($=>$.value===J.CUSTOM_PERIOD||$.value===0||+$.value>=0&&G-z>=+$.value||+$.value<0&&B-z<+$.value)},[C,n]);c.useEffect(()=>{d(v,y)},[v]),c.useEffect(()=>{if(t!==null)return;const j=b.getAnnotationPeriod(l?.[0]?.annotations);j?.startPeriod||j?.endPeriod||x(is(h))},[t]);const M=j=>{j&&(os(j),x(L=>L?{...L,startPeriod:j||null}:{endPeriod:null,startPeriod:j||null}))},D=j=>{j&&(os(j),x(L=>L?{...L,endPeriod:j||null}:{startPeriod:null,endPeriod:j||null}))};if(C==null)return null;const A=ss(C.startPeriod,v?.endPeriod||C.endPeriod,e,o,s,u),I=ss(v?.startPeriod||C.startPeriod,C.endPeriod,e,o,s,u);return i.jsxs("div",{className:"mt-3 flex h-full min-w-0 flex-1 flex-col overflow-auto py-2 pr-3",children:[i.jsx("div",{className:"w-full",children:N.map(j=>i.jsx(E.Radio,{id:j.value.toString(),checked:y===j.value,label:j.title,onChange:()=>{const{value:L}=j;T(L),L!==J.CUSTOM_PERIOD&&x(L===0?C:ia(C,L))},radioIcon:r},j.value.toString()))}),i.jsx("div",{className:"w-full",children:y===J.CUSTOM_PERIOD&&i.jsxs("div",{className:"filters-time-period caption mt-3 flex gap-4 text-neutral-700",children:[i.jsx(E.Calendar,{onChange:M,options:A,value:v?.startPeriod||C?.startPeriod,label:f?.from||"From",id:"time-options-start",icon:a}),i.jsx(E.Calendar,{onChange:D,options:I,value:v?.endPeriod||C?.endPeriod,label:f?.to||"To",id:"time-options-end",icon:a,isEndDate:!0})]})})]})},ga={isMetadataInSidePanel:!1,isCrossDatasetModeOn:!1,isTableSettingsFeatureEnabled:!1},jo=c.createContext(ga);function Ca({children:e,isMetadataInSidePanel:t=!1,isCrossDatasetModeOn:n=!1,isTableSettingsFeatureEnabled:s=!1}){const o=c.useMemo(()=>({isMetadataInSidePanel:t,isCrossDatasetModeOn:n,isTableSettingsFeatureEnabled:s}),[t,n,s]);return i.jsx(jo.Provider,{value:o,children:e})}function Ge(){return c.useContext(jo)}const xa=2,Ro=({value:e,onChange:t,searchIconSize:n})=>{const{titles:s}=we(),{isCrossDatasetModeOn:o}=Ge(),[r,l]=c.useState(!1),d=e.trim().toLowerCase(),a=o&&r&&d.length<xa;return i.jsxs(i.Fragment,{children:[i.jsx(E.InputWithIcon,{inputId:"filters-search-input",containerClasses:"gap-2 items-center filters-search-input",cssClass:"filters-search-input-text",placeholder:s?.searchPlaceholder??"Search",value:e,onChange:t,onFocus:()=>l(!0),onBlur:()=>l(!1),iconBeforeInput:i.jsx(Be.IconSearch,{width:n,height:n,className:"text-primary"})}),o&&i.jsx("span",{className:K("caption text-neutrals-800 mt-1",{invisible:!a}),children:s?.searchMinCharsCaption??"Enter at least 2 characters to start searching"})]})},Sa=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M6.25 4.66668L9.75 8.00001L6.25 11.3333L6.25 4.66668Z",fill:"currentColor"})),Lo=({node:e,level:t=1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r})=>{const l=!!e?.children?.length,d=l&&!e.isSelectedValue&&Ao(e),a="cursor-pointer text-neutrals-1000 w-6 h-6 shrink-0",u=c.useId(),m=(h,f)=>{if(e?.children?.length){const p=e.children.some(g=>!g.disabled);o?.(p?ma(e):[{...e,isSelectedValue:f}])}else s?.(e.id,f)};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:"flex items-center",style:{paddingLeft:da(t,l)},children:[l&&(e?.isExpanded?i.jsx(Sa,{className:a,onClick:()=>r?.(e)}):i.jsx(Fn,{className:a,onClick:()=>r?.(e)})),i.jsx(E.Checkbox,{id:u,label:e?.name,checked:!!e.isSelectedValue,indeterminate:d,checkboxIcon:n,disabled:e?.disabled,onChange:m})]}),l&&e?.isExpanded&&i.jsx(i.Fragment,{children:e?.children?.map(h=>i.jsx(Lo,{node:h,level:t+1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r},h?.id))})]},e?.id)},wa=({treeNodes:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o})=>i.jsx(i.Fragment,{children:e?.map(r=>i.jsx(Lo,{node:r,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o},r?.id))}),rs=({style:e,filterValue:t,checkboxIcon:n,selectFilterValue:s})=>i.jsx("div",{style:e,children:i.jsx(E.Checkbox,{id:t.id,label:t.name,checked:!!t.isSelectedValue,checkboxIcon:n,onChange:s})}),Gt=(e,t,n,s,o=J.Locale.EN)=>{const r=t?.map(l=>{const d=b.findCodelistByDimension(n?.codelists,n?.conceptSchemes,l),a=b.getAvailableCodesFromConstrains(d?.codes,l.id,s,o);return{...l,dimensionValues:a}});return e?.map(l=>{const d=r?.find(f=>f.id===l.id),u=(d?.dimensionValues||[]).map(f=>{const p=l.dimensionValues?.find(g=>g?.id===f?.id)?.isSelectedValue;return{...f,isSelectedValue:p}}),m=new Set(u.map(f=>f.id)),h=d?(l.dimensionValues??[]).filter(f=>!!f.isSelectedValue&&!m.has(f.id)):[];return{...l,isDisabled:!1,dimensionValues:[...u,...h]}})||[]},yn=(e,t,n)=>{let s=[];return on(e,t,n).filter(o=>o.timeRange||o.dimensionValues?.some(r=>r.isSelectedValue)).forEach(o=>{const{id:r,dimensionValues:l}=o;o.isTimeDimension?s=[...s,...va(o.timeRange,r)]:s.push({componentCode:r,operator:b.SeriesFilterOperator.EQUALS,value:l?.filter(d=>d.isSelectedValue)?.map(d=>d.id).join(b.GET_v3_FILTER_AND)||""})}),s},va=(e,t)=>e==null||e.startPeriod==null||e.endPeriod==null?[]:[{componentCode:t,operator:b.SeriesFilterOperator.GREATER_OR_EQUAL,value:as(new Date(e.startPeriod))},{componentCode:t,operator:b.SeriesFilterOperator.LESS_OR_EQUAL,value:as(new Date(e.endPeriod),1)}],ba=1e3*60*60*24,as=(e,t=0)=>{e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMinutes(e.getMinutes()-e.getTimezoneOffset());let n=e.getTime();return n+=t?ba-1:0,e=new Date(n),n.toString()},Nt=e=>[...e].map(t=>({...t,value:t.value.split(",").sort().join(",")})).sort((t,n)=>t.componentCode.localeCompare(n.componentCode)),Mt=new Map,zt=new Map;function Fo(e,t){return`${e.name??""}::${t}`}function et(...e){return JSON.stringify(e)}async function nt(e,t,n){const s=Fo(e,t);if(Mt.has(s))return Mt.get(s);const o=zt.get(s);if(o)return o;const r=n().then(l=>(Mt.set(s,l),l)).finally(()=>{zt.delete(s)});return zt.set(s,r),r}function En(e,t){return Mt.has(Fo(e,t))}function ls(){Mt.clear(),zt.clear()}const Da=e=>e.map(t=>({componentCode:t.id||"",operator:J.QueryFilterType.IN,values:t.dimensionValues?.map(n=>n.id)||[]})),Po=(e,t)=>{const n=t?.timeDimensions?.[0],s=b.getTimeRangeFromAttachment(e,n)||null;return s?b.getQueryTimePeriodFilters(s,n?.id):null},_o=(e,t,n)=>{const s=sn(on(e,n)),o=s.find(r=>r?.isTimeDimension&&r?.timeRange);return{filterKey:b.getTimeSeriesFilterKey(t||[],Da(s)),timeFilter:b.getQueryTimePeriodFilters(o?.timeRange,o?.id)}},ya=e=>{if(!e)return"";const t=String(e.getDate()).padStart(2,"0"),n=String(e.getMonth()+1).padStart(2,"0"),s=e.getFullYear();return`${n}-${t}-${s}`},Ea=e=>{if(!e)return"";const t=String(e.getDate()).padStart(2,"0"),n=String(e.getMonth()+1).padStart(2,"0");return`${e.getFullYear()}-${n}-${t}`},Vo=(e,t,n=ya)=>on(e,t)?.filter(s=>s.timeRange||s.isExcluded||s.dimensionValues?.some(o=>o.isSelectedValue)).map(s=>s?.isTimeDimension?{componentCode:s?.id,operator:J.QueryFilterType.BETWEEN,values:[n(s?.timeRange?.startPeriod||void 0)||"",n(s?.timeRange?.endPeriod||void 0)||""]}:s.isExcluded?{componentCode:s?.id,operator:J.QueryFilterType.EXCLUDED,values:[]}:{componentCode:s?.id,operator:J.QueryFilterType.IN,values:s?.dimensionValues?.filter(o=>o.isSelectedValue)?.map(o=>o.id)||[]}),Ta=(e,t)=>{const n=on(e,t).flatMap(o=>o.id?[o.id]:[]),s=t?e.flatMap(o=>{if(o.filterType!=="shared")return[];const r=o.sourceFilterIdsByDataset?.[t];return r?[r]:[]}):[];return new Set([...n,...s])},Ma=(e,t)=>{const n=new Set(t.map(s=>s.componentCode));return Array.from(e).filter(s=>!n.has(s)).map(s=>({componentCode:s,operator:J.QueryFilterType.IN,values:[b.GET_v3_FILTER_ALL]}))},Oo=(e,t,n=!0)=>{const s=n?e.urn:void 0,o=Na(t,s),r=Ta(t,s),l=Ma(r,o),d=(e.filters??[]).filter(a=>!r.has(a.componentCode));return{...e,filters:[...d,...o,...l]}},ko=(e,t)=>Vo(e,t),Na=(e,t)=>Vo(e,t,Ea),Uo="COUNTRY",Ho="FREQUENCY",St="TIME_PERIOD",Ia=new Set([Uo,Ho,St]),$t=e=>e?.trim()?.toLocaleUpperCase(),cs=()=>(e,t)=>{const n=e?.name?.trim()?.toLocaleLowerCase();return n?Aa(n):ja(t||"",e.id)},Aa=e=>`name:${e}`,ja=(e,t)=>`dataset:${e}:id:${t}`,Bo=(e,t)=>e?t?.[e]:void 0,ds=(e,t)=>{if(!(e?.filterType!=="dataset"||!e.id))return Bo(e.datasetUrn,t)?.[e.id]},Go=(e,t,n)=>Object.entries(Bo(e,n)||{}).find(([,s])=>t(s))?.[0],zo=(e,t,n)=>Go(e,s=>s.subtype===t,n),Ra=(e,t)=>Go(e,n=>n.dimensionType==="TIME_PERIOD",t),vt=[{id:Uo,subtype:"REGION",getMergedValueKey:cs()},{id:Ho,subtype:"FREQUENCY",getMergedValueKey:cs()},{id:St,getMergedValueKey:e=>e.id}],La=new Map(vt.map(e=>[e.id,e])),_n=e=>e?La.get($t(e)||""):void 0,Fa=(e,t,n)=>{if(e.filterType==="shared")return t.id===$t(e.id);if(t.id===St)return e.isTimeDimension||ds(e,n)?.dimensionType==="TIME_PERIOD"||t.id===$t(e.id);const s=ds(e,n);return t.subtype&&s?.subtype===t.subtype?!0:t.id===$t(e.id)},Qt=(e,t)=>e?vt.find(n=>Fa(e,n,t)):void 0,Pa=(e,t,n)=>{if(!t)return;const s=e?n?.[e]?.[t]:void 0;return s?.dimensionType==="TIME_PERIOD"?St:vt.find(r=>!!r.subtype&&r.subtype===s?.subtype)?.id??_n(t)?.id},_a=e=>!!_n(e),Va=e=>e?.filterType==="shared"&&_a(e?.id),$o=(e,t)=>!e||Array.isArray(e.get(t)),Wo=(e,t)=>!e?.dataMessagesMap||e.dataMessagesMap.has(t),Oa=(e,t)=>{const n=new Map;return e.forEach(s=>{s.dimensionValues?.forEach(o=>{const r=t.getMergedValueKey(o,s.datasetUrn),l={datasetUrn:s.datasetUrn,id:o.id,name:o.name,parent:o.parent},d=n.get(r);if(d){d.isSelectedValue=d.isSelectedValue||o.isSelectedValue,d.sourceValues=[...d.sourceValues||[],l];return}n.set(r,{id:r,name:o.name,isSelectedValue:o.isSelectedValue,parent:o.parent,sourceValues:[l]})})}),Array.from(n.values())},Ko=(e,t)=>{const n=new Map,s=[];return e.forEach(r=>{const l=Qt(r,t);if(l&&r?.datasetUrn){const d=n.get(l.id)||[];n.set(l.id,[...d,r]);return}s.push(r)}),[...vt.flatMap(r=>{const l=n.get(r.id);if(!l?.length)return[];const d={...l[0],id:r.id,datasetUrn:void 0,filterType:"shared",sourceDatasetUrns:Array.from(new Set(l.map(a=>a.datasetUrn).filter(a=>!!a))),sourceFilterIdsByDataset:Object.fromEntries(l.flatMap(a=>a.datasetUrn&&a.id?[[a.datasetUrn,a.id]]:[])),dimensionValues:Oa(l,r)};return d.isTimeDimension&&(d.timeRange=Ga(l)),d}),...s]},Vn=(e,t,n)=>{const s=e.sourceFilterIdsByDataset?.[t];if(s)return s;if(e.id===St)return Ra(t,n);const o=_n(e.id);return o?.subtype?zo(t,o.subtype,n):void 0},Yo=(e,t,n,s)=>({...e,id:Vn(e,t,s)||e.id,datasetUrn:t,filterType:"dataset",...n?{dimensionValues:n}:{}}),ka=(e,t)=>(e.sourceDatasetUrns||[]).map(n=>Yo(e,n,void 0,t)),Ua=(e,t)=>({id:t.id,name:t.name,parent:t.parent,isSelectedValue:e.isSelectedValue}),Ha=(e,t)=>{const n=new Map;return e.dimensionValues?.forEach(s=>{s.sourceValues?.forEach(o=>{const r=o.datasetUrn||"",l=n.get(r),d=Ua(s,o);if(l){l.dimensionValues=[...l.dimensionValues||[],d];return}n.set(r,Yo(e,r,[d],t))})}),n},Ba=(e,t=!1,n)=>{if(!Va(e))return[e];if(e.isTimeDimension)return ka(e,n);const s=Ha(e,n);return Array.from(s.values())},Ga=e=>{const t=e.map(s=>s.timeRange?.startPeriod).filter(s=>!!s),n=e.map(s=>s.timeRange?.endPeriod).filter(s=>!!s);if(!(!t.length||!n.length))return{startPeriod:new Date(Math.min(...t.map(s=>s.getTime()))),endPeriod:new Date(Math.max(...n.map(s=>s.getTime())))}},qo=(e,t,n,s)=>t&&t<n?{startPeriod:new Date(n),endPeriod:new Date(n)}:e&&e>s?{startPeriod:new Date(s),endPeriod:new Date(s)}:{startPeriod:e?new Date(Math.max(e.getTime(),n.getTime())):new Date(n),endPeriod:t?new Date(Math.min(t.getTime(),s.getTime())):new Date(s)},za=(e,t)=>{if(!e.isTimeDimension||!e.timeRange)return e;const{startPeriod:n,endPeriod:s}=b.getAnnotationPeriod(t?.[0]?.annotations);return!n||!s?e:{...e,timeRange:qo(e.timeRange.startPeriod,e.timeRange.endPeriod,n,s)}},$a=(e,t)=>e?.dimensionsMap?new Map(Array.from(e.dimensionsMap.entries()).map(([n,s])=>[n,bo(s,e?.structuresMap?.get(n),e?.structureDimensionsMap?.get(n),t,n)])):new Map,Wa=(e,t,n=!0)=>new Map(Array.from(e?.dimensionsMap?.entries()||[]).map(([s,o])=>{const r=$o(e?.constraintsMap,s),l=Wo(e,s),d=o?.map(a=>{if(!r||n&&!l)return{...a,dimensionValues:[]};const u=b.findCodelistByDimension(e?.structuresMap?.get(s)?.codelists,e?.structuresMap?.get(s)?.conceptSchemes,a),m=b.getAvailableCodesFromConstrains(u?.codes,a.id,e?.constraintsMap?.get(s),t);return{...a,dimensionValues:m}})||[];return[s,d]})),Ka=e=>e.map(t=>({...t,isDisabled:!1,dimensionValues:t.dimensionValues?.filter(n=>n.isSelectedValue)||[]})),Zo=(e,t,n=!0)=>{const s=$a(e,t),o=Wa(e,t,n);return new Map(Array.from(s?.entries()||[]).map(([r,l])=>{const d=o?.get(r),a=l.map(u=>({...u,dimensionValues:d?.find(m=>m.id===u.id)?.dimensionValues||[]}));return[r,a]}))},Xo=(e,t,n,s)=>{const o=(r,l)=>t?.some(d=>d.urn!==r.urn&&d.filters?.some(a=>a.operator===J.QueryFilterType.BETWEEN||!a.values?.length?!1:Qt({id:a.componentCode,datasetUrn:d.urn,filterType:"dataset"},s)?.id===l.id))??!1;return Ko(t?.flatMap(r=>{const l=r?.urn,d=e?.get(l)||[],a=n?.get(l)||[];return No(d,r,a).map(m=>{if(m.isTimeDimension||m.filterType!=="dataset")return m;const h=Qt(m,s);return!h||h.id===St||r.filters?.some(g=>g.componentCode===m.id&&g.operator!==J.QueryFilterType.BETWEEN)||!o(r,h)||m.dimensionValues?.some(g=>g.isSelectedValue)?m:{...m,dimensionValues:m.dimensionValues?.map(g=>({...g,isSelectedValue:!0}))}})})||[],s)},gt=(e,t,n=!1,s,o=new Set)=>{const r=e?.flatMap(l=>Ba(l,n,s))?.reduce((l,d)=>{const a=d?.datasetUrn||"",u=za(d,t?.get(a));return l.has(a)||l.set(a,[]),l?.get(a)?.push(u),l},new Map);if(o.size>0)for(const l of o)r.delete(l);return r},Jo=(e,t,n,s,o)=>{const r=e.filter(d=>d.filterType==="shared"&&!d.isTimeDimension&&(d.dimensionValues?.some(a=>a.isSelectedValue)??!1));if(!r.length)return new Set(t);const l=(d,a)=>{const u=Vn(a,d,s);if(!u)return!1;if(o)return!(o.get(d)??[]).find(p=>p.id===u);const m=n?.find(h=>h.urn===d);return m?!m.filters?.some(h=>h.componentCode===u&&h.operator!==J.QueryFilterType.BETWEEN):!1};return new Set(t.filter(d=>r.every(a=>a.dimensionValues?.some(u=>u.isSelectedValue&&u.sourceValues?.some(m=>m.datasetUrn===d))||l(d,a))))},us=(e,t)=>t?(e||[]).filter(n=>t.has(n.urn)):e||[],yt=(e,t)=>t?new Map([...e].filter(([n])=>t.has(n))):e,Qo=(e,t)=>{const n=new Map;if(e?.forEach(s=>{s.filters?.forEach(o=>{if(o.operator===J.QueryFilterType.BETWEEN||!o.values?.length)return;const r=Qt({id:o.componentCode,datasetUrn:s.urn,filterType:"dataset"},t);if(!r||r.id===St)return;const l=n.get(r.id)??new Set;l.add(s.urn),n.set(r.id,l)})}),!!n.size)return e?.filter(s=>Array.from(n.values()).every(o=>o.has(s.urn))).map(s=>s.urn)??[]},Ya=(e,t)=>t?Array.from(new Set(e?.flatMap(n=>n.cubeRegions?.filter(s=>s.isIncluded).flatMap(s=>s.memberSelection?.filter(o=>o.componentId===t).flatMap(o=>o.selectionValues.map(r=>r.memberValue))??[])??[])??[])):[],qa=(e,t,n)=>{if(e.length<2||!t)return e;const s=e.flatMap(l=>vt.flatMap(d=>{if(!d.subtype)return[];const a=zo(l.urn,d.subtype,n);return a?[{configId:d.id,dataQuery:l,dimensionId:a,filter:l.filters?.find(u=>u.componentCode===a&&u.operator!==J.QueryFilterType.BETWEEN),availableValues:Ya(t.get(l.urn),a)}]:[]})),o=new Map;s.forEach(l=>{o.set(l.configId,[...o.get(l.configId)??[],l])});const r=new Map;return o.forEach(l=>{const d=l.filter(m=>m.filter?.values?.length),a=l.filter(m=>!m.filter);if(!d.length||!a.length)return;const u=new Set(a.flatMap(m=>m.availableValues));u.size&&d.forEach(m=>{const h=m.filter;if(!h?.values?.length)return;const f=new Set(m.availableValues),p=Array.from(new Set([...h.values,...Array.from(u).filter(g=>f.has(g))]));p.length>h.values.length&&r.set(h,p)})}),r.size?e.map(l=>{let d=!1;const a=l.filters?.map(u=>{const m=r.get(u);return m?(d=!0,{...u,values:m}):u});return d?{...l,filters:a}:l}):e},ei=e=>JSON.stringify(e?.map(t=>({urn:t.urn,filters:t.filters??[]}))??[]),Et=(e,t,n=J.Locale.EN,s)=>{const o=[];return Array.from(e?.entries())?.forEach(([r,l])=>{const d=t?.dimensionsMap?.get(r),a=t?.structuresMap?.get(r),u=$o(t?.constraintsMap,r),m=Wo(t,r);if(!u||!m){o.push(...Ka(l));return}const h=t?.constraintsMap?.get(r);o.push(...Gt(l,d,a,h,n))}),Ko(o,s)},on=(e,t,n)=>t?gt(e,void 0,!1,n).get(t)||[]:e.filter(s=>s.filterType!=="shared"),ti=(e,t)=>{if(e?.filterType==="shared")return;const n=e?.datasetUrn?t?.get(e.datasetUrn)?.dataflows?.[0]:void 0;return n?b.generateShortUrn(n?.name,"",n?.agencyID):void 0},Za=(e,t)=>e?.length?!!t?.dimensionsMap&&!!t?.structuresMap&&!!t?.structureDimensionsMap&&!!t?.constraintsMap:!1,ni=(e,t,n)=>Nt(yn(t,e,n).filter(s=>s.componentCode!==b.TIME_PERIOD)),ms=(e,t,n,s,o)=>e?.map(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ni(l,d,s);return n?nt(n.getConstraints,et(l,a),()=>n.getConstraints(l,a)).then(u=>({urn:l,data:u})):Promise.resolve({urn:l,data:{}})})||[],fs=(e,t,n,s,o)=>!n?.getConstraints||!e?.length?!1:e.some(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ni(l,d,s);return!En(n.getConstraints,et(l,a))}),Xa=(e,t,n)=>{if(e.length<2)return!1;const s=new Map;for(const o of e){const r=t.dimensionsMap?.get(o.urn);if(r)for(const l of r){const d=l.id;if(!d)continue;const a=n?.[o.urn]?.[d],u=a?.subtype;if(!u||a?.dimensionType==="TIME_PERIOD")continue;const m=vt.find(p=>p.subtype===u);if(!m)continue;const h=s.get(m.id)??{datasetsWithExplicitValues:new Set,datasetsWithMissingFilter:new Set},f=o.filters?.find(p=>p.componentCode===d&&p.operator!==J.QueryFilterType.BETWEEN);f?f.values?.length&&h.datasetsWithExplicitValues.add(o.urn):h.datasetsWithMissingFilter.add(o.urn),s.set(m.id,h)}}return[...s.values()].some(o=>[...o.datasetsWithMissingFilter].some(r=>[...o.datasetsWithExplicitValues].some(l=>l!==r)))},Ja=e=>new Map(e?.flatMap(({urn:t,data:n})=>{const s=n?.data?.dataConstraints;return Array.isArray(s)?[[t,s]]:[]})),hs=e=>Ja(e.flatMap(t=>t.status==="fulfilled"?[t.value]:[])),ps=(e,t)=>{const n=new Map(e);return t.forEach((s,o)=>{n.set(o,s)}),n},si=(e,t,n,s)=>{if(e&&t?.filterType==="shared"&&t?.isTimeDimension){const r=Array.from(s?.values()||[]).flatMap(a=>a||[]).map(a=>b.getAnnotationPeriod(a?.annotations)).filter(a=>a.startPeriod!==null&&a.endPeriod!==null);if(!r.length)return[];const l=new Date(Math.min(...r.map(a=>a.startPeriod.getTime()))),d=new Date(Math.max(...r.map(a=>a.endPeriod.getTime())));return[{id:t.id||b.TIME_PERIOD,annotations:[{id:b.TIME_PERIOD_START_ANNOTATION_KEY,title:l.toISOString()},{id:b.TIME_PERIOD_END_ANNOTATION_KEY,title:d.toISOString()}]}]}return e?s?.get(t?.datasetUrn??"")??[]:n??[]},oi=(e,t,n)=>new Map(t?.map(s=>{const o=s?.urn;return[o,_o(e.get(o)||[],n?.get(o))]})),gs=(e,t,n,s,o)=>{const r=Xa(e,t,o);if(!n||!e.length||!r)return;const l={...t,constraintsMap:n},d=Zo(l,s,!1),a=Xo(d,e,n,o),u=gt(a,n,!1,o),m=Jo(a,e.map(f=>f.urn),e,o,u),h=e.filter(f=>m.has(f.urn));return{compatibleUrns:m,filterParamsMap:oi(u,h,t.dimensionsMap)}},ii=(e,t)=>new Map(e?.map(n=>{const s=n?.urn;return[s,ko(t?.get(s)||[])]})),Qa=(e,t,n)=>{const s=(e.sourceDatasetUrns??[]).filter(d=>!t.has(d));if(s.length===0)return[];if(!n||!e.timeRange)return[{...e,sourceDatasetUrns:s}];const o=s.map(d=>b.getAnnotationPeriod(n.get(d)?.[0]?.annotations)).filter(d=>!!d?.startPeriod&&!!d?.endPeriod);if(o.length===0)return[{...e,sourceDatasetUrns:s}];const r=new Date(Math.min(...o.map(d=>d.startPeriod.getTime()))),l=new Date(Math.max(...o.map(d=>d.endPeriod.getTime())));return[{...e,sourceDatasetUrns:s,timeRange:qo(e.timeRange.startPeriod,e.timeRange.endPeriod,r,l)}]},el=(e,t,n)=>t.size===0?e:e.flatMap(s=>{if(s.filterType!=="shared")return[s];if(s.isTimeDimension)return Qa(s,t,n);const o=(s.dimensionValues??[]).filter(r=>r.sourceValues?.some(l=>!t.has(l.datasetUrn??"")));return o.length===0?[]:[{...s,dimensionValues:o}]}),On=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M8 14C6.32222 14 4.90278 13.7417 3.74167 13.225C2.58056 12.7083 2 12.0778 2 11.3333V4.66667C2 3.93333 2.58611 3.30556 3.75833 2.78333C4.93056 2.26111 6.34444 2 8 2C9.65556 2 11.0694 2.26111 12.2417 2.78333C13.4139 3.30556 14 3.93333 14 4.66667V11.3333C14 12.0778 13.4194 12.7083 12.2583 13.225C11.0972 13.7417 9.67778 14 8 14ZM8 6.01667C8.98889 6.01667 9.98333 5.875 10.9833 5.59167C11.9833 5.30833 12.5444 5.00556 12.6667 4.68333C12.5444 4.36111 11.9861 4.05556 10.9917 3.76667C9.99722 3.47778 9 3.33333 8 3.33333C6.98889 3.33333 5.99722 3.475 5.025 3.75833C4.05278 4.04167 3.48889 4.35 3.33333 4.68333C3.48889 5.01667 4.05278 5.32222 5.025 5.6C5.99722 5.87778 6.98889 6.01667 8 6.01667ZM8 9.33333C8.46667 9.33333 8.91667 9.31111 9.35 9.26667C9.78333 9.22222 10.1972 9.15833 10.5917 9.075C10.9861 8.99167 11.3583 8.88889 11.7083 8.76667C12.0583 8.64444 12.3778 8.50556 12.6667 8.35V6.35C12.3778 6.50556 12.0583 6.64444 11.7083 6.76667C11.3583 6.88889 10.9861 6.99167 10.5917 7.075C10.1972 7.15833 9.78333 7.22222 9.35 7.26667C8.91667 7.31111 8.46667 7.33333 8 7.33333C7.53333 7.33333 7.07778 7.31111 6.63333 7.26667C6.18889 7.22222 5.76944 7.15833 5.375 7.075C4.98056 6.99167 4.61111 6.88889 4.26667 6.76667C3.92222 6.64444 3.61111 6.50556 3.33333 6.35V8.35C3.61111 8.50556 3.92222 8.64444 4.26667 8.76667C4.61111 8.88889 4.98056 8.99167 5.375 9.075C5.76944 9.15833 6.18889 9.22222 6.63333 9.26667C7.07778 9.31111 7.53333 9.33333 8 9.33333ZM8 12.6667C8.51111 12.6667 9.03056 12.6278 9.55833 12.55C10.0861 12.4722 10.5722 12.3694 11.0167 12.2417C11.4611 12.1139 11.8333 11.9694 12.1333 11.8083C12.4333 11.6472 12.6111 11.4833 12.6667 11.3167V9.68333C12.3778 9.83889 12.0583 9.97778 11.7083 10.1C11.3583 10.2222 10.9861 10.325 10.5917 10.4083C10.1972 10.4917 9.78333 10.5556 9.35 10.6C8.91667 10.6444 8.46667 10.6667 8 10.6667C7.53333 10.6667 7.07778 10.6444 6.63333 10.6C6.18889 10.5556 5.76944 10.4917 5.375 10.4083C4.98056 10.325 4.61111 10.2222 4.26667 10.1C3.92222 9.97778 3.61111 9.83889 3.33333 9.68333V11.3333C3.38889 11.5 3.56389 11.6611 3.85833 11.8167C4.15278 11.9722 4.52222 12.1139 4.96667 12.2417C5.41111 12.3694 5.9 12.4722 6.43333 12.55C6.96667 12.6278 7.48889 12.6667 8 12.6667Z",fill:"currentColor"})),tl=e=>Me.createElement("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M6.66663 6.175L10.4833 10L6.66663 13.825L7.84163 15L12.8416 10L7.84163 5L6.66663 6.175Z",fill:"currentColor"})),nl=yr.FixedSizeList,Cs=24,xs=232,gn=({selectedFilter:e,filterValues:t,checkboxIcon:n,isHierarchicalView:s,isVirtualized:o=!0,isScrollable:r=!0,isDisableValues:l,isValuesLoading:d,structuresMap:a,hierarchyTreeNodes:u,isHierarchyLoading:m,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p})=>{const g=E.useIsMobile(),{isCrossDatasetModeOn:w}=Ge(),C=d||m;if(!t&&!C)return null;const v=t??[],x=e?ti(e,a):void 0,S=a?.size===1,y=w&&e?.filterType!=="shared"&&!!e?.title&&(S||!!x),T=v.length*Cs,N=T>xs?xs:T;return i.jsxs("div",{className:K("relative",l&&"pointer-events-none opacity-[0.7]",r?"flex h-full min-h-0 flex-col":"flex flex-col"),children:[y&&i.jsxs("div",{className:"mb-2 flex items-center gap-x-1",children:[!S&&i.jsxs(i.Fragment,{children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-700"}),i.jsx("span",{className:"h4 text-neutrals-800",children:x}),i.jsx(tl,{className:"size-4 shrink-0 text-neutrals-1000"})]}),i.jsx("span",{className:"h4 text-neutrals-1000",children:e?.title})]}),C&&i.jsx("div",{className:"pointer-events-none absolute inset-0 z-10 min-h-12",children:i.jsx(E.Loader,{})}),i.jsx("div",{className:K(r?"min-h-0 flex-1 overflow-auto":"overflow-visible",C&&"pointer-events-none opacity-[0.7]"),style:r&&g&&!C?{height:`${N}px`}:void 0,children:u?.length||s?i.jsx(wa,{treeNodes:u??ca(v),checkboxIcon:n,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p}):o?i.jsx(Er,{children:({width:M,height:D})=>i.jsx(nl,{itemCount:v.length,itemSize:Cs,width:M,height:D,children:({index:A,style:I})=>i.jsx(rs,{style:I,filterValue:v[A],checkboxIcon:n,selectFilterValue:h})})}):i.jsx("div",{className:"flex flex-col gap-y-1",children:v.map(M=>i.jsx(rs,{filterValue:M,checkboxIcon:n,selectFilterValue:h},M.id))})})]})};function sl(e,t){const n=(e??"").split(".").map(Number),s=(t??"").split(".").map(Number),o=Math.max(n.length,s.length);for(let r=0;r<o;r++){const l=(n[r]??0)-(s[r]??0);if(l!==0)return l}return 0}function ol(e){const t=new Map;for(const n of e){const s=`${n.agencyID??""}:${n.id}`,o=t.get(s);(!o||sl(n.version??"",o.version??"")>0)&&t.set(s,n)}return Array.from(t.values())}function Ss(e){return b.generateShortUrn(e.id,e.version??"",e.agencyID??"")}function ws(e,t,n,s,o){const r=b.getHierarchyCodes(e,t),l=b.getHierarchyAvailableCodes(r,n,s),d=b.getCodeListsData(t),a=il(e,d,l.map(u=>u.id),o);return ai(a)}function ri(e,t,n,s,o){return s?.map(r=>{const{childId:l,agency:d,id:a,version:u}=b.getChildParsedUrn(r.code),m=b.generateShortUrn(a,u,d),h=Object.keys(e??{}).find(S=>b.urnMatchesIgnoreVersion(S,m))??m,p=e?.[h]?.find(S=>S.id===l),g=p?.name||p?.description||l,w=n?b.urnMatchesIgnoreVersion(m,n):!0,C=!w&&(r.hierarchicalCodes?.length??0)>0,v=ri(e,t,n,r.hierarchicalCodes,r.code),x=v.length===0;return C&&x||w&&x&&t&&!t.includes(l??"")?null:{id:r.code,name:g,children:v,isExpanded:!0,disabled:!w&&v.every(S=>S.disabled),isSelectableValue:w,parent:o,metadata:{...r,hierarchicalCodes:void 0}}}).filter(r=>r!==null)??[]}function il(e,t,n,s){return!n||n.length===0?[]:ri(t,n,s,e?.hierarchicalCodes,void 0)}function ai(e){return e.map(t=>{const{childId:n}=b.getChildParsedUrn(t.id??"");return{id:n??t.id??"",name:t.name,isExpanded:t.isExpanded,isSelectedValue:!1,disabled:t.disabled,isSelectableValue:t.isSelectableValue,children:ai(t.children)}})}function li(e,t){return e?.filterType!=="shared"?t:e.dimensionValues?.find(n=>n.id===t||n.sourceValues?.some(s=>s.id===t))?.id}function rl(e){return e?.filterType!=="shared"?new Set(e?.dimensionValues?.filter(t=>t.isSelectedValue).map(t=>t.id)??[]):new Set(e.dimensionValues?.flatMap(t=>t.isSelectedValue?t.sourceValues?.map(n=>n.id)??[]:[])??[])}function al(e,t){if(!e?.length||t?.filterType!=="shared")return e??[];const n=new Map;return e.forEach(s=>{const o=li(t,s.id);o&&n.set(o,{...s,id:o})}),Array.from(n.values())}function ll(e,t){return li(t,e)}function ci(e,t){return e.map(n=>{const s=n.children?.length?ci(n.children,t):n.children;let o;if(t.has(n.id))o=!0;else if(s?.length&&!n.isSelectableValue){const r=s.filter(l=>!l.disabled);o=r.length>0&&r.every(l=>!!l.isSelectedValue)}else o=!1;return{...n,isSelectedValue:o,children:s}})}function di(e,t){return e.map(n=>n.id===t?{...n,isExpanded:!n.isExpanded}:n.children?.length?{...n,children:di(n.children,t)}:n)}function ui(e,t){const n=t.toLowerCase();return e.reduce((s,o)=>{const r=o.name?.toLowerCase().includes(n),l=ui(o.children??[],t);return(r||l.length>0)&&s.push({...o,isExpanded:!0,children:r?o.children:l}),s},[])}const mi=c.createContext(null);function cl({children:e,value:t}){return i.jsx(mi.Provider,{value:t,children:e})}function fi(){const e=c.useContext(mi);if(!e)throw new Error("useFiltersModal must be used within FiltersModalProvider");return e}const dl=2,hi=({filtersList:e,selectedFilter:t,initialConstraints:n,structuresMap:s,selectedTimeOption:o,hierarchyState:r})=>{const{titles:l}=we(),{locale:d,isDisableValues:a,isValuesLoading:u,timeRangeOptions:m,filterValuesProps:h,dataQueries:f,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:w,onTimePeriodChange:C}=fi(),[v,x]=c.useState(""),{isCrossDatasetModeOn:S}=Ge(),y=t?.displayMode===Qe.HIERARCHY,T=Ke(t),N=t?.filterType==="shared",M=v?.trim().toLowerCase(),D=S?M.length>=dl:!!M,A=D&&S&&!N,I=c.useCallback(_=>{if(!_?.dimensionValues)return{filterValues:[],matchedCount:0};const Y=_.dimensionValues.filter(q=>q?.name?.toLowerCase()?.includes(M));return{filterValues:_.displayMode===Qe.HIERARCHY?b.getFilteredItemsWithParents(_.dimensionValues,Y):Y,matchedCount:Y.length}},[M]),j=c.useMemo(()=>D?I(t).filterValues:t?.dimensionValues,[D,I,t]),L=c.useMemo(()=>A?(e||[]).reduce((_,Y)=>{if(_e(Y,t)||Y.filterType==="shared")return _;const{filterValues:q,matchedCount:X}=I(Y);return X?[..._,{filter:Y,filterValues:q,matchedCount:X,isHierarchicalView:Y.displayMode===Qe.HIERARCHY}]:_},[]):[],[A,e,t,I]),B=c.useMemo(()=>{const _=r?.treeNodes;if(!_?.length)return _;const Y=rl(t),q=Y.size?ci(_,Y):_;return D?ui(q,M):q},[r?.treeNodes,t,D,M]),G=B?!B.length:!j?.length,z=!!u||!!r?.isLoading,$=c.useMemo(()=>L.reduce((_,Y)=>_+Y.matchedCount,0),[L]);c.useEffect(()=>{x("")},[T]);const Q=c.useCallback(_=>{x(_)},[x]);return i.jsx(i.Fragment,{children:t?.isTimeDimension&&n?i.jsx(pa,{initialConstraints:n,calendarResolution:J.CalendarResolution.DAY,timeRange:t?.timeRange||null,timeRangeOptions:m||[],calendarStartFromMonday:!0,locale:d,radioIcon:h?.radioIcon,onValueChange:C,calendarIcon:h?.calendarIcon,dateFormat:h?.dateFormat,defaultTimeOption:o,dataQueries:f}):i.jsxs("div",{className:K("flex flex-col py-2 h-full flex-1 min-w-0 sm:border-0","filter-values-container"),children:[i.jsx(Ro,{value:v,onChange:Q,searchIconSize:h?.searchIconSize}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:A?i.jsxs(i.Fragment,{children:[t&&i.jsxs("div",{className:"shrink-0 pb-4",children:[i.jsx(gn,{selectedFilter:t,filterValues:j,checkboxIcon:h?.checkboxIcon,isHierarchicalView:y,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:B,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:w}),!z&&G&&i.jsx("span",{className:"body-2 text-neutrals-700",children:l?.noResultsInSection?.(t.title??"")??`No results found in ${t.title??""}`})]}),i.jsxs("div",{className:"pb-3",children:[i.jsxs("span",{className:"h2 text-neutrals-1000",children:[l?.otherResults??"Other results",":"," ",$]}),!u&&$===0&&i.jsx("p",{className:"body-2 mt-1 text-neutrals-700",children:l?.noResultsInOtherDimensions??"No results found in other dimensions"})]}),L.map(({filter:_,filterValues:Y,isHierarchicalView:q})=>i.jsx("div",{className:"shrink-0 pb-4 last:pb-0",children:i.jsx(gn,{selectedFilter:_,filterValues:Y,checkboxIcon:h?.checkboxIcon,isHierarchicalView:q,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,selectFilterValue:(X,ne)=>p(X,ne,_),selectHierarchicalNodes:X=>g(X,_),expandHierarchicalValue:X=>w(X,_)})},Ke(_)))]}):i.jsx(gn,{selectedFilter:t,filterValues:j,checkboxIcon:h?.checkboxIcon,isHierarchicalView:y,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:B,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:w})})]})})},ul=({filtersList:e,filter:t,onSelectFilter:n,onSelectDisplayMode:s,onDeleteFilter:o,initialConstraints:r,hideFacetCounterByDefault:l,hierarchyState:d})=>{const{titles:a}=we(),{locale:u,onSelectHierarchy:m}=fi(),h=E.useIsMobile(),[f,p]=c.useState(0),[g,w]=c.useState(!1),C=t?.isTimeDimension&&t?.timeRange,v=c.useMemo(()=>t?.timeRange?.startPeriod&&t?.timeRange?.endPeriod?`${Zt(t?.timeRange?.startPeriod,u)} -
6
- ${Zt(t?.timeRange?.endPeriod,u)}`:"",[u,t?.timeRange]);c.useEffect(()=>{p(yo(t?.dimensionValues)?.length)},[t?.dimensionValues]);const x=l?f>0:!0,S=c.useMemo(()=>ha({isHierarchical:t?.isHierarchical,availableHierarchies:d?.availableHierarchies,titles:a}),[t?.isHierarchical,d?.availableHierarchies,a]),y=d?.isLoading||!t?.isHierarchical&&!d?.availableHierarchies?.length;c.useEffect(()=>{t.isSelectedFilter||w(!1)},[t.isSelectedFilter]);const T=()=>{h&&w(M=>!M),n(t)},N=M=>{if(M==="")m?.(t,null),s?.(t,Qe.FLAT_LIST);else if(M===Qe.HIERARCHY)m?.(t,null),s?.(t,Qe.HIERARCHY);else{const D=d?.availableHierarchies?.find(A=>A.id===M)??null;m?.(t,D)}};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:K("flex justify-between items-center px-2 h-10 hover:bg-hues-100 sm:h-14 sm:hover:bg-white rounded","filters-facet-item cursor-pointer",t?.isSelectedFilter&&!h&&"bg-hues-100",t?.isDisabled&&"cursor-default pointer-events-none opacity-[0.7]"),onClick:T,children:[i.jsxs("h3",{className:"w-full min-w-0 flex-1 truncate sm:flex sm:items-center",title:t?.title,children:[i.jsx("span",{className:"truncate",children:t?.title}),h&&i.jsx(Fn,{className:K("chevron-icon w-6 h-6 shrink-0",g&&"rotate-180")})]}),i.jsxs("div",{className:"ml-2 flex items-center gap-2 text-neutrals-800",children:[C&&i.jsx("span",{className:"filters-facet-item-counter border-none",children:v}),!C&&x&&i.jsx("span",{className:K("px-2 text-center","filters-facet-item-counter"),children:f?`${f}/${t?.dimensionValues?.length||0}`:a?.all||"All"}),C?null:i.jsxs("div",{className:"filters-facet-item-settings flex items-center gap-2",children:[i.jsx(E.Dropdown,{triggerButton:i.jsx(E.IconButton,{buttonClassName:K("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(na,{width:16,height:16}),title:a?.displayOrder||"Display Order",disabled:y}),disabled:y,options:S,selectedOption:d?.selectedHierarchy?.id??(t?.displayMode===Qe.HIERARCHY?Qe.HIERARCHY:""),onOptionSelect:N}),f>0&&i.jsx(E.IconButton,{buttonClassName:K("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(wo,{width:16,height:16}),title:a?.reset||"Reset",onClick:M=>{M.stopPropagation(),o?.(t)}})]})]})]}),g&&i.jsx(hi,{filtersList:e,selectedFilter:t,initialConstraints:r,hierarchyState:d})]})},ml=new Set,fl=({filtersList:e,hideFacetCounterByDefault:t,onSelectFilter:n,onDeleteFilter:s,onSelectDisplayMode:o,initialConstraints:r,initialConstraintsMap:l,datasetIcon:d,structuresMap:a,hierarchyStateMap:u,dataQueries:m,disabledDatasetUrns:h=ml,isDatasetFacetSelected:f=!1,onSelectDatasetFacet:p,onClearAllDatasets:g})=>{const{isCrossDatasetModeOn:w}=Ge(),C=w&&!!m?.length,v=new Set(e.filter(x=>x.filterType==="dataset").map(x=>x.datasetUrn||"")).size;return i.jsxs("div",{className:K("overflow-y-auto advanced-view-filters-list w-[338px] pr-3 h-full sm:w-full"),children:[C&&i.jsx(ta,{dataQueries:m,disabledDatasetUrns:h,isSelected:f,onSelect:p,onClearAll:g}),e.filter(x=>!(x.filterType==="dataset"&&x.datasetUrn&&h.has(x.datasetUrn))).map((x,S,y)=>{const T=y[S-1],M=x.filterType==="dataset"&&v>1&&x.datasetUrn!==T?.datasetUrn?ti(x,a):void 0;return i.jsxs("div",{className:"min-w-0 shrink-0",children:[M&&i.jsxs("h4",{className:"filters-facet-dataset-name !flex",children:[i.jsx("span",{className:"filters-facet-dataset-icon",children:d}),i.jsx("span",{className:"min-w-0 truncate",title:M,children:M})]}),i.jsx(ul,{filtersList:y,filter:x,onSelectFilter:n,onSelectDisplayMode:o,onDeleteFilter:s,hideFacetCounterByDefault:t,initialConstraints:si(w,x,r,l),hierarchyState:u?.get(Ke(x)??"")})]},Ke(x))})]})},hl=({dataQueries:e,disabledDatasetUrns:t,onToggleDataset:n,searchIconSize:s})=>{const[o,r]=c.useState(""),l=o.trim().toLowerCase(),d=e.filter(u=>l.length<2||(u.title??u.urn).toLowerCase().includes(l)),a=e.length-t.size;return i.jsxs("div",{className:"filter-values-container flex h-full min-w-0 flex-1 flex-col py-2 sm:border-0",children:[i.jsx(Ro,{value:o,onChange:r,searchIconSize:s}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:d.map(u=>{const m=!t.has(u.urn),h=m&&a===1;return i.jsx("div",{className:K("py-1",h&&"pointer-events-none"),children:i.jsx(E.Checkbox,{id:u.urn,label:u.title??u.urn,checked:m,disabled:h,disabledScope:"icon",onChange:(f,p)=>n(u.urn,!!p)})},u.urn)})})]})},pi=({filtersList:e,selectedFilter:t,modalProps:n,locale:s,isDisableValues:o,isValuesLoading:r,timeSeriesCount:l,timeRangeOptions:d,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,setSelectedFilter:f,onSelectDisplayMode:p,onDeleteFilter:g,onClearAllFilters:w,updateSelectedFilterValues:C,onTimePeriodChange:v,selectedTimeOption:x,hierarchyStateMap:S,onSelectHierarchy:y,onExpandHierarchyNode:T,dataQueries:N,disabledDatasetUrns:M,onToggleDataset:D,onClearAllDatasets:A})=>{const{titles:I}=we(),j=S?.get(Ke(t)),L=E.useIsMobile(),{isCrossDatasetModeOn:B}=Ge(),[G,z]=c.useState(!1),$=c.useMemo(()=>el(e.filter(V=>!(V.filterType==="dataset"&&V.datasetUrn&&M.has(V.datasetUrn))),M,u),[e,M,u]),Q=c.useMemo(()=>t?$.find(V=>_e(V,t)):void 0,[t,$]),_=Pn(sn(e))+M.size,Y=c.useCallback(()=>{z(!0),f(void 0)},[f]),q=c.useCallback(V=>{z(!1);const P=e?.find(ce=>_e(ce,V));if(!P){f(void 0);return}f({...P,isSelectedFilter:!0})},[e,f]),X=V=>V?e?.find(P=>_e(P,V)):void 0,ne=(V,P,ce)=>{const de=!ce||_e(ce,t),le=X(ce??t)??ce??t;if(!le)return;const je=Bt(le)?ll(V,le):V;if(!je)return;const Te={...le,dimensionValues:le?.dimensionValues?.map(O=>O?.id===je?{...O,isSelectedValue:P}:O)};de&&f(Te),C&&C(Te)},pe=(V,P)=>{const ce=!P||_e(P,t),de=X(P??t)??P??t;if(!de)return;const le=Bt(de)?al(V,de):V??[],je=new Set(de?.dimensionValues?.map(U=>U.id)),Te=Bt(de)?[]:fa(le,je),O={...de,dimensionValues:[...de?.dimensionValues?.map(U=>{const oe=le.find(ie=>ie?.id===U?.id);return oe?{...U,isSelectedValue:oe.isSelectedValue}:U})??[],...Te]};ce&&f(O),C&&C(O)},ve=(V,P)=>{const ce=!P||_e(P,t),de=X(P??t)??P??t;if(!de||!V?.id)return;const le=Ke(de);if((le?S?.get(le):void 0)?.treeNodes?.length){T?.(le,V.id);return}const Te={...de,dimensionValues:de?.dimensionValues?.map(O=>O?.id===V?.id?{...O,isExpanded:!V?.isExpanded}:O)};ce&&f(Te),C&&C(Te)},De=(V,P)=>{if(!t)return;const ce={...t,timeRange:V||void 0};v?.(P),f(ce),C&&C(ce)};return i.jsx(cl,{value:{locale:s,isDisableValues:o,isValuesLoading:r,timeRangeOptions:d,filterValuesProps:n?.filterValuesProps,dataQueries:N,onSelectHierarchy:y,selectFilterValue:ne,selectHierarchicalNodes:pe,expandHierarchicalValue:ve,onTimePeriodChange:De},children:i.jsxs("div",{className:K("flex flex-row gap-5 flex-1 min-h-0 sm:p-0","filters-settings"),children:[i.jsxs("div",{className:K("h-full sm:w-full",n?.isShowTimeSeriesCount&&"flex flex-col justify-between"),children:[B&&i.jsxs("div",{className:"mb-4 flex items-center justify-between gap-x-4",children:[i.jsxs("span",{className:"body-3 text-neutrals-900",children:[I?.appliedFilters??"Applied filters",":"," ",_]}),i.jsx(E.Button,{buttonClassName:"text-button-tertiary p-0",title:I?.clearAll??"Clear All",onClick:w,isSmallButton:L})]}),i.jsx(fl,{filtersList:$,hideFacetCounterByDefault:n?.isHideFacetCounterByDefault,onSelectFilter:q,onSelectDisplayMode:p,onDeleteFilter:g,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,hierarchyStateMap:S,dataQueries:N,disabledDatasetUrns:M,isDatasetFacetSelected:G,onSelectDatasetFacet:Y,onClearAllDatasets:A}),n?.isShowTimeSeriesCount&&l?i.jsxs("h4",{className:"my-4 text-neutrals-800",children:[I?.timeSeries??"Timeseries",": ",l]}):null]}),!L&&(G?i.jsx(hl,{dataQueries:N??[],disabledDatasetUrns:M,onToggleDataset:D,searchIconSize:n?.filterValuesProps?.searchIconSize}):i.jsx(hi,{filtersList:$,selectedFilter:Q,structuresMap:h,initialConstraints:si(B,t,a,u),selectedTimeOption:x,hierarchyState:j}))]})})},pl=e=>{const t=e.filterType==="dataset"?[e.datasetUrn]:e.sourceDatasetUrns;return Array.from(new Set((t||[]).filter(n=>!!n)))},gl=(e,t)=>{if(!t)return!1;const n=e.dataStructureComponents?.dimensionList;return[...n?.dimensions||[],...n?.timeDimensions||[]].some(o=>o.id===t)},Tn=e=>{if(!e.length||e.some(n=>!n))return;const t=Array.from(new Set(e));return t.length===1?t[0]:void 0},Cl=(e,t)=>{const n=t?.dataStructures||[];if(!n.length)return[];const s=n.filter(o=>gl(o,e));return s.length?s:n.length===1?n:[]},xl=e=>e.urn??b.generateShortUrn(e.id,e.version,e.agencyID),gi=(e,t)=>Tn(Cl(e,t).map(xl)),Sl=(e,t,n,s)=>{if(!e||!t)return;const o=n?.get(t)?.find(a=>a.id===e);if(!o)return;const r=b.getKeyFromUrn(o.localRepresentation?.enumeration);if(r)return r;const l=s?.get(t),d=b.findCodelistByDimension(l?.codelists,l?.conceptSchemes,o);return d?b.getKeyFromUrn(d.urn)??b.generateShortUrn(d.id,d.version,d.agencyID):void 0},wl=(e,t,n)=>{const s=pl(e);return{codelistUrn:Tn(s.map(o=>Sl(e.id,o,t,n))),sourceArtefactUrn:Tn(s.map(o=>gi(e.id,n?.get(o))))}},vl=({timeseriesLength:e=0,limitMessages:t})=>{const n=!e||E.SERIES_LIMIT>e;return i.jsx("div",{className:"body-3 flex items-center gap-x-[4px] text-neutrals-800 sm:justify-center sm:text-center",children:n?i.jsx("span",{children:t?.seriesCount?.(e)}):i.jsxs(i.Fragment,{children:[i.jsx("span",{children:t?.warningIcon}),i.jsx("span",{children:t?.counterLimit?.(e,E.SERIES_LIMIT)})]})})},Ci=({modalProps:e,onApply:t,onClearAllFilters:n,onClose:s,applyDisabled:o,timeseriesLength:r,limitMessages:l})=>{const{titles:d}=we(),a=E.useIsMobile(),u=e?.footerActionsPosition==="right",m=e?.isShowCancelButton,h=e?.isShowClearAllButton??!0,f=m?u?"justify-end":"justify-start":u?"flex-row items-center justify-between sm:flex-col-reverse sm:gap-y-4":"gap-x-8 flex-row-reverse items-center justify-between sm:flex-col sm:gap-y-4",p=m?u?"items-center gap-x-8":"justify-between":u?"flex-row justify-end items-center sm:flex-col-reverse sm:gap-y-4":"gap-x-8 flex-row-reverse justify-end items-center sm:flex-col-reverse sm:gap-y-4";return i.jsxs("div",{className:K("flex py-4 px-6 modal-footer-wrapper",f),children:[!m&&i.jsx(vl,{timeseriesLength:r,limitMessages:l}),i.jsxs("div",{className:K("flex",p),children:[h&&i.jsx(E.Button,{iconBefore:a?e?.resetIcon:void 0,buttonClassName:"text-button-tertiary p-0",title:e?.isShowClearIcon?d?.clearAllFilters??"Clear All Filters":d?.clearAll??"Clear All",onClick:()=>n(),isSmallButton:a}),i.jsxs("div",{className:"flex items-center gap-x-3",children:[e?.isShowCancelButton?i.jsx(E.Button,{buttonClassName:"text-button-tertiary sm:h8",title:d?.cancel??"Cancel",onClick:s,isSmallButton:a}):null,i.jsx(E.Button,{buttonClassName:"advanced-view-filters-modal-apply-button",title:d?.apply??"Apply",onClick:t,isSmallButton:a,disabled:o})]})]})]})},bl=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M3.33333 13.3327V8.66602H2V7.33268H6V8.66602H4.66667V13.3327H3.33333ZM3.33333 5.99935V2.66602H4.66667V5.99935H3.33333ZM6 5.99935V4.66602H7.33333V2.66602H8.66667V4.66602H10V5.99935H6ZM7.33333 13.3327V7.33268H8.66667V13.3327H7.33333ZM11.3333 13.3327V11.3327H10V9.99935H14V11.3327H12.6667V13.3327H11.3333ZM11.3333 8.66602V2.66602H12.6667V8.66602H11.3333Z",fill:"currentColor"}));var Oe=(e=>(e.DATA_GRID="dataGrid",e.METADATA_PER_SERIES="metadataPerSeries",e.CHARTS="charts",e.CHARTS_NAVIGATION="chartsNavigation",e.OPEN_ADVANCED_VIEW="openAdvancedView",e.FILTERS="filters",e.CHART_PER_SERIES="chartPerSeries",e.METADATA_PER_DATASET="metadataPerDataset",e.EXIT_ADVANCED_VIEW="exitAdvancedView",e))(Oe||{});const kn=["charts","chartsNavigation"],vs=["dataGrid","metadataPerSeries",...kn,"openAdvancedView"],xi=["filters","chartPerSeries","metadataPerDataset","exitAdvancedView"],at=(e,t)=>{const n=t?.[`${e}Title`],s=t?.[`${e}Description`];return{title:typeof n=="string"?n:"",description:typeof s=="string"?s:""}},Mn=(e,t)=>e.find(n=>!t.infoElements?.[n])||"",Dl=(e,t)=>{if(!e||!t)return"";if(vs.includes(t)){const s=Mn(vs,e);if(s)return s}const n=Mn(xi,e);return n||""},Si=(e,t)=>{const n=Mn(e,t);return{...t,infoElements:{...t?.infoElements,[t.lastDisplayedElement]:!1,...n?{[n]:!0}:{}},lastDisplayedElement:n}},wi=e=>Si(xi,e),yl=e=>Si(kn,e),El=e=>(!e?.infoElements?.charts||!e?.infoElements?.chartsNavigation)&&!kn.includes(e.lastDisplayedElement),ot=5,Tl=({targetPosition:e,overlayClasses:t,onClose:n})=>i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"overlay overlay-top",style:{height:e.top,top:0-ot,bottom:e.top+ot}}),i.jsx("div",{className:"overlay overlay-bottom",style:{top:e.bottom+ot,bottom:0}}),i.jsx("div",{className:"overlay overlay-left",style:{top:e.top-ot,height:e.height+ot*2,width:e.left,left:0-ot,right:e.left-ot*2}}),i.jsx("div",{className:"overlay overlay-right",style:{top:e.top-ot,left:e.right+ot,height:e.height+ot*2,right:0}}),i.jsx("div",{className:K("outline-block z-10",t),onClick:n,style:{top:e.top,left:e.left,height:e.height,width:e.width}})]}),lt=({reference:e,title:t,description:n,onReferenceClick:s,shouldCloseTooltip:o,shouldMoveToNextStep:r,supressReferenceClick:l})=>{const[d,a]=c.useState(!0),[u,m]=c.useState(!1),h=c.useRef(null),{isShowOnboarding:f,onboardingFileSchema:p,setOnboardingFileSchema:g}=Ye(),{refs:w,floatingStyles:C,context:v,placement:x}=qe.useFloating({open:d,onOpenChange:a,placement:"right-start",elements:{reference:e?.current},middleware:[qe.offset({mainAxis:12,crossAxis:-4}),qe.flip(),qe.shift(),qe.arrow({element:h})],whileElementsMounted:qe.autoUpdate}),S=qe.useClick(v),{getFloatingProps:y}=qe.useInteractions([S]),T=c.useCallback(()=>{if(f){const A=Dl(p,p?.lastDisplayedElement);g?.({...p,infoElements:{...p?.infoElements,...A?{[A]:!0}:{}},lastDisplayedElement:A})}a?.(!1)},[f,p,g]);c.useEffect(()=>{w.setReference(e?.current??null)},[e,w]);const N=()=>T(),M=e?.current?.getBoundingClientRect();c.useEffect(()=>{o&&!u&&(T(),m(!0))},[o,T,u]);const D=()=>{s?(s?.(),r?T():a(!1)):l||(T(),e?.current?.click())};return i.jsx(i.Fragment,{children:d&&i.jsxs(qe.FloatingPortal,{children:[M&&i.jsx(Tl,{overlayClasses:l?"cursor-default":"cursor-pointer",targetPosition:M,onClose:D}),i.jsxs("div",{ref:w.setFloating,style:C,...y(),className:"tooltip z-tooltip max-w-[350px]",children:[i.jsxs("div",{className:"tooltip-header",children:[i.jsx("h3",{children:t}),i.jsx(E.CloseButton,{btnClassNames:"w-4 h-4",onClick:N})]}),i.jsx("div",{className:"tooltip-description",children:i.jsx("p",{children:n})}),i.jsx("div",{ref:h,className:K("tooltip-arrow absolute w-3 h-3 rotate-45",x?.includes("right")?"left-[-4px]":"right-[-6px]",x?.includes("end")?"bottom-2 tooltip-arrow-white":"top-3")})]})]})})},vi=({buttonProps:e,selectedFiltersCount:t=0,isLoading:n,setModalState:s,isModalClosed:o,warningIcon:r,filterIconClassName:l,timeSeriesCount:d})=>{const{titles:a}=we(),u=c.useRef(null),[m,h]=c.useState(""),[f,p]=c.useState(""),[g,w]=c.useState(!1),{onboardingFileSchema:C,isShowOnboarding:v}=Ye(),x=E.SERIES_LIMIT<(d??0),S=c.useMemo(()=>e?.isShowBadge?e?.title:`${e?.title}: ${t}`,[e?.isShowBadge,e?.title,t]);return c.useEffect(()=>{if(v){const{title:y,description:T}=at(Oe.FILTERS,a);h(y),p(T)}},[a,v]),c.useEffect(()=>{v&&w(C?.lastDisplayedElement===Oe.FILTERS)},[C?.lastDisplayedElement,v]),i.jsx("div",{className:"filter-button-container relative",ref:u,children:n?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[i.jsx(E.Button,{iconBefore:i.jsx(bl,{className:K("size-4",l)}),iconAfter:x?r:void 0,title:S,buttonClassName:"text-button-secondary filter-button",isSmallButton:!0,onClick:()=>s(E.PopUpState.Opened)}),e?.isShowBadge&&i.jsx("div",{className:"filter-count-badge",children:i.jsx("h5",{children:t})}),g&&i.jsx(lt,{reference:u,title:m,description:f,onReferenceClick:()=>s(E.PopUpState.Opened),shouldCloseTooltip:o})]})})},bi=c.createContext(null);function Ml({children:e}){const[t,n]=c.useState(E.PopUpState.Closed),[s,o]=c.useState(!1),r=c.useMemo(()=>({modalState:t,setModalState:n,isModalClosed:s,setIsModalClosed:o}),[t,s]);return i.jsx(bi.Provider,{value:r,children:e})}function Di(){const e=c.useContext(bi);if(!e)throw new Error("useFiltersModalState must be used within FiltersModalStateProvider");return e}const bs=e=>{const t=[];return e.custom_content?.attachments&&t.push(...e.custom_content.attachments),t};function Un(e){return e.type===he.AttachmentType.MARKDOWN&&e.title!=null&&e.title?.startsWith("URL Query")}function yi(e){return e.type===he.AttachmentType.JSON&&e.title!=null&&e.title?.startsWith("Query (JSON)")}function Ei(e){return e.type===he.AttachmentType.MARKDOWN&&!Un(e)}function Nl(e){return e.type===he.AttachmentType.CSV}function Hn(e){return e.type===he.AttachmentType.TABLE}function rt(e){return e.type===he.AttachmentType.CUSTOM_DATA_GRID}function Wt(e){return e.type===he.AttachmentType.CUSTOM_CHART}function Il(e){return e.type===he.AttachmentType.PLOTLY}function Bn(e){return e.type===he.AttachmentType.CUSTOM_CODE_SAMPLE}function mt(e){return e.type===he.AttachmentType.CROSS_DATASET_GRID}function Al(e){return Hn(e)||rt(e)||mt(e)}const jl=(e,t)=>e?.filter((n,s)=>n?.custom_content?.attachments&&s<t)?.at(-1),Ti=e=>e?.reduce((t,n,s)=>n?.custom_content?.attachments?.some(o=>yi(o))?s:t,-1),Rl=e=>e?.reduce((t,n)=>n?.role===Ae.Role.Assistant?n:t,{}),Ds=e=>e.type==="text/markdown"&&!!e.data?.includes("```python"),Ll=(e,t)=>{const n=e?.custom_content?.attachments?.filter(Ds)??[],s=t?.custom_content?.attachments?.filter(Ds)??[],o=new Map;for(const r of[...n,...s])o.set(r.title??r.data??"",r);return[...o.values()]},Fl=(e,t,n,s,o)=>({role:Ae.Role.System,content:"",custom_content:{attachments:n?.map(r=>{const l=e&&t?.urn===r?.urn?e:r?.filters;return{type:he.AttachmentType.JSON,title:r?.title,data:JSON.stringify({urn:r?.urn,metadata:r?.metadata,filters:o?o?.get(r?.urn):l,disabled:!!r?.disabled})}})||[],form_schema:s?.custom_content?.form_schema}}),Mi=(e,t,n,s,o)=>{if(!e)return[];const r=e.at(-1),l=r?.role===Ae.Role.System,d=l?e.slice(0,-1):e,a=Rl(d),u=Ll(a,l?r:void 0),m=Fl(s,o,t,a,n);return u.length&&m.custom_content&&(m.custom_content={...m.custom_content,attachments:[...m.custom_content.attachments??[],...u]}),[...d,m]},Pl=(e,t,n,s)=>e?.map(o=>({...o,filters:n&&s?.urn===o?.urn?n:o?.filters}))||[],ut={availableHierarchies:[],selectedHierarchy:null,mainHierarchy:null,codelists:[],treeNodes:[],isLoading:!1},Ni=({getCodelistUrnForFilter:e,getConstraintsForFilter:t,getSourceArtefactUrn:n,getAvailableHierarchies:s,getHierarchy:o})=>{const[r,l]=c.useState(new Map),d=c.useCallback((f,p)=>{const g=Ke(f);if(!g)return;const w=e(f),C=p??t(f);l(v=>{const x=v.get(g);if(!x?.mainHierarchy)return v;const S=ws(x.mainHierarchy,x.codelists,f.id??"",C,w),y=new Map(v);return y.set(g,{...x,treeNodes:S}),y})},[e,t]),a=c.useCallback(async f=>{if(!s)return;const p=e(f);if(!p)return;const g=Ke(f);if(g){l(w=>{const C=new Map(w),v=w.get(g)??ut;return C.set(g,{...v,isLoading:!0}),C});try{const w=await s(p,n?.(f)),C=ol(w?.data?.hierarchies??[]);l(v=>{const x=new Map(v),S=v.get(g)??ut;return x.set(g,{...S,availableHierarchies:C,isLoading:!1}),x})}catch{l(w=>{const C=new Map(w),v=w.get(g)??ut;return C.set(g,{...v,isLoading:!1}),C})}}},[s,e,n]),u=c.useCallback(async(f,p)=>{if(!o)return;const g=Ke(f);if(!g)return;const w=e(f);l(C=>{const v=new Map(C),x=C.get(g)??ut;return v.set(g,{...x,isLoading:!0}),v});try{const C=Ss(p),v=await o(C,w),x=v?.data?.hierarchies?.find(T=>Ss(T)===C);if(!x){l(T=>{const N=new Map(T),M=T.get(g)??ut;return N.set(g,{...M,selectedHierarchy:p,mainHierarchy:null,treeNodes:[],isLoading:!1}),N});return}const S=b.resolveCodelistsFromResponse(v?.data),y=ws(x,S,f.id??"",t(f),w);l(T=>{const N=new Map(T),M=T.get(g)??ut;return N.set(g,{...M,selectedHierarchy:p,mainHierarchy:x,codelists:S,treeNodes:y,isLoading:!1}),N})}catch{l(C=>{const v=new Map(C),x=C.get(g)??ut;return v.set(g,{...x,isLoading:!1}),v})}},[o,e,t]),m=c.useCallback((f,p)=>{if(!f)return;const g=Ke(f);if(g){if(!p){l(w=>{const C=new Map(w),v=w.get(g)??ut;return C.set(g,{...v,selectedHierarchy:null,mainHierarchy:null,treeNodes:[]}),C});return}u(f,p)}},[u]),h=c.useCallback((f,p)=>{l(g=>{const w=g.get(f);if(!w?.treeNodes)return g;const C=new Map(g);return C.set(f,{...w,treeNodes:di(w.treeNodes,p)}),C})},[]);return{hierarchyStateMap:r,rebuildHierarchyTree:d,loadAvailableHierarchies:a,onSelectHierarchy:m,onExpandHierarchyNode:h}},_l=(e,t,n,s,o)=>{const r=new Set;if(!t||e.isTimeDimension)return r;const l=e.dimensionValues?.filter(m=>m.isSelectedValue)??[];if(!l.length)return r;const d=b.findCodelistByDimension(n?.codelists,n?.conceptSchemes,t);if(!d?.codes?.length)return r;const a=new Set(d.codes.map(m=>m.id)),u=new Set(b.getAvailableCodesFromConstrains(d.codes,t.id,s,o).map(m=>m.id));return l.forEach(m=>{a.has(m.id)&&!u.has(m.id)&&r.add(m.id)}),r},Ii=(e,t,n,s,o,r)=>{let l=!1;const d=e.map(a=>{if(a.isTimeDimension||o&&a.id===o)return a;const u=t?.find(h=>h.id===a.id),m=_l(a,u,n,s,r);return m.size?(l=!0,{...a,dimensionValues:a.dimensionValues?.map(h=>m.has(h.id)?{...h,isSelectedValue:!1}:h)}):a});return{filters:l?d:e,changed:l}},Vl=(e,t,n,s,o,r)=>Ii(e,t,n,s,o?.id,r),Ol=(e,t,n,s,o)=>{let r=!1;const l=new Map;return e.forEach((d,a)=>{const u=n?.filterType==="shared"?Vn(n,a,o):n?.datasetUrn===a?n.id:void 0,m=Ii(d,t?.dimensionsMap?.get(a),t?.structuresMap?.get(a),t?.constraintsMap?.get(a),u,s);r=r||m.changed,l.set(a,m.filters)}),{filtersMap:r?l:e,changed:r}},kl=new Set,Ul=({actions:e,dimensions:t,structureDimensions:n,structures:s,buttonProps:o,modalProps:r,attachmentsDataQuery:l,dataQueries:d,initialConstraints:a,onFiltersChange:u,locale:m,timeRangeOptions:h,conversationKey:f,conversation:p,setConversation:g,updateConversation:w,updateDataQueries:C,limitMessages:v,filterIconClassName:x})=>{const{titles:S}=we(),{modalState:y,setModalState:T,isModalClosed:N,setIsModalClosed:M}=Di(),[D,A]=c.useState([]),[I,j]=c.useState([]),[L,B]=c.useState(),[G,z]=c.useState([]),[$,Q]=c.useState(void 0),_=c.useRef(a||[]),[Y,q]=c.useState([]),[X,ne]=c.useState(),[pe,ve]=c.useState(),[De,V]=c.useState(!1),P=c.useRef(0),ce=c.useRef(!1),de=c.useCallback(()=>{P.current+=1,P.current===1&&V(!0)},[]),le=c.useCallback(()=>{P.current=Math.max(P.current-1,0),P.current===0&&V(!1)},[]),je=c.useCallback(Z=>{const fe=t?.find(ze=>ze.id===Z.id);if(!fe)return;const se=b.getKeyFromUrn(fe.localRepresentation?.enumeration);if(se)return se;const ae=b.findCodelistByDimension(s?.codelists,s?.conceptSchemes,fe);return ae?b.getKeyFromUrn(ae.urn)??b.generateShortUrn(ae.id,ae.version,ae.agencyID):void 0},[t,s?.codelists,s?.conceptSchemes]),{hierarchyStateMap:Te,rebuildHierarchyTree:O,loadAvailableHierarchies:U,onSelectHierarchy:oe,onExpandHierarchyNode:ie}=Ni({getCodelistUrnForFilter:je,getConstraintsForFilter:()=>_.current,getSourceArtefactUrn:Z=>gi(Z.id,s),getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),me=Z=>{const fe=Z?D.map(se=>_e(se,Z)?Z:se):D;ve(!0),A(Jt(fe)),ne?.(!0),ue(Z?.isTimeDimension?Xt(fe,Z):fe,A,ne,Z)};c.useEffect(()=>{y===E.PopUpState.Closed&&q(_.current)},[y]);const ue=c.useCallback((Z,fe,se,ae)=>{const ze=l?.urn??"",k=Nt(yn(Z).filter(F=>F.componentCode!==b.TIME_PERIOD)),H=et(ze,k),ee=!!e?.getConstraints&&!En(e.getConstraints,H);ee&&de(),(e?nt(e.getConstraints,H,()=>e.getConstraints(ze,k)):Promise.resolve(void 0)).then(F=>{const W=F?.data?.dataConstraints||[];if(ae){const{filters:Fe,changed:xe}=Vl(Z,t,s,W,ae,m);if(xe){_.current=W,se?.(!0),ve(!0),ue(Fe,fe,se,ae);return}}const te=Gt(Z,t,s,W,m);if(_.current=W,se?.(!1),fe(te),ae){const Fe=te.find(xe=>_e(xe,ae));B(xe=>xe&&Fe&&_e(xe,ae)?{...Fe,isSelectedFilter:!0}:xe),O(ae,W)}}).catch(()=>{const F=Gt(Z,t,s,[],m);if(_.current=[],se?.(!1),fe(F),ae){const W=F.find(te=>_e(te,ae));B(te=>te&&W&&_e(te,ae)?{...W,isSelectedFilter:!0}:te)}}).finally(()=>{ve(!1),ee&&le()})},[e,l?.urn,t,le,m,O,de,s]);c.useEffect(()=>{const Z=bo(t,s,n,m),fe=t?.map(ae=>{const ze=b.findCodelistByDimension(s?.codelists,s?.conceptSchemes,ae),k=b.getAvailableCodesFromConstrains(ze?.codes,ae.id,_.current,m);return{...ae,dimensionValues:k}}),se=Z.map(ae=>{const ze=fe?.find(k=>k.id===ae.id)?.dimensionValues||[];return{...ae,dimensionValues:ze}});if(!ce.current){if(!s)return;const ae=No(se,l,_.current);ne?.(!0),ue(ae,j,ne),ce.current=!0}},[t,n,s,l,m,a,ue]),c.useEffect(()=>{I?.length&&z(sn(I))},[I]),c.useEffect(()=>{A(Z=>Xt(Z,L))},[L]),c.useEffect(()=>{if(y===E.PopUpState.Opened){const Z=I.find(fe=>!fe.isTimeDimension);B(Z?{...Z,isSelectedFilter:!0}:void 0),A(I)}y===E.PopUpState.Closed&&B(void 0)},[I,y]),c.useEffect(()=>{if(!L||L.isTimeDimension)return;const Z=Ke(L);if(!Z)return;Te.get(Z)||U(L)},[L,Te,U]),c.useEffect(()=>{y===E.PopUpState.Opened&&I.forEach(Z=>{if(Z.isTimeDimension)return;const fe=Ke(Z);fe&&!Te.has(fe)&&U(Z)})},[y,I,Te,U]);const re=c.useCallback(async Z=>{const fe=ko(Z),se=p?{...p,messages:Mi(p?.messages,d,void 0,fe,l)}:null;g?.(se),C?.(Pl(d,void 0,fe,l)),await w(decodeURI(f),{name:se?.name,messages:se?.messages||[]})},[l,p,f,d,g,w,C]),Le=c.useCallback((Z,fe)=>{A(se=>Do(se,Z,fe)),_e(L,Z)&&B(se=>se&&{...se,displayMode:fe})},[L]),ye=c.useCallback(Z=>_o(Z,t),[t]),ge=c.useMemo(()=>vn(ye(D),ye(I)),[D,I,ye]),Ie=c.useCallback((Z,fe)=>{const se=Gt(fe,t,s,Z,m);_.current=Z,B(ae=>se?.find(ze=>_e(ze,ae))||ae),A(se),ve(!1)},[t,m,s]),Ce=c.useCallback(Z=>{ve(!0),A(Jt(Z));const fe=l?.urn??"",se=Nt(yn(Z).filter(H=>H.componentCode!==b.TIME_PERIOD)),ae=et(fe,se),ze=!!e?.getConstraints&&!En(e.getConstraints,ae);ze&&de(),(e?nt(e.getConstraints,ae,()=>e.getConstraints(fe,se)):Promise.resolve(void 0)).then(H=>{Ie(H?.data?.dataConstraints||[],Z)}).catch(()=>{Ie([],Z)}).finally(()=>{ze&&le()})},[e,l?.urn,le,de,Ie]),Pe=c.useCallback(Z=>{const fe=To(D,Z);Ce(fe)},[Ce,D]),ke=c.useCallback(()=>{_.current=Y,T(E.PopUpState.Closed),M(!0)},[Y,T,M]),$e=c.useCallback(()=>{const Z=Mo(D);Ce(Z)},[Ce,D]),Re=c.useCallback(()=>{const Z=ye(D);u?.(Z,_.current,D),j(D),T(E.PopUpState.Closed),M(!0),c.startTransition(()=>{re(D)})},[ye,D,u,re,_,T,M]),Ue=Z=>{Q(Z)},He=Number(b.getTimeSeriesCount(_?.current?.[0]?.annotations)),st=X||pe||ge;return i.jsxs("div",{className:"filters-container",children:[i.jsx(vi,{buttonProps:o,selectedFiltersCount:Pn(G),isLoading:X,setModalState:T,isModalClosed:N,warningIcon:v?.warningIcon,filterIconClassName:x,timeSeriesCount:He}),i.jsx(i.Fragment,{children:y===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:S?.settings||"Settings",portalId:"filters",size:E.PopUpSize.LG,containerClassName:"advanced-view-filters-modal h-[80%]",dividers:r?.isShowDividers,onClose:ke,closeButtonTitle:S?.close||"Close",children:[i.jsx(pi,{locale:m,timeRangeOptions:h,filtersList:D,selectedFilter:L,isDisableValues:pe,isValuesLoading:De,modalProps:r,initialConstraints:a,timeSeriesCount:`${He}`,setSelectedFilter:B,onSelectDisplayMode:Le,onDeleteFilter:Pe,onClearAllFilters:$e,updateSelectedFilterValues:me,onTimePeriodChange:Ue,selectedTimeOption:$,hierarchyStateMap:Te,onSelectHierarchy:oe,onExpandHierarchyNode:ie,dataQueries:l?[l]:void 0,disabledDatasetUrns:kl,onToggleDataset:()=>{},onClearAllDatasets:()=>{}}),i.jsx(Ci,{onApply:Re,onClose:ke,onClearAllFilters:$e,modalProps:r,applyDisabled:st,timeseriesLength:He,limitMessages:v})]})})]})},Cn=({setToTitle:e,datasetName:t,datasetIcon:n,isShowDatasetDetails:s,queryFilterDetails:o})=>i.jsx("div",{children:o?.map(r=>i.jsxs("div",{className:"body-1 mb-2 flex flex-wrap items-center gap-1",children:[i.jsxs("span",{children:[r?.title,i.jsx("span",{children:e??" set to "}),i.jsx("span",{className:"font-bold",children:r?.valuesTitles?.join(", ")})]}),t&&s&&i.jsxs("span",{className:"attachment-dataset-name caption !mb-0 inline-flex items-center",children:[i.jsx("span",{className:"attachment-dataset-icon mr-1",children:n}),t]})]},r?.title))}),Hl=({titles:e,attachmentInfoList:t,datasetIcon:n,dataQueries:s})=>{const{isCrossDatasetModeOn:o}=Ge(),{sharedFilterDetails:r,perDatasetInfoList:l}=c.useMemo(()=>{if(!o)return{sharedFilterDetails:[],perDatasetInfoList:[]};const u=new Map,m=[];return t?.forEach(h=>{const f=[];h.queryFiltersDetails?.forEach(p=>{if(Ia.has(p.id)){const g=u.get(p.id);g?u.set(p.id,{...g,valuesTitles:Array.from(new Set([...g.valuesTitles||[],...p.valuesTitles||[]]))}):u.set(p.id,{...p})}else p.valuesTitles?.length&&f.push(p)}),f.length&&m.push({...h,queryFiltersDetails:f})}),{sharedFilterDetails:Array.from(u.values()),perDatasetInfoList:m}},[o,t]),d=s?.some(u=>u.disabled)??!1,a=t?.map(u=>u.datasetName).filter(Boolean)??[];return i.jsxs("div",{className:"attachment-details flex flex-col",children:[i.jsx("p",{className:K("body-1",(t&&t.length<=1||o&&r.length>0)&&"mb-2"),children:e?.queryUpdatedManuallyTitle??"Query has been updated manually."}),d&&a.length>0&&i.jsxs("div",{className:"body-1 mb-2 flex flex-wrap items-center gap-1",children:[i.jsxs("span",{children:[e?.datasetLabel??"Dataset",e?.setToTitle??" set to "]}),a.map(u=>i.jsxs("span",{className:"attachment-dataset-name caption !mb-0 inline-flex items-center",children:[i.jsx("span",{className:"attachment-dataset-icon mr-1",children:n}),u]},u))]}),o?i.jsxs(i.Fragment,{children:[r.length>0&&i.jsx(Cn,{setToTitle:e?.setToTitle,queryFilterDetails:r}),l.map(u=>i.jsx(Cn,{setToTitle:e?.setToTitle,datasetName:u.datasetName,datasetIcon:n,isShowDatasetDetails:!0,queryFilterDetails:u.queryFiltersDetails},u.datasetName))]}):t?.map(u=>!!u?.queryFiltersDetails?.length&&i.jsx(Cn,{setToTitle:e?.setToTitle,datasetName:u?.datasetName,datasetIcon:n,isShowDatasetDetails:t?.length>1,queryFilterDetails:u?.queryFiltersDetails},u?.datasetName))]})},Bl=({icon:e,title:t})=>i.jsx("div",{className:K("px-3 py-4 rounded border mt-3","attachment-collapsed"),children:i.jsxs("p",{className:K("flex body-3 items-center"),children:[e,i.jsxs("span",{className:"ml-2",children:[" ",t]})]})}),Gl=e=>Me.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Me.createElement("circle",{cx:32,cy:12,r:10,fill:"white"})),zl=e=>Me.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Me.createElement("circle",{cx:12,cy:12,r:10,fill:"white"})),ys=[{value:b.SdmxDataFormat.JSON,title:"SDMX-JSON"},{value:b.SdmxDataFormat.XML,title:"SDMX-ML (XML)"},{value:b.SdmxDataFormat.CSV,title:"SDMX-CSV"}],$l=e=>[{value:b.FileColumnsAttribute.ID,title:e?.idOptions||"ID",description:e?.idOptionsDescription},{value:b.FileColumnsAttribute.NAME,title:e?.nameOptions||"Name",description:e?.nameOptionsDescription},{value:b.FileColumnsAttribute.ID_NAME,title:e?.idAndNameOptions||"Combined ID and Name",description:e?.idAndNameOptionsDescription}],Es=({title:e,items:t,selectedValue:n,setSelectedValue:s,infoMessage:o,collapsible:r=!0})=>{const l=i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex flex-col gap-y-1",children:t.map(d=>i.jsx("div",{className:"flex flex-col",children:i.jsx(E.Radio,{id:d.value,checked:n.value===d.value,label:d.title,description:d.description,onChange:()=>{s(d)},radioIcon:i.jsx(Be.IconCircleFilled,{className:"size-3"})},d.value)},d.value))}),o]});return r?i.jsx(E.CollapsibleBlock,{title:e,value:n.title,children:l}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:e})}),i.jsx("div",{className:"pb-4",children:l})]})},Wl=({title:e,items:t,selectedUrns:n,onToggle:s,collapsible:o=!0,rowsLabel:r="rows"})=>{const l=i.jsx("div",{className:"flex flex-col",children:t.map(d=>i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("div",{className:"min-w-0 flex-1",children:i.jsx(E.Checkbox,{id:d.urn,label:d.name,checked:n.has(d.urn),onChange:s})}),i.jsxs("span",{className:"download-row-count",children:[d.rowCount," ",r]})]},d.urn))});return o?i.jsx(E.CollapsibleBlock,{title:e,children:l}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:e})}),i.jsx("div",{className:"pb-4",children:l})]})},Kl=e=>{const t=e.metadata?.keyDimensionIdsInDsdOrder,n=e.metadata?.timePeriodDimension;if(!t?.length)return null;const s=t.map(r=>{const l=e.filters?.find(d=>d.componentCode===r);return l?.values?.length?l.values.join(b.GET_v3_FILTER_OR):"*"}).join("."),o=n?b.getTimeQueryFilter(e,{id:n}):null;return{filterKey:s,timeFilter:o}},Yl=(e,t,n,s)=>{if(t&&e===b.DownloadType.DATA_IN_TABLE){const l=Kl(t);if(l)return l}if(s?.filterKey&&e===b.DownloadType.DATA_IN_TABLE)return s;let o=null,r=null;return t&&n&&e===b.DownloadType.DATA_IN_TABLE&&(o=b.getTimeSeriesFilterKey(n,t.filters??[]),r=b.getTimeQueryFilter(t,b.getTimeDimension(n))),{filterKey:o,timeFilter:r}},ql=({dataQuery:e,datasetName:t,onCloseModal:n,type:s=b.DownloadType.FULL_DATASET,locale:o=J.Locale.EN,dimensions:r,filters:l,urn:d,titles:a,collapsible:u=!0,downloadDatasets:m,rowCount:h,isDownloadInProgress:f=!1,onDownloadStart:p,limitMessages:g,showLimitMessage:w,externalLink:C})=>{const v=$l(a),[x,S]=c.useState(ys[0]),[y,T]=c.useState(v[0]),[N,M]=c.useState(!0),[D,A]=c.useState(()=>new Set(m?.map(z=>z.urn)??[])),I=c.useRef(!1);c.useEffect(()=>{A(new Set(m?.map(z=>z.urn)??[]))},[m]);const j=c.useCallback(z=>{A($=>{const Q=new Set($);return Q.has(z)?Q.delete(z):Q.add(z),Q})},[]),L=m!==void 0&&(m.length===0||D.size===0),B=c.useCallback(()=>{if(I.current)return;const z=x.value,$=(q,X,ne,pe)=>({dataQuery:q,urn:X,name:ne,rowCount:pe,fileName:`${ne}.${z}`,filters:Yl(s,q,r,l)}),_={items:m&&m.length>0?m.filter(q=>D.has(q.urn)).map(q=>$(q.dataQuery,q.urn,q.name,q.rowCount)):[$(e,e?.urn||d||"",t||e?.urn||d||"",h??0)],dataFormat:z,dataFormatTitle:x.title,attribute:y.value,language:o,isMetadata:N};if(!p(_)){I.current=!1;return}I.current=!0,n()},[x.value,x.title,y.value,m,D,e,d,t,h,s,r,l,o,N,p,n]),G=i.jsxs("div",{className:K("download-metadata flex cursor-pointer gap-4",{"download-metadata-active":N}),children:[N?i.jsx(Gl,{width:44,height:24,className:"text-primary",onClick:()=>M(!N)}):i.jsx(zl,{width:44,height:24,className:"text-neutrals-500",onClick:()=>M(!N)}),i.jsx("div",{children:a?.includeMetadata||"Include Metadata"})]});return i.jsxs(E.Popup,{heading:i.jsx("p",{className:"download-heading h2",children:a?.download||"Download"}),portalId:"filters",size:E.PopUpSize.LG,containerClassName:"download-popup h-[80%]",dividers:!1,onClose:n,closeButtonTitle:a?.close||"Close",children:[!m&&w&&i.jsx("div",{className:"download-info flex flex-col gap-1 px-6 pt-5",children:i.jsx(E.RequestLimitMessage,{limitMessages:g,isDownload:!0,query:C})}),i.jsxs("div",{className:"download-settings flex flex-col overflow-auto p-6",children:[i.jsx(Es,{title:a?.dataFormat||"Data Format",selectedValue:x,setSelectedValue:S,items:ys,collapsible:u,infoMessage:i.jsx(E.DownloadFormatMessage,{limitMessages:g,query:C})}),x.value===b.SdmxDataFormat.CSV&&i.jsx(Es,{title:a?.attributes||"Attributes",selectedValue:y,setSelectedValue:T,items:v,collapsible:u}),m&&i.jsxs(i.Fragment,{children:[i.jsx(Wl,{title:a?.datasetsToDownload||"Datasets to download",items:m,selectedUrns:D,onToggle:j,collapsible:u,rowsLabel:a?.rows||"rows"}),D.size>1&&i.jsxs(E.InlineAlert,{type:E.InlineAlertType.Note,children:[i.jsx("span",{className:"font-bold",children:a?.filesWillBeDownloaded?.(D.size)??`${D.size} files will be downloaded`})," ",a?.oneFilePerDataset??"- one file per selected dataset."]})]}),u?i.jsx(E.CollapsibleBlock,{title:a?.metadata||"Metadata",value:N?a?.all||"Included":a?.none||"Not included",children:G}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:a?.metadata||"Metadata"})}),i.jsx("div",{className:"pb-4",children:G})]})]}),i.jsxs("div",{className:"download-button mt-auto flex items-center gap-x-3 p-6",children:[a?.cancel&&i.jsx(E.Button,{buttonClassName:"text-button-tertiary",title:a.cancel,onClick:n}),i.jsx(E.Button,{buttonClassName:"text-button-primary",title:a?.download||"Download",disabled:L||f,onClick:B})]})]})},Zl=({id:e,title:t,version:n,agency:s,isActive:o,isSingleTab:r,onSelectDataset:l})=>i.jsx("div",{className:K("dataset-tab truncate last:mr-4",o?"dataset-tab-active":"border-b-transparent",r?"dataset-tab-single cursor-default":"cursor-pointer"),title:t,onClick:()=>{r||l(b.generateShortUrn(e,n,s))},children:i.jsx("h3",{className:"dataset-tab-title truncate",title:t,children:t})}),Xl=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})=>{const{isOpenedAdvancedView:o}=We(),[r,l]=c.useState();c.useEffect(()=>{if(!n&&!r&&e?.[0]){const a=b.generateShortUrn(e[0].id,e[0].version,e[0].agencyID);l(a),s?.(a)}else n&&n!==r&&(l(n),s?.(n))},[e,s,n,r]);const d=c.useCallback(a=>{l(a),s?.(a)},[s]);return i.jsx("div",{className:K("dataset-tabs flex w-full items-center justify-between",o&&"hide-advance-button"),children:i.jsx("div",{className:"flex w-full items-center gap-4 overflow-y-auto sm:w-[calc(100%-30px)]",children:e?.map(a=>i.jsx(Zl,{id:a?.id,title:b.getLocalizedName(a,t||J.Locale.EN),version:a?.version,agency:a?.agencyID,isActive:e?.length>1&&r===b.generateShortUrn(a?.id,a?.version,a?.agencyID),isSingleTab:e?.length===1,onSelectDataset:d},a?.id))})})},Jl=3,Ql=({datasets:e,locale:t})=>{const{isOpenedAdvancedView:n}=We(),s=c.useMemo(()=>(e||[]).map(d=>({urn:b.generateShortUrn(d?.id,d?.version,d?.agencyID),title:b.getLocalizedName(d,t||J.Locale.EN)})),[e,t]),o=c.useMemo(()=>s.slice(0,Jl),[s]),r=Math.max(s.length-o.length,0),l=s.filter(d=>!o.some(a=>a.urn===d.urn)).map(d=>d.title).join(`
7
- `);return i.jsx("div",{className:K("cross-dataset-tabs flex w-full items-center justify-between",n&&"hide-advance-button"),children:i.jsxs("div",{className:"cross-dataset-tabs-list sm:w-[calc(100%-30px)]",children:[o.map((d,a)=>i.jsxs("span",{className:"cross-dataset-tabs-item-wrapper",children:[i.jsx("span",{className:"cross-dataset-tabs-item",title:d.title,children:d.title}),a<o.length-1&&i.jsx("span",{className:"cross-dataset-tabs-separator","aria-hidden":"true"})]},d.urn)),r>0&&i.jsxs("span",{className:"cross-dataset-tabs-counter",title:l,children:["+",r]})]})})},Ai=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})=>{const{isCrossDatasetModeOn:o}=Ge();return o?i.jsx(Ql,{datasets:e,locale:t}):i.jsx(Xl,{datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})},Ts=(e,t)=>{const n=t?.get(e?.urn),s=n?.conceptSchemes||[],o=n?.codelists||[],r=b.getDimensions(n),l=[...r?.dimensions||[],...r?.timeDimensions||[]];return{structures:n,conceptSchemes:s,codelists:o,dimensions:l}},ec=(e,t,n,s,o)=>{const r=t?.filter(d=>!d.disabled)??[],l=new Map;return r?.forEach(d=>{const{conceptSchemes:a,codelists:u,dimensions:m}=Ts(d,n);xn((d?.filters??[]).filter(h=>h.operator!==J.QueryFilterType.EXCLUDED),d?.urn,m,a,u,s,o).forEach(h=>{if(h.valuesTitles?.length){const f=l.get(h.id)??[];l.set(h.id,Array.from(new Set([...f,...h.valuesTitles])))}})}),r?.map(d=>{const a=e?.find(w=>w?.urn===d?.urn),{structures:u,conceptSchemes:m,codelists:h,dimensions:f}=Ts(d,n),g=tc(xn(a?.filters||[],d?.urn,f,m,h,s,o),xn(d?.filters??[],d?.urn,f,m,h,s,o)).map(w=>{if(w.valuesTitles?.length)return w;const C=l.get(w.id);return C?.length?{...w,valuesTitles:C}:null}).filter(w=>w!==null);return{datasetName:b.getLocalizedName(u?.dataflows?.[0],s),queryFiltersDetails:g}})},tc=(e,t)=>{const n=new Map(e?.map(s=>[s?.id,s]));return t?.filter(s=>!jn.isEqual(n?.get(s?.id)?.valuesTitles?.sort(),s?.valuesTitles?.sort()))||[]},xn=(e,t,n,s,o,r,l)=>e?.map(d=>{const a=n.find(h=>h?.id===d?.componentCode),u=b.getConcept(a?.conceptIdentity||"",s),m=b.findCodelistByDimension(o,s,a);return{id:Pa(t,d?.componentCode,l)??d?.componentCode,title:b.getLocalizedName(u,r),valuesTitles:d?.operator===J.QueryFilterType.BETWEEN?[`${Zt(J.getTimePeriod(d?.values?.[0]),r)} - ${Zt(J.getTimePeriod(d?.values?.[1]),r)}`]:d?.values?.map(h=>b.getLocalizedName(m?.codes?.find(f=>f?.id===h),r)||h)}}),nc=(e,t,n)=>{let s="",o="";if(e?.timeFilter){const l=decodeURIComponent(e.timeFilter||"")?.split(":");s=l[1]||"",o=l[3]||""}else if(t){const l=t?.filters?.find(d=>d.componentCode===b.TIME_PERIOD);s=l?.values?.[0]||"",o=l?.values?.[1]||""}return`&filter=${e?.filterKey||b.getTimeSeriesFilterKey(n||[],t?.filters||[])}&startPeriod=${s}&endPeriod=${o}`},Nn=(e,t,n,s)=>{const o=n?.metadata?.datasetUrl;if(!o)return"";const r=e?nc(t,n,s):"";return o+r},ji=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M2.33325 12.3267L6.33325 8.32001L8.99992 10.9867L14.6666 4.61334L13.7266 3.67334L8.99992 8.98667L6.33325 6.32001L1.33325 11.3267L2.33325 12.3267Z",fill:"currentColor"})),sc=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.50644 4.00043L1.97857 7.52207L1.5 7.99979L1.97857 8.47751L5.50644 11.9991L6.46019 11.0437L3.41088 7.99979L6.46019 4.95587L5.50644 4.00043ZM10.4918 4.00043L14.0197 7.52207L14.4983 7.99979L14.0197 8.47751L10.4918 11.9991L9.53809 11.0437L12.5874 7.99979L9.53809 4.95587L10.4918 4.00043Z",fill:"currentColor"})),oc=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M2.3999 4V12H13.5999V4H2.3999ZM5.7359 10.8H3.5999V5.2H5.7359V10.8ZM9.0639 10.8H6.9359V5.2H9.0719V10.8H9.0639ZM12.3999 10.8H10.2639V5.2H12.3999V10.8Z",fill:"currentColor"})),ic=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.18519 10.4815H7.18116C7.31033 10.9089 7.50501 11.3078 7.7535 11.6667H2.18519C1.53333 11.6667 1 11.1333 1 10.4815V2.18519C1 1.53333 1.53333 1 2.18519 1H10.4815C11.1333 1 11.6667 1.53333 11.6667 2.18519V5.02017C11.5296 5.00683 11.3906 5 11.25 5C10.9876 5 10.7307 5.02378 10.4815 5.06931V2.18519H2.18519V10.4815ZM7.69316 6.92288C7.99945 6.45568 8.39531 6.05248 8.85633 5.73769H3.37044V6.92288H7.69316ZM7 9.25C7 8.8544 7.05405 8.47143 7.15517 8.10807H3.37044V9.29326H7.00022L7 9.25ZM3.37044 4.5525H9.29636V3.36731H3.37044V4.5525ZM11.6624 10.9695C12.5981 10.8087 13.2264 9.91979 13.0656 8.98403C12.9049 8.04827 12.016 7.42002 11.0802 7.58078C10.1444 7.74155 9.51618 8.63046 9.67695 9.56621C9.83771 10.502 10.7266 11.1302 11.6624 10.9695ZM11.8656 12.1521C11.9243 12.142 11.9824 12.1303 12.0396 12.1168L14.5611 15.5477L15.5281 14.8371L13.1449 11.5944C13.9785 10.9558 14.4384 9.88763 14.2483 8.78085C13.9753 7.19192 12.4659 6.12513 10.877 6.39811C9.28808 6.67109 8.22129 8.18047 8.49428 9.7694C8.76726 11.3583 10.2766 12.4251 11.8656 12.1521Z",fill:"currentColor"})),rc=({attachment:e,index:t,selectedAttachmentIndex:n,onSelectedAttachmentChange:s,showTabIcon:o,dataGridTitle:r})=>{const{titles:l}=we(),d=c.useRef(null),[a,u]=c.useState(""),[m,h]=c.useState(""),[f,p]=c.useState(!1),{onboardingFileSchema:g,isShowOnboarding:w}=Ye(),C=c.useCallback((x,S="")=>o?Il(x)||Wt(x)?i.jsx(ji,{className:S}):rt(x)||mt(x)?i.jsx(oc,{className:S}):Un(x)?i.jsx(ic,{className:S}):Ei(x)||Bn(x)?i.jsx(sc,{className:S}):null:null,[o]),v=c.useCallback(x=>rt(x)?r||"Data Grid":x.title,[r]);return c.useEffect(()=>{if(w&&Wt(e)){const{title:x,description:S}=at(Oe.CHARTS,l);u(x),h(S)}},[e,l,w]),c.useEffect(()=>{if(Wt(e)&&w){const x=g?.lastDisplayedElement===Oe.CHARTS;p(x),x&&d?.current?.scrollIntoView({block:"end",behavior:"smooth"})}},[g?.lastDisplayedElement,e,w]),i.jsxs("div",{ref:d,className:K("cursor-pointer min-w-30","flex items-center gap-1","attachment-tab",n===t?"attachment-tab-active text-primary":""),onClick:()=>s(t),children:[C(e,"w-4 h-4"),i.jsx("h4",{className:"max-w-[130px] truncate",title:v(e),children:v(e)}),f&&i.jsx(lt,{reference:d,title:a,description:m})]},e.index||t)},ac=({attachments:e,...t})=>i.jsx("div",{className:"attachments-tabs flex w-fit flex-wrap items-center",children:e.map((n,s)=>i.jsx(rc,{attachment:n,index:s,...t},s))}),lc=({attachments:e,selectedAttachmentIndex:t,selectedAttachment:n,attachmentsStyles:s,externalLink:o,isExternalLinkIncludeFilters:r,limitMessages:l,onSelectedAttachmentChange:d,onDownloadClick:a,hideDownloadButton:u,showAdvancedView:m,onOpenAdvancedView:h,isTableSettingsOpen:f,onTableSettingsOpen:p})=>{const{isTableSettingsFeatureEnabled:g}=Ge(),{isOpenedAdvancedView:w}=We(),{titles:C}=we(),{onboardingFileSchema:v,isShowOnboarding:x}=Ye(),S=c.useRef(null),[y,T]=c.useState(""),[N,M]=c.useState(""),[D,A]=c.useState(!1);c.useEffect(()=>{if(x){const{title:z,description:$}=at(Oe.OPEN_ADVANCED_VIEW,C);T(z),M($)}},[C,x]),c.useEffect(()=>{if(x){const z=v?.lastDisplayedElement===Oe.OPEN_ADVANCED_VIEW;A(z),z&&S?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[v?.lastDisplayedElement,x]);const I=g&&!m&&!!p&&!!(n&&(rt(n)||mt(n))),j=!u&&!!n&&(rt(n)||mt(n)),L=!!m&&!w,B=w&&s?.hideDownloadIconInAdvancedView?void 0:s?.downloadIcon,G=!w&&s?.hideDownloadTextInConversationView?"":s?.downloadTitle??"";return i.jsxs("div",{className:"flex w-full min-w-0 items-center justify-between",children:[i.jsx(ac,{dataGridTitle:s?.dataGridTitle,attachments:e,selectedAttachmentIndex:t,showTabIcon:s?.showTabIcon,onSelectedAttachmentChange:d}),i.jsxs("div",{className:"attachments-buttons flex w-fit flex-wrap items-center justify-end gap-x-3",children:[n&&rt(n)&&r&&i.jsx("a",{href:o,target:"_blank",rel:"noreferrer",children:i.jsx(E.Button,{title:l?.dataExplorer||"Data explorer",buttonClassName:"text-button-tertiary small-icon-button [&>svg]:h-[16px] [&>svg]:w-[16px] whitespace-nowrap",iconBefore:l?.dataExplorerIcon})}),j&&i.jsx(E.Button,{title:G,buttonClassName:"text-button-tertiary small-icon-button !p-0 !h-6",textClassName:K("ml-1",s?.downloadButtonTextClassName),onClick:a,iconBefore:B}),j&&L&&i.jsx("span",{className:"advanced-view-button-divider","aria-hidden":"true"}),L&&i.jsx("div",{ref:S,children:i.jsx(E.Button,{title:s?.advancedViewTitle,buttonClassName:"advanced-view-button",textClassName:"ml-1 h4 md:hidden",iconBefore:s?.openAdvancedViewIcon,onClick:h})}),I&&i.jsx(E.Button,{disabled:f,buttonClassName:"text-button-tertiary !p-0 !h-6",textClassName:"ml-1 h4",iconBefore:s?.tableSettingsIcon??i.jsx(Be.IconSettings,{className:"size-4"}),title:s?.tableSettings||"Table settings",onClick:p}),n&&Bn(n)&&i.jsx(E.CopyButton,{title:s?.copyTitle,copiedTitle:s?.copiedTitle,tooltip:s?.copiedTooltip,hoverTooltip:s?.copyHoverTooltip,icon:s?.copyIcon,copiedIcon:s?.copiedIcon,onClick:()=>navigator.clipboard.writeText(n.data??"")})]}),D&&i.jsx(lt,{reference:S,title:y,description:N,onReferenceClick:h,shouldCloseTooltip:w})]})},cc=({downloadTitles:e,attachment:t,actions:n,className:s=""})=>{const o=t.url,[r,l]=c.useState(null);async function d(a){if(a==null)return;const u=await n.getFile(a);l(u)}return i.jsxs("div",{className:`rounded-lg border bg-white p-3 transition-colors ${s}`,children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("div",{className:"min-w-0 flex-1",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"body-2 truncate text-neutrals-800",title:t.title,children:t.title})})}),o&&i.jsx("div",{className:"shrink-0",children:i.jsx(E.Button,{title:e??"Download",onClick:()=>d(t.url),buttonClassName:"text-button-tertiary"})})]}),r&&i.jsx("div",{className:"mt-3",children:i.jsx("pre",{className:"overflow-x-auto rounded-md bg-white p-3",children:i.jsx("code",{children:JSON.stringify(r,null,2)})})})]})},Ri="json";function dc(e){return mc(e)?uc(e?.slice(Ri.length)):e}function uc(e){let t="";if(e)try{t=JSON.stringify(JSON.parse(e),null,2)}catch{t=e.toString()}return t}function mc(e){return e?.startsWith(Ri)||!1}const fc=({attachment:e,className:t=""})=>{const n=dc(e.data);return n?i.jsxs("div",{className:`attachment-json rounded-lg border bg-white ${t}`,children:[i.jsx("div",{className:"flex items-center justify-between rounded-t-lg border-b border-neutrals-200 bg-neutrals-100 px-3 py-2",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("h3",{className:"text-neutrals-900",children:e.title})})}),i.jsx("div",{className:"p-3",children:i.jsx("pre",{className:"max-h-96 overflow-auto whitespace-pre-wrap break-words text-neutrals-800",children:i.jsx("code",{children:n})})})]}):null},hc=e=>{try{const t=new URL(e);return["http:","https:","data:"].includes(t.protocol)}catch{return!1}},pc=e=>hc(e)?e:"",gc=e=>Me.createElement("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M11.3333 4.66667H8.66659V6.00001H11.3333C12.4333 6.00001 13.3333 6.9 13.3333 8C13.3333 9.1 12.4333 10 11.3333 10H8.66659V11.3333H11.3333C13.1733 11.3333 14.6666 9.84 14.6666 8C14.6666 6.16 13.1733 4.66667 11.3333 4.66667ZM7.33325 10H4.66659C3.56659 10 2.66659 9.1 2.66659 8C2.66659 6.9 3.56659 6.00001 4.66659 6.00001H7.33325V4.66667H4.66659C2.82659 4.66667 1.33325 6.16 1.33325 8C1.33325 9.84 2.82659 11.3333 4.66659 11.3333H7.33325V10ZM5.33325 7.33334H10.6666V8.66667H5.33325V7.33334Z",fill:"currentColor"})),Cc=({attachment:e,openLinkTitle:t,className:n=""})=>{const s=pc(e.data||"");if(!s)return null;const o=r=>{window.open(r,"_blank")?.focus()};return i.jsx("div",{className:`max-w-[500px] rounded-lg border bg-white py-3 pl-4 pr-3 ${n}`,children:i.jsxs("div",{className:"flex items-start gap-2",children:[i.jsx("span",{className:"mt-1 shrink-0 text-hues-800",role:"img","aria-label":"Link",children:i.jsx(gc,{width:16,height:16})}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsx("div",{className:"mb-1",children:i.jsx(E.Link,{url:s,title:e.title})}),i.jsx("div",{className:"truncate break-all text-neutrals-600",children:s})]}),i.jsx("div",{className:"shrink-0",children:i.jsx(E.Button,{title:t??"Open link",onClick:()=>o(s),buttonClassName:"text-button-tertiary"})})]})})},Li=({dimensionsInfo:e})=>i.jsx("div",{className:"sidebar flex min-h-0 w-[176px] flex-col gap-3 overflow-auto",children:e.map(t=>i.jsxs("div",{className:"flex flex-col",children:[i.jsx("h5",{className:"text-neutrals-800",children:t.title}),i.jsx("h5",{className:"font-bold",children:t.value})]},t.title))}),xc=({chart:e,isOpen:t,onClose:n,datasetTitle:s})=>{const{titles:o}=we(),[r,l]=c.useState(E.PopUpState.Closed);c.useEffect(()=>{l(t?E.PopUpState.Opened:E.PopUpState.Closed)},[t]);const d=c.useCallback(()=>{l(E.PopUpState.Closed),n?.()},[n]);return i.jsx(i.Fragment,{children:r===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:i.jsx("h1",{className:"single-chart-popup-heading",children:o?.chart??"Chart"}),containerClassName:"single-chart-popup h-[80%]",portalId:"single-chart",size:E.PopUpSize.LG,dividers:!1,onClose:d,closeButtonTitle:o?.close??"Close",children:[i.jsxs("div",{className:"single-chart-popup-content flex h-full min-h-0 flex-1 flex-row gap-4",children:[i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[s&&i.jsxs("div",{className:"mb-2 flex items-center gap-1",children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-1000"}),i.jsx("h4",{className:"text-neutrals-1000",children:s})]}),i.jsx(Ws,{option:e.config,className:"size-full",style:{width:"100%",height:"100%"}})]}),i.jsx(Li,{dimensionsInfo:e.dimensions})]}),i.jsx("div",{})]})})},Gn=e=>{const{titles:t}=we(),[n,s]=c.useState(!1),[o,r]=c.useState(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye(),{isCrossDatasetModeOn:w}=Ge(),[C,v]=c.useState(!1),x=c.useMemo(()=>Sc(e.value),[e.value]),S=c.useCallback(()=>{r(T=>T??x),s(!0)},[x]),y=c.useCallback(()=>{s(!1),v(!0)},[]);return c.useEffect(()=>{if(g){const{title:T,description:N}=at(Oe.CHART_PER_SERIES,t);a(T),m(N)}},[t,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Oe.CHART_PER_SERIES&&e.node.rowIndex===0)},[p?.lastDisplayedElement,e.node.rowIndex,g]),c.useEffect(()=>{r(void 0)},[e.value]),x&&!x.isPlottable?null:i.jsxs(i.Fragment,{children:[i.jsx("div",{ref:l,children:i.jsx(E.IconButton,{title:t?.chart??"Chart",buttonClassName:"!text-neutrals-1000 !border-none !p-1",icon:i.jsx(ji,{className:"size-5"}),onClick:S})}),h&&i.jsx(lt,{reference:l,title:d,description:u,onReferenceClick:S,shouldCloseTooltip:C}),n&&o&&i.jsx(xc,{chart:o,isOpen:n,onClose:y,datasetTitle:w?e.data?.datasetTitle??void 0:void 0})]})};function Sc(e){return typeof e=="function"?e():e}const Rt=32,rn=32,wc=16,ft="padding-0",bt=200,xt={flex:1,minWidth:bt},vc=Rt,an="observationValueCell",ln="metadataCell",Fi="chartCell",Pi="mergedDimensionCell",_i="datasetDetailCell",It="Chart_column",bc=(e,t,n,s,o,r)=>({headerName:"",suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ft,cellRenderer:ln,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,metadataSettings:s,titles:o,action:r}});function Vi(e,t,n,s=vc,o,r){return{headerName:"",field:It,colId:It,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:"right",width:s,maxWidth:s,minWidth:s,cellClass:ft,suppressColumnsToolPanel:!0,cellRenderer:Gn,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,titles:o,action:r}}}function Dc(e,t,n,s){return{headerName:"",suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ft,cellRenderer:ln,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:s}}}const In=["index","value"],yc=e=>({columns:Mc(e),data:Ec(e)}),Ec=e=>{const t=e.metadata.time_column,n={};for(const s of e.data.data){const{value:o,...r}=s,l=Tc(s,t);n[l]={...n[l]||{},...r,[s[t]]:o}}return Object.values(n)},Tc=(e,t)=>Object.keys(e).filter(n=>!In.includes(n)&&n!==t).map(n=>e[n]).join("."),Mc=e=>{const{metadata:t,data:n}=e,s=t.time_column,o=t.pinned_columns||[],r=n.schema.fields,l=[],d=n.data.map(f=>f[s]),u=Array.from(new Set(d)).filter(f=>f!=null).map(f=>({field:f,colId:f,headerName:f,cellClass:"text-right",width:bt})),m=o.map(f=>r.find(p=>p.name===f)).filter(f=>f!=null),h=r.filter(f=>!o.includes(f.name)).filter(f=>f!=null);if(m.length>0)for(const f of[...m])f.name===s||In.includes(f.name)||l.push({colId:f.name,field:f.name,headerName:f.name,pinned:"left",...xt,tooltipValueGetter:p=>p.value});for(const f of[...h])f.name===s||In.includes(f.name)||l.push({colId:f.name,field:f.name,headerName:f.name,pinned:!1,...xt,tooltipValueGetter:p=>p.value});return l.push(...u),l},zn=e=>e*rn+Rt+wc,Nc=({attachment:e,actions:t,className:n="",showLimitMessage:s})=>{const[o,r]=c.useState(!1),[l,d]=c.useState([]),[a,u]=c.useState(),[m,h]=c.useState(400);c.useEffect(()=>{e.url!=null&&(r(!0),t.getFile(e.url).then(p=>{if(p==null){d([]),u([]),r(!1);return}const{columns:g,data:w}=yc(p);d(w),u(g),r(!1)}))},[e.url,t]),c.useEffect(()=>{l?(h(zn(l.length)),s?.(l.length>=E.SERIES_LIMIT)):s?.(!1)},[l,s]);const f=c.useMemo(()=>i.jsx(Rn.AgGridReact,{headerHeight:Rt,rowHeight:rn,rowData:l,columnDefs:a,enableCellTextSelection:!0,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",autoSizeStrategy:{type:a&&a?.length>5?"fitCellContents":"fitGridWidth"}}),[l,a]);return o?i.jsx(E.Loader,{}):i.jsx("div",{className:`w-full ${n}`,children:i.jsx("div",{className:"ag-theme-quartz max-h-[400px] min-h-[80px] w-full",style:{height:m},children:f})})},Oi=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M7.4665 6.39967H8.53317V5.33301H7.4665V6.39967ZM7.4665 10.6663H8.53317V7.46634H7.4665V10.6663ZM7.9945 13.333C5.0505 13.333 2.6665 10.9437 2.6665 7.99967C2.6665 5.05567 5.0505 2.66634 7.9945 2.66634C10.9438 2.66634 13.3332 5.05567 13.3332 7.99967C13.3332 10.9437 10.9438 13.333 7.9945 13.333ZM7.99984 3.73301C5.6425 3.73301 3.73317 5.64234 3.73317 7.99967C3.73317 10.357 5.6425 12.2663 7.99984 12.2663C10.3572 12.2663 12.2665 10.357 12.2665 7.99967C12.2665 5.64234 10.3572 3.73301 7.99984 3.73301Z",fill:"currentColor"})),Ic=({title:e,value:t})=>{const n=c.useCallback(()=>Array.isArray(t)?t.join(", "):t,[t]);return i.jsxs("div",{className:"body-3 flex gap-x-3",children:[i.jsxs("p",{title:e,className:"text-neutrals-800",children:[e,":"]}),i.jsx("p",{title:n(),className:"truncate pr-3 font-semibold",children:n()})]})};function ki(e){const t=c.useRef(null),[n,s]=c.useState(!1),[o,r]=c.useState(!1),l=c.useCallback(()=>{const a=t.current;a&&r(a.scrollHeight>a.offsetHeight)},[]);c.useEffect(()=>{if(n)return;l();const a=t.current;if(!a||typeof ResizeObserver>"u")return;const u=new ResizeObserver(()=>l());return u.observe(a),()=>u.disconnect()},[n,e,l]);const d=c.useCallback(()=>s(a=>!a),[]);return{valueRef:t,isExpanded:n,canToggle:o,toggle:d}}const Ui=({isExpanded:e,onToggle:t,title:n})=>i.jsx(E.IconButton,{title:n,buttonClassName:K("border-none p-0 w-6 h-6 shrink-0",e&&"rotate-[180deg]"),isBaseIconStyles:!1,icon:i.jsx(Fn,{width:24,height:24}),onClick:t}),Ac=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:s,locale:o})=>{const r=c.useMemo(()=>Array.isArray(t)?t?.map(m=>typeof m=="object"?m?.[o]:m)?.join(", "):t,[o,t]),{valueRef:l,isExpanded:d,canToggle:a,toggle:u}=ki(r);return i.jsxs("div",{className:"metadata-item",children:[!s&&n?.map(m=>i.jsx("div",{title:m,className:"metadata-item-key mb-1 pr-3 text-neutrals-800",children:m},m)),i.jsxs("div",{className:K("flex items-center",a&&"justify-between"),children:[i.jsx("h2",{title:e,className:"metadata-item-title",children:e}),a&&i.jsx(Ui,{isExpanded:d,onToggle:u})]}),i.jsx("p",{title:r,className:K("metadata-item-value pr-3",!d&&"line-clamp-4"),ref:l,children:r})]})},jc=({metadata:e,metadataDescription:t=[],locale:n})=>{const{titles:s}=we();return i.jsxs("div",{className:"metadata-content h-full overflow-hidden",children:[t?.length>0&&i.jsx("div",{className:"metadata-description",children:t?.map(o=>i.jsx(Ic,{title:o?.title,value:o?.value},o?.title))}),i.jsx("div",{className:"metadata-list h-full overflow-y-auto",children:e&&e?.length>0?e?.map(o=>i.jsx(Ac,{title:o?.title,value:o?.value,locale:n,attachedKeysTitles:o?.attachedKeysTitles,isDimensionGroup:o?.isDimensionGroup},o?.id||o?.title)):i.jsx("div",{className:"metadata-empty flex h-full items-center justify-center text-neutrals-700",children:s?.noMetadata||"No metadata"})})]})},$n=({metadata:e,metadataDescription:t=[],isOpenMetadata:n,onCloseMetadata:s,locale:o})=>{const{titles:r}=we(),[l,d]=c.useState(E.PopUpState.Closed);c.useEffect(()=>{d(n?E.PopUpState.Opened:E.PopUpState.Closed)},[n]);const a=c.useCallback(()=>{d(E.PopUpState.Closed),s?.()},[s]);return i.jsx(i.Fragment,{children:l===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:i.jsx("h1",{className:"metadata-heading",children:r?.metadata||"Metadata"}),containerClassName:"metadata h-[80%]",portalId:"metadata",size:E.PopUpSize.LG,dividers:!1,onClose:a,closeButtonTitle:r?.close||"Close",children:[i.jsx(jc,{locale:o,metadata:e,metadataDescription:t}),i.jsx("div",{})]})})},it={dataset:"dataset",agency:"agency",lastUpdated:"lastUpdated"},Rc=({dataset:e,agency:t,lastUpdated:n,externalLink:s,formatValue:o})=>i.jsxs("div",{className:"mb-6 flex flex-col gap-2",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Be.IconDatabase,{className:"size-4 text-neutrals-700"}),i.jsx("p",{className:"h4 break-words text-neutrals-1000",children:o(e?.value)}),s&&i.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",children:i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})})]}),t&&i.jsxs("div",{className:"body-3 flex gap-1",children:[i.jsxs("span",{className:"text-neutrals-800",children:[t?.title,":"]}),i.jsx("span",{className:"break-words text-neutrals-1000",children:o(t?.value)})]}),n&&i.jsxs("div",{className:"body-3 flex gap-1",children:[i.jsxs("span",{className:"text-neutrals-800",children:[n?.title,":"]}),i.jsx("span",{className:"break-words text-neutrals-1000",children:o(n?.value)})]})]}),Lc=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:s})=>{const{valueRef:o,isExpanded:r,canToggle:l,toggle:d}=ki(t);return i.jsxs("div",{className:"flex flex-col gap-1",children:[!s&&n?.map((a,u)=>i.jsx("div",{title:a,className:"body-3 text-neutrals-800",children:a},`${a}-${u}`)),i.jsxs("div",{className:"flex items-center justify-between gap-2 pr-2",children:[i.jsx("p",{title:e,className:"body-3 text-neutrals-800",children:e}),l&&i.jsx(Ui,{isExpanded:r,onToggle:d})]}),i.jsx("p",{ref:o,title:t,className:K("body-2 break-words text-neutrals-1000",!r&&"line-clamp-4"),children:t})]})},Fc=new Set(Object.values(it)),Pc=", ",Lt=({metadata:e,metadataDescription:t=[],datasetInfo:n,externalLink:s,locale:o})=>{const{titles:r}=we(),l=c.useCallback(p=>Array.isArray(p)?p.map(g=>typeof g=="object"?g?.[o]??"":g).join(Pc):typeof p=="object"&&p!==null?p?.[o]??"":p??"",[o]),{dataset:d,agency:a,lastUpdated:u,hasStructuredDatasetInfo:m}=c.useMemo(()=>{const p=t.find(S=>S?.id===it.dataset),g=t.find(S=>S?.id===it.agency),w=t.find(S=>S?.id===it.lastUpdated),C=n?.dataset||p,v=n?.agency||g,x=n?.lastUpdated||w;return{dataset:C,agency:v,lastUpdated:x,hasStructuredDatasetInfo:!!C}},[n,t]),h=c.useMemo(()=>m?t.filter(p=>!p?.id||!Fc.has(p.id)):t,[m,t]),f=m||h.length>0||!!e?.length;return i.jsx("div",{className:"flex h-full flex-col overflow-hidden px-5 pb-4",children:f?i.jsxs(i.Fragment,{children:[m&&d&&i.jsx(Rc,{dataset:d,agency:a,lastUpdated:u,externalLink:s,formatValue:l}),h.length>0&&i.jsx("div",{className:"mb-4 flex flex-col gap-2",children:h.map((p,g)=>i.jsxs("div",{className:"body-3 flex gap-2",children:[i.jsxs("span",{className:"shrink-0 text-neutrals-800",children:[p?.title||p?.id,":"]}),i.jsx("span",{className:"min-w-0 truncate font-semibold text-neutrals-1000",children:l(p?.value)})]},`${p?.id||p?.title}-${g}`))}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:i.jsx("div",{className:"flex flex-col gap-4",children:e?.map(p=>i.jsx(Lc,{title:p?.title||p?.id,value:l(p?.value),attachedKeysTitles:p?.attachedKeysTitles,isDimensionGroup:p?.isDimensionGroup},p?.id||p?.title))})})]}):i.jsx("div",{className:"body-3 flex h-full items-center justify-center text-neutrals-700",children:r?.noMetadata||"No metadata"})})};function cn(e,t){const{externalLink:n,externalLinksMap:s}=e??{};return t!=null&&s!=null?s.get(t):n}const _c=e=>e?.data[e?.colDef?.field||0]?.obsAttributes,Vc=e=>e?.data?.attributes,Hi=(e,t)=>Object.entries(e?.data).filter(([n])=>t?.get(n)).map(([n,s])=>({name:n,value:String(s)})),Ms=(e,t,n)=>{const s=typeof e=="object"?e?.[t]:e;return n?b.getLocalizedName(n?.codes?.find(o=>o?.id===e),t)||"":s},At=(e,t,n)=>e?.map(s=>{const o=s?.name||"",r=t?.get(o),l=r?.codes?.length?r:void 0,d=Array.isArray(s?.value)?s?.value.map(a=>Ms(a,n,l)):Ms(s?.value,n,l);return{id:b.getLocalizedName(l,n)||s?.name,title:b.getLocalizedName(l||r,n),value:d||s?.value}})||[],Ft=(e,t,n)=>({title:n?.dataset||"Dataset",value:b.getLocalizedName(e,t)}),Oc=(e,t,n,s)=>[{...Ft(e,n,s),id:it.dataset},{id:it.agency,title:s?.agency??"Agency",value:e?.agencyID},{id:it.lastUpdated,title:s?.lastUpdated??"Last updated",value:t}],Pt=(e,t,n,s)=>({dataset:e?{...Ft(e,n,s),id:it.dataset}:void 0,agency:e?{id:it.agency,title:s?.agency??"Agency",value:e?.agencyID}:void 0,lastUpdated:e?{id:it.lastUpdated,title:s?.lastUpdated??"Last updated",value:t}:void 0}),Bi=(e,t,n)=>({title:b.getDimensionTitle(e?.conceptSchemes,b.getDimensions(e)?.timeDimensions?.[0],t),value:n?.colId||""}),Gi=(e,t)=>({title:t?.observation||"Observation",value:e}),zi=(e,t,n,s,o,r)=>{const l={title:s?.timeSeries||"Time Series",value:r?.originalData?.name};return n?[Bi(e,t,o),l,Gi(n,s)]:[l]},$i=e=>{const t=e?.dataSets?.[0]?.attributes||[],n=e?.structures?.[0]?.attributes?.dataSet||[];return t?.length?n.reduce((s,o,r)=>{const l=t[r];if(l==null)return s;if(o?.values?.length>0){const d=o.values[l];s.push(d?{...o,values:[d]}:{...o})}else Array.isArray(l)?s.push({...o,values:[{values:l}]}):s.push({...o,values:[{value:l}]});return s},[]):n},Ns=(e,t)=>{if(e==null)return;if(typeof e!="object")return String(e);const n=e,s=n[t];if(typeof s=="string")return s;const o=Object.values(n).find(r=>typeof r=="string");return typeof o=="string"?o:void 0},Wi=(e,t,n)=>e?.map(s=>{const o=s?.id,r=s?.values?.[0]?.value,l=(typeof r=="object"?Ns(r,n):r)||s?.values?.[0]?.id,d=s?.values?.[0]?.ids||s?.values?.[0]?.values,a=t?.get(o),u=a?.codes?.length?a:void 0,m=b.getLocalizedName(u?.codes?.find(f=>f?.id===l),n)||b.getLocalizedName(s?.values?.[0],n)||l,h=d&&d.map(f=>{const p=typeof f=="object"?Ns(f,n):String(f);return b.getLocalizedName(u?.codes?.find(g=>g?.id===p),n)||p}).filter(f=>f!=null);return{id:o,title:b.getLocalizedName(a,n)||o,value:h?.length?h:m}}).filter(({value:s})=>!!s)||[],kc=(e,t)=>{const n=e?.dataSets?.[0],o=e?.structures?.[0]?.attributes?.dimensionGroup||[],r=n?.dimensionGroupAttributes;return new Map(o.map(l=>{const d=l?.relationship?.dimensions,{codedSeriesKey:a,decodedSeriesKey:u}=Uc(e,t,d);return[l.id,{values:r?.[a]||[],decodedSeriesKey:u,codedSeriesKey:a}]}))},Uc=(e,t,n)=>{const s=e?.structures?.[0],o=[...s?.dimensions.series||[],...s?.dimensions.observation||[]],r=new Array(o?.length)?.fill(""),l=new Array(o?.length)?.fill("");return n&&n?.forEach(d=>{const a=o?.findIndex(h=>h?.id===d)||0,u=t[a],m=o[a]?.values?.findIndex(h=>h?.id===u||h?.value===u)||0;r[a]=m>=0?m:u,l[a]=u}),{codedSeriesKey:r?.join(":"),decodedSeriesKey:l?.join(":")}},Hc=(e,t)=>{if(t==null)return;const n=e?.values?.[t],s=typeof t=="object"&&!Array.isArray(t),o=Array.isArray(t);return n||(s||o?{values:t}:{value:t?.toString()})},Bc=e=>{const t=e?.value||e?.id,n=e?.values||e?.ids;return t!=null?[t]:n||[null]},Ki=(e,t,n)=>t==null?t:n?.get(e||"")?.codes?.find(o=>o?.id===t)?.name||t,Gc=(e,t,n,s=J.Locale.EN)=>{const o=n?.dataStructureComponents?.dimensionList,r=[...o?.dimensions||[],...o?.timeDimensions||[]],l=[];return(e?.split(":")||[])?.forEach((a,u)=>{if(a!==""){const m=r?.[u]?.id||"",h=b.getLocalizedName(t?.get(m),s),f=Ki(m,a,t);l.push(`${h}: ${f}`)}}),l},zc=(e,t,n,s,o=J.Locale.EN)=>{if(!e||!t||!s)return[];const r=e?.structures?.[0]?.attributes?.dimensionGroup||[],l=kc(e,s);return r?.map((d,a)=>{const u=l?.get(d?.id),m=n?.get(d?.id),h=Bc(Hc(d,u?.values?.[a]));return{id:d?.id,title:b.getLocalizedName(m,o),value:Array.isArray(h)?h?.map(f=>Ki(d?.id,f,n)||""):h,attachedKeysTitles:Gc(u?.decodedSeriesKey,n,t),isDimensionGroup:!0}})?.filter(({value:d})=>d?.some(a=>!!a))||[]},$c=Tr.extendTailwindMerge({extend:{classGroups:{typography:["h1","h2","h3","h4","h5","body-1","body-2","body-3","caption"]}}});function Ze(...e){return $c(K(...e))}function Wc({title:e,headerExtension:t,headerClassName:n,onClose:s,bodyClassName:o,panelClassName:r,children:l}){return i.jsxs("div",{className:Ze("h-full w-[362px] bg-white border-l border-neutrals-500 flex flex-col overflow-hidden",r),children:[i.jsxs("div",{className:Ze("flex justify-between px-5 py-6",n),children:[i.jsx("div",{className:"h2 text-neutrals-1000",children:e}),i.jsxs("div",{className:"flex items-center gap-2",children:[t,t&&i.jsx("div",{className:"h-3 w-px bg-neutrals-600"}),i.jsx("button",{type:"button",onClick:s,children:i.jsx(Be.IconX,{className:"size-5 text-neutrals-1000"})})]})]}),i.jsx("div",{className:Ze("flex-1 min-h-0 overflow-hidden",o),children:l})]})}const Yi=c.createContext(null);function Kc({children:e}){const[t,n]=c.useState(null),s=c.useCallback(d=>{n(d)},[]),o=c.useCallback(()=>{n(null)},[]),r=c.useCallback(d=>d?t?.id===d:t!==null,[t]),l=c.useMemo(()=>({panel:t,openPanel:s,closePanel:o,isPanelOpen:r}),[t,s,o,r]);return i.jsx(Yi.Provider,{value:l,children:e})}function qi(){return c.useContext(Yi)}function ht(){const e=qi();if(!e)return null;const{openPanel:t,closePanel:n,isPanelOpen:s}=e;return{openPanel:t,closePanel:n,isPanelOpen:s}}function Zi({scope:e}){const t=qi();if(!t)return null;const{panel:n,closePanel:s}=t;if(!n)return null;const o=n.scope??"any";return o!=="any"&&o!==e?null:i.jsx(Wc,{title:n.title,headerExtension:n.headerExtension,headerClassName:n.headerClassName,onClose:s,bodyClassName:n.bodyClassName,panelClassName:n.panelClassName,children:n.content})}const Yc=e=>e===J.Locale.UK?"dd MMM, yyyy":" MMM dd, yyyy hh:mm aa",_t=(e,t)=>{const n=Yc(t);return e!=null&&e!==""&&n&&es.isValid(new Date(e))?es.format(new Date(e),n,t===J.Locale.UK?{locale:Mr.uk}:void 0):""},Xi=e=>{const{titles:t}=we(),n="grid-metadata-side-panel",[s,o]=c.useState(!1),r=c.useRef(null),[l,d]=c.useState(""),[a,u]=c.useState(""),[m,h]=c.useState(!1),{onboardingFileSchema:f,isShowOnboarding:p}=Ye(),{isOpenedAdvancedView:g}=We(),w=ht(),{isMetadataInSidePanel:C}=Ge(),[v,x]=c.useState(!1),S=e?.data?.dataset?.urn,y=cn(e?.context,S),T=c.useMemo(()=>e.structuresMap?S!=null?e.structuresMap.get(S):void 0:e.dataSetData,[e.structuresMap,S,e.dataSetData]),N=c.useMemo(()=>e.attributesDataMap?S!=null?e.attributesDataMap.get(S):void 0:e.attributesData,[e.attributesDataMap,S,e.attributesData]),M=c.useMemo(()=>b.getStructureComponentsMap(T),[T]),D=c.useMemo(()=>[Ft(T?.dataflows?.[0],e?.locale,t),...At(Hi(e,M),M,e?.locale),...At(Vc(e),M,e?.locale),...zc(N,T?.dataStructures?.[0],M,e?.data?.originalData?.parsedTimeSeriesValue,e?.locale)],[e,T,N,M,t]),A=c.useMemo(()=>zi(T,e?.locale,e?.valueFormatted||e?.value,t,e?.colDef,e?.data),[e,T,t]),I=c.useMemo(()=>{const B=T?.dataflows?.[0],G=_t(b.getLastUpdatedTime(B),e?.locale);return Pt(B,G,e?.locale,t)},[T,e?.locale,t]),j=c.useCallback(()=>{if(C&&w){w.openPanel({id:n,scope:g?"advanced":"conversation",title:t?.timeseriesMetadataPanel||"Timeseries Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Lt,{locale:e?.locale,metadata:D,datasetInfo:I,externalLink:y,metadataDescription:e?.metadataSettings?.isMetadataDescription?A:[]})}),x(!0);return}o(!0)},[C,g,D,A,I,y,e?.locale,e?.metadataSettings?.isMetadataDescription,t,w]),L=c.useCallback(()=>{o(!1),x(!0)},[]);return c.useEffect(()=>{if(p){const{title:B,description:G}=at(Oe.METADATA_PER_SERIES,t);d(B),u(G)}},[t,p]),c.useEffect(()=>{if(p){const B=f?.lastDisplayedElement===Oe.METADATA_PER_SERIES&&e.node.rowIndex===0;h(B),B&&setTimeout(()=>{r?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[f?.lastDisplayedElement,e.node.rowIndex,p]),i.jsxs(i.Fragment,{children:[i.jsx("div",{ref:r,children:i.jsx(E.IconButton,{title:t?.metadata||"View details",buttonClassName:"!text-neutrals-1000 !border-none !p-1",icon:i.jsx(Oi,{className:"size-5"}),onClick:j})}),m&&i.jsx(lt,{reference:r,title:l,description:a,onReferenceClick:j,shouldCloseTooltip:v}),s&&i.jsx($n,{locale:e?.locale,metadata:D,metadataDescription:e?.metadataSettings?.isMetadataDescription?A:[],isOpenMetadata:s,onCloseMetadata:L})]})},qc=(e,t)=>{const n=Zc(e),s=b.getStructureComponentsMap(n),o=e?.valueFormatted||e?.value,r=At(t,s,e?.locale),l=[Ft(n?.dataflows?.[0],e?.locale,e?.titles),...At(Hi(e,s),s,e?.locale),...e?.metadataSettings?.isMetadataDescription?[]:[Bi(n,e?.locale,e?.colDef),Gi(o,e?.titles)],...r],d=e?.metadataSettings?.isMetadataDescription?zi(n,e?.locale,o,e?.titles,e?.colDef,e?.data):[],a=n?.dataflows?.[0],u=_t(b.getLastUpdatedTime(a),e?.locale),m=Pt(a,u,e?.locale,e?.titles);return{metadata:l,metadataDescription:d,sidePanelDatasetInfo:m}},Zc=e=>{if(e.structuresMap){const t=e?.data?.dataset?.urn;return t!=null?e.structuresMap.get(t):void 0}return e.dataSetData},Xc="observation-metadata-side-panel",Jc=({params:e,obsAttributes:t})=>{const{titles:n}=we(),[s,o]=c.useState(null),{isOpenedAdvancedView:r}=We(),l=ht(),{isMetadataInSidePanel:d}=Ge(),a=e?.data?.dataset?.urn,u=cn(e?.context,a),m=c.useCallback(()=>{const f=qc(e,t);if(d&&l){l.openPanel({id:Xc,scope:r?"advanced":"conversation",title:n?.metadata||"Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Lt,{locale:e?.locale,metadata:f.metadata,datasetInfo:f.sidePanelDatasetInfo,externalLink:u,metadataDescription:f.metadataDescription})});return}o(f)},[d,r,u,t,e,l,n]),h=c.useCallback(()=>{o(null)},[]);return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"relative size-full p-2 text-end",children:[e?.valueFormatted||e?.value,i.jsx("div",{className:"metadata-indicator",title:n?.metadata||"View details",onClick:m})]}),s&&i.jsx($n,{locale:e?.locale,metadata:s.metadata,metadataDescription:s.metadataDescription,isOpenMetadata:!0,onCloseMetadata:h})]})},Ji=e=>{const t=_c(e);return t?.length?i.jsx(Jc,{params:e,obsAttributes:t}):i.jsx("div",{className:"relative size-full p-2 text-end",children:e?.valueFormatted||e?.value})},Qi=({ref:e,fixHeight:t,gridHeight:n,children:s})=>i.jsx("div",{ref:e,className:K("ag-theme-quartz w-full min-h-[80px]",t?"max-h-[400px]":"max-h-full"),style:{height:n},children:s}),Qc=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:s,externalLink:o,showLimitMessage:r,onApiReady:l})=>{const{titles:d}=we(),[a,u]=c.useState(!1),[m,h]=c.useState([]),[f,p]=c.useState(),[g,w]=c.useState(400),C=c.useRef(null),[v,x]=c.useState(""),[S,y]=c.useState(""),[T,N]=c.useState(!1),{isShowOnboarding:M,onboardingFileSchema:D,setOnboardingFileSchema:A}=Ye();c.useEffect(()=>{if(e.grid_data==null)u(!0);else{const G=e.grid_data.columns.map(z=>z.colId===It?{...z,hide:!n}:z);h(e.grid_data.data),p(G),u(!1)}},[e.grid_data,n]),c.useEffect(()=>{m?(w(zn(m.length)),r?.(m.length>=E.SERIES_LIMIT)):r?.(!1)},[m,r]),c.useEffect(()=>{if(M){const{title:G,description:z}=at(Oe.DATA_GRID,d);x(G),y(z)}},[d,M]),c.useEffect(()=>{D&&!D?.infoElements?.dataGrid&&A?.({...D,infoElements:{...D?.infoElements,dataGrid:!0},lastDisplayedElement:Oe.DATA_GRID})},[D,A]),c.useEffect(()=>{if(M){const G=D?.lastDisplayedElement===Oe.DATA_GRID;N(G),!a&&!t&&G&&setTimeout(()=>{C?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[D?.lastDisplayedElement,M,t,a]);const I=c.useCallback(G=>{l?.(G.api)},[l]),j=c.useMemo(()=>({externalLink:o}),[o]),L=c.useMemo(()=>({[ln]:Xi,[an]:Ji,[Fi]:Gn}),[]),B=c.useMemo(()=>i.jsx(Rn.AgGridReact,{onGridReady:I,headerHeight:Rt,rowHeight:rn,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:j,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:L,valueCache:!0}),[m,f,I,j,L]);return a||t?i.jsx(E.Loader,{}):i.jsxs("div",{className:"size-full",children:[i.jsx(Qi,{ref:C,fixHeight:s,gridHeight:g,children:B}),T&&i.jsx(lt,{reference:C,title:v,description:S,supressReferenceClick:!0})]})};function jt(e){if(typeof window>"u")return e(),()=>{};let t;const n=window.requestAnimationFrame(()=>{t=window.setTimeout(e,0)});return()=>{window.cancelAnimationFrame(n),t!=null&&window.clearTimeout(t)}}const ed=200,td=8,nd=2,sd=({currentIndex:e,totalCount:t,icons:n,onPrev:s,onNext:o})=>{const{titles:r}=we(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye();c.useEffect(()=>{if(g){const{title:x,description:S}=at(Oe.CHARTS_NAVIGATION,r);a(x),m(S)}},[r,g]),c.useEffect(()=>{if(g){const x=p?.lastDisplayedElement===Oe.CHARTS_NAVIGATION;f(x),x&&l?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[p?.lastDisplayedElement,g]);const w=t>0?e/t*100:0,C=t>0?Math.min(td*t,ed):0,v=t>0?Math.max(C/t,nd):0;return i.jsxs("div",{className:"flex w-full flex-row items-center justify-center gap-2",children:[i.jsx("div",{className:K("h-[20px] w-[20px] cursor-pointer",e===0?"text-neutrals-700":"text-primary"),onClick:s,children:n?.[Yt.PREVIOUS]}),i.jsxs("div",{className:"flex flex-col items-center gap-1 pt-[20px]",children:[i.jsx("div",{className:"relative h-[4px] rounded-full bg-neutral-300",style:{width:`${C}px`},children:i.jsx("div",{className:"absolute h-full rounded-full bg-primary",style:{left:`${w}%`,width:`${v}px`}})}),i.jsxs("h5",{className:"text-neutrals-800",children:[e+1,"/",t]})]}),i.jsx("div",{className:K("h-[20px] w-[20px] cursor-pointer",e+1===t?"text-neutrals-700":"text-primary"),onClick:o,ref:l,children:n?.[Yt.NEXT]}),h&&i.jsx(lt,{reference:l,title:d,description:u})]})},od=({limitAmount:e,openAdvancedView:t,prefixIcon:n,contentClassName:s})=>{const{titles:o}=we(),[r,l]=c.useState(!1),{refs:d,floatingStyles:a,context:u}=qe.useFloating({open:r,onOpenChange:l,placement:"top-start"}),m=qe.useHover(u,{handleClose:qe.safePolygon({blockPointerEvents:!0})}),{getReferenceProps:h,getFloatingProps:f}=qe.useInteractions([m]);return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex w-fit",ref:d.setReference,...h(),children:i.jsxs("div",{className:Ze("mt-1 flex w-fit items-center gap-1 bg-hues-100 px-4 py-2",s),children:[n,i.jsx("h5",{className:"font-bold",children:o?.limits||"Limited to"}),i.jsxs("h5",{children:[e," ",o?.timeseriesLimit||"Timeseries"]})]})}),r&&i.jsx("div",{className:"floating",ref:d.setFloating,style:a,...f(),children:i.jsxs("div",{className:"z-10 mb-2 flex w-[300px] flex-col gap-2 rounded bg-white p-4 shadow",children:[i.jsxs("div",{children:[i.jsxs("h5",{className:"text-neutrals-900",children:[i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP1_1||"The number of timeseries displayed in a single chart i"}),i.jsxs("span",{className:"pr-0.5 font-bold",children:[o?.limitLinkInfoP1_2||"limited to"," ",e]}),o?.limitLinkInfoP1_3||"for better clarity and performance."]}),i.jsxs("h5",{className:"text-neutrals-900",children:[i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP2_1||"To visualize specific timeseries"}),i.jsx("span",{className:"pr-0.5 font-bold",children:o?.limitLinkInfoP2_2||"filter"}),i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP2_3||"your request, or"}),i.jsx("span",{className:"pr-0.5 font-bold",children:o?.limitLinkInfoP2_4||"refine"}),o?.limitLinkInfoP2_5||"it in the chat."]})]}),t&&i.jsx("h4",{className:"cursor-pointer text-primary",onClick:t,children:o?.limitLinkInfoLink||"Open Advanced View"})]})})]})};function id(e,t,n){const s=(e.getZr()?.painter).getRenderedCanvas()?.getContext("2d");if(!s)return 0;const o=n.textStyle?.fontSize??12,r=n.textStyle?.fontFamily??"sans-serif";s.font=`${o}px ${r}`;const l=s.measureText(t).width,d=n.itemWidth??25,a=n.itemGap??10;return l+d+a}const rd=({option:e,style:t})=>{const n=c.useRef(null),[s,o]=c.useState(e);c.useEffect(()=>{o(jn.cloneDeep(e))},[e]);const r=c.useCallback(()=>{const l=n.current?.getEchartsInstance?.();if(!l)return;const a=l.getDom().clientWidth,u=e.legend||{},m=u.itemHeight??14,h=u.textStyle?.fontSize??12,f=l.getModel()?.getComponent("legend")?.getData()||[];let p=0;f.forEach(v=>{const x=v.option.name||"";p+=id(l,x,u)});const w=Math.max(1,Math.ceil(p/a))*(+m+ +h+6),C=20;o(v=>({...v,grid:{...v.grid||{},bottom:w+C}}))},[e.legend]);return c.useEffect(()=>{r();const l=()=>{r()};return window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},[e,r]),i.jsx(Ws,{notMerge:!0,lazyUpdate:!1,ref:n,option:s,style:t})},ad=({attachment:e,icons:t,isDataLoading:n,openAdvancedView:s,fixHeight:o=!0,limitationInfoPrefixIcon:r,limitationInfoContentClassName:l})=>{const{titles:d}=we(),[a,u]=c.useState(!0),[m,h]=c.useState(),[f,p]=c.useState([]),[g,w]=c.useState(0),[C,v]=c.useState(void 0),[x,S]=c.useState(),{onboardingFileSchema:y,isShowOnboarding:T,setOnboardingFileSchema:N}=Ye(),M=c.useRef(null),{charting_data:D,getChartingData:A}=e;c.useEffect(()=>{if(w(0),D){h(D),u(!1);return}if(!A){h(void 0),u(!0);return}return u(!0),jt(()=>{try{h(A())}catch(L){console.error("Error building chart data",L),h({units:[]})}finally{u(!1)}})},[D,A]),c.useEffect(()=>{const L=m?.groups??[],B=m?.units??[];p(L.length>0?L.flatMap(G=>G.units.map(z=>({unit:z,groupTitle:G.title}))):B.map(G=>({unit:G})))},[m]),c.useEffect(()=>{const L=f.length>g,B=L?f[g]:f[0];v(!a&&B!=null?B.unit:void 0),S(B?.groupTitle),L||w(0)},[a,f,g]),c.useEffect(()=>{y&&T&&!a&&(El(y)&&(N?.(yl(y)),M?.current?.scrollIntoView({block:"center",behavior:"smooth"})),y.lastDisplayedElement===Oe.CHART_PER_SERIES&&N?.(wi(y)))},[a,N,y,T]);const I=c.useCallback(()=>{w(L=>Math.min(L+1,f.length-1))},[f.length]),j=c.useCallback(()=>{w(L=>Math.max(L-1,0))},[]);return a||n?i.jsx(E.Loader,{}):i.jsx("div",{className:"chart-attachment size-full",ref:M,children:m&&i.jsx("div",{className:"flex size-full flex-col gap-4",children:f.length==0||C==null?i.jsx("h4",{className:"ml-1",children:d?.chartInfo||"No data"}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsxs("h3",{className:"chart-attachment-title",children:[d?.chart||"Chart"," ",g+1,"/",f.length]}),i.jsx("span",{className:"h4 chart-attachment-info text-neutrals-700",children:d?.chartInfo||"Chart Information"})]}),i.jsxs("div",{className:K("chart-area overflow-hidden flex flex-row gap-4 h-full ",o&&"max-h-[400px] min-h-[400px]",!o&&"min-h-[300px]"),children:[i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[x&&i.jsxs("div",{className:"mb-1 flex items-center gap-1",children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-1000"}),i.jsx("h4",{className:"text-neutrals-1000",children:x})]}),i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4",children:[i.jsx(rd,{option:C.config,style:{width:"100%",height:"100%",minHeight:0}}),C.limitedByRowsAmountTo&&i.jsx(od,{limitAmount:C.limitedByRowsAmountTo,openAdvancedView:s,prefixIcon:r,contentClassName:l}),f.length>1&&i.jsx(sd,{icons:t,currentIndex:g,totalCount:f.length,onNext:I,onPrev:j})]})]}),i.jsx(Li,{dimensionsInfo:C.dimensions})]})]})})})},ld=({attachment:e,className:t})=>{const{data:n,language:s}=e,o=(r,l)=>{r.addCommand(l.KeyCode.F1,()=>{})};return i.jsx("div",{className:Ze(["h-full w-full [&_.cursors-layer]:hidden",t]),children:i.jsx(Nr.Editor,{value:n,language:s,theme:"vs-light",onMount:o,options:{readOnly:!0,contextmenu:!1,scrollBeyondLastLine:!1,minimap:{enabled:!1},wordWrap:"on",automaticLayout:!0,tabSize:2}})})},cd="Dataset",Is="dataset_name",dd="Agency",As="agency",ud="Country dimensions",Vt="country_aggregated",md="Indicator dimensions",Ot="indicator_aggregated",fd="Frequency",dn="frequency_aggregated",er=".";function js(e){return{columnState:e.getColumnState(),columnGroupState:e.getColumnGroupState()??[]}}function hd(e,t){t&&(e.applyColumnState({state:t.columnState,applyOrder:!0}),e.setColumnGroupState(t.columnGroupState))}const Rs=["columnVisible","columnMoved","displayedColumnsChanged","newColumnsLoaded","gridColumnsChanged","columnPinned"];function tr(e,t){c.useEffect(()=>{if(e){for(const n of Rs)e.addEventListener(n,t);return()=>{for(const n of Rs)e.removeEventListener(n,t)}}},[e,t])}function pd({currentUrn:e}){const[t,n]=c.useState(),[s,o]=c.useState(null),r=c.useRef(new Map),l=c.useRef(new Map),d=c.useCallback(h=>{if(n(h),r.current.has(e))s==null&&o(r.current.get(e)??null);else{const p=js(h);r.current.set(e,p),o(p)}const f=l.current.get(e);f&&(h.applyColumnState({state:f.columnState,applyOrder:!0}),f.columnGroupState!=null&&h.setColumnGroupState(f.columnGroupState))},[e]);c.useEffect(()=>{o(r.current.get(e)??null)},[e]);const a=c.useCallback(()=>{t&&l.current.set(e,js(t))},[e,t]),u=c.useCallback(()=>{l.current.delete(e)},[e]),m=c.useCallback(()=>{r.current.delete(e),o(null)},[e]);return tr(t,a),{gridApi:t,onGridApiReady:d,initialColumnsState:s,clearUserColumnState:u,clearInitialColumnState:m}}var Xe=(e=>(e.Compact="compact",e.Extended="extended",e))(Xe||{});const Wn=c.createContext(null);function gd({currentUrn:e,structuresMap:t,locale:n,dataQueries:s,gridViewMode:o=Xe.Compact,onGridViewModeChange:r,texts:l,resetIcon:d,children:a}){const{gridApi:u,onGridApiReady:m,initialColumnsState:h,clearUserColumnState:f,clearInitialColumnState:p}=pd({currentUrn:e}),g=c.useCallback(N=>r?.(N),[r]),[w,C]=c.useState(new Map),v=c.useCallback((N,M,D)=>{C(A=>{const I=new Map(A),j=new Map(I.get(N)??[]),L=j.get(M)??{order:[],hidden:new Set};return j.set(M,D(L)),I.set(N,j),I}),u?.refreshCells({columns:[M]})},[u]),x=c.useCallback((N,M,D)=>{v(N,M,A=>({...A,order:D}))},[v]),S=c.useCallback(()=>{C(new Map)},[]),y=c.useCallback((N,M,D,A)=>{v(N,M,I=>{const j=new Set(I.hidden);return A?j.add(D):j.delete(D),{...I,hidden:j}})},[v]),T=c.useMemo(()=>({gridApi:u,onGridApiReady:m,initialColumnsState:h,structuresMap:t,locale:n,dataQueries:s,dimensionCustomization:w,setDimensionKeyOrder:x,setDimensionKeyHidden:y,resetDimensionCustomization:S,clearUserColumnState:f,clearInitialColumnState:p,gridViewMode:o,setGridViewMode:g,texts:l,resetIcon:d}),[u,h,m,t,n,s,w,x,y,S,f,p,o,g,l,d]);return i.jsx(Wn.Provider,{value:T,children:a})}function Kn(){const e=c.useContext(Wn);if(!e)throw new Error("useTableSettingsContext must be used within TableSettingsProvider");return e}const Cd=()=>c.useContext(Wn);function un(e,t,n){const s=b.getConcept(e.conceptIdentity,t),o=e?.localRepresentation?.enumeration,r=s?.coreRepresentation?.enumeration,l=o||r,d=b.getArtifactByUrnWithWildCard(l,n);return{concept:s,codeList:d||void 0}}function nr(e,t,n){const s=e.findIndex(o=>o.id===t);return n.originalData.parsedTimeSeriesValue[s]}function Yn(e,t,n,s,o){const r=nr(e,t,s),l=n?.codes?.find(d=>d.id===r);return b.getLocalizedName(l,o)}function xd(e,t,n,s,o=Xe.Compact){const r=o===Xe.Extended?Dd(e,t,n):[wd(e,t,n,s)];return[Sd(e,t,n,s),...r,vd(e,t,n,s),...bd(e,t,n)]}function Sd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=kt(r,e),u=t.get(d)?.region;return a==null||d==null||l==null||u==null?"":Dt(l,u,a,n)};return mn(s?.countryDimensions||ud,Vt,o,e,t,n,s)}function wd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=kt(r,e),u=t.get(d)?.indicators;return a==null||d==null||l==null||u==null||u.length===0?"":u.map(h=>Dt(l,h,a,n)||"").join(er)};return mn(s?.indicatorDimensions||md,Ot,o,e,t,n,s)}function vd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=kt(r,e),u=t.get(d)?.frequency;return a==null||d==null||l==null||u==null?"":Dt(l,u,a,n)};return mn(s?.frequency||fd,dn,o,e,t,n,s)}function bd(e,t,n){const s=new Set;return t.forEach(o=>{o?.other?.forEach(r=>{s.add(r)})}),Array.from(s).map(o=>yd(o,e,t,n))}function Dd(e,t,n){const s=new Set;return t.forEach(o=>{o?.indicators?.forEach(r=>{s.add(r)})}),Array.from(s).map(o=>{const r=l=>{const{structures:d,urn:a,data:u}=kt(l,e),m=t.get(a)?.indicators??[];return u==null||a==null||d==null||!m.includes(o)?"":Dt(d,o,u,n)};return{headerName:sr(o,e,n),field:o,colId:o,valueGetter:r,...xt,cellClass:ft,tooltipValueGetter:l=>l.value}})}function yd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=kt(r,t),u=n.get(d)?.other??[];return a==null||d==null||l==null||!u.includes(e)?"":Dt(l,e,a,s)};return{...mn(sr(e,t,s),e,o,t,n,s),hide:!0}}function sr(e,t,n){for(const s of t.values()){if(!s)continue;const r=(b.getDimensions(s)?.dimensions||[]).find(l=>l.id===e);if(r)return b.getDimensionTitle(s.conceptSchemes,r,n)??e}return e}function mn(e,t,n,s,o,r,l){return{headerName:e,field:t,colId:t,valueGetter:n,...xt,cellClass:ft,cellRenderer:Pi,tooltipValueGetter:d=>d.value,cellRendererParams:{structuresMap:s,datasetDimensionsSchemesMap:o,locale:r,titles:l,colId:t}}}function kt(e,t){const{data:n}=e,s=n?.dataset?.urn,o=s==null?void 0:t.get(s);return{data:n,urn:s,structures:o}}function Dt(e,t,n,s){const o=e.conceptSchemes||[],r=e.codelists||[],l=b.getDimensions(e)?.dimensions||[],d=l.find(u=>u.id===t);if(d==null)return;const{codeList:a}=un(d,o,r);return Yn(l,t,a,n,s)}const en="::";function Ed(e,t){return`${e}${en}${t}`}function Sn(e){return e.includes(en)}function Tt(e){const t=e.indexOf(en);return{urn:e.slice(0,t),dimensionKey:e.slice(t+en.length)}}const Td=new Set([Ot]);function or(e,t){let n=e;return t?.order.length&&(n=[...t.order.filter(s=>e.includes(s)),...e.filter(s=>!t.order.includes(s))]),t?.hidden.size&&(n=n.filter(s=>!t.hidden.has(s))),n}function Md(e,t,n){const s=n(t);return s?e===Ot?s.indicators:e===Vt?s.region?[s.region]:[]:e===dn?s.frequency?[s.frequency]:[]:[]:[]}function Nd(e,t,n){const s=e.getDimensionConfig(t,n);if(s?.alias)return s.alias;const o=e.structuresMap.get(t),l=(o?b.getDimensions(o)?.dimensions??[]:[]).find(d=>d.id===n);return b.getDimensionTitle(o?.conceptSchemes??[],l,e.locale)??n}function Id(e){const t=e.enrichedColIds??Td;return n=>{if(!t.has(n.id))return n;const s=[];for(const{urn:o}of e.dataQueries){const r=Md(n.id,o,e.getDimensionsScheme);if(!r.length)continue;const l=e.dimensionCustomization?.get(o)?.get(n.id),d=l?.order.length?or(r,{order:l.order,hidden:new Set}):r,a=d.length>1,u=d.map(f=>({id:Ed(o,f),type:"item",label:Nd(e,o,f),isChecked:!l?.hidden.has(f),draggable:a,checkable:a})),m=e.structuresMap.get(o),h=b.getLocalizedName(m?.dataflows?.[0],e.locale)??o;s.push({id:o,type:"group",label:h,items:u})}return s.length?s.length===1?{...n,items:s[0].items}:{...n,items:s}:n}}function Ls(e,t){return e===Ot?t.indicators??[]:e===Vt?t.region?[t.region]:[]:e===dn?t.frequency?[t.frequency]:[]:t.other?.includes(e)?[e]:[]}function Ad(e,t){return e===Ot?t?.indicatorMetadataPanel||"Indicator dimension details":e===Vt?t?.countryMetadataPanel||"Country dimension details":t?.metadata||"Metadata"}const jd="merged-dimension-metadata-side-panel",Rd=e=>{const{titles:t}=we(),{isOpenedAdvancedView:n}=We(),s=ht(),{isMetadataInSidePanel:o}=Ge(),r=Cd(),l=e?.data?.dataset?.urn,d=cn(e?.context,l),a=l!=null?e.structuresMap.get(l):void 0,u=l!=null?e.datasetDimensionsSchemesMap.get(l):void 0,m=r?.dimensionCustomization,h=c.useMemo(()=>{if(!a||!u||l==null)return e.valueFormatted??e.value;const C=m?.get(l)?.get(e.colId);return or(Ls(e.colId,u),C).map(S=>Dt(a,S,e.data,e.locale)).filter(Boolean).join(er)},[m,a,u,l,e.valueFormatted,e.value,e.colId,e.data,e.locale]),f=c.useMemo(()=>{if(!a||!u)return[];const C=Ls(e.colId,u),v=b.getStructureComponentsMap(a),x=C.filter(S=>e.data[S]!=null).map(S=>({name:S,value:String(e.data[S])}));return At(x,v,e.locale)},[a,u,e.colId,e.data,e.locale]),p=c.useMemo(()=>{const C=a?.dataflows?.[0];if(!C)return;const v=_t(b.getLastUpdatedTime(C),e.locale);return Pt(C,v,e.locale,t)},[a,e.locale,t]),g=o&&!!s&&!!e.value&&![dn,Vt].includes(e.colId),w=c.useCallback(()=>{s&&s.openPanel({id:jd,scope:n?"advanced":"conversation",title:Ad(e.colId,t),bodyClassName:"overflow-hidden",content:i.jsx(Lt,{locale:e.locale,metadata:f,datasetInfo:p,externalLink:d})})},[s,n,e.colId,t,e.locale,f,p,d]);return i.jsxs("div",{className:"relative size-full p-2",children:[h,g&&i.jsx("div",{className:"metadata-indicator",title:t?.metadata||"View details",onClick:w})]})},Ld="dataset-detail-metadata-side-panel",Fd=e=>{const{titles:t}=we(),{isOpenedAdvancedView:n}=We(),s=ht(),{isMetadataInSidePanel:o}=Ge(),r=e?.data?.dataset?.urn,l=cn(e?.context,r),d=r!=null?e.structuresMap.get(r):void 0,a=r!=null?e.attributesDataMap?.get(r):void 0,u=c.useMemo(()=>{const p=d?.dataflows?.[0];if(!p)return;const g=_t(b.getLastUpdatedTime(p),e.locale);return Pt(p,g,e.locale,t)},[d,e.locale,t]),m=c.useMemo(()=>Wi($i(a),b.getStructureComponentsMap(d),e.locale),[a,d,e.locale]),h=o&&!!s&&!!e.value,f=c.useCallback(()=>{s&&s.openPanel({id:Ld,scope:n?"advanced":"conversation",title:t?.datasetMetadataPanel||"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Lt,{locale:e.locale,metadata:m,datasetInfo:u,externalLink:l})})},[s,n,m,u,l,t,e.locale]);return i.jsxs("div",{className:"relative size-full p-2",children:[e.valueFormatted??e.value,h&&i.jsx("div",{className:"metadata-indicator",title:t?.metadata||"View details",onClick:f})]})},Pd=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:s,externalLink:o,externalLinksMap:r,showLimitMessage:l,onApiReady:d})=>{const[a,u]=c.useState(!1),[m,h]=c.useState([]),[f,p]=c.useState(),[g,w]=c.useState(400),C=c.useRef(null),v=c.useRef([]);c.useEffect(()=>{if(e.gridContent==null)u(!0);else{const N=e.gridContent.columns.map(M=>M.colId===It?{...M,hide:!n}:M);h(e.gridContent.data),p(N),u(!1)}},[e.gridContent,n]),c.useEffect(()=>{m?(w(zn(m.length)),l?.(m.length>=E.SERIES_LIMIT)):l?.(!1)},[m,l]),c.useEffect(()=>{if(!f||!C.current)return;const N=f.map(I=>I.colId??I.field??"").filter(Boolean),M=v.current,D=new Set(M),A=N.length!==M.length||N.some(I=>!D.has(I));v.current=N,A&&C.current.resetColumnState()},[f]);const x=c.useCallback(N=>{C.current=N.api,d?.(N.api)},[d]),S=c.useMemo(()=>({externalLink:o,externalLinksMap:r}),[o,r]),y=c.useMemo(()=>({[ln]:Xi,[an]:Ji,[Pi]:Rd,[Fi]:Gn,[_i]:Fd}),[]),T=c.useMemo(()=>i.jsx(Rn.AgGridReact,{headerHeight:Rt,rowHeight:rn,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:S,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:y,valueCache:!0,onGridReady:x}),[m,f,S,y,x]);return a||t?i.jsx(E.Loader,{}):i.jsx("div",{className:"size-full",children:i.jsx(Qi,{fixHeight:s,gridHeight:g,children:T})})},_d=({selectedAttachment:e,actions:t,attachmentsStyles:n,isDataLoading:s,externalLink:o,externalLinksMap:r,isOpenedAdvancedView:l,onOpenAdvancedView:d,showLimitMessage:a,onGridApiReady:u})=>i.jsxs("div",{className:"flex min-h-0 w-full flex-1 justify-center",children:[Nl(e)&&i.jsx(cc,{actions:t,downloadTitles:n?.downloadTitle,attachment:e}),Hn(e)&&i.jsx(Nc,{actions:t,attachment:e,showLimitMessage:a}),rt(e)&&i.jsx(Qc,{attachment:e,isDataLoading:s,isChartColumnVisible:l,fixHeight:!l,showLimitMessage:a,onApiReady:u,externalLink:o}),mt(e)&&i.jsx(Pd,{attachment:e,isDataLoading:s,isChartColumnVisible:l,fixHeight:!l,showLimitMessage:a,onApiReady:u,externalLink:o,externalLinksMap:r}),Wt(e)&&i.jsx(ad,{isDataLoading:s,attachment:e,icons:n?.chartingIcons,openAdvancedView:l?void 0:d,fixHeight:!l,limitationInfoPrefixIcon:n?.limitationInfoIcon,limitationInfoContentClassName:n?.limitationInfoContentClassName}),Un(e)&&i.jsx(Cc,{attachment:e,openLinkTitle:n?.openLinkTitle}),Ei(e)&&i.jsx(fc,{attachment:e}),Bn(e)&&i.jsx(ld,{attachment:e,className:n?.codeAttachmentContainerClassName})]}),Vd=({isOpen:e,alertDetails:t,attachmentsStyles:n,onClose:s})=>{if(!e)return null;const o=t?.progress&&t.progress.total>0?`${Math.min(100,Math.max(0,t.progress.current/t.progress.total*100))}%`:"0%";return i.jsx(E.Alert,{alertDetails:t,infoIcon:n?.infoDownloadIcon,successIcon:n?.successDownloadIcon,errorIcon:n?.errorDownloadIcon,onClose:s,closeButtonTitle:n?.closeTitle||"Close",children:i.jsxs(i.Fragment,{children:[t?.text&&i.jsx("div",{className:"alert-text whitespace-pre-line break-words",title:t.text,children:t.text}),t?.progress&&i.jsx("div",{className:"alert-progress",children:i.jsx("div",{className:"alert-progress-value",style:{width:o}})}),t?.action&&i.jsxs("button",{type:"button",className:"alert-action",disabled:t.action.disabled,onClick:t.action.onClick,title:t.action.title,children:[t.action.icon&&i.jsx("span",{className:"alert-action-icon",children:t.action.icon}),i.jsx("span",{className:"alert-action-text",children:t.action.text})]})]})})},Od=({attachmentsStyles:e,onCancel:t,onRetry:n})=>{const s=c.useCallback(p=>e?.downloadTitles?.downloadStartedText?.(p.dataFormatTitle)??`Preparing ${p.dataFormatTitle} file.`,[e?.downloadTitles]),o=c.useCallback((p,g)=>e?.downloadTitles?.downloadInProgressTitle?.(p,g)??`Downloading file ${p} of ${g}`,[e?.downloadTitles]),r=c.useCallback((p,g)=>e?.downloadTitles?.downloadInProgressText?.(p,g)??`${p} · ${g}`,[e?.downloadTitles]),l=c.useCallback(p=>p.items.length>1?e?.downloadTitles?.downloadSuccessMultipleTitle?.(p.items.length)??`${p.items.length} files downloaded`:e?.downloadTitles?.downloadSuccessTitle?.(p.dataFormatTitle)??`${p.dataFormatTitle} file downloaded`,[e?.downloadTitles]),d=c.useCallback(p=>{if(p.items.length>1)return e?.downloadTitles?.downloadSuccessMultipleText?.(p.items.length)??`${p.items.length} files successfully downloaded`;const[g]=p.items;return e?.downloadTitles?.downloadSuccessText?.(g.fileName,g.rowCount)??`${g.fileName} · ${g.rowCount} rows`},[e?.downloadTitles]),a=c.useCallback(p=>{if(p.items.length>1)return e?.downloadTitles?.downloadFailedMultipleText?.(p.items.length)??`${p.items.length} datasets could not be exported`;const[g]=p.items;return e?.downloadTitles?.downloadFailedText?.(g.name)??`${g.name} could not be exported`},[e?.downloadTitles]),u=c.useCallback(p=>({type:E.AlertType.INFO,title:e?.downloadTitles?.downloadStartedTitle??"Download started",text:s(p),action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??"Cancel",icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,s,t]),m=c.useCallback((p,g,w,C)=>({type:E.AlertType.IN_PROGRESS,title:o(g,p.items.length),text:r(C,p.dataFormatTitle),progress:{current:w,total:p.items.length},action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??"Cancel",icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,r,o,t]),h=c.useCallback(p=>({type:E.AlertType.SUCCESS,title:l(p),text:d(p)}),[d,l]),f=c.useCallback(p=>({type:E.AlertType.ERROR,title:e?.downloadTitles?.downloadFailedTitle??"Download failed",text:a(p),action:{text:e?.downloadTitles?.downloadRetryActionText??"Retry download",icon:e?.downloadErrorActionIcon,onClick:n}}),[e?.downloadErrorActionIcon,e?.downloadTitles,a,n]);return{getStartedAlertDetails:u,getInProgressAlertDetails:m,getSuccessAlertDetails:h,getErrorAlertDetails:f}},kd=300,Ud=({attachmentsStyles:e,downloadDataSet:t})=>{const[n,s]=c.useState(),[o,r]=c.useState(!1),[l,d]=c.useState(),a=c.useRef(null),u=c.useRef(null),m=c.useRef(null),h=c.useRef(!1),f=c.useRef(!1),p=c.useCallback(D=>{d(D),s(!0)},[]),g=c.useCallback(()=>{s(!1)},[]),w=c.useCallback(()=>{f.current=!0,a.current?.abort(),g()},[g]),C=c.useCallback(()=>{const D=u.current;!D||!m.current||m.current(D)},[]),v=c.useCallback(D=>(D instanceof DOMException||D instanceof Error)&&D.name==="AbortError",[]),{getStartedAlertDetails:x,getInProgressAlertDetails:S,getSuccessAlertDetails:y,getErrorAlertDetails:T}=Od({attachmentsStyles:e,onCancel:w,onRetry:C}),N=c.useCallback(async D=>{if(!h.current){h.current=!0,r(!0),f.current=!1,u.current=null;try{const A=[],I=D.items.length>1;I||p(x(D));for(const[j,L]of D.items.entries()){if(f.current)return;I&&p(S(D,j+1,j,L.name));const B=new AbortController;a.current=B;try{await t(L.urn,D.dataFormat,D.language,D.attribute,L.filters,L.fileName,D.isMetadata,B.signal)}catch(G){if(v(G)&&f.current)return;A.push(L),console.error("Failed to download dataset",G)}finally{a.current===B&&(a.current=null)}j<D.items.length-1&&await new Promise(G=>window.setTimeout(G,kd))}if(f.current)return;if(A.length>0){const j={...D,items:A};u.current=j,p(T(j));return}p(y(D))}finally{a.current=null,h.current=!1,r(!1)}}},[t,T,S,x,y,v,p]);return c.useEffect(()=>{m.current=N},[N]),c.useEffect(()=>()=>{f.current=!0,a.current?.abort()},[]),{startDownload:c.useCallback(D=>h.current?!1:(N(D),!0),[N]),isDownloadRunning:o,downloadAlertProps:{isOpen:n,alertDetails:l,attachmentsStyles:e,onClose:g}}};Qn.ModuleRegistry.registerModules([Qn.AllCommunityModule]);const qn=({attachments:e,actions:t,isSystemAttachments:n,isShowAttachments:s,showAdvancedView:o,currentDataQuery:r,dataQueries:l,attachmentInfoList:d,datasets:a,initialSelectedDatasetUrn:u,isDataLoading:m,isDataSetAttachments:h,locale:f,dimensions:p,filters:g,selectDataset:w,onAdvancedViewOpen:C,hideDownloadButton:v,containerClassName:x,isTableSettingsOpen:S,onTableSettingsOpen:y,onTableSettingsClose:T,onGridApiReady:N})=>{const{titles:M,messageStyles:D,attachmentsStyles:A,limitMessages:I,attachmentsConfig:j}=we(),{isCrossDatasetModeOn:L}=Ge(),[B,G]=c.useState(0),{isOpenedAdvancedView:z,setIsOpenedAdvancedView:$}=We(),[Q,_]=c.useState(E.PopUpState.Closed),[Y,q]=c.useState(!1),[X,ne]=c.useState(!1),pe=b.DownloadType.DATA_IN_TABLE,ve=c.useMemo(()=>{if(!L||!l?.some(re=>re.disabled))return a;const ue=new Set(l.filter(re=>!re.disabled).map(re=>re.urn));return a?.filter(re=>{const Le=b.generateShortUrn(re?.id,re?.version,re?.agencyID);return ue.has(Le)})},[a,l,L]),De=ue=>{G(ue)},V=c.useCallback(()=>{C?.(),$(!0),t.updateCurrentDataQuery(r||l?.[0]),t.updateDataQueries(l),t.updateDatasets(a)},[t,r,l,a,$,C]),P=e[B]||null;c.useEffect(()=>{q(h&&(a==null||a?.length==0))},[a,h]),c.useEffect(()=>{S&&P&&!rt(P)&&!mt(P)&&T?.()},[S,P,T]);const ce=c.useCallback(()=>{_(E.PopUpState.Closed)},[_]),de=j?.isExternaLinkIncludeFilters,le=Nn(de,g,r||l?.[0],p),je=c.useMemo(()=>l?.length?new Map(l.map(re=>[re.urn,Nn(de,void 0,re)])):void 0,[l,de]),Te=c.useMemo(()=>{if(!P||!mt(P))return;const re=P.gridContent?.data??[],Le=new Map,ye=new Map;for(const ge of re){const{dataset:Ie,datasetTitle:Ce}=ge,Pe=Ie?.urn;Pe&&(Le.set(Pe,(Le.get(Pe)??0)+1),!ye.has(Pe)&&Ce&&ye.set(Pe,Ce))}return Array.from(Le.entries()).map(([ge,Ie])=>({urn:ge,name:ye.get(ge)??ge,rowCount:Ie,dataQuery:l?.find(Ce=>Ce.urn===ge)}))},[P,l]),O=c.useMemo(()=>{if(P){if(rt(P))return P.grid_data?.data?.length;if(mt(P))return P.gridContent?.data?.length}},[P]),{startDownload:U,isDownloadRunning:oe,downloadAlertProps:ie}=Ud({attachmentsStyles:A,downloadDataSet:t.downloadDataSet});if(!e||e.length===0)return null;const me=!z&&Y||!!m;return i.jsx(i.Fragment,{children:z&&!s?i.jsx(Bl,{icon:D?.advanceViewIcon,title:D?.openAdvanceViewTitle??"Opened in Advanced view"}):i.jsxs("div",{className:Ze("space-y-3 max-w-full max-h-full h-full",!z&&!n?"pt-5":"pt-0","flex flex-col pb-1",x),children:[!z&&ve?.length!=null&&ve?.length>0&&i.jsx(Ai,{datasets:ve,initialSelectedDatasetUrn:u,locale:f,selectDataset:w}),me?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[n&&!z&&i.jsx(Hl,{titles:{queryUpdatedManuallyTitle:M?.queryUpdatedManually,setToTitle:M?.setTo,datasetLabel:M?.dataset},datasetIcon:A?.datasetIcon,attachmentInfoList:d,dataQueries:l}),X&&i.jsx(E.RequestLimitMessage,{limitMessages:I,showAdvancedViewButton:!!P&&Al(P)&&o,onAdvancedViewClick:V,query:le}),i.jsx("div",{className:K(!z&&a?.length&&"attachments-bordered","attachments-wrapper h-full min-h-0"),children:i.jsxs("div",{className:"flex h-full max-w-full flex-col items-center gap-4",children:[i.jsx(lc,{attachments:e,selectedAttachmentIndex:B,selectedAttachment:P,attachmentsStyles:A,externalLink:le,isExternalLinkIncludeFilters:de,limitMessages:I,onSelectedAttachmentChange:De,onDownloadClick:()=>_(E.PopUpState.Opened),hideDownloadButton:v,showAdvancedView:o,onOpenAdvancedView:V,isTableSettingsOpen:S,onTableSettingsOpen:y}),P!=null&&i.jsx(_d,{selectedAttachment:P,actions:t,attachmentsStyles:A,isDataLoading:m,isOpenedAdvancedView:z,onOpenAdvancedView:V,showLimitMessage:ne,onGridApiReady:N,externalLink:le,externalLinksMap:je})]})}),i.jsxs(i.Fragment,{children:[Q===E.PopUpState.Opened&&i.jsx(ql,{onCloseModal:ce,onDownloadStart:U,isDownloadInProgress:oe,dataQuery:r,datasetName:P?.title||"",locale:f,type:pe,dimensions:p,filters:g,urn:r?.urn,titles:A?.downloadTitles,rowCount:O,collapsible:A?.downloadCollapsible,downloadDatasets:Te,limitMessages:I,showLimitMessage:X,externalLink:le}),i.jsx(Vd,{...ie})]})]})]})})},Hd=({label:e,colDef:t})=>!!e.trim()&&!t.suppressColumnsToolPanel;function Bd(e){return e.colId??e.field??null}function Gd(e){return String(e.headerName??e.field??e.colId??"").trim()}function zd(e){return new Map(e.getColumnState().map(t=>[t.colId,t]))}function $d(e,t){const n=e.getColumnDefs()??[],s=zd(e),o=[];for(const d of n){const a=Bd(d);if(!a)continue;const u=Gd(d);if(!t({colId:a,label:u,colDef:d}))continue;const m=s.get(a);o.push({id:a,type:"item",label:u,isChecked:!(m?.hide??!1),draggable:!0,checkable:!0})}const r=e.getColumnState().map(d=>d.colId),l=new Map(r.map((d,a)=>[d,a]));return o.sort((d,a)=>{const u=l.get(d.id)??Number.MAX_SAFE_INTEGER,m=l.get(a.id)??Number.MAX_SAFE_INTEGER;return u-m})}function Wd(e,t,n){const s=[...t];return e.map(o=>n.has(o)?s.shift()??o:o)}function wn(e,t){let n=e,s;for(const o of t){if(s=n.find(r=>r.id===o),!s)return;n=s.type==="group"?s.items:s.items??[]}return s?.type==="item"?s:void 0}function Kd(e){if(!e.items?.length)return e;if(e.items.every(n=>n.type==="item")){const n=e.items,s=n.filter(r=>r.isChecked!==!1);if(s.length!==1)return e;const[o]=s;return{...e,items:n.map(r=>r===o?{...r,checkable:!1,draggable:!1}:{...r,draggable:!1})}}const t=e.items.map(n=>{if(n.type!=="group")return n;const o=n.items.filter(l=>l.type==="item").filter(l=>l.isChecked!==!1);if(o.length!==1)return n;const[r]=o;return{...n,items:n.items.map(l=>l.type!=="item"?l:l===r?{...l,checkable:!1,draggable:!1}:{...l,draggable:!1})}});return t.every((n,s)=>n===e.items[s])?e:{...e,items:t}}function An(e,t){const n=[];for(const s of e){if(s.type==="group"){n.push(...An(s.items,t));continue}if(t?.(s)){n.push(s.id);continue}if(s.items?.length){n.push(...An(s.items,t));continue}n.push(s.id)}return n}function Yd({api:e,searchQuery:t,includeColumn:n=Hd,enrichItem:s,onSubItemOrderChange:o,onSubItemVisibilityChange:r}){const[l,d]=c.useState(0),[a,u]=c.useState(new Set),m=c.useCallback(()=>{d(S=>S+1)},[]);tr(e,m);const h=c.useMemo(()=>!e||!e.getColumnState()?[]:$d(e,n),[e,n,l]),f=c.useMemo(()=>(s?h.map(y=>y.type==="item"?s(y):y):h).map(y=>y.type==="item"&&y.items?.length?{...y,isExpanded:a.has(y.id)}:y),[h,s,a]),p=c.useMemo(()=>new Set(h.map(S=>S.id)),[h]),g=c.useMemo(()=>E.filterDraggableListNodes(f,t),[f,t]),w=c.useCallback(S=>{if(!e)return;if(Sn(S.itemId)&&r){const{urn:T,dimensionKey:N}=Tt(S.itemId),M=S.path[0];r(T,M,N,!S.nextChecked);return}const y=wn(f,S.path);!y||!p.has(y.id)||(e.applyColumnState({state:[{colId:y.id,hide:!S.nextChecked}]}),m())},[e,f,p,m,r]),C=c.useCallback(S=>{if(!e)return;if(Sn(S.itemId)&&r){const{urn:M,dimensionKey:D}=Tt(S.itemId),A=S.path[0],I=wn(f,S.path);I?.type==="item"&&r(M,A,D,I.isChecked??!0);return}const y=wn(f,S.path);if(!y||!p.has(y.id))return;const N=!(e.getColumnState().find(M=>M.colId===y.id)?.hide??!1);e.applyColumnState({state:[{colId:y.id,hide:N}]}),m()},[e,f,p,m,r]),v=c.useCallback(S=>{const y=S.path[S.path.length-1];u(T=>{const N=new Set(T);return S.nextExpanded?N.add(y):N.delete(y),N})},[]),x=c.useCallback(S=>{if(!e)return;const y=e.getColumnState().map(D=>D.colId),T=new Set(h.map(D=>D.id)),N=An(S,D=>p.has(D.id)),M=Wd(y,N,T);if(e.applyColumnState({state:M.map(D=>({colId:D})),applyOrder:!0}),m(),o){for(const D of S)if(!(D.type!=="item"||!p.has(D.id)||!D.items))if(D.items.some(A=>A.type==="group"))for(const A of D.items){if(A.type!=="group")continue;const I=A.items.filter(B=>B.type==="item");if(I.length<=1)continue;const j=A.id,L=I.map(B=>Tt(B.id).dimensionKey);o(j,D.id,L)}else{const A=D.items.filter(L=>L.type==="item");if(A.length<=1||!Sn(A[0].id))continue;const{urn:I}=Tt(A[0].id),j=A.map(L=>Tt(L.id).dimensionKey);o(I,D.id,j)}}},[e,h,p,m,o]);return{items:f,visibleItems:g,handleToggleChecked:w,handleToggleExpanded:v,handleItemClick:C,handleItemsChange:x}}function qd({api:e,includeColumn:t,enrichItem:n,renderLabel:s,onSubItemOrderChange:o,onSubItemVisibilityChange:r,searchPlaceholder:l}){const[d,a]=c.useState(""),u=c.useCallback(x=>{a(x)},[a]),m=c.useCallback(()=>a(""),[a]),h=c.useMemo(()=>i.jsx("button",{type:"button",onClick:m,children:i.jsx(Be.IconX,{className:"size-4 text-neutrals-1000"})}),[m]),f=c.useCallback(x=>{const S=n?n(x):x;return Kd(S)},[n]),{visibleItems:p,handleItemsChange:g,handleToggleChecked:w,handleToggleExpanded:C,handleItemClick:v}=Yd({api:e,includeColumn:t,searchQuery:d,enrichItem:f,onSubItemOrderChange:o,onSubItemVisibilityChange:r});return i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2 px-5",children:[i.jsx(E.InputWithIcon,{inputId:"columns-search-input",containerClasses:"items-center filters-search-input gap-1 !p-2",cssClass:"filters-search-input-text",placeholder:l||"Search",iconBeforeInput:i.jsx(Be.IconSearch,{className:"size-4 text-neutrals-1000"}),iconAfterInput:d?h:void 0,value:d,onChange:u}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:i.jsx(E.DraggableList,{items:p,onItemsChange:g,onToggleChecked:w,onToggleExpanded:C,onItemClick:v,renderLabel:s})})]})}const Zd={},Xd={map:Zd,getDimensionsMetadata:()=>{},getDimensionMetadata:()=>{},getRegionDimension:()=>{},getFrequencyDimension:()=>{},getIndicatorDimensions:()=>[],getDimensionsScheme:()=>{}},Zn=c.createContext(Xd);function Jd({map:e,children:t}){const n=c.useMemo(()=>{const s={},o={},r={},l=Object.keys(e);for(const d of l){s[d]={},o[d]={};const a=Object.keys(e[d]);for(const u of a){const m=e[d][u];m.subtype&&(s[d][m.subtype]=u),o[d][m.dimensionType]||(o[d][m.dimensionType]=[]),o[d][m.dimensionType].push(u)}r[d]={timePeriod:o[d]?.TIME_PERIOD?.[0]??void 0,frequency:s[d]?.FREQUENCY??void 0,region:s[d]?.REGION??void 0,indicators:o[d]?.INDICATOR??[],other:(o[d]?.NON_INDICATOR??[]).filter(u=>{const m=e[d][u];return m.subtype!=="FREQUENCY"&&m.subtype!=="REGION"})}}return{map:e,getDimensionsMetadata:d=>e[d],getDimensionMetadata:(d,a)=>e[d]?.[a],getRegionDimension:d=>s[d]?.REGION,getFrequencyDimension:d=>s[d]?.FREQUENCY,getIndicatorDimensions:d=>o[d]?.INDICATOR??[],getDimensionsScheme:d=>r[d]}},[e]);return i.jsx(Zn.Provider,{value:n,children:t})}function fn(){return c.useContext(Zn)}function hn(){return c.useContext(Zn)}function Qd(){const{dataQueries:e,structuresMap:t,locale:n,gridViewMode:s}=Kn(),o=hn(),r=c.useMemo(()=>{const l=new Map;if(!o||!e?.length)return l;for(const{urn:d}of e){const a=o.getDimensionsScheme(d),u=!!a?.other.length,m=s===Xe.Extended&&!!a?.indicators?.length;if(!u&&!m)continue;const h=n?b.getLocalizedName(t?.get(d)?.dataflows?.[0],n)??d:d,f=[...a?.other??[],...m?a?.indicators??[]:[]];for(const p of f){const g=l.get(p);g?g.push(h):l.set(p,[h])}}return l},[o,e,t,n,s]);return c.useMemo(()=>{if(!r.size)return;function l(d){const a=r.get(d.id);return a?.length?i.jsxs("span",{className:"flex w-full items-center gap-2 overflow-hidden",children:[i.jsx("span",{className:"min-w-0 flex-1 truncate",title:d.label,children:d.label}),i.jsx("span",{className:"h5 min-w-0 flex-1 truncate text-right text-neutrals-700",title:a.join(", "),children:a.join(", ")})]}):d.label}return l},[r])}var Ne=(e=>(e.Header="header",e.Cell="cell",e))(Ne||{}),Ee=(e=>(e.Focus="focus",e.Default="default",e))(Ee||{});const eu="grid gap-1",tu={gridTemplateColumns:"44px 23px 23px",gridTemplateRows:"repeat(4, 14px)"},nu={gridTemplateColumns:"repeat(4, 21.5px)",gridTemplateRows:"repeat(4, 14px)"},su={[Ne.Header]:{[Ee.Focus]:"content-center rounded-sm border border-accent-300 bg-accent-300 text-center text-[8px] font-semibold",[Ee.Default]:"rounded-sm bg-semantic-warning border border-accent-300"},[Ne.Cell]:{[Ee.Focus]:"content-center rounded-sm border border-accent-300 bg-hues-100 pl-1 text-left text-[8px] font-semibold",[Ee.Default]:"rounded-sm bg-neutrals-100 border border-accent-300"}},ir=({rows:e,style:t})=>i.jsx("div",{className:eu,style:t,children:e.map((n,s)=>i.jsx(c.Fragment,{children:n.map((o,r)=>i.jsx("span",{className:Ze([su[o.role][o.emphasis],!o.label&&"text-transparent"]),children:o.label||" "},`${s}-${r}`))},s))}),ou=[[{role:Ne.Header,emphasis:Ee.Focus,label:"D1.D2.D3"},{role:Ne.Header,emphasis:Ee.Default},{role:Ne.Header,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1.A"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1.B"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C2.X"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}]],iu=()=>i.jsx(ir,{rows:ou,style:tu}),ru=[[{role:Ne.Header,emphasis:Ee.Focus,label:"D1"},{role:Ne.Header,emphasis:Ee.Focus,label:"D2"},{role:Ne.Header,emphasis:Ee.Focus,label:"D3"},{role:Ne.Header,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1"},{role:Ne.Cell,emphasis:Ee.Focus,label:"A"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1"},{role:Ne.Cell,emphasis:Ee.Focus,label:"B"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C2"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Focus,label:"X"},{role:Ne.Cell,emphasis:Ee.Default}]],au=()=>i.jsx(ir,{rows:ru,style:nu}),Fs=({title:e,description:t,visual:n,mode:s,activeMode:o,onClick:r})=>i.jsxs("button",{type:"button",className:Ze(["flex items-center gap-3 rounded border p-1",s===o&&"border-primary"]),onClick:()=>r(s),children:[i.jsx("div",{className:"rounded-[5px] bg-neutrals-100 px-2 py-1",children:n}),i.jsxs("div",{className:"flex flex-col gap-1 text-left",children:[i.jsx("span",{className:"h4 text-neutrals-1000",children:e}),i.jsx("span",{className:"caption text-neutrals-800",children:t})]})]}),lu=({gridViewMode:e,onModeChange:t,compactViewTitle:n,compactViewDescription:s,extendedViewTitle:o,extendedViewDescription:r})=>i.jsxs("div",{className:"mx-5 my-3 flex flex-col gap-2",children:[i.jsx(Fs,{title:n||"Compact view",description:s??i.jsxs(i.Fragment,{children:["Related dimensions ",i.jsx("strong",{children:"combined into a single column."})]}),visual:i.jsx(iu,{}),mode:Xe.Compact,activeMode:e,onClick:t}),i.jsx(Fs,{title:o||"Extended view",description:r??i.jsxs(i.Fragment,{children:["Each dimension displayed in ",i.jsx("strong",{children:"separate column."})]}),visual:i.jsx(au,{}),mode:Xe.Extended,activeMode:e,onClick:t})]}),Ps="table-settings-side-panel",cu=()=>{const{gridApi:e,initialColumnsState:t,structuresMap:n,locale:s,dataQueries:o,dimensionCustomization:r,setDimensionKeyOrder:l,setDimensionKeyHidden:d,resetDimensionCustomization:a,clearUserColumnState:u,clearInitialColumnState:m,gridViewMode:h,setGridViewMode:f,texts:p,resetIcon:g}=Kn(),w=hn(),C=Qd(),v=c.useCallback(y=>{u(),m(),a(),f(y)},[u,m,a,f]),x=c.useCallback(()=>{e&&(u(),t?hd(e,t):e.resetColumnState(),a())},[u,e,t,a]),S=c.useMemo(()=>{if(!(h!==Xe.Compact||!w||!n||!s||!o?.length))return Id({dataQueries:o,structuresMap:n,getDimensionsScheme:w.getDimensionsScheme,getDimensionConfig:(y,T)=>w.map[y]?.[T],locale:s,dimensionCustomization:r})},[h,w,n,s,o,r]);return e?i.jsxs("div",{className:"flex h-full flex-col",children:[i.jsx(lu,{gridViewMode:h,onModeChange:v,compactViewTitle:p?.compactViewTitle,compactViewDescription:p?.compactViewDescription,extendedViewTitle:p?.extendedViewTitle,extendedViewDescription:p?.extendedViewDescription}),i.jsx("hr",{className:"border-neutrals-500"}),i.jsxs("div",{className:"mx-5 mb-4 mt-5 flex items-center justify-between",children:[i.jsx("h3",{className:"text-neutrals-1000",children:p?.columnsDisplayTitle||"Columns display"}),i.jsx("button",{type:"button",className:"text-neutrals-800",onClick:x,children:g??i.jsx(Be.IconRotate,{className:"size-4 rotate-180"})})]}),i.jsx(qd,{api:e,enrichItem:S,renderLabel:C,onSubItemOrderChange:l,onSubItemVisibilityChange:d,searchPlaceholder:p?.columnsSearchPlaceholder})]}):null},du=e=>{const{attachmentsStyles:t}=we(),{onGridApiReady:n}=Kn(),s=ht(),o=c.useCallback(()=>{s&&s.openPanel({id:Ps,scope:"advanced",title:t?.tableSettings||"Table settings",headerClassName:"border-b border-neutrals-500",content:i.jsx(cu,{})})},[s,t?.tableSettings]);return i.jsx(qn,{...e,isTableSettingsOpen:s?.isPanelOpen(Ps)??!1,onTableSettingsOpen:s?o:void 0,onTableSettingsClose:s?.closePanel,onGridApiReady:n})},uu=({actions:e,structureDataMaps:t,buttonProps:n,modalProps:s,dataQueries:o,onMultipleDataFiltersChange:r,locale:l,timeRangeOptions:d,datasetIcon:a,conversationKey:u,conversation:m,setConversation:h,updateConversation:f,updateDataQueries:p,limitMessages:g,filterIconClassName:w})=>{const{titles:C}=we(),v=hn(),{modalState:x,setModalState:S,isModalClosed:y,setIsModalClosed:T}=Di(),[N,M]=c.useState([]),[D,A]=c.useState([]),[I,j]=c.useState(),[L,B]=c.useState([]),[G,z]=c.useState(void 0),$=c.useRef(t?.constraintsMap),[Q,_]=c.useState(),[Y,q]=c.useState(),[X,ne]=c.useState(),[pe,ve]=c.useState(!1),De=c.useRef(0),[V,P]=c.useState(new Set),[ce,de]=c.useState(new Set),le=c.useRef(m);c.useEffect(()=>{le.current=m},[m]);const je=c.useCallback(()=>{De.current+=1,De.current===1&&ve(!0)},[]),Te=c.useCallback(()=>{De.current=Math.max(De.current-1,0),De.current===0&&ve(!1)},[]),O=c.useMemo(()=>Za(o,t),[o,t]),U=c.useCallback(R=>wl(R,t?.dimensionsMap,t?.structuresMap),[t?.dimensionsMap,t?.structuresMap]),oe=c.useCallback(R=>U(R).codelistUrn,[U]),ie=c.useCallback(R=>{const F=R.filterType==="dataset"?R.datasetUrn:R.sourceDatasetUrns?.[0];return F?$.current?.get(F):void 0},[]),me=c.useCallback(R=>U(R).sourceArtefactUrn,[U]),{hierarchyStateMap:ue,rebuildHierarchyTree:re,loadAvailableHierarchies:Le,onSelectHierarchy:ye,onExpandHierarchyNode:ge}=Ni({getCodelistUrnForFilter:oe,getConstraintsForFilter:ie,getSourceArtefactUrn:me,getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),Ie=R=>{const F=R?N.map(W=>_e(W,R)?R:W):N;ne(!0),M(Jt(F)),q?.(!0),Ce(R?.isTimeDimension?Xt(F,R):F,M,q,R)};c.useEffect(()=>{x===E.PopUpState.Closed&&_($.current)},[x]);const Ce=c.useCallback((R,F,W,te)=>{const Fe=gt(R,$.current,!1,v.map),xe=fs(o,Fe,e,v.map,R);xe&&je();const be=ms(o,Fe,e,v.map,R);Promise.allSettled(be).then(tt=>{const Je=ps($.current||t?.constraintsMap,hs(tt)),ct={...t,constraintsMap:Je};if(te){const{filtersMap:Ut,changed:pt}=Ol(Fe,ct,te,l,v.map);if(pt){$.current=Je,W?.(!0),ne(!0);const wr=Et(Ut,ct,l,v.map);Ce(wr,F,W,te);return}}const dt=Et(Fe,ct,l,v.map);if($.current=Je,W?.(!1),F(dt),te){const Ut=dt.find(pt=>_e(pt,te));j(pt=>pt&&Ut&&_e(pt,te)?{...Ut,isSelectedFilter:!0}:pt),re(te,ie(te))}}).catch(()=>{const tt=$.current||t?.constraintsMap||new Map,Je=Et(Fe,{...t,constraintsMap:tt},l,v.map);if($.current=tt,W?.(!1),F(Je),te){const ct=Je.find(dt=>_e(dt,te));j(dt=>dt&&ct&&_e(dt,te)?{...ct,isSelectedFilter:!0}:dt)}}).finally(()=>{ne(!1),xe&&Te()})},[e,o,v.map,Te,ie,l,re,je,t]);c.useEffect(()=>{if(!O){q(!0);return}const R=Zo(t,l),F=o?.map(te=>{if(!te.disabled)return te;const Fe=(R.get(te.urn)??[]).filter(xe=>xe.filterType==="dataset"&&xe.id&&!xe.isTimeDimension).map(xe=>({componentCode:xe.id,operator:J.QueryFilterType.IN,values:[]}));return{...te,filters:Fe}}),W=Xo(R,F,t?.constraintsMap,v.map);q?.(!0),Ce(W,A,q)},[o,v.map,Ce,O,l,t]),c.useEffect(()=>{D?.length&&B(sn(D))},[D]),c.useEffect(()=>{M(R=>Xt(R,I))},[I]),c.useEffect(()=>{if(x===E.PopUpState.Opened){z(void 0);const R=D.find(W=>!W.isTimeDimension);j(R?{...R,isSelectedFilter:!0}:void 0),M(D);const F=new Set(o?.filter(W=>W.disabled).map(W=>W.urn));P(F),de(F)}x===E.PopUpState.Closed&&j(void 0)},[D,o,x]),c.useEffect(()=>{if(!I||I.isTimeDimension)return;const R=Ke(I);if(!R)return;ue.get(R)||Le(I)},[I,ue,Le]),c.useEffect(()=>{x===E.PopUpState.Opened&&D.forEach(R=>{if(R.isTimeDimension)return;const F=Ke(R);F&&!ue.has(F)&&Le(R)})},[x,D,ue,Le]);const Pe=c.useCallback(async R=>{const F=le.current,W=o?.map(be=>({...be,disabled:V.has(be.urn)})),te=W?.filter(be=>!be.disabled),Fe=ii(te,R),xe=F?{...F,messages:Mi(F.messages,W,Fe)}:null;h?.(xe),p?.(W?.map(be=>({...be,filters:be.disabled?be.filters??[]:Fe.get(be.urn)??[]}))??[]),await f(decodeURI(u),{name:xe?.name,messages:xe?.messages||[]})},[u,o,V,h,f,p]),ke=c.useCallback((R,F)=>{M(W=>Do(W,R,F)),_e(I,R)&&j(W=>W&&{...W,displayMode:F})},[I]),$e=c.useCallback(R=>oi(R,o,t?.dimensionsMap),[o,t?.dimensionsMap]),Re=c.useMemo(()=>{const R=gt(D,$.current,!1,v.map),F=gt(N,$.current,!1,v.map),W=vn($e(R),$e(F)),te=vn([...ce].sort(),[...V].sort());return W&&te},[D,N,ce,V,$e,v.map]),Ue=c.useCallback((R,F)=>{const W=Et(R,F,l,v.map);$.current=F?.constraintsMap,j(te=>W?.find(Fe=>_e(Fe,te))||te),M(W),ne(!1)},[v.map,l]),He=c.useCallback((R,F)=>{ne(!0),M(Jt(R));const W=gt(R,$.current,!1,v.map),te=$.current||t?.constraintsMap||new Map,Fe=fs(F,W,e,v.map,R);Fe&&je();const xe=ms(F,W,e,v.map,R);Promise.allSettled(xe).then(be=>{const tt=ps(te,hs(be));Ue(W,{...t,constraintsMap:tt})}).catch(()=>{Ue(W,{...t,constraintsMap:te})}).finally(()=>{Fe&&Te()})},[e,v.map,Te,je,t,Ue]),st=c.useCallback(R=>{const F=o?.find(te=>te?.urn===R?.datasetUrn),W=To(N,R);He(W,R?.datasetUrn?F?[F]:[]:o)},[He,N,o]),Z=c.useCallback(()=>{P(new Set)},[]),fe=c.useCallback((R,F)=>{P(W=>{const te=new Set(W);return F?te.delete(R):te.add(R),te})},[]),se=c.useCallback(()=>{$.current=Q,S(E.PopUpState.Closed),T(!0)},[Q,S,T]),ae=c.useCallback(()=>{const R=Mo(N);He(R,o),P(new Set)},[He,N,o]),ze=c.useCallback(()=>{const R=o?.map(be=>({...be,disabled:V.has(be.urn)})),F=gt(N,$.current,!1,v.map,V),W=Et(F,{...t,constraintsMap:$.current},l,v.map),te=$e(F),Fe=Jo(W,o?.map(be=>be.urn)??[],o,v.map,F),xe=(o?.map(be=>be.urn)??[]).filter(be=>!Fe.has(be));for(const be of xe){const tt=F.get(be);tt&&F.set(be,tt.map(Je=>!Je.isTimeDimension&&Je.dimensionValues?.length&&!Je.dimensionValues.some(ct=>ct.isSelectedValue)?{...Je,isExcluded:!0}:Je))}r?.(te,$.current,R?.filter(be=>Fe.has(be.urn)||be.disabled),F,W),A(W),S(E.PopUpState.Closed),T(!0),c.startTransition(()=>{Pe(F)})},[$e,N,t,l,v.map,r,o,V,Pe,S,T]),k=R=>{z(R)},H=c.useMemo(()=>o?.map(R=>{const F=t?.structuresMap?.get(R.urn)?.dataflows?.[0],W=b.getLocalizedName(F,l??""),te=W?b.generateShortUrn(W,"",F?.agencyID):void 0;return te?{...R,title:te}:R}),[o,t?.structuresMap,l]),ee=Y||X||Re;return i.jsxs("div",{className:"filters-container",children:[i.jsx(vi,{buttonProps:n,selectedFiltersCount:Pn(L),isLoading:Y,setModalState:S,isModalClosed:y,warningIcon:g?.warningIcon,filterIconClassName:w}),i.jsx(i.Fragment,{children:x===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:C?.settings||"Settings",portalId:"filters",size:E.PopUpSize.LG,containerClassName:"advanced-view-filters-modal h-[80%]",dividers:s?.isShowDividers,onClose:se,closeButtonTitle:C?.close||"Close",children:[i.jsx(pi,{locale:l,timeRangeOptions:d,filtersList:N,selectedFilter:I,isDisableValues:X,isValuesLoading:pe,modalProps:s,initialConstraintsMap:t?.constraintsMap,datasetIcon:a,structuresMap:t?.structuresMap,setSelectedFilter:j,onSelectDisplayMode:ke,onDeleteFilter:st,onClearAllFilters:ae,updateSelectedFilterValues:Ie,onTimePeriodChange:k,selectedTimeOption:G,hierarchyStateMap:ue,onSelectHierarchy:ye,onExpandHierarchyNode:ge,dataQueries:H,disabledDatasetUrns:V,onToggleDataset:fe,onClearAllDatasets:Z}),i.jsx(Ci,{onApply:ze,onClose:se,onClearAllFilters:ae,modalProps:s,applyDisabled:ee,limitMessages:g})]})})]})},mu=({filtersProps:e,actions:t,attachments:n,attachmentsDataQuery:s,dataQueries:o,dimensions:r,locale:l,isDataLoading:d,setIsFiltering:a,filters:u,onFiltersChange:m})=>{const{titles:h,limitMessages:f}=we(),p={getConstraints:t.getConstraints,getAvailableHierarchies:e.actions?.getAvailableHierarchies,getHierarchy:e.actions?.getHierarchy},{isCrossDatasetModeOn:g}=Ge();return c.useEffect(()=>{d||a?.(!1)},[d,a]),i.jsx("div",{className:"h-full min-h-0 rounded bg-white",children:i.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-x-hidden",children:[i.jsxs("div",{className:"data-details-header flex items-center justify-between",children:[i.jsx("h2",{children:h?.content??"Content"}),g?i.jsx(uu,{attachmentsDataQuery:s,dataQueries:o,updateDataQueries:t?.updateDataQueries,locale:l,actions:p,dimensions:r,...e,onFiltersChange:m,limitMessages:f}):i.jsx(Ul,{attachmentsDataQuery:s,dataQueries:o,updateDataQueries:t?.updateDataQueries,locale:l,actions:p,dimensions:r,...e,onFiltersChange:m,limitMessages:f})]}),i.jsx("div",{className:"advanced-view-attachments-container min-h-0 flex-1",children:i.jsx(du,{attachments:n,currentDataQuery:s,dataQueries:o,dimensions:r,actions:t,isShowAttachments:!0,isDataSetAttachments:!0,isDataLoading:d,locale:l,filters:u})})]})})},fu=({isShowAgency:e,isShowDatasetBadge:t,dataset:n,data:s,structures:o,metadataSettings:r,locale:l,getDatasetUpdatedTime:d,externalLink:a,datasetIcon:u,externalLinkIcon:m,metadataButtonClassName:h,metadataIconClassName:f,infoSegmentContainerClassName:p,infoSegmentHeaderClassName:g,nameAndMetadataContainerClassName:w})=>{const{titles:C}=we(),v="dataset-metadata-side-panel",[x,S]=c.useState(""),[y,T]=c.useState(!1),N=c.useRef(null),[M,D]=c.useState(""),[A,I]=c.useState(""),[j,L]=c.useState(!1),{onboardingFileSchema:B,isShowOnboarding:G}=Ye(),{isOpenedAdvancedView:z}=We(),$=ht(),{isMetadataInSidePanel:Q}=Ge(),[_,Y]=c.useState(!1),q=c.useMemo(()=>r?.isMetadataDescription?Oc(n,x,l,C):[],[n,x,l,r?.isMetadataDescription,C]),X=c.useMemo(()=>[...r?.isMetadataDescription?[]:[Ft(n,l,C)],...Wi($i(s),b.getStructureComponentsMap(o),l)],[s,n,l,r?.isMetadataDescription,o,C]),ne=c.useMemo(()=>Pt(n,x,l,C),[n,x,l,C]),pe=c.useCallback(()=>{if(Q&&$){$.openPanel({id:v,scope:z?"advanced":"conversation",title:"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Lt,{locale:l,metadata:X,metadataDescription:q,datasetInfo:ne,externalLink:a})}),Y(!0);return}T(!0)},[q,X,ne,a,Q,z,l,$]),ve=c.useCallback(()=>{T(!1),Y(!0)},[]);c.useEffect(()=>{const P=d&&d(X)||_t(b.getLastUpdatedTime(n),l);S(P)},[n,l,X,d]),c.useEffect(()=>{if(G){const{title:V,description:P}=at(Oe.METADATA_PER_DATASET,C);D(V),I(P)}},[C,G]),c.useEffect(()=>{G&&L(B?.lastDisplayedElement===Oe.METADATA_PER_DATASET)},[B?.lastDisplayedElement,G]);const De=(V,P)=>i.jsxs("div",{className:Ze("flex gap-1 text-neutrals-1000",p),children:[i.jsxs("span",{className:Ze("text-neutral-800",g),children:[V,":"]}),i.jsx("span",{children:P})]});return i.jsxs("div",{className:"dataset-info flex flex-col gap-3 bg-white",children:[t&&i.jsxs("div",{className:"bg-accent-500 body-2 flex w-fit items-center gap-1 rounded-[20px] px-2 py-1",children:[u,C?.dataset??"Dataset"]}),i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsxs("div",{role:"heading","aria-level":4,className:Ze("flex gap-1 items-center h4",w),children:[i.jsx("div",{ref:N,children:i.jsx(E.IconButton,{title:C?.metadata??"View details",buttonClassName:Ze("!text-neutrals-1000 !border-none !w-4 !h-4 !p-0 shrink-0",h),icon:i.jsx(Oi,{className:Ze("size-4",f)}),onClick:pe})}),i.jsx("span",{children:b.getLocalizedName(n,l)})]}),a&&i.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:m||i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})})]}),i.jsxs("div",{className:"body-3 flex items-center gap-2",children:[e&&i.jsxs(i.Fragment,{children:[De(C?.agency??"Agency",n?.agencyID??""),i.jsx("div",{"aria-hidden":"true",className:"h-[14px] border-l border-l-neutral-500"})]}),De(C?.lastUpdated??"Last updated",x)]})]}),j&&i.jsx(lt,{reference:N,title:M,description:A,onReferenceClick:pe,shouldCloseTooltip:_}),y&&i.jsx($n,{locale:l,metadata:X,metadataDescription:q,isOpenMetadata:y,onCloseMetadata:ve})]})},hu=({locale:e,isShowShare:t,shareConversationProps:n,conversation:s})=>{const{titles:o}=we(),{setIsOpenedAdvancedView:r}=We(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye();return c.useEffect(()=>{if(g){const{title:w,description:C}=at(Oe.EXIT_ADVANCED_VIEW,o);a(w),m(C)}},[o,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Oe.EXIT_ADVANCED_VIEW)},[p?.lastDisplayedElement,g]),i.jsxs("header",{className:K("bg-white px-6 py-4 flex justify-between items-center sm:px-0","advanced-view-header"),children:[i.jsxs("div",{className:K("flex gap-3 items-center",!t&&"justify-between w-full","advanced-view-header-title"),children:[i.jsx("div",{ref:l,className:K(!t&&"order-2","flex"),children:i.jsx(E.CloseButton,{btnClassNames:"button-close",onClick:()=>r(!1),title:o?.close||"Close"})}),h&&i.jsx(lt,{reference:l,title:d,description:u,onReferenceClick:()=>r(!1),shouldMoveToNextStep:!0}),i.jsx("h2",{children:o?.advanceViewTitle??"Advanced view"})]}),t&&i.jsx(ho,{locale:e,conversation:s,...n})]})};function pu(e,t,n,s,o,r,l,d,a){const u=gu(e,n),m=a?.startPeriod&&a.endPeriod?b.getAdditionalColumns(d,a):[],h=Cu(e,t,n,s,o,r,m);return[bc(e,t?.data,n,o,r,l),...u,...h,Vi(e,t?.data,n,void 0,r,l)]}function gu(e,t){const n=e.conceptSchemes||[],s=e.codelists||[],o=b.getDimensions(e)?.dimensions||[];return o.map(r=>{const{codeList:l,concept:d}=un(r,n,s),a=u=>{const{data:m,colDef:h}=u,f=h.field;return Yn(o,f,l,m,t)};return{headerName:b.getLocalizedName(d,t),field:r.id,colId:r.id,valueGetter:a,...xt,tooltipValueGetter:u=>u.value}})}function Cu(e,t,n,s,o,r,l){const d=wu(l,b.getTimePeriods(t));return Su(d,(u,m)=>xu(u,m||u,s,r),e,n,o,r)}const xu=(e,t,n=J.defaultFormatNumbers,s)=>({headerName:vo(t,s),colId:e,field:e,type:"numericColumn",suppressColumnsToolPanel:!0,sortable:!1,width:bt,cellClass:["justify-end","cell-with-meta"],valueFormatter:o=>J.formatNumberBySign(o.value,n)}),Su=(e,t,n,s,o,r)=>{const l=[];return e.sort((a,u)=>b.sortPeriods(a,u)).forEach(a=>{l.push({headerName:a.toString(),field:a.toString(),...t(a.toString()),valueGetter:u=>u.data[u.column.getColId()]?.value?.[0]?.value||null,cellClass:ft,cellRenderer:an,width:bt,cellRendererParams:{dataSetData:n,locale:s,metadataSettings:o,titles:r}})}),l},wu=(e=[],t=[])=>{if(!e.length)return t;if(!t.length)return e;const n=t.some(u=>b.isYearly(u)),s=t.some(u=>b.isSemiAnnually(u)),o=t.some(u=>b.isQuarterly(u)),r=t.some(u=>b.isMonthly(u)),l=t.some(u=>b.isWeekly(u)),d=t.some(u=>b.isDaily(u)),a=e.filter(u=>b.isYearly(u)?n:b.isSemiAnnually(u)?s:b.isQuarterly(u)?o:b.isMonthly(u)?r:b.isWeekly(u)?l:b.isDaily(u)?d:!0);return Array.from(new Set([...a,...t]))};function vu(e,t,n){const s=t.map(r=>r.id).filter(r=>r!=null),o=n.map(r=>r.id).filter(r=>r!=null);return bu(e,s,o,s)}const bu=(e,t,n,s)=>{const o={};for(const r of e){const l=Eu(r,t),d=Du(l,s);let a=o[d];if(a==null){a={},o[d]=a;for(const m of s)a[m]=l[m]}const u=Os(r.attributes);if(ks(a,d,u,r),!r.values.length){_s(a,l,n);continue}for(const m of r.values){const h=Os(m.obsAttributes);ks(a,d,u,r),_s(a,l,n,m.dimensionAtObservation,Tu(r,m),h)}}return Object.values(o)},Du=(e,t)=>t.map(n=>e[n]).join("_"),yu=(e,t,n)=>t.map(s=>s==="TIME_PERIOD"?n:e[s]).join("_"),_s=(e,t,n,s,o,r)=>{const l=yu(t,n,s);e[l]={value:o,obsAttributes:r}},Eu=(e,t)=>{const n={},s=e.name.split(".");for(let o=0;o<t.length;o+=1)n[t[o]]=s[o];return n},Tu=(e,t)=>{const n=Vs(e.attributes);if(n)return[n];const s=Vs(t.obsAttributes);return s?[s]:t.values},Vs=(e=[])=>e.find(({name:t})=>t==="OBS_VALUE"),Os=(e=[])=>e.filter(({value:t})=>t),ks=(e,t,n,s)=>{e.attributes??=n,e.id=t,e.originalData=s},Mu="#EEEEEE",Nu="#777777";function Iu(e,t,n){const s={animation:!1,tooltip:{trigger:"axis",appendToBody:!0,formatter:o=>{let r=o[0].axisValueLabel+"<br/>";return o.forEach(l=>{l.value!==null&&l.value!==void 0&&(r+=l.marker+" "+l.seriesName+": "+l.value+"<br/>")}),r}},legend:{bottom:0},grid:{left:"3%",right:"3%",bottom:"40px",containLabel:!0},xAxis:{...Us(n?.ticksColor,n?.labelsColor),type:"category",boundaryGap:!1,data:e},yAxis:{...Us(n?.ticksColor,n?.labelsColor),type:"value"},series:t};return n?.colors!=null&&(s.color=n.colors),s}function Us(e=Mu,t=Nu){return{splitLine:{show:!0,showMaxLine:!1,lineStyle:{color:[e]}},axisTick:{show:!1},axisLabel:{color:t},axisLine:{lineStyle:{color:e}}}}function rr(e,t,n,s){return t.map(r=>{const l=b.getDimensions(n)?.dimensions||[],d=l?.find(u=>u.id===r);if(d==null)return e[r]||"";const{codeList:a}=un(d,n.conceptSchemes||[],n.codelists||[]);return Yn(l,r,a,e,s)}).join(" - ")}function Au(e,t){const n=[...t?.metadata?.indicatorDimensions||[]].filter(r=>r!=null),o=b.getDimensions(e)?.dimensions?.filter(r=>r.id!=null&&!n.includes(r.id)&&t?.metadata?.countryDimension!==r.id).map(r=>r.id).filter(r=>r!=null)||[];return[...n,...o]}function ju(e,t,n){const s={};return e.forEach(o=>{const r=Ru(o,t,n);s[r]||(s[r]={rows:[]}),s[r].rows.push(o)}),Object.keys(s).map(o=>s[o])}function Ru(e,t,n){const s=n.dataStructures?.[0]?.dataStructureComponents?.dimensionList?.dimensions||[];return t.map(r=>s?.find(d=>d.id===r)==null?e[r]||"":nr(s,r,e)).join(" - ")}function Lu(e,t){const n={};return e.forEach(s=>n[s]=Fu(s,t)),{nonUniqDimensions:e.filter(s=>!n[s])}}function Fu(e,t){const n=t.map(o=>Pu(e,o));return new Set(n).size===1}function Pu(e,t){return t[e]}const _u="line",Ht=10,Vu=2;function Ou(e){return typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim()!==""?Number.isFinite(Number(e)):!1}function ar(e){const t=(e.groups??[]).flatMap(n=>n.units);return[...e.units,...t].some(n=>n.isPlottable)}function lr(e,t,n,s,o){const r=Xn(t,e,n,s,o,{includeChartData:!1}),d=b.getTimePeriods(t).sort((h,f)=>b.sortPeriods(h,f)),a=Au(e,n),{nonUniqDimensions:u}=Lu(a,r);return{units:ju(r,u,e).map(h=>cr(h,e,n,d,s,o))}}function ku(e,t,n,s,o){let r;return()=>(r??=lr(e,t,n,s,o),r)}function Uu(e,t,n,s,o,r){return cr({rows:[e]},n,s,t,o,r)}function cr(e,t,n,s,o,r){const l=$u(e.rows,t,n,o),d=l?.find(m=>b.FREQUENCY_DIMENSION_ID.includes(m?.id))?.id,a=Bu(s,e?.rows?.[0],d),u=Gu(e.rows.length>Ht?e.rows.slice(0,Ht):e.rows,t,n,o,a);return{rows:e.rows,limitedByRowsAmountTo:e.rows.length>Ht?Ht:void 0,dimensions:l,config:Iu(a,u,r),isPlottable:Hu(u)}}function Hu(e){return e.some(t=>t.data.filter(Ou).length>=Vu)}function Bu(e,t,n){if(n){const s=t?.[n];if(s===b.Periods.MONTHLY)return e?.filter(o=>b.isMonthly(o));if(s===b.Periods.QUARTERLY)return e?.filter(o=>b.isQuarterly(o));if(s===b.Periods.ANNUAL)return e?.filter(o=>b.isYearly(o))}return e}function Gu(e,t,n,s,o){return e.map(r=>({name:n?.metadata?.countryDimension==null?"":rr(r,[n?.metadata?.countryDimension],t,s),type:_u,data:o.map(l=>zu(l,r))}))}function zu(e,t){return t[e]?.value?.[0]?.value||null}function $u(e,t,n,s){const o=n?.metadata?.countryDimension;return(b.getDimensions(t)?.dimensions||[]).map(r=>{if(!(r.id==null||r.id===o))return{id:r.id,title:Wu(r,t,s),value:rr(e[0],[r.id],t,s)}}).filter(r=>r!=null)}function Wu(e,t,n){const s=t.conceptSchemes||[],o=t.codelists||[],{concept:r}=un(e,s,o);return b.getLocalizedName(r,n)||e.id}function Xn(e,t,n,s,o,r={}){const l=e==null?[]:b.getParsedResponse(e),d=b.getDimensions(t)?.dimensions||[],a=b.getDimensions(t)?.timeDimensions||[],u=vu(l,d,a);return r.includeChartData===!1?u:Ku(u,e,t,n,s,o)}function Ku(e,t,n,s,o,r){const d=b.getTimePeriods(t).sort((a,u)=>b.sortPeriods(a,u));return e.map(a=>({...a,[It]:()=>Uu(a,d,n,s,o,r)}))}function Yu(e,t,n,s,o,r,l,d,a,u,m){return{columns:pu(e,t,s,o,r,d,a,u,m),data:Xn(t,e,n,s,l)}}function qu(e,t,n,s,o,r,l,d,a,u,m){const h=e.dataflows?.[0]?.names?.[s],f=Yu(e,t,n,s,o,r,l,d,a,u,m);return{title:h||d?.dataGrid||"Data Grid",grid_data:f}}function Zu(e){const t=e.replace(/\r\n/g,`
5
+ `).map(s=>s.replace(Pr," ").trim()).filter(Boolean)[0]??"";return(t.length>ts?t.substring(0,ts):t).trim()},Or=(e,t,n,s,o,r)=>{const l=`${e}/${t}`;return{name:n,folderId:l,prompt:o,id:he.generateConversationId({folderId:l,name:n}),messages:[{role:Ae.Role.Assistant,content:s}],custom_fields:{configuration:{choice:r}}}},eo=c.createContext(null);function sn({children:e,styles:t}){return i.jsx(eo.Provider,{value:t??{},children:e})}function we(){const e=c.useContext(eo);if(!e)throw new Error("useConversationViewStyles must be used within ConversationViewStylesProvider");return e}var kr=Object.defineProperty,Zt=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable,ns=(e,t,n)=>t in e?kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bn=(e,t)=>{for(var n in t||(t={}))to.call(t,n)&&ns(e,n,t[n]);if(Zt)for(var n of Zt(t))no.call(t,n)&&ns(e,n,t[n]);return e},Dn=(e,t)=>{var n={};for(var s in e)to.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&Zt)for(var s of Zt(e))t.indexOf(s)<0&&no.call(e,s)&&(n[s]=e[s]);return n};var xt;(e=>{const t=class Se{constructor(a,u,m,h){if(this.version=a,this.errorCorrectionLevel=u,this.modules=[],this.isFunction=[],a<Se.MIN_VERSION||a>Se.MAX_VERSION)throw new RangeError("Version value out of range");if(h<-1||h>7)throw new RangeError("Mask value out of range");this.size=a*4+17;let f=[];for(let g=0;g<this.size;g++)f.push(!1);for(let g=0;g<this.size;g++)this.modules.push(f.slice()),this.isFunction.push(f.slice());this.drawFunctionPatterns();const p=this.addEccAndInterleave(m);if(this.drawCodewords(p),h==-1){let g=1e9;for(let S=0;S<8;S++){this.applyMask(S),this.drawFormatBits(S);const x=this.getPenaltyScore();x<g&&(h=S,g=x),this.applyMask(S)}}o(0<=h&&h<=7),this.mask=h,this.applyMask(h),this.drawFormatBits(h),this.isFunction=[]}static encodeText(a,u){const m=e.QrSegment.makeSegments(a);return Se.encodeSegments(m,u)}static encodeBinary(a,u){const m=e.QrSegment.makeBytes(a);return Se.encodeSegments([m],u)}static encodeSegments(a,u,m=1,h=40,f=-1,p=!0){if(!(Se.MIN_VERSION<=m&&m<=h&&h<=Se.MAX_VERSION)||f<-1||f>7)throw new RangeError("Invalid value");let g,S;for(g=m;;g++){const w=Se.getNumDataCodewords(g,u)*8,b=l.getTotalBits(a,g);if(b<=w){S=b;break}if(g>=h)throw new RangeError("Data too long")}for(const w of[Se.Ecc.MEDIUM,Se.Ecc.QUARTILE,Se.Ecc.HIGH])p&&S<=Se.getNumDataCodewords(g,w)*8&&(u=w);let x=[];for(const w of a){n(w.mode.modeBits,4,x),n(w.numChars,w.mode.numCharCountBits(g),x);for(const b of w.getData())x.push(b)}o(x.length==S);const v=Se.getNumDataCodewords(g,u)*8;o(x.length<=v),n(0,Math.min(4,v-x.length),x),n(0,(8-x.length%8)%8,x),o(x.length%8==0);for(let w=236;x.length<v;w^=253)n(w,8,x);let C=[];for(;C.length*8<x.length;)C.push(0);return x.forEach((w,b)=>C[b>>>3]|=w<<7-(b&7)),new Se(g,u,C,f)}getModule(a,u){return 0<=a&&a<this.size&&0<=u&&u<this.size&&this.modules[u][a]}getModules(){return this.modules}drawFunctionPatterns(){for(let m=0;m<this.size;m++)this.setFunctionModule(6,m,m%2==0),this.setFunctionModule(m,6,m%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const a=this.getAlignmentPatternPositions(),u=a.length;for(let m=0;m<u;m++)for(let h=0;h<u;h++)m==0&&h==0||m==0&&h==u-1||m==u-1&&h==0||this.drawAlignmentPattern(a[m],a[h]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(a){const u=this.errorCorrectionLevel.formatBits<<3|a;let m=u;for(let f=0;f<10;f++)m=m<<1^(m>>>9)*1335;const h=(u<<10|m)^21522;o(h>>>15==0);for(let f=0;f<=5;f++)this.setFunctionModule(8,f,s(h,f));this.setFunctionModule(8,7,s(h,6)),this.setFunctionModule(8,8,s(h,7)),this.setFunctionModule(7,8,s(h,8));for(let f=9;f<15;f++)this.setFunctionModule(14-f,8,s(h,f));for(let f=0;f<8;f++)this.setFunctionModule(this.size-1-f,8,s(h,f));for(let f=8;f<15;f++)this.setFunctionModule(8,this.size-15+f,s(h,f));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let a=this.version;for(let m=0;m<12;m++)a=a<<1^(a>>>11)*7973;const u=this.version<<12|a;o(u>>>18==0);for(let m=0;m<18;m++){const h=s(u,m),f=this.size-11+m%3,p=Math.floor(m/3);this.setFunctionModule(f,p,h),this.setFunctionModule(p,f,h)}}drawFinderPattern(a,u){for(let m=-4;m<=4;m++)for(let h=-4;h<=4;h++){const f=Math.max(Math.abs(h),Math.abs(m)),p=a+h,g=u+m;0<=p&&p<this.size&&0<=g&&g<this.size&&this.setFunctionModule(p,g,f!=2&&f!=4)}}drawAlignmentPattern(a,u){for(let m=-2;m<=2;m++)for(let h=-2;h<=2;h++)this.setFunctionModule(a+h,u+m,Math.max(Math.abs(h),Math.abs(m))!=1)}setFunctionModule(a,u,m){this.modules[u][a]=m,this.isFunction[u][a]=!0}addEccAndInterleave(a){const u=this.version,m=this.errorCorrectionLevel;if(a.length!=Se.getNumDataCodewords(u,m))throw new RangeError("Invalid argument");const h=Se.NUM_ERROR_CORRECTION_BLOCKS[m.ordinal][u],f=Se.ECC_CODEWORDS_PER_BLOCK[m.ordinal][u],p=Math.floor(Se.getNumRawDataModules(u)/8),g=h-p%h,S=Math.floor(p/h);let x=[];const v=Se.reedSolomonComputeDivisor(f);for(let w=0,b=0;w<h;w++){let N=a.slice(b,b+S-f+(w<g?0:1));b+=N.length;const T=Se.reedSolomonComputeRemainder(N,v);w<g&&N.push(0),x.push(N.concat(T))}let C=[];for(let w=0;w<x[0].length;w++)x.forEach((b,N)=>{(w!=S-f||N>=g)&&C.push(b[w])});return o(C.length==p),C}drawCodewords(a){if(a.length!=Math.floor(Se.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let u=0;for(let m=this.size-1;m>=1;m-=2){m==6&&(m=5);for(let h=0;h<this.size;h++)for(let f=0;f<2;f++){const p=m-f,S=(m+1&2)==0?this.size-1-h:h;!this.isFunction[S][p]&&u<a.length*8&&(this.modules[S][p]=s(a[u>>>3],7-(u&7)),u++)}}o(u==a.length*8)}applyMask(a){if(a<0||a>7)throw new RangeError("Mask value out of range");for(let u=0;u<this.size;u++)for(let m=0;m<this.size;m++){let h;switch(a){case 0:h=(m+u)%2==0;break;case 1:h=u%2==0;break;case 2:h=m%3==0;break;case 3:h=(m+u)%3==0;break;case 4:h=(Math.floor(m/3)+Math.floor(u/2))%2==0;break;case 5:h=m*u%2+m*u%3==0;break;case 6:h=(m*u%2+m*u%3)%2==0;break;case 7:h=((m+u)%2+m*u%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[u][m]&&h&&(this.modules[u][m]=!this.modules[u][m])}}getPenaltyScore(){let a=0;for(let f=0;f<this.size;f++){let p=!1,g=0,S=[0,0,0,0,0,0,0];for(let x=0;x<this.size;x++)this.modules[f][x]==p?(g++,g==5?a+=Se.PENALTY_N1:g>5&&a++):(this.finderPenaltyAddHistory(g,S),p||(a+=this.finderPenaltyCountPatterns(S)*Se.PENALTY_N3),p=this.modules[f][x],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,S)*Se.PENALTY_N3}for(let f=0;f<this.size;f++){let p=!1,g=0,S=[0,0,0,0,0,0,0];for(let x=0;x<this.size;x++)this.modules[x][f]==p?(g++,g==5?a+=Se.PENALTY_N1:g>5&&a++):(this.finderPenaltyAddHistory(g,S),p||(a+=this.finderPenaltyCountPatterns(S)*Se.PENALTY_N3),p=this.modules[x][f],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,S)*Se.PENALTY_N3}for(let f=0;f<this.size-1;f++)for(let p=0;p<this.size-1;p++){const g=this.modules[f][p];g==this.modules[f][p+1]&&g==this.modules[f+1][p]&&g==this.modules[f+1][p+1]&&(a+=Se.PENALTY_N2)}let u=0;for(const f of this.modules)u=f.reduce((p,g)=>p+(g?1:0),u);const m=this.size*this.size,h=Math.ceil(Math.abs(u*20-m*10)/m)-1;return o(0<=h&&h<=9),a+=h*Se.PENALTY_N4,o(0<=a&&a<=2568888),a}getAlignmentPatternPositions(){if(this.version==1)return[];{const a=Math.floor(this.version/7)+2,u=this.version==32?26:Math.ceil((this.version*4+4)/(a*2-2))*2;let m=[6];for(let h=this.size-7;m.length<a;h-=u)m.splice(1,0,h);return m}}static getNumRawDataModules(a){if(a<Se.MIN_VERSION||a>Se.MAX_VERSION)throw new RangeError("Version number out of range");let u=(16*a+128)*a+64;if(a>=2){const m=Math.floor(a/7)+2;u-=(25*m-10)*m-55,a>=7&&(u-=36)}return o(208<=u&&u<=29648),u}static getNumDataCodewords(a,u){return Math.floor(Se.getNumRawDataModules(a)/8)-Se.ECC_CODEWORDS_PER_BLOCK[u.ordinal][a]*Se.NUM_ERROR_CORRECTION_BLOCKS[u.ordinal][a]}static reedSolomonComputeDivisor(a){if(a<1||a>255)throw new RangeError("Degree out of range");let u=[];for(let h=0;h<a-1;h++)u.push(0);u.push(1);let m=1;for(let h=0;h<a;h++){for(let f=0;f<u.length;f++)u[f]=Se.reedSolomonMultiply(u[f],m),f+1<u.length&&(u[f]^=u[f+1]);m=Se.reedSolomonMultiply(m,2)}return u}static reedSolomonComputeRemainder(a,u){let m=u.map(h=>0);for(const h of a){const f=h^m.shift();m.push(0),u.forEach((p,g)=>m[g]^=Se.reedSolomonMultiply(p,f))}return m}static reedSolomonMultiply(a,u){if(a>>>8||u>>>8)throw new RangeError("Byte out of range");let m=0;for(let h=7;h>=0;h--)m=m<<1^(m>>>7)*285,m^=(u>>>h&1)*a;return o(m>>>8==0),m}finderPenaltyCountPatterns(a){const u=a[1];o(u<=this.size*3);const m=u>0&&a[2]==u&&a[3]==u*3&&a[4]==u&&a[5]==u;return(m&&a[0]>=u*4&&a[6]>=u?1:0)+(m&&a[6]>=u*4&&a[0]>=u?1:0)}finderPenaltyTerminateAndCount(a,u,m){return a&&(this.finderPenaltyAddHistory(u,m),u=0),u+=this.size,this.finderPenaltyAddHistory(u,m),this.finderPenaltyCountPatterns(m)}finderPenaltyAddHistory(a,u){u[0]==0&&(a+=this.size),u.pop(),u.unshift(a)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(d,a,u){if(a<0||a>31||d>>>a)throw new RangeError("Value out of range");for(let m=a-1;m>=0;m--)u.push(d>>>m&1)}function s(d,a){return(d>>>a&1)!=0}function o(d){if(!d)throw new Error("Assertion error")}const r=class Ve{constructor(a,u,m){if(this.mode=a,this.numChars=u,this.bitData=m,u<0)throw new RangeError("Invalid argument");this.bitData=m.slice()}static makeBytes(a){let u=[];for(const m of a)n(m,8,u);return new Ve(Ve.Mode.BYTE,a.length,u)}static makeNumeric(a){if(!Ve.isNumeric(a))throw new RangeError("String contains non-numeric characters");let u=[];for(let m=0;m<a.length;){const h=Math.min(a.length-m,3);n(parseInt(a.substring(m,m+h),10),h*3+1,u),m+=h}return new Ve(Ve.Mode.NUMERIC,a.length,u)}static makeAlphanumeric(a){if(!Ve.isAlphanumeric(a))throw new RangeError("String contains unencodable characters in alphanumeric mode");let u=[],m;for(m=0;m+2<=a.length;m+=2){let h=Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m))*45;h+=Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m+1)),n(h,11,u)}return m<a.length&&n(Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m)),6,u),new Ve(Ve.Mode.ALPHANUMERIC,a.length,u)}static makeSegments(a){return a==""?[]:Ve.isNumeric(a)?[Ve.makeNumeric(a)]:Ve.isAlphanumeric(a)?[Ve.makeAlphanumeric(a)]:[Ve.makeBytes(Ve.toUtf8ByteArray(a))]}static makeEci(a){let u=[];if(a<0)throw new RangeError("ECI assignment value out of range");if(a<128)n(a,8,u);else if(a<16384)n(2,2,u),n(a,14,u);else if(a<1e6)n(6,3,u),n(a,21,u);else throw new RangeError("ECI assignment value out of range");return new Ve(Ve.Mode.ECI,0,u)}static isNumeric(a){return Ve.NUMERIC_REGEX.test(a)}static isAlphanumeric(a){return Ve.ALPHANUMERIC_REGEX.test(a)}getData(){return this.bitData.slice()}static getTotalBits(a,u){let m=0;for(const h of a){const f=h.mode.numCharCountBits(u);if(h.numChars>=1<<f)return 1/0;m+=4+f+h.bitData.length}return m}static toUtf8ByteArray(a){a=encodeURI(a);let u=[];for(let m=0;m<a.length;m++)a.charAt(m)!="%"?u.push(a.charCodeAt(m)):(u.push(parseInt(a.substring(m+1,m+3),16)),m+=2);return u}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let l=r;e.QrSegment=r})(xt||(xt={}));(e=>{(t=>{const n=class{constructor(o,r){this.ordinal=o,this.formatBits=r}};n.LOW=new n(0,1),n.MEDIUM=new n(1,0),n.QUARTILE=new n(2,3),n.HIGH=new n(3,2),t.Ecc=n})(e.QrCode||(e.QrCode={}))})(xt||(xt={}));(e=>{(t=>{const n=class{constructor(o,r){this.modeBits=o,this.numBitsCharCount=r}numCharCountBits(o){return this.numBitsCharCount[Math.floor((o+7)/17)]}};n.NUMERIC=new n(1,[10,12,14]),n.ALPHANUMERIC=new n(2,[9,11,13]),n.BYTE=new n(4,[8,16,16]),n.KANJI=new n(8,[8,10,12]),n.ECI=new n(7,[0,0,0]),t.Mode=n})(e.QrSegment||(e.QrSegment={}))})(xt||(xt={}));var wt=xt;var Ur={L:wt.QrCode.Ecc.LOW,M:wt.QrCode.Ecc.MEDIUM,Q:wt.QrCode.Ecc.QUARTILE,H:wt.QrCode.Ecc.HIGH},so=128,oo="L",io="#FFFFFF",ro="#000000",ao=!1,lo=1,Hr=4,Br=0,Gr=.1;function co(e,t=0){const n=[];return e.forEach(function(s,o){let r=null;s.forEach(function(l,d){if(!l&&r!==null){n.push(`M${r+t} ${o+t}h${d-r}v1H${r+t}z`),r=null;return}if(d===s.length-1){if(!l)return;r===null?n.push(`M${d+t},${o+t} h1v1H${d+t}z`):n.push(`M${r+t},${o+t} h${d+1-r}v1H${r+t}z`);return}l&&r===null&&(r=d)})}),n.join("")}function uo(e,t){return e.slice().map((n,s)=>s<t.y||s>=t.y+t.h?n:n.map((o,r)=>r<t.x||r>=t.x+t.w?o:!1))}function zr(e,t,n,s){if(s==null)return null;const o=e.length+n*2,r=Math.floor(t*Gr),l=o/t,d=(s.width||r)*l,a=(s.height||r)*l,u=s.x==null?e.length/2-d/2:s.x*l,m=s.y==null?e.length/2-a/2:s.y*l,h=s.opacity==null?1:s.opacity;let f=null;if(s.excavate){let g=Math.floor(u),S=Math.floor(m),x=Math.ceil(d+u-g),v=Math.ceil(a+m-S);f={x:g,y:S,w:x,h:v}}const p=s.crossOrigin;return{x:u,y:m,h:a,w:d,excavation:f,opacity:h,crossOrigin:p}}function $r(e,t){return t!=null?Math.max(Math.floor(t),0):e?Hr:Br}function mo({value:e,level:t,minVersion:n,includeMargin:s,marginSize:o,imageSettings:r,size:l,boostLevel:d}){let a=c.useMemo(()=>{const g=(Array.isArray(e)?e:[e]).reduce((S,x)=>(S.push(...wt.QrSegment.makeSegments(x)),S),[]);return wt.QrCode.encodeSegments(g,Ur[t],n,void 0,void 0,d)},[e,t,n,d]);const{cells:u,margin:m,numCells:h,calculatedImageSettings:f}=c.useMemo(()=>{let p=a.getModules();const g=$r(s,o),S=p.length+g*2,x=zr(p,l,g,r);return{cells:p,margin:g,numCells:S,calculatedImageSettings:x}},[a,l,r,s,o]);return{qrcode:a,margin:m,cells:u,numCells:h,calculatedImageSettings:f}}var Wr=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),Kr=c.forwardRef(function(t,n){const s=t,{value:o,size:r=so,level:l=oo,bgColor:d=io,fgColor:a=ro,includeMargin:u=ao,minVersion:m=lo,boostLevel:h,marginSize:f,imageSettings:p}=s,S=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:x}=S,v=Dn(S,["style"]),C=p?.src,w=c.useRef(null),b=c.useRef(null),N=c.useCallback(k=>{w.current=k,typeof n=="function"?n(k):n&&(n.current=k)},[n]),[T,M]=c.useState(!1),{margin:y,cells:A,numCells:I,calculatedImageSettings:j}=mo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:f,imageSettings:p,size:r});c.useEffect(()=>{if(w.current!=null){const k=w.current,H=k.getContext("2d");if(!H)return;let z=A;const ee=b.current,P=j!=null&&ee!==null&&ee.complete&&ee.naturalHeight!==0&&ee.naturalWidth!==0;P&&j.excavation!=null&&(z=uo(A,j.excavation));const Y=window.devicePixelRatio||1;k.height=k.width=r*Y;const q=r/I*Y;H.scale(q,q),H.fillStyle=d,H.fillRect(0,0,I,I),H.fillStyle=a,Wr?H.fill(new Path2D(co(z,y))):A.forEach(function(J,Q){J.forEach(function(pe,ve){pe&&H.fillRect(ve+y,Q+y,1,1)})}),j&&(H.globalAlpha=j.opacity),P&&H.drawImage(ee,j.x+y,j.y+y,j.w,j.h)}}),c.useEffect(()=>{M(!1)},[C]);const L=bn({height:r,width:r},x);let K=null;return C!=null&&(K=c.createElement("img",{src:C,key:C,style:{display:"none"},onLoad:()=>{M(!0)},ref:b,crossOrigin:j?.crossOrigin})),c.createElement(c.Fragment,null,c.createElement("canvas",bn({style:L,height:r,width:r,ref:N,role:"img"},v)),K)});Kr.displayName="QRCodeCanvas";var fo=c.forwardRef(function(t,n){const s=t,{value:o,size:r=so,level:l=oo,bgColor:d=io,fgColor:a=ro,includeMargin:u=ao,minVersion:m=lo,boostLevel:h,title:f,marginSize:p,imageSettings:g}=s,S=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:x,cells:v,numCells:C,calculatedImageSettings:w}=mo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:p,imageSettings:g,size:r});let b=v,N=null;g!=null&&w!=null&&(w.excavation!=null&&(b=uo(v,w.excavation)),N=c.createElement("image",{href:g.src,height:w.h,width:w.w,x:w.x+x,y:w.y+x,preserveAspectRatio:"none",opacity:w.opacity,crossOrigin:w.crossOrigin}));const T=co(b,x);return c.createElement("svg",bn({height:r,width:r,viewBox:`0 0 ${C} ${C}`,ref:n,role:"img"},S),!!f&&c.createElement("title",null,f),c.createElement("path",{fill:d,d:`M0,0 h${C}v${C}H0z`,shapeRendering:"crispEdges"}),c.createElement("path",{fill:a,d:T,shapeRendering:"crispEdges"}),N)});fo.displayName="QRCodeSVG";const Yr=(e,t)=>({invitationType:he.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(e)}`},...t]}),qr=e=>{const t=e?.invitationLink?.split("/").at(-1)||"";return`/${X.SHARE_CONVERSATION_ROUTE}/${t}`},Zr=(e,t)=>t?.find(n=>{const s=e?.id?.split("/")?.pop(),o=n?.url?.split("/")?.pop()||"";return o===s||decodeURI(o)===s}),Xr=e=>e?.messages?.filter(n=>!!n?.custom_content?.attachments)?.flatMap(n=>n?.custom_content?.attachments?.map(s=>({url:s?.url||""}))||[])?.filter(n=>!!n?.url)||[],Jr=({conversation:e,locale:t,onCloseModal:n,modalDividers:s,getConversation:o,generateConversationLink:r,chatExpiration:l,chatExpirationDays:d,close:a,chatWarning:u,shareLink:m,shareCopyLink:h,shareCopiedLink:f,shareDescription:p,shareRemoveAccessToUsers:g,chatName:S,getSharedConversations:x,revokeSharedConversations:v,baseUrl:C,id:w,clientSharedPage:b,clientSharedProp:N,shareAlertMessage:T})=>{const[M,y]=c.useState(null),[A,I]=c.useState(),[j,L]=c.useState(!1),[K,k]=c.useState(!1),[H,z]=c.useState(),ee=c.useRef(null),P=c.useRef(null),Y=c.useMemo(()=>e?.id?decodeURI(e.id):w?.[0]&&w?.[1]&&t?decodeURI(`${w[0]}/${t}/${w[1]}`):null,[e?.id,w,t]),q=c.useMemo(()=>{if(!M)return"";const O=C||window.location.origin;if(C&&C!==window.location.origin&&b&&N){const _=M.split(`/${X.SHARE_CONVERSATION_ROUTE}/`)?.[1];return`${O}/${b}?${N}=${_}`}return`${O}/${t}${M}`},[C,M,t,b,N]),J=c.useCallback(async O=>{const _=await x?.(he.getSharedConversationsRequest(he.ShareTarget.OTHERS));if(_)return Zr({id:O},_.resources)},[x]);c.useEffect(()=>{if(!Y||ee.current===Y)return;ee.current=Y,L(!1),P.current?.abort();const O=new AbortController;return P.current=O,(async()=>{try{const ie=await o?.(Y),de=Yr(Y,Xr(ie)),ce=await r?.(de),je=await J(Y);if(O.signal.aborted||!ce)return;y(qr(ce)),I(je),L(!0)}catch(ie){if(O.signal.aborted)return;L(!1),console.error("Error sharing conversation",ie)}})(),()=>{O.abort(),ee.current=null}},[Y,r,o,J]);const Q=c.useCallback(()=>{P.current?.abort(),ee.current=null,n(),y(null),L(!1),k(!1)},[n]),pe=c.useCallback(()=>{k(!0),navigator.clipboard.writeText(q||"")},[q]),ve=async()=>{try{if(z(!0),A&&await v?.({resources:[A]}),Y){const O=await J(Y);P.current?.signal.aborted||I(O)}}catch(O){console.error("Error revoking shared conversation",O)}finally{P.current?.signal.aborted||z(!1)}},De=c.useCallback(()=>i.jsx(E.Button,{buttonClassName:K?"text-button-secondary":"text-button-primary",iconBefore:K?i.jsx(Be.IconCheck,{width:20,height:20}):i.jsx(Be.IconCopy,{width:20,height:20}),title:K?f??"Copied":h??"Copy link",disabled:K,onClick:pe}),[K,pe,f,h]);return i.jsxs(E.Popup,{heading:m??"Share link",portalId:"share",size:E.PopUpSize.SM,dividers:s,onClose:Q,closeButtonTitle:a??"Close",children:[j?i.jsxs("div",{className:"share flex flex-col gap-y-4 overflow-auto px-6 pb-6 sm:p-0",children:[T?i.jsx(E.InlineAlert,{type:E.InlineAlertType.Note,icon:i.jsx(Be.IconInfoCircle,{width:16,height:16}),children:T}):null,e?.name?i.jsxs("div",{className:"share-info flex w-full",children:[i.jsx("p",{className:"share-info-title body-1 mr-1 text-neutrals-800",children:S??"Chat name:"}),i.jsx("h3",{className:"min-w-0 flex-1 truncate",title:e?.name,children:e?.name})]}):null,i.jsxs("div",{className:"share-info flex",children:[i.jsx("p",{className:"share-info-title body-1 mr-1 text-neutrals-800",children:l??"Link expiration date:"}),i.jsxs("h3",{children:["3 ",d??"days"]})]}),i.jsx(fo,{className:"min-h-[200px] self-center rounded border border-neutrals-600 p-2",value:q,size:200}),i.jsx("p",{className:"body-2 text-neutrals-1000",children:p??"Your name, special instructions, and any messages you add after sharing remain confidential."}),i.jsx(E.InputWithIcon,{containerClasses:"share-input-container",cssClass:"share-input",readonly:!0,placeholder:q,value:q,inputId:"conversationLink",iconAfterInput:De()})]}):i.jsx("div",{className:"flex items-center justify-center p-6",children:i.jsx(E.Loader,{})}),j?e&&A?i.jsx("div",{className:"remove-access",children:i.jsx(E.Button,{title:g??"Remove access to all users",buttonClassName:"remove-access-button py-3 px-4",isSmallButton:!0,disabled:H,onClick:ve})}):i.jsx("p",{className:"body-2 share-footer text-neutrals-800",children:u??"This chat has not been shared with anyone yet."}):i.jsx("div",{})]})},ho=({shareButtonClass:e,shareIcon:t,...n})=>{const[s,o]=c.useState(E.PopUpState.Closed),r=()=>{o(E.PopUpState.Opened)},l=c.useCallback(()=>{o(E.PopUpState.Closed)},[]);return i.jsxs(i.Fragment,{children:[i.jsx(E.Button,{buttonClassName:e||"text-button-secondary",title:n?.share||"Share",iconBefore:t,onClick:r}),s===E.PopUpState.Opened&&i.jsx(Jr,{onCloseModal:l,...n})]})},po=({conversation:e,locale:t,isOpenedAdvancedView:n,isShowShareButton:s,shareConversationProps:o,rightSlot:r})=>i.jsx(i.Fragment,{children:i.jsxs("header",{className:W("bg-white border-b px-6 py-2 border-gray-200 flex justify-between items-center sm:hidden","conversation-view-header"),children:[i.jsx("span",{className:W("flex-1 min-w-0 truncate h4","conversation-view-header-text"),title:e?.name,children:e?.name}),i.jsxs("div",{className:"ml-3 flex items-center gap-4",children:[!n&&s&&i.jsx("div",{className:"flex gap-x-2",children:i.jsx(ho,{conversation:e,locale:t,...o})}),r]})]})}),go=({content:e,textColorClass:t})=>{const{isOpenedAdvancedView:n}=We();return i.jsx("div",{className:W("prose max-w-none break-words",n?"body-2":"body-1",t),children:i.jsx(zs,{remarkPlugins:[$s],components:{strong:s=>i.jsx("strong",{className:t,...s}),a:({href:s,children:o,...r})=>i.jsx("a",{href:s,target:"_blank",rel:"noreferrer",...r,children:o})},children:e})})},Co=({choiceButtons:e,disabled:t,onClick:n})=>{const s=W("flex w-full min-h-[72px] flex-col items-start justify-center rounded border px-4 py-2 text-left","border-hues-200 hover:bg-hues-100","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent");return e.map(o=>i.jsx("div",{className:"mt-4",children:i.jsxs("button",{type:"button",className:s,disabled:t,onClick:()=>n(o[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText,o?.const),"aria-label":"button",children:[i.jsx("h3",{className:"mb-1",children:o.title}),o.const!==nn.COMPLETE&&i.jsx("p",{className:"body-1 text-neutrals-800",children:o[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText})]})},o.title))},Qr=({messageContent:e,choiceButtons:t,disabled:n,onClick:s,handleOnboardingSkip:o})=>{const{titles:r}=we();return i.jsxs("div",{className:"onboarding flex size-full flex-1 flex-col overflow-auto",children:[i.jsx(po,{conversation:{name:r?.onboardingTitle??"Introducing the AI assistant"}}),i.jsxs("div",{className:"onboarding-content flex flex-col",children:[i.jsx(go,{content:e}),i.jsx("div",{className:"mt-4",children:i.jsx(Co,{choiceButtons:t,disabled:n,onClick:s})}),i.jsxs("div",{className:"mt-8 flex",children:[i.jsx(E.Button,{title:r?.skipOnboardingNow,buttonClassName:"text-button-secondary mr-4",disabled:n,onClick:()=>o?.(),isSmallButton:!0}),i.jsx(E.Button,{title:r?.refuseOnboarding,buttonClassName:"text-button-tertiary",disabled:n,onClick:()=>o?.(!0),isSmallButton:!0})]})]})]})},xo=({openNewConversation:e})=>{const{titles:t}=we();return i.jsxs("div",{className:"body-3 bg-accent-300 p-2 text-center",children:[i.jsx("span",{className:"mr-2 text-neutrals-900",children:t?.onboardingFooter}),i.jsxs("span",{onClick:e,className:"inline-flex cursor-pointer align-top",children:[i.jsx(Be.IconPlus,{width:15,height:15}),i.jsx("p",{className:"ml-1",children:t?.onboardingFooterLink})]})]})},So=({firstLine:e,secondLine:t})=>{const n=e!=null&&e.trim()!=="",s=t!=null&&t.trim()!=="";return i.jsxs("div",{className:W("text-center body-3",s?"p-0":n?"p-1":"p-3"),children:[n&&i.jsx("div",{className:"text-neutrals-800",children:e}),s&&i.jsx("div",{className:"text-neutrals-800",children:t})]})},ea=({suggestionsList:e,welcomeText:t,welcomeDescription:n,welcomeInputPlaceholder:s,titleIcon:o,actions:r,titles:l,inputMessageStyles:d,suggestionsContainerClass:a,isBottomInputPosition:u,prompt:m,onboardingMessageSchema:h,handleConversationClick:f,setConversations:p,locale:g,setSharedConversations:S})=>{const[x,v]=c.useState(null),[C,w]=c.useState(!0),[b,N]=c.useState(!1),{onboardingFileSchema:T,onboardingFileName:M,onboardingFilePath:y,isShowOnboarding:A,setIsShowOnboarding:I,setOnboardingFileSchema:j}=Ye(),{isAgentAvailable:L}=E.useAgentAvailability(),{statusMessages:K}=Ln();c.useEffect(()=>{(async()=>{try{const P=await r.getBucket();v(P.bucket)}catch(P){console.error(P instanceof Error?P.message:"Request error")}finally{w(!1)}})()},[r]);const k=c.useCallback(async(ee,P)=>{if(!x){console.error("No bucket");return}N(!0);try{const Y=A?Or(x,g,l?.onboardingTitle??"Introducing the AI assistant",h?.properties?.choice?.description??"",ee,P):_r(x,g,l.newChat??"New chat",ee),q=await r.createConversation(Y,g,A),J=await r.getConversations(g),Q=await r.getSharedConversations(he.getSharedConversationsRequest(he.ShareTarget.ME));if(h&&T){const pe={...T,isStarted:!0};await r.putOnboardingFile?.(M,y,pe),j?.(pe)}p(X.cleanConversationNames(J)),S(X.cleanConversationNames(wr.transformSharedConversations(Q,g))),f(q.folderId,q.id)}catch(Y){console.error(Y instanceof Error?Y.message:"Creation conversation failed"),N(!1)}},[r,x,f,A,g,M,y,T,h,p,j,S,l.newChat,l?.onboardingTitle]),H=c.useCallback(async ee=>{if(I(!1),ee&&T){const P={...T,isSkipped:!0};await r.putOnboardingFile?.(M,y,P),j?.(P)}},[r,M,y,T,I,j]);c.useEffect(()=>{m&&x&&k(m)},[x,m]);const z=()=>{const ee=!x;return L?i.jsxs(i.Fragment,{children:[i.jsx(Qs,{containerClasses:W(d.inputContainerClass,u&&"order-3 mt-auto"),inputClasses:"mr-2",disabled:ee,placeholder:s||l?.askAnything||"Ask anything...",sendMessageIcon:d.sendMessageIcon,onSendMessage:k}),i.jsx("div",{className:W("no-scrollbar overflow-x-auto",a),children:i.jsx("div",{className:W("flex flex-wrap justify-center gap-2","tags-container"),children:e.map(P=>i.jsx(E.Tag,{title:P.title,text:P[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText,disabled:ee,onClick:k},P.title))})})]}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:K.assistantUnavailable})};return i.jsx(sn,{styles:{titles:l},children:i.jsxs("div",{className:"flex size-full flex-col",children:[b||m&&C?i.jsx(E.Loader,{}):A?i.jsx(Qr,{messageContent:h?.properties?.choice?.description||"",choiceButtons:h?.properties?.choice?.oneOf||[],disabled:!x,handleOnboardingSkip:H,onClick:k}):i.jsxs("div",{className:"flex h-full flex-col items-center justify-center sm:px-4",children:[i.jsxs("div",{className:W("flex items-center max-w-full sm-min:px-4",u?"mt-auto mb-8":n?"mb-0":"mb-6"),children:[o,i.jsx("h1",{className:"sm:h2 text-hues-800 text-center",children:t??l?.welcomeTitle??"How can I help you?"})]}),n&&i.jsx("p",{className:"body-1 text-neutrals-900 mb-6 mt-3 max-w-[784px] text-center",children:n}),z()]}),A&&i.jsx(xo,{openNewConversation:()=>I(!1)}),!A&&i.jsx(So,{firstLine:l.footerFirstLine,secondLine:l.footerSecondLine})]})})},vo=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M8.00016 1.33325C4.3135 1.33325 1.3335 4.31325 1.3335 7.99992C1.3335 11.6866 4.3135 14.6666 8.00016 14.6666C11.6868 14.6666 14.6668 11.6866 14.6668 7.99992C14.6668 4.31325 11.6868 1.33325 8.00016 1.33325ZM8.00016 13.3333C5.06016 13.3333 2.66683 10.9399 2.66683 7.99992C2.66683 5.05992 5.06016 2.66659 8.00016 2.66659C10.9402 2.66659 13.3335 5.05992 13.3335 7.99992C13.3335 10.9399 10.9402 13.3333 8.00016 13.3333ZM10.3935 4.66659L8.00016 7.05992L5.60683 4.66659L4.66683 5.60659L7.06016 7.99992L4.66683 10.3933L5.60683 11.3333L8.00016 8.93992L10.3935 11.3333L11.3335 10.3933L8.94016 7.99992L11.3335 5.60659L10.3935 4.66659Z",fill:"currentColor"})),ta=({dataQueries:e,disabledDatasetUrns:t,isSelected:n,onSelect:s,onClearAll:o})=>{const{titles:r}=we(),l=e.length-t.size,d=t.size>0;return i.jsxs("div",{className:W("flex justify-between items-center px-2 h-10 shrink-0 hover:bg-hues-100 rounded","filters-facet-item cursor-pointer",n&&"bg-hues-100"),onClick:s,children:[i.jsx("h3",{className:"w-full min-w-0 flex-1 truncate",title:r?.dataset??"Dataset",children:i.jsx("span",{className:"truncate",children:r?.dataset??"Dataset"})}),i.jsxs("div",{className:"ml-2 flex items-center gap-2 text-neutrals-800",children:[i.jsx("span",{className:"filters-facet-item-counter px-2 text-center",children:`${l}/${e.length}`}),d&&i.jsx("div",{className:"filters-facet-item-settings flex items-center gap-2",children:i.jsx(E.IconButton,{buttonClassName:"text-button-tertiary w-4 h-4 border-0 p-0 filters-facet-item-icon",icon:i.jsx(vo,{width:16,height:16}),title:r?.reset??"Reset",onClick:a=>{a.stopPropagation(),o()}})})]})]})},Fn=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M11.3301 6.25L8.00008 9.75L4.67008 6.25L11.3301 6.25Z",fill:"currentColor"})),na=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M12.8232 7C12.926 7 13.012 7.07201 13.0244 7.16797L13.1807 8.22754C13.4315 8.32754 13.6621 8.46012 13.876 8.62012L14.9004 8.21973C14.9208 8.21186 14.9453 8.20803 14.9697 8.20801C15.0436 8.20801 15.1133 8.24392 15.1504 8.30762L15.9736 9.69238C16.0227 9.7803 16.0018 9.88834 15.9238 9.94824L15.0566 10.6084C15.0731 10.7363 15.085 10.8642 15.085 11C15.085 11.1358 15.0731 11.2637 15.0566 11.3916L15.9238 12.0518C16.0018 12.1117 16.0227 12.2197 15.9736 12.3076L15.1504 13.6924C15.1133 13.7561 15.0434 13.792 14.9736 13.792C14.9492 13.7919 14.9248 13.7881 14.9004 13.7803L13.876 13.3799C13.6621 13.5359 13.4315 13.6725 13.1807 13.7725L13.0244 14.832C13.012 14.928 12.926 15 12.8232 15H11.1787C11.0759 15 10.9889 14.928 10.9766 14.832L10.8203 13.7725C10.5696 13.6725 10.3397 13.5398 10.126 13.3799L9.10156 13.7803C9.08115 13.7882 9.05667 13.792 9.03223 13.792C8.95826 13.792 8.88761 13.7563 8.85059 13.6924L8.02832 12.3076C7.97924 12.2197 8.0001 12.1117 8.07812 12.0518L8.94531 11.3916C8.92889 11.2637 8.91699 11.1319 8.91699 11C8.91699 10.8681 8.92889 10.7363 8.94531 10.6084L8.07812 9.94824C8.0001 9.88832 7.97515 9.78032 8.02832 9.69238L8.85059 8.30762C8.88754 8.24383 8.95763 8.20816 9.02734 8.20801C9.05192 8.20801 9.07699 8.21179 9.10156 8.21973L10.126 8.62012C10.3397 8.46418 10.5696 8.32752 10.8203 8.22754L10.9766 7.16797C10.9889 7.07197 11.0759 7 11.1787 7H12.8232ZM11.7129 7.7998L11.6309 8.33984L11.5654 8.79199L11.1289 8.96387C10.9604 9.03184 10.792 9.12795 10.6152 9.25586L10.2451 9.52832L9.81738 9.36035L9.29492 9.15625L9.00684 9.63965L9.45117 9.97559L9.81738 10.2559L9.75977 10.708C9.74743 10.828 9.73926 10.92 9.73926 11C9.73926 11.08 9.74743 11.1719 9.75977 11.2959L9.81738 11.748L9.45117 12.0283L9.00684 12.3643L9.29492 12.8477L9.81738 12.6436L10.2529 12.4717L10.627 12.752C10.7913 12.8719 10.9561 12.9642 11.1328 13.0361L11.5693 13.208L11.6348 13.6602L11.7129 14.2002H12.2891L12.3711 13.6602L12.4365 13.208L12.873 13.0361C13.0415 12.9681 13.21 12.8721 13.3867 12.7441L13.7568 12.4717L14.1846 12.6396L14.707 12.8438L14.9941 12.3604L14.5508 12.0244L14.1846 11.7441L14.2422 11.292C14.2545 11.172 14.2627 11.084 14.2627 11C14.2627 10.916 14.2586 10.832 14.2422 10.708L14.1846 10.2559L14.5508 9.97559L14.9902 9.63574L14.7021 9.15234L14.1807 9.35645L13.7441 9.52832L13.3701 9.24805C13.2057 9.12808 13.0411 9.03586 12.8643 8.96387L12.4287 8.79199L12.3623 8.33984L12.2842 7.7998H11.7129ZM3.33301 12.6338H2V11.3008H3.33301V12.6338ZM7.00977 11.3008C7.03732 11.7651 7.12864 12.2121 7.27441 12.6338H4.66699V11.3008H7.00977ZM12.001 9.40039C12.9097 9.40043 13.6455 10.116 13.6455 11C13.6455 11.884 12.9097 12.5996 12.001 12.5996C11.0922 12.5996 10.3564 11.884 10.3564 11C10.3564 10.116 11.0922 9.40039 12.001 9.40039ZM12.001 10.2002C11.5486 10.2002 11.1787 10.56 11.1787 11C11.1787 11.44 11.5486 11.7998 12.001 11.7998C12.4533 11.7998 12.8232 11.44 12.8232 11C12.8232 10.56 12.4533 10.2002 12.001 10.2002ZM3.33301 8.63379H2V7.30078H3.33301V8.63379ZM8.63574 7.30078C8.21765 7.68124 7.86483 8.13197 7.59473 8.63379H4.66699V7.30078H8.63574ZM3.33301 4.7334H2V3.40039H3.33301V4.7334ZM14 4.7334H4.66699V3.40039H14V4.7334Z",fill:"currentColor"})),ss=(e,t,n,s,o=!1,r)=>{const l={...br[s]},d=Dr;o&&(l.firstDayOfWeek=1);const a=new Date(e);a.setHours(0,0,0,0);const u=new Date(t);u.setHours(23,59,59,999);const m={minDate:n===X.CalendarResolution.MONTH?new Date(e.getFullYear(),e.getMonth()):a,maxDate:n===X.CalendarResolution.MONTH?new Date(t.getFullYear(),t.getMonth()):u,locale:l};return n===X.CalendarResolution.MONTH?{...m,dateFormat:"M Y",plugins:[new d({shorthand:!0,dateFormat:"M Y"})]}:{...m,monthSelectorType:"static",dateFormat:r||"d.m.Y"}},os=e=>{e?.setMinutes(e.getMinutes()-e.getTimezoneOffset())},sa={year:"numeric",month:"short",day:"numeric"},Xt=(e,t)=>e?.toLocaleDateString(t,sa)||"",oa=(e,t)=>{const{startPeriod:n,endPeriod:s}=e;if(!t.startPeriod&&!t.endPeriod&&n&&s)return{startPeriod:new Date(n?.getTime()),endPeriod:new Date(s?.getTime())};const o=n?new Date(Math.max(n.getTime(),t.startPeriod.getTime())):t.startPeriod,r=s?new Date(Math.min(s.getTime(),t.endPeriod.getTime())):t.endPeriod;return{startPeriod:o,endPeriod:r}},ia=(e,t)=>{const{endPeriod:n}=e,s=n?.getFullYear()||new Date().getFullYear(),o=s+ +t,r=new Date(+t<0?s:o,n?.getMonth()||0,n?.getDate()||1),l=new Date(+t<0?o:s,0,1);return{startPeriod:new Date(Math.max(l.getTime(),e?.startPeriod?.getTime()||0)),endPeriod:r}},ra=e=>({quarterly:e?.quarterly||"Q",monthly:e?.monthly||"M"}),wo=(e,t)=>{const n=ra(t);return D.isQuarterly(e)&&n?.quarterly?e?.replace(/Q/g,n?.quarterly):D.isMonthly(e)&&n?.monthly?e?.replace(/M/g,n?.monthly):e},aa=(e,t)=>{const n={...e};return(!e.startPeriod&&t?.startPeriod||t?.startPeriod&&e?.startPeriod&&t.startPeriod<e?.startPeriod)&&(n.startPeriod=t?.startPeriod||null),(!e.endPeriod&&t?.endPeriod||t?.endPeriod&&e?.endPeriod&&t.endPeriod>e?.endPeriod)&&(n.endPeriod=t?.endPeriod||null),n},is=e=>{if(!e?.length)return null;let t=null,n=null;for(const s of e){const o=s.filters?.find(a=>a.componentCode===D.TIME_PERIOD);if(!o)continue;const r=o.values.filter(Boolean),l=r[0]?X.getTimePeriod(r[0]):null,d=r[1]?X.getTimePeriod(r[1]):null;!l||!d||((!t||l<t)&&(t=l),(!n||d>n)&&(n=d))}return t&&n?{startPeriod:t,endPeriod:n}:null};var Qe=(e=>(e.FLAT_LIST="FLAT_LIST",e.HIERARCHY="HIERARCHY",e))(Qe||{});const bo=(e,t,n,s,o)=>e?.map(r=>{const l=D.findCodelistByDimension(t?.codelists,t?.conceptSchemes,r)?.codes,d=D.getAvailableCodes(r,n,l,s),a=l?.some(u=>u?.parent);return{id:r?.id,title:D.getDimensionTitle(t?.conceptSchemes,r,s),dimensionValues:d,isTimeDimension:r?.type===D.DimensionType.TIME_DIMENSION,isHierarchical:a,displayMode:a?Qe.HIERARCHY:Qe.FLAT_LIST,datasetUrn:o,filterType:"dataset"}})||[],Gt=e=>e?.filterType==="shared",Ke=e=>{if(e?.id)return Gt(e)?`shared:${e.id}`:e?.datasetUrn?`${e.datasetUrn}:${e.id}`:e.id},_e=(e,t)=>Ke(e)===Ke(t),Jt=(e,t)=>e?.map(n=>t&&_e(n,t)?{...t,isSelectedFilter:!0}:{...n,isSelectedFilter:!1}),Do=(e,t,n)=>e?e.map(s=>_e(s,t)?{...s,displayMode:n}:s):[],yo=e=>e?.filter(t=>!!t?.isSelectedValue)||[],on=e=>e?.map(t=>({...t,dimensionValues:yo(t?.dimensionValues)})).filter(t=>t.dimensionValues?.length||t.timeRange?.startPeriod||t.timeRange?.endPeriod),Pn=e=>e?.reduce((t,n)=>(n?.dimensionValues?.length??0)+t,0)||0,Eo=e=>({...e,dimensionValues:e?.dimensionValues?.map(t=>({...t,isSelectedValue:!1})),timeRange:void 0}),To=(e,t)=>e?.map(n=>_e(n,t)?Eo(n):n),Mo=e=>e?.map(t=>Eo(t)),No=(e,t,n)=>e.map(s=>{const o=t?.filters?.find(l=>l.componentCode===s.id);let r=[];if(o)if(s.isTimeDimension){const l=o.values.filter(h=>!!h),d=D.getAnnotationPeriod(n?.[0]?.annotations),a=l[0]?X.getTimePeriod(l[0]):null,u=l[1]?X.getTimePeriod(l[1]):null;let m=d;return a&&u&&(m=d?oa({startPeriod:a,endPeriod:u},d):{startPeriod:a,endPeriod:u}),{...s,timeRange:m}}else r=s?.dimensionValues?.map(d=>o?.values?.includes(d.id)?{...d,isSelectedValue:!0}:d);else r=s.dimensionValues;return{...s,dimensionValues:r}}),Qt=e=>e?.map(t=>({...t,isDisabled:!0})),la=e=>new Map(e?.map(t=>[t.id,{...t,children:[]}])),ca=e=>{if(!e)return[];const t=la(e),n=[];return e.forEach(s=>{if(s&&s.parent){const o=t.get(s.parent),r=t.get(s.id);o&&o.children&&r&&(o.children=[...o.children,r])}else{const o=t.get(s.id);o&&n.push(o)}}),n},da=(e,t=!1)=>t?`${e*E.TREE_NODE_PADDING-E.TREE_NODE_ARROW_SIZE}px`:`${e*E.TREE_NODE_PADDING}px`,Io=e=>e?.children?.reduce((t,n)=>[...t,n,...Io(n)],[])||[],ua=(e,t)=>e?e.filter(n=>!n.disabled).map(n=>({...n,isSelectedValue:t})):[],Ao=e=>!!e?.children?.some(t=>t?.isSelectedValue||Ao(t)),ma=e=>{const t=Io(e);if(!e.children?.length)return[{...e,isSelectedValue:!e.isSelectedValue}];const n=(d,a)=>[{...e,isSelectedValue:d},...ua(t,a)];if(!e.isSelectableValue)return e.isSelectedValue?n(!1,!1):n(!0,!0);const s=t.filter(d=>!d.disabled),o=s.some(d=>d.isSelectedValue),r=s.length>0&&s.every(d=>d.isSelectedValue),l=!!e.isSelectedValue;return!l&&!o?n(!0,!0):l&&r?n(!1,!0):!l&&o?n(!0,!1):l&&!o?n(!1,!1):n(!0,!0)},fa=(e,t)=>e.filter(n=>n.isSelectableValue&&!t.has(n.id)).map(n=>({id:n.id,name:n.name,isSelectedValue:n.isSelectedValue})),ha=({isHierarchical:e,availableHierarchies:t,titles:n})=>[{key:"",title:n?.flatList??"Flat list"},...e?[{key:Qe.HIERARCHY,title:n?.hierarchy??"Hierarchy by parent"}]:[],...(t??[]).map(s=>({key:s.id,title:`${s.name??s.id} (${s.version})`}))],pa=({calendarResolution:e,timeRange:t,timeRangeOptions:n,calendarStartFromMonday:s=!0,locale:o=X.Locale.EN,radioIcon:r,initialConstraints:l,onValueChange:d,calendarIcon:a,dateFormat:u,defaultTimeOption:m,dataQueries:h})=>{const{titles:f}=we(),p=aa(D.getAnnotationPeriod(l?.[0]?.annotations),t),S=!!!(p?.startPeriod||p?.endPeriod)&&!t?is(h):null,x=S??p,[v,C]=c.useState(t??S),w=!t||t?.startPeriod?.getTime()===x?.startPeriod?.getTime()&&t?.endPeriod?.getTime()===x?.endPeriod?.getTime()?0:X.CUSTOM_PERIOD,[b,N]=c.useState(m??w),T=c.useMemo(()=>{const{startPeriod:j,endPeriod:L}=x,K=j?.getFullYear(),k=L?.getFullYear(),H=new Date().getFullYear();return n.filter(z=>z.value===X.CUSTOM_PERIOD||z.value===0||+z.value>=0&&k-H>=+z.value||+z.value<0&&K-H<+z.value)},[x,n]);c.useEffect(()=>{d(v,b)},[v]),c.useEffect(()=>{if(t!==null)return;const j=D.getAnnotationPeriod(l?.[0]?.annotations);j?.startPeriod||j?.endPeriod||C(is(h))},[t]);const M=j=>{j&&(os(j),C(L=>L?{...L,startPeriod:j||null}:{endPeriod:null,startPeriod:j||null}))},y=j=>{j&&(os(j),C(L=>L?{...L,endPeriod:j||null}:{startPeriod:null,endPeriod:j||null}))};if(x==null)return null;const A=ss(x.startPeriod,v?.endPeriod||x.endPeriod,e,o,s,u),I=ss(v?.startPeriod||x.startPeriod,x.endPeriod,e,o,s,u);return i.jsxs("div",{className:"mt-3 flex h-full min-w-0 flex-1 flex-col overflow-auto py-2 pr-3",children:[i.jsx("div",{className:"w-full",children:T.map(j=>i.jsx(E.Radio,{id:j.value.toString(),checked:b===j.value,label:j.title,onChange:()=>{const{value:L}=j;N(L),L!==X.CUSTOM_PERIOD&&C(L===0?x:ia(x,L))},radioIcon:r},j.value.toString()))}),i.jsx("div",{className:"w-full",children:b===X.CUSTOM_PERIOD&&i.jsxs("div",{className:"filters-time-period caption mt-3 flex gap-4 text-neutral-700",children:[i.jsx(E.Calendar,{onChange:M,options:A,value:v?.startPeriod||x?.startPeriod,label:f?.from||"From",id:"time-options-start",icon:a}),i.jsx(E.Calendar,{onChange:y,options:I,value:v?.endPeriod||x?.endPeriod,label:f?.to||"To",id:"time-options-end",icon:a,isEndDate:!0})]})})]})},ga={isMetadataInSidePanel:!1,isCrossDatasetModeOn:!1,isTableSettingsFeatureEnabled:!1},jo=c.createContext(ga);function Ca({children:e,isMetadataInSidePanel:t=!1,isCrossDatasetModeOn:n=!1,isTableSettingsFeatureEnabled:s=!1}){const o=c.useMemo(()=>({isMetadataInSidePanel:t,isCrossDatasetModeOn:n,isTableSettingsFeatureEnabled:s}),[t,n,s]);return i.jsx(jo.Provider,{value:o,children:e})}function Ge(){return c.useContext(jo)}const xa=2,Ro=({value:e,onChange:t,searchIconSize:n})=>{const{titles:s}=we(),{isCrossDatasetModeOn:o}=Ge(),[r,l]=c.useState(!1),d=e.trim().toLowerCase(),a=o&&r&&d.length<xa;return i.jsxs(i.Fragment,{children:[i.jsx(E.InputWithIcon,{inputId:"filters-search-input",containerClasses:"gap-2 items-center filters-search-input",cssClass:"filters-search-input-text",placeholder:s?.searchPlaceholder??"Search",value:e,onChange:t,onFocus:()=>l(!0),onBlur:()=>l(!1),iconBeforeInput:i.jsx(Be.IconSearch,{width:n,height:n,className:"text-primary"})}),o&&i.jsx("span",{className:W("caption text-neutrals-800 mt-1",{invisible:!a}),children:s?.searchMinCharsCaption??"Enter at least 2 characters to start searching"})]})},Sa=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M6.25 4.66668L9.75 8.00001L6.25 11.3333L6.25 4.66668Z",fill:"currentColor"})),Lo=({node:e,level:t=1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r})=>{const l=!!e?.children?.length,d=l&&!e.isSelectedValue&&Ao(e),a="cursor-pointer text-neutrals-1000 w-6 h-6 shrink-0",u=c.useId(),m=(h,f)=>{if(e?.children?.length){const p=e.children.some(g=>!g.disabled);o?.(p?ma(e):[{...e,isSelectedValue:f}])}else s?.(e.id,f)};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:"flex items-center",style:{paddingLeft:da(t,l)},children:[l&&(e?.isExpanded?i.jsx(Sa,{className:a,onClick:()=>r?.(e)}):i.jsx(Fn,{className:a,onClick:()=>r?.(e)})),i.jsx(E.Checkbox,{id:u,label:e?.name,checked:!!e.isSelectedValue,indeterminate:d,checkboxIcon:n,disabled:e?.disabled,onChange:m})]}),l&&e?.isExpanded&&i.jsx(i.Fragment,{children:e?.children?.map(h=>i.jsx(Lo,{node:h,level:t+1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r},h?.id))})]},e?.id)},va=({treeNodes:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o})=>i.jsx(i.Fragment,{children:e?.map(r=>i.jsx(Lo,{node:r,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o},r?.id))}),rs=({style:e,filterValue:t,checkboxIcon:n,selectFilterValue:s})=>i.jsx("div",{style:e,children:i.jsx(E.Checkbox,{id:t.id,label:t.name,checked:!!t.isSelectedValue,checkboxIcon:n,onChange:s})}),zt=(e,t,n,s,o=X.Locale.EN)=>{const r=t?.map(l=>{const d=D.findCodelistByDimension(n?.codelists,n?.conceptSchemes,l),a=D.getAvailableCodesFromConstrains(d?.codes,l.id,s,o);return{...l,dimensionValues:a}});return e?.map(l=>{const d=r?.find(f=>f.id===l.id),u=(d?.dimensionValues||[]).map(f=>{const p=l.dimensionValues?.find(g=>g?.id===f?.id)?.isSelectedValue;return{...f,isSelectedValue:p}}),m=new Set(u.map(f=>f.id)),h=d?(l.dimensionValues??[]).filter(f=>!!f.isSelectedValue&&!m.has(f.id)):[];return{...l,isDisabled:!1,dimensionValues:[...u,...h]}})||[]},yn=(e,t,n)=>{let s=[];return rn(e,t,n).filter(o=>o.timeRange||o.dimensionValues?.some(r=>r.isSelectedValue)).forEach(o=>{const{id:r,dimensionValues:l}=o;o.isTimeDimension?s=[...s,...wa(o.timeRange,r)]:s.push({componentCode:r,operator:D.SeriesFilterOperator.EQUALS,value:l?.filter(d=>d.isSelectedValue)?.map(d=>d.id).join(D.GET_v3_FILTER_AND)||""})}),s},wa=(e,t)=>e==null||e.startPeriod==null||e.endPeriod==null?[]:[{componentCode:t,operator:D.SeriesFilterOperator.GREATER_OR_EQUAL,value:as(new Date(e.startPeriod))},{componentCode:t,operator:D.SeriesFilterOperator.LESS_OR_EQUAL,value:as(new Date(e.endPeriod),1)}],ba=1e3*60*60*24,as=(e,t=0)=>{e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMinutes(e.getMinutes()-e.getTimezoneOffset());let n=e.getTime();return n+=t?ba-1:0,e=new Date(n),n.toString()},It=e=>[...e].map(t=>({...t,value:t.value.split(",").sort().join(",")})).sort((t,n)=>t.componentCode.localeCompare(n.componentCode)),Nt=new Map,$t=new Map;function Fo(e,t){return`${e.name??""}::${t}`}function et(...e){return JSON.stringify(e)}async function nt(e,t,n){const s=Fo(e,t);if(Nt.has(s))return Nt.get(s);const o=$t.get(s);if(o)return o;const r=n().then(l=>(Nt.set(s,l),l)).finally(()=>{$t.delete(s)});return $t.set(s,r),r}function En(e,t){return Nt.has(Fo(e,t))}function ls(){Nt.clear(),$t.clear()}const Da=e=>e.map(t=>({componentCode:t.id||"",operator:X.QueryFilterType.IN,values:t.dimensionValues?.map(n=>n.id)||[]})),Po=(e,t)=>{const n=t?.timeDimensions?.[0],s=D.getTimeRangeFromAttachment(e,n)||null;return s?D.getQueryTimePeriodFilters(s,n?.id):null},_o=(e,t,n)=>{const s=on(rn(e,n)),o=s.find(r=>r?.isTimeDimension&&r?.timeRange);return{filterKey:D.getTimeSeriesFilterKey(t||[],Da(s)),timeFilter:D.getQueryTimePeriodFilters(o?.timeRange,o?.id)}},ya=e=>{if(!e)return"";const t=String(e.getDate()).padStart(2,"0"),n=String(e.getMonth()+1).padStart(2,"0"),s=e.getFullYear();return`${n}-${t}-${s}`},Ea=e=>{if(!e)return"";const t=String(e.getDate()).padStart(2,"0"),n=String(e.getMonth()+1).padStart(2,"0");return`${e.getFullYear()}-${n}-${t}`},Vo=(e,t,n=ya)=>rn(e,t)?.filter(s=>s.timeRange||s.isExcluded||s.dimensionValues?.some(o=>o.isSelectedValue)).map(s=>s?.isTimeDimension?{componentCode:s?.id,operator:X.QueryFilterType.BETWEEN,values:[n(s?.timeRange?.startPeriod||void 0)||"",n(s?.timeRange?.endPeriod||void 0)||""]}:s.isExcluded?{componentCode:s?.id,operator:X.QueryFilterType.EXCLUDED,values:[]}:{componentCode:s?.id,operator:X.QueryFilterType.IN,values:s?.dimensionValues?.filter(o=>o.isSelectedValue)?.map(o=>o.id)||[]}),Ta=(e,t)=>{const n=rn(e,t).flatMap(o=>o.id?[o.id]:[]),s=t?e.flatMap(o=>{if(o.filterType!=="shared")return[];const r=o.sourceFilterIdsByDataset?.[t];return r?[r]:[]}):[];return new Set([...n,...s])},Ma=(e,t)=>{const n=new Set(t.map(s=>s.componentCode));return Array.from(e).filter(s=>!n.has(s)).map(s=>({componentCode:s,operator:X.QueryFilterType.IN,values:[D.GET_v3_FILTER_ALL]}))},Oo=(e,t,n=!0)=>{const s=n?e.urn:void 0,o=Na(t,s),r=Ta(t,s),l=Ma(r,o),d=(e.filters??[]).filter(a=>!r.has(a.componentCode));return{...e,filters:[...d,...o,...l]}},ko=(e,t)=>Vo(e,t),Na=(e,t)=>Vo(e,t,Ea),Uo="COUNTRY",Ho="FREQUENCY",vt="TIME_PERIOD",Ia=new Set([Uo,Ho,vt]),Wt=e=>e?.trim()?.toLocaleUpperCase(),cs=()=>(e,t)=>{const n=e?.name?.trim()?.toLocaleLowerCase();return n?Aa(n):ja(t||"",e.id)},Aa=e=>`name:${e}`,ja=(e,t)=>`dataset:${e}:id:${t}`,Bo=(e,t)=>e?t?.[e]:void 0,ds=(e,t)=>{if(!(e?.filterType!=="dataset"||!e.id))return Bo(e.datasetUrn,t)?.[e.id]},Go=(e,t,n)=>Object.entries(Bo(e,n)||{}).find(([,s])=>t(s))?.[0],zo=(e,t,n)=>Go(e,s=>s.subtype===t,n),Ra=(e,t)=>Go(e,n=>n.dimensionType==="TIME_PERIOD",t),bt=[{id:Uo,subtype:"REGION",getMergedValueKey:cs()},{id:Ho,subtype:"FREQUENCY",getMergedValueKey:cs()},{id:vt,getMergedValueKey:e=>e.id}],La=new Map(bt.map(e=>[e.id,e])),_n=e=>e?La.get(Wt(e)||""):void 0,Fa=(e,t,n)=>{if(e.filterType==="shared")return t.id===Wt(e.id);if(t.id===vt)return e.isTimeDimension||ds(e,n)?.dimensionType==="TIME_PERIOD"||t.id===Wt(e.id);const s=ds(e,n);return t.subtype&&s?.subtype===t.subtype?!0:t.id===Wt(e.id)},en=(e,t)=>e?bt.find(n=>Fa(e,n,t)):void 0,Pa=(e,t,n)=>{if(!t)return;const s=e?n?.[e]?.[t]:void 0;return s?.dimensionType==="TIME_PERIOD"?vt:bt.find(r=>!!r.subtype&&r.subtype===s?.subtype)?.id??_n(t)?.id},_a=e=>!!_n(e),Va=e=>e?.filterType==="shared"&&_a(e?.id),$o=(e,t)=>!e||Array.isArray(e.get(t)),Wo=(e,t)=>!e?.dataMessagesMap||e.dataMessagesMap.has(t),Oa=(e,t)=>{const n=new Map;return e.forEach(s=>{s.dimensionValues?.forEach(o=>{const r=t.getMergedValueKey(o,s.datasetUrn),l={datasetUrn:s.datasetUrn,id:o.id,name:o.name,parent:o.parent},d=n.get(r);if(d){d.isSelectedValue=d.isSelectedValue||o.isSelectedValue,d.sourceValues=[...d.sourceValues||[],l];return}n.set(r,{id:r,name:o.name,isSelectedValue:o.isSelectedValue,parent:o.parent,sourceValues:[l]})})}),Array.from(n.values())},Ko=(e,t)=>{const n=new Map,s=[];return e.forEach(r=>{const l=en(r,t);if(l&&r?.datasetUrn){const d=n.get(l.id)||[];n.set(l.id,[...d,r]);return}s.push(r)}),[...bt.flatMap(r=>{const l=n.get(r.id);if(!l?.length)return[];const d={...l[0],id:r.id,datasetUrn:void 0,filterType:"shared",sourceDatasetUrns:Array.from(new Set(l.map(a=>a.datasetUrn).filter(a=>!!a))),sourceFilterIdsByDataset:Object.fromEntries(l.flatMap(a=>a.datasetUrn&&a.id?[[a.datasetUrn,a.id]]:[])),dimensionValues:Oa(l,r)};return d.isTimeDimension&&(d.timeRange=Ga(l)),d}),...s]},Vn=(e,t,n)=>{const s=e.sourceFilterIdsByDataset?.[t];if(s)return s;if(e.id===vt)return Ra(t,n);const o=_n(e.id);return o?.subtype?zo(t,o.subtype,n):void 0},Yo=(e,t,n,s)=>({...e,id:Vn(e,t,s)||e.id,datasetUrn:t,filterType:"dataset",...n?{dimensionValues:n}:{}}),ka=(e,t)=>(e.sourceDatasetUrns||[]).map(n=>Yo(e,n,void 0,t)),Ua=(e,t)=>({id:t.id,name:t.name,parent:t.parent,isSelectedValue:e.isSelectedValue}),Ha=(e,t)=>{const n=new Map;return e.dimensionValues?.forEach(s=>{s.sourceValues?.forEach(o=>{const r=o.datasetUrn||"",l=n.get(r),d=Ua(s,o);if(l){l.dimensionValues=[...l.dimensionValues||[],d];return}n.set(r,Yo(e,r,[d],t))})}),n},Ba=(e,t=!1,n)=>{if(!Va(e))return[e];if(e.isTimeDimension)return ka(e,n);const s=Ha(e,n);return Array.from(s.values())},Ga=e=>{const t=e.map(s=>s.timeRange?.startPeriod).filter(s=>!!s),n=e.map(s=>s.timeRange?.endPeriod).filter(s=>!!s);if(!(!t.length||!n.length))return{startPeriod:new Date(Math.min(...t.map(s=>s.getTime()))),endPeriod:new Date(Math.max(...n.map(s=>s.getTime())))}},qo=(e,t,n,s)=>t&&t<n?{startPeriod:new Date(n),endPeriod:new Date(n)}:e&&e>s?{startPeriod:new Date(s),endPeriod:new Date(s)}:{startPeriod:e?new Date(Math.max(e.getTime(),n.getTime())):new Date(n),endPeriod:t?new Date(Math.min(t.getTime(),s.getTime())):new Date(s)},za=(e,t)=>{if(!e.isTimeDimension||!e.timeRange)return e;const{startPeriod:n,endPeriod:s}=D.getAnnotationPeriod(t?.[0]?.annotations);return!n||!s?e:{...e,timeRange:qo(e.timeRange.startPeriod,e.timeRange.endPeriod,n,s)}},$a=(e,t)=>e?.dimensionsMap?new Map(Array.from(e.dimensionsMap.entries()).map(([n,s])=>[n,bo(s,e?.structuresMap?.get(n),e?.structureDimensionsMap?.get(n),t,n)])):new Map,Wa=(e,t,n=!0)=>new Map(Array.from(e?.dimensionsMap?.entries()||[]).map(([s,o])=>{const r=$o(e?.constraintsMap,s),l=Wo(e,s),d=o?.map(a=>{if(!r||n&&!l)return{...a,dimensionValues:[]};const u=D.findCodelistByDimension(e?.structuresMap?.get(s)?.codelists,e?.structuresMap?.get(s)?.conceptSchemes,a),m=D.getAvailableCodesFromConstrains(u?.codes,a.id,e?.constraintsMap?.get(s),t);return{...a,dimensionValues:m}})||[];return[s,d]})),Ka=e=>e.map(t=>({...t,isDisabled:!1,dimensionValues:t.dimensionValues?.filter(n=>n.isSelectedValue)||[]})),Zo=(e,t,n=!0)=>{const s=$a(e,t),o=Wa(e,t,n);return new Map(Array.from(s?.entries()||[]).map(([r,l])=>{const d=o?.get(r),a=l.map(u=>({...u,dimensionValues:d?.find(m=>m.id===u.id)?.dimensionValues||[]}));return[r,a]}))},Xo=(e,t,n,s)=>{const o=(r,l)=>t?.some(d=>d.urn!==r.urn&&d.filters?.some(a=>a.operator===X.QueryFilterType.BETWEEN||!a.values?.length?!1:en({id:a.componentCode,datasetUrn:d.urn,filterType:"dataset"},s)?.id===l.id))??!1;return Ko(t?.flatMap(r=>{const l=r?.urn,d=e?.get(l)||[],a=n?.get(l)||[];return No(d,r,a).map(m=>{if(m.isTimeDimension||m.filterType!=="dataset")return m;const h=en(m,s);return!h||h.id===vt||r.filters?.some(g=>g.componentCode===m.id&&g.operator!==X.QueryFilterType.BETWEEN)||!o(r,h)||m.dimensionValues?.some(g=>g.isSelectedValue)?m:{...m,dimensionValues:m.dimensionValues?.map(g=>({...g,isSelectedValue:!0}))}})})||[],s)},Ct=(e,t,n=!1,s,o=new Set)=>{const r=e?.flatMap(l=>Ba(l,n,s))?.reduce((l,d)=>{const a=d?.datasetUrn||"",u=za(d,t?.get(a));return l.has(a)||l.set(a,[]),l?.get(a)?.push(u),l},new Map);if(o.size>0)for(const l of o)r.delete(l);return r},Jo=(e,t,n,s,o)=>{const r=e.filter(d=>d.filterType==="shared"&&!d.isTimeDimension&&(d.dimensionValues?.some(a=>a.isSelectedValue)??!1));if(!r.length)return new Set(t);const l=(d,a)=>{const u=Vn(a,d,s);if(!u)return!1;if(o)return!(o.get(d)??[]).find(p=>p.id===u);const m=n?.find(h=>h.urn===d);return m?!m.filters?.some(h=>h.componentCode===u&&h.operator!==X.QueryFilterType.BETWEEN):!1};return new Set(t.filter(d=>r.every(a=>a.dimensionValues?.some(u=>u.isSelectedValue&&u.sourceValues?.some(m=>m.datasetUrn===d))||l(d,a))))},us=(e,t)=>t?(e||[]).filter(n=>t.has(n.urn)):e||[],Et=(e,t)=>t?new Map([...e].filter(([n])=>t.has(n))):e,Qo=(e,t)=>{const n=new Map;if(e?.forEach(s=>{s.filters?.forEach(o=>{if(o.operator===X.QueryFilterType.BETWEEN||!o.values?.length)return;const r=en({id:o.componentCode,datasetUrn:s.urn,filterType:"dataset"},t);if(!r||r.id===vt)return;const l=n.get(r.id)??new Set;l.add(s.urn),n.set(r.id,l)})}),!!n.size)return e?.filter(s=>Array.from(n.values()).every(o=>o.has(s.urn))).map(s=>s.urn)??[]},Ya=(e,t)=>t?Array.from(new Set(e?.flatMap(n=>n.cubeRegions?.filter(s=>s.isIncluded).flatMap(s=>s.memberSelection?.filter(o=>o.componentId===t).flatMap(o=>o.selectionValues.map(r=>r.memberValue))??[])??[])??[])):[],qa=(e,t,n)=>{if(e.length<2||!t)return e;const s=e.flatMap(l=>bt.flatMap(d=>{if(!d.subtype)return[];const a=zo(l.urn,d.subtype,n);return a?[{configId:d.id,dataQuery:l,dimensionId:a,filter:l.filters?.find(u=>u.componentCode===a&&u.operator!==X.QueryFilterType.BETWEEN),availableValues:Ya(t.get(l.urn),a)}]:[]})),o=new Map;s.forEach(l=>{o.set(l.configId,[...o.get(l.configId)??[],l])});const r=new Map;return o.forEach(l=>{const d=l.filter(m=>m.filter?.values?.length),a=l.filter(m=>!m.filter);if(!d.length||!a.length)return;const u=new Set(a.flatMap(m=>m.availableValues));u.size&&d.forEach(m=>{const h=m.filter;if(!h?.values?.length)return;const f=new Set(m.availableValues),p=Array.from(new Set([...h.values,...Array.from(u).filter(g=>f.has(g))]));p.length>h.values.length&&r.set(h,p)})}),r.size?e.map(l=>{let d=!1;const a=l.filters?.map(u=>{const m=r.get(u);return m?(d=!0,{...u,values:m}):u});return d?{...l,filters:a}:l}):e},ei=e=>JSON.stringify(e?.map(t=>({urn:t.urn,filters:t.filters??[]}))??[]),Tt=(e,t,n=X.Locale.EN,s)=>{const o=[];return Array.from(e?.entries())?.forEach(([r,l])=>{const d=t?.dimensionsMap?.get(r),a=t?.structuresMap?.get(r),u=$o(t?.constraintsMap,r),m=Wo(t,r);if(!u||!m){o.push(...Ka(l));return}const h=t?.constraintsMap?.get(r);o.push(...zt(l,d,a,h,n))}),Ko(o,s)},rn=(e,t,n)=>t?Ct(e,void 0,!1,n).get(t)||[]:e.filter(s=>s.filterType!=="shared"),ti=(e,t)=>{if(e?.filterType==="shared")return;const n=e?.datasetUrn?t?.get(e.datasetUrn)?.dataflows?.[0]:void 0;return n?D.generateShortUrn(n?.name,"",n?.agencyID):void 0},Za=(e,t)=>e?.length?!!t?.dimensionsMap&&!!t?.structuresMap&&!!t?.structureDimensionsMap&&!!t?.constraintsMap:!1,ni=(e,t,n)=>It(yn(t,e,n).filter(s=>s.componentCode!==D.TIME_PERIOD)),ms=(e,t,n,s,o)=>e?.map(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ni(l,d,s);return n?nt(n.getConstraints,et(l,a),()=>n.getConstraints(l,a)).then(u=>({urn:l,data:u})):Promise.resolve({urn:l,data:{}})})||[],fs=(e,t,n,s,o)=>!n?.getConstraints||!e?.length?!1:e.some(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ni(l,d,s);return!En(n.getConstraints,et(l,a))}),Xa=(e,t,n)=>{if(e.length<2)return!1;const s=new Map;for(const o of e){const r=t.dimensionsMap?.get(o.urn);if(r)for(const l of r){const d=l.id;if(!d)continue;const a=n?.[o.urn]?.[d],u=a?.subtype;if(!u||a?.dimensionType==="TIME_PERIOD")continue;const m=bt.find(p=>p.subtype===u);if(!m)continue;const h=s.get(m.id)??{datasetsWithExplicitValues:new Set,datasetsWithMissingFilter:new Set},f=o.filters?.find(p=>p.componentCode===d&&p.operator!==X.QueryFilterType.BETWEEN);f?f.values?.length&&h.datasetsWithExplicitValues.add(o.urn):h.datasetsWithMissingFilter.add(o.urn),s.set(m.id,h)}}return[...s.values()].some(o=>[...o.datasetsWithMissingFilter].some(r=>[...o.datasetsWithExplicitValues].some(l=>l!==r)))},Ja=e=>new Map(e?.flatMap(({urn:t,data:n})=>{const s=n?.data?.dataConstraints;return Array.isArray(s)?[[t,s]]:[]})),hs=e=>Ja(e.flatMap(t=>t.status==="fulfilled"?[t.value]:[])),ps=(e,t)=>{const n=new Map(e);return t.forEach((s,o)=>{n.set(o,s)}),n},si=(e,t,n,s)=>{if(e&&t?.filterType==="shared"&&t?.isTimeDimension){const r=Array.from(s?.values()||[]).flatMap(a=>a||[]).map(a=>D.getAnnotationPeriod(a?.annotations)).filter(a=>a.startPeriod!==null&&a.endPeriod!==null);if(!r.length)return[];const l=new Date(Math.min(...r.map(a=>a.startPeriod.getTime()))),d=new Date(Math.max(...r.map(a=>a.endPeriod.getTime())));return[{id:t.id||D.TIME_PERIOD,annotations:[{id:D.TIME_PERIOD_START_ANNOTATION_KEY,title:l.toISOString()},{id:D.TIME_PERIOD_END_ANNOTATION_KEY,title:d.toISOString()}]}]}return e?s?.get(t?.datasetUrn??"")??[]:n??[]},oi=(e,t,n)=>new Map(t?.map(s=>{const o=s?.urn;return[o,_o(e.get(o)||[],n?.get(o))]})),gs=(e,t,n,s,o)=>{const r=Xa(e,t,o);if(!n||!e.length||!r)return;const l={...t,constraintsMap:n},d=Zo(l,s,!1),a=Xo(d,e,n,o),u=Ct(a,n,!1,o),m=Jo(a,e.map(f=>f.urn),e,o,u),h=e.filter(f=>m.has(f.urn));return{compatibleUrns:m,filterParamsMap:oi(u,h,t.dimensionsMap)}},ii=(e,t)=>new Map(e?.map(n=>{const s=n?.urn;return[s,ko(t?.get(s)||[])]})),Qa=(e,t,n)=>{const s=(e.sourceDatasetUrns??[]).filter(d=>!t.has(d));if(s.length===0)return[];if(!n||!e.timeRange)return[{...e,sourceDatasetUrns:s}];const o=s.map(d=>D.getAnnotationPeriod(n.get(d)?.[0]?.annotations)).filter(d=>!!d?.startPeriod&&!!d?.endPeriod);if(o.length===0)return[{...e,sourceDatasetUrns:s}];const r=new Date(Math.min(...o.map(d=>d.startPeriod.getTime()))),l=new Date(Math.max(...o.map(d=>d.endPeriod.getTime())));return[{...e,sourceDatasetUrns:s,timeRange:qo(e.timeRange.startPeriod,e.timeRange.endPeriod,r,l)}]},el=(e,t,n)=>t.size===0?e:e.flatMap(s=>{if(s.filterType!=="shared")return[s];if(s.isTimeDimension)return Qa(s,t,n);const o=(s.dimensionValues??[]).filter(r=>r.sourceValues?.some(l=>!t.has(l.datasetUrn??"")));return o.length===0?[]:[{...s,dimensionValues:o}]}),On=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M8 14C6.32222 14 4.90278 13.7417 3.74167 13.225C2.58056 12.7083 2 12.0778 2 11.3333V4.66667C2 3.93333 2.58611 3.30556 3.75833 2.78333C4.93056 2.26111 6.34444 2 8 2C9.65556 2 11.0694 2.26111 12.2417 2.78333C13.4139 3.30556 14 3.93333 14 4.66667V11.3333C14 12.0778 13.4194 12.7083 12.2583 13.225C11.0972 13.7417 9.67778 14 8 14ZM8 6.01667C8.98889 6.01667 9.98333 5.875 10.9833 5.59167C11.9833 5.30833 12.5444 5.00556 12.6667 4.68333C12.5444 4.36111 11.9861 4.05556 10.9917 3.76667C9.99722 3.47778 9 3.33333 8 3.33333C6.98889 3.33333 5.99722 3.475 5.025 3.75833C4.05278 4.04167 3.48889 4.35 3.33333 4.68333C3.48889 5.01667 4.05278 5.32222 5.025 5.6C5.99722 5.87778 6.98889 6.01667 8 6.01667ZM8 9.33333C8.46667 9.33333 8.91667 9.31111 9.35 9.26667C9.78333 9.22222 10.1972 9.15833 10.5917 9.075C10.9861 8.99167 11.3583 8.88889 11.7083 8.76667C12.0583 8.64444 12.3778 8.50556 12.6667 8.35V6.35C12.3778 6.50556 12.0583 6.64444 11.7083 6.76667C11.3583 6.88889 10.9861 6.99167 10.5917 7.075C10.1972 7.15833 9.78333 7.22222 9.35 7.26667C8.91667 7.31111 8.46667 7.33333 8 7.33333C7.53333 7.33333 7.07778 7.31111 6.63333 7.26667C6.18889 7.22222 5.76944 7.15833 5.375 7.075C4.98056 6.99167 4.61111 6.88889 4.26667 6.76667C3.92222 6.64444 3.61111 6.50556 3.33333 6.35V8.35C3.61111 8.50556 3.92222 8.64444 4.26667 8.76667C4.61111 8.88889 4.98056 8.99167 5.375 9.075C5.76944 9.15833 6.18889 9.22222 6.63333 9.26667C7.07778 9.31111 7.53333 9.33333 8 9.33333ZM8 12.6667C8.51111 12.6667 9.03056 12.6278 9.55833 12.55C10.0861 12.4722 10.5722 12.3694 11.0167 12.2417C11.4611 12.1139 11.8333 11.9694 12.1333 11.8083C12.4333 11.6472 12.6111 11.4833 12.6667 11.3167V9.68333C12.3778 9.83889 12.0583 9.97778 11.7083 10.1C11.3583 10.2222 10.9861 10.325 10.5917 10.4083C10.1972 10.4917 9.78333 10.5556 9.35 10.6C8.91667 10.6444 8.46667 10.6667 8 10.6667C7.53333 10.6667 7.07778 10.6444 6.63333 10.6C6.18889 10.5556 5.76944 10.4917 5.375 10.4083C4.98056 10.325 4.61111 10.2222 4.26667 10.1C3.92222 9.97778 3.61111 9.83889 3.33333 9.68333V11.3333C3.38889 11.5 3.56389 11.6611 3.85833 11.8167C4.15278 11.9722 4.52222 12.1139 4.96667 12.2417C5.41111 12.3694 5.9 12.4722 6.43333 12.55C6.96667 12.6278 7.48889 12.6667 8 12.6667Z",fill:"currentColor"})),tl=e=>Me.createElement("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M6.66663 6.175L10.4833 10L6.66663 13.825L7.84163 15L12.8416 10L7.84163 5L6.66663 6.175Z",fill:"currentColor"})),nl=yr.FixedSizeList,Cs=24,xs=232,gn=({selectedFilter:e,filterValues:t,checkboxIcon:n,isHierarchicalView:s,isVirtualized:o=!0,isScrollable:r=!0,isDisableValues:l,isValuesLoading:d,structuresMap:a,hierarchyTreeNodes:u,isHierarchyLoading:m,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p})=>{const g=E.useIsMobile(),{isCrossDatasetModeOn:S}=Ge(),x=d||m;if(!t&&!x)return null;const v=t??[],C=e?ti(e,a):void 0,w=a?.size===1,b=S&&e?.filterType!=="shared"&&!!e?.title&&(w||!!C),N=v.length*Cs,T=N>xs?xs:N;return i.jsxs("div",{className:W("relative",l&&"pointer-events-none opacity-[0.7]",r?"flex h-full min-h-0 flex-col":"flex flex-col"),children:[b&&i.jsxs("div",{className:"mb-2 flex items-center gap-x-1",children:[!w&&i.jsxs(i.Fragment,{children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-700"}),i.jsx("span",{className:"h4 text-neutrals-800",children:C}),i.jsx(tl,{className:"size-4 shrink-0 text-neutrals-1000"})]}),i.jsx("span",{className:"h4 text-neutrals-1000",children:e?.title})]}),x&&i.jsx("div",{className:"pointer-events-none absolute inset-0 z-10 min-h-12",children:i.jsx(E.Loader,{})}),i.jsx("div",{className:W(r?"min-h-0 flex-1 overflow-auto":"overflow-visible",x&&"pointer-events-none opacity-[0.7]"),style:r&&g&&!x?{height:`${T}px`}:void 0,children:u?.length||s?i.jsx(va,{treeNodes:u??ca(v),checkboxIcon:n,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p}):o?i.jsx(Er,{children:({width:M,height:y})=>i.jsx(nl,{itemCount:v.length,itemSize:Cs,width:M,height:y,children:({index:A,style:I})=>i.jsx(rs,{style:I,filterValue:v[A],checkboxIcon:n,selectFilterValue:h})})}):i.jsx("div",{className:"flex flex-col gap-y-1",children:v.map(M=>i.jsx(rs,{filterValue:M,checkboxIcon:n,selectFilterValue:h},M.id))})})]})};function sl(e,t){const n=(e??"").split(".").map(Number),s=(t??"").split(".").map(Number),o=Math.max(n.length,s.length);for(let r=0;r<o;r++){const l=(n[r]??0)-(s[r]??0);if(l!==0)return l}return 0}function ol(e){const t=new Map;for(const n of e){const s=`${n.agencyID??""}:${n.id}`,o=t.get(s);(!o||sl(n.version??"",o.version??"")>0)&&t.set(s,n)}return Array.from(t.values())}function Ss(e){return D.generateShortUrn(e.id,e.version??"",e.agencyID??"")}function vs(e,t,n,s,o){const r=D.getHierarchyCodes(e,t),l=D.getHierarchyAvailableCodes(r,n,s),d=D.getCodeListsData(t),a=il(e,d,l.map(u=>u.id),o);return ai(a)}function ri(e,t,n,s,o){return s?.map(r=>{const{childId:l,agency:d,id:a,version:u}=D.getChildParsedUrn(r.code),m=D.generateShortUrn(a,u,d),h=Object.keys(e??{}).find(w=>D.urnMatchesIgnoreVersion(w,m))??m,p=e?.[h]?.find(w=>w.id===l),g=p?.name||p?.description||l,S=n?D.urnMatchesIgnoreVersion(m,n):!0,x=!S&&(r.hierarchicalCodes?.length??0)>0,v=ri(e,t,n,r.hierarchicalCodes,r.code),C=v.length===0;return x&&C||S&&C&&t&&!t.includes(l??"")?null:{id:r.code,name:g,children:v,isExpanded:!0,disabled:!S&&v.every(w=>w.disabled),isSelectableValue:S,parent:o,metadata:{...r,hierarchicalCodes:void 0}}}).filter(r=>r!==null)??[]}function il(e,t,n,s){return!n||n.length===0?[]:ri(t,n,s,e?.hierarchicalCodes,void 0)}function ai(e){return e.map(t=>{const{childId:n}=D.getChildParsedUrn(t.id??"");return{id:n??t.id??"",name:t.name,isExpanded:t.isExpanded,isSelectedValue:!1,disabled:t.disabled,isSelectableValue:t.isSelectableValue,children:ai(t.children)}})}function li(e,t){return e?.filterType!=="shared"?t:e.dimensionValues?.find(n=>n.id===t||n.sourceValues?.some(s=>s.id===t))?.id}function rl(e){return e?.filterType!=="shared"?new Set(e?.dimensionValues?.filter(t=>t.isSelectedValue).map(t=>t.id)??[]):new Set(e.dimensionValues?.flatMap(t=>t.isSelectedValue?t.sourceValues?.map(n=>n.id)??[]:[])??[])}function al(e,t){if(!e?.length||t?.filterType!=="shared")return e??[];const n=new Map;return e.forEach(s=>{const o=li(t,s.id);o&&n.set(o,{...s,id:o})}),Array.from(n.values())}function ll(e,t){return li(t,e)}function ci(e,t){return e.map(n=>{const s=n.children?.length?ci(n.children,t):n.children;let o;if(t.has(n.id))o=!0;else if(s?.length&&!n.isSelectableValue){const r=s.filter(l=>!l.disabled);o=r.length>0&&r.every(l=>!!l.isSelectedValue)}else o=!1;return{...n,isSelectedValue:o,children:s}})}function di(e,t){return e.map(n=>n.id===t?{...n,isExpanded:!n.isExpanded}:n.children?.length?{...n,children:di(n.children,t)}:n)}function ui(e,t){const n=t.toLowerCase();return e.reduce((s,o)=>{const r=o.name?.toLowerCase().includes(n),l=ui(o.children??[],t);return(r||l.length>0)&&s.push({...o,isExpanded:!0,children:r?o.children:l}),s},[])}const mi=c.createContext(null);function cl({children:e,value:t}){return i.jsx(mi.Provider,{value:t,children:e})}function fi(){const e=c.useContext(mi);if(!e)throw new Error("useFiltersModal must be used within FiltersModalProvider");return e}const dl=2,hi=({filtersList:e,selectedFilter:t,initialConstraints:n,structuresMap:s,selectedTimeOption:o,hierarchyState:r})=>{const{titles:l}=we(),{locale:d,isDisableValues:a,isValuesLoading:u,timeRangeOptions:m,filterValuesProps:h,dataQueries:f,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:S,onTimePeriodChange:x}=fi(),[v,C]=c.useState(""),{isCrossDatasetModeOn:w}=Ge(),b=t?.displayMode===Qe.HIERARCHY,N=Ke(t),T=t?.filterType==="shared",M=v?.trim().toLowerCase(),y=w?M.length>=dl:!!M,A=y&&w&&!T,I=c.useCallback(P=>{if(!P?.dimensionValues)return{filterValues:[],matchedCount:0};const Y=P.dimensionValues.filter(q=>q?.name?.toLowerCase()?.includes(M));return{filterValues:P.displayMode===Qe.HIERARCHY?D.getFilteredItemsWithParents(P.dimensionValues,Y):Y,matchedCount:Y.length}},[M]),j=c.useMemo(()=>y?I(t).filterValues:t?.dimensionValues,[y,I,t]),L=c.useMemo(()=>A?(e||[]).reduce((P,Y)=>{if(_e(Y,t)||Y.filterType==="shared")return P;const{filterValues:q,matchedCount:J}=I(Y);return J?[...P,{filter:Y,filterValues:q,matchedCount:J,isHierarchicalView:Y.displayMode===Qe.HIERARCHY}]:P},[]):[],[A,e,t,I]),K=c.useMemo(()=>{const P=r?.treeNodes;if(!P?.length)return P;const Y=rl(t),q=Y.size?ci(P,Y):P;return y?ui(q,M):q},[r?.treeNodes,t,y,M]),k=K?!K.length:!j?.length,H=!!u||!!r?.isLoading,z=c.useMemo(()=>L.reduce((P,Y)=>P+Y.matchedCount,0),[L]);c.useEffect(()=>{C("")},[N]);const ee=c.useCallback(P=>{C(P)},[C]);return i.jsx(i.Fragment,{children:t?.isTimeDimension&&n?i.jsx(pa,{initialConstraints:n,calendarResolution:X.CalendarResolution.DAY,timeRange:t?.timeRange||null,timeRangeOptions:m||[],calendarStartFromMonday:!0,locale:d,radioIcon:h?.radioIcon,onValueChange:x,calendarIcon:h?.calendarIcon,dateFormat:h?.dateFormat,defaultTimeOption:o,dataQueries:f}):i.jsxs("div",{className:W("flex flex-col py-2 h-full flex-1 min-w-0 sm:border-0","filter-values-container"),children:[i.jsx(Ro,{value:v,onChange:ee,searchIconSize:h?.searchIconSize}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:A?i.jsxs(i.Fragment,{children:[t&&i.jsxs("div",{className:"shrink-0 pb-4",children:[i.jsx(gn,{selectedFilter:t,filterValues:j,checkboxIcon:h?.checkboxIcon,isHierarchicalView:b,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:K,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:S}),!H&&k&&i.jsx("span",{className:"body-2 text-neutrals-700",children:l?.noResultsInSection?.(t.title??"")??`No results found in ${t.title??""}`})]}),i.jsxs("div",{className:"pb-3",children:[i.jsxs("span",{className:"h2 text-neutrals-1000",children:[l?.otherResults??"Other results",":"," ",z]}),!u&&z===0&&i.jsx("p",{className:"body-2 mt-1 text-neutrals-700",children:l?.noResultsInOtherDimensions??"No results found in other dimensions"})]}),L.map(({filter:P,filterValues:Y,isHierarchicalView:q})=>i.jsx("div",{className:"shrink-0 pb-4 last:pb-0",children:i.jsx(gn,{selectedFilter:P,filterValues:Y,checkboxIcon:h?.checkboxIcon,isHierarchicalView:q,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,selectFilterValue:(J,Q)=>p(J,Q,P),selectHierarchicalNodes:J=>g(J,P),expandHierarchicalValue:J=>S(J,P)})},Ke(P)))]}):i.jsx(gn,{selectedFilter:t,filterValues:j,checkboxIcon:h?.checkboxIcon,isHierarchicalView:b,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:K,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:S})})]})})},ul=({filtersList:e,filter:t,onSelectFilter:n,onSelectDisplayMode:s,onDeleteFilter:o,initialConstraints:r,hideFacetCounterByDefault:l,hierarchyState:d})=>{const{titles:a}=we(),{locale:u,onSelectHierarchy:m}=fi(),h=E.useIsMobile(),[f,p]=c.useState(0),[g,S]=c.useState(!1),x=t?.isTimeDimension&&t?.timeRange,v=c.useMemo(()=>t?.timeRange?.startPeriod&&t?.timeRange?.endPeriod?`${Xt(t?.timeRange?.startPeriod,u)} -
6
+ ${Xt(t?.timeRange?.endPeriod,u)}`:"",[u,t?.timeRange]);c.useEffect(()=>{p(yo(t?.dimensionValues)?.length)},[t?.dimensionValues]);const C=l?f>0:!0,w=c.useMemo(()=>ha({isHierarchical:t?.isHierarchical,availableHierarchies:d?.availableHierarchies,titles:a}),[t?.isHierarchical,d?.availableHierarchies,a]),b=d?.isLoading||!t?.isHierarchical&&!d?.availableHierarchies?.length;c.useEffect(()=>{t.isSelectedFilter||S(!1)},[t.isSelectedFilter]);const N=()=>{h&&S(M=>!M),n(t)},T=M=>{if(M==="")m?.(t,null),s?.(t,Qe.FLAT_LIST);else if(M===Qe.HIERARCHY)m?.(t,null),s?.(t,Qe.HIERARCHY);else{const y=d?.availableHierarchies?.find(A=>A.id===M)??null;m?.(t,y)}};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:W("flex justify-between items-center px-2 h-10 hover:bg-hues-100 sm:h-14 sm:hover:bg-white rounded","filters-facet-item cursor-pointer",t?.isSelectedFilter&&!h&&"bg-hues-100",t?.isDisabled&&"cursor-default pointer-events-none opacity-[0.7]"),onClick:N,children:[i.jsxs("h3",{className:"w-full min-w-0 flex-1 truncate sm:flex sm:items-center",title:t?.title,children:[i.jsx("span",{className:"truncate",children:t?.title}),h&&i.jsx(Fn,{className:W("chevron-icon w-6 h-6 shrink-0",g&&"rotate-180")})]}),i.jsxs("div",{className:"ml-2 flex items-center gap-2 text-neutrals-800",children:[x&&i.jsx("span",{className:"filters-facet-item-counter border-none",children:v}),!x&&C&&i.jsx("span",{className:W("px-2 text-center","filters-facet-item-counter"),children:f?`${f}/${t?.dimensionValues?.length||0}`:a?.all||"All"}),x?null:i.jsxs("div",{className:"filters-facet-item-settings flex items-center gap-2",children:[i.jsx(E.Dropdown,{triggerButton:i.jsx(E.IconButton,{buttonClassName:W("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(na,{width:16,height:16}),title:a?.displayOrder||"Display Order",disabled:b}),disabled:b,options:w,selectedOption:d?.selectedHierarchy?.id??(t?.displayMode===Qe.HIERARCHY?Qe.HIERARCHY:""),onOptionSelect:T}),f>0&&i.jsx(E.IconButton,{buttonClassName:W("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(vo,{width:16,height:16}),title:a?.reset||"Reset",onClick:M=>{M.stopPropagation(),o?.(t)}})]})]})]}),g&&i.jsx(hi,{filtersList:e,selectedFilter:t,initialConstraints:r,hierarchyState:d})]})},ml=new Set,fl=({filtersList:e,hideFacetCounterByDefault:t,onSelectFilter:n,onDeleteFilter:s,onSelectDisplayMode:o,initialConstraints:r,initialConstraintsMap:l,datasetIcon:d,structuresMap:a,hierarchyStateMap:u,dataQueries:m,disabledDatasetUrns:h=ml,isDatasetFacetSelected:f=!1,onSelectDatasetFacet:p,onClearAllDatasets:g})=>{const{isCrossDatasetModeOn:S}=Ge(),x=S&&!!m?.length,v=new Set(e.filter(C=>C.filterType==="dataset").map(C=>C.datasetUrn||"")).size;return i.jsxs("div",{className:W("overflow-y-auto advanced-view-filters-list w-[338px] pr-3 h-full sm:w-full"),children:[x&&i.jsx(ta,{dataQueries:m,disabledDatasetUrns:h,isSelected:f,onSelect:p,onClearAll:g}),e.filter(C=>!(C.filterType==="dataset"&&C.datasetUrn&&h.has(C.datasetUrn))).map((C,w,b)=>{const N=b[w-1],M=C.filterType==="dataset"&&v>1&&C.datasetUrn!==N?.datasetUrn?ti(C,a):void 0;return i.jsxs("div",{className:"min-w-0 shrink-0",children:[M&&i.jsxs("h4",{className:"filters-facet-dataset-name !flex",children:[i.jsx("span",{className:"filters-facet-dataset-icon",children:d}),i.jsx("span",{className:"min-w-0 truncate",title:M,children:M})]}),i.jsx(ul,{filtersList:b,filter:C,onSelectFilter:n,onSelectDisplayMode:o,onDeleteFilter:s,hideFacetCounterByDefault:t,initialConstraints:si(S,C,r,l),hierarchyState:u?.get(Ke(C)??"")})]},Ke(C))})]})},hl=({dataQueries:e,disabledDatasetUrns:t,onToggleDataset:n,searchIconSize:s})=>{const[o,r]=c.useState(""),l=o.trim().toLowerCase(),d=e.filter(u=>l.length<2||(u.title??u.urn).toLowerCase().includes(l)),a=e.length-t.size;return i.jsxs("div",{className:"filter-values-container flex h-full min-w-0 flex-1 flex-col py-2 sm:border-0",children:[i.jsx(Ro,{value:o,onChange:r,searchIconSize:s}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:d.map(u=>{const m=!t.has(u.urn),h=m&&a===1;return i.jsx("div",{className:W("py-1",h&&"pointer-events-none"),children:i.jsx(E.Checkbox,{id:u.urn,label:u.title??u.urn,checked:m,disabled:h,disabledScope:"icon",onChange:(f,p)=>n(u.urn,!!p)})},u.urn)})})]})},pi=({filtersList:e,selectedFilter:t,modalProps:n,locale:s,isDisableValues:o,isValuesLoading:r,timeSeriesCount:l,timeRangeOptions:d,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,setSelectedFilter:f,onSelectDisplayMode:p,onDeleteFilter:g,onClearAllFilters:S,updateSelectedFilterValues:x,onTimePeriodChange:v,selectedTimeOption:C,hierarchyStateMap:w,onSelectHierarchy:b,onExpandHierarchyNode:N,dataQueries:T,disabledDatasetUrns:M,onToggleDataset:y,onClearAllDatasets:A})=>{const{titles:I}=we(),j=w?.get(Ke(t)),L=E.useIsMobile(),{isCrossDatasetModeOn:K}=Ge(),[k,H]=c.useState(!1),z=c.useMemo(()=>el(e.filter(O=>!(O.filterType==="dataset"&&O.datasetUrn&&M.has(O.datasetUrn))),M,u),[e,M,u]),ee=c.useMemo(()=>t?z.find(O=>_e(O,t)):void 0,[t,z]),P=Pn(on(e))+M.size,Y=c.useCallback(()=>{H(!0),f(void 0)},[f]),q=c.useCallback(O=>{H(!1);const _=e?.find(ie=>_e(ie,O));if(!_){f(void 0);return}f({..._,isSelectedFilter:!0})},[e,f]),J=O=>O?e?.find(_=>_e(_,O)):void 0,Q=(O,_,ie)=>{const de=!ie||_e(ie,t),ce=J(ie??t)??ie??t;if(!ce)return;const je=Gt(ce)?ll(O,ce):O;if(!je)return;const Te={...ce,dimensionValues:ce?.dimensionValues?.map(V=>V?.id===je?{...V,isSelectedValue:_}:V)};de&&f(Te),x&&x(Te)},pe=(O,_)=>{const ie=!_||_e(_,t),de=J(_??t)??_??t;if(!de)return;const ce=Gt(de)?al(O,de):O??[],je=new Set(de?.dimensionValues?.map(B=>B.id)),Te=Gt(de)?[]:fa(ce,je),V={...de,dimensionValues:[...de?.dimensionValues?.map(B=>{const oe=ce.find(re=>re?.id===B?.id);return oe?{...B,isSelectedValue:oe.isSelectedValue}:B})??[],...Te]};ie&&f(V),x&&x(V)},ve=(O,_)=>{const ie=!_||_e(_,t),de=J(_??t)??_??t;if(!de||!O?.id)return;const ce=Ke(de);if((ce?w?.get(ce):void 0)?.treeNodes?.length){N?.(ce,O.id);return}const Te={...de,dimensionValues:de?.dimensionValues?.map(V=>V?.id===O?.id?{...V,isExpanded:!O?.isExpanded}:V)};ie&&f(Te),x&&x(Te)},De=(O,_)=>{if(!t)return;const ie={...t,timeRange:O||void 0};v?.(_),f(ie),x&&x(ie)};return i.jsx(cl,{value:{locale:s,isDisableValues:o,isValuesLoading:r,timeRangeOptions:d,filterValuesProps:n?.filterValuesProps,dataQueries:T,onSelectHierarchy:b,selectFilterValue:Q,selectHierarchicalNodes:pe,expandHierarchicalValue:ve,onTimePeriodChange:De},children:i.jsxs("div",{className:W("flex flex-row gap-5 flex-1 min-h-0 sm:p-0","filters-settings"),children:[i.jsxs("div",{className:W("h-full sm:w-full",n?.isShowTimeSeriesCount&&"flex flex-col justify-between"),children:[K&&i.jsxs("div",{className:"mb-4 flex items-center justify-between gap-x-4",children:[i.jsxs("span",{className:"body-3 text-neutrals-900",children:[I?.appliedFilters??"Applied filters",":"," ",P]}),i.jsx(E.Button,{buttonClassName:"text-button-tertiary p-0",title:I?.clearAll??"Clear All",onClick:S,isSmallButton:L})]}),i.jsx(fl,{filtersList:z,hideFacetCounterByDefault:n?.isHideFacetCounterByDefault,onSelectFilter:q,onSelectDisplayMode:p,onDeleteFilter:g,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,hierarchyStateMap:w,dataQueries:T,disabledDatasetUrns:M,isDatasetFacetSelected:k,onSelectDatasetFacet:Y,onClearAllDatasets:A}),n?.isShowTimeSeriesCount&&l?i.jsxs("h4",{className:"my-4 text-neutrals-800",children:[I?.timeSeries??"Timeseries",": ",l]}):null]}),!L&&(k?i.jsx(hl,{dataQueries:T??[],disabledDatasetUrns:M,onToggleDataset:y,searchIconSize:n?.filterValuesProps?.searchIconSize}):i.jsx(hi,{filtersList:z,selectedFilter:ee,structuresMap:h,initialConstraints:si(K,t,a,u),selectedTimeOption:C,hierarchyState:j}))]})})},pl=e=>{const t=e.filterType==="dataset"?[e.datasetUrn]:e.sourceDatasetUrns;return Array.from(new Set((t||[]).filter(n=>!!n)))},gl=(e,t)=>{if(!t)return!1;const n=e.dataStructureComponents?.dimensionList;return[...n?.dimensions||[],...n?.timeDimensions||[]].some(o=>o.id===t)},Tn=e=>{if(!e.length||e.some(n=>!n))return;const t=Array.from(new Set(e));return t.length===1?t[0]:void 0},Cl=(e,t)=>{const n=t?.dataStructures||[];if(!n.length)return[];const s=n.filter(o=>gl(o,e));return s.length?s:n.length===1?n:[]},xl=e=>e.urn??D.generateShortUrn(e.id,e.version,e.agencyID),gi=(e,t)=>Tn(Cl(e,t).map(xl)),Sl=(e,t,n,s)=>{if(!e||!t)return;const o=n?.get(t)?.find(a=>a.id===e);if(!o)return;const r=D.getKeyFromUrn(o.localRepresentation?.enumeration);if(r)return r;const l=s?.get(t),d=D.findCodelistByDimension(l?.codelists,l?.conceptSchemes,o);return d?D.getKeyFromUrn(d.urn)??D.generateShortUrn(d.id,d.version,d.agencyID):void 0},vl=(e,t,n)=>{const s=pl(e);return{codelistUrn:Tn(s.map(o=>Sl(e.id,o,t,n))),sourceArtefactUrn:Tn(s.map(o=>gi(e.id,n?.get(o))))}},wl=({timeseriesLength:e=0,limitMessages:t})=>{const n=!e||E.SERIES_LIMIT>e;return i.jsx("div",{className:"body-3 flex items-center gap-x-[4px] text-neutrals-800 sm:justify-center sm:text-center",children:n?i.jsx("span",{children:t?.seriesCount?.(e)}):i.jsxs(i.Fragment,{children:[i.jsx("span",{children:t?.warningIcon}),i.jsx("span",{children:t?.counterLimit?.(e,E.SERIES_LIMIT)})]})})},Ci=({modalProps:e,onApply:t,onClearAllFilters:n,onClose:s,applyDisabled:o,timeseriesLength:r,limitMessages:l})=>{const{titles:d}=we(),a=E.useIsMobile(),u=e?.footerActionsPosition==="right",m=e?.isShowCancelButton,h=e?.isShowClearAllButton??!0,f=m?u?"justify-end":"justify-start":u?"flex-row items-center justify-between sm:flex-col-reverse sm:gap-y-4":"gap-x-8 flex-row-reverse items-center justify-between sm:flex-col sm:gap-y-4",p=m?u?"items-center gap-x-8":"justify-between":u?"flex-row justify-end items-center sm:flex-col-reverse sm:gap-y-4":"gap-x-8 flex-row-reverse justify-end items-center sm:flex-col-reverse sm:gap-y-4";return i.jsxs("div",{className:W("flex py-4 px-6 modal-footer-wrapper",f),children:[!m&&i.jsx(wl,{timeseriesLength:r,limitMessages:l}),i.jsxs("div",{className:W("flex",p),children:[h&&i.jsx(E.Button,{iconBefore:a?e?.resetIcon:void 0,buttonClassName:"text-button-tertiary p-0",title:e?.isShowClearIcon?d?.clearAllFilters??"Clear All Filters":d?.clearAll??"Clear All",onClick:()=>n(),isSmallButton:a}),i.jsxs("div",{className:"flex items-center gap-x-3",children:[e?.isShowCancelButton?i.jsx(E.Button,{buttonClassName:"text-button-tertiary sm:h8",title:d?.cancel??"Cancel",onClick:s,isSmallButton:a}):null,i.jsx(E.Button,{buttonClassName:"advanced-view-filters-modal-apply-button",title:d?.apply??"Apply",onClick:t,isSmallButton:a,disabled:o})]})]})]})},bl=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M3.33333 13.3327V8.66602H2V7.33268H6V8.66602H4.66667V13.3327H3.33333ZM3.33333 5.99935V2.66602H4.66667V5.99935H3.33333ZM6 5.99935V4.66602H7.33333V2.66602H8.66667V4.66602H10V5.99935H6ZM7.33333 13.3327V7.33268H8.66667V13.3327H7.33333ZM11.3333 13.3327V11.3327H10V9.99935H14V11.3327H12.6667V13.3327H11.3333ZM11.3333 8.66602V2.66602H12.6667V8.66602H11.3333Z",fill:"currentColor"}));var Oe=(e=>(e.DATA_GRID="dataGrid",e.METADATA_PER_SERIES="metadataPerSeries",e.CHARTS="charts",e.CHARTS_NAVIGATION="chartsNavigation",e.OPEN_ADVANCED_VIEW="openAdvancedView",e.FILTERS="filters",e.CHART_PER_SERIES="chartPerSeries",e.METADATA_PER_DATASET="metadataPerDataset",e.EXIT_ADVANCED_VIEW="exitAdvancedView",e))(Oe||{});const kn=["charts","chartsNavigation"],ws=["dataGrid","metadataPerSeries",...kn,"openAdvancedView"],xi=["filters","chartPerSeries","metadataPerDataset","exitAdvancedView"],at=(e,t)=>{const n=t?.[`${e}Title`],s=t?.[`${e}Description`];return{title:typeof n=="string"?n:"",description:typeof s=="string"?s:""}},Mn=(e,t)=>e.find(n=>!t.infoElements?.[n])||"",Dl=(e,t)=>{if(!e||!t)return"";if(ws.includes(t)){const s=Mn(ws,e);if(s)return s}const n=Mn(xi,e);return n||""},Si=(e,t)=>{const n=Mn(e,t);return{...t,infoElements:{...t?.infoElements,[t.lastDisplayedElement]:!1,...n?{[n]:!0}:{}},lastDisplayedElement:n}},vi=e=>Si(xi,e),yl=e=>Si(kn,e),El=e=>(!e?.infoElements?.charts||!e?.infoElements?.chartsNavigation)&&!kn.includes(e.lastDisplayedElement),ot=5,Tl=({targetPosition:e,overlayClasses:t,onClose:n})=>i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"overlay overlay-top",style:{height:e.top,top:0-ot,bottom:e.top+ot}}),i.jsx("div",{className:"overlay overlay-bottom",style:{top:e.bottom+ot,bottom:0}}),i.jsx("div",{className:"overlay overlay-left",style:{top:e.top-ot,height:e.height+ot*2,width:e.left,left:0-ot,right:e.left-ot*2}}),i.jsx("div",{className:"overlay overlay-right",style:{top:e.top-ot,left:e.right+ot,height:e.height+ot*2,right:0}}),i.jsx("div",{className:W("outline-block z-10",t),onClick:n,style:{top:e.top,left:e.left,height:e.height,width:e.width}})]}),lt=({reference:e,title:t,description:n,onReferenceClick:s,shouldCloseTooltip:o,shouldMoveToNextStep:r,supressReferenceClick:l})=>{const[d,a]=c.useState(!0),[u,m]=c.useState(!1),h=c.useRef(null),{isShowOnboarding:f,onboardingFileSchema:p,setOnboardingFileSchema:g}=Ye(),{refs:S,floatingStyles:x,context:v,placement:C}=qe.useFloating({open:d,onOpenChange:a,placement:"right-start",elements:{reference:e?.current},middleware:[qe.offset({mainAxis:12,crossAxis:-4}),qe.flip(),qe.shift(),qe.arrow({element:h})],whileElementsMounted:qe.autoUpdate}),w=qe.useClick(v),{getFloatingProps:b}=qe.useInteractions([w]),N=c.useCallback(()=>{if(f){const A=Dl(p,p?.lastDisplayedElement);g?.({...p,infoElements:{...p?.infoElements,...A?{[A]:!0}:{}},lastDisplayedElement:A})}a?.(!1)},[f,p,g]);c.useEffect(()=>{S.setReference(e?.current??null)},[e,S]);const T=()=>N(),M=e?.current?.getBoundingClientRect();c.useEffect(()=>{o&&!u&&(N(),m(!0))},[o,N,u]);const y=()=>{s?(s?.(),r?N():a(!1)):l||(N(),e?.current?.click())};return i.jsx(i.Fragment,{children:d&&i.jsxs(qe.FloatingPortal,{children:[M&&i.jsx(Tl,{overlayClasses:l?"cursor-default":"cursor-pointer",targetPosition:M,onClose:y}),i.jsxs("div",{ref:S.setFloating,style:x,...b(),className:"tooltip z-tooltip max-w-[350px]",children:[i.jsxs("div",{className:"tooltip-header",children:[i.jsx("h3",{children:t}),i.jsx(E.CloseButton,{btnClassNames:"w-4 h-4",onClick:T})]}),i.jsx("div",{className:"tooltip-description",children:i.jsx("p",{children:n})}),i.jsx("div",{ref:h,className:W("tooltip-arrow absolute w-3 h-3 rotate-45",C?.includes("right")?"left-[-4px]":"right-[-6px]",C?.includes("end")?"bottom-2 tooltip-arrow-white":"top-3")})]})]})})},wi=({buttonProps:e,selectedFiltersCount:t=0,isLoading:n,setModalState:s,isModalClosed:o,warningIcon:r,filterIconClassName:l,timeSeriesCount:d})=>{const{titles:a}=we(),u=c.useRef(null),[m,h]=c.useState(""),[f,p]=c.useState(""),[g,S]=c.useState(!1),{onboardingFileSchema:x,isShowOnboarding:v}=Ye(),C=E.SERIES_LIMIT<(d??0),w=c.useMemo(()=>e?.isShowBadge?e?.title:`${e?.title}: ${t}`,[e?.isShowBadge,e?.title,t]);return c.useEffect(()=>{if(v){const{title:b,description:N}=at(Oe.FILTERS,a);h(b),p(N)}},[a,v]),c.useEffect(()=>{v&&S(x?.lastDisplayedElement===Oe.FILTERS)},[x?.lastDisplayedElement,v]),i.jsx("div",{className:"filter-button-container relative",ref:u,children:n?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[i.jsx(E.Button,{iconBefore:i.jsx(bl,{className:W("size-4",l)}),iconAfter:C?r:void 0,title:w,buttonClassName:"text-button-secondary filter-button",isSmallButton:!0,onClick:()=>s(E.PopUpState.Opened)}),e?.isShowBadge&&i.jsx("div",{className:"filter-count-badge",children:i.jsx("h5",{children:t})}),g&&i.jsx(lt,{reference:u,title:m,description:f,onReferenceClick:()=>s(E.PopUpState.Opened),shouldCloseTooltip:o})]})})},bi=c.createContext(null);function Ml({children:e}){const[t,n]=c.useState(E.PopUpState.Closed),[s,o]=c.useState(!1),r=c.useMemo(()=>({modalState:t,setModalState:n,isModalClosed:s,setIsModalClosed:o}),[t,s]);return i.jsx(bi.Provider,{value:r,children:e})}function Di(){const e=c.useContext(bi);if(!e)throw new Error("useFiltersModalState must be used within FiltersModalStateProvider");return e}const bs=e=>{const t=[];return e.custom_content?.attachments&&t.push(...e.custom_content.attachments),t};function Un(e){return e.type===he.AttachmentType.MARKDOWN&&e.title!=null&&e.title?.startsWith("URL Query")}function yi(e){return e.type===he.AttachmentType.JSON&&e.title!=null&&e.title?.startsWith("Query (JSON)")}function Ei(e){return e.type===he.AttachmentType.MARKDOWN&&!Un(e)}function Nl(e){return e.type===he.AttachmentType.CSV}function Hn(e){return e.type===he.AttachmentType.TABLE}function rt(e){return e.type===he.AttachmentType.CUSTOM_DATA_GRID}function Kt(e){return e.type===he.AttachmentType.CUSTOM_CHART}function Il(e){return e.type===he.AttachmentType.PLOTLY}function Bn(e){return e.type===he.AttachmentType.CUSTOM_CODE_SAMPLE}function ft(e){return e.type===he.AttachmentType.CROSS_DATASET_GRID}function Al(e){return Hn(e)||rt(e)||ft(e)}const jl=(e,t)=>e?.filter((n,s)=>n?.custom_content?.attachments&&s<t)?.at(-1),Ti=e=>e?.reduce((t,n,s)=>n?.custom_content?.attachments?.some(o=>yi(o))?s:t,-1),Rl=e=>e?.reduce((t,n)=>n?.role===Ae.Role.Assistant?n:t,{}),Ds=e=>e.type==="text/markdown"&&!!e.data?.includes("```python"),Ll=(e,t)=>{const n=e?.custom_content?.attachments?.filter(Ds)??[],s=t?.custom_content?.attachments?.filter(Ds)??[],o=new Map;for(const r of[...n,...s])o.set(r.title??r.data??"",r);return[...o.values()]},Fl=(e,t,n,s,o)=>({role:Ae.Role.System,content:"",custom_content:{attachments:n?.map(r=>{const l=e&&t?.urn===r?.urn?e:r?.filters;return{type:he.AttachmentType.JSON,title:r?.title,data:JSON.stringify({urn:r?.urn,metadata:r?.metadata,filters:o?o?.get(r?.urn):l,disabled:!!r?.disabled})}})||[],form_schema:s?.custom_content?.form_schema}}),Mi=(e,t,n,s,o)=>{if(!e)return[];const r=e.at(-1),l=r?.role===Ae.Role.System,d=l?e.slice(0,-1):e,a=Rl(d),u=Ll(a,l?r:void 0),m=Fl(s,o,t,a,n);return u.length&&m.custom_content&&(m.custom_content={...m.custom_content,attachments:[...m.custom_content.attachments??[],...u]}),[...d,m]},Pl=(e,t,n,s)=>e?.map(o=>({...o,filters:n&&s?.urn===o?.urn?n:o?.filters}))||[],mt={availableHierarchies:[],selectedHierarchy:null,mainHierarchy:null,codelists:[],treeNodes:[],isLoading:!1},Ni=({getCodelistUrnForFilter:e,getConstraintsForFilter:t,getSourceArtefactUrn:n,getAvailableHierarchies:s,getHierarchy:o})=>{const[r,l]=c.useState(new Map),d=c.useCallback((f,p)=>{const g=Ke(f);if(!g)return;const S=e(f),x=p??t(f);l(v=>{const C=v.get(g);if(!C?.mainHierarchy)return v;const w=vs(C.mainHierarchy,C.codelists,f.id??"",x,S),b=new Map(v);return b.set(g,{...C,treeNodes:w}),b})},[e,t]),a=c.useCallback(async f=>{if(!s)return;const p=e(f);if(!p)return;const g=Ke(f);if(g){l(S=>{const x=new Map(S),v=S.get(g)??mt;return x.set(g,{...v,isLoading:!0}),x});try{const S=await s(p,n?.(f)),x=ol(S?.data?.hierarchies??[]);l(v=>{const C=new Map(v),w=v.get(g)??mt;return C.set(g,{...w,availableHierarchies:x,isLoading:!1}),C})}catch{l(S=>{const x=new Map(S),v=S.get(g)??mt;return x.set(g,{...v,isLoading:!1}),x})}}},[s,e,n]),u=c.useCallback(async(f,p)=>{if(!o)return;const g=Ke(f);if(!g)return;const S=e(f);l(x=>{const v=new Map(x),C=x.get(g)??mt;return v.set(g,{...C,isLoading:!0}),v});try{const x=Ss(p),v=await o(x,S),C=v?.data?.hierarchies?.find(N=>Ss(N)===x);if(!C){l(N=>{const T=new Map(N),M=N.get(g)??mt;return T.set(g,{...M,selectedHierarchy:p,mainHierarchy:null,treeNodes:[],isLoading:!1}),T});return}const w=D.resolveCodelistsFromResponse(v?.data),b=vs(C,w,f.id??"",t(f),S);l(N=>{const T=new Map(N),M=N.get(g)??mt;return T.set(g,{...M,selectedHierarchy:p,mainHierarchy:C,codelists:w,treeNodes:b,isLoading:!1}),T})}catch{l(x=>{const v=new Map(x),C=x.get(g)??mt;return v.set(g,{...C,isLoading:!1}),v})}},[o,e,t]),m=c.useCallback((f,p)=>{if(!f)return;const g=Ke(f);if(g){if(!p){l(S=>{const x=new Map(S),v=S.get(g)??mt;return x.set(g,{...v,selectedHierarchy:null,mainHierarchy:null,treeNodes:[]}),x});return}u(f,p)}},[u]),h=c.useCallback((f,p)=>{l(g=>{const S=g.get(f);if(!S?.treeNodes)return g;const x=new Map(g);return x.set(f,{...S,treeNodes:di(S.treeNodes,p)}),x})},[]);return{hierarchyStateMap:r,rebuildHierarchyTree:d,loadAvailableHierarchies:a,onSelectHierarchy:m,onExpandHierarchyNode:h}},_l=(e,t,n,s,o)=>{const r=new Set;if(!t||e.isTimeDimension)return r;const l=e.dimensionValues?.filter(m=>m.isSelectedValue)??[];if(!l.length)return r;const d=D.findCodelistByDimension(n?.codelists,n?.conceptSchemes,t);if(!d?.codes?.length)return r;const a=new Set(d.codes.map(m=>m.id)),u=new Set(D.getAvailableCodesFromConstrains(d.codes,t.id,s,o).map(m=>m.id));return l.forEach(m=>{a.has(m.id)&&!u.has(m.id)&&r.add(m.id)}),r},Ii=(e,t,n,s,o,r)=>{let l=!1;const d=e.map(a=>{if(a.isTimeDimension||o&&a.id===o)return a;const u=t?.find(h=>h.id===a.id),m=_l(a,u,n,s,r);return m.size?(l=!0,{...a,dimensionValues:a.dimensionValues?.map(h=>m.has(h.id)?{...h,isSelectedValue:!1}:h)}):a});return{filters:l?d:e,changed:l}},Vl=(e,t,n,s,o,r)=>Ii(e,t,n,s,o?.id,r),Ol=(e,t,n,s,o)=>{let r=!1;const l=new Map;return e.forEach((d,a)=>{const u=n?.filterType==="shared"?Vn(n,a,o):n?.datasetUrn===a?n.id:void 0,m=Ii(d,t?.dimensionsMap?.get(a),t?.structuresMap?.get(a),t?.constraintsMap?.get(a),u,s);r=r||m.changed,l.set(a,m.filters)}),{filtersMap:r?l:e,changed:r}},kl=new Set,Ul=({actions:e,dimensions:t,structureDimensions:n,structures:s,buttonProps:o,modalProps:r,attachmentsDataQuery:l,dataQueries:d,initialConstraints:a,onFiltersChange:u,locale:m,timeRangeOptions:h,conversationKey:f,conversation:p,setConversation:g,updateConversation:S,updateDataQueries:x,limitMessages:v,filterIconClassName:C})=>{const{titles:w}=we(),{modalState:b,setModalState:N,isModalClosed:T,setIsModalClosed:M}=Di(),[y,A]=c.useState([]),[I,j]=c.useState([]),[L,K]=c.useState(),[k,H]=c.useState([]),[z,ee]=c.useState(void 0),P=c.useRef(a||[]),[Y,q]=c.useState([]),[J,Q]=c.useState(),[pe,ve]=c.useState(),[De,O]=c.useState(!1),_=c.useRef(0),ie=c.useRef(!1),de=c.useCallback(()=>{_.current+=1,_.current===1&&O(!0)},[]),ce=c.useCallback(()=>{_.current=Math.max(_.current-1,0),_.current===0&&O(!1)},[]),je=c.useCallback(Z=>{const fe=t?.find(ze=>ze.id===Z.id);if(!fe)return;const se=D.getKeyFromUrn(fe.localRepresentation?.enumeration);if(se)return se;const le=D.findCodelistByDimension(s?.codelists,s?.conceptSchemes,fe);return le?D.getKeyFromUrn(le.urn)??D.generateShortUrn(le.id,le.version,le.agencyID):void 0},[t,s?.codelists,s?.conceptSchemes]),{hierarchyStateMap:Te,rebuildHierarchyTree:V,loadAvailableHierarchies:B,onSelectHierarchy:oe,onExpandHierarchyNode:re}=Ni({getCodelistUrnForFilter:je,getConstraintsForFilter:()=>P.current,getSourceArtefactUrn:Z=>gi(Z.id,s),getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),me=Z=>{const fe=Z?y.map(se=>_e(se,Z)?Z:se):y;ve(!0),A(Qt(fe)),Q?.(!0),ue(Z?.isTimeDimension?Jt(fe,Z):fe,A,Q,Z)};c.useEffect(()=>{b===E.PopUpState.Closed&&q(P.current)},[b]);const ue=c.useCallback((Z,fe,se,le)=>{const ze=l?.urn??"",U=It(yn(Z).filter(F=>F.componentCode!==D.TIME_PERIOD)),G=et(ze,U),te=!!e?.getConstraints&&!En(e.getConstraints,G);te&&de(),(e?nt(e.getConstraints,G,()=>e.getConstraints(ze,U)):Promise.resolve(void 0)).then(F=>{const $=F?.data?.dataConstraints||[];if(le){const{filters:Fe,changed:xe}=Vl(Z,t,s,$,le,m);if(xe){P.current=$,se?.(!0),ve(!0),ue(Fe,fe,se,le);return}}const ne=zt(Z,t,s,$,m);if(P.current=$,se?.(!1),fe(ne),le){const Fe=ne.find(xe=>_e(xe,le));K(xe=>xe&&Fe&&_e(xe,le)?{...Fe,isSelectedFilter:!0}:xe),V(le,$)}}).catch(()=>{const F=zt(Z,t,s,[],m);if(P.current=[],se?.(!1),fe(F),le){const $=F.find(ne=>_e(ne,le));K(ne=>ne&&$&&_e(ne,le)?{...$,isSelectedFilter:!0}:ne)}}).finally(()=>{ve(!1),te&&ce()})},[e,l?.urn,t,ce,m,V,de,s]);c.useEffect(()=>{const Z=bo(t,s,n,m),fe=t?.map(le=>{const ze=D.findCodelistByDimension(s?.codelists,s?.conceptSchemes,le),U=D.getAvailableCodesFromConstrains(ze?.codes,le.id,P.current,m);return{...le,dimensionValues:U}}),se=Z.map(le=>{const ze=fe?.find(U=>U.id===le.id)?.dimensionValues||[];return{...le,dimensionValues:ze}});if(!ie.current){if(!s)return;const le=No(se,l,P.current);Q?.(!0),ue(le,j,Q),ie.current=!0}},[t,n,s,l,m,a,ue]),c.useEffect(()=>{I?.length&&H(on(I))},[I]),c.useEffect(()=>{A(Z=>Jt(Z,L))},[L]),c.useEffect(()=>{if(b===E.PopUpState.Opened){const Z=I.find(fe=>!fe.isTimeDimension);K(Z?{...Z,isSelectedFilter:!0}:void 0),A(I)}b===E.PopUpState.Closed&&K(void 0)},[I,b]),c.useEffect(()=>{if(!L||L.isTimeDimension)return;const Z=Ke(L);if(!Z)return;Te.get(Z)||B(L)},[L,Te,B]),c.useEffect(()=>{b===E.PopUpState.Opened&&I.forEach(Z=>{if(Z.isTimeDimension)return;const fe=Ke(Z);fe&&!Te.has(fe)&&B(Z)})},[b,I,Te,B]);const ae=c.useCallback(async Z=>{const fe=ko(Z),se=p?{...p,messages:Mi(p?.messages,d,void 0,fe,l)}:null;g?.(se),x?.(Pl(d,void 0,fe,l)),await S(decodeURI(f),{name:se?.name,messages:se?.messages||[]})},[l,p,f,d,g,S,x]),Le=c.useCallback((Z,fe)=>{A(se=>Do(se,Z,fe)),_e(L,Z)&&K(se=>se&&{...se,displayMode:fe})},[L]),ye=c.useCallback(Z=>_o(Z,t),[t]),ge=c.useMemo(()=>wn(ye(y),ye(I)),[y,I,ye]),Ie=c.useCallback((Z,fe)=>{const se=zt(fe,t,s,Z,m);P.current=Z,K(le=>se?.find(ze=>_e(ze,le))||le),A(se),ve(!1)},[t,m,s]),Ce=c.useCallback(Z=>{ve(!0),A(Qt(Z));const fe=l?.urn??"",se=It(yn(Z).filter(G=>G.componentCode!==D.TIME_PERIOD)),le=et(fe,se),ze=!!e?.getConstraints&&!En(e.getConstraints,le);ze&&de(),(e?nt(e.getConstraints,le,()=>e.getConstraints(fe,se)):Promise.resolve(void 0)).then(G=>{Ie(G?.data?.dataConstraints||[],Z)}).catch(()=>{Ie([],Z)}).finally(()=>{ze&&ce()})},[e,l?.urn,ce,de,Ie]),Pe=c.useCallback(Z=>{const fe=To(y,Z);Ce(fe)},[Ce,y]),ke=c.useCallback(()=>{P.current=Y,N(E.PopUpState.Closed),M(!0)},[Y,N,M]),$e=c.useCallback(()=>{const Z=Mo(y);Ce(Z)},[Ce,y]),Re=c.useCallback(()=>{const Z=ye(y);u?.(Z,P.current,y),j(y),N(E.PopUpState.Closed),M(!0),c.startTransition(()=>{ae(y)})},[ye,y,u,ae,P,N,M]),Ue=Z=>{ee(Z)},He=Number(D.getTimeSeriesCount(P?.current?.[0]?.annotations)),st=J||pe||ge;return i.jsxs("div",{className:"filters-container",children:[i.jsx(wi,{buttonProps:o,selectedFiltersCount:Pn(k),isLoading:J,setModalState:N,isModalClosed:T,warningIcon:v?.warningIcon,filterIconClassName:C,timeSeriesCount:He}),i.jsx(i.Fragment,{children:b===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:w?.settings||"Settings",portalId:"filters",size:E.PopUpSize.LG,containerClassName:"advanced-view-filters-modal h-[80%]",dividers:r?.isShowDividers,onClose:ke,closeButtonTitle:w?.close||"Close",children:[i.jsx(pi,{locale:m,timeRangeOptions:h,filtersList:y,selectedFilter:L,isDisableValues:pe,isValuesLoading:De,modalProps:r,initialConstraints:a,timeSeriesCount:`${He}`,setSelectedFilter:K,onSelectDisplayMode:Le,onDeleteFilter:Pe,onClearAllFilters:$e,updateSelectedFilterValues:me,onTimePeriodChange:Ue,selectedTimeOption:z,hierarchyStateMap:Te,onSelectHierarchy:oe,onExpandHierarchyNode:re,dataQueries:l?[l]:void 0,disabledDatasetUrns:kl,onToggleDataset:()=>{},onClearAllDatasets:()=>{}}),i.jsx(Ci,{onApply:Re,onClose:ke,onClearAllFilters:$e,modalProps:r,applyDisabled:st,timeseriesLength:He,limitMessages:v})]})})]})},Cn=({setToTitle:e,datasetName:t,datasetIcon:n,isShowDatasetDetails:s,queryFilterDetails:o})=>i.jsx("div",{children:o?.map(r=>i.jsxs("div",{className:"body-1 mb-2 flex flex-wrap items-center gap-1",children:[i.jsxs("span",{children:[r?.title,i.jsx("span",{children:e??" set to "}),i.jsx("span",{className:"font-bold",children:r?.valuesTitles?.join(", ")})]}),t&&s&&i.jsxs("span",{className:"attachment-dataset-name caption !mb-0 inline-flex items-center",children:[i.jsx("span",{className:"attachment-dataset-icon mr-1",children:n}),t]})]},r?.title))}),Hl=({titles:e,attachmentInfoList:t,datasetIcon:n,dataQueries:s})=>{const{isCrossDatasetModeOn:o}=Ge(),{sharedFilterDetails:r,perDatasetInfoList:l}=c.useMemo(()=>{if(!o)return{sharedFilterDetails:[],perDatasetInfoList:[]};const u=new Map,m=[];return t?.forEach(h=>{const f=[];h.queryFiltersDetails?.forEach(p=>{if(Ia.has(p.id)){const g=u.get(p.id);g?u.set(p.id,{...g,valuesTitles:Array.from(new Set([...g.valuesTitles||[],...p.valuesTitles||[]]))}):u.set(p.id,{...p})}else p.valuesTitles?.length&&f.push(p)}),f.length&&m.push({...h,queryFiltersDetails:f})}),{sharedFilterDetails:Array.from(u.values()),perDatasetInfoList:m}},[o,t]),d=s?.some(u=>u.disabled)??!1,a=t?.map(u=>u.datasetName).filter(Boolean)??[];return i.jsxs("div",{className:"attachment-details flex flex-col",children:[i.jsx("p",{className:W("body-1",(t&&t.length<=1||o&&r.length>0)&&"mb-2"),children:e?.queryUpdatedManuallyTitle??"Query has been updated manually."}),d&&a.length>0&&i.jsxs("div",{className:"body-1 mb-2 flex flex-wrap items-center gap-1",children:[i.jsxs("span",{children:[e?.datasetLabel??"Dataset",e?.setToTitle??" set to "]}),a.map(u=>i.jsxs("span",{className:"attachment-dataset-name caption !mb-0 inline-flex items-center",children:[i.jsx("span",{className:"attachment-dataset-icon mr-1",children:n}),u]},u))]}),o?i.jsxs(i.Fragment,{children:[r.length>0&&i.jsx(Cn,{setToTitle:e?.setToTitle,queryFilterDetails:r}),l.map(u=>i.jsx(Cn,{setToTitle:e?.setToTitle,datasetName:u.datasetName,datasetIcon:n,isShowDatasetDetails:!0,queryFilterDetails:u.queryFiltersDetails},u.datasetName))]}):t?.map(u=>!!u?.queryFiltersDetails?.length&&i.jsx(Cn,{setToTitle:e?.setToTitle,datasetName:u?.datasetName,datasetIcon:n,isShowDatasetDetails:t?.length>1,queryFilterDetails:u?.queryFiltersDetails},u?.datasetName))]})},Bl=({icon:e,title:t})=>i.jsx("div",{className:W("px-3 py-4 rounded border mt-3","attachment-collapsed"),children:i.jsxs("p",{className:W("flex body-3 items-center"),children:[e,i.jsxs("span",{className:"ml-2",children:[" ",t]})]})}),Gl=e=>Me.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Me.createElement("circle",{cx:32,cy:12,r:10,fill:"white"})),zl=e=>Me.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Me.createElement("circle",{cx:12,cy:12,r:10,fill:"white"})),ys=[{value:D.SdmxDataFormat.JSON,title:"SDMX-JSON"},{value:D.SdmxDataFormat.XML,title:"SDMX-ML (XML)"},{value:D.SdmxDataFormat.CSV,title:"SDMX-CSV"}],$l=e=>[{value:D.FileColumnsAttribute.ID,title:e?.idOptions||"ID",description:e?.idOptionsDescription},{value:D.FileColumnsAttribute.NAME,title:e?.nameOptions||"Name",description:e?.nameOptionsDescription},{value:D.FileColumnsAttribute.ID_NAME,title:e?.idAndNameOptions||"Combined ID and Name",description:e?.idAndNameOptionsDescription}],Es=({title:e,items:t,selectedValue:n,setSelectedValue:s,infoMessage:o,collapsible:r=!0})=>{const l=i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex flex-col gap-y-1",children:t.map(d=>i.jsx("div",{className:"flex flex-col",children:i.jsx(E.Radio,{id:d.value,checked:n.value===d.value,label:d.title,description:d.description,onChange:()=>{s(d)},radioIcon:i.jsx(Be.IconCircleFilled,{className:"size-3"})},d.value)},d.value))}),o]});return r?i.jsx(E.CollapsibleBlock,{title:e,value:n.title,children:l}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:e})}),i.jsx("div",{className:"pb-4",children:l})]})},Wl=({title:e,items:t,selectedUrns:n,onToggle:s,collapsible:o=!0,rowsLabel:r="rows"})=>{const l=i.jsx("div",{className:"flex flex-col",children:t.map(d=>i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("div",{className:"min-w-0 flex-1",children:i.jsx(E.Checkbox,{id:d.urn,label:d.name,checked:n.has(d.urn),onChange:s})}),i.jsxs("span",{className:"download-row-count",children:[d.rowCount," ",r]})]},d.urn))});return o?i.jsx(E.CollapsibleBlock,{title:e,children:l}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:e})}),i.jsx("div",{className:"pb-4",children:l})]})},Kl=e=>{const t=e.metadata?.keyDimensionIdsInDsdOrder,n=e.metadata?.timePeriodDimension;if(!t?.length)return null;const s=t.map(r=>{const l=e.filters?.find(d=>d.componentCode===r);return l?.values?.length?l.values.join(D.GET_v3_FILTER_OR):"*"}).join("."),o=n?D.getTimeQueryFilter(e,{id:n}):null;return{filterKey:s,timeFilter:o}},Yl=(e,t,n,s)=>{if(t&&e===D.DownloadType.DATA_IN_TABLE){const l=Kl(t);if(l)return l}if(s?.filterKey&&e===D.DownloadType.DATA_IN_TABLE)return s;let o=null,r=null;return t&&n&&e===D.DownloadType.DATA_IN_TABLE&&(o=D.getTimeSeriesFilterKey(n,t.filters??[]),r=D.getTimeQueryFilter(t,D.getTimeDimension(n))),{filterKey:o,timeFilter:r}},ql=({dataQuery:e,datasetName:t,onCloseModal:n,type:s=D.DownloadType.FULL_DATASET,locale:o=X.Locale.EN,dimensions:r,filters:l,urn:d,titles:a,collapsible:u=!0,downloadDatasets:m,rowCount:h,isDownloadInProgress:f=!1,onDownloadStart:p,limitMessages:g,showLimitMessage:S,externalLink:x})=>{const v=$l(a),[C,w]=c.useState(ys[0]),[b,N]=c.useState(v[0]),[T,M]=c.useState(!0),[y,A]=c.useState(()=>new Set(m?.map(H=>H.urn)??[])),I=c.useRef(!1);c.useEffect(()=>{A(new Set(m?.map(H=>H.urn)??[]))},[m]);const j=c.useCallback(H=>{A(z=>{const ee=new Set(z);return ee.has(H)?ee.delete(H):ee.add(H),ee})},[]),L=m!==void 0&&(m.length===0||y.size===0),K=c.useCallback(()=>{if(I.current)return;const H=C.value,z=(q,J,Q,pe)=>({dataQuery:q,urn:J,name:Q,rowCount:pe,fileName:`${Q}.${H}`,filters:Yl(s,q,r,l)}),P={items:m&&m.length>0?m.filter(q=>y.has(q.urn)).map(q=>z(q.dataQuery,q.urn,q.name,q.rowCount)):[z(e,e?.urn||d||"",t||e?.urn||d||"",h??0)],dataFormat:H,dataFormatTitle:C.title,attribute:b.value,language:o,isMetadata:T};if(!p(P)){I.current=!1;return}I.current=!0,n()},[C.value,C.title,b.value,m,y,e,d,t,h,s,r,l,o,T,p,n]),k=i.jsxs("div",{className:W("download-metadata flex cursor-pointer gap-4",{"download-metadata-active":T}),children:[T?i.jsx(Gl,{width:44,height:24,className:"text-primary",onClick:()=>M(!T)}):i.jsx(zl,{width:44,height:24,className:"text-neutrals-500",onClick:()=>M(!T)}),i.jsx("div",{children:a?.includeMetadata||"Include Metadata"})]});return i.jsxs(E.Popup,{heading:i.jsx("p",{className:"download-heading h2",children:a?.download||"Download"}),portalId:"filters",size:E.PopUpSize.LG,containerClassName:"download-popup h-[80%]",dividers:!1,onClose:n,closeButtonTitle:a?.close||"Close",children:[!m&&S&&i.jsx("div",{className:"download-info flex flex-col gap-1 px-6 pt-5",children:i.jsx(E.RequestLimitMessage,{limitMessages:g,isDownload:!0,query:x})}),i.jsxs("div",{className:"download-settings flex flex-col overflow-auto p-6",children:[i.jsx(Es,{title:a?.dataFormat||"Data Format",selectedValue:C,setSelectedValue:w,items:ys,collapsible:u,infoMessage:i.jsx(E.DownloadFormatMessage,{limitMessages:g,query:x})}),C.value===D.SdmxDataFormat.CSV&&i.jsx(Es,{title:a?.attributes||"Attributes",selectedValue:b,setSelectedValue:N,items:v,collapsible:u}),m&&i.jsxs(i.Fragment,{children:[i.jsx(Wl,{title:a?.datasetsToDownload||"Datasets to download",items:m,selectedUrns:y,onToggle:j,collapsible:u,rowsLabel:a?.rows||"rows"}),y.size>1&&i.jsxs(E.InlineAlert,{type:E.InlineAlertType.Note,children:[i.jsx("span",{className:"font-bold",children:a?.filesWillBeDownloaded?.(y.size)??`${y.size} files will be downloaded`})," ",a?.oneFilePerDataset??"- one file per selected dataset."]})]}),u?i.jsx(E.CollapsibleBlock,{title:a?.metadata||"Metadata",value:T?a?.all||"Included":a?.none||"Not included",children:k}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:a?.metadata||"Metadata"})}),i.jsx("div",{className:"pb-4",children:k})]})]}),i.jsxs("div",{className:"download-button mt-auto flex items-center gap-x-3 p-6",children:[a?.cancel&&i.jsx(E.Button,{buttonClassName:"text-button-tertiary",title:a.cancel,onClick:n}),i.jsx(E.Button,{buttonClassName:"text-button-primary",title:a?.download||"Download",disabled:L||f,onClick:K})]})]})},Zl=({id:e,title:t,version:n,agency:s,isActive:o,isSingleTab:r,onSelectDataset:l})=>i.jsx("div",{className:W("dataset-tab truncate last:mr-4",o?"dataset-tab-active":"border-b-transparent",r?"dataset-tab-single cursor-default":"cursor-pointer"),title:t,onClick:()=>{r||l(D.generateShortUrn(e,n,s))},children:i.jsx("h3",{className:"dataset-tab-title truncate",title:t,children:t})}),Xl=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})=>{const{isOpenedAdvancedView:o}=We(),[r,l]=c.useState();c.useEffect(()=>{if(!n&&!r&&e?.[0]){const a=D.generateShortUrn(e[0].id,e[0].version,e[0].agencyID);l(a),s?.(a)}else n&&n!==r&&(l(n),s?.(n))},[e,s,n,r]);const d=c.useCallback(a=>{l(a),s?.(a)},[s]);return i.jsx("div",{className:W("dataset-tabs flex w-full items-center justify-between",o&&"hide-advance-button"),children:i.jsx("div",{className:"flex w-full items-center gap-4 overflow-y-auto sm:w-[calc(100%-30px)]",children:e?.map(a=>i.jsx(Zl,{id:a?.id,title:D.getLocalizedName(a,t||X.Locale.EN),version:a?.version,agency:a?.agencyID,isActive:e?.length>1&&r===D.generateShortUrn(a?.id,a?.version,a?.agencyID),isSingleTab:e?.length===1,onSelectDataset:d},a?.id))})})},Jl=3,Ql=({datasets:e,locale:t})=>{const{isOpenedAdvancedView:n}=We(),s=c.useMemo(()=>(e||[]).map(d=>({urn:D.generateShortUrn(d?.id,d?.version,d?.agencyID),title:D.getLocalizedName(d,t||X.Locale.EN)})),[e,t]),o=c.useMemo(()=>s.slice(0,Jl),[s]),r=Math.max(s.length-o.length,0),l=s.filter(d=>!o.some(a=>a.urn===d.urn)).map(d=>d.title).join(`
7
+ `);return i.jsx("div",{className:W("cross-dataset-tabs flex w-full items-center justify-between",n&&"hide-advance-button"),children:i.jsxs("div",{className:"cross-dataset-tabs-list sm:w-[calc(100%-30px)]",children:[o.map((d,a)=>i.jsxs("span",{className:"cross-dataset-tabs-item-wrapper",children:[i.jsx("span",{className:"cross-dataset-tabs-item",title:d.title,children:d.title}),a<o.length-1&&i.jsx("span",{className:"cross-dataset-tabs-separator","aria-hidden":"true"})]},d.urn)),r>0&&i.jsxs("span",{className:"cross-dataset-tabs-counter",title:l,children:["+",r]})]})})},Ai=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})=>{const{isCrossDatasetModeOn:o}=Ge();return o?i.jsx(Ql,{datasets:e,locale:t}):i.jsx(Xl,{datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})},Ts=(e,t)=>{const n=t?.get(e?.urn),s=n?.conceptSchemes||[],o=n?.codelists||[],r=D.getDimensions(n),l=[...r?.dimensions||[],...r?.timeDimensions||[]];return{structures:n,conceptSchemes:s,codelists:o,dimensions:l}},ec=(e,t,n,s,o)=>{const r=t?.filter(d=>!d.disabled)??[],l=new Map;return r?.forEach(d=>{const{conceptSchemes:a,codelists:u,dimensions:m}=Ts(d,n);xn((d?.filters??[]).filter(h=>h.operator!==X.QueryFilterType.EXCLUDED),d?.urn,m,a,u,s,o).forEach(h=>{if(h.valuesTitles?.length){const f=l.get(h.id)??[];l.set(h.id,Array.from(new Set([...f,...h.valuesTitles])))}})}),r?.map(d=>{const a=e?.find(S=>S?.urn===d?.urn),{structures:u,conceptSchemes:m,codelists:h,dimensions:f}=Ts(d,n),g=tc(xn(a?.filters||[],d?.urn,f,m,h,s,o),xn(d?.filters??[],d?.urn,f,m,h,s,o)).map(S=>{if(S.valuesTitles?.length)return S;const x=l.get(S.id);return x?.length?{...S,valuesTitles:x}:null}).filter(S=>S!==null);return{datasetName:D.getLocalizedName(u?.dataflows?.[0],s),queryFiltersDetails:g}})},tc=(e,t)=>{const n=new Map(e?.map(s=>[s?.id,s]));return t?.filter(s=>!jn.isEqual(n?.get(s?.id)?.valuesTitles?.sort(),s?.valuesTitles?.sort()))||[]},xn=(e,t,n,s,o,r,l)=>e?.map(d=>{const a=n.find(h=>h?.id===d?.componentCode),u=D.getConcept(a?.conceptIdentity||"",s),m=D.findCodelistByDimension(o,s,a);return{id:Pa(t,d?.componentCode,l)??d?.componentCode,title:D.getLocalizedName(u,r),valuesTitles:d?.operator===X.QueryFilterType.BETWEEN?[`${Xt(X.getTimePeriod(d?.values?.[0]),r)} - ${Xt(X.getTimePeriod(d?.values?.[1]),r)}`]:d?.values?.map(h=>D.getLocalizedName(m?.codes?.find(f=>f?.id===h),r)||h)}}),nc=(e,t,n)=>{let s="",o="";if(e?.timeFilter){const l=decodeURIComponent(e.timeFilter||"")?.split(":");s=l[1]||"",o=l[3]||""}else if(t){const l=t?.filters?.find(d=>d.componentCode===D.TIME_PERIOD);s=l?.values?.[0]||"",o=l?.values?.[1]||""}return`&filter=${e?.filterKey||D.getTimeSeriesFilterKey(n||[],t?.filters||[])}&startPeriod=${s}&endPeriod=${o}`},Nn=(e,t,n,s)=>{const o=n?.metadata?.datasetUrl;if(!o)return"";const r=e?nc(t,n,s):"";return o+r},ji=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M2.33325 12.3267L6.33325 8.32001L8.99992 10.9867L14.6666 4.61334L13.7266 3.67334L8.99992 8.98667L6.33325 6.32001L1.33325 11.3267L2.33325 12.3267Z",fill:"currentColor"})),sc=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.50644 4.00043L1.97857 7.52207L1.5 7.99979L1.97857 8.47751L5.50644 11.9991L6.46019 11.0437L3.41088 7.99979L6.46019 4.95587L5.50644 4.00043ZM10.4918 4.00043L14.0197 7.52207L14.4983 7.99979L14.0197 8.47751L10.4918 11.9991L9.53809 11.0437L12.5874 7.99979L9.53809 4.95587L10.4918 4.00043Z",fill:"currentColor"})),oc=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M2.3999 4V12H13.5999V4H2.3999ZM5.7359 10.8H3.5999V5.2H5.7359V10.8ZM9.0639 10.8H6.9359V5.2H9.0719V10.8H9.0639ZM12.3999 10.8H10.2639V5.2H12.3999V10.8Z",fill:"currentColor"})),ic=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.18519 10.4815H7.18116C7.31033 10.9089 7.50501 11.3078 7.7535 11.6667H2.18519C1.53333 11.6667 1 11.1333 1 10.4815V2.18519C1 1.53333 1.53333 1 2.18519 1H10.4815C11.1333 1 11.6667 1.53333 11.6667 2.18519V5.02017C11.5296 5.00683 11.3906 5 11.25 5C10.9876 5 10.7307 5.02378 10.4815 5.06931V2.18519H2.18519V10.4815ZM7.69316 6.92288C7.99945 6.45568 8.39531 6.05248 8.85633 5.73769H3.37044V6.92288H7.69316ZM7 9.25C7 8.8544 7.05405 8.47143 7.15517 8.10807H3.37044V9.29326H7.00022L7 9.25ZM3.37044 4.5525H9.29636V3.36731H3.37044V4.5525ZM11.6624 10.9695C12.5981 10.8087 13.2264 9.91979 13.0656 8.98403C12.9049 8.04827 12.016 7.42002 11.0802 7.58078C10.1444 7.74155 9.51618 8.63046 9.67695 9.56621C9.83771 10.502 10.7266 11.1302 11.6624 10.9695ZM11.8656 12.1521C11.9243 12.142 11.9824 12.1303 12.0396 12.1168L14.5611 15.5477L15.5281 14.8371L13.1449 11.5944C13.9785 10.9558 14.4384 9.88763 14.2483 8.78085C13.9753 7.19192 12.4659 6.12513 10.877 6.39811C9.28808 6.67109 8.22129 8.18047 8.49428 9.7694C8.76726 11.3583 10.2766 12.4251 11.8656 12.1521Z",fill:"currentColor"})),rc=({attachment:e,index:t,selectedAttachmentIndex:n,onSelectedAttachmentChange:s,showTabIcon:o,dataGridTitle:r})=>{const{titles:l}=we(),d=c.useRef(null),[a,u]=c.useState(""),[m,h]=c.useState(""),[f,p]=c.useState(!1),{onboardingFileSchema:g,isShowOnboarding:S}=Ye(),x=c.useCallback((C,w="")=>o?Il(C)||Kt(C)?i.jsx(ji,{className:w}):rt(C)||ft(C)?i.jsx(oc,{className:w}):Un(C)?i.jsx(ic,{className:w}):Ei(C)||Bn(C)?i.jsx(sc,{className:w}):null:null,[o]),v=c.useCallback(C=>rt(C)?r||"Data Grid":C.title,[r]);return c.useEffect(()=>{if(S&&Kt(e)){const{title:C,description:w}=at(Oe.CHARTS,l);u(C),h(w)}},[e,l,S]),c.useEffect(()=>{if(Kt(e)&&S){const C=g?.lastDisplayedElement===Oe.CHARTS;p(C),C&&d?.current?.scrollIntoView({block:"end",behavior:"smooth"})}},[g?.lastDisplayedElement,e,S]),i.jsxs("div",{ref:d,className:W("cursor-pointer min-w-30","flex items-center gap-1","attachment-tab",n===t?"attachment-tab-active text-primary":""),onClick:()=>s(t),children:[x(e,"w-4 h-4"),i.jsx("h4",{className:"max-w-[130px] truncate",title:v(e),children:v(e)}),f&&i.jsx(lt,{reference:d,title:a,description:m})]},e.index||t)},ac=({attachments:e,...t})=>i.jsx("div",{className:"attachments-tabs flex w-fit flex-wrap items-center",children:e.map((n,s)=>i.jsx(rc,{attachment:n,index:s,...t},s))}),lc=({attachments:e,selectedAttachmentIndex:t,selectedAttachment:n,attachmentsStyles:s,externalLink:o,isExternalLinkIncludeFilters:r,limitMessages:l,onSelectedAttachmentChange:d,onDownloadClick:a,hideDownloadButton:u,showAdvancedView:m,onOpenAdvancedView:h,isTableSettingsOpen:f,onTableSettingsOpen:p})=>{const{isTableSettingsFeatureEnabled:g}=Ge(),{isOpenedAdvancedView:S}=We(),{titles:x}=we(),{onboardingFileSchema:v,isShowOnboarding:C}=Ye(),w=c.useRef(null),[b,N]=c.useState(""),[T,M]=c.useState(""),[y,A]=c.useState(!1);c.useEffect(()=>{if(C){const{title:H,description:z}=at(Oe.OPEN_ADVANCED_VIEW,x);N(H),M(z)}},[x,C]),c.useEffect(()=>{if(C){const H=v?.lastDisplayedElement===Oe.OPEN_ADVANCED_VIEW;A(H),H&&w?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[v?.lastDisplayedElement,C]);const I=g&&!m&&!!p&&!!(n&&(rt(n)||ft(n))),j=!u&&!!n&&(rt(n)||ft(n)),L=!!m&&!S,K=S&&s?.hideDownloadIconInAdvancedView?void 0:s?.downloadIcon,k=!S&&s?.hideDownloadTextInConversationView?"":s?.downloadTitle??"";return i.jsxs("div",{className:"flex w-full min-w-0 items-center justify-between",children:[i.jsx(ac,{dataGridTitle:s?.dataGridTitle,attachments:e,selectedAttachmentIndex:t,showTabIcon:s?.showTabIcon,onSelectedAttachmentChange:d}),i.jsxs("div",{className:"attachments-buttons flex w-fit flex-wrap items-center justify-end gap-x-3",children:[n&&rt(n)&&r&&i.jsx("a",{href:o,target:"_blank",rel:"noreferrer",children:i.jsx(E.Button,{title:l?.dataExplorer||"Data explorer",buttonClassName:"text-button-tertiary small-icon-button [&>svg]:h-[16px] [&>svg]:w-[16px] whitespace-nowrap",iconBefore:l?.dataExplorerIcon})}),j&&i.jsx(E.Button,{title:k,buttonClassName:"text-button-tertiary small-icon-button !p-0 !h-6",textClassName:W("ml-1",s?.downloadButtonTextClassName),onClick:a,iconBefore:K}),j&&L&&i.jsx("span",{className:"advanced-view-button-divider","aria-hidden":"true"}),L&&i.jsx("div",{ref:w,children:i.jsx(E.Button,{title:s?.advancedViewTitle,buttonClassName:"advanced-view-button",textClassName:"ml-1 h4 md:hidden",iconBefore:s?.openAdvancedViewIcon,onClick:h})}),I&&i.jsx(E.Button,{disabled:f,buttonClassName:"text-button-tertiary !p-0 !h-6",textClassName:"ml-1 h4",iconBefore:s?.tableSettingsIcon??i.jsx(Be.IconSettings,{className:"size-4"}),title:s?.tableSettings||"Table settings",onClick:p}),n&&Bn(n)&&i.jsx(E.CopyButton,{title:s?.copyTitle,copiedTitle:s?.copiedTitle,tooltip:s?.copiedTooltip,hoverTooltip:s?.copyHoverTooltip,icon:s?.copyIcon,copiedIcon:s?.copiedIcon,onClick:()=>navigator.clipboard.writeText(n.data??"")})]}),y&&i.jsx(lt,{reference:w,title:b,description:T,onReferenceClick:h,shouldCloseTooltip:S})]})},cc=({downloadTitles:e,attachment:t,actions:n,className:s=""})=>{const o=t.url,[r,l]=c.useState(null);async function d(a){if(a==null)return;const u=await n.getFile(a);l(u)}return i.jsxs("div",{className:`rounded-lg border bg-white p-3 transition-colors ${s}`,children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("div",{className:"min-w-0 flex-1",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"body-2 truncate text-neutrals-800",title:t.title,children:t.title})})}),o&&i.jsx("div",{className:"shrink-0",children:i.jsx(E.Button,{title:e??"Download",onClick:()=>d(t.url),buttonClassName:"text-button-tertiary"})})]}),r&&i.jsx("div",{className:"mt-3",children:i.jsx("pre",{className:"overflow-x-auto rounded-md bg-white p-3",children:i.jsx("code",{children:JSON.stringify(r,null,2)})})})]})},Ri="json";function dc(e){return mc(e)?uc(e?.slice(Ri.length)):e}function uc(e){let t="";if(e)try{t=JSON.stringify(JSON.parse(e),null,2)}catch{t=e.toString()}return t}function mc(e){return e?.startsWith(Ri)||!1}const fc=({attachment:e,className:t=""})=>{const n=dc(e.data);return n?i.jsxs("div",{className:`attachment-json rounded-lg border bg-white ${t}`,children:[i.jsx("div",{className:"flex items-center justify-between rounded-t-lg border-b border-neutrals-200 bg-neutrals-100 px-3 py-2",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("h3",{className:"text-neutrals-900",children:e.title})})}),i.jsx("div",{className:"p-3",children:i.jsx("pre",{className:"max-h-96 overflow-auto whitespace-pre-wrap break-words text-neutrals-800",children:i.jsx("code",{children:n})})})]}):null},hc=e=>{try{const t=new URL(e);return["http:","https:","data:"].includes(t.protocol)}catch{return!1}},pc=e=>hc(e)?e:"",gc=e=>Me.createElement("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M11.3333 4.66667H8.66659V6.00001H11.3333C12.4333 6.00001 13.3333 6.9 13.3333 8C13.3333 9.1 12.4333 10 11.3333 10H8.66659V11.3333H11.3333C13.1733 11.3333 14.6666 9.84 14.6666 8C14.6666 6.16 13.1733 4.66667 11.3333 4.66667ZM7.33325 10H4.66659C3.56659 10 2.66659 9.1 2.66659 8C2.66659 6.9 3.56659 6.00001 4.66659 6.00001H7.33325V4.66667H4.66659C2.82659 4.66667 1.33325 6.16 1.33325 8C1.33325 9.84 2.82659 11.3333 4.66659 11.3333H7.33325V10ZM5.33325 7.33334H10.6666V8.66667H5.33325V7.33334Z",fill:"currentColor"})),Cc=({attachment:e,openLinkTitle:t,className:n=""})=>{const s=pc(e.data||"");if(!s)return null;const o=r=>{window.open(r,"_blank")?.focus()};return i.jsx("div",{className:`max-w-[500px] rounded-lg border bg-white py-3 pl-4 pr-3 ${n}`,children:i.jsxs("div",{className:"flex items-start gap-2",children:[i.jsx("span",{className:"mt-1 shrink-0 text-hues-800",role:"img","aria-label":"Link",children:i.jsx(gc,{width:16,height:16})}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsx("div",{className:"mb-1",children:i.jsx(E.Link,{url:s,title:e.title})}),i.jsx("div",{className:"truncate break-all text-neutrals-600",children:s})]}),i.jsx("div",{className:"shrink-0",children:i.jsx(E.Button,{title:t??"Open link",onClick:()=>o(s),buttonClassName:"text-button-tertiary"})})]})})},Li=({dimensionsInfo:e})=>i.jsx("div",{className:"sidebar flex min-h-0 w-[176px] flex-col gap-3 overflow-auto",children:e.map(t=>i.jsxs("div",{className:"flex flex-col",children:[i.jsx("h5",{className:"text-neutrals-800",children:t.title}),i.jsx("h5",{className:"font-bold",children:t.value})]},t.title))}),xc=({chart:e,isOpen:t,onClose:n,datasetTitle:s})=>{const{titles:o}=we(),[r,l]=c.useState(E.PopUpState.Closed);c.useEffect(()=>{l(t?E.PopUpState.Opened:E.PopUpState.Closed)},[t]);const d=c.useCallback(()=>{l(E.PopUpState.Closed),n?.()},[n]);return i.jsx(i.Fragment,{children:r===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:i.jsx("h1",{className:"single-chart-popup-heading",children:o?.chart??"Chart"}),containerClassName:"single-chart-popup h-[80%]",portalId:"single-chart",size:E.PopUpSize.LG,dividers:!1,onClose:d,closeButtonTitle:o?.close??"Close",children:[i.jsxs("div",{className:"single-chart-popup-content flex h-full min-h-0 flex-1 flex-row gap-4",children:[i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[s&&i.jsxs("div",{className:"mb-2 flex items-center gap-1",children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-1000"}),i.jsx("h4",{className:"text-neutrals-1000",children:s})]}),i.jsx(Ws,{option:e.config,className:"size-full",style:{width:"100%",height:"100%"}})]}),i.jsx(Li,{dimensionsInfo:e.dimensions})]}),i.jsx("div",{})]})})},Gn=e=>{const{titles:t}=we(),[n,s]=c.useState(!1),[o,r]=c.useState(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye(),{isCrossDatasetModeOn:S}=Ge(),[x,v]=c.useState(!1),C=c.useMemo(()=>Sc(e.value),[e.value]),w=c.useCallback(()=>{r(N=>N??C),s(!0)},[C]),b=c.useCallback(()=>{s(!1),v(!0)},[]);return c.useEffect(()=>{if(g){const{title:N,description:T}=at(Oe.CHART_PER_SERIES,t);a(N),m(T)}},[t,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Oe.CHART_PER_SERIES&&e.node.rowIndex===0)},[p?.lastDisplayedElement,e.node.rowIndex,g]),c.useEffect(()=>{r(void 0)},[e.value]),C&&!C.isPlottable?null:i.jsxs(i.Fragment,{children:[i.jsx("div",{ref:l,children:i.jsx(E.IconButton,{title:t?.chart??"Chart",buttonClassName:"!text-neutrals-1000 !border-none !p-1",icon:i.jsx(ji,{className:"size-5"}),onClick:w})}),h&&i.jsx(lt,{reference:l,title:d,description:u,onReferenceClick:w,shouldCloseTooltip:x}),n&&o&&i.jsx(xc,{chart:o,isOpen:n,onClose:b,datasetTitle:S?e.data?.datasetTitle??void 0:void 0})]})};function Sc(e){return typeof e=="function"?e():e}const Lt=32,an=32,vc=16,ht="padding-0",Dt=200,St={flex:1,minWidth:Dt},wc=Lt,ln="observationValueCell",cn="metadataCell",Fi="chartCell",Pi="mergedDimensionCell",_i="datasetDetailCell",At="Chart_column",bc=(e,t,n,s,o,r)=>({headerName:"",suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ht,cellRenderer:cn,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,metadataSettings:s,titles:o,action:r}});function Vi(e,t,n,s=wc,o,r){return{headerName:"",field:At,colId:At,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:"right",width:s,maxWidth:s,minWidth:s,cellClass:ht,suppressColumnsToolPanel:!0,cellRenderer:Gn,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,titles:o,action:r}}}function Dc(e,t,n,s){return{headerName:"",suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ht,cellRenderer:cn,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:s}}}const In=["index","value"],yc=e=>({columns:Mc(e),data:Ec(e)}),Ec=e=>{const t=e.metadata.time_column,n={};for(const s of e.data.data){const{value:o,...r}=s,l=Tc(s,t);n[l]={...n[l]||{},...r,[s[t]]:o}}return Object.values(n)},Tc=(e,t)=>Object.keys(e).filter(n=>!In.includes(n)&&n!==t).map(n=>e[n]).join("."),Mc=e=>{const{metadata:t,data:n}=e,s=t.time_column,o=t.pinned_columns||[],r=n.schema.fields,l=[],d=n.data.map(f=>f[s]),u=Array.from(new Set(d)).filter(f=>f!=null).map(f=>({field:f,colId:f,headerName:f,cellClass:"text-right",width:Dt})),m=o.map(f=>r.find(p=>p.name===f)).filter(f=>f!=null),h=r.filter(f=>!o.includes(f.name)).filter(f=>f!=null);if(m.length>0)for(const f of[...m])f.name===s||In.includes(f.name)||l.push({colId:f.name,field:f.name,headerName:f.name,pinned:"left",...St,tooltipValueGetter:p=>p.value});for(const f of[...h])f.name===s||In.includes(f.name)||l.push({colId:f.name,field:f.name,headerName:f.name,pinned:!1,...St,tooltipValueGetter:p=>p.value});return l.push(...u),l},zn=e=>e*an+Lt+vc,Nc=({attachment:e,actions:t,className:n="",showLimitMessage:s})=>{const[o,r]=c.useState(!1),[l,d]=c.useState([]),[a,u]=c.useState(),[m,h]=c.useState(400);c.useEffect(()=>{e.url!=null&&(r(!0),t.getFile(e.url).then(p=>{if(p==null){d([]),u([]),r(!1);return}const{columns:g,data:S}=yc(p);d(S),u(g),r(!1)}))},[e.url,t]),c.useEffect(()=>{l?(h(zn(l.length)),s?.(l.length>=E.SERIES_LIMIT)):s?.(!1)},[l,s]);const f=c.useMemo(()=>i.jsx(Rn.AgGridReact,{headerHeight:Lt,rowHeight:an,rowData:l,columnDefs:a,enableCellTextSelection:!0,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",autoSizeStrategy:{type:a&&a?.length>5?"fitCellContents":"fitGridWidth"}}),[l,a]);return o?i.jsx(E.Loader,{}):i.jsx("div",{className:`w-full ${n}`,children:i.jsx("div",{className:"ag-theme-quartz max-h-[400px] min-h-[80px] w-full",style:{height:m},children:f})})},Oi=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M7.4665 6.39967H8.53317V5.33301H7.4665V6.39967ZM7.4665 10.6663H8.53317V7.46634H7.4665V10.6663ZM7.9945 13.333C5.0505 13.333 2.6665 10.9437 2.6665 7.99967C2.6665 5.05567 5.0505 2.66634 7.9945 2.66634C10.9438 2.66634 13.3332 5.05567 13.3332 7.99967C13.3332 10.9437 10.9438 13.333 7.9945 13.333ZM7.99984 3.73301C5.6425 3.73301 3.73317 5.64234 3.73317 7.99967C3.73317 10.357 5.6425 12.2663 7.99984 12.2663C10.3572 12.2663 12.2665 10.357 12.2665 7.99967C12.2665 5.64234 10.3572 3.73301 7.99984 3.73301Z",fill:"currentColor"})),Ic=({title:e,value:t})=>{const n=c.useCallback(()=>Array.isArray(t)?t.join(", "):t,[t]);return i.jsxs("div",{className:"body-3 flex gap-x-3",children:[i.jsxs("p",{title:e,className:"text-neutrals-800",children:[e,":"]}),i.jsx("p",{title:n(),className:"truncate pr-3 font-semibold",children:n()})]})};function ki(e){const t=c.useRef(null),[n,s]=c.useState(!1),[o,r]=c.useState(!1),l=c.useCallback(()=>{const a=t.current;a&&r(a.scrollHeight>a.offsetHeight)},[]);c.useEffect(()=>{if(n)return;l();const a=t.current;if(!a||typeof ResizeObserver>"u")return;const u=new ResizeObserver(()=>l());return u.observe(a),()=>u.disconnect()},[n,e,l]);const d=c.useCallback(()=>s(a=>!a),[]);return{valueRef:t,isExpanded:n,canToggle:o,toggle:d}}const Ui=({isExpanded:e,onToggle:t,title:n})=>i.jsx(E.IconButton,{title:n,buttonClassName:W("border-none p-0 w-6 h-6 shrink-0",e&&"rotate-[180deg]"),isBaseIconStyles:!1,icon:i.jsx(Fn,{width:24,height:24}),onClick:t}),Ac=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:s,locale:o})=>{const r=c.useMemo(()=>Array.isArray(t)?t?.map(m=>typeof m=="object"?m?.[o]:m)?.join(", "):t,[o,t]),{valueRef:l,isExpanded:d,canToggle:a,toggle:u}=ki(r);return i.jsxs("div",{className:"metadata-item",children:[!s&&n?.map(m=>i.jsx("div",{title:m,className:"metadata-item-key mb-1 pr-3 text-neutrals-800",children:m},m)),i.jsxs("div",{className:W("flex items-center",a&&"justify-between"),children:[i.jsx("h2",{title:e,className:"metadata-item-title",children:e}),a&&i.jsx(Ui,{isExpanded:d,onToggle:u})]}),i.jsx("p",{title:r,className:W("metadata-item-value pr-3",!d&&"line-clamp-4"),ref:l,children:r})]})},jc=({metadata:e,metadataDescription:t=[],locale:n})=>{const{titles:s}=we();return i.jsxs("div",{className:"metadata-content h-full overflow-hidden",children:[t?.length>0&&i.jsx("div",{className:"metadata-description",children:t?.map(o=>i.jsx(Ic,{title:o?.title,value:o?.value},o?.title))}),i.jsx("div",{className:"metadata-list h-full overflow-y-auto",children:e&&e?.length>0?e?.map(o=>i.jsx(Ac,{title:o?.title,value:o?.value,locale:n,attachedKeysTitles:o?.attachedKeysTitles,isDimensionGroup:o?.isDimensionGroup},o?.id||o?.title)):i.jsx("div",{className:"metadata-empty flex h-full items-center justify-center text-neutrals-700",children:s?.noMetadata||"No metadata"})})]})},$n=({metadata:e,metadataDescription:t=[],isOpenMetadata:n,onCloseMetadata:s,locale:o})=>{const{titles:r}=we(),[l,d]=c.useState(E.PopUpState.Closed);c.useEffect(()=>{d(n?E.PopUpState.Opened:E.PopUpState.Closed)},[n]);const a=c.useCallback(()=>{d(E.PopUpState.Closed),s?.()},[s]);return i.jsx(i.Fragment,{children:l===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:i.jsx("h1",{className:"metadata-heading",children:r?.metadata||"Metadata"}),containerClassName:"metadata h-[80%]",portalId:"metadata",size:E.PopUpSize.LG,dividers:!1,onClose:a,closeButtonTitle:r?.close||"Close",children:[i.jsx(jc,{locale:o,metadata:e,metadataDescription:t}),i.jsx("div",{})]})})},it={dataset:"dataset",agency:"agency",lastUpdated:"lastUpdated"},Rc=({dataset:e,agency:t,lastUpdated:n,externalLink:s,formatValue:o})=>i.jsxs("div",{className:"mb-6 flex flex-col gap-2",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Be.IconDatabase,{className:"size-4 text-neutrals-700"}),i.jsx("p",{className:"h4 break-words text-neutrals-1000",children:o(e?.value)}),s&&i.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",children:i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})})]}),t&&i.jsxs("div",{className:"body-3 flex gap-1",children:[i.jsxs("span",{className:"text-neutrals-800",children:[t?.title,":"]}),i.jsx("span",{className:"break-words text-neutrals-1000",children:o(t?.value)})]}),n&&i.jsxs("div",{className:"body-3 flex gap-1",children:[i.jsxs("span",{className:"text-neutrals-800",children:[n?.title,":"]}),i.jsx("span",{className:"break-words text-neutrals-1000",children:o(n?.value)})]})]}),Lc=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:s})=>{const{valueRef:o,isExpanded:r,canToggle:l,toggle:d}=ki(t);return i.jsxs("div",{className:"flex flex-col gap-1",children:[!s&&n?.map((a,u)=>i.jsx("div",{title:a,className:"body-3 text-neutrals-800",children:a},`${a}-${u}`)),i.jsxs("div",{className:"flex items-center justify-between gap-2 pr-2",children:[i.jsx("p",{title:e,className:"body-3 text-neutrals-800",children:e}),l&&i.jsx(Ui,{isExpanded:r,onToggle:d})]}),i.jsx("p",{ref:o,title:t,className:W("body-2 break-words text-neutrals-1000",!r&&"line-clamp-4"),children:t})]})},Fc=new Set(Object.values(it)),Pc=", ",Ft=({metadata:e,metadataDescription:t=[],datasetInfo:n,externalLink:s,locale:o})=>{const{titles:r}=we(),l=c.useCallback(p=>Array.isArray(p)?p.map(g=>typeof g=="object"?g?.[o]??"":g).join(Pc):typeof p=="object"&&p!==null?p?.[o]??"":p??"",[o]),{dataset:d,agency:a,lastUpdated:u,hasStructuredDatasetInfo:m}=c.useMemo(()=>{const p=t.find(w=>w?.id===it.dataset),g=t.find(w=>w?.id===it.agency),S=t.find(w=>w?.id===it.lastUpdated),x=n?.dataset||p,v=n?.agency||g,C=n?.lastUpdated||S;return{dataset:x,agency:v,lastUpdated:C,hasStructuredDatasetInfo:!!x}},[n,t]),h=c.useMemo(()=>m?t.filter(p=>!p?.id||!Fc.has(p.id)):t,[m,t]),f=m||h.length>0||!!e?.length;return i.jsx("div",{className:"flex h-full flex-col overflow-hidden px-5 pb-4",children:f?i.jsxs(i.Fragment,{children:[m&&d&&i.jsx(Rc,{dataset:d,agency:a,lastUpdated:u,externalLink:s,formatValue:l}),h.length>0&&i.jsx("div",{className:"mb-4 flex flex-col gap-2",children:h.map((p,g)=>i.jsxs("div",{className:"body-3 flex gap-2",children:[i.jsxs("span",{className:"shrink-0 text-neutrals-800",children:[p?.title||p?.id,":"]}),i.jsx("span",{className:"min-w-0 truncate font-semibold text-neutrals-1000",children:l(p?.value)})]},`${p?.id||p?.title}-${g}`))}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:i.jsx("div",{className:"flex flex-col gap-4",children:e?.map(p=>i.jsx(Lc,{title:p?.title||p?.id,value:l(p?.value),attachedKeysTitles:p?.attachedKeysTitles,isDimensionGroup:p?.isDimensionGroup},p?.id||p?.title))})})]}):i.jsx("div",{className:"body-3 flex h-full items-center justify-center text-neutrals-700",children:r?.noMetadata||"No metadata"})})};function dn(e,t){const{externalLink:n,externalLinksMap:s}=e??{};return t!=null&&s!=null?s.get(t):n}const _c=e=>e?.data[e?.colDef?.field||0]?.obsAttributes,Vc=e=>e?.data?.attributes,Hi=(e,t)=>Object.entries(e?.data).filter(([n])=>t?.get(n)).map(([n,s])=>({name:n,value:String(s)})),Ms=(e,t,n)=>{const s=typeof e=="object"?e?.[t]:e;return n?D.getLocalizedName(n?.codes?.find(o=>o?.id===e),t)||"":s},jt=(e,t,n)=>e?.map(s=>{const o=s?.name||"",r=t?.get(o),l=r?.codes?.length?r:void 0,d=Array.isArray(s?.value)?s?.value.map(a=>Ms(a,n,l)):Ms(s?.value,n,l);return{id:D.getLocalizedName(l,n)||s?.name,title:D.getLocalizedName(l||r,n),value:d||s?.value}})||[],Pt=(e,t,n)=>({title:n?.dataset||"Dataset",value:D.getLocalizedName(e,t)}),Oc=(e,t,n,s)=>[{...Pt(e,n,s),id:it.dataset},{id:it.agency,title:s?.agency??"Agency",value:e?.agencyID},{id:it.lastUpdated,title:s?.lastUpdated??"Last updated",value:t}],_t=(e,t,n,s)=>({dataset:e?{...Pt(e,n,s),id:it.dataset}:void 0,agency:e?{id:it.agency,title:s?.agency??"Agency",value:e?.agencyID}:void 0,lastUpdated:e?{id:it.lastUpdated,title:s?.lastUpdated??"Last updated",value:t}:void 0}),Bi=(e,t,n)=>({title:D.getDimensionTitle(e?.conceptSchemes,D.getDimensions(e)?.timeDimensions?.[0],t),value:n?.colId||""}),Gi=(e,t)=>({title:t?.observation||"Observation",value:e}),zi=(e,t,n,s,o,r)=>{const l={title:s?.timeSeries||"Time Series",value:r?.originalData?.name};return n?[Bi(e,t,o),l,Gi(n,s)]:[l]},$i=e=>{const t=e?.dataSets?.[0]?.attributes||[],n=e?.structures?.[0]?.attributes?.dataSet||[];return t?.length?n.reduce((s,o,r)=>{const l=t[r];if(l==null)return s;if(o?.values?.length>0){const d=o.values[l];s.push(d?{...o,values:[d]}:{...o})}else Array.isArray(l)?s.push({...o,values:[{values:l}]}):s.push({...o,values:[{value:l}]});return s},[]):n},Ns=(e,t)=>{if(e==null)return;if(typeof e!="object")return String(e);const n=e,s=n[t];if(typeof s=="string")return s;const o=Object.values(n).find(r=>typeof r=="string");return typeof o=="string"?o:void 0},Wi=(e,t,n)=>e?.map(s=>{const o=s?.id,r=s?.values?.[0]?.value,l=(typeof r=="object"?Ns(r,n):r)||s?.values?.[0]?.id,d=s?.values?.[0]?.ids||s?.values?.[0]?.values,a=t?.get(o),u=a?.codes?.length?a:void 0,m=D.getLocalizedName(u?.codes?.find(f=>f?.id===l),n)||D.getLocalizedName(s?.values?.[0],n)||l,h=d&&d.map(f=>{const p=typeof f=="object"?Ns(f,n):String(f);return D.getLocalizedName(u?.codes?.find(g=>g?.id===p),n)||p}).filter(f=>f!=null);return{id:o,title:D.getLocalizedName(a,n)||o,value:h?.length?h:m}}).filter(({value:s})=>!!s)||[],kc=(e,t)=>{const n=e?.dataSets?.[0],o=e?.structures?.[0]?.attributes?.dimensionGroup||[],r=n?.dimensionGroupAttributes;return new Map(o.map(l=>{const d=l?.relationship?.dimensions,{codedSeriesKey:a,decodedSeriesKey:u}=Uc(e,t,d);return[l.id,{values:r?.[a]||[],decodedSeriesKey:u,codedSeriesKey:a}]}))},Uc=(e,t,n)=>{const s=e?.structures?.[0],o=[...s?.dimensions.series||[],...s?.dimensions.observation||[]],r=new Array(o?.length)?.fill(""),l=new Array(o?.length)?.fill("");return n&&n?.forEach(d=>{const a=o?.findIndex(h=>h?.id===d)||0,u=t[a],m=o[a]?.values?.findIndex(h=>h?.id===u||h?.value===u)||0;r[a]=m>=0?m:u,l[a]=u}),{codedSeriesKey:r?.join(":"),decodedSeriesKey:l?.join(":")}},Hc=(e,t)=>{if(t==null)return;const n=e?.values?.[t],s=typeof t=="object"&&!Array.isArray(t),o=Array.isArray(t);return n||(s||o?{values:t}:{value:t?.toString()})},Bc=e=>{const t=e?.value||e?.id,n=e?.values||e?.ids;return t!=null?[t]:n||[null]},Ki=(e,t,n)=>t==null?t:n?.get(e||"")?.codes?.find(o=>o?.id===t)?.name||t,Gc=(e,t,n,s=X.Locale.EN)=>{const o=n?.dataStructureComponents?.dimensionList,r=[...o?.dimensions||[],...o?.timeDimensions||[]],l=[];return(e?.split(":")||[])?.forEach((a,u)=>{if(a!==""){const m=r?.[u]?.id||"",h=D.getLocalizedName(t?.get(m),s),f=Ki(m,a,t);l.push(`${h}: ${f}`)}}),l},zc=(e,t,n,s,o=X.Locale.EN)=>{if(!e||!t||!s)return[];const r=e?.structures?.[0]?.attributes?.dimensionGroup||[],l=kc(e,s);return r?.map((d,a)=>{const u=l?.get(d?.id),m=n?.get(d?.id),h=Bc(Hc(d,u?.values?.[a]));return{id:d?.id,title:D.getLocalizedName(m,o),value:Array.isArray(h)?h?.map(f=>Ki(d?.id,f,n)||""):h,attachedKeysTitles:Gc(u?.decodedSeriesKey,n,t),isDimensionGroup:!0}})?.filter(({value:d})=>d?.some(a=>!!a))||[]},$c=Tr.extendTailwindMerge({extend:{classGroups:{typography:["h1","h2","h3","h4","h5","body-1","body-2","body-3","caption"]}}});function Ze(...e){return $c(W(...e))}function Wc({title:e,headerExtension:t,headerClassName:n,onClose:s,bodyClassName:o,panelClassName:r,children:l}){return i.jsxs("div",{className:Ze("h-full w-[362px] bg-white border-l border-neutrals-500 flex flex-col overflow-hidden",r),children:[i.jsxs("div",{className:Ze("flex justify-between px-5 py-6",n),children:[i.jsx("div",{className:"h2 text-neutrals-1000",children:e}),i.jsxs("div",{className:"flex items-center gap-2",children:[t,t&&i.jsx("div",{className:"h-3 w-px bg-neutrals-600"}),i.jsx("button",{type:"button",onClick:s,children:i.jsx(Be.IconX,{className:"size-5 text-neutrals-1000"})})]})]}),i.jsx("div",{className:Ze("flex-1 min-h-0 overflow-hidden",o),children:l})]})}const Yi=c.createContext(null);function Kc({children:e}){const[t,n]=c.useState(null),s=c.useCallback(d=>{n(d)},[]),o=c.useCallback(()=>{n(null)},[]),r=c.useCallback(d=>d?t?.id===d:t!==null,[t]),l=c.useMemo(()=>({panel:t,openPanel:s,closePanel:o,isPanelOpen:r}),[t,s,o,r]);return i.jsx(Yi.Provider,{value:l,children:e})}function qi(){return c.useContext(Yi)}function pt(){const e=qi();if(!e)return null;const{openPanel:t,closePanel:n,isPanelOpen:s}=e;return{openPanel:t,closePanel:n,isPanelOpen:s}}function Zi({scope:e}){const t=qi();if(!t)return null;const{panel:n,closePanel:s}=t;if(!n)return null;const o=n.scope??"any";return o!=="any"&&o!==e?null:i.jsx(Wc,{title:n.title,headerExtension:n.headerExtension,headerClassName:n.headerClassName,onClose:s,bodyClassName:n.bodyClassName,panelClassName:n.panelClassName,children:n.content})}const Yc={},qc={},Zc={map:Yc,getDimensionsMetadata:()=>{},getDimensionMetadata:()=>{},getRegionDimension:()=>{},getFrequencyDimension:()=>{},getIndicatorDimensions:()=>[],getDimensionsScheme:()=>{},getDatasetLastUpdated:e=>D.getLastUpdatedTime(e)},Wn=c.createContext(Zc);function Xc({map:e,lastUpdatedMap:t=qc,children:n}){const s=c.useMemo(()=>{const o={},r={},l={},d=Object.keys(e);for(const a of d){o[a]={},r[a]={};const u=Object.keys(e[a]);for(const m of u){const h=e[a][m];h.subtype&&(o[a][h.subtype]=m),r[a][h.dimensionType]||(r[a][h.dimensionType]=[]),r[a][h.dimensionType].push(m)}l[a]={timePeriod:r[a]?.TIME_PERIOD?.[0]??void 0,frequency:o[a]?.FREQUENCY??void 0,region:o[a]?.REGION??void 0,indicators:r[a]?.INDICATOR??[],other:(r[a]?.NON_INDICATOR??[]).filter(m=>{const h=e[a][m];return h.subtype!=="FREQUENCY"&&h.subtype!=="REGION"})}}return{map:e,getDimensionsMetadata:a=>e[a],getDimensionMetadata:(a,u)=>e[a]?.[u],getRegionDimension:a=>o[a]?.REGION,getFrequencyDimension:a=>o[a]?.FREQUENCY,getIndicatorDimensions:a=>r[a]?.INDICATOR??[],getDimensionsScheme:a=>l[a],getDatasetLastUpdated:a=>{if(!a)return;const u=D.generateShortUrn(a.id,a.version,a.agencyID);return t[u]||D.getLastUpdatedTime(a)}}},[e,t]);return i.jsx(Wn.Provider,{value:s,children:n})}function ct(){return c.useContext(Wn)}function un(){return c.useContext(Wn)}const Jc=e=>e===X.Locale.UK?"dd MMM, yyyy":" MMM dd, yyyy hh:mm aa",Vt=(e,t)=>{const n=Jc(t);return e!=null&&e!==""&&n&&es.isValid(new Date(e))?es.format(new Date(e),n,t===X.Locale.UK?{locale:Mr.uk}:void 0):""},Xi=e=>{const{titles:t}=we(),n="grid-metadata-side-panel",[s,o]=c.useState(!1),r=c.useRef(null),[l,d]=c.useState(""),[a,u]=c.useState(""),[m,h]=c.useState(!1),{onboardingFileSchema:f,isShowOnboarding:p}=Ye(),{isOpenedAdvancedView:g}=We(),S=pt(),{isMetadataInSidePanel:x}=Ge(),{getDatasetLastUpdated:v}=ct(),[C,w]=c.useState(!1),b=e?.data?.dataset?.urn,N=dn(e?.context,b),T=c.useMemo(()=>e.structuresMap?b!=null?e.structuresMap.get(b):void 0:e.dataSetData,[e.structuresMap,b,e.dataSetData]),M=c.useMemo(()=>e.attributesDataMap?b!=null?e.attributesDataMap.get(b):void 0:e.attributesData,[e.attributesDataMap,b,e.attributesData]),y=c.useMemo(()=>D.getStructureComponentsMap(T),[T]),A=c.useMemo(()=>[Pt(T?.dataflows?.[0],e?.locale,t),...jt(Hi(e,y),y,e?.locale),...jt(Vc(e),y,e?.locale),...zc(M,T?.dataStructures?.[0],y,e?.data?.originalData?.parsedTimeSeriesValue,e?.locale)],[e,T,M,y,t]),I=c.useMemo(()=>zi(T,e?.locale,e?.valueFormatted||e?.value,t,e?.colDef,e?.data),[e,T,t]),j=c.useMemo(()=>{const k=T?.dataflows?.[0],H=Vt(v(k),e?.locale);return _t(k,H,e?.locale,t)},[T,e?.locale,t,v]),L=c.useCallback(()=>{if(x&&S){S.openPanel({id:n,scope:g?"advanced":"conversation",title:t?.timeseriesMetadataPanel||"Timeseries Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e?.locale,metadata:A,datasetInfo:j,externalLink:N,metadataDescription:e?.metadataSettings?.isMetadataDescription?I:[]})}),w(!0);return}o(!0)},[x,g,A,I,j,N,e?.locale,e?.metadataSettings?.isMetadataDescription,t,S]),K=c.useCallback(()=>{o(!1),w(!0)},[]);return c.useEffect(()=>{if(p){const{title:k,description:H}=at(Oe.METADATA_PER_SERIES,t);d(k),u(H)}},[t,p]),c.useEffect(()=>{if(p){const k=f?.lastDisplayedElement===Oe.METADATA_PER_SERIES&&e.node.rowIndex===0;h(k),k&&setTimeout(()=>{r?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[f?.lastDisplayedElement,e.node.rowIndex,p]),i.jsxs(i.Fragment,{children:[i.jsx("div",{ref:r,children:i.jsx(E.IconButton,{title:t?.metadata||"View details",buttonClassName:"!text-neutrals-1000 !border-none !p-1",icon:i.jsx(Oi,{className:"size-5"}),onClick:L})}),m&&i.jsx(lt,{reference:r,title:l,description:a,onReferenceClick:L,shouldCloseTooltip:C}),s&&i.jsx($n,{locale:e?.locale,metadata:A,metadataDescription:e?.metadataSettings?.isMetadataDescription?I:[],isOpenMetadata:s,onCloseMetadata:K})]})},Qc=(e,t,n=D.getLastUpdatedTime)=>{const s=ed(e),o=D.getStructureComponentsMap(s),r=e?.valueFormatted||e?.value,l=jt(t,o,e?.locale),d=[Pt(s?.dataflows?.[0],e?.locale,e?.titles),...jt(Hi(e,o),o,e?.locale),...e?.metadataSettings?.isMetadataDescription?[]:[Bi(s,e?.locale,e?.colDef),Gi(r,e?.titles)],...l],a=e?.metadataSettings?.isMetadataDescription?zi(s,e?.locale,r,e?.titles,e?.colDef,e?.data):[],u=s?.dataflows?.[0],m=Vt(n(u),e?.locale),h=_t(u,m,e?.locale,e?.titles);return{metadata:d,metadataDescription:a,sidePanelDatasetInfo:h}},ed=e=>{if(e.structuresMap){const t=e?.data?.dataset?.urn;return t!=null?e.structuresMap.get(t):void 0}return e.dataSetData},td="observation-metadata-side-panel",nd=({params:e,obsAttributes:t})=>{const{titles:n}=we(),[s,o]=c.useState(null),{isOpenedAdvancedView:r}=We(),l=pt(),{isMetadataInSidePanel:d}=Ge(),{getDatasetLastUpdated:a}=ct(),u=e?.data?.dataset?.urn,m=dn(e?.context,u),h=c.useCallback(()=>{const p=Qc(e,t,a);if(d&&l){l.openPanel({id:td,scope:r?"advanced":"conversation",title:n?.metadata||"Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e?.locale,metadata:p.metadata,datasetInfo:p.sidePanelDatasetInfo,externalLink:m,metadataDescription:p.metadataDescription})});return}o(p)},[d,r,m,t,e,l,n,a]),f=c.useCallback(()=>{o(null)},[]);return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"relative size-full p-2 text-end",children:[e?.valueFormatted||e?.value,i.jsx("div",{className:"metadata-indicator",title:n?.metadata||"View details",onClick:h})]}),s&&i.jsx($n,{locale:e?.locale,metadata:s.metadata,metadataDescription:s.metadataDescription,isOpenMetadata:!0,onCloseMetadata:f})]})},Ji=e=>{const t=_c(e);return t?.length?i.jsx(nd,{params:e,obsAttributes:t}):i.jsx("div",{className:"relative size-full p-2 text-end",children:e?.valueFormatted||e?.value})},Qi=({ref:e,fixHeight:t,gridHeight:n,children:s})=>i.jsx("div",{ref:e,className:W("ag-theme-quartz w-full min-h-[80px]",t?"max-h-[400px]":"max-h-full"),style:{height:n},children:s}),sd=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:s,externalLink:o,showLimitMessage:r,onApiReady:l})=>{const{titles:d}=we(),[a,u]=c.useState(!1),[m,h]=c.useState([]),[f,p]=c.useState(),[g,S]=c.useState(400),x=c.useRef(null),[v,C]=c.useState(""),[w,b]=c.useState(""),[N,T]=c.useState(!1),{isShowOnboarding:M,onboardingFileSchema:y,setOnboardingFileSchema:A}=Ye();c.useEffect(()=>{if(e.grid_data==null)u(!0);else{const k=e.grid_data.columns.map(H=>H.colId===At?{...H,hide:!n}:H);h(e.grid_data.data),p(k),u(!1)}},[e.grid_data,n]),c.useEffect(()=>{m?(S(zn(m.length)),r?.(m.length>=E.SERIES_LIMIT)):r?.(!1)},[m,r]),c.useEffect(()=>{if(M){const{title:k,description:H}=at(Oe.DATA_GRID,d);C(k),b(H)}},[d,M]),c.useEffect(()=>{y&&!y?.infoElements?.dataGrid&&A?.({...y,infoElements:{...y?.infoElements,dataGrid:!0},lastDisplayedElement:Oe.DATA_GRID})},[y,A]),c.useEffect(()=>{if(M){const k=y?.lastDisplayedElement===Oe.DATA_GRID;T(k),!a&&!t&&k&&setTimeout(()=>{x?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[y?.lastDisplayedElement,M,t,a]);const I=c.useCallback(k=>{l?.(k.api)},[l]),j=c.useMemo(()=>({externalLink:o}),[o]),L=c.useMemo(()=>({[cn]:Xi,[ln]:Ji,[Fi]:Gn}),[]),K=c.useMemo(()=>i.jsx(Rn.AgGridReact,{onGridReady:I,headerHeight:Lt,rowHeight:an,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:j,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:L,valueCache:!0}),[m,f,I,j,L]);return a||t?i.jsx(E.Loader,{}):i.jsxs("div",{className:"size-full",children:[i.jsx(Qi,{ref:x,fixHeight:s,gridHeight:g,children:K}),N&&i.jsx(lt,{reference:x,title:v,description:w,supressReferenceClick:!0})]})};function Rt(e){if(typeof window>"u")return e(),()=>{};let t;const n=window.requestAnimationFrame(()=>{t=window.setTimeout(e,0)});return()=>{window.cancelAnimationFrame(n),t!=null&&window.clearTimeout(t)}}const od=200,id=8,rd=2,ad=({currentIndex:e,totalCount:t,icons:n,onPrev:s,onNext:o})=>{const{titles:r}=we(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye();c.useEffect(()=>{if(g){const{title:C,description:w}=at(Oe.CHARTS_NAVIGATION,r);a(C),m(w)}},[r,g]),c.useEffect(()=>{if(g){const C=p?.lastDisplayedElement===Oe.CHARTS_NAVIGATION;f(C),C&&l?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[p?.lastDisplayedElement,g]);const S=t>0?e/t*100:0,x=t>0?Math.min(id*t,od):0,v=t>0?Math.max(x/t,rd):0;return i.jsxs("div",{className:"flex w-full flex-row items-center justify-center gap-2",children:[i.jsx("div",{className:W("h-[20px] w-[20px] cursor-pointer",e===0?"text-neutrals-700":"text-primary"),onClick:s,children:n?.[qt.PREVIOUS]}),i.jsxs("div",{className:"flex flex-col items-center gap-1 pt-[20px]",children:[i.jsx("div",{className:"relative h-[4px] rounded-full bg-neutral-300",style:{width:`${x}px`},children:i.jsx("div",{className:"absolute h-full rounded-full bg-primary",style:{left:`${S}%`,width:`${v}px`}})}),i.jsxs("h5",{className:"text-neutrals-800",children:[e+1,"/",t]})]}),i.jsx("div",{className:W("h-[20px] w-[20px] cursor-pointer",e+1===t?"text-neutrals-700":"text-primary"),onClick:o,ref:l,children:n?.[qt.NEXT]}),h&&i.jsx(lt,{reference:l,title:d,description:u})]})},ld=({limitAmount:e,openAdvancedView:t,prefixIcon:n,contentClassName:s})=>{const{titles:o}=we(),[r,l]=c.useState(!1),{refs:d,floatingStyles:a,context:u}=qe.useFloating({open:r,onOpenChange:l,placement:"top-start"}),m=qe.useHover(u,{handleClose:qe.safePolygon({blockPointerEvents:!0})}),{getReferenceProps:h,getFloatingProps:f}=qe.useInteractions([m]);return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex w-fit",ref:d.setReference,...h(),children:i.jsxs("div",{className:Ze("mt-1 flex w-fit items-center gap-1 bg-hues-100 px-4 py-2",s),children:[n,i.jsx("h5",{className:"font-bold",children:o?.limits||"Limited to"}),i.jsxs("h5",{children:[e," ",o?.timeseriesLimit||"Timeseries"]})]})}),r&&i.jsx("div",{className:"floating",ref:d.setFloating,style:a,...f(),children:i.jsxs("div",{className:"z-10 mb-2 flex w-[300px] flex-col gap-2 rounded bg-white p-4 shadow",children:[i.jsxs("div",{children:[i.jsxs("h5",{className:"text-neutrals-900",children:[i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP1_1||"The number of timeseries displayed in a single chart i"}),i.jsxs("span",{className:"pr-0.5 font-bold",children:[o?.limitLinkInfoP1_2||"limited to"," ",e]}),o?.limitLinkInfoP1_3||"for better clarity and performance."]}),i.jsxs("h5",{className:"text-neutrals-900",children:[i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP2_1||"To visualize specific timeseries"}),i.jsx("span",{className:"pr-0.5 font-bold",children:o?.limitLinkInfoP2_2||"filter"}),i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP2_3||"your request, or"}),i.jsx("span",{className:"pr-0.5 font-bold",children:o?.limitLinkInfoP2_4||"refine"}),o?.limitLinkInfoP2_5||"it in the chat."]})]}),t&&i.jsx("h4",{className:"cursor-pointer text-primary",onClick:t,children:o?.limitLinkInfoLink||"Open Advanced View"})]})})]})};function cd(e,t,n){const s=(e.getZr()?.painter).getRenderedCanvas()?.getContext("2d");if(!s)return 0;const o=n.textStyle?.fontSize??12,r=n.textStyle?.fontFamily??"sans-serif";s.font=`${o}px ${r}`;const l=s.measureText(t).width,d=n.itemWidth??25,a=n.itemGap??10;return l+d+a}const dd=({option:e,style:t})=>{const n=c.useRef(null),[s,o]=c.useState(e);c.useEffect(()=>{o(jn.cloneDeep(e))},[e]);const r=c.useCallback(()=>{const l=n.current?.getEchartsInstance?.();if(!l)return;const a=l.getDom().clientWidth,u=e.legend||{},m=u.itemHeight??14,h=u.textStyle?.fontSize??12,f=l.getModel()?.getComponent("legend")?.getData()||[];let p=0;f.forEach(v=>{const C=v.option.name||"";p+=cd(l,C,u)});const S=Math.max(1,Math.ceil(p/a))*(+m+ +h+6),x=20;o(v=>({...v,grid:{...v.grid||{},bottom:S+x}}))},[e.legend]);return c.useEffect(()=>{r();const l=()=>{r()};return window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},[e,r]),i.jsx(Ws,{notMerge:!0,lazyUpdate:!1,ref:n,option:s,style:t})},ud=({attachment:e,icons:t,isDataLoading:n,openAdvancedView:s,fixHeight:o=!0,limitationInfoPrefixIcon:r,limitationInfoContentClassName:l})=>{const{titles:d}=we(),[a,u]=c.useState(!0),[m,h]=c.useState(),[f,p]=c.useState([]),[g,S]=c.useState(0),[x,v]=c.useState(void 0),[C,w]=c.useState(),{onboardingFileSchema:b,isShowOnboarding:N,setOnboardingFileSchema:T}=Ye(),M=c.useRef(null),{charting_data:y,getChartingData:A}=e;c.useEffect(()=>{if(S(0),y){h(y),u(!1);return}if(!A){h(void 0),u(!0);return}return u(!0),Rt(()=>{try{h(A())}catch(L){console.error("Error building chart data",L),h({units:[]})}finally{u(!1)}})},[y,A]),c.useEffect(()=>{const L=m?.groups??[],K=m?.units??[];p(L.length>0?L.flatMap(k=>k.units.map(H=>({unit:H,groupTitle:k.title}))):K.map(k=>({unit:k})))},[m]),c.useEffect(()=>{const L=f.length>g,K=L?f[g]:f[0];v(!a&&K!=null?K.unit:void 0),w(K?.groupTitle),L||S(0)},[a,f,g]),c.useEffect(()=>{b&&N&&!a&&(El(b)&&(T?.(yl(b)),M?.current?.scrollIntoView({block:"center",behavior:"smooth"})),b.lastDisplayedElement===Oe.CHART_PER_SERIES&&T?.(vi(b)))},[a,T,b,N]);const I=c.useCallback(()=>{S(L=>Math.min(L+1,f.length-1))},[f.length]),j=c.useCallback(()=>{S(L=>Math.max(L-1,0))},[]);return a||n?i.jsx(E.Loader,{}):i.jsx("div",{className:"chart-attachment size-full",ref:M,children:m&&i.jsx("div",{className:"flex size-full flex-col gap-4",children:f.length==0||x==null?i.jsx("h4",{className:"ml-1",children:d?.chartInfo||"No data"}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsxs("h3",{className:"chart-attachment-title",children:[d?.chart||"Chart"," ",g+1,"/",f.length]}),i.jsx("span",{className:"h4 chart-attachment-info text-neutrals-700",children:d?.chartInfo||"Chart Information"})]}),i.jsxs("div",{className:W("chart-area overflow-hidden flex flex-row gap-4 h-full ",o&&"max-h-[400px] min-h-[400px]",!o&&"min-h-[300px]"),children:[i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[C&&i.jsxs("div",{className:"mb-1 flex items-center gap-1",children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-1000"}),i.jsx("h4",{className:"text-neutrals-1000",children:C})]}),i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4",children:[i.jsx(dd,{option:x.config,style:{width:"100%",height:"100%",minHeight:0}}),x.limitedByRowsAmountTo&&i.jsx(ld,{limitAmount:x.limitedByRowsAmountTo,openAdvancedView:s,prefixIcon:r,contentClassName:l}),f.length>1&&i.jsx(ad,{icons:t,currentIndex:g,totalCount:f.length,onNext:I,onPrev:j})]})]}),i.jsx(Li,{dimensionsInfo:x.dimensions})]})]})})})},md=({attachment:e,className:t})=>{const{data:n,language:s}=e,o=(r,l)=>{r.addCommand(l.KeyCode.F1,()=>{})};return i.jsx("div",{className:Ze(["h-full w-full [&_.cursors-layer]:hidden",t]),children:i.jsx(Nr.Editor,{value:n,language:s,theme:"vs-light",onMount:o,options:{readOnly:!0,contextmenu:!1,scrollBeyondLastLine:!1,minimap:{enabled:!1},wordWrap:"on",automaticLayout:!0,tabSize:2}})})},fd="Dataset",Is="dataset_name",hd="Agency",As="agency",pd="Country dimensions",Ot="country_aggregated",gd="Indicator dimensions",kt="indicator_aggregated",Cd="Frequency",mn="frequency_aggregated",er=".";function js(e){return{columnState:e.getColumnState(),columnGroupState:e.getColumnGroupState()??[]}}function xd(e,t){t&&(e.applyColumnState({state:t.columnState,applyOrder:!0}),e.setColumnGroupState(t.columnGroupState))}const Rs=["columnVisible","columnMoved","displayedColumnsChanged","newColumnsLoaded","gridColumnsChanged","columnPinned"];function tr(e,t){c.useEffect(()=>{if(e){for(const n of Rs)e.addEventListener(n,t);return()=>{for(const n of Rs)e.removeEventListener(n,t)}}},[e,t])}function Sd({currentUrn:e}){const[t,n]=c.useState(),[s,o]=c.useState(null),r=c.useRef(new Map),l=c.useRef(new Map),d=c.useCallback(h=>{if(n(h),r.current.has(e))s==null&&o(r.current.get(e)??null);else{const p=js(h);r.current.set(e,p),o(p)}const f=l.current.get(e);f&&(h.applyColumnState({state:f.columnState,applyOrder:!0}),f.columnGroupState!=null&&h.setColumnGroupState(f.columnGroupState))},[e]);c.useEffect(()=>{o(r.current.get(e)??null)},[e]);const a=c.useCallback(()=>{t&&l.current.set(e,js(t))},[e,t]),u=c.useCallback(()=>{l.current.delete(e)},[e]),m=c.useCallback(()=>{r.current.delete(e),o(null)},[e]);return tr(t,a),{gridApi:t,onGridApiReady:d,initialColumnsState:s,clearUserColumnState:u,clearInitialColumnState:m}}var Xe=(e=>(e.Compact="compact",e.Extended="extended",e))(Xe||{});const Kn=c.createContext(null);function vd({currentUrn:e,structuresMap:t,locale:n,dataQueries:s,gridViewMode:o=Xe.Compact,onGridViewModeChange:r,texts:l,resetIcon:d,children:a}){const{gridApi:u,onGridApiReady:m,initialColumnsState:h,clearUserColumnState:f,clearInitialColumnState:p}=Sd({currentUrn:e}),g=c.useCallback(T=>r?.(T),[r]),[S,x]=c.useState(new Map),v=c.useCallback((T,M,y)=>{x(A=>{const I=new Map(A),j=new Map(I.get(T)??[]),L=j.get(M)??{order:[],hidden:new Set};return j.set(M,y(L)),I.set(T,j),I}),u?.refreshCells({columns:[M]})},[u]),C=c.useCallback((T,M,y)=>{v(T,M,A=>({...A,order:y}))},[v]),w=c.useCallback(()=>{x(new Map)},[]),b=c.useCallback((T,M,y,A)=>{v(T,M,I=>{const j=new Set(I.hidden);return A?j.add(y):j.delete(y),{...I,hidden:j}})},[v]),N=c.useMemo(()=>({gridApi:u,onGridApiReady:m,initialColumnsState:h,structuresMap:t,locale:n,dataQueries:s,dimensionCustomization:S,setDimensionKeyOrder:C,setDimensionKeyHidden:b,resetDimensionCustomization:w,clearUserColumnState:f,clearInitialColumnState:p,gridViewMode:o,setGridViewMode:g,texts:l,resetIcon:d}),[u,h,m,t,n,s,S,C,b,w,f,p,o,g,l,d]);return i.jsx(Kn.Provider,{value:N,children:a})}function Yn(){const e=c.useContext(Kn);if(!e)throw new Error("useTableSettingsContext must be used within TableSettingsProvider");return e}const wd=()=>c.useContext(Kn);function fn(e,t,n){const s=D.getConcept(e.conceptIdentity,t),o=e?.localRepresentation?.enumeration,r=s?.coreRepresentation?.enumeration,l=o||r,d=D.getArtifactByUrnWithWildCard(l,n);return{concept:s,codeList:d||void 0}}function nr(e,t,n){const s=e.findIndex(o=>o.id===t);return n.originalData.parsedTimeSeriesValue[s]}function qn(e,t,n,s,o){const r=nr(e,t,s),l=n?.codes?.find(d=>d.id===r);return D.getLocalizedName(l,o)}function bd(e,t,n,s,o=Xe.Compact){const r=o===Xe.Extended?Md(e,t,n):[yd(e,t,n,s)];return[Dd(e,t,n,s),...r,Ed(e,t,n,s),...Td(e,t,n)]}function Dd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,e),u=t.get(d)?.region;return a==null||d==null||l==null||u==null?"":yt(l,u,a,n)};return hn(s?.countryDimensions||pd,Ot,o,e,t,n,s)}function yd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,e),u=t.get(d)?.indicators;return a==null||d==null||l==null||u==null||u.length===0?"":u.map(h=>yt(l,h,a,n)||"").join(er)};return hn(s?.indicatorDimensions||gd,kt,o,e,t,n,s)}function Ed(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,e),u=t.get(d)?.frequency;return a==null||d==null||l==null||u==null?"":yt(l,u,a,n)};return hn(s?.frequency||Cd,mn,o,e,t,n,s)}function Td(e,t,n){const s=new Set;return t.forEach(o=>{o?.other?.forEach(r=>{s.add(r)})}),Array.from(s).map(o=>Nd(o,e,t,n))}function Md(e,t,n){const s=new Set;return t.forEach(o=>{o?.indicators?.forEach(r=>{s.add(r)})}),Array.from(s).map(o=>{const r=l=>{const{structures:d,urn:a,data:u}=Ut(l,e),m=t.get(a)?.indicators??[];return u==null||a==null||d==null||!m.includes(o)?"":yt(d,o,u,n)};return{headerName:sr(o,e,n),field:o,colId:o,valueGetter:r,...St,cellClass:ht,tooltipValueGetter:l=>l.value}})}function Nd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,t),u=n.get(d)?.other??[];return a==null||d==null||l==null||!u.includes(e)?"":yt(l,e,a,s)};return{...hn(sr(e,t,s),e,o,t,n,s),hide:!0}}function sr(e,t,n){for(const s of t.values()){if(!s)continue;const r=(D.getDimensions(s)?.dimensions||[]).find(l=>l.id===e);if(r)return D.getDimensionTitle(s.conceptSchemes,r,n)??e}return e}function hn(e,t,n,s,o,r,l){return{headerName:e,field:t,colId:t,valueGetter:n,...St,cellClass:ht,cellRenderer:Pi,tooltipValueGetter:d=>d.value,cellRendererParams:{structuresMap:s,datasetDimensionsSchemesMap:o,locale:r,titles:l,colId:t}}}function Ut(e,t){const{data:n}=e,s=n?.dataset?.urn,o=s==null?void 0:t.get(s);return{data:n,urn:s,structures:o}}function yt(e,t,n,s){const o=e.conceptSchemes||[],r=e.codelists||[],l=D.getDimensions(e)?.dimensions||[],d=l.find(u=>u.id===t);if(d==null)return;const{codeList:a}=fn(d,o,r);return qn(l,t,a,n,s)}const tn="::";function Id(e,t){return`${e}${tn}${t}`}function Sn(e){return e.includes(tn)}function Mt(e){const t=e.indexOf(tn);return{urn:e.slice(0,t),dimensionKey:e.slice(t+tn.length)}}const Ad=new Set([kt]);function or(e,t){let n=e;return t?.order.length&&(n=[...t.order.filter(s=>e.includes(s)),...e.filter(s=>!t.order.includes(s))]),t?.hidden.size&&(n=n.filter(s=>!t.hidden.has(s))),n}function jd(e,t,n){const s=n(t);return s?e===kt?s.indicators:e===Ot?s.region?[s.region]:[]:e===mn?s.frequency?[s.frequency]:[]:[]:[]}function Rd(e,t,n){const s=e.getDimensionConfig(t,n);if(s?.alias)return s.alias;const o=e.structuresMap.get(t),l=(o?D.getDimensions(o)?.dimensions??[]:[]).find(d=>d.id===n);return D.getDimensionTitle(o?.conceptSchemes??[],l,e.locale)??n}function Ld(e){const t=e.enrichedColIds??Ad;return n=>{if(!t.has(n.id))return n;const s=[];for(const{urn:o}of e.dataQueries){const r=jd(n.id,o,e.getDimensionsScheme);if(!r.length)continue;const l=e.dimensionCustomization?.get(o)?.get(n.id),d=l?.order.length?or(r,{order:l.order,hidden:new Set}):r,a=d.length>1,u=d.map(f=>({id:Id(o,f),type:"item",label:Rd(e,o,f),isChecked:!l?.hidden.has(f),draggable:a,checkable:a})),m=e.structuresMap.get(o),h=D.getLocalizedName(m?.dataflows?.[0],e.locale)??o;s.push({id:o,type:"group",label:h,items:u})}return s.length?s.length===1?{...n,items:s[0].items}:{...n,items:s}:n}}function Ls(e,t){return e===kt?t.indicators??[]:e===Ot?t.region?[t.region]:[]:e===mn?t.frequency?[t.frequency]:[]:t.other?.includes(e)?[e]:[]}function Fd(e,t){return e===kt?t?.indicatorMetadataPanel||"Indicator dimension details":e===Ot?t?.countryMetadataPanel||"Country dimension details":t?.metadata||"Metadata"}const Pd="merged-dimension-metadata-side-panel",_d=e=>{const{titles:t}=we(),{isOpenedAdvancedView:n}=We(),s=pt(),{isMetadataInSidePanel:o}=Ge(),{getDatasetLastUpdated:r}=ct(),l=wd(),d=e?.data?.dataset?.urn,a=dn(e?.context,d),u=d!=null?e.structuresMap.get(d):void 0,m=d!=null?e.datasetDimensionsSchemesMap.get(d):void 0,h=l?.dimensionCustomization,f=c.useMemo(()=>{if(!u||!m||d==null)return e.valueFormatted??e.value;const v=h?.get(d)?.get(e.colId);return or(Ls(e.colId,m),v).map(b=>yt(u,b,e.data,e.locale)).filter(Boolean).join(er)},[h,u,m,d,e.valueFormatted,e.value,e.colId,e.data,e.locale]),p=c.useMemo(()=>{if(!u||!m)return[];const v=Ls(e.colId,m),C=D.getStructureComponentsMap(u),w=v.filter(b=>e.data[b]!=null).map(b=>({name:b,value:String(e.data[b])}));return jt(w,C,e.locale)},[u,m,e.colId,e.data,e.locale]),g=c.useMemo(()=>{const v=u?.dataflows?.[0];if(!v)return;const C=Vt(r(v),e.locale);return _t(v,C,e.locale,t)},[u,e.locale,t,r]),S=o&&!!s&&!!e.value&&![mn,Ot].includes(e.colId),x=c.useCallback(()=>{s&&s.openPanel({id:Pd,scope:n?"advanced":"conversation",title:Fd(e.colId,t),bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e.locale,metadata:p,datasetInfo:g,externalLink:a})})},[s,n,e.colId,t,e.locale,p,g,a]);return i.jsxs("div",{className:"relative size-full p-2",children:[f,S&&i.jsx("div",{className:"metadata-indicator",title:t?.metadata||"View details",onClick:x})]})},Vd="dataset-detail-metadata-side-panel",Od=e=>{const{titles:t}=we(),{isOpenedAdvancedView:n}=We(),s=pt(),{isMetadataInSidePanel:o}=Ge(),{getDatasetLastUpdated:r}=ct(),l=e?.data?.dataset?.urn,d=dn(e?.context,l),a=l!=null?e.structuresMap.get(l):void 0,u=l!=null?e.attributesDataMap?.get(l):void 0,m=c.useMemo(()=>{const g=a?.dataflows?.[0];if(!g)return;const S=Vt(r(g),e.locale);return _t(g,S,e.locale,t)},[a,e.locale,t,r]),h=c.useMemo(()=>Wi($i(u),D.getStructureComponentsMap(a),e.locale),[u,a,e.locale]),f=o&&!!s&&!!e.value,p=c.useCallback(()=>{s&&s.openPanel({id:Vd,scope:n?"advanced":"conversation",title:t?.datasetMetadataPanel||"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e.locale,metadata:h,datasetInfo:m,externalLink:d})})},[s,n,h,m,d,t,e.locale]);return i.jsxs("div",{className:"relative size-full p-2",children:[e.valueFormatted??e.value,f&&i.jsx("div",{className:"metadata-indicator",title:t?.metadata||"View details",onClick:p})]})},kd=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:s,externalLink:o,externalLinksMap:r,showLimitMessage:l,onApiReady:d})=>{const[a,u]=c.useState(!1),[m,h]=c.useState([]),[f,p]=c.useState(),[g,S]=c.useState(400),x=c.useRef(null),v=c.useRef([]);c.useEffect(()=>{if(e.gridContent==null)u(!0);else{const T=e.gridContent.columns.map(M=>M.colId===At?{...M,hide:!n}:M);h(e.gridContent.data),p(T),u(!1)}},[e.gridContent,n]),c.useEffect(()=>{m?(S(zn(m.length)),l?.(m.length>=E.SERIES_LIMIT)):l?.(!1)},[m,l]),c.useEffect(()=>{if(!f||!x.current)return;const T=f.map(I=>I.colId??I.field??"").filter(Boolean),M=v.current,y=new Set(M),A=T.length!==M.length||T.some(I=>!y.has(I));v.current=T,A&&x.current.resetColumnState()},[f]);const C=c.useCallback(T=>{x.current=T.api,d?.(T.api)},[d]),w=c.useMemo(()=>({externalLink:o,externalLinksMap:r}),[o,r]),b=c.useMemo(()=>({[cn]:Xi,[ln]:Ji,[Pi]:_d,[Fi]:Gn,[_i]:Od}),[]),N=c.useMemo(()=>i.jsx(Rn.AgGridReact,{headerHeight:Lt,rowHeight:an,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:w,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:b,valueCache:!0,onGridReady:C}),[m,f,w,b,C]);return a||t?i.jsx(E.Loader,{}):i.jsx("div",{className:"size-full",children:i.jsx(Qi,{fixHeight:s,gridHeight:g,children:N})})},Ud=({selectedAttachment:e,actions:t,attachmentsStyles:n,isDataLoading:s,externalLink:o,externalLinksMap:r,isOpenedAdvancedView:l,onOpenAdvancedView:d,showLimitMessage:a,onGridApiReady:u})=>i.jsxs("div",{className:"flex min-h-0 w-full flex-1 justify-center",children:[Nl(e)&&i.jsx(cc,{actions:t,downloadTitles:n?.downloadTitle,attachment:e}),Hn(e)&&i.jsx(Nc,{actions:t,attachment:e,showLimitMessage:a}),rt(e)&&i.jsx(sd,{attachment:e,isDataLoading:s,isChartColumnVisible:l,fixHeight:!l,showLimitMessage:a,onApiReady:u,externalLink:o}),ft(e)&&i.jsx(kd,{attachment:e,isDataLoading:s,isChartColumnVisible:l,fixHeight:!l,showLimitMessage:a,onApiReady:u,externalLink:o,externalLinksMap:r}),Kt(e)&&i.jsx(ud,{isDataLoading:s,attachment:e,icons:n?.chartingIcons,openAdvancedView:l?void 0:d,fixHeight:!l,limitationInfoPrefixIcon:n?.limitationInfoIcon,limitationInfoContentClassName:n?.limitationInfoContentClassName}),Un(e)&&i.jsx(Cc,{attachment:e,openLinkTitle:n?.openLinkTitle}),Ei(e)&&i.jsx(fc,{attachment:e}),Bn(e)&&i.jsx(md,{attachment:e,className:n?.codeAttachmentContainerClassName})]}),Hd=({isOpen:e,alertDetails:t,attachmentsStyles:n,onClose:s})=>{if(!e)return null;const o=t?.progress&&t.progress.total>0?`${Math.min(100,Math.max(0,t.progress.current/t.progress.total*100))}%`:"0%";return i.jsx(E.Alert,{alertDetails:t,infoIcon:n?.infoDownloadIcon,successIcon:n?.successDownloadIcon,errorIcon:n?.errorDownloadIcon,onClose:s,closeButtonTitle:n?.closeTitle||"Close",children:i.jsxs(i.Fragment,{children:[t?.text&&i.jsx("div",{className:"alert-text whitespace-pre-line break-words",title:t.text,children:t.text}),t?.progress&&i.jsx("div",{className:"alert-progress",children:i.jsx("div",{className:"alert-progress-value",style:{width:o}})}),t?.action&&i.jsxs("button",{type:"button",className:"alert-action",disabled:t.action.disabled,onClick:t.action.onClick,title:t.action.title,children:[t.action.icon&&i.jsx("span",{className:"alert-action-icon",children:t.action.icon}),i.jsx("span",{className:"alert-action-text",children:t.action.text})]})]})})},Bd=({attachmentsStyles:e,onCancel:t,onRetry:n})=>{const s=c.useCallback(p=>e?.downloadTitles?.downloadStartedText?.(p.dataFormatTitle)??`Preparing ${p.dataFormatTitle} file.`,[e?.downloadTitles]),o=c.useCallback((p,g)=>e?.downloadTitles?.downloadInProgressTitle?.(p,g)??`Downloading file ${p} of ${g}`,[e?.downloadTitles]),r=c.useCallback((p,g)=>e?.downloadTitles?.downloadInProgressText?.(p,g)??`${p} · ${g}`,[e?.downloadTitles]),l=c.useCallback(p=>p.items.length>1?e?.downloadTitles?.downloadSuccessMultipleTitle?.(p.items.length)??`${p.items.length} files downloaded`:e?.downloadTitles?.downloadSuccessTitle?.(p.dataFormatTitle)??`${p.dataFormatTitle} file downloaded`,[e?.downloadTitles]),d=c.useCallback(p=>{if(p.items.length>1)return e?.downloadTitles?.downloadSuccessMultipleText?.(p.items.length)??`${p.items.length} files successfully downloaded`;const[g]=p.items;return e?.downloadTitles?.downloadSuccessText?.(g.fileName,g.rowCount)??`${g.fileName} · ${g.rowCount} rows`},[e?.downloadTitles]),a=c.useCallback(p=>{if(p.items.length>1)return e?.downloadTitles?.downloadFailedMultipleText?.(p.items.length)??`${p.items.length} datasets could not be exported`;const[g]=p.items;return e?.downloadTitles?.downloadFailedText?.(g.name)??`${g.name} could not be exported`},[e?.downloadTitles]),u=c.useCallback(p=>({type:E.AlertType.INFO,title:e?.downloadTitles?.downloadStartedTitle??"Download started",text:s(p),action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??"Cancel",icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,s,t]),m=c.useCallback((p,g,S,x)=>({type:E.AlertType.IN_PROGRESS,title:o(g,p.items.length),text:r(x,p.dataFormatTitle),progress:{current:S,total:p.items.length},action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??"Cancel",icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,r,o,t]),h=c.useCallback(p=>({type:E.AlertType.SUCCESS,title:l(p),text:d(p)}),[d,l]),f=c.useCallback(p=>({type:E.AlertType.ERROR,title:e?.downloadTitles?.downloadFailedTitle??"Download failed",text:a(p),action:{text:e?.downloadTitles?.downloadRetryActionText??"Retry download",icon:e?.downloadErrorActionIcon,onClick:n}}),[e?.downloadErrorActionIcon,e?.downloadTitles,a,n]);return{getStartedAlertDetails:u,getInProgressAlertDetails:m,getSuccessAlertDetails:h,getErrorAlertDetails:f}},Gd=300,zd=({attachmentsStyles:e,downloadDataSet:t})=>{const[n,s]=c.useState(),[o,r]=c.useState(!1),[l,d]=c.useState(),a=c.useRef(null),u=c.useRef(null),m=c.useRef(null),h=c.useRef(!1),f=c.useRef(!1),p=c.useCallback(y=>{d(y),s(!0)},[]),g=c.useCallback(()=>{s(!1)},[]),S=c.useCallback(()=>{f.current=!0,a.current?.abort(),g()},[g]),x=c.useCallback(()=>{const y=u.current;!y||!m.current||m.current(y)},[]),v=c.useCallback(y=>(y instanceof DOMException||y instanceof Error)&&y.name==="AbortError",[]),{getStartedAlertDetails:C,getInProgressAlertDetails:w,getSuccessAlertDetails:b,getErrorAlertDetails:N}=Bd({attachmentsStyles:e,onCancel:S,onRetry:x}),T=c.useCallback(async y=>{if(!h.current){h.current=!0,r(!0),f.current=!1,u.current=null;try{const A=[],I=y.items.length>1;I||p(C(y));for(const[j,L]of y.items.entries()){if(f.current)return;I&&p(w(y,j+1,j,L.name));const K=new AbortController;a.current=K;try{await t(L.urn,y.dataFormat,y.language,y.attribute,L.filters,L.fileName,y.isMetadata,K.signal)}catch(k){if(v(k)&&f.current)return;A.push(L),console.error("Failed to download dataset",k)}finally{a.current===K&&(a.current=null)}j<y.items.length-1&&await new Promise(k=>window.setTimeout(k,Gd))}if(f.current)return;if(A.length>0){const j={...y,items:A};u.current=j,p(N(j));return}p(b(y))}finally{a.current=null,h.current=!1,r(!1)}}},[t,N,w,C,b,v,p]);return c.useEffect(()=>{m.current=T},[T]),c.useEffect(()=>()=>{f.current=!0,a.current?.abort()},[]),{startDownload:c.useCallback(y=>h.current?!1:(T(y),!0),[T]),isDownloadRunning:o,downloadAlertProps:{isOpen:n,alertDetails:l,attachmentsStyles:e,onClose:g}}};Qn.ModuleRegistry.registerModules([Qn.AllCommunityModule]);const Zn=({attachments:e,actions:t,isSystemAttachments:n,isShowAttachments:s,showAdvancedView:o,currentDataQuery:r,dataQueries:l,attachmentInfoList:d,datasets:a,initialSelectedDatasetUrn:u,isDataLoading:m,isDataSetAttachments:h,locale:f,dimensions:p,filters:g,selectDataset:S,onAdvancedViewOpen:x,hideDownloadButton:v,containerClassName:C,isTableSettingsOpen:w,onTableSettingsOpen:b,onTableSettingsClose:N,onGridApiReady:T})=>{const{titles:M,messageStyles:y,attachmentsStyles:A,limitMessages:I,attachmentsConfig:j}=we(),{isCrossDatasetModeOn:L}=Ge(),[K,k]=c.useState(0),{isOpenedAdvancedView:H,setIsOpenedAdvancedView:z}=We(),[ee,P]=c.useState(E.PopUpState.Closed),[Y,q]=c.useState(!1),[J,Q]=c.useState(!1),pe=D.DownloadType.DATA_IN_TABLE,ve=c.useMemo(()=>{if(!L||!l?.some(ae=>ae.disabled))return a;const ue=new Set(l.filter(ae=>!ae.disabled).map(ae=>ae.urn));return a?.filter(ae=>{const Le=D.generateShortUrn(ae?.id,ae?.version,ae?.agencyID);return ue.has(Le)})},[a,l,L]),De=ue=>{k(ue)},O=c.useCallback(()=>{x?.(),z(!0),t.updateCurrentDataQuery(r||l?.[0]),t.updateDataQueries(l),t.updateDatasets(a)},[t,r,l,a,z,x]),_=e[K]||null;c.useEffect(()=>{q(h&&(a==null||a?.length==0))},[a,h]),c.useEffect(()=>{w&&_&&!rt(_)&&!ft(_)&&N?.()},[w,_,N]);const ie=c.useCallback(()=>{P(E.PopUpState.Closed)},[P]),de=j?.isExternaLinkIncludeFilters,ce=Nn(de,g,r||l?.[0],p),je=c.useMemo(()=>l?.length?new Map(l.map(ae=>[ae.urn,Nn(de,void 0,ae)])):void 0,[l,de]),Te=c.useMemo(()=>{if(!_||!ft(_))return;const ae=_.gridContent?.data??[],Le=new Map,ye=new Map;for(const ge of ae){const{dataset:Ie,datasetTitle:Ce}=ge,Pe=Ie?.urn;Pe&&(Le.set(Pe,(Le.get(Pe)??0)+1),!ye.has(Pe)&&Ce&&ye.set(Pe,Ce))}return Array.from(Le.entries()).map(([ge,Ie])=>({urn:ge,name:ye.get(ge)??ge,rowCount:Ie,dataQuery:l?.find(Ce=>Ce.urn===ge)}))},[_,l]),V=c.useMemo(()=>{if(_){if(rt(_))return _.grid_data?.data?.length;if(ft(_))return _.gridContent?.data?.length}},[_]),{startDownload:B,isDownloadRunning:oe,downloadAlertProps:re}=zd({attachmentsStyles:A,downloadDataSet:t.downloadDataSet});if(!e||e.length===0)return null;const me=!H&&Y||!!m;return i.jsx(i.Fragment,{children:H&&!s?i.jsx(Bl,{icon:y?.advanceViewIcon,title:y?.openAdvanceViewTitle??"Opened in Advanced view"}):i.jsxs("div",{className:Ze("space-y-3 max-w-full max-h-full h-full",!H&&!n?"pt-5":"pt-0","flex flex-col pb-1",C),children:[!H&&ve?.length!=null&&ve?.length>0&&i.jsx(Ai,{datasets:ve,initialSelectedDatasetUrn:u,locale:f,selectDataset:S}),me?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[n&&!H&&i.jsx(Hl,{titles:{queryUpdatedManuallyTitle:M?.queryUpdatedManually,setToTitle:M?.setTo,datasetLabel:M?.dataset},datasetIcon:A?.datasetIcon,attachmentInfoList:d,dataQueries:l}),J&&i.jsx(E.RequestLimitMessage,{limitMessages:I,showAdvancedViewButton:!!_&&Al(_)&&o,onAdvancedViewClick:O,query:ce}),i.jsx("div",{className:W(!H&&a?.length&&"attachments-bordered","attachments-wrapper h-full min-h-0"),children:i.jsxs("div",{className:"flex h-full max-w-full flex-col items-center gap-4",children:[i.jsx(lc,{attachments:e,selectedAttachmentIndex:K,selectedAttachment:_,attachmentsStyles:A,externalLink:ce,isExternalLinkIncludeFilters:de,limitMessages:I,onSelectedAttachmentChange:De,onDownloadClick:()=>P(E.PopUpState.Opened),hideDownloadButton:v,showAdvancedView:o,onOpenAdvancedView:O,isTableSettingsOpen:w,onTableSettingsOpen:b}),_!=null&&i.jsx(Ud,{selectedAttachment:_,actions:t,attachmentsStyles:A,isDataLoading:m,isOpenedAdvancedView:H,onOpenAdvancedView:O,showLimitMessage:Q,onGridApiReady:T,externalLink:ce,externalLinksMap:je})]})}),i.jsxs(i.Fragment,{children:[ee===E.PopUpState.Opened&&i.jsx(ql,{onCloseModal:ie,onDownloadStart:B,isDownloadInProgress:oe,dataQuery:r,datasetName:_?.title||"",locale:f,type:pe,dimensions:p,filters:g,urn:r?.urn,titles:A?.downloadTitles,rowCount:V,collapsible:A?.downloadCollapsible,downloadDatasets:Te,limitMessages:I,showLimitMessage:J,externalLink:ce}),i.jsx(Hd,{...re})]})]})]})})},$d=({label:e,colDef:t})=>!!e.trim()&&!t.suppressColumnsToolPanel;function Wd(e){return e.colId??e.field??null}function Kd(e){return String(e.headerName??e.field??e.colId??"").trim()}function Yd(e){return new Map(e.getColumnState().map(t=>[t.colId,t]))}function qd(e,t){const n=e.getColumnDefs()??[],s=Yd(e),o=[];for(const d of n){const a=Wd(d);if(!a)continue;const u=Kd(d);if(!t({colId:a,label:u,colDef:d}))continue;const m=s.get(a);o.push({id:a,type:"item",label:u,isChecked:!(m?.hide??!1),draggable:!0,checkable:!0})}const r=e.getColumnState().map(d=>d.colId),l=new Map(r.map((d,a)=>[d,a]));return o.sort((d,a)=>{const u=l.get(d.id)??Number.MAX_SAFE_INTEGER,m=l.get(a.id)??Number.MAX_SAFE_INTEGER;return u-m})}function Zd(e,t,n){const s=[...t];return e.map(o=>n.has(o)?s.shift()??o:o)}function vn(e,t){let n=e,s;for(const o of t){if(s=n.find(r=>r.id===o),!s)return;n=s.type==="group"?s.items:s.items??[]}return s?.type==="item"?s:void 0}function Xd(e){if(!e.items?.length)return e;if(e.items.every(n=>n.type==="item")){const n=e.items,s=n.filter(r=>r.isChecked!==!1);if(s.length!==1)return e;const[o]=s;return{...e,items:n.map(r=>r===o?{...r,checkable:!1,draggable:!1}:{...r,draggable:!1})}}const t=e.items.map(n=>{if(n.type!=="group")return n;const o=n.items.filter(l=>l.type==="item").filter(l=>l.isChecked!==!1);if(o.length!==1)return n;const[r]=o;return{...n,items:n.items.map(l=>l.type!=="item"?l:l===r?{...l,checkable:!1,draggable:!1}:{...l,draggable:!1})}});return t.every((n,s)=>n===e.items[s])?e:{...e,items:t}}function An(e,t){const n=[];for(const s of e){if(s.type==="group"){n.push(...An(s.items,t));continue}if(t?.(s)){n.push(s.id);continue}if(s.items?.length){n.push(...An(s.items,t));continue}n.push(s.id)}return n}function Jd({api:e,searchQuery:t,includeColumn:n=$d,enrichItem:s,onSubItemOrderChange:o,onSubItemVisibilityChange:r}){const[l,d]=c.useState(0),[a,u]=c.useState(new Set),m=c.useCallback(()=>{d(w=>w+1)},[]);tr(e,m);const h=c.useMemo(()=>!e||!e.getColumnState()?[]:qd(e,n),[e,n,l]),f=c.useMemo(()=>(s?h.map(b=>b.type==="item"?s(b):b):h).map(b=>b.type==="item"&&b.items?.length?{...b,isExpanded:a.has(b.id)}:b),[h,s,a]),p=c.useMemo(()=>new Set(h.map(w=>w.id)),[h]),g=c.useMemo(()=>E.filterDraggableListNodes(f,t),[f,t]),S=c.useCallback(w=>{if(!e)return;if(Sn(w.itemId)&&r){const{urn:N,dimensionKey:T}=Mt(w.itemId),M=w.path[0];r(N,M,T,!w.nextChecked);return}const b=vn(f,w.path);!b||!p.has(b.id)||(e.applyColumnState({state:[{colId:b.id,hide:!w.nextChecked}]}),m())},[e,f,p,m,r]),x=c.useCallback(w=>{if(!e)return;if(Sn(w.itemId)&&r){const{urn:M,dimensionKey:y}=Mt(w.itemId),A=w.path[0],I=vn(f,w.path);I?.type==="item"&&r(M,A,y,I.isChecked??!0);return}const b=vn(f,w.path);if(!b||!p.has(b.id))return;const T=!(e.getColumnState().find(M=>M.colId===b.id)?.hide??!1);e.applyColumnState({state:[{colId:b.id,hide:T}]}),m()},[e,f,p,m,r]),v=c.useCallback(w=>{const b=w.path[w.path.length-1];u(N=>{const T=new Set(N);return w.nextExpanded?T.add(b):T.delete(b),T})},[]),C=c.useCallback(w=>{if(!e)return;const b=e.getColumnState().map(y=>y.colId),N=new Set(h.map(y=>y.id)),T=An(w,y=>p.has(y.id)),M=Zd(b,T,N);if(e.applyColumnState({state:M.map(y=>({colId:y})),applyOrder:!0}),m(),o){for(const y of w)if(!(y.type!=="item"||!p.has(y.id)||!y.items))if(y.items.some(A=>A.type==="group"))for(const A of y.items){if(A.type!=="group")continue;const I=A.items.filter(K=>K.type==="item");if(I.length<=1)continue;const j=A.id,L=I.map(K=>Mt(K.id).dimensionKey);o(j,y.id,L)}else{const A=y.items.filter(L=>L.type==="item");if(A.length<=1||!Sn(A[0].id))continue;const{urn:I}=Mt(A[0].id),j=A.map(L=>Mt(L.id).dimensionKey);o(I,y.id,j)}}},[e,h,p,m,o]);return{items:f,visibleItems:g,handleToggleChecked:S,handleToggleExpanded:v,handleItemClick:x,handleItemsChange:C}}function Qd({api:e,includeColumn:t,enrichItem:n,renderLabel:s,onSubItemOrderChange:o,onSubItemVisibilityChange:r,searchPlaceholder:l}){const[d,a]=c.useState(""),u=c.useCallback(C=>{a(C)},[a]),m=c.useCallback(()=>a(""),[a]),h=c.useMemo(()=>i.jsx("button",{type:"button",onClick:m,children:i.jsx(Be.IconX,{className:"size-4 text-neutrals-1000"})}),[m]),f=c.useCallback(C=>{const w=n?n(C):C;return Xd(w)},[n]),{visibleItems:p,handleItemsChange:g,handleToggleChecked:S,handleToggleExpanded:x,handleItemClick:v}=Jd({api:e,includeColumn:t,searchQuery:d,enrichItem:f,onSubItemOrderChange:o,onSubItemVisibilityChange:r});return i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2 px-5",children:[i.jsx(E.InputWithIcon,{inputId:"columns-search-input",containerClasses:"items-center filters-search-input gap-1 !p-2",cssClass:"filters-search-input-text",placeholder:l||"Search",iconBeforeInput:i.jsx(Be.IconSearch,{className:"size-4 text-neutrals-1000"}),iconAfterInput:d?h:void 0,value:d,onChange:u}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:i.jsx(E.DraggableList,{items:p,onItemsChange:g,onToggleChecked:S,onToggleExpanded:x,onItemClick:v,renderLabel:s})})]})}function eu(){const{dataQueries:e,structuresMap:t,locale:n,gridViewMode:s}=Yn(),o=un(),r=c.useMemo(()=>{const l=new Map;if(!o||!e?.length)return l;for(const{urn:d}of e){const a=o.getDimensionsScheme(d),u=!!a?.other.length,m=s===Xe.Extended&&!!a?.indicators?.length;if(!u&&!m)continue;const h=n?D.getLocalizedName(t?.get(d)?.dataflows?.[0],n)??d:d,f=[...a?.other??[],...m?a?.indicators??[]:[]];for(const p of f){const g=l.get(p);g?g.push(h):l.set(p,[h])}}return l},[o,e,t,n,s]);return c.useMemo(()=>{if(!r.size)return;function l(d){const a=r.get(d.id);return a?.length?i.jsxs("span",{className:"flex w-full items-center gap-2 overflow-hidden",children:[i.jsx("span",{className:"min-w-0 flex-1 truncate",title:d.label,children:d.label}),i.jsx("span",{className:"h5 min-w-0 flex-1 truncate text-right text-neutrals-700",title:a.join(", "),children:a.join(", ")})]}):d.label}return l},[r])}var Ne=(e=>(e.Header="header",e.Cell="cell",e))(Ne||{}),Ee=(e=>(e.Focus="focus",e.Default="default",e))(Ee||{});const tu="grid gap-1",nu={gridTemplateColumns:"44px 23px 23px",gridTemplateRows:"repeat(4, 14px)"},su={gridTemplateColumns:"repeat(4, 21.5px)",gridTemplateRows:"repeat(4, 14px)"},ou={[Ne.Header]:{[Ee.Focus]:"content-center rounded-sm border border-accent-300 bg-accent-300 text-center text-[8px] font-semibold",[Ee.Default]:"rounded-sm bg-semantic-warning border border-accent-300"},[Ne.Cell]:{[Ee.Focus]:"content-center rounded-sm border border-accent-300 bg-hues-100 pl-1 text-left text-[8px] font-semibold",[Ee.Default]:"rounded-sm bg-neutrals-100 border border-accent-300"}},ir=({rows:e,style:t})=>i.jsx("div",{className:tu,style:t,children:e.map((n,s)=>i.jsx(c.Fragment,{children:n.map((o,r)=>i.jsx("span",{className:Ze([ou[o.role][o.emphasis],!o.label&&"text-transparent"]),children:o.label||" "},`${s}-${r}`))},s))}),iu=[[{role:Ne.Header,emphasis:Ee.Focus,label:"D1.D2.D3"},{role:Ne.Header,emphasis:Ee.Default},{role:Ne.Header,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1.A"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1.B"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C2.X"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}]],ru=()=>i.jsx(ir,{rows:iu,style:nu}),au=[[{role:Ne.Header,emphasis:Ee.Focus,label:"D1"},{role:Ne.Header,emphasis:Ee.Focus,label:"D2"},{role:Ne.Header,emphasis:Ee.Focus,label:"D3"},{role:Ne.Header,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1"},{role:Ne.Cell,emphasis:Ee.Focus,label:"A"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1"},{role:Ne.Cell,emphasis:Ee.Focus,label:"B"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C2"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Focus,label:"X"},{role:Ne.Cell,emphasis:Ee.Default}]],lu=()=>i.jsx(ir,{rows:au,style:su}),Fs=({title:e,description:t,visual:n,mode:s,activeMode:o,onClick:r})=>i.jsxs("button",{type:"button",className:Ze(["flex items-center gap-3 rounded border p-1",s===o&&"border-primary"]),onClick:()=>r(s),children:[i.jsx("div",{className:"rounded-[5px] bg-neutrals-100 px-2 py-1",children:n}),i.jsxs("div",{className:"flex flex-col gap-1 text-left",children:[i.jsx("span",{className:"h4 text-neutrals-1000",children:e}),i.jsx("span",{className:"caption text-neutrals-800",children:t})]})]}),cu=({gridViewMode:e,onModeChange:t,compactViewTitle:n,compactViewDescription:s,extendedViewTitle:o,extendedViewDescription:r})=>i.jsxs("div",{className:"mx-5 my-3 flex flex-col gap-2",children:[i.jsx(Fs,{title:n||"Compact view",description:s??i.jsxs(i.Fragment,{children:["Related dimensions ",i.jsx("strong",{children:"combined into a single column."})]}),visual:i.jsx(ru,{}),mode:Xe.Compact,activeMode:e,onClick:t}),i.jsx(Fs,{title:o||"Extended view",description:r??i.jsxs(i.Fragment,{children:["Each dimension displayed in ",i.jsx("strong",{children:"separate column."})]}),visual:i.jsx(lu,{}),mode:Xe.Extended,activeMode:e,onClick:t})]}),Ps="table-settings-side-panel",du=()=>{const{gridApi:e,initialColumnsState:t,structuresMap:n,locale:s,dataQueries:o,dimensionCustomization:r,setDimensionKeyOrder:l,setDimensionKeyHidden:d,resetDimensionCustomization:a,clearUserColumnState:u,clearInitialColumnState:m,gridViewMode:h,setGridViewMode:f,texts:p,resetIcon:g}=Yn(),S=un(),x=eu(),v=c.useCallback(b=>{u(),m(),a(),f(b)},[u,m,a,f]),C=c.useCallback(()=>{e&&(u(),t?xd(e,t):e.resetColumnState(),a())},[u,e,t,a]),w=c.useMemo(()=>{if(!(h!==Xe.Compact||!S||!n||!s||!o?.length))return Ld({dataQueries:o,structuresMap:n,getDimensionsScheme:S.getDimensionsScheme,getDimensionConfig:(b,N)=>S.map[b]?.[N],locale:s,dimensionCustomization:r})},[h,S,n,s,o,r]);return e?i.jsxs("div",{className:"flex h-full flex-col",children:[i.jsx(cu,{gridViewMode:h,onModeChange:v,compactViewTitle:p?.compactViewTitle,compactViewDescription:p?.compactViewDescription,extendedViewTitle:p?.extendedViewTitle,extendedViewDescription:p?.extendedViewDescription}),i.jsx("hr",{className:"border-neutrals-500"}),i.jsxs("div",{className:"mx-5 mb-4 mt-5 flex items-center justify-between",children:[i.jsx("h3",{className:"text-neutrals-1000",children:p?.columnsDisplayTitle||"Columns display"}),i.jsx("button",{type:"button",className:"text-neutrals-800",onClick:C,children:g??i.jsx(Be.IconRotate,{className:"size-4 rotate-180"})})]}),i.jsx(Qd,{api:e,enrichItem:w,renderLabel:x,onSubItemOrderChange:l,onSubItemVisibilityChange:d,searchPlaceholder:p?.columnsSearchPlaceholder})]}):null},uu=e=>{const{attachmentsStyles:t}=we(),{onGridApiReady:n}=Yn(),s=pt(),o=c.useCallback(()=>{s&&s.openPanel({id:Ps,scope:"advanced",title:t?.tableSettings||"Table settings",headerClassName:"border-b border-neutrals-500",content:i.jsx(du,{})})},[s,t?.tableSettings]);return i.jsx(Zn,{...e,isTableSettingsOpen:s?.isPanelOpen(Ps)??!1,onTableSettingsOpen:s?o:void 0,onTableSettingsClose:s?.closePanel,onGridApiReady:n})},mu=({actions:e,structureDataMaps:t,buttonProps:n,modalProps:s,dataQueries:o,onMultipleDataFiltersChange:r,locale:l,timeRangeOptions:d,datasetIcon:a,conversationKey:u,conversation:m,setConversation:h,updateConversation:f,updateDataQueries:p,limitMessages:g,filterIconClassName:S})=>{const{titles:x}=we(),v=un(),{modalState:C,setModalState:w,isModalClosed:b,setIsModalClosed:N}=Di(),[T,M]=c.useState([]),[y,A]=c.useState([]),[I,j]=c.useState(),[L,K]=c.useState([]),[k,H]=c.useState(void 0),z=c.useRef(t?.constraintsMap),[ee,P]=c.useState(),[Y,q]=c.useState(),[J,Q]=c.useState(),[pe,ve]=c.useState(!1),De=c.useRef(0),[O,_]=c.useState(new Set),[ie,de]=c.useState(new Set),ce=c.useRef(m);c.useEffect(()=>{ce.current=m},[m]);const je=c.useCallback(()=>{De.current+=1,De.current===1&&ve(!0)},[]),Te=c.useCallback(()=>{De.current=Math.max(De.current-1,0),De.current===0&&ve(!1)},[]),V=c.useMemo(()=>Za(o,t),[o,t]),B=c.useCallback(R=>vl(R,t?.dimensionsMap,t?.structuresMap),[t?.dimensionsMap,t?.structuresMap]),oe=c.useCallback(R=>B(R).codelistUrn,[B]),re=c.useCallback(R=>{const F=R.filterType==="dataset"?R.datasetUrn:R.sourceDatasetUrns?.[0];return F?z.current?.get(F):void 0},[]),me=c.useCallback(R=>B(R).sourceArtefactUrn,[B]),{hierarchyStateMap:ue,rebuildHierarchyTree:ae,loadAvailableHierarchies:Le,onSelectHierarchy:ye,onExpandHierarchyNode:ge}=Ni({getCodelistUrnForFilter:oe,getConstraintsForFilter:re,getSourceArtefactUrn:me,getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),Ie=R=>{const F=R?T.map($=>_e($,R)?R:$):T;Q(!0),M(Qt(F)),q?.(!0),Ce(R?.isTimeDimension?Jt(F,R):F,M,q,R)};c.useEffect(()=>{C===E.PopUpState.Closed&&P(z.current)},[C]);const Ce=c.useCallback((R,F,$,ne)=>{const Fe=Ct(R,z.current,!1,v.map),xe=fs(o,Fe,e,v.map,R);xe&&je();const be=ms(o,Fe,e,v.map,R);Promise.allSettled(be).then(tt=>{const Je=ps(z.current||t?.constraintsMap,hs(tt)),dt={...t,constraintsMap:Je};if(ne){const{filtersMap:Ht,changed:gt}=Ol(Fe,dt,ne,l,v.map);if(gt){z.current=Je,$?.(!0),Q(!0);const vr=Tt(Ht,dt,l,v.map);Ce(vr,F,$,ne);return}}const ut=Tt(Fe,dt,l,v.map);if(z.current=Je,$?.(!1),F(ut),ne){const Ht=ut.find(gt=>_e(gt,ne));j(gt=>gt&&Ht&&_e(gt,ne)?{...Ht,isSelectedFilter:!0}:gt),ae(ne,re(ne))}}).catch(()=>{const tt=z.current||t?.constraintsMap||new Map,Je=Tt(Fe,{...t,constraintsMap:tt},l,v.map);if(z.current=tt,$?.(!1),F(Je),ne){const dt=Je.find(ut=>_e(ut,ne));j(ut=>ut&&dt&&_e(ut,ne)?{...dt,isSelectedFilter:!0}:ut)}}).finally(()=>{Q(!1),xe&&Te()})},[e,o,v.map,Te,re,l,ae,je,t]);c.useEffect(()=>{if(!V){q(!0);return}const R=Zo(t,l),F=o?.map(ne=>{if(!ne.disabled)return ne;const Fe=(R.get(ne.urn)??[]).filter(xe=>xe.filterType==="dataset"&&xe.id&&!xe.isTimeDimension).map(xe=>({componentCode:xe.id,operator:X.QueryFilterType.IN,values:[]}));return{...ne,filters:Fe}}),$=Xo(R,F,t?.constraintsMap,v.map);q?.(!0),Ce($,A,q)},[o,v.map,Ce,V,l,t]),c.useEffect(()=>{y?.length&&K(on(y))},[y]),c.useEffect(()=>{M(R=>Jt(R,I))},[I]),c.useEffect(()=>{if(C===E.PopUpState.Opened){H(void 0);const R=y.find($=>!$.isTimeDimension);j(R?{...R,isSelectedFilter:!0}:void 0),M(y);const F=new Set(o?.filter($=>$.disabled).map($=>$.urn));_(F),de(F)}C===E.PopUpState.Closed&&j(void 0)},[y,o,C]),c.useEffect(()=>{if(!I||I.isTimeDimension)return;const R=Ke(I);if(!R)return;ue.get(R)||Le(I)},[I,ue,Le]),c.useEffect(()=>{C===E.PopUpState.Opened&&y.forEach(R=>{if(R.isTimeDimension)return;const F=Ke(R);F&&!ue.has(F)&&Le(R)})},[C,y,ue,Le]);const Pe=c.useCallback(async R=>{const F=ce.current,$=o?.map(be=>({...be,disabled:O.has(be.urn)})),ne=$?.filter(be=>!be.disabled),Fe=ii(ne,R),xe=F?{...F,messages:Mi(F.messages,$,Fe)}:null;h?.(xe),p?.($?.map(be=>({...be,filters:be.disabled?be.filters??[]:Fe.get(be.urn)??[]}))??[]),await f(decodeURI(u),{name:xe?.name,messages:xe?.messages||[]})},[u,o,O,h,f,p]),ke=c.useCallback((R,F)=>{M($=>Do($,R,F)),_e(I,R)&&j($=>$&&{...$,displayMode:F})},[I]),$e=c.useCallback(R=>oi(R,o,t?.dimensionsMap),[o,t?.dimensionsMap]),Re=c.useMemo(()=>{const R=Ct(y,z.current,!1,v.map),F=Ct(T,z.current,!1,v.map),$=wn($e(R),$e(F)),ne=wn([...ie].sort(),[...O].sort());return $&&ne},[y,T,ie,O,$e,v.map]),Ue=c.useCallback((R,F)=>{const $=Tt(R,F,l,v.map);z.current=F?.constraintsMap,j(ne=>$?.find(Fe=>_e(Fe,ne))||ne),M($),Q(!1)},[v.map,l]),He=c.useCallback((R,F)=>{Q(!0),M(Qt(R));const $=Ct(R,z.current,!1,v.map),ne=z.current||t?.constraintsMap||new Map,Fe=fs(F,$,e,v.map,R);Fe&&je();const xe=ms(F,$,e,v.map,R);Promise.allSettled(xe).then(be=>{const tt=ps(ne,hs(be));Ue($,{...t,constraintsMap:tt})}).catch(()=>{Ue($,{...t,constraintsMap:ne})}).finally(()=>{Fe&&Te()})},[e,v.map,Te,je,t,Ue]),st=c.useCallback(R=>{const F=o?.find(ne=>ne?.urn===R?.datasetUrn),$=To(T,R);He($,R?.datasetUrn?F?[F]:[]:o)},[He,T,o]),Z=c.useCallback(()=>{_(new Set)},[]),fe=c.useCallback((R,F)=>{_($=>{const ne=new Set($);return F?ne.delete(R):ne.add(R),ne})},[]),se=c.useCallback(()=>{z.current=ee,w(E.PopUpState.Closed),N(!0)},[ee,w,N]),le=c.useCallback(()=>{const R=Mo(T);He(R,o),_(new Set)},[He,T,o]),ze=c.useCallback(()=>{const R=o?.map(be=>({...be,disabled:O.has(be.urn)})),F=Ct(T,z.current,!1,v.map,O),$=Tt(F,{...t,constraintsMap:z.current},l,v.map),ne=$e(F),Fe=Jo($,o?.map(be=>be.urn)??[],o,v.map,F),xe=(o?.map(be=>be.urn)??[]).filter(be=>!Fe.has(be));for(const be of xe){const tt=F.get(be);tt&&F.set(be,tt.map(Je=>!Je.isTimeDimension&&Je.dimensionValues?.length&&!Je.dimensionValues.some(dt=>dt.isSelectedValue)?{...Je,isExcluded:!0}:Je))}r?.(ne,z.current,R?.filter(be=>Fe.has(be.urn)||be.disabled),F,$),A($),w(E.PopUpState.Closed),N(!0),c.startTransition(()=>{Pe(F)})},[$e,T,t,l,v.map,r,o,O,Pe,w,N]),U=R=>{H(R)},G=c.useMemo(()=>o?.map(R=>{const F=t?.structuresMap?.get(R.urn)?.dataflows?.[0],$=D.getLocalizedName(F,l??""),ne=$?D.generateShortUrn($,"",F?.agencyID):void 0;return ne?{...R,title:ne}:R}),[o,t?.structuresMap,l]),te=Y||J||Re;return i.jsxs("div",{className:"filters-container",children:[i.jsx(wi,{buttonProps:n,selectedFiltersCount:Pn(L),isLoading:Y,setModalState:w,isModalClosed:b,warningIcon:g?.warningIcon,filterIconClassName:S}),i.jsx(i.Fragment,{children:C===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:x?.settings||"Settings",portalId:"filters",size:E.PopUpSize.LG,containerClassName:"advanced-view-filters-modal h-[80%]",dividers:s?.isShowDividers,onClose:se,closeButtonTitle:x?.close||"Close",children:[i.jsx(pi,{locale:l,timeRangeOptions:d,filtersList:T,selectedFilter:I,isDisableValues:J,isValuesLoading:pe,modalProps:s,initialConstraintsMap:t?.constraintsMap,datasetIcon:a,structuresMap:t?.structuresMap,setSelectedFilter:j,onSelectDisplayMode:ke,onDeleteFilter:st,onClearAllFilters:le,updateSelectedFilterValues:Ie,onTimePeriodChange:U,selectedTimeOption:k,hierarchyStateMap:ue,onSelectHierarchy:ye,onExpandHierarchyNode:ge,dataQueries:G,disabledDatasetUrns:O,onToggleDataset:fe,onClearAllDatasets:Z}),i.jsx(Ci,{onApply:ze,onClose:se,onClearAllFilters:le,modalProps:s,applyDisabled:te,limitMessages:g})]})})]})},fu=({filtersProps:e,actions:t,attachments:n,attachmentsDataQuery:s,dataQueries:o,dimensions:r,locale:l,isDataLoading:d,setIsFiltering:a,filters:u,onFiltersChange:m})=>{const{titles:h,limitMessages:f}=we(),p={getConstraints:t.getConstraints,getAvailableHierarchies:e.actions?.getAvailableHierarchies,getHierarchy:e.actions?.getHierarchy},{isCrossDatasetModeOn:g}=Ge();return c.useEffect(()=>{d||a?.(!1)},[d,a]),i.jsx("div",{className:"h-full min-h-0 rounded bg-white",children:i.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-x-hidden",children:[i.jsxs("div",{className:"data-details-header flex items-center justify-between",children:[i.jsx("h2",{children:h?.content??"Content"}),g?i.jsx(mu,{attachmentsDataQuery:s,dataQueries:o,updateDataQueries:t?.updateDataQueries,locale:l,actions:p,dimensions:r,...e,onFiltersChange:m,limitMessages:f}):i.jsx(Ul,{attachmentsDataQuery:s,dataQueries:o,updateDataQueries:t?.updateDataQueries,locale:l,actions:p,dimensions:r,...e,onFiltersChange:m,limitMessages:f})]}),i.jsx("div",{className:"advanced-view-attachments-container min-h-0 flex-1",children:i.jsx(uu,{attachments:n,currentDataQuery:s,dataQueries:o,dimensions:r,actions:t,isShowAttachments:!0,isDataSetAttachments:!0,isDataLoading:d,locale:l,filters:u})})]})})},hu=({isShowAgency:e,isShowDatasetBadge:t,dataset:n,data:s,structures:o,metadataSettings:r,locale:l,getDatasetUpdatedTime:d,externalLink:a,datasetIcon:u,externalLinkIcon:m,metadataButtonClassName:h,metadataIconClassName:f,infoSegmentContainerClassName:p,infoSegmentHeaderClassName:g,nameAndMetadataContainerClassName:S})=>{const{titles:x}=we(),v="dataset-metadata-side-panel",[C,w]=c.useState(""),[b,N]=c.useState(!1),T=c.useRef(null),[M,y]=c.useState(""),[A,I]=c.useState(""),[j,L]=c.useState(!1),{onboardingFileSchema:K,isShowOnboarding:k}=Ye(),{isOpenedAdvancedView:H}=We(),z=pt(),{isMetadataInSidePanel:ee}=Ge(),{getDatasetLastUpdated:P}=ct(),[Y,q]=c.useState(!1),J=c.useMemo(()=>r?.isMetadataDescription?Oc(n,C,l,x):[],[n,C,l,r?.isMetadataDescription,x]),Q=c.useMemo(()=>[...r?.isMetadataDescription?[]:[Pt(n,l,x)],...Wi($i(s),D.getStructureComponentsMap(o),l)],[s,n,l,r?.isMetadataDescription,o,x]),pe=c.useMemo(()=>_t(n,C,l,x),[n,C,l,x]),ve=c.useCallback(()=>{if(ee&&z){z.openPanel({id:v,scope:H?"advanced":"conversation",title:"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:l,metadata:Q,metadataDescription:J,datasetInfo:pe,externalLink:a})}),q(!0);return}N(!0)},[J,Q,pe,a,ee,H,l,z]),De=c.useCallback(()=>{N(!1),q(!0)},[]);c.useEffect(()=>{const ie=d&&d(Q)||Vt(P(n),l);w(ie)},[n,l,Q,d,P]),c.useEffect(()=>{if(k){const{title:_,description:ie}=at(Oe.METADATA_PER_DATASET,x);y(_),I(ie)}},[x,k]),c.useEffect(()=>{k&&L(K?.lastDisplayedElement===Oe.METADATA_PER_DATASET)},[K?.lastDisplayedElement,k]);const O=(_,ie)=>i.jsxs("div",{className:Ze("flex gap-1 text-neutrals-1000",p),children:[i.jsxs("span",{className:Ze("text-neutral-800",g),children:[_,":"]}),i.jsx("span",{children:ie})]});return i.jsxs("div",{className:"dataset-info flex flex-col gap-3 bg-white",children:[t&&i.jsxs("div",{className:"bg-accent-500 body-2 flex w-fit items-center gap-1 rounded-[20px] px-2 py-1",children:[u,x?.dataset??"Dataset"]}),i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsxs("div",{role:"heading","aria-level":4,className:Ze("flex gap-1 items-center h4",S),children:[i.jsx("div",{ref:T,children:i.jsx(E.IconButton,{title:x?.metadata??"View details",buttonClassName:Ze("!text-neutrals-1000 !border-none !w-4 !h-4 !p-0 shrink-0",h),icon:i.jsx(Oi,{className:Ze("size-4",f)}),onClick:ve})}),i.jsx("span",{children:D.getLocalizedName(n,l)})]}),a&&i.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:m||i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})})]}),i.jsxs("div",{className:"body-3 flex items-center gap-2",children:[e&&i.jsxs(i.Fragment,{children:[O(x?.agency??"Agency",n?.agencyID??""),i.jsx("div",{"aria-hidden":"true",className:"h-[14px] border-l border-l-neutral-500"})]}),O(x?.lastUpdated??"Last updated",C)]})]}),j&&i.jsx(lt,{reference:T,title:M,description:A,onReferenceClick:ve,shouldCloseTooltip:Y}),b&&i.jsx($n,{locale:l,metadata:Q,metadataDescription:J,isOpenMetadata:b,onCloseMetadata:De})]})},pu=({locale:e,isShowShare:t,shareConversationProps:n,conversation:s})=>{const{titles:o}=we(),{setIsOpenedAdvancedView:r}=We(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye();return c.useEffect(()=>{if(g){const{title:S,description:x}=at(Oe.EXIT_ADVANCED_VIEW,o);a(S),m(x)}},[o,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Oe.EXIT_ADVANCED_VIEW)},[p?.lastDisplayedElement,g]),i.jsxs("header",{className:W("bg-white px-6 py-4 flex justify-between items-center sm:px-0","advanced-view-header"),children:[i.jsxs("div",{className:W("flex gap-3 items-center",!t&&"justify-between w-full","advanced-view-header-title"),children:[i.jsx("div",{ref:l,className:W(!t&&"order-2","flex"),children:i.jsx(E.CloseButton,{btnClassNames:"button-close",onClick:()=>r(!1),title:o?.close||"Close"})}),h&&i.jsx(lt,{reference:l,title:d,description:u,onReferenceClick:()=>r(!1),shouldMoveToNextStep:!0}),i.jsx("h2",{children:o?.advanceViewTitle??"Advanced view"})]}),t&&i.jsx(ho,{locale:e,conversation:s,...n})]})};function gu(e,t,n,s,o,r,l,d,a){const u=Cu(e,n),m=a?.startPeriod&&a.endPeriod?D.getAdditionalColumns(d,a):[],h=xu(e,t,n,s,o,r,m);return[bc(e,t?.data,n,o,r,l),...u,...h,Vi(e,t?.data,n,void 0,r,l)]}function Cu(e,t){const n=e.conceptSchemes||[],s=e.codelists||[],o=D.getDimensions(e)?.dimensions||[];return o.map(r=>{const{codeList:l,concept:d}=fn(r,n,s),a=u=>{const{data:m,colDef:h}=u,f=h.field;return qn(o,f,l,m,t)};return{headerName:D.getLocalizedName(d,t),field:r.id,colId:r.id,valueGetter:a,...St,tooltipValueGetter:u=>u.value}})}function xu(e,t,n,s,o,r,l){const d=wu(l,D.getTimePeriods(t));return vu(d,(u,m)=>Su(u,m||u,s,r),e,n,o,r)}const Su=(e,t,n=X.defaultFormatNumbers,s)=>({headerName:wo(t,s),colId:e,field:e,type:"numericColumn",suppressColumnsToolPanel:!0,sortable:!1,width:Dt,cellClass:["justify-end","cell-with-meta"],valueFormatter:o=>X.formatNumberBySign(o.value,n)}),vu=(e,t,n,s,o,r)=>{const l=[];return e.sort((a,u)=>D.sortPeriods(a,u)).forEach(a=>{l.push({headerName:a.toString(),field:a.toString(),...t(a.toString()),valueGetter:u=>u.data[u.column.getColId()]?.value?.[0]?.value||null,cellClass:ht,cellRenderer:ln,width:Dt,cellRendererParams:{dataSetData:n,locale:s,metadataSettings:o,titles:r}})}),l},wu=(e=[],t=[])=>{if(!e.length)return t;if(!t.length)return e;const n=t.some(u=>D.isYearly(u)),s=t.some(u=>D.isSemiAnnually(u)),o=t.some(u=>D.isQuarterly(u)),r=t.some(u=>D.isMonthly(u)),l=t.some(u=>D.isWeekly(u)),d=t.some(u=>D.isDaily(u)),a=e.filter(u=>D.isYearly(u)?n:D.isSemiAnnually(u)?s:D.isQuarterly(u)?o:D.isMonthly(u)?r:D.isWeekly(u)?l:D.isDaily(u)?d:!0);return Array.from(new Set([...a,...t]))};function bu(e,t,n){const s=t.map(r=>r.id).filter(r=>r!=null),o=n.map(r=>r.id).filter(r=>r!=null);return Du(e,s,o,s)}const Du=(e,t,n,s)=>{const o={};for(const r of e){const l=Tu(r,t),d=yu(l,s);let a=o[d];if(a==null){a={},o[d]=a;for(const m of s)a[m]=l[m]}const u=Os(r.attributes);if(ks(a,d,u,r),!r.values.length){_s(a,l,n);continue}for(const m of r.values){const h=Os(m.obsAttributes);ks(a,d,u,r),_s(a,l,n,m.dimensionAtObservation,Mu(r,m),h)}}return Object.values(o)},yu=(e,t)=>t.map(n=>e[n]).join("_"),Eu=(e,t,n)=>t.map(s=>s==="TIME_PERIOD"?n:e[s]).join("_"),_s=(e,t,n,s,o,r)=>{const l=Eu(t,n,s);e[l]={value:o,obsAttributes:r}},Tu=(e,t)=>{const n={},s=e.name.split(".");for(let o=0;o<t.length;o+=1)n[t[o]]=s[o];return n},Mu=(e,t)=>{const n=Vs(e.attributes);if(n)return[n];const s=Vs(t.obsAttributes);return s?[s]:t.values},Vs=(e=[])=>e.find(({name:t})=>t==="OBS_VALUE"),Os=(e=[])=>e.filter(({value:t})=>t),ks=(e,t,n,s)=>{e.attributes??=n,e.id=t,e.originalData=s},Nu="#EEEEEE",Iu="#777777";function Au(e,t,n){const s={animation:!1,tooltip:{trigger:"axis",appendToBody:!0,formatter:o=>{let r=o[0].axisValueLabel+"<br/>";return o.forEach(l=>{l.value!==null&&l.value!==void 0&&(r+=l.marker+" "+l.seriesName+": "+l.value+"<br/>")}),r}},legend:{bottom:0},grid:{left:"3%",right:"3%",bottom:"40px",containLabel:!0},xAxis:{...Us(n?.ticksColor,n?.labelsColor),type:"category",boundaryGap:!1,data:e},yAxis:{...Us(n?.ticksColor,n?.labelsColor),type:"value"},series:t};return n?.colors!=null&&(s.color=n.colors),s}function Us(e=Nu,t=Iu){return{splitLine:{show:!0,showMaxLine:!1,lineStyle:{color:[e]}},axisTick:{show:!1},axisLabel:{color:t},axisLine:{lineStyle:{color:e}}}}function rr(e,t,n,s){return t.map(r=>{const l=D.getDimensions(n)?.dimensions||[],d=l?.find(u=>u.id===r);if(d==null)return e[r]||"";const{codeList:a}=fn(d,n.conceptSchemes||[],n.codelists||[]);return qn(l,r,a,e,s)}).join(" - ")}function ju(e,t){const n=[...t?.metadata?.indicatorDimensions||[]].filter(r=>r!=null),o=D.getDimensions(e)?.dimensions?.filter(r=>r.id!=null&&!n.includes(r.id)&&t?.metadata?.countryDimension!==r.id).map(r=>r.id).filter(r=>r!=null)||[];return[...n,...o]}function Ru(e,t,n){const s={};return e.forEach(o=>{const r=Lu(o,t,n);s[r]||(s[r]={rows:[]}),s[r].rows.push(o)}),Object.keys(s).map(o=>s[o])}function Lu(e,t,n){const s=n.dataStructures?.[0]?.dataStructureComponents?.dimensionList?.dimensions||[];return t.map(r=>s?.find(d=>d.id===r)==null?e[r]||"":nr(s,r,e)).join(" - ")}function Fu(e,t){const n={};return e.forEach(s=>n[s]=Pu(s,t)),{nonUniqDimensions:e.filter(s=>!n[s])}}function Pu(e,t){const n=t.map(o=>_u(e,o));return new Set(n).size===1}function _u(e,t){return t[e]}const Vu="line",Bt=10,Ou=2;function ku(e){return typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim()!==""?Number.isFinite(Number(e)):!1}function ar(e){const t=(e.groups??[]).flatMap(n=>n.units);return[...e.units,...t].some(n=>n.isPlottable)}function lr(e,t,n,s,o){const r=Xn(t,e,n,s,o,{includeChartData:!1}),d=D.getTimePeriods(t).sort((h,f)=>D.sortPeriods(h,f)),a=ju(e,n),{nonUniqDimensions:u}=Fu(a,r);return{units:Ru(r,u,e).map(h=>cr(h,e,n,d,s,o))}}function Uu(e,t,n,s,o){let r;return()=>(r??=lr(e,t,n,s,o),r)}function Hu(e,t,n,s,o,r){return cr({rows:[e]},n,s,t,o,r)}function cr(e,t,n,s,o,r){const l=Wu(e.rows,t,n,o),d=l?.find(m=>D.FREQUENCY_DIMENSION_ID.includes(m?.id))?.id,a=Gu(s,e?.rows?.[0],d),u=zu(e.rows.length>Bt?e.rows.slice(0,Bt):e.rows,t,n,o,a);return{rows:e.rows,limitedByRowsAmountTo:e.rows.length>Bt?Bt:void 0,dimensions:l,config:Au(a,u,r),isPlottable:Bu(u)}}function Bu(e){return e.some(t=>t.data.filter(ku).length>=Ou)}function Gu(e,t,n){if(n){const s=t?.[n];if(s===D.Periods.MONTHLY)return e?.filter(o=>D.isMonthly(o));if(s===D.Periods.QUARTERLY)return e?.filter(o=>D.isQuarterly(o));if(s===D.Periods.ANNUAL)return e?.filter(o=>D.isYearly(o))}return e}function zu(e,t,n,s,o){return e.map(r=>({name:n?.metadata?.countryDimension==null?"":rr(r,[n?.metadata?.countryDimension],t,s),type:Vu,data:o.map(l=>$u(l,r))}))}function $u(e,t){return t[e]?.value?.[0]?.value||null}function Wu(e,t,n,s){const o=n?.metadata?.countryDimension;return(D.getDimensions(t)?.dimensions||[]).map(r=>{if(!(r.id==null||r.id===o))return{id:r.id,title:Ku(r,t,s),value:rr(e[0],[r.id],t,s)}}).filter(r=>r!=null)}function Ku(e,t,n){const s=t.conceptSchemes||[],o=t.codelists||[],{concept:r}=fn(e,s,o);return D.getLocalizedName(r,n)||e.id}function Xn(e,t,n,s,o,r={}){const l=e==null?[]:D.getParsedResponse(e),d=D.getDimensions(t)?.dimensions||[],a=D.getDimensions(t)?.timeDimensions||[],u=bu(l,d,a);return r.includeChartData===!1?u:Yu(u,e,t,n,s,o)}function Yu(e,t,n,s,o,r){const d=D.getTimePeriods(t).sort((a,u)=>D.sortPeriods(a,u));return e.map(a=>({...a,[At]:()=>Hu(a,d,n,s,o,r)}))}function qu(e,t,n,s,o,r,l,d,a,u,m){return{columns:gu(e,t,s,o,r,d,a,u,m),data:Xn(t,e,n,s,l)}}function Zu(e,t,n,s,o,r,l,d,a,u,m){const h=e.dataflows?.[0]?.names?.[s],f=qu(e,t,n,s,o,r,l,d,a,u,m);return{title:h||d?.dataGrid||"Data Grid",grid_data:f}}function Xu(e){const t=e.replace(/\r\n/g,`
8
8
  `);if(!t.startsWith("```"))return{code:e};const n=t.split(`
9
9
  `),o=n[0].slice(3).trim()||void 0;let r=-1;for(let l=n.length-1;l>0;l--)if(n[l].trim()==="```"){r=l;break}return r===-1?{code:n.slice(1).join(`
10
10
  `),language:o}:{code:n.slice(1,r).join(`
11
- `),language:o}}const Xu=["python"];function dr(e,t,n){return e.filter(s=>s.type===he.AttachmentType.MARKDOWN).filter(s=>!t||s.title?.includes(t)).map(s=>{const o=Zu(s.data??"");return{title:n??"Code samples",type:he.AttachmentType.CUSTOM_CODE_SAMPLE,language:o.language,data:o.code}}).filter(s=>Xu.includes(s.language??""))}function Ju(e,t){return e?.find(s=>s.type===he.AttachmentType.MARKDOWN&&s.data?.includes("```python")&&s.title?.includes(t.urn))?.title??t.urn}function ur(e){const{getPythonAttachment:t,dataQueries:n,requestIdRef:s,codeTitle:o,markdownTitle:r,datasetUrn:l,setCodeAttachments:d,onCodeAttachmentUpdated:a}=e,u=++s.current;t(n).then(m=>{u===s.current&&m?.python_code&&(d([{type:he.AttachmentType.CUSTOM_CODE_SAMPLE,data:m.python_code,language:"python",title:o}]),a?.({type:he.AttachmentType.MARKDOWN,title:r,data:`\`\`\`python
11
+ `),language:o}}const Ju=["python"];function dr(e,t,n){return e.filter(s=>s.type===he.AttachmentType.MARKDOWN).filter(s=>!t||s.title?.includes(t)).map(s=>{const o=Xu(s.data??"");return{title:n??"Code samples",type:he.AttachmentType.CUSTOM_CODE_SAMPLE,language:o.language,data:o.code}}).filter(s=>Ju.includes(s.language??""))}function Qu(e,t){return e?.find(s=>s.type===he.AttachmentType.MARKDOWN&&s.data?.includes("```python")&&s.title?.includes(t.urn))?.title??t.urn}function ur(e){const{getPythonAttachment:t,dataQueries:n,requestIdRef:s,codeTitle:o,markdownTitle:r,datasetUrn:l,setCodeAttachments:d,onCodeAttachmentUpdated:a}=e,u=++s.current;t(n).then(m=>{u===s.current&&m?.python_code&&(d([{type:he.AttachmentType.CUSTOM_CODE_SAMPLE,data:m.python_code,language:"python",title:o}]),a?.({type:he.AttachmentType.MARKDOWN,title:r,data:`\`\`\`python
12
12
  ${m.python_code}
13
- \`\`\``},l))}).catch(m=>console.error("Error refreshing python attachment:",m))}const Qu="Data Grid",em="Data",tm="Chart",nm=e=>({title:e||Qu,type:he.AttachmentType.CUSTOM_DATA_GRID}),mr=e=>({title:e||tm,type:he.AttachmentType.CUSTOM_CHART}),sm=e=>({title:e||em,type:he.AttachmentType.CROSS_DATASET_GRID});function fr(e,t,n,s,o,r,l,d,a,u=!1,m,h=!1){const[f,p]=c.useState(),[g,w]=c.useState(),[C,v]=c.useState(),[x,S]=c.useState(),[y,T]=c.useState(nm(l?.dataGrid)),[N,M]=c.useState(mr(l?.chart)),[D,A]=c.useState(!1),[I,j]=c.useState([]),[L,B]=c.useState([]),[G,z]=c.useState([]),[$,Q]=c.useState(!1),[_,Y]=c.useState(!1),q=c.useRef(0),[X,ne]=c.useState({startPeriod:null,endPeriod:null}),{getConstraints:pe,getDataSet:ve,getDataSetData:De,putOnboardingFile:V,getPythonAttachment:P}=e,ce=c.useCallback(O=>{if(!O)return;const U=b.getDimensions(O);w(O.dataflows?.[0]||void 0),S(O||void 0),B([...U?.dimensions||[],...U?.timeDimensions||[]])},[]),de=c.useCallback(async O=>{const U=Nt(b.getFiltersDtoFromDataQuery(O));try{const ie=(await nt(pe,et(O.urn,U),()=>pe(O.urn,U)))?.data?.dataConstraints||[];v(ie)}catch{v([])}},[pe]),le=c.useCallback(async O=>{const U=a?{data:a}:await nt(ve,et(O.urn),()=>ve(O.urn));if(U?.data){const oe=b.getDimensions(U.data);ce(U.data);const ie=oe?.dimensions==null?null:b.getTimeSeriesFilterKey(oe?.dimensions,O.filters??[]),me=Po(O,oe);nt(De,et(O.urn,{filterKey:ie,timeFilter:me}),()=>De(O.urn,{filterKey:ie,timeFilter:me})).then(ue=>{Y(!0),p(ue||void 0),z(b.getStructureDimensions(ue))}).finally(()=>Q(!1))}},[ce,ve,De,a]);c.useEffect(()=>{ce(a)},[ce,a]),c.useEffect(()=>{async function O(U){Q(!0);try{await Promise.all([...h?[]:[de(U)],le(U)])}catch(oe){console.error("Error loading dataset details",oe)}}n!=null&&!(u&&!a)?O(n):n!=null&&u&&Q(!0)},[n,a,u,de,le,h]);const je=c.useCallback((O,U,oe)=>{try{Q(!0),v(U);const ie=oe?.find(me=>me.id===b.TIME_PERIOD)?.timeRange;if(ie&&ne(ie),nt(De,et(n?.urn||"",O),()=>De(n?.urn||"",O)).then(me=>{Y(!0),p(me||void 0),z(b.getStructureDimensions(me))}).finally(()=>Q(!1)),P&&n&&oe){const me=Oo(n,oe,!1);ur({getPythonAttachment:P,dataQueries:[me],requestIdRef:q,codeTitle:l?.codeSamples||"Python Code",markdownTitle:Ju(d,n),setCodeAttachments:j,onCodeAttachmentUpdated:m,datasetUrn:n.urn})}}catch(ie){console.error("Error loading dataset data",ie)}},[n,De,P,l,d,m]);c.useEffect(()=>{if(x!=null&&f!=null&&C?.length){Y(!0);const O=jt(()=>{T(U=>({...U,...qu(x,f,n,t,s,r,o,l,V,C,X)})),Y(!1)});return()=>{O(),Y(!1)}}(f==null||C!==void 0)&&Y(!1)},[x,f,l,t,s,n,r,o,C,X,V]),c.useEffect(()=>{if(x==null||f==null)return;const O=ku(x,f,n,t,o);return M(U=>({...U,charting_data:void 0,getChartingData:O})),A(!1),jt(()=>{try{A(ar(O()))}catch(U){console.error("Error evaluating chart plottability",U),A(!1)}})},[x,f,n,t,o]),c.useEffect(()=>{if(d?.length){const O=dr(d,n?.urn,l?.codeSamples);O.length>0&&j(O)}},[d,l,n]);const Te=c.useMemo(()=>[y,...D?[N]:[],...I],[y,N,I,D]);return{dataMessage:f,structures:x,dataset:g,dimensions:L,structureDimensions:G,onFiltersChange:je,constraints:C,isLoadingGridData:$||_,dataSetAttachments:Te}}function hr(e,t,n,s){let o=-1;if(n)o=e.findIndex(a=>a.id===n);else for(let a=e.length-1;a>=0;a--)if(e[a].role===Ae.Role.System){o=a;break}if(o===-1||e[o].role!==Ae.Role.System)return null;const r=e[o].custom_content?.attachments??[],l=a=>a.type==="text/markdown"&&a.data?.includes("```python"),d=[...r.filter(a=>l(a)?s?!a.title?.includes(s):!1:!0),t];return e.map((a,u)=>u===o?{...a,custom_content:{...a.custom_content,attachments:d}}:a)}const Hs=async(e,t)=>{const n=new Map,s=b.getFiltersDtoMapFromDataQuery(e);return(await Promise.allSettled(e.map(async r=>{const l=Nt(s?.get(r.urn)||[]);return{urn:r.urn,response:await nt(t,et(r.urn,l),()=>t(r.urn,l))}}))).forEach(r=>{if(r.status==="fulfilled"){const l=r.value.response?.data?.dataConstraints;Array.isArray(l)&&n.set(r.value.urn,l)}}),n},om=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),im=async(e,t,n,s,o)=>{const r=om();await Promise.allSettled(e.map(async d=>{const a=await nt(t,et(d.urn),()=>t(d.urn));if(a?.data){const u=b.getDimensions(a.data);r.datasetsMap?.set(d?.urn,a?.data?.dataflows?.[0]),r.structuresMap?.set(d?.urn,a?.data),r.dimensionsMap?.set(d?.urn,[...u?.dimensions||[],...u?.timeDimensions||[]])}}));const l=await o?.(r);return await Promise.allSettled(e.map(async d=>{const a=r.structuresMap?.get(d.urn);if(!a||l&&!l.has(d.urn))return;const u=b.getDimensions(a),m=u?.dimensions==null?null:b.getTimeSeriesFilterKey(u?.dimensions,d.filters??[]),h=Po(d,u);await pr(d,l?.get(d.urn)??{filterKey:m,timeFilter:h},n).then(({dataMessage:f,structureDimensions:p})=>{r?.dataMessagesMap?.set(d.urn,f),r?.structureDimensionsMap?.set(d.urn,p||[])}).catch(()=>{r?.structureDimensionsMap?.set(d.urn,[])}).finally(()=>s(!1))})),r},pr=async(e,t,n)=>{const s=await nt(n,et(e.urn,t),()=>n(e.urn,t));return{dataMessage:s,structureDimensions:b.getStructureDimensions(s)}};function rm(e,t,n,s){return[lm(e,s),am(e,t,n,s)]}function am(e,t,n,s){const o=r=>{const l=r.data?.dataset?.urn;if(l==null)return"";const a=e.get(l)?.dataflows?.[0];return b.getLocalizedName(a,n)||""};return{headerName:s?.dataset||cd,field:Is,colId:Is,valueGetter:o,...xt,tooltipValueGetter:r=>r.value,cellClass:ft,cellRenderer:_i,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:s}}}function lm(e,t){const n=s=>{const o=s.data?.dataset?.urn;return o==null?"":e.get(o)?.dataflows?.[0]?.agencyID||""};return{headerName:t?.agency||dd,field:As,colId:As,valueGetter:n,...xt,tooltipValueGetter:s=>s.value}}function cm(e,t,n,s,o){return dm(e).sort((d,a)=>b.sortPeriods(d,a)).map(d=>({...um(d,s,o),valueGetter:u=>u.data[u.column.getColId()]?.value?.[0]?.value||null,cellClass:ft,cellRenderer:an,width:bt,cellRendererParams:{structuresMap:t,locale:n,titles:o}}))}function dm(e){const t=new Set;return e.forEach(n=>{if(n==null)return;b.getTimePeriods(n).forEach(o=>t.add(o))}),Array.from(t)}function um(e,t=J.defaultFormatNumbers,n){return{headerName:vo(e,n),colId:e,field:e,type:"numericColumn",suppressColumnsToolPanel:!0,sortable:!1,width:bt,cellClass:["justify-end","cell-with-meta"],valueFormatter:s=>J.formatNumberBySign(s.value,t)}}function mm(e,t,n,s,o,r,l=Xe.Compact){const d=new Map([...n.entries()].map(([h,f])=>[h,f?.data])),a=rm(e,d,s,o),u=xd(e,t,s,o,l),m=cm(n,e,s,r,o);return[Dc(e,d,s,o),...a,...u,...m,Vi(void 0,void 0,s,void 0,o)]}function fm(e,t,n,s,o){const r=[];return n.filter(l=>!l.disabled).forEach(l=>{const d=l.urn,a=t.get(d),u=e.get(d);if(a==null||u==null)return;const m=Xn(a,u,l,s,o),h=b.getLocalizedName(u.dataflows?.[0],s);r.push(...m.map(f=>({...f,dataset:{urn:d},datasetTitle:h})))}),r}function hm(e,t,n,s,o,r,l,d,a,u,m,h=Xe.Compact){const f=pm(e,t,n,s,o,r,l,d,a,u,m,h);return{title:a?.dataGrid||"Data",gridContent:f}}function pm(e,t,n,s,o,r,l,d,a,u,m,h=Xe.Compact){return{columns:mm(e,n,t,o,a,r,h),data:fm(e,t,s,o,d)}}function gm(e,t,n,s,o){let r;return()=>(r??=Cm(e,t,n,s,o),r)}function Cm(e,t,n,s,o){const r=n.filter(l=>!l.disabled).flatMap(l=>{const d=e.get(l.urn),a=t.get(l.urn);return!d||!a?[]:[{title:b.getLocalizedName(d.dataflows?.[0],s),units:lr(d,a,l,s,o).units}]});return{units:r.flatMap(l=>l.units),groups:r}}const xm=5e3;function gr(e,t,n,s,o,r,l,d,a,u=Xe.Compact,m){const h=Array.isArray(d)?d:void 0,[f,p]=c.useState(),[g,w]=c.useState(),[C,v]=c.useState(!1),[x,S]=c.useState(h?new Set(h):null),[y,T]=c.useState(!1),N=c.useRef(0),M=c.useRef(u),D=c.useRef(f),A=c.useRef(0),I=c.useRef(null),[j,L]=c.useState(sm(m?.dataGrid)),[B,G]=c.useState(mr(m?.chart)),[z,$]=c.useState(!1),[Q,_]=c.useState([]),{getConstraints:Y,getDataSet:q,getDataSetData:X,getPythonAttachment:ne}=e,pe=c.useRef(n);pe.current=n;const ve=c.useRef(h);ve.current=h;const De=c.useMemo(()=>n?.map(O=>O.urn).join(",")??"",[n]),V=fn(),{getDimensionsScheme:P}=V,ce=c.useCallback(async O=>{try{const U=await Hs(O.map(me=>({...me,filters:[]})),Y),oe=qa(O,U,V.map),ie=oe===O?U:await Hs(oe,Y);return p(me=>({...me,constraintsMap:ie})),ie}catch{const U=new Map;return p(oe=>({...oe,constraintsMap:U})),U}},[V.map,Y]),de=c.useCallback(async(O,U)=>{const oe=await im(O,q,X,v,async ie=>{const me=O.filter(re=>!re.disabled),ue=gs(me,ie,U,t,V.map);if(ue)return S(ue.compatibleUrns),ue.filterParamsMap});p(ie=>({...ie,...oe,constraintsMap:U??ie?.constraintsMap}))},[V.map,q,X,t]),le=c.useCallback(O=>{const U=new Map;for(const oe of O)U.set(oe.urn,P(oe.urn));w(U)},[P]);c.useEffect(()=>{async function O(oe){const ie=ve.current;S(ie?new Set(ie):null),v(!0);try{le(oe);const me=await ce(oe);await de(oe,me)}catch(me){console.error("Error loading dataset details",me)}finally{v(!1)}}const U=pe.current;U?.length&&O(U)},[De,ce,le,de]),c.useEffect(()=>{if(l?.length){const O=dr(l,void 0,m?.codeSamples);O.length>0&&_(O)}},[l,m]),c.useEffect(()=>()=>{I.current!==null&&clearTimeout(I.current)},[]),c.useEffect(()=>{const O=M.current!==u&&D.current===f;M.current=u,D.current=f;const{structuresMap:U,dataMessagesMap:oe,constraintsMap:ie}=f??{};if(U!=null&&U.size>0&&oe!=null&&ie!=null&&g!=null&&!C){O||T(!0);const me=jt(()=>{const ue=n?.filter(Ce=>!Ce.disabled),re=x??new Set((ue??[]).map(Ce=>Ce.urn)),Le=us(ue,re),ye=yt(U,re),ge=yt(oe,re),Ie=yt(g,re);L(Ce=>({...Ce,...hm(ye,ge,Ie,Le,t,o,r,s,m,ie,{},u)})),O||T(!1)});return()=>{me(),O||T(!1)}}O||T(!1)},[f,n,t,o,r,s,m,g,C,x,u]),c.useEffect(()=>{const{structuresMap:O,dataMessagesMap:U}=f??{};if(O!=null&&O.size>0&&U!=null&&!C){const oe=n?.filter(ye=>!ye.disabled),ie=x??new Set((oe??[]).map(ye=>ye.urn)),me=us(oe,ie),ue=yt(O,ie),re=yt(U,ie),Le=gm(ue,re,me,t,s);return G(ye=>({...ye,charting_data:void 0,getChartingData:Le})),$(!1),jt(()=>{try{$(ar(Le()))}catch(ye){console.error("Error evaluating cross-dataset chart plottability",ye),$(!1)}})}},[f,n,t,s,C,x]);const je=c.useMemo(()=>[j,...z?[B]:[],...Q],[j,B,Q,z]),Te=c.useCallback((O,U,oe,ie,me)=>{try{v(!0);const ue=++A.current;I.current!==null&&(clearTimeout(I.current),I.current=null);const re=oe?.filter(Re=>!Re.disabled)??[],Le=new Set(re.map(Re=>Re.urn));if(S(Le),p(Re=>({...Re,constraintsMap:U})),!re.length){v(!1);return}const ye=ie?ii(re,ie):void 0,ge=ye?re.map(Re=>({...Re,filters:ye.get(Re.urn)??[]})):re,Ce=(U&&f?gs(ge,f,U,t,V.map):void 0)?.filterParamsMap??O,Pe=new Map,ke=()=>{if(Pe.size===0)return;T(!0);const Re=[...Pe.values()];Pe.clear(),p(Ue=>{const He=new Map(Ue?.dataMessagesMap),st=new Map(Ue?.structureDimensionsMap);return Re.forEach(({urn:Z,dataMessage:fe,structureDimensions:se})=>{He.set(Z,fe),st.set(Z,se||[])}),{...Ue,dataMessagesMap:He,structureDimensionsMap:st}})};I.current=setTimeout(()=>{I.current=null,ue===A.current&&Pe.size>0&&(ke(),v(!1))},xm);const $e=re.map(Re=>pr(Re,Ce?.get(Re?.urn),X).then(({dataMessage:Ue,structureDimensions:He})=>{Pe.set(Re.urn,{urn:Re.urn,dataMessage:Ue,structureDimensions:He})}));if(Promise.allSettled($e).finally(()=>{ue===A.current&&(I.current!==null&&(clearTimeout(I.current),I.current=null),ke(),v(!1))}),ne&&re.length){const Re=re.map(Ue=>Oo(Ue,me??ie?.get(Ue.urn)??[]));ur({getPythonAttachment:ne,dataQueries:Re,requestIdRef:N,codeTitle:m?.codeSamples||"Python Code",markdownTitle:"Python Code",setCodeAttachments:_,onCodeAttachmentUpdated:a})}}catch(ue){console.error("Error loading dataset data",ue)}},[V.map,X,ne,t,a,f,m]);return{structureDataMaps:f,datasetDimensionsSchemesMap:g,isLoadingGridData:C||y,crossDatasetAttachments:je,activeDatasetUrns:x,onMultipleDataFiltersChange:Te}}const Cr=c.createContext(void 0),Sm={setCrossDatasetAttachmentsState:()=>{}},wm=e=>{if(!e)return"";try{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachments:e.attachments})}catch{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachmentsLength:e.attachments?.length??0})}},vm=({children:e})=>{const[t,n]=c.useState({}),s=c.useCallback(r=>{const l=wm(r);n(d=>d.signature===l?d:{...r,isLoading:!!r?.isLoading,signature:l})},[]),o=c.useMemo(()=>({...t,setCrossDatasetAttachmentsState:s}),[s,t]);return i.jsx(Cr.Provider,{value:o,children:e})},pn=()=>{const e=c.useContext(Cr);return e===void 0?Sm:e},bm=({attachmentsProps:e,actions:t,titles:n,shareConversationProps:s,metadataSettings:o,formattingSettings:r,locale:l,advanceViewStyles:d,getDatasetUpdatedTime:a,attachmentsConfig:u,datasetInfoOptions:m,limitMessages:h,...f})=>{const p=c.useMemo(()=>e.currentDataQuery?.urn??e.dataQueries?.[0]?.urn??"default",[e.currentDataQuery?.urn,e.dataQueries]),g=c.useMemo(()=>e?.dataQueries?.filter(ge=>!ge.disabled),[e?.dataQueries]),[w,C]=c.useState(Xe.Compact),{isOpenedAdvancedView:v}=We(),{activeDatasetUrns:x,dataQueriesKey:S,setCrossDatasetAttachmentsState:y}=pn(),{isCrossDatasetModeOn:T,isMetadataInSidePanel:N}=Ge(),M=fn(),D=!N,A=e.datasets??[],I=A.length>1&&!T,j=c.useMemo(()=>{const ge=f.filtersProps.conversation?.messages??[],Ie=Ti(ge);return Ie>=0?ge[Ie].custom_content?.attachments:void 0},[f.filtersProps.conversation?.messages]),L=c.useMemo(()=>ei(e.dataQueries),[e.dataQueries]),B=S===L?x:Qo(e.dataQueries,M.map),G=T&&!!e.dataQueries?.length,z=c.useRef(f.filtersProps.conversation);z.current=f.filtersProps.conversation;const $=c.useCallback((ge,Ie)=>{const Ce=z.current;if(!Ce)return;const Pe=hr(Ce.messages,ge,void 0,Ie);if(!Pe)return;const ke={...Ce,messages:Pe};f.filtersProps.setConversation?.(ke),f.filtersProps.updateConversation(decodeURI(f.filtersProps.conversationKey),{name:ke.name,messages:ke.messages})},[]),{dataMessage:Q,dataset:_,dimensions:Y,structureDimensions:q,structures:X,dataSetAttachments:ne,onFiltersChange:pe,isLoadingGridData:ve,constraints:De}=fr(t,l,e.currentDataQuery,r,e.styles?.chartingStyles,o,n,j,void 0,!1,$,G),V=D&&!!_,{structureDataMaps:P,crossDatasetAttachments:ce,activeDatasetUrns:de,isLoadingGridData:le,onMultipleDataFiltersChange:je}=gr(t,l,e.dataQueries,e.styles?.chartingStyles,r,o,j,B,$,w,n);c.useEffect(()=>{if(!T||!e.dataQueries?.length){y();return}P&&y({attachments:ce,dataQueriesKey:L,activeDatasetUrns:de?Array.from(de):void 0,isLoading:le})},[de,e.dataQueries?.length,ce,L,T,le,y,P]);const[Te,O]=c.useState({filterKey:null,timeFilter:null}),[U,oe]=c.useState(),ie=T?le:ve,me=T?ce:ne,ue=c.useCallback((ge,Ie,Ce)=>{O(ge),oe(!0),pe(ge,Ie,Ce)},[pe]),re=c.useCallback((ge,Ie,Ce,Pe,ke)=>{oe(!0),je(ge,Ie,Ce,Pe,ke)},[je]),Le=c.useCallback(ge=>{ge&&t?.updateCurrentDataQuery(e?.dataQueries?.find(Ie=>Ie?.urn===ge)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),ye=Nn(u?.isExternaLinkIncludeFilters,Te,e.currentDataQuery||e.dataQueries?.[0],Y);return i.jsx(nn,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:r,limitMessages:h,attachmentsConfig:u},children:i.jsx(gd,{currentUrn:p,structuresMap:P?.structuresMap,locale:l,dataQueries:g,gridViewMode:w,onGridViewModeChange:C,texts:{columnsDisplayTitle:e.styles?.columnsDisplayTitle,columnsSearchPlaceholder:e.styles?.columnsSearchPlaceholder,compactViewTitle:e.styles?.compactViewTitle,compactViewDescription:e.styles?.compactViewDescription,extendedViewTitle:e.styles?.extendedViewTitle,extendedViewDescription:e.styles?.extendedViewDescription},resetIcon:e.styles?.tableSettingsResetIcon,children:i.jsx(Ml,{children:i.jsxs("div",{className:"advanced-view flex h-full min-w-0 flex-1 flex-col",children:[i.jsx(hu,{locale:l,shareConversationProps:s,isShowShare:d?.isShowShare,conversation:f.filtersProps.conversation}),A.length?i.jsxs(i.Fragment,{children:[I&&i.jsx(Ai,{datasets:A,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:l,selectDataset:Le}),ie&&!U?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[V&&i.jsx(fu,{...m,locale:l,dataset:_,data:Q?.data,structures:X,metadataSettings:o,getDatasetUpdatedTime:a,externalLink:ye}),i.jsxs("div",{className:K("flex flex-1 min-h-0 overflow-auto",V&&"border-t border-neutrals-500"),children:[i.jsx("div",{className:K("flex-1 min-h-0 overflow-auto","advanced-view-filters"),children:i.jsx(mu,{...f,actions:t,attachments:me,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:Y,isDataLoading:ie,locale:l,filtersProps:{...f?.filtersProps,structureDimensions:q,structures:X,structureDataMaps:P,onFiltersChange:pe,onMultipleDataFiltersChange:re,initialConstraints:De},setIsFiltering:oe,filters:Te,onFiltersChange:ue})}),v&&i.jsx(Zi,{scope:"advanced"})]})]})]}):i.jsx(E.Loader,{})]})})})})};function Dm(e,t,n,s,o,r){const[l,d]=c.useState([]),[a,u]=c.useState(),[m,h]=c.useState(!1),f=c.useRef(void 0);return c.useEffect(()=>{f.current=r},[r]),c.useEffect(()=>{let p=!0;async function g(w){h(!0);try{const C=await Promise.all(w.map(x=>nt(e,et(x.urn),()=>e(x.urn))));if(!p)return;const v=C?.map(x=>x?.data?.dataflows?.[0])?.filter(x=>!!x)||[];d(v),t(v),n(w),s(w.find(x=>x.urn===f.current?.urn)??w[0]),u(new Map(C?.map(x=>[b.generateShortUrn(x?.data?.dataflows?.[0]?.id,x?.data?.dataflows?.[0]?.version,x?.data?.dataflows?.[0]?.agencyID),x?.data])))}catch(C){console.error("Error loading datasets",C)}finally{p&&h(!1)}}if(!o?.length){h(!1);return}return g(o),()=>{p=!1}},[o,e,s,n,t]),{datasets:l,datasetStructuresMap:a,isLoading:m}}function Bs(e){const t=e?.filter(n=>yi(n));if(t?.every(n=>!!n?.data))return t?.map(n=>({title:n?.title,...Em(ym(n?.data))}))}function ym(e){if(e)try{return JSON.parse(e)}catch(t){console.error("Invalid JSON:",t)}return null}function Em(e){return{...e,filters:e?.filters?.map(t=>({...t,componentCode:t?.component_code||t?.componentCode})),metadata:{datasetUrl:e?.metadata?.datasetUrl,countryDimension:e?.metadata?.country_dimension||e?.metadata?.countryDimension,indicatorDimensions:e?.metadata?.indicator_dimensions||e?.metadata?.indicatorDimensions,timePeriodDimension:e?.metadata?.timePeriodDimension,keyDimensionIdsInDsdOrder:e?.metadata?.keyDimensionIdsInDsdOrder}}}var xr=(e=>(e.COMPLETED="completed",e))(xr||{});const Tm=({stage:e,stageRef:t,isCurrentStage:n})=>i.jsxs("div",{ref:t,className:"message-stage relative flex pb-8 last:mb-8 last:pb-0",children:[i.jsx("span",{className:"message-stage-line absolute h-full border-l"}),i.jsx(Be.IconPointFilled,{className:"message-stage-indicator z-10 flex shrink-0"}),i.jsxs("div",{className:"ml-2 w-full",children:[i.jsxs("div",{className:K("flex gap-2 items-center",e?.content&&"mb-4"),children:[n&&i.jsx(E.Loader,{}),i.jsx("h3",{className:"message-stage-name",children:e?.name})]}),i.jsx("div",{className:"prose max-w-full break-words",children:i.jsx(zs,{remarkPlugins:[$s],components:{strong:s=>i.jsx("strong",{className:"text-neutrals-1000",...s}),a:({href:s,children:o,...r})=>i.jsx("a",{href:s,target:"_blank",rel:"noreferrer",...r,children:o}),h1:({children:s,...o})=>i.jsx("h1",{className:"h1 text-neutrals-1000",...o,children:s}),h2:({children:s,...o})=>i.jsx("h2",{className:"h2 text-neutrals-1000",...o,children:s}),h3:({children:s,...o})=>i.jsx("h3",{className:"h3 text-neutrals-1000",...o,children:s}),h4:({children:s,...o})=>i.jsx("h4",{className:"h4 text-neutrals-1000",...o,children:s}),h5:({children:s,...o})=>i.jsx("h5",{className:"h5 text-neutrals-1000",...o,children:s}),code:s=>i.jsx("code",{className:"text-neutrals-900",...s}),pre:s=>i.jsx("pre",{className:"border border-neutrals-600 bg-neutrals-100",...s})},children:e?.content})})]})]}),Mm=({stages:e,expandIcon:t,processingTitle:n})=>{const[s,o]=c.useState(),[r,l]=c.useState(),d=c.useRef(null),a=c.useRef(null);c.useEffect(()=>{l(e?.filter(m=>m?.status!==xr.COMPLETED)?.at(-1))},[e]),c.useEffect(()=>{s&&a?.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[s]),c.useEffect(()=>{const m=d.current;let h;if(!m)return;const f=new IntersectionObserver(([p])=>{const g=p?.boundingClientRect?.top;h&&!p?.isIntersecting&&g<h&&o(!1),h=g},{threshold:0});return f.observe(m),()=>f.disconnect()},[]);const u=()=>{o(m=>!m)};return i.jsxs("div",{className:"message-stages",ref:d,children:[i.jsxs("div",{className:K("message-stages-header inline-flex max-w-full items-center cursor-pointer",!r?.name&&"default-header"),onClick:u,children:[i.jsx("p",{className:"message-stages-title truncate",children:r?.name||n||"Processing..."}),i.jsx("i",{className:K("message-stages-expand-icon",s&&"rotated"),children:t})]}),s&&e&&i.jsx("div",{className:"flex flex-col",children:e?.map(m=>i.jsx(Tm,{stage:m,stageRef:r?a:null,isCurrentStage:m?.index===r?.index},m.index))})]})},Nm=2e3,Im=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:s,isStreaming:o=!1,isReadOnly:r=!1,isRegenerateAvailable:l=!1})=>{const{messageActionsTitles:d}=we(),a=n?.copy,u=n?.copied,m=n?.regenerate,h=n?.thumbUp,f=n?.thumbDown,p=n?.thumbPressed,[g,w]=c.useState(e.like??Ae.LikeState.NoState),[C,v]=c.useState(!1),x=c.useRef(null),{isAgentAvailable:S}=E.useAgentAvailability();c.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]);const y=N=>{e.responseId&&(w(N),s(e.responseId||"",N))},T=()=>{navigator.clipboard.writeText(e.content),v(!0),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{v(!1)},Nm)};return i.jsxs("div",{className:K("message-actions","flex gap-x-2 pt-2"),children:[a&&i.jsx("p",{onClick:T,title:d?.copy,children:C&&u?u:a}),l&&m&&!r&&!o&&i.jsx("p",{onClick:S?()=>t?.(e):void 0,"aria-disabled":!S,title:d?.regenerate,className:K(!S&&"opacity-50 !cursor-not-allowed pointer-events-none"),children:m}),h&&!r&&g!==Ae.LikeState.Disliked&&(g===Ae.LikeState.NoState?i.jsx("p",{onClick:()=>y(Ae.LikeState.Liked),title:d?.like,children:h}):i.jsx("p",{title:d?.like,children:p})),f&&!r&&g!==Ae.LikeState.Liked&&(g===Ae.LikeState.NoState?i.jsx("p",{onClick:()=>y(Ae.LikeState.Disliked),title:d?.dislike,children:f}):i.jsx("p",{className:"rotate-180",title:d?.dislike,children:p}))]})},Am=({message:e,onEditClick:t,messageActionsIcons:n,isStreaming:s=!1,isReadOnly:o=!1})=>{const r=n?.copy,l=n?.edit,{isAgentAvailable:d}=E.useAgentAvailability();return i.jsxs("div",{className:K("message-actions","flex gap-x-2 pt-2 ml-12"),children:[r&&i.jsx("p",{onClick:()=>navigator.clipboard.writeText(e.content),children:r}),l&&!s&&!o&&i.jsx("p",{onClick:d?t:void 0,className:K(!d&&"opacity-50 !cursor-not-allowed pointer-events-none"),"aria-disabled":!d,children:l})]})},jm=({content:e,textColorClass:t,onCancel:n,onEditApply:s,editMessageTitles:o})=>{const{isOpenedAdvancedView:r}=We(),l=c.useRef(null);c.useEffect(()=>{const a=l.current;d(),a&&(a.focus(),a.setSelectionRange(a.value.length,a.value.length))},[]);const d=()=>{const a=l.current;a&&(a.style.height="auto",a.style.height=a.scrollHeight+"px")};return i.jsxs("div",{className:K("max-w-none break-words",r?"body-2":"body-1",t),children:[i.jsx("textarea",{ref:l,className:"w-full resize-none overflow-hidden bg-neutrals-300 outline-none",defaultValue:e,onInput:d}),i.jsxs("div",{className:K("flex gap-x-2 items-center","edit-buttons-wrapper"),children:[i.jsx(E.Button,{buttonClassName:"text-button-secondary small-icon-button",title:o?.cancel,isSmallButton:!0,onClick:n}),i.jsx(E.Button,{buttonClassName:"text-button-primary small-icon-button",title:o?.send,isSmallButton:!0,onClick:()=>s(l.current?.value||"")})]})]})},Rm=({message:e,previousMessage:t,actions:n,dataQuery:s,isStreaming:o=!1,isCurrentMessageStreaming:r=!1,showAdvancedView:l,locale:d,metadataSettings:a,onAdvancedViewOpen:u,regenerateMessage:m,selectMessageToSend:h,rateResponse:f,editMessage:p,isReadOnlyConversation:g,isLastNotUserMessage:w,onCodeAttachmentUpdated:C})=>{const{messageStyles:v,attachmentsStyles:x,formattingSettings:S,messageActionsIcons:y,editMessageTitles:T,expandStagesIcon:N,titles:M}=we(),[D,A]=c.useState(),[I,j]=c.useState(),[L,B]=c.useState([]),[G,z]=c.useState([]),[$,Q]=c.useState(),[_,Y]=c.useState(!1),{isCrossDatasetModeOn:q}=Ge(),X=fn(),ne=e.role===Ae.Role.User,pe=e.role===Ae.Role.System,{datasets:ve,datasetStructuresMap:De,isLoading:V}=Dm(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,D,s),[P,ce]=c.useState(!1),[de,le]=c.useState([]);c.useEffect(()=>{j(D?.[0])},[D]);const je=q&&!!D?.length,Te=c.useCallback(se=>{e.id&&C?.(e.id,se)},[e.id,C]),{dataSetAttachments:O,dimensions:U,isLoadingGridData:oe}=fr(n,d,I,S,x?.chartingStyles,a,M,e.custom_content?.attachments,I?De?.get(I.urn):void 0,V,Te,je),ie=c.useMemo(()=>Qo(D,X.map),[D,X.map]),{crossDatasetAttachments:me,isLoadingGridData:ue}=gr(n,d,D,x?.chartingStyles,S,a,e.custom_content?.attachments,ie,Te,void 0,M),{isOpenedAdvancedView:re}=We(),{attachments:Le,dataQueriesKey:ye,isLoading:ge}=pn(),Ie=c.useMemo(()=>ei(D),[D]),Ce=q&&!!l&&Le!=null&&ye===Ie,Pe=Ce?Le:me,ke=c.useMemo(()=>q?Ce?ge:ue:oe,[q,ue,oe,ge,Ce]),$e=()=>{ne&&ce(!0)},Re=()=>{ce(!1)},Ue=se=>{Re(),p?.({...e,content:se})},He=c.useCallback(se=>{se&&(j(D?.find(ae=>ae?.urn===se)),Q(void 0))},[D]);c.useEffect(()=>{const se=e.custom_content?.form_schema?.properties,ae=w?se?.choice?.oneOf||se?.completion?.oneOf:[];le(ae||[])},[e,w]),c.useEffect(()=>{const se=bs(e),ae=Bs(se),ze=se.filter(k=>Hn(k));A(ae),z(ze)},[e]),c.useEffect(()=>{Y(D!=null&&D.length>0)},[D]),c.useEffect(()=>{s?.urn&&D?.some(se=>se?.urn===s.urn)&&Q(s.urn)},[s,D]),c.useEffect(()=>{if(e?.role===Ae.Role.System&&t){const se=bs(t),ae=Bs(se)||[];D&&ae&&De&&B(ec(ae,D,De,d,X.map))}},[D,I,De,X.map,U,d,e?.role,t]);const st=c.useCallback(()=>!ne&&v?.systemMessageIcon&&!(re&&!r)?i.jsx("div",{className:K("flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]",r?"text-white absolute":"text-neutrals-400"),children:v.systemMessageIcon}):null,[ne,v?.systemMessageIcon,re,r]),Z=c.useMemo(()=>i.jsx(qn,{actions:n,attachments:_?q?Pe:O:G,onAdvancedViewOpen:u,isDataSetAttachments:_,datasets:ve,initialSelectedDatasetUrn:$,showAdvancedView:l,isSystemAttachments:pe,isDataLoading:ke,currentDataQuery:I,dataQueries:D,attachmentInfoList:L,locale:d,dimensions:U,selectDataset:He}),[n,_,O,G,Pe,ve,$,l,pe,ke,I,D,L,d,U,He,u,q]);if(pe&&re)return null;const fe=r?null:ne?P?null:i.jsx(Am,{messageActionsIcons:y,message:e,isStreaming:o,onEditClick:$e,isReadOnly:g}):pe?null:i.jsx(Im,{messageActionsIcons:y,message:e,isStreaming:o,regenerateMessage:m,rateResponse:f,isReadOnly:g,isRegenerateAvailable:w});return i.jsx("div",{className:K("max-w-full flex",ne?"justify-end":"justify-start","message-wrapper"),children:i.jsxs("div",{className:K("flex items-start",ne&&!P?"max-w-full":"w-full"),children:[i.jsxs("div",{className:"relative mr-2",children:[st(),r&&i.jsx(E.Loader,{})]}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsxs("div",{className:K(ne?"bg-neutrals-300 px-6":"pt-0",ne?"user-message":"system-message",ne&&(P?"w-[100%] ml-0":"ml-12")),children:[!ne&&!re&&e?.custom_content?.stages?i.jsx(Mm,{stages:e?.custom_content?.stages,expandIcon:N,processingTitle:v?.processingTitle}):r&&i.jsx("p",{className:"body-1 loading-message text-neutrals-700",children:M?.loading}),P?i.jsx(jm,{content:e.content,onCancel:Re,onEditApply:Ue,editMessageTitles:T}):i.jsx(go,{content:e.content})]}),Z,fe,!re&&!ke&&i.jsx(Co,{choiceButtons:de,onClick:h})]})]})})},Lm=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:s,...o})=>{const{scrollBottomIcon:r}=we(),l=c.useRef(null),d=c.useRef(null),{isOpenedAdvancedView:a}=We(),u=ht(),[m,h]=c.useState(null),[f,p]=c.useState(!1),g=u?.isPanelOpen()??!1,w=()=>{const y=d.current?.parentElement,T=l.current;if(y&&T){const N=T.offsetTop-y.offsetTop;y.scrollTo({top:N,behavior:"smooth"})}};c.useEffect(()=>{w()},[e,t]),c.useEffect(()=>{!a&&m!==null&&setTimeout(()=>{d?.current?.parentElement?.scrollTo({top:m,behavior:"smooth"})})},[a,m]);const C=()=>{const y=d.current?.parentElement?.scrollTop||null;h(y)},v=()=>{const y=d.current?.parentElement;if(y){const{scrollTop:T,scrollHeight:N,clientHeight:M}=y;T+M>=N?p(!1):!f&&!a&&p(!0)}};c.useEffect(()=>{a&&p(!1)},[a]);const x=E.useDebounce(v,300);c.useEffect(()=>{const y=d.current?.parentElement;return y?.addEventListener("scroll",x),()=>y?.removeEventListener("scroll",x)},[x]);const S=c.useCallback(y=>{const T=J.linkifyText(y);return i.jsx("div",{className:"whitespace-pre-wrap break-words",children:T.map((N,M)=>N.type==="text"?i.jsx(c.Fragment,{children:N.value},M):i.jsx("a",{href:N.value,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center align-middle",children:i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})},M))})},[]);return i.jsxs("div",{ref:d,className:"flex size-full justify-center",children:[i.jsxs("div",{className:"chat-messages-wrapper flex w-full flex-col gap-y-6",children:[e.map((y,T)=>{const N=y.id??T;if(y.errorMessage){const I=s?.errorContext?.kind===he.ERROR_CONTEXT_KIND.RATE_LIMIT?E.InlineAlertType.Warning:E.InlineAlertType.Error;return i.jsx(E.InlineAlert,{type:I,children:i.jsx("div",{className:"flex flex-col",children:S(y.errorMessage)})},N)}if(a&&y.role===Ae.Role.System)return null;const M=T===e.length-1,D=jl(e,T),A=Ti(e);return i.jsx(Rm,{message:y,previousMessage:D,onAdvancedViewOpen:C,isStreaming:t,isCurrentMessageStreaming:t&&M&&y.role===Ae.Role.Assistant,showAdvancedView:T===A&&!n,isLastNotUserMessage:M&&y.role!==Ae.Role.User,...o},N)}),i.jsx("div",{ref:l,className:"h-4"})]}),i.jsx("div",{onClick:w,className:K("fixed sm:hidden bottom-[88px] rounded-[50%] border-[2px] w-[40px] h-[40px] border-primary cursor-pointer text-primary bg-white z-10",g?"right-[402px] lg:right-[386px]":"right-10 lg:right-6","scroll-button-wrapper",f?"block":"hidden"),children:i.jsx("div",{className:"flex size-full items-center justify-center",children:r})})]})},Fm=e=>{const t={};return e.choices?.[0]?.delta?.content&&(t.content=e.choices[0].delta.content),e.choices?.[0]?.delta?.custom_content&&(t.custom_content=e.choices[0].delta.custom_content),e.choices?.[0]?.delta?.role&&(t.role=e.choices[0].delta.role),e.id&&(t.responseId=e.id),t},Pm="local",_m=e=>!e.permissions?.includes(Ae.SharePermission.WRITE)&&!Om(e),Vm=(e,t)=>Sr(e)!==t,Om=e=>Sr(e)===Pm,Sr=e=>e.id.split("/")[0],km=(e,t)=>Jn([...t?.messages||[],e]),Jn=e=>[...e].map(t=>{const n={role:t.role,content:t.content};return(t.role===Ae.Role.Assistant||t.role===Ae.Role.System)&&t.custom_content!=null&&(t.custom_content.state!=null||t.custom_content.attachments!=null||t.custom_content.form_schema!=null)&&(n.custom_content={},t.custom_content.state!=null&&(n.custom_content.state=t.custom_content.state),t.custom_content.attachments!=null&&(n.custom_content.attachments=Bm(t.custom_content.attachments)),t.custom_content.form_schema!=null&&(n.custom_content.form_schema=t.custom_content.form_schema)),t.role===Ae.Role.User&&t.custom_content&&(n.custom_content=t.custom_content),n}),Um=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Jn(n?.slice(0,s)||[])},Hm=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Jn([...n?.slice(0,s)||[],e])};function Bm(e){return e.map(t=>({type:t.type,title:t.title,data:t.data,url:t.url,reference_type:t.reference_type,reference_url:t.reference_url}))}const Gm=(e,t,n,s)=>{if(!n||t)return null;const o={id:`msg-${Date.now()}`,role:Ae.Role.User,content:e,timestamp:Date.now()};if(s){const r=s===tn.COMPLETE?Kt.COMPLETION:Kt.CHOICE;o.custom_content={form_value:{[r]:s}}}return o},zm=(e,t,n)=>`/${t}${n}/${J.getConversationNavPath(e?.folderId,e?.id)}`,$m=(e,t,n)=>{const s=`${t}/${n}`,o=he.generateConversationId({folderId:s,name:e?.name});return{...e,folderId:s,id:o}},Wm=(e,t)=>{const n=e.lastIndexOf(".");return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},Km=(e,t,n)=>{const s=e.split("/");if(s[0]!=="files"||s.length<3)return e;const o=s.at(-1)??"file",r=Wm(o,n);return["files",t,...s.slice(2,-1),r].join("/")},Ym=async({conversation:e,bucket:t,getFileBlob:n,putFile:s})=>{const o=J.getConversationAttachmentUrls(e),r=Date.now();if(!o.length)return e;const l=await Promise.all(o.map(async d=>{const a=Km(d,t,`${r}`);if(a===d)return[d,a];const u=await n(d);return await s(a,u),[d,a]}));return J.replaceConversationAttachmentUrls(e,Object.fromEntries(l))},qm="AbortError",Zm=({error:e,statusMessages:t})=>{if(e){if(e.type===he.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){const n=e.exceeded_limit?.length?t.getExceededLimitsMessage(e.exceeded_limit):e.display_message??"";throw new J.HttpError({message:e.message,displayMessage:n,code:e.type,status:e.status??J.HTTP_ERROR_CODES.TOO_MANY_REQUESTS,details:{kind:he.ERROR_CONTEXT_KIND.RATE_LIMIT,occurredAt:new Date().toISOString(),retryAfterSeconds:Number(e.retry_after??"")}})}throw new J.HttpError({message:e.message,status:e.status??J.HTTP_ERROR_CODES.BAD_REQUEST,code:e.code})}},Xm=({error:e,statusMessages:t})=>{if(e.code===he.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){const n=e;return{errorMessage:n.displayMessage??n.message,errorContext:n.details}}return e.code===he.DIAL_ERROR_CODES.CONTENT_FILTER?{errorMessage:t.contentFilterError??e.message}:{errorMessage:e.status===J.HTTP_ERROR_CODES.SERVICE_UNAVAILABLE?t.serverOverloaded:t.serverError}},Gs=(e,t)=>{const n=e.customViewState??{},s=n[he.CUSTOM_VIEW_STATE_KEY]??{};return{...e,customViewState:{...n,[he.CUSTOM_VIEW_STATE_KEY]:{...s,errorContext:t}}}},Jm=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}},Qm=({conversationKey:e,conversation:t,actions:n,messageStyles:s,attachmentsStyles:o,inputMessageStyles:r,shareConversationProps:l,showConversationHeaderAdvancedView:d=!0,formattingSettings:a,metadataSettings:u,expandStagesIcon:m,locale:h,conversationsRoute:f,token:p,titles:g,dataQuery:w,handleInvalidStreaming:C,onConversationNotFound:v,setConversation:x,setConversations:S,openUrl:y,messageActionsIcons:T,messageActionsTitles:N,editMessageTitles:M,scrollBottomIcon:D,isFinalMessage:A,limitMessages:I,attachmentsConfig:j,headerRightSlot:L,children:B})=>{const[G,z]=c.useState(null),[$,Q]=c.useState(!1),[_,Y]=c.useState(!0),{isStreaming:q,setIsStreaming:X}=qs(),{isOpenedAdvancedView:ne}=We(),{setCrossDatasetAttachmentsState:pe}=pn(),{isCrossDatasetModeOn:ve}=Ge(),{isAgentAvailable:De}=E.useAgentAvailability(),{statusMessages:V}=Ln(),{onboardingFileSchema:P,onboardingFilePath:ce,onboardingFileName:de,isShowOnboarding:le,setOnboardingFileSchema:je}=Ye();c.useEffect(()=>{P&&n.putOnboardingFile?.(de,ce,P)},[n,P,de,ce]),c.useEffect(()=>{ne&&P?.lastDisplayedElement===Oe.OPEN_ADVANCED_VIEW&&je?.(wi(P))},[n,ne,je,P]);const Te=c.useCallback(()=>{y(`/${h}${f}`)},[h,f,y]),O=c.useCallback(async()=>{try{const{bucket:k}=await n.getBucket(),H=n.getFileBlob&&n.putFile?await Ym({conversation:t,bucket:k,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,ee=$m(H,k,h);await n.createConversation(ee,h);const R=await n.getConversations(h);S(J.cleanConversationNames(R)),y(zm(ee,h,f))}catch(k){console.error("Failed to save conversation:",k)}},[n,t,f,h,y,S]),U=c.useCallback(async k=>{try{await n.updateConversation(decodeURI(e),{name:k.name,messages:k.messages,customViewState:k.customViewState})}catch(H){console.error("Failed to save conversation:",H)}},[n,e]),oe=c.useCallback((k,H)=>{if(!t)return;const ee=hr(t.messages,H,k);if(!ee)return;const R={...t,messages:ee};x(R),U(R)},[t,x,U]),ie=c.useCallback(k=>{x(H=>H?{...H,messages:[...H?.messages||[],k]}:null)},[x]),me=c.useCallback(()=>{const k={id:`msg-${Date.now()+1}`,role:Ae.Role.Assistant,content:"",timestamp:Date.now()};return x(H=>H?{...H,messages:[...H.messages,k]}:null),k},[x]),ue=c.useCallback((k,H)=>{const ee=he.mergeMessages?.(k,[H]);if(ee)return x(R=>R?{...R,messages:R.messages.map(F=>F.id===k.id?{...ee}:F)}:null),ee},[x]),re=c.useCallback((k,H)=>{t?.model?.id&&(n.rateResponse(k,H===Ae.LikeState.Liked,t.model.id),t.messages=t.messages.map(ee=>ee.responseId===k?jn.merge(ee,{like:H}):ee),U(t))},[n,t,U]),Le=c.useCallback((k,H)=>{let ee=V.serverError,R,F;if(J.isHttpError(k)){F=k;const W=Xm({error:k,statusMessages:V});ee=W.errorMessage,R=W.errorContext}else F=new J.HttpError({status:J.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:ee});return H&&(H=ue(H,{errorMessage:ee})),C?.(F),{assistantMessage:H,errorContext:R}},[C,V,ue]),ye=c.useCallback(async(k,H,ee)=>{const R=new AbortController;z(R);let F=k,W;if(!ee)return{assistantMessage:F,errorContext:W};const te=ee.custom_fields??{},Fe={...te,configuration:{...te.configuration,timezone:Jm(),...ve&&{merge_python_code:!0}}};return await he.streamChatResponse?.(encodeURI(ee.id),H,{model:ee.model,signal:R?.signal,onMessage:xe=>{Zm({error:xe.error,statusMessages:V});const be=Fm(xe);(be.content||be.role||be.responseId)&&(F=ue(F,be))},onError:xe=>{if(!ke(xe))throw console.error("Streaming error:",xe),xe}},p,Fe).catch(xe=>{if(!ke(xe)){const{assistantMessage:be,errorContext:tt}=Le(xe,F);F=be,W=tt}}),{assistantMessage:F,errorContext:W}},[p,ue,Le,V,ve]),ge=c.useCallback(async(k,H,ee,R)=>{if(!H)return;let F=Gs(H,R);F={...F,messages:[...H.messages],updatedAt:Date.now()},ee&&F.messages.push(ee),F.messages.push(k),await U(F)},[U]),Ie=c.useCallback(k=>{x(H=>H&&Gs(H,k))},[x]),Ce=c.useCallback((k,H)=>{x(ee=>ee?{...ee,messages:ee.messages.filter(R=>R.id!==H.id)}:null)},[x]),Pe=c.useCallback(()=>{G&&!G.signal.aborted&&G.abort()},[G]),ke=k=>k?.name===qm,$e=c.useCallback(async(k,H,ee,R,F,W=!0)=>{ke(F)?await ge(R??ee,k,W?H:void 0):Ce(F,H)},[ge,Ce]),Re=c.useCallback(async(k,H,ee)=>{if(!H||!k)return;const R=Gm(k,q,H,ee);let F,W;if(R){ie(R);try{X(!0),F=me();const te=km(R,H),{assistantMessage:Fe,errorContext:xe}=await ye(F,te,H);Ie(xe),W=Fe,await ge(W,H,R,xe)}catch(te){$e(H,R,F,W,te)}finally{X(!1)}}},[q,X,ie,me,ye,ge,$e,Ie]),Ue=c.useCallback(async(k,H,ee)=>{let R,F;try{X(!0),R=me();const{assistantMessage:W,errorContext:te}=await ye(R,k,H);F=W,Ie(te),await ge(F,H,void 0,te)}catch(W){$e(H,ee,R,F,W,!1)}finally{X(!1)}},[X,ge,$e,ye,me,Ie]),He=c.useCallback(async(k,H)=>{if(!H||!k)return;const ee=Um(k,H),R={...H,messages:H.messages.slice(0,ee.length)};x(F=>F?{...F,...R}:null),Ue(ee,R,k)},[x,Ue]),{isLastMessageFailed:st,regenerateLastMessage:Z}=c.useMemo(()=>{const k=t?.messages?.at(-1);return{isLastMessageFailed:!!k?.errorMessage,regenerateLastMessage:k&&(()=>He(k,t))}},[t,He]),fe=c.useCallback(async(k,H)=>{if(!H||!k)return;const ee=Hm(k,H),R={...H,messages:[...H.messages.slice(0,ee.length-1),k]};x(F=>F?{...F,...R}:null),Ue(ee,R,k)},[x,Ue]);c.useEffect(()=>{ls(),pe();async function k(){try{Y(!0);const{bucket:H}=await n.getBucket(),ee=await n.getConversation(decodeURI(e));x(ee),Q(_m(ee)&&Vm(ee,H)),(ee.messages.length===0||ee?.messages?.[0]?.role===Ae.Role.Assistant&&ee?.messages?.length===1)&&Re(ee.prompt,ee)}catch{Q(!0),v?.()}finally{Y(!1)}}return e&&k(),()=>{ls()}},[e]);const se=c.useMemo(()=>({getFile:n.getFile,putOnboardingFile:n.putOnboardingFile,getDataSet:n.getDataSet,getDataSetData:n.getDataSetData,getConstraints:n.getConstraints,updateCurrentDataQuery:n.updateCurrentDataQuery,updateDataQueries:n.updateDataQueries,updateDatasets:n.updateDatasets,downloadDataSet:n.downloadDataSet}),[n]);if(_)return i.jsx(E.Loader,{});const ae=t?.customViewState?.[he.CUSTOM_VIEW_STATE_KEY],ze=()=>{if(ae?.errorContext?.kind===he.ERROR_CONTEXT_KIND.RATE_LIMIT&&he.isRateLimitStillActive(ae.errorContext)){const k=he.getRateLimitRestoreDate(ae.errorContext);if(k){const H=he.formatDateTime(k);return i.jsx(E.InlineAlert,{type:E.InlineAlertType.Info,children:V.getAssistantRestoreMessage(H.date,H.time)})}}return De?i.jsx(Qs,{onSendMessage:k=>Re(k,t),onStopStreaming:Pe,inProcess:q,sendMessageIcon:r.sendMessageIcon,retryIcon:r.retryIcon,placeholder:g?.askAnything??"Ask anything...",containerClasses:"mt-4",inputClasses:"border-neutrals-600 mr-2",isLastFailed:st,onRetryFailed:Z}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:V.assistantUnavailable})};return i.jsx(nn,{styles:{titles:g,messageStyles:s,attachmentsStyles:o,formattingSettings:a,messageActionsIcons:T,messageActionsTitles:N,editMessageTitles:M,expandStagesIcon:m,scrollBottomIcon:D,limitMessages:I,attachmentsConfig:j},children:i.jsxs("div",{className:K("h-full flex flex-col bg-white conversation-view-wrapper",ne&&!d&&"p-4"),children:[ne&&!d?null:i.jsx(po,{conversation:t,locale:h,isOpenedAdvancedView:ne,isShowShareButton:!$&&!le,shareConversationProps:l,rightSlot:L}),i.jsxs("div",{className:"flex min-h-0 min-w-0 w-full flex-1",children:[i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[i.jsx("div",{className:K("flex-1 min-h-0 flex flex-col items-end scroll-hidden-container",s?.messagesWrapperClass),children:i.jsx(Lm,{messages:t?.messages||[],actions:se,isStreaming:q,isReadOnly:$,metadataSettings:u,dataQuery:w,locale:h,regenerateMessage:k=>He(k,t),selectMessageToSend:(k,H)=>Re(k,t,H),rateResponse:re,editMessage:k=>fe(k,t),isReadOnlyConversation:$||le,conversationViewState:ae,onCodeAttachmentUpdated:oe})}),le?null:$?i.jsx("div",{className:"mt-4 flex items-center justify-center",children:i.jsx(E.Button,{iconBefore:i.jsx(Be.IconCopy,{width:20,height:20}),title:g?.duplicate??"Duplicate Chat",isSmallButton:!0,onClick:O,buttonClassName:K("text-button-secondary")})}):i.jsx("div",{className:K(r.inputContainerClass),children:ze()}),le&&A&&i.jsx(E.Button,{iconBefore:i.jsx(Be.IconPlus,{width:24,height:24}),title:g?.onboardingFooterLink,onClick:Te,isSmallButton:!0,buttonClassName:"text-button-secondary self-center mb-3"}),B]}),!ne&&i.jsx(Zi,{scope:"conversation"})]})]})})},ef=({conversationName:e,expandTitle:t,expandIcon:n,onExpand:s})=>i.jsxs("div",{className:"flex h-full w-[51px] shrink-0 flex-col items-center border border-neutrals-400 bg-white",children:[i.jsx("button",{type:"button",className:"mt-[84px] flex size-9 items-center justify-center text-primary","aria-label":t,title:t,onClick:s,children:n}),i.jsx("div",{className:"flex min-h-0 flex-1 flex-col items-center overflow-hidden pb-[88px] pt-[72px]",children:i.jsx("span",{className:"h3 min-h-0 flex-1 rotate-180 truncate text-center text-neutrals-1000 [writing-mode:vertical-rl]",title:e,children:e})})]});exports.AdvancedView=bm;exports.AdvancedViewProvider=Ar;exports.AttachmentRenderer=qn;exports.CUSTOM_CHOICE_ID=tn;exports.ChartingIcon=Yt;exports.ChatFooter=So;exports.ChatMessagesProvider=jr;exports.ChatOnboardingFooter=xo;exports.CollapsedChatPanel=ef;exports.ConversationView=Qm;exports.ConversationViewFeatureTogglesProvider=Ca;exports.ConversationViewMessagesProvider=Rr;exports.ConversationViewSidePanelProvider=Kc;exports.ConversationViewStylesProvider=nn;exports.ConversationWelcome=ea;exports.CrossDatasetAttachmentsProvider=vm;exports.CustomContentProperties=Kt;exports.DatasetDimensionsMetadataMapProvider=Jd;exports.OnboardingProvider=Lr;exports.STAGE_STATUS=Js;exports.useAdvancedView=We;exports.useChatMessages=qs;exports.useConversationViewFeatureToggles=Ge;exports.useConversationViewMessages=Ln;exports.useConversationViewSidePanelOptional=ht;exports.useConversationViewStyles=we;exports.useCrossDatasetAttachments=pn;exports.useDatasetDimensionsMetadataMap=fn;exports.useDatasetDimensionsMetadataMapOptional=hn;exports.useOnboarding=Ye;
13
+ \`\`\``},l))}).catch(m=>console.error("Error refreshing python attachment:",m))}const em="Data Grid",tm="Data",nm="Chart",sm=e=>({title:e||em,type:he.AttachmentType.CUSTOM_DATA_GRID}),mr=e=>({title:e||nm,type:he.AttachmentType.CUSTOM_CHART}),om=e=>({title:e||tm,type:he.AttachmentType.CROSS_DATASET_GRID});function fr(e,t,n,s,o,r,l,d,a,u=!1,m,h=!1){const[f,p]=c.useState(),[g,S]=c.useState(),[x,v]=c.useState(),[C,w]=c.useState(),[b,N]=c.useState(sm(l?.dataGrid)),[T,M]=c.useState(mr(l?.chart)),[y,A]=c.useState(!1),[I,j]=c.useState([]),[L,K]=c.useState([]),[k,H]=c.useState([]),[z,ee]=c.useState(!1),[P,Y]=c.useState(!1),q=c.useRef(0),[J,Q]=c.useState({startPeriod:null,endPeriod:null}),{getConstraints:pe,getDataSet:ve,getDataSetData:De,putOnboardingFile:O,getPythonAttachment:_}=e,ie=c.useCallback(V=>{if(!V)return;const B=D.getDimensions(V);S(V.dataflows?.[0]||void 0),w(V||void 0),K([...B?.dimensions||[],...B?.timeDimensions||[]])},[]),de=c.useCallback(async V=>{const B=It(D.getFiltersDtoFromDataQuery(V));try{const re=(await nt(pe,et(V.urn,B),()=>pe(V.urn,B)))?.data?.dataConstraints||[];v(re)}catch{v([])}},[pe]),ce=c.useCallback(async V=>{const B=a?{data:a}:await nt(ve,et(V.urn),()=>ve(V.urn));if(B?.data){const oe=D.getDimensions(B.data);ie(B.data);const re=oe?.dimensions==null?null:D.getTimeSeriesFilterKey(oe?.dimensions,V.filters??[]),me=Po(V,oe);nt(De,et(V.urn,{filterKey:re,timeFilter:me}),()=>De(V.urn,{filterKey:re,timeFilter:me})).then(ue=>{Y(!0),p(ue||void 0),H(D.getStructureDimensions(ue))}).finally(()=>ee(!1))}},[ie,ve,De,a]);c.useEffect(()=>{ie(a)},[ie,a]),c.useEffect(()=>{async function V(B){ee(!0);try{await Promise.all([...h?[]:[de(B)],ce(B)])}catch(oe){console.error("Error loading dataset details",oe)}}n!=null&&!(u&&!a)?V(n):n!=null&&u&&ee(!0)},[n,a,u,de,ce,h]);const je=c.useCallback((V,B,oe)=>{try{ee(!0),v(B);const re=oe?.find(me=>me.id===D.TIME_PERIOD)?.timeRange;if(re&&Q(re),nt(De,et(n?.urn||"",V),()=>De(n?.urn||"",V)).then(me=>{Y(!0),p(me||void 0),H(D.getStructureDimensions(me))}).finally(()=>ee(!1)),_&&n&&oe){const me=Oo(n,oe,!1);ur({getPythonAttachment:_,dataQueries:[me],requestIdRef:q,codeTitle:l?.codeSamples||"Python Code",markdownTitle:Qu(d,n),setCodeAttachments:j,onCodeAttachmentUpdated:m,datasetUrn:n.urn})}}catch(re){console.error("Error loading dataset data",re)}},[n,De,_,l,d,m]);c.useEffect(()=>{if(C!=null&&f!=null&&x?.length){Y(!0);const V=Rt(()=>{N(B=>({...B,...Zu(C,f,n,t,s,r,o,l,O,x,J)})),Y(!1)});return()=>{V(),Y(!1)}}(f==null||x!==void 0)&&Y(!1)},[C,f,l,t,s,n,r,o,x,J,O]),c.useEffect(()=>{if(C==null||f==null)return;const V=Uu(C,f,n,t,o);return M(B=>({...B,charting_data:void 0,getChartingData:V})),A(!1),Rt(()=>{try{A(ar(V()))}catch(B){console.error("Error evaluating chart plottability",B),A(!1)}})},[C,f,n,t,o]),c.useEffect(()=>{if(d?.length){const V=dr(d,n?.urn,l?.codeSamples);V.length>0&&j(V)}},[d,l,n]);const Te=c.useMemo(()=>[b,...y?[T]:[],...I],[b,T,I,y]);return{dataMessage:f,structures:C,dataset:g,dimensions:L,structureDimensions:k,onFiltersChange:je,constraints:x,isLoadingGridData:z||P,dataSetAttachments:Te}}function hr(e,t,n,s){let o=-1;if(n)o=e.findIndex(a=>a.id===n);else for(let a=e.length-1;a>=0;a--)if(e[a].role===Ae.Role.System){o=a;break}if(o===-1||e[o].role!==Ae.Role.System)return null;const r=e[o].custom_content?.attachments??[],l=a=>a.type==="text/markdown"&&a.data?.includes("```python"),d=[...r.filter(a=>l(a)?s?!a.title?.includes(s):!1:!0),t];return e.map((a,u)=>u===o?{...a,custom_content:{...a.custom_content,attachments:d}}:a)}const Hs=async(e,t)=>{const n=new Map,s=D.getFiltersDtoMapFromDataQuery(e);return(await Promise.allSettled(e.map(async r=>{const l=It(s?.get(r.urn)||[]);return{urn:r.urn,response:await nt(t,et(r.urn,l),()=>t(r.urn,l))}}))).forEach(r=>{if(r.status==="fulfilled"){const l=r.value.response?.data?.dataConstraints;Array.isArray(l)&&n.set(r.value.urn,l)}}),n},im=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),rm=async(e,t,n,s,o)=>{const r=im();await Promise.allSettled(e.map(async d=>{const a=await nt(t,et(d.urn),()=>t(d.urn));if(a?.data){const u=D.getDimensions(a.data);r.datasetsMap?.set(d?.urn,a?.data?.dataflows?.[0]),r.structuresMap?.set(d?.urn,a?.data),r.dimensionsMap?.set(d?.urn,[...u?.dimensions||[],...u?.timeDimensions||[]])}}));const l=await o?.(r);return await Promise.allSettled(e.map(async d=>{const a=r.structuresMap?.get(d.urn);if(!a||l&&!l.has(d.urn))return;const u=D.getDimensions(a),m=u?.dimensions==null?null:D.getTimeSeriesFilterKey(u?.dimensions,d.filters??[]),h=Po(d,u);await pr(d,l?.get(d.urn)??{filterKey:m,timeFilter:h},n).then(({dataMessage:f,structureDimensions:p})=>{r?.dataMessagesMap?.set(d.urn,f),r?.structureDimensionsMap?.set(d.urn,p||[])}).catch(()=>{r?.structureDimensionsMap?.set(d.urn,[])}).finally(()=>s(!1))})),r},pr=async(e,t,n)=>{const s=await nt(n,et(e.urn,t),()=>n(e.urn,t));return{dataMessage:s,structureDimensions:D.getStructureDimensions(s)}};function am(e,t,n,s){return[cm(e,s),lm(e,t,n,s)]}function lm(e,t,n,s){const o=r=>{const l=r.data?.dataset?.urn;if(l==null)return"";const a=e.get(l)?.dataflows?.[0];return D.getLocalizedName(a,n)||""};return{headerName:s?.dataset||fd,field:Is,colId:Is,valueGetter:o,...St,tooltipValueGetter:r=>r.value,cellClass:ht,cellRenderer:_i,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:s}}}function cm(e,t){const n=s=>{const o=s.data?.dataset?.urn;return o==null?"":e.get(o)?.dataflows?.[0]?.agencyID||""};return{headerName:t?.agency||hd,field:As,colId:As,valueGetter:n,...St,tooltipValueGetter:s=>s.value}}function dm(e,t,n,s,o){return um(e).sort((d,a)=>D.sortPeriods(d,a)).map(d=>({...mm(d,s,o),valueGetter:u=>u.data[u.column.getColId()]?.value?.[0]?.value||null,cellClass:ht,cellRenderer:ln,width:Dt,cellRendererParams:{structuresMap:t,locale:n,titles:o}}))}function um(e){const t=new Set;return e.forEach(n=>{if(n==null)return;D.getTimePeriods(n).forEach(o=>t.add(o))}),Array.from(t)}function mm(e,t=X.defaultFormatNumbers,n){return{headerName:wo(e,n),colId:e,field:e,type:"numericColumn",suppressColumnsToolPanel:!0,sortable:!1,width:Dt,cellClass:["justify-end","cell-with-meta"],valueFormatter:s=>X.formatNumberBySign(s.value,t)}}function fm(e,t,n,s,o,r,l=Xe.Compact){const d=new Map([...n.entries()].map(([h,f])=>[h,f?.data])),a=am(e,d,s,o),u=bd(e,t,s,o,l),m=dm(n,e,s,r,o);return[Dc(e,d,s,o),...a,...u,...m,Vi(void 0,void 0,s,void 0,o)]}function hm(e,t,n,s,o){const r=[];return n.filter(l=>!l.disabled).forEach(l=>{const d=l.urn,a=t.get(d),u=e.get(d);if(a==null||u==null)return;const m=Xn(a,u,l,s,o),h=D.getLocalizedName(u.dataflows?.[0],s);r.push(...m.map(f=>({...f,dataset:{urn:d},datasetTitle:h})))}),r}function pm(e,t,n,s,o,r,l,d,a,u,m,h=Xe.Compact){const f=gm(e,t,n,s,o,r,l,d,a,u,m,h);return{title:a?.dataGrid||"Data",gridContent:f}}function gm(e,t,n,s,o,r,l,d,a,u,m,h=Xe.Compact){return{columns:fm(e,n,t,o,a,r,h),data:hm(e,t,s,o,d)}}function Cm(e,t,n,s,o){let r;return()=>(r??=xm(e,t,n,s,o),r)}function xm(e,t,n,s,o){const r=n.filter(l=>!l.disabled).flatMap(l=>{const d=e.get(l.urn),a=t.get(l.urn);return!d||!a?[]:[{title:D.getLocalizedName(d.dataflows?.[0],s),units:lr(d,a,l,s,o).units}]});return{units:r.flatMap(l=>l.units),groups:r}}const Sm=5e3;function gr(e,t,n,s,o,r,l,d,a,u=Xe.Compact,m){const h=Array.isArray(d)?d:void 0,[f,p]=c.useState(),[g,S]=c.useState(),[x,v]=c.useState(!1),[C,w]=c.useState(h?new Set(h):null),[b,N]=c.useState(!1),T=c.useRef(0),M=c.useRef(u),y=c.useRef(f),A=c.useRef(0),I=c.useRef(null),[j,L]=c.useState(om(m?.dataGrid)),[K,k]=c.useState(mr(m?.chart)),[H,z]=c.useState(!1),[ee,P]=c.useState([]),{getConstraints:Y,getDataSet:q,getDataSetData:J,getPythonAttachment:Q}=e,pe=c.useRef(n);pe.current=n;const ve=c.useRef(h);ve.current=h;const De=c.useMemo(()=>n?.map(V=>V.urn).join(",")??"",[n]),O=ct(),{getDimensionsScheme:_}=O,ie=c.useCallback(async V=>{try{const B=await Hs(V.map(me=>({...me,filters:[]})),Y),oe=qa(V,B,O.map),re=oe===V?B:await Hs(oe,Y);return p(me=>({...me,constraintsMap:re})),re}catch{const B=new Map;return p(oe=>({...oe,constraintsMap:B})),B}},[O.map,Y]),de=c.useCallback(async(V,B)=>{const oe=await rm(V,q,J,v,async re=>{const me=V.filter(ae=>!ae.disabled),ue=gs(me,re,B,t,O.map);if(ue)return w(ue.compatibleUrns),ue.filterParamsMap});p(re=>({...re,...oe,constraintsMap:B??re?.constraintsMap}))},[O.map,q,J,t]),ce=c.useCallback(V=>{const B=new Map;for(const oe of V)B.set(oe.urn,_(oe.urn));S(B)},[_]);c.useEffect(()=>{async function V(oe){const re=ve.current;w(re?new Set(re):null),v(!0);try{ce(oe);const me=await ie(oe);await de(oe,me)}catch(me){console.error("Error loading dataset details",me)}finally{v(!1)}}const B=pe.current;B?.length&&V(B)},[De,ie,ce,de]),c.useEffect(()=>{if(l?.length){const V=dr(l,void 0,m?.codeSamples);V.length>0&&P(V)}},[l,m]),c.useEffect(()=>()=>{I.current!==null&&clearTimeout(I.current)},[]),c.useEffect(()=>{const V=M.current!==u&&y.current===f;M.current=u,y.current=f;const{structuresMap:B,dataMessagesMap:oe,constraintsMap:re}=f??{};if(B!=null&&B.size>0&&oe!=null&&re!=null&&g!=null&&!x){V||N(!0);const me=Rt(()=>{const ue=n?.filter(Ce=>!Ce.disabled),ae=C??new Set((ue??[]).map(Ce=>Ce.urn)),Le=us(ue,ae),ye=Et(B,ae),ge=Et(oe,ae),Ie=Et(g,ae);L(Ce=>({...Ce,...pm(ye,ge,Ie,Le,t,o,r,s,m,re,{},u)})),V||N(!1)});return()=>{me(),V||N(!1)}}V||N(!1)},[f,n,t,o,r,s,m,g,x,C,u]),c.useEffect(()=>{const{structuresMap:V,dataMessagesMap:B}=f??{};if(V!=null&&V.size>0&&B!=null&&!x){const oe=n?.filter(ye=>!ye.disabled),re=C??new Set((oe??[]).map(ye=>ye.urn)),me=us(oe,re),ue=Et(V,re),ae=Et(B,re),Le=Cm(ue,ae,me,t,s);return k(ye=>({...ye,charting_data:void 0,getChartingData:Le})),z(!1),Rt(()=>{try{z(ar(Le()))}catch(ye){console.error("Error evaluating cross-dataset chart plottability",ye),z(!1)}})}},[f,n,t,s,x,C]);const je=c.useMemo(()=>[j,...H?[K]:[],...ee],[j,K,ee,H]),Te=c.useCallback((V,B,oe,re,me)=>{try{v(!0);const ue=++A.current;I.current!==null&&(clearTimeout(I.current),I.current=null);const ae=oe?.filter(Re=>!Re.disabled)??[],Le=new Set(ae.map(Re=>Re.urn));if(w(Le),p(Re=>({...Re,constraintsMap:B})),!ae.length){v(!1);return}const ye=re?ii(ae,re):void 0,ge=ye?ae.map(Re=>({...Re,filters:ye.get(Re.urn)??[]})):ae,Ce=(B&&f?gs(ge,f,B,t,O.map):void 0)?.filterParamsMap??V,Pe=new Map,ke=()=>{if(Pe.size===0)return;N(!0);const Re=[...Pe.values()];Pe.clear(),p(Ue=>{const He=new Map(Ue?.dataMessagesMap),st=new Map(Ue?.structureDimensionsMap);return Re.forEach(({urn:Z,dataMessage:fe,structureDimensions:se})=>{He.set(Z,fe),st.set(Z,se||[])}),{...Ue,dataMessagesMap:He,structureDimensionsMap:st}})};I.current=setTimeout(()=>{I.current=null,ue===A.current&&Pe.size>0&&(ke(),v(!1))},Sm);const $e=ae.map(Re=>pr(Re,Ce?.get(Re?.urn),J).then(({dataMessage:Ue,structureDimensions:He})=>{Pe.set(Re.urn,{urn:Re.urn,dataMessage:Ue,structureDimensions:He})}));if(Promise.allSettled($e).finally(()=>{ue===A.current&&(I.current!==null&&(clearTimeout(I.current),I.current=null),ke(),v(!1))}),Q&&ae.length){const Re=ae.map(Ue=>Oo(Ue,me??re?.get(Ue.urn)??[]));ur({getPythonAttachment:Q,dataQueries:Re,requestIdRef:T,codeTitle:m?.codeSamples||"Python Code",markdownTitle:"Python Code",setCodeAttachments:P,onCodeAttachmentUpdated:a})}}catch(ue){console.error("Error loading dataset data",ue)}},[O.map,J,Q,t,a,f,m]);return{structureDataMaps:f,datasetDimensionsSchemesMap:g,isLoadingGridData:x||b,crossDatasetAttachments:je,activeDatasetUrns:C,onMultipleDataFiltersChange:Te}}const Cr=c.createContext(void 0),vm={setCrossDatasetAttachmentsState:()=>{}},wm=e=>{if(!e)return"";try{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachments:e.attachments})}catch{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachmentsLength:e.attachments?.length??0})}},bm=({children:e})=>{const[t,n]=c.useState({}),s=c.useCallback(r=>{const l=wm(r);n(d=>d.signature===l?d:{...r,isLoading:!!r?.isLoading,signature:l})},[]),o=c.useMemo(()=>({...t,setCrossDatasetAttachmentsState:s}),[s,t]);return i.jsx(Cr.Provider,{value:o,children:e})},pn=()=>{const e=c.useContext(Cr);return e===void 0?vm:e},Dm=({attachmentsProps:e,actions:t,titles:n,shareConversationProps:s,metadataSettings:o,formattingSettings:r,locale:l,advanceViewStyles:d,getDatasetUpdatedTime:a,attachmentsConfig:u,datasetInfoOptions:m,limitMessages:h,...f})=>{const p=c.useMemo(()=>e.currentDataQuery?.urn??e.dataQueries?.[0]?.urn??"default",[e.currentDataQuery?.urn,e.dataQueries]),g=c.useMemo(()=>e?.dataQueries?.filter(ge=>!ge.disabled),[e?.dataQueries]),[S,x]=c.useState(Xe.Compact),{isOpenedAdvancedView:v}=We(),{activeDatasetUrns:C,dataQueriesKey:w,setCrossDatasetAttachmentsState:b}=pn(),{isCrossDatasetModeOn:N,isMetadataInSidePanel:T}=Ge(),M=ct(),y=!T,A=e.datasets??[],I=A.length>1&&!N,j=c.useMemo(()=>{const ge=f.filtersProps.conversation?.messages??[],Ie=Ti(ge);return Ie>=0?ge[Ie].custom_content?.attachments:void 0},[f.filtersProps.conversation?.messages]),L=c.useMemo(()=>ei(e.dataQueries),[e.dataQueries]),K=w===L?C:Qo(e.dataQueries,M.map),k=N&&!!e.dataQueries?.length,H=c.useRef(f.filtersProps.conversation);H.current=f.filtersProps.conversation;const z=c.useCallback((ge,Ie)=>{const Ce=H.current;if(!Ce)return;const Pe=hr(Ce.messages,ge,void 0,Ie);if(!Pe)return;const ke={...Ce,messages:Pe};f.filtersProps.setConversation?.(ke),f.filtersProps.updateConversation(decodeURI(f.filtersProps.conversationKey),{name:ke.name,messages:ke.messages})},[]),{dataMessage:ee,dataset:P,dimensions:Y,structureDimensions:q,structures:J,dataSetAttachments:Q,onFiltersChange:pe,isLoadingGridData:ve,constraints:De}=fr(t,l,e.currentDataQuery,r,e.styles?.chartingStyles,o,n,j,void 0,!1,z,k),O=y&&!!P,{structureDataMaps:_,crossDatasetAttachments:ie,activeDatasetUrns:de,isLoadingGridData:ce,onMultipleDataFiltersChange:je}=gr(t,l,e.dataQueries,e.styles?.chartingStyles,r,o,j,K,z,S,n);c.useEffect(()=>{if(!N||!e.dataQueries?.length){b();return}_&&b({attachments:ie,dataQueriesKey:L,activeDatasetUrns:de?Array.from(de):void 0,isLoading:ce})},[de,e.dataQueries?.length,ie,L,N,ce,b,_]);const[Te,V]=c.useState({filterKey:null,timeFilter:null}),[B,oe]=c.useState(),re=N?ce:ve,me=N?ie:Q,ue=c.useCallback((ge,Ie,Ce)=>{V(ge),oe(!0),pe(ge,Ie,Ce)},[pe]),ae=c.useCallback((ge,Ie,Ce,Pe,ke)=>{oe(!0),je(ge,Ie,Ce,Pe,ke)},[je]),Le=c.useCallback(ge=>{ge&&t?.updateCurrentDataQuery(e?.dataQueries?.find(Ie=>Ie?.urn===ge)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),ye=Nn(u?.isExternaLinkIncludeFilters,Te,e.currentDataQuery||e.dataQueries?.[0],Y);return i.jsx(sn,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:r,limitMessages:h,attachmentsConfig:u},children:i.jsx(vd,{currentUrn:p,structuresMap:_?.structuresMap,locale:l,dataQueries:g,gridViewMode:S,onGridViewModeChange:x,texts:{columnsDisplayTitle:e.styles?.columnsDisplayTitle,columnsSearchPlaceholder:e.styles?.columnsSearchPlaceholder,compactViewTitle:e.styles?.compactViewTitle,compactViewDescription:e.styles?.compactViewDescription,extendedViewTitle:e.styles?.extendedViewTitle,extendedViewDescription:e.styles?.extendedViewDescription},resetIcon:e.styles?.tableSettingsResetIcon,children:i.jsx(Ml,{children:i.jsxs("div",{className:"advanced-view flex h-full min-w-0 flex-1 flex-col",children:[i.jsx(pu,{locale:l,shareConversationProps:s,isShowShare:d?.isShowShare,conversation:f.filtersProps.conversation}),A.length?i.jsxs(i.Fragment,{children:[I&&i.jsx(Ai,{datasets:A,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:l,selectDataset:Le}),re&&!B?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[O&&i.jsx(hu,{...m,locale:l,dataset:P,data:ee?.data,structures:J,metadataSettings:o,getDatasetUpdatedTime:a,externalLink:ye}),i.jsxs("div",{className:W("flex flex-1 min-h-0 overflow-auto",O&&"border-t border-neutrals-500"),children:[i.jsx("div",{className:W("flex-1 min-h-0 overflow-auto","advanced-view-filters"),children:i.jsx(fu,{...f,actions:t,attachments:me,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:Y,isDataLoading:re,locale:l,filtersProps:{...f?.filtersProps,structureDimensions:q,structures:J,structureDataMaps:_,onFiltersChange:pe,onMultipleDataFiltersChange:ae,initialConstraints:De},setIsFiltering:oe,filters:Te,onFiltersChange:ue})}),v&&i.jsx(Zi,{scope:"advanced"})]})]})]}):i.jsx(E.Loader,{})]})})})})};function ym(e,t,n,s,o,r){const[l,d]=c.useState([]),[a,u]=c.useState(),[m,h]=c.useState(!1),f=c.useRef(void 0);return c.useEffect(()=>{f.current=r},[r]),c.useEffect(()=>{let p=!0;async function g(S){h(!0);try{const x=await Promise.all(S.map(C=>nt(e,et(C.urn),()=>e(C.urn))));if(!p)return;const v=x?.map(C=>C?.data?.dataflows?.[0])?.filter(C=>!!C)||[];d(v),t(v),n(S),s(S.find(C=>C.urn===f.current?.urn)??S[0]),u(new Map(x?.map(C=>[D.generateShortUrn(C?.data?.dataflows?.[0]?.id,C?.data?.dataflows?.[0]?.version,C?.data?.dataflows?.[0]?.agencyID),C?.data])))}catch(x){console.error("Error loading datasets",x)}finally{p&&h(!1)}}if(!o?.length){h(!1);return}return g(o),()=>{p=!1}},[o,e,s,n,t]),{datasets:l,datasetStructuresMap:a,isLoading:m}}function Bs(e){const t=e?.filter(n=>yi(n));if(t?.every(n=>!!n?.data))return t?.map(n=>({title:n?.title,...Tm(Em(n?.data))}))}function Em(e){if(e)try{return JSON.parse(e)}catch(t){console.error("Invalid JSON:",t)}return null}function Tm(e){return{...e,filters:e?.filters?.map(t=>({...t,componentCode:t?.component_code||t?.componentCode})),metadata:{datasetUrl:e?.metadata?.datasetUrl,countryDimension:e?.metadata?.country_dimension||e?.metadata?.countryDimension,indicatorDimensions:e?.metadata?.indicator_dimensions||e?.metadata?.indicatorDimensions,timePeriodDimension:e?.metadata?.timePeriodDimension,keyDimensionIdsInDsdOrder:e?.metadata?.keyDimensionIdsInDsdOrder}}}var xr=(e=>(e.COMPLETED="completed",e))(xr||{});const Mm=({stage:e,stageRef:t,isCurrentStage:n})=>i.jsxs("div",{ref:t,className:"message-stage relative flex pb-8 last:mb-8 last:pb-0",children:[i.jsx("span",{className:"message-stage-line absolute h-full border-l"}),i.jsx(Be.IconPointFilled,{className:"message-stage-indicator z-10 flex shrink-0"}),i.jsxs("div",{className:"ml-2 w-full",children:[i.jsxs("div",{className:W("flex gap-2 items-center",e?.content&&"mb-4"),children:[n&&i.jsx(E.Loader,{}),i.jsx("h3",{className:"message-stage-name",children:e?.name})]}),i.jsx("div",{className:"prose max-w-full break-words",children:i.jsx(zs,{remarkPlugins:[$s],components:{strong:s=>i.jsx("strong",{className:"text-neutrals-1000",...s}),a:({href:s,children:o,...r})=>i.jsx("a",{href:s,target:"_blank",rel:"noreferrer",...r,children:o}),h1:({children:s,...o})=>i.jsx("h1",{className:"h1 text-neutrals-1000",...o,children:s}),h2:({children:s,...o})=>i.jsx("h2",{className:"h2 text-neutrals-1000",...o,children:s}),h3:({children:s,...o})=>i.jsx("h3",{className:"h3 text-neutrals-1000",...o,children:s}),h4:({children:s,...o})=>i.jsx("h4",{className:"h4 text-neutrals-1000",...o,children:s}),h5:({children:s,...o})=>i.jsx("h5",{className:"h5 text-neutrals-1000",...o,children:s}),code:s=>i.jsx("code",{className:"text-neutrals-900",...s}),pre:s=>i.jsx("pre",{className:"border border-neutrals-600 bg-neutrals-100",...s})},children:e?.content})})]})]}),Nm=({stages:e,expandIcon:t,processingTitle:n})=>{const[s,o]=c.useState(),[r,l]=c.useState(),d=c.useRef(null),a=c.useRef(null);c.useEffect(()=>{l(e?.filter(m=>m?.status!==xr.COMPLETED)?.at(-1))},[e]),c.useEffect(()=>{s&&a?.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[s]),c.useEffect(()=>{const m=d.current;let h;if(!m)return;const f=new IntersectionObserver(([p])=>{const g=p?.boundingClientRect?.top;h&&!p?.isIntersecting&&g<h&&o(!1),h=g},{threshold:0});return f.observe(m),()=>f.disconnect()},[]);const u=()=>{o(m=>!m)};return i.jsxs("div",{className:"message-stages",ref:d,children:[i.jsxs("div",{className:W("message-stages-header inline-flex max-w-full items-center cursor-pointer",!r?.name&&"default-header"),onClick:u,children:[i.jsx("p",{className:"message-stages-title truncate",children:r?.name||n||"Processing..."}),i.jsx("i",{className:W("message-stages-expand-icon",s&&"rotated"),children:t})]}),s&&e&&i.jsx("div",{className:"flex flex-col",children:e?.map(m=>i.jsx(Mm,{stage:m,stageRef:r?a:null,isCurrentStage:m?.index===r?.index},m.index))})]})},Im=2e3,Am=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:s,isStreaming:o=!1,isReadOnly:r=!1,isRegenerateAvailable:l=!1})=>{const{messageActionsTitles:d}=we(),a=n?.copy,u=n?.copied,m=n?.regenerate,h=n?.thumbUp,f=n?.thumbDown,p=n?.thumbPressed,[g,S]=c.useState(e.like??Ae.LikeState.NoState),[x,v]=c.useState(!1),C=c.useRef(null),{isAgentAvailable:w}=E.useAgentAvailability();c.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const b=T=>{e.responseId&&(S(T),s(e.responseId||"",T))},N=()=>{navigator.clipboard.writeText(e.content),v(!0),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{v(!1)},Im)};return i.jsxs("div",{className:W("message-actions","flex gap-x-2 pt-2"),children:[a&&i.jsx("p",{onClick:N,title:d?.copy,children:x&&u?u:a}),l&&m&&!r&&!o&&i.jsx("p",{onClick:w?()=>t?.(e):void 0,"aria-disabled":!w,title:d?.regenerate,className:W(!w&&"opacity-50 !cursor-not-allowed pointer-events-none"),children:m}),h&&!r&&g!==Ae.LikeState.Disliked&&(g===Ae.LikeState.NoState?i.jsx("p",{onClick:()=>b(Ae.LikeState.Liked),title:d?.like,children:h}):i.jsx("p",{title:d?.like,children:p})),f&&!r&&g!==Ae.LikeState.Liked&&(g===Ae.LikeState.NoState?i.jsx("p",{onClick:()=>b(Ae.LikeState.Disliked),title:d?.dislike,children:f}):i.jsx("p",{className:"rotate-180",title:d?.dislike,children:p}))]})},jm=({message:e,onEditClick:t,messageActionsIcons:n,isStreaming:s=!1,isReadOnly:o=!1})=>{const r=n?.copy,l=n?.edit,{isAgentAvailable:d}=E.useAgentAvailability();return i.jsxs("div",{className:W("message-actions","flex gap-x-2 pt-2 ml-12"),children:[r&&i.jsx("p",{onClick:()=>navigator.clipboard.writeText(e.content),children:r}),l&&!s&&!o&&i.jsx("p",{onClick:d?t:void 0,className:W(!d&&"opacity-50 !cursor-not-allowed pointer-events-none"),"aria-disabled":!d,children:l})]})},Rm=({content:e,textColorClass:t,onCancel:n,onEditApply:s,editMessageTitles:o})=>{const{isOpenedAdvancedView:r}=We(),l=c.useRef(null);c.useEffect(()=>{const a=l.current;d(),a&&(a.focus(),a.setSelectionRange(a.value.length,a.value.length))},[]);const d=()=>{const a=l.current;a&&(a.style.height="auto",a.style.height=a.scrollHeight+"px")};return i.jsxs("div",{className:W("max-w-none break-words",r?"body-2":"body-1",t),children:[i.jsx("textarea",{ref:l,className:"w-full resize-none overflow-hidden bg-neutrals-300 outline-none",defaultValue:e,onInput:d}),i.jsxs("div",{className:W("flex gap-x-2 items-center","edit-buttons-wrapper"),children:[i.jsx(E.Button,{buttonClassName:"text-button-secondary small-icon-button",title:o?.cancel,isSmallButton:!0,onClick:n}),i.jsx(E.Button,{buttonClassName:"text-button-primary small-icon-button",title:o?.send,isSmallButton:!0,onClick:()=>s(l.current?.value||"")})]})]})},Lm=({message:e,previousMessage:t,actions:n,dataQuery:s,isStreaming:o=!1,isCurrentMessageStreaming:r=!1,showAdvancedView:l,locale:d,metadataSettings:a,onAdvancedViewOpen:u,regenerateMessage:m,selectMessageToSend:h,rateResponse:f,editMessage:p,isReadOnlyConversation:g,isLastNotUserMessage:S,onCodeAttachmentUpdated:x})=>{const{messageStyles:v,attachmentsStyles:C,formattingSettings:w,messageActionsIcons:b,editMessageTitles:N,expandStagesIcon:T,titles:M}=we(),[y,A]=c.useState(),[I,j]=c.useState(),[L,K]=c.useState([]),[k,H]=c.useState([]),[z,ee]=c.useState(),[P,Y]=c.useState(!1),{isCrossDatasetModeOn:q}=Ge(),J=ct(),Q=e.role===Ae.Role.User,pe=e.role===Ae.Role.System,{datasets:ve,datasetStructuresMap:De,isLoading:O}=ym(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,y,s),[_,ie]=c.useState(!1),[de,ce]=c.useState([]);c.useEffect(()=>{j(y?.[0])},[y]);const je=q&&!!y?.length,Te=c.useCallback(se=>{e.id&&x?.(e.id,se)},[e.id,x]),{dataSetAttachments:V,dimensions:B,isLoadingGridData:oe}=fr(n,d,I,w,C?.chartingStyles,a,M,e.custom_content?.attachments,I?De?.get(I.urn):void 0,O,Te,je),re=c.useMemo(()=>Qo(y,J.map),[y,J.map]),{crossDatasetAttachments:me,isLoadingGridData:ue}=gr(n,d,y,C?.chartingStyles,w,a,e.custom_content?.attachments,re,Te,void 0,M),{isOpenedAdvancedView:ae}=We(),{attachments:Le,dataQueriesKey:ye,isLoading:ge}=pn(),Ie=c.useMemo(()=>ei(y),[y]),Ce=q&&!!l&&Le!=null&&ye===Ie,Pe=Ce?Le:me,ke=c.useMemo(()=>q?Ce?ge:ue:oe,[q,ue,oe,ge,Ce]),$e=()=>{Q&&ie(!0)},Re=()=>{ie(!1)},Ue=se=>{Re(),p?.({...e,content:se})},He=c.useCallback(se=>{se&&(j(y?.find(le=>le?.urn===se)),ee(void 0))},[y]);c.useEffect(()=>{const se=e.custom_content?.form_schema?.properties,le=S?se?.choice?.oneOf||se?.completion?.oneOf:[];ce(le||[])},[e,S]),c.useEffect(()=>{const se=bs(e),le=Bs(se),ze=se.filter(U=>Hn(U));A(le),H(ze)},[e]),c.useEffect(()=>{Y(y!=null&&y.length>0)},[y]),c.useEffect(()=>{s?.urn&&y?.some(se=>se?.urn===s.urn)&&ee(s.urn)},[s,y]),c.useEffect(()=>{if(e?.role===Ae.Role.System&&t){const se=bs(t),le=Bs(se)||[];y&&le&&De&&K(ec(le,y,De,d,J.map))}},[y,I,De,J.map,B,d,e?.role,t]);const st=c.useCallback(()=>!Q&&v?.systemMessageIcon&&!(ae&&!r)?i.jsx("div",{className:W("flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]",r?"text-white absolute":"text-neutrals-400"),children:v.systemMessageIcon}):null,[Q,v?.systemMessageIcon,ae,r]),Z=c.useMemo(()=>i.jsx(Zn,{actions:n,attachments:P?q?Pe:V:k,onAdvancedViewOpen:u,isDataSetAttachments:P,datasets:ve,initialSelectedDatasetUrn:z,showAdvancedView:l,isSystemAttachments:pe,isDataLoading:ke,currentDataQuery:I,dataQueries:y,attachmentInfoList:L,locale:d,dimensions:B,selectDataset:He}),[n,P,V,k,Pe,ve,z,l,pe,ke,I,y,L,d,B,He,u,q]);if(pe&&ae)return null;const fe=r?null:Q?_?null:i.jsx(jm,{messageActionsIcons:b,message:e,isStreaming:o,onEditClick:$e,isReadOnly:g}):pe?null:i.jsx(Am,{messageActionsIcons:b,message:e,isStreaming:o,regenerateMessage:m,rateResponse:f,isReadOnly:g,isRegenerateAvailable:S});return i.jsx("div",{className:W("max-w-full flex",Q?"justify-end":"justify-start","message-wrapper"),children:i.jsxs("div",{className:W("flex items-start",Q&&!_?"max-w-full":"w-full"),children:[i.jsxs("div",{className:"relative mr-2",children:[st(),r&&i.jsx(E.Loader,{})]}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsxs("div",{className:W(Q?"bg-neutrals-300 px-6":"pt-0",Q?"user-message":"system-message",Q&&(_?"w-[100%] ml-0":"ml-12")),children:[!Q&&!ae&&e?.custom_content?.stages?i.jsx(Nm,{stages:e?.custom_content?.stages,expandIcon:T,processingTitle:v?.processingTitle}):r&&i.jsx("p",{className:"body-1 loading-message text-neutrals-700",children:M?.loading}),_?i.jsx(Rm,{content:e.content,onCancel:Re,onEditApply:Ue,editMessageTitles:N}):i.jsx(go,{content:e.content})]}),Z,fe,!ae&&!ke&&i.jsx(Co,{choiceButtons:de,onClick:h})]})]})})},Fm=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:s,...o})=>{const{scrollBottomIcon:r}=we(),l=c.useRef(null),d=c.useRef(null),{isOpenedAdvancedView:a}=We(),u=pt(),[m,h]=c.useState(null),[f,p]=c.useState(!1),g=u?.isPanelOpen()??!1,S=()=>{const b=d.current?.parentElement,N=l.current;if(b&&N){const T=N.offsetTop-b.offsetTop;b.scrollTo({top:T,behavior:"smooth"})}};c.useEffect(()=>{S()},[e,t]),c.useEffect(()=>{!a&&m!==null&&setTimeout(()=>{d?.current?.parentElement?.scrollTo({top:m,behavior:"smooth"})})},[a,m]);const x=()=>{const b=d.current?.parentElement?.scrollTop||null;h(b)},v=()=>{const b=d.current?.parentElement;if(b){const{scrollTop:N,scrollHeight:T,clientHeight:M}=b;N+M>=T?p(!1):!f&&!a&&p(!0)}};c.useEffect(()=>{a&&p(!1)},[a]);const C=E.useDebounce(v,300);c.useEffect(()=>{const b=d.current?.parentElement;return b?.addEventListener("scroll",C),()=>b?.removeEventListener("scroll",C)},[C]);const w=c.useCallback(b=>{const N=X.linkifyText(b);return i.jsx("div",{className:"whitespace-pre-wrap break-words",children:N.map((T,M)=>T.type==="text"?i.jsx(c.Fragment,{children:T.value},M):i.jsx("a",{href:T.value,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center align-middle",children:i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})},M))})},[]);return i.jsxs("div",{ref:d,className:"flex size-full justify-center",children:[i.jsxs("div",{className:"chat-messages-wrapper flex w-full flex-col gap-y-6",children:[e.map((b,N)=>{const T=b.id??N;if(b.errorMessage){const I=s?.errorContext?.kind===he.ERROR_CONTEXT_KIND.RATE_LIMIT?E.InlineAlertType.Warning:E.InlineAlertType.Error;return i.jsx(E.InlineAlert,{type:I,children:i.jsx("div",{className:"flex flex-col",children:w(b.errorMessage)})},T)}if(a&&b.role===Ae.Role.System)return null;const M=N===e.length-1,y=jl(e,N),A=Ti(e);return i.jsx(Lm,{message:b,previousMessage:y,onAdvancedViewOpen:x,isStreaming:t,isCurrentMessageStreaming:t&&M&&b.role===Ae.Role.Assistant,showAdvancedView:N===A&&!n,isLastNotUserMessage:M&&b.role!==Ae.Role.User,...o},T)}),i.jsx("div",{ref:l,className:"h-4"})]}),i.jsx("div",{onClick:S,className:W("fixed sm:hidden bottom-[88px] rounded-[50%] border-[2px] w-[40px] h-[40px] border-primary cursor-pointer text-primary bg-white z-10",g?"right-[402px] lg:right-[386px]":"right-10 lg:right-6","scroll-button-wrapper",f?"block":"hidden"),children:i.jsx("div",{className:"flex size-full items-center justify-center",children:r})})]})},Pm=e=>{const t={};return e.choices?.[0]?.delta?.content&&(t.content=e.choices[0].delta.content),e.choices?.[0]?.delta?.custom_content&&(t.custom_content=e.choices[0].delta.custom_content),e.choices?.[0]?.delta?.role&&(t.role=e.choices[0].delta.role),e.id&&(t.responseId=e.id),t},_m="local",Vm=e=>!e.permissions?.includes(Ae.SharePermission.WRITE)&&!km(e),Om=(e,t)=>Sr(e)!==t,km=e=>Sr(e)===_m,Sr=e=>e.id.split("/")[0],Um=(e,t)=>Jn([...t?.messages||[],e]),Jn=e=>[...e].map(t=>{const n={role:t.role,content:t.content};return(t.role===Ae.Role.Assistant||t.role===Ae.Role.System)&&t.custom_content!=null&&(t.custom_content.state!=null||t.custom_content.attachments!=null||t.custom_content.form_schema!=null)&&(n.custom_content={},t.custom_content.state!=null&&(n.custom_content.state=t.custom_content.state),t.custom_content.attachments!=null&&(n.custom_content.attachments=Gm(t.custom_content.attachments)),t.custom_content.form_schema!=null&&(n.custom_content.form_schema=t.custom_content.form_schema)),t.role===Ae.Role.User&&t.custom_content&&(n.custom_content=t.custom_content),n}),Hm=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Jn(n?.slice(0,s)||[])},Bm=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Jn([...n?.slice(0,s)||[],e])};function Gm(e){return e.map(t=>({type:t.type,title:t.title,data:t.data,url:t.url,reference_type:t.reference_type,reference_url:t.reference_url}))}const zm=(e,t,n,s)=>{if(!n||t)return null;const o={id:`msg-${Date.now()}`,role:Ae.Role.User,content:e,timestamp:Date.now()};if(s){const r=s===nn.COMPLETE?Yt.COMPLETION:Yt.CHOICE;o.custom_content={form_value:{[r]:s}}}return o},$m=(e,t,n)=>`/${t}${n}/${X.getConversationNavPath(e?.folderId,e?.id)}`,Wm=(e,t,n)=>{const s=`${t}/${n}`,o=he.generateConversationId({folderId:s,name:e?.name});return{...e,folderId:s,id:o}},Km=(e,t)=>{const n=e.lastIndexOf(".");return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},Ym=(e,t,n)=>{const s=e.split("/");if(s[0]!=="files"||s.length<3)return e;const o=s.at(-1)??"file",r=Km(o,n);return["files",t,...s.slice(2,-1),r].join("/")},qm=async({conversation:e,bucket:t,getFileBlob:n,putFile:s})=>{const o=X.getConversationAttachmentUrls(e),r=Date.now();if(!o.length)return e;const l=await Promise.all(o.map(async d=>{const a=Ym(d,t,`${r}`);if(a===d)return[d,a];const u=await n(d);return await s(a,u),[d,a]}));return X.replaceConversationAttachmentUrls(e,Object.fromEntries(l))},Zm="AbortError",Xm=({error:e,statusMessages:t})=>{if(e){if(e.type===he.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){const n=e.exceeded_limit?.length?t.getExceededLimitsMessage(e.exceeded_limit):e.display_message??"";throw new X.HttpError({message:e.message,displayMessage:n,code:e.type,status:e.status??X.HTTP_ERROR_CODES.TOO_MANY_REQUESTS,details:{kind:he.ERROR_CONTEXT_KIND.RATE_LIMIT,occurredAt:new Date().toISOString(),retryAfterSeconds:Number(e.retry_after??"")}})}throw new X.HttpError({message:e.message,status:e.status??X.HTTP_ERROR_CODES.BAD_REQUEST,code:e.code})}},Jm=({error:e,statusMessages:t})=>{if(e.code===he.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){const n=e;return{errorMessage:n.displayMessage??n.message,errorContext:n.details}}return e.code===he.DIAL_ERROR_CODES.CONTENT_FILTER?{errorMessage:t.contentFilterError??e.message}:{errorMessage:e.status===X.HTTP_ERROR_CODES.SERVICE_UNAVAILABLE?t.serverOverloaded:t.serverError}},Gs=(e,t)=>{const n=e.customViewState??{},s=n[he.CUSTOM_VIEW_STATE_KEY]??{};return{...e,customViewState:{...n,[he.CUSTOM_VIEW_STATE_KEY]:{...s,errorContext:t}}}},Qm=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}},ef=({conversationKey:e,conversation:t,actions:n,messageStyles:s,attachmentsStyles:o,inputMessageStyles:r,shareConversationProps:l,showConversationHeaderAdvancedView:d=!0,formattingSettings:a,metadataSettings:u,expandStagesIcon:m,locale:h,conversationsRoute:f,token:p,titles:g,dataQuery:S,handleInvalidStreaming:x,onConversationNotFound:v,setConversation:C,setConversations:w,openUrl:b,messageActionsIcons:N,messageActionsTitles:T,editMessageTitles:M,scrollBottomIcon:y,isFinalMessage:A,limitMessages:I,attachmentsConfig:j,headerRightSlot:L,children:K})=>{const[k,H]=c.useState(null),[z,ee]=c.useState(!1),[P,Y]=c.useState(!0),{isStreaming:q,setIsStreaming:J}=qs(),{isOpenedAdvancedView:Q}=We(),{setCrossDatasetAttachmentsState:pe}=pn(),{isCrossDatasetModeOn:ve}=Ge(),{isAgentAvailable:De}=E.useAgentAvailability(),{statusMessages:O}=Ln(),{onboardingFileSchema:_,onboardingFilePath:ie,onboardingFileName:de,isShowOnboarding:ce,setOnboardingFileSchema:je}=Ye();c.useEffect(()=>{_&&n.putOnboardingFile?.(de,ie,_)},[n,_,de,ie]),c.useEffect(()=>{Q&&_?.lastDisplayedElement===Oe.OPEN_ADVANCED_VIEW&&je?.(vi(_))},[n,Q,je,_]);const Te=c.useCallback(()=>{b(`/${h}${f}`)},[h,f,b]),V=c.useCallback(async()=>{try{const{bucket:U}=await n.getBucket(),G=n.getFileBlob&&n.putFile?await qm({conversation:t,bucket:U,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,te=Wm(G,U,h);await n.createConversation(te,h);const R=await n.getConversations(h);w(X.cleanConversationNames(R)),b($m(te,h,f))}catch(U){console.error("Failed to save conversation:",U)}},[n,t,f,h,b,w]),B=c.useCallback(async U=>{try{await n.updateConversation(decodeURI(e),{name:U.name,messages:U.messages,customViewState:U.customViewState})}catch(G){console.error("Failed to save conversation:",G)}},[n,e]),oe=c.useCallback((U,G)=>{if(!t)return;const te=hr(t.messages,G,U);if(!te)return;const R={...t,messages:te};C(R),B(R)},[t,C,B]),re=c.useCallback(U=>{C(G=>G?{...G,messages:[...G?.messages||[],U]}:null)},[C]),me=c.useCallback(()=>{const U={id:`msg-${Date.now()+1}`,role:Ae.Role.Assistant,content:"",timestamp:Date.now()};return C(G=>G?{...G,messages:[...G.messages,U]}:null),U},[C]),ue=c.useCallback((U,G)=>{const te=he.mergeMessages?.(U,[G]);if(te)return C(R=>R?{...R,messages:R.messages.map(F=>F.id===U.id?{...te}:F)}:null),te},[C]),ae=c.useCallback((U,G)=>{t?.model?.id&&(n.rateResponse(U,G===Ae.LikeState.Liked,t.model.id),t.messages=t.messages.map(te=>te.responseId===U?jn.merge(te,{like:G}):te),B(t))},[n,t,B]),Le=c.useCallback((U,G)=>{let te=O.serverError,R,F;if(X.isHttpError(U)){F=U;const $=Jm({error:U,statusMessages:O});te=$.errorMessage,R=$.errorContext}else F=new X.HttpError({status:X.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:te});return G&&(G=ue(G,{errorMessage:te})),x?.(F),{assistantMessage:G,errorContext:R}},[x,O,ue]),ye=c.useCallback(async(U,G,te)=>{const R=new AbortController;H(R);let F=U,$;if(!te)return{assistantMessage:F,errorContext:$};const ne=te.custom_fields??{},Fe={...ne,configuration:{...ne.configuration,timezone:Qm(),...ve&&{merge_python_code:!0}}};return await he.streamChatResponse?.(encodeURI(te.id),G,{model:te.model,signal:R?.signal,onMessage:xe=>{Xm({error:xe.error,statusMessages:O});const be=Pm(xe);(be.content||be.role||be.responseId)&&(F=ue(F,be))},onError:xe=>{if(!ke(xe))throw console.error("Streaming error:",xe),xe}},p,Fe).catch(xe=>{if(!ke(xe)){const{assistantMessage:be,errorContext:tt}=Le(xe,F);F=be,$=tt}}),{assistantMessage:F,errorContext:$}},[p,ue,Le,O,ve]),ge=c.useCallback(async(U,G,te,R)=>{if(!G)return;let F=Gs(G,R);F={...F,messages:[...G.messages],updatedAt:Date.now()},te&&F.messages.push(te),F.messages.push(U),await B(F)},[B]),Ie=c.useCallback(U=>{C(G=>G&&Gs(G,U))},[C]),Ce=c.useCallback((U,G)=>{C(te=>te?{...te,messages:te.messages.filter(R=>R.id!==G.id)}:null)},[C]),Pe=c.useCallback(()=>{k&&!k.signal.aborted&&k.abort()},[k]),ke=U=>U?.name===Zm,$e=c.useCallback(async(U,G,te,R,F,$=!0)=>{ke(F)?await ge(R??te,U,$?G:void 0):Ce(F,G)},[ge,Ce]),Re=c.useCallback(async(U,G,te)=>{if(!G||!U)return;const R=zm(U,q,G,te);let F,$;if(R){re(R);try{J(!0),F=me();const ne=Um(R,G),{assistantMessage:Fe,errorContext:xe}=await ye(F,ne,G);Ie(xe),$=Fe,await ge($,G,R,xe)}catch(ne){$e(G,R,F,$,ne)}finally{J(!1)}}},[q,J,re,me,ye,ge,$e,Ie]),Ue=c.useCallback(async(U,G,te)=>{let R,F;try{J(!0),R=me();const{assistantMessage:$,errorContext:ne}=await ye(R,U,G);F=$,Ie(ne),await ge(F,G,void 0,ne)}catch($){$e(G,te,R,F,$,!1)}finally{J(!1)}},[J,ge,$e,ye,me,Ie]),He=c.useCallback(async(U,G)=>{if(!G||!U)return;const te=Hm(U,G),R={...G,messages:G.messages.slice(0,te.length)};C(F=>F?{...F,...R}:null),Ue(te,R,U)},[C,Ue]),{isLastMessageFailed:st,regenerateLastMessage:Z}=c.useMemo(()=>{const U=t?.messages?.at(-1);return{isLastMessageFailed:!!U?.errorMessage,regenerateLastMessage:U&&(()=>He(U,t))}},[t,He]),fe=c.useCallback(async(U,G)=>{if(!G||!U)return;const te=Bm(U,G),R={...G,messages:[...G.messages.slice(0,te.length-1),U]};C(F=>F?{...F,...R}:null),Ue(te,R,U)},[C,Ue]);c.useEffect(()=>{ls(),pe();async function U(){try{Y(!0);const{bucket:G}=await n.getBucket(),te=await n.getConversation(decodeURI(e));C(te),ee(Vm(te)&&Om(te,G)),(te.messages.length===0||te?.messages?.[0]?.role===Ae.Role.Assistant&&te?.messages?.length===1)&&Re(te.prompt,te)}catch{ee(!0),v?.()}finally{Y(!1)}}return e&&U(),()=>{ls()}},[e]);const se=c.useMemo(()=>({getFile:n.getFile,putOnboardingFile:n.putOnboardingFile,getDataSet:n.getDataSet,getDataSetData:n.getDataSetData,getConstraints:n.getConstraints,updateCurrentDataQuery:n.updateCurrentDataQuery,updateDataQueries:n.updateDataQueries,updateDatasets:n.updateDatasets,downloadDataSet:n.downloadDataSet}),[n]);if(P)return i.jsx(E.Loader,{});const le=t?.customViewState?.[he.CUSTOM_VIEW_STATE_KEY],ze=()=>{if(le?.errorContext?.kind===he.ERROR_CONTEXT_KIND.RATE_LIMIT&&he.isRateLimitStillActive(le.errorContext)){const U=he.getRateLimitRestoreDate(le.errorContext);if(U){const G=he.formatDateTime(U);return i.jsx(E.InlineAlert,{type:E.InlineAlertType.Info,children:O.getAssistantRestoreMessage(G.date,G.time)})}}return De?i.jsx(Qs,{onSendMessage:U=>Re(U,t),onStopStreaming:Pe,inProcess:q,sendMessageIcon:r.sendMessageIcon,retryIcon:r.retryIcon,placeholder:g?.askAnything??"Ask anything...",containerClasses:"mt-4",inputClasses:"border-neutrals-600 mr-2",isLastFailed:st,onRetryFailed:Z}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:O.assistantUnavailable})};return i.jsx(sn,{styles:{titles:g,messageStyles:s,attachmentsStyles:o,formattingSettings:a,messageActionsIcons:N,messageActionsTitles:T,editMessageTitles:M,expandStagesIcon:m,scrollBottomIcon:y,limitMessages:I,attachmentsConfig:j},children:i.jsxs("div",{className:W("h-full flex flex-col bg-white conversation-view-wrapper",Q&&!d&&"p-4"),children:[Q&&!d?null:i.jsx(po,{conversation:t,locale:h,isOpenedAdvancedView:Q,isShowShareButton:!z&&!ce,shareConversationProps:l,rightSlot:L}),i.jsxs("div",{className:"flex min-h-0 min-w-0 w-full flex-1",children:[i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[i.jsx("div",{className:W("flex-1 min-h-0 flex flex-col items-end scroll-hidden-container",s?.messagesWrapperClass),children:i.jsx(Fm,{messages:t?.messages||[],actions:se,isStreaming:q,isReadOnly:z,metadataSettings:u,dataQuery:S,locale:h,regenerateMessage:U=>He(U,t),selectMessageToSend:(U,G)=>Re(U,t,G),rateResponse:ae,editMessage:U=>fe(U,t),isReadOnlyConversation:z||ce,conversationViewState:le,onCodeAttachmentUpdated:oe})}),ce?null:z?i.jsx("div",{className:"mt-4 flex items-center justify-center",children:i.jsx(E.Button,{iconBefore:i.jsx(Be.IconCopy,{width:20,height:20}),title:g?.duplicate??"Duplicate Chat",isSmallButton:!0,onClick:V,buttonClassName:W("text-button-secondary")})}):i.jsx("div",{className:W(r.inputContainerClass),children:ze()}),ce&&A&&i.jsx(E.Button,{iconBefore:i.jsx(Be.IconPlus,{width:24,height:24}),title:g?.onboardingFooterLink,onClick:Te,isSmallButton:!0,buttonClassName:"text-button-secondary self-center mb-3"}),K]}),!Q&&i.jsx(Zi,{scope:"conversation"})]})]})})},tf=({conversationName:e,expandTitle:t,expandIcon:n,onExpand:s})=>i.jsxs("div",{className:"flex h-full w-[51px] shrink-0 flex-col items-center border border-neutrals-400 bg-white",children:[i.jsx("button",{type:"button",className:"mt-[84px] flex size-9 items-center justify-center text-primary","aria-label":t,title:t,onClick:s,children:n}),i.jsx("div",{className:"flex min-h-0 flex-1 flex-col items-center overflow-hidden pb-[88px] pt-[72px]",children:i.jsx("span",{className:"h3 min-h-0 flex-1 rotate-180 truncate text-center text-neutrals-1000 [writing-mode:vertical-rl]",title:e,children:e})})]});exports.AdvancedView=Dm;exports.AdvancedViewProvider=Ar;exports.AttachmentRenderer=Zn;exports.CUSTOM_CHOICE_ID=nn;exports.ChartingIcon=qt;exports.ChatFooter=So;exports.ChatMessagesProvider=jr;exports.ChatOnboardingFooter=xo;exports.CollapsedChatPanel=tf;exports.ConversationView=ef;exports.ConversationViewFeatureTogglesProvider=Ca;exports.ConversationViewMessagesProvider=Rr;exports.ConversationViewSidePanelProvider=Kc;exports.ConversationViewStylesProvider=sn;exports.ConversationWelcome=ea;exports.CrossDatasetAttachmentsProvider=bm;exports.CustomContentProperties=Yt;exports.DatasetDimensionsMetadataMapProvider=Xc;exports.OnboardingProvider=Lr;exports.STAGE_STATUS=Js;exports.useAdvancedView=We;exports.useChatMessages=qs;exports.useConversationViewFeatureToggles=Ge;exports.useConversationViewMessages=Ln;exports.useConversationViewSidePanelOptional=pt;exports.useConversationViewStyles=we;exports.useCrossDatasetAttachments=pn;exports.useDatasetDimensionsMetadataMap=ct;exports.useDatasetDimensionsMetadataMapOptional=un;exports.useOnboarding=Ye;