@epam/statgpt-conversation-view 0.7.0-dev.18 → 0.7.0-dev.19
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.d.ts +3 -0
- package/index.js +5 -5
- package/index.mjs +2358 -2352
- package/models/attachments-styles.d.ts +1 -1
- package/package.json +6 -6
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")
|
|
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
|
|
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>es?t.substring(0,es):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}}}},Qs=c.createContext(null);function nn({children:e,styles:t}){return i.jsx(Qs.Provider,{value:t??{},children:e})}function we(){const e=c.useContext(Qs);if(!e)throw new Error("useConversationViewStyles must be used within ConversationViewStylesProvider");return e}var kr=Object.defineProperty,qt=Object.getOwnPropertySymbols,eo=Object.prototype.hasOwnProperty,to=Object.prototype.propertyIsEnumerable,ts=(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={}))eo.call(t,n)&&ts(e,n,t[n]);if(qt)for(var n of qt(t))to.call(t,n)&&ts(e,n,t[n]);return e},Dn=(e,t)=>{var n={};for(var s in e)eo.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&&to.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 v=0;v<8;v++){this.applyMask(v),this.drawFormatBits(v);const C=this.getPenaltyScore();C<g&&(h=v,g=C),this.applyMask(v)}}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,v;for(g=m;;g++){const S=Se.getNumDataCodewords(g,u)*8,y=l.getTotalBits(a,g);if(y<=S){v=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&&v<=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==v);const w=Se.getNumDataCodewords(g,u)*8;o(C.length<=w),n(0,Math.min(4,w-C.length),C),n(0,(8-C.length%8)%8,C),o(C.length%8==0);for(let S=236;C.length<w;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,v=Math.floor(p/h);let C=[];const w=Se.reedSolomonComputeDivisor(f);for(let S=0,y=0;S<h;S++){let M=a.slice(y,y+v-f+(S<g?0:1));y+=M.length;const N=Se.reedSolomonComputeRemainder(M,w);S<g&&M.push(0),C.push(M.concat(N))}let x=[];for(let S=0;S<C[0].length;S++)C.forEach((y,M)=>{(S!=v-f||M>=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,v=(m+1&2)==0?this.size-1-h:h;!this.isFunction[v][p]&&u<a.length*8&&(this.modules[v][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,v=[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,v),p||(a+=this.finderPenaltyCountPatterns(v)*Se.PENALTY_N3),p=this.modules[f][C],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,v)*Se.PENALTY_N3}for(let f=0;f<this.size;f++){let p=!1,g=0,v=[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,v),p||(a+=this.finderPenaltyCountPatterns(v)*Se.PENALTY_N3),p=this.modules[C][f],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,v)*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 _e{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 _e(_e.Mode.BYTE,a.length,u)}static makeNumeric(a){if(!_e.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 _e(_e.Mode.NUMERIC,a.length,u)}static makeAlphanumeric(a){if(!_e.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=_e.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m))*45;h+=_e.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m+1)),n(h,11,u)}return m<a.length&&n(_e.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m)),6,u),new _e(_e.Mode.ALPHANUMERIC,a.length,u)}static makeSegments(a){return a==""?[]:_e.isNumeric(a)?[_e.makeNumeric(a)]:_e.isAlphanumeric(a)?[_e.makeAlphanumeric(a)]:[_e.makeBytes(_e.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 _e(_e.Mode.ECI,0,u)}static isNumeric(a){return _e.NUMERIC_REGEX.test(a)}static isAlphanumeric(a){return _e.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},no=128,so="L",oo="#FFFFFF",io="#000000",ro=!1,ao=1,Hr=4,Br=0,Gr=.1;function lo(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 co(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),v=Math.floor(m),C=Math.ceil(d+u-g),w=Math.ceil(a+m-v);f={x:g,y:v,w:C,h:w}}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 uo({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((v,C)=>(v.push(...wt.QrSegment.makeSegments(C)),v),[]);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),v=p.length+g*2,C=zr(p,l,g,r);return{cells:p,margin:g,numCells:v,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=no,level:l=so,bgColor:d=oo,fgColor:a=io,includeMargin:u=ro,minVersion:m=ao,boostLevel:h,marginSize:f,imageSettings:p}=s,v=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:C}=v,w=Dn(v,["style"]),x=p?.src,S=c.useRef(null),y=c.useRef(null),M=c.useCallback(k=>{S.current=k,typeof n=="function"?n(k):n&&(n.current=k)},[n]),[N,T]=c.useState(!1),{margin:D,cells:R,numCells:I,calculatedImageSettings:A}=uo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:f,imageSettings:p,size:r});c.useEffect(()=>{if(S.current!=null){const k=S.current,Y=k.getContext("2d");if(!Y)return;let G=R;const Q=y.current,P=A!=null&&Q!==null&&Q.complete&&Q.naturalHeight!==0&&Q.naturalWidth!==0;P&&A.excavation!=null&&(G=co(R,A.excavation));const K=window.devicePixelRatio||1;k.height=k.width=r*K;const q=r/I*K;Y.scale(q,q),Y.fillStyle=d,Y.fillRect(0,0,I,I),Y.fillStyle=a,Wr?Y.fill(new Path2D(lo(G,D))):R.forEach(function(X,ee){X.forEach(function(pe,ve){pe&&Y.fillRect(ve+D,ee+D,1,1)})}),A&&(Y.globalAlpha=A.opacity),P&&Y.drawImage(Q,A.x+D,A.y+D,A.w,A.h)}}),c.useEffect(()=>{T(!1)},[x]);const F=bn({height:r,width:r},C);let V=null;return x!=null&&(V=c.createElement("img",{src:x,key:x,style:{display:"none"},onLoad:()=>{T(!0)},ref:y,crossOrigin:A?.crossOrigin})),c.createElement(c.Fragment,null,c.createElement("canvas",bn({style:F,height:r,width:r,ref:M,role:"img"},w)),V)});Kr.displayName="QRCodeCanvas";var mo=c.forwardRef(function(t,n){const s=t,{value:o,size:r=no,level:l=so,bgColor:d=oo,fgColor:a=io,includeMargin:u=ro,minVersion:m=ao,boostLevel:h,title:f,marginSize:p,imageSettings:g}=s,v=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:C,cells:w,numCells:x,calculatedImageSettings:S}=uo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:p,imageSettings:g,size:r});let y=w,M=null;g!=null&&S!=null&&(S.excavation!=null&&(y=co(w,S.excavation)),M=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=lo(y,C);return c.createElement("svg",bn({height:r,width:r,viewBox:`0 0 ${x} ${x}`,ref:n,role:"img"},v),!!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"}),M)});mo.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:v,getSharedConversations:C,revokeSharedConversations:w,baseUrl:x,id:S,clientSharedPage:y,clientSharedProp:M,shareAlertMessage:N})=>{const[T,D]=c.useState(null),[R,I]=c.useState(),[A,F]=c.useState(!1),[V,k]=c.useState(!1),[Y,G]=c.useState(),Q=c.useRef(null),P=c.useRef(null),K=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(!T)return"";const O=x||window.location.origin;if(x&&x!==window.location.origin&&y&&M){const W=T.split(`/${J.SHARE_CONVERSATION_ROUTE}/`)?.[1];return`${O}/${y}?${M}=${W}`}return`${O}/${t}${T}`},[x,T,t,y,M]),X=c.useCallback(async O=>{const W=await C?.(he.getSharedConversationsRequest(he.ShareTarget.OTHERS));if(W)return Zr({id:O},W.resources)},[C]);c.useEffect(()=>{if(!K||Q.current===K)return;Q.current=K,F(!1),P.current?.abort();const O=new AbortController;return P.current=O,(async()=>{try{const ce=await o?.(K),me=Yr(K,Xr(ce)),ue=await r?.(me),je=await X(K);if(O.signal.aborted||!ue)return;D(qr(ue)),I(je),F(!0)}catch(ce){if(O.signal.aborted)return;F(!1),console.error("Error sharing conversation",ce)}})(),()=>{O.abort(),Q.current=null}},[K,r,o,X]);const ee=c.useCallback(()=>{P.current?.abort(),Q.current=null,n(),D(null),F(!1),k(!1)},[n]),pe=c.useCallback(()=>{k(!0),navigator.clipboard.writeText(q||"")},[q]),ve=async()=>{try{if(G(!0),R&&await w?.({resources:[R]}),K){const O=await X(K);P.current?.signal.aborted||I(O)}}catch(O){console.error("Error revoking shared conversation",O)}finally{P.current?.signal.aborted||G(!1)}},se=c.useCallback(()=>i.jsx(E.Button,{buttonClassName:V?"text-button-secondary":"text-button-primary",iconBefore:V?i.jsx(Be.IconCheck,{width:20,height:20}):i.jsx(Be.IconCopy,{width:20,height:20}),title:V?f??"Copied":h??"Copy link",disabled:V,onClick:pe}),[V,pe,f,h]);return i.jsxs(E.Popup,{heading:m??"Share link",portalId:"share",size:E.PopUpSize.SM,dividers:s,onClose:ee,closeButtonTitle:a??"Close",children:[A?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:v??"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(mo,{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:se()})]}):i.jsx("div",{className:"flex items-center justify-center p-6",children:i.jsx(E.Loader,{})}),A?e&&R?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:Y,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",{})]})},fo=({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})]})},ho=({conversation:e,locale:t,isOpenedAdvancedView:n,isShowShareButton:s,shareConversationProps:o,rightSlot:r})=>i.jsx(i.Fragment,{children:i.jsxs("header",{className:$("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:$("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(fo,{conversation:e,locale:t,...o})}),r]})]})}),po=({content:e,textColorClass:t})=>{const{isOpenedAdvancedView:n}=We();return i.jsx("div",{className:$("prose max-w-none break-words",n?"body-2":"body-1",t),children:i.jsx(Gs,{remarkPlugins:[zs],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})})},go=({choiceButtons:e,disabled:t,onClick:n})=>{const s=$("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(ho,{conversation:{name:r?.onboardingTitle??"Introducing the AI assistant"}}),i.jsxs("div",{className:"onboarding-content flex flex-col",children:[i.jsx(po,{content:e}),i.jsx("div",{className:"mt-4",children:i.jsx(go,{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})]})]})]})},Co=({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})]})]})},xo=({firstLine:e,secondLine:t})=>{const n=e!=null&&e.trim()!=="",s=t!=null&&t.trim()!=="";return i.jsxs("div",{className:$("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:v})=>{const[C,w]=c.useState(null),[x,S]=c.useState(!0),[y,M]=c.useState(!1),{onboardingFileSchema:N,onboardingFileName:T,onboardingFilePath:D,isShowOnboarding:R,setIsShowOnboarding:I,setOnboardingFileSchema:A}=Ye(),{isAgentAvailable:F}=E.useAgentAvailability(),{statusMessages:V}=Ln();c.useEffect(()=>{(async()=>{try{const P=await r.getBucket();w(P.bucket)}catch(P){console.error(P instanceof Error?P.message:"Request error")}finally{S(!1)}})()},[r]);const k=c.useCallback(async(Q,P)=>{if(!C){console.error("No bucket");return}M(!0);try{const K=R?Or(C,g,l?.onboardingTitle??"Introducing the AI assistant",h?.properties?.choice?.description??"",Q,P):_r(C,g,l.newChat??"New chat",Q),q=await r.createConversation(K,g,R),X=await r.getConversations(g),ee=await r.getSharedConversations(he.getSharedConversationsRequest(he.ShareTarget.ME));if(h&&N){const pe={...N,isStarted:!0};await r.putOnboardingFile?.(T,D,pe),A?.(pe)}p(J.cleanConversationNames(X)),v(J.cleanConversationNames(vr.transformSharedConversations(ee,g))),f(q.folderId,q.id)}catch(K){console.error(K instanceof Error?K.message:"Creation conversation failed"),M(!1)}},[r,C,f,R,g,T,D,N,h,p,A,v,l.newChat,l?.onboardingTitle]),Y=c.useCallback(async Q=>{if(I(!1),Q&&N){const P={...N,isSkipped:!0};await r.putOnboardingFile?.(T,D,P),A?.(P)}},[r,T,D,N,I,A]);c.useEffect(()=>{m&&C&&k(m)},[C,m]);const G=()=>{const Q=!C;return F?i.jsxs(i.Fragment,{children:[i.jsx(Js,{containerClasses:$(d.inputContainerClass,u&&"order-3 mt-auto"),inputClasses:"mr-2",disabled:Q,placeholder:s||l?.askAnything||"Ask anything...",sendMessageIcon:d.sendMessageIcon,onSendMessage:k}),i.jsx("div",{className:$("no-scrollbar overflow-x-auto",a),children:i.jsx("div",{className:$("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:Q,onClick:k},P.title))})})]}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:V.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,{}):R?i.jsx(Qr,{messageContent:h?.properties?.choice?.description||"",choiceButtons:h?.properties?.choice?.oneOf||[],disabled:!C,handleOnboardingSkip:Y,onClick:k}):i.jsxs("div",{className:"flex h-full flex-col items-center justify-center sm:px-4",children:[i.jsxs("div",{className:$("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}),G()]}),R&&i.jsx(Co,{openNewConversation:()=>I(!1)}),!R&&i.jsx(xo,{firstLine:l.footerFirstLine,secondLine:l.footerSecondLine})]})})},So=e=>Ne.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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:$("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(So,{width:16,height:16}),title:r?.reset??"Reset",onClick:a=>{a.stopPropagation(),o()}})})]})]})},Fn=e=>Ne.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.createElement("path",{d:"M11.3301 6.25L8.00008 9.75L4.67008 6.25L11.3301 6.25Z",fill:"currentColor"})),na=e=>Ne.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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"})),ns=(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"}},ss=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"}),wo=(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},os=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 Je=(e=>(e.FLAT_LIST="FLAT_LIST",e.HIERARCHY="HIERARCHY",e))(Je||{});const vo=(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?Je.HIERARCHY:Je.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},Pe=(e,t)=>Ke(e)===Ke(t),Xt=(e,t)=>e?.map(n=>t&&Pe(n,t)?{...t,isSelectedFilter:!0}:{...n,isSelectedFilter:!1}),bo=(e,t,n)=>e?e.map(s=>Pe(s,t)?{...s,displayMode:n}:s):[],Do=e=>e?.filter(t=>!!t?.isSelectedValue)||[],sn=e=>e?.map(t=>({...t,dimensionValues:Do(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,yo=e=>({...e,dimensionValues:e?.dimensionValues?.map(t=>({...t,isSelectedValue:!1})),timeRange:void 0}),Eo=(e,t)=>e?.map(n=>Pe(n,t)?yo(n):n),To=e=>e?.map(t=>yo(t)),Mo=(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`,No=e=>e?.children?.reduce((t,n)=>[...t,n,...No(n)],[])||[],ua=(e,t)=>e?e.filter(n=>!n.disabled).map(n=>({...n,isSelectedValue:t})):[],Io=e=>!!e?.children?.some(t=>t?.isSelectedValue||Io(t)),ma=e=>{const t=No(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:Je.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),v=!!!(p?.startPeriod||p?.endPeriod)&&!t?os(h):null,C=v??p,[w,x]=c.useState(t??v),S=!t||t?.startPeriod?.getTime()===C?.startPeriod?.getTime()&&t?.endPeriod?.getTime()===C?.endPeriod?.getTime()?0:J.CUSTOM_PERIOD,[y,M]=c.useState(m??S),N=c.useMemo(()=>{const{startPeriod:A,endPeriod:F}=C,V=A?.getFullYear(),k=F?.getFullYear(),Y=new Date().getFullYear();return n.filter(G=>G.value===J.CUSTOM_PERIOD||G.value===0||+G.value>=0&&k-Y>=+G.value||+G.value<0&&V-Y<+G.value)},[C,n]);c.useEffect(()=>{d(w,y)},[w]),c.useEffect(()=>{if(t!==null)return;const A=b.getAnnotationPeriod(l?.[0]?.annotations);A?.startPeriod||A?.endPeriod||x(os(h))},[t]);const T=A=>{A&&(ss(A),x(F=>F?{...F,startPeriod:A||null}:{endPeriod:null,startPeriod:A||null}))},D=A=>{A&&(ss(A),x(F=>F?{...F,endPeriod:A||null}:{startPeriod:null,endPeriod:A||null}))};if(C==null)return null;const R=ns(C.startPeriod,w?.endPeriod||C.endPeriod,e,o,s,u),I=ns(w?.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(A=>i.jsx(E.Radio,{id:A.value.toString(),checked:y===A.value,label:A.title,onChange:()=>{const{value:F}=A;M(F),F!==J.CUSTOM_PERIOD&&x(F===0?C:ia(C,F))},radioIcon:r},A.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:T,options:R,value:w?.startPeriod||C?.startPeriod,label:f?.from||"From",id:"time-options-start",icon:a}),i.jsx(E.Calendar,{onChange:D,options:I,value:w?.endPeriod||C?.endPeriod,label:f?.to||"To",id:"time-options-end",icon:a,isEndDate:!0})]})})]})},ga={isMetadataInSidePanel:!1,isCrossDatasetModeOn:!1,isTableSettingsFeatureEnabled:!1},Ao=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(Ao.Provider,{value:o,children:e})}function Ge(){return c.useContext(Ao)}const xa=2,jo=({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:$("caption text-neutrals-800 mt-1",{invisible:!a}),children:s?.searchMinCharsCaption??"Enter at least 2 characters to start searching"})]})},Sa=e=>Ne.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.createElement("path",{d:"M6.25 4.66668L9.75 8.00001L6.25 11.3333L6.25 4.66668Z",fill:"currentColor"})),Ro=({node:e,level:t=1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r})=>{const l=!!e?.children?.length,d=l&&!e.isSelectedValue&&Io(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(Ro,{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(Ro,{node:r,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o},r?.id))}),is=({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:rs(new Date(e.startPeriod))},{componentCode:t,operator:b.SeriesFilterOperator.LESS_OR_EQUAL,value:rs(new Date(e.endPeriod),1)}],ba=1e3*60*60*24,rs=(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 Lo(e,t){return`${e.name??""}::${t}`}function et(...e){return JSON.stringify(e)}async function nt(e,t,n){const s=Lo(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(Lo(e,t))}function as(){Mt.clear(),zt.clear()}const Da=e=>e.map(t=>({componentCode:t.id||"",operator:J.QueryFilterType.IN,values:t.dimensionValues?.map(n=>n.id)||[]})),Fo=(e,t)=>{const n=t?.timeDimensions?.[0],s=b.getTimeRangeFromAttachment(e,n)||null;return s?b.getQueryTimePeriodFilters(s,n?.id):null},Po=(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}`},_o=(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]}))},Vo=(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]}},Oo=(e,t)=>_o(e,t),Na=(e,t)=>_o(e,t,Ea),ko="COUNTRY",Uo="FREQUENCY",St="TIME_PERIOD",Ia=new Set([ko,Uo,St]),$t=e=>e?.trim()?.toLocaleUpperCase(),ls=()=>(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}`,Ho=(e,t)=>e?t?.[e]:void 0,cs=(e,t)=>{if(!(e?.filterType!=="dataset"||!e.id))return Ho(e.datasetUrn,t)?.[e.id]},Bo=(e,t,n)=>Object.entries(Ho(e,n)||{}).find(([,s])=>t(s))?.[0],Go=(e,t,n)=>Bo(e,s=>s.subtype===t,n),Ra=(e,t)=>Bo(e,n=>n.dimensionType==="TIME_PERIOD",t),vt=[{id:ko,subtype:"REGION",getMergedValueKey:ls()},{id:Uo,subtype:"FREQUENCY",getMergedValueKey:ls()},{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||cs(e,n)?.dimensionType==="TIME_PERIOD"||t.id===$t(e.id);const s=cs(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),zo=(e,t)=>!e||Array.isArray(e.get(t)),$o=(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())},Wo=(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?Go(t,o.subtype,n):void 0},Ko=(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=>Ko(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,Ko(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())))}},Yo=(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:Yo(e.timeRange.startPeriod,e.timeRange.endPeriod,n,s)}},$a=(e,t)=>e?.dimensionsMap?new Map(Array.from(e.dimensionsMap.entries()).map(([n,s])=>[n,vo(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=zo(e?.constraintsMap,s),l=$o(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)||[]})),qo=(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]}))},Zo=(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 Wo(t?.flatMap(r=>{const l=r?.urn,d=e?.get(l)||[],a=n?.get(l)||[];return Mo(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},Xo=(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))))},ds=(e,t)=>t?(e||[]).filter(n=>t.has(n.urn)):e||[],yt=(e,t)=>t?new Map([...e].filter(([n])=>t.has(n))):e,Jo=(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=Go(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},Qo=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=zo(t?.constraintsMap,r),m=$o(t,r);if(!u||!m){o.push(...Ka(l));return}const h=t?.constraintsMap?.get(r);o.push(...Gt(l,d,a,h,n))}),Wo(o,s)},on=(e,t,n)=>t?gt(e,void 0,!1,n).get(t)||[]:e.filter(s=>s.filterType!=="shared"),ei=(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,ti=(e,t,n)=>Nt(yn(t,e,n).filter(s=>s.componentCode!==b.TIME_PERIOD)),us=(e,t,n,s,o)=>e?.map(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ti(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:{}})})||[],ms=(e,t,n,s,o)=>!n?.getConstraints||!e?.length?!1:e.some(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ti(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]]:[]})),fs=e=>Ja(e.flatMap(t=>t.status==="fulfilled"?[t.value]:[])),hs=(e,t)=>{const n=new Map(e);return t.forEach((s,o)=>{n.set(o,s)}),n},ni=(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??[]},si=(e,t,n)=>new Map(t?.map(s=>{const o=s?.urn;return[o,Po(e.get(o)||[],n?.get(o))]})),ps=(e,t,n,s,o)=>{const r=Xa(e,t,o);if(!n||!e.length||!r)return;const l={...t,constraintsMap:n},d=qo(l,s,!1),a=Zo(d,e,n,o),u=gt(a,n,!1,o),m=Xo(a,e.map(f=>f.urn),e,o,u),h=e.filter(f=>m.has(f.urn));return{compatibleUrns:m,filterParamsMap:si(u,h,t.dimensionsMap)}},oi=(e,t)=>new Map(e?.map(n=>{const s=n?.urn;return[s,Oo(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:Yo(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=>Ne.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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=>Ne.createElement("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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,gs=24,Cs=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:v}=Ge(),C=d||m;if(!t&&!C)return null;const w=t??[],x=e?ei(e,a):void 0,S=a?.size===1,y=v&&e?.filterType!=="shared"&&!!e?.title&&(S||!!x),M=w.length*gs,N=M>Cs?Cs:M;return i.jsxs("div",{className:$("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:$(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(w),checkboxIcon:n,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p}):o?i.jsx(Er,{children:({width:T,height:D})=>i.jsx(nl,{itemCount:w.length,itemSize:gs,width:T,height:D,children:({index:R,style:I})=>i.jsx(is,{style:I,filterValue:w[R],checkboxIcon:n,selectFilterValue:h})})}):i.jsx("div",{className:"flex flex-col gap-y-1",children:w.map(T=>i.jsx(is,{filterValue:T,checkboxIcon:n,selectFilterValue:h},T.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 xs(e){return b.generateShortUrn(e.id,e.version??"",e.agencyID??"")}function Ss(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 ri(a)}function ii(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,v=n?b.urnMatchesIgnoreVersion(m,n):!0,C=!v&&(r.hierarchicalCodes?.length??0)>0,w=ii(e,t,n,r.hierarchicalCodes,r.code),x=w.length===0;return C&&x||v&&x&&t&&!t.includes(l??"")?null:{id:r.code,name:g,children:w,isExpanded:!0,disabled:!v&&w.every(S=>S.disabled),isSelectableValue:v,parent:o,metadata:{...r,hierarchicalCodes:void 0}}}).filter(r=>r!==null)??[]}function il(e,t,n,s){return!n||n.length===0?[]:ii(t,n,s,e?.hierarchicalCodes,void 0)}function ri(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:ri(t.children)}})}function ai(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=ai(t,s.id);o&&n.set(o,{...s,id:o})}),Array.from(n.values())}function ll(e,t){return ai(t,e)}function li(e,t){return e.map(n=>{const s=n.children?.length?li(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 ci(e,t){return e.map(n=>n.id===t?{...n,isExpanded:!n.isExpanded}:n.children?.length?{...n,children:ci(n.children,t)}:n)}function di(e,t){const n=t.toLowerCase();return e.reduce((s,o)=>{const r=o.name?.toLowerCase().includes(n),l=di(o.children??[],t);return(r||l.length>0)&&s.push({...o,isExpanded:!0,children:r?o.children:l}),s},[])}const ui=c.createContext(null);function cl({children:e,value:t}){return i.jsx(ui.Provider,{value:t,children:e})}function mi(){const e=c.useContext(ui);if(!e)throw new Error("useFiltersModal must be used within FiltersModalProvider");return e}const dl=2,fi=({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:v,onTimePeriodChange:C}=mi(),[w,x]=c.useState(""),{isCrossDatasetModeOn:S}=Ge(),y=t?.displayMode===Je.HIERARCHY,M=Ke(t),N=t?.filterType==="shared",T=w?.trim().toLowerCase(),D=S?T.length>=dl:!!T,R=D&&S&&!N,I=c.useCallback(P=>{if(!P?.dimensionValues)return{filterValues:[],matchedCount:0};const K=P.dimensionValues.filter(q=>q?.name?.toLowerCase()?.includes(T));return{filterValues:P.displayMode===Je.HIERARCHY?b.getFilteredItemsWithParents(P.dimensionValues,K):K,matchedCount:K.length}},[T]),A=c.useMemo(()=>D?I(t).filterValues:t?.dimensionValues,[D,I,t]),F=c.useMemo(()=>R?(e||[]).reduce((P,K)=>{if(Pe(K,t)||K.filterType==="shared")return P;const{filterValues:q,matchedCount:X}=I(K);return X?[...P,{filter:K,filterValues:q,matchedCount:X,isHierarchicalView:K.displayMode===Je.HIERARCHY}]:P},[]):[],[R,e,t,I]),V=c.useMemo(()=>{const P=r?.treeNodes;if(!P?.length)return P;const K=rl(t),q=K.size?li(P,K):P;return D?di(q,T):q},[r?.treeNodes,t,D,T]),k=V?!V.length:!A?.length,Y=!!u||!!r?.isLoading,G=c.useMemo(()=>F.reduce((P,K)=>P+K.matchedCount,0),[F]);c.useEffect(()=>{x("")},[M]);const Q=c.useCallback(P=>{x(P)},[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:$("flex flex-col py-2 h-full flex-1 min-w-0 sm:border-0","filter-values-container"),children:[i.jsx(jo,{value:w,onChange:Q,searchIconSize:h?.searchIconSize}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:R?i.jsxs(i.Fragment,{children:[t&&i.jsxs("div",{className:"shrink-0 pb-4",children:[i.jsx(gn,{selectedFilter:t,filterValues:A,checkboxIcon:h?.checkboxIcon,isHierarchicalView:y,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:V,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:v}),!Y&&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",":"," ",G]}),!u&&G===0&&i.jsx("p",{className:"body-2 mt-1 text-neutrals-700",children:l?.noResultsInOtherDimensions??"No results found in other dimensions"})]}),F.map(({filter:P,filterValues:K,isHierarchicalView:q})=>i.jsx("div",{className:"shrink-0 pb-4 last:pb-0",children:i.jsx(gn,{selectedFilter:P,filterValues:K,checkboxIcon:h?.checkboxIcon,isHierarchicalView:q,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,selectFilterValue:(X,ee)=>p(X,ee,P),selectHierarchicalNodes:X=>g(X,P),expandHierarchicalValue:X=>v(X,P)})},Ke(P)))]}):i.jsx(gn,{selectedFilter:t,filterValues:A,checkboxIcon:h?.checkboxIcon,isHierarchicalView:y,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:V,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:v})})]})})},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}=mi(),h=E.useIsMobile(),[f,p]=c.useState(0),[g,v]=c.useState(!1),C=t?.isTimeDimension&&t?.timeRange,w=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(Do(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||v(!1)},[t.isSelectedFilter]);const M=()=>{h&&v(T=>!T),n(t)},N=T=>{if(T==="")m?.(t,null),s?.(t,Je.FLAT_LIST);else if(T===Je.HIERARCHY)m?.(t,null),s?.(t,Je.HIERARCHY);else{const D=d?.availableHierarchies?.find(R=>R.id===T)??null;m?.(t,D)}};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:$("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:M,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:$("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:w}),!C&&x&&i.jsx("span",{className:$("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:$("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===Je.HIERARCHY?Je.HIERARCHY:""),onOptionSelect:N}),f>0&&i.jsx(E.IconButton,{buttonClassName:$("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(So,{width:16,height:16}),title:a?.reset||"Reset",onClick:T=>{T.stopPropagation(),o?.(t)}})]})]})]}),g&&i.jsx(fi,{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:v}=Ge(),C=v&&!!m?.length,w=new Set(e.filter(x=>x.filterType==="dataset").map(x=>x.datasetUrn||"")).size;return i.jsxs("div",{className:$("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 M=y[S-1],T=x.filterType==="dataset"&&w>1&&x.datasetUrn!==M?.datasetUrn?ei(x,a):void 0;return i.jsxs("div",{className:"min-w-0 shrink-0",children:[T&&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:T,children:T})]}),i.jsx(ul,{filtersList:y,filter:x,onSelectFilter:n,onSelectDisplayMode:o,onDeleteFilter:s,hideFacetCounterByDefault:t,initialConstraints:ni(v,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(jo,{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:$("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)})})]})},hi=({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:v,updateSelectedFilterValues:C,onTimePeriodChange:w,selectedTimeOption:x,hierarchyStateMap:S,onSelectHierarchy:y,onExpandHierarchyNode:M,dataQueries:N,disabledDatasetUrns:T,onToggleDataset:D,onClearAllDatasets:R})=>{const{titles:I}=we(),A=S?.get(Ke(t)),F=E.useIsMobile(),{isCrossDatasetModeOn:V}=Ge(),[k,Y]=c.useState(!1),G=c.useMemo(()=>el(e.filter(O=>!(O.filterType==="dataset"&&O.datasetUrn&&T.has(O.datasetUrn))),T,u),[e,T,u]),Q=c.useMemo(()=>t?G.find(O=>Pe(O,t)):void 0,[t,G]),P=Pn(sn(e))+T.size,K=c.useCallback(()=>{Y(!0),f(void 0)},[f]),q=c.useCallback(O=>{Y(!1);const W=e?.find(ce=>Pe(ce,O));if(!W){f(void 0);return}f({...W,isSelectedFilter:!0})},[e,f]),X=O=>O?e?.find(W=>Pe(W,O)):void 0,ee=(O,W,ce)=>{const me=!ce||Pe(ce,t),ue=X(ce??t)??ce??t;if(!ue)return;const je=Bt(ue)?ll(O,ue):O;if(!je)return;const Ee={...ue,dimensionValues:ue?.dimensionValues?.map(_=>_?.id===je?{..._,isSelectedValue:W}:_)};me&&f(Ee),C&&C(Ee)},pe=(O,W)=>{const ce=!W||Pe(W,t),me=X(W??t)??W??t;if(!me)return;const ue=Bt(me)?al(O,me):O??[],je=new Set(me?.dimensionValues?.map(H=>H.id)),Ee=Bt(me)?[]:fa(ue,je),_={...me,dimensionValues:[...me?.dimensionValues?.map(H=>{const ae=ue.find(oe=>oe?.id===H?.id);return ae?{...H,isSelectedValue:ae.isSelectedValue}:H})??[],...Ee]};ce&&f(_),C&&C(_)},ve=(O,W)=>{const ce=!W||Pe(W,t),me=X(W??t)??W??t;if(!me||!O?.id)return;const ue=Ke(me);if((ue?S?.get(ue):void 0)?.treeNodes?.length){M?.(ue,O.id);return}const Ee={...me,dimensionValues:me?.dimensionValues?.map(_=>_?.id===O?.id?{..._,isExpanded:!O?.isExpanded}:_)};ce&&f(Ee),C&&C(Ee)},se=(O,W)=>{if(!t)return;const ce={...t,timeRange:O||void 0};w?.(W),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:ee,selectHierarchicalNodes:pe,expandHierarchicalValue:ve,onTimePeriodChange:se},children:i.jsxs("div",{className:$("flex flex-row gap-5 flex-1 min-h-0 sm:p-0","filters-settings"),children:[i.jsxs("div",{className:$("h-full sm:w-full",n?.isShowTimeSeriesCount&&"flex flex-col justify-between"),children:[V&&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:v,isSmallButton:F})]}),i.jsx(fl,{filtersList:G,hideFacetCounterByDefault:n?.isHideFacetCounterByDefault,onSelectFilter:q,onSelectDisplayMode:p,onDeleteFilter:g,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,hierarchyStateMap:S,dataQueries:N,disabledDatasetUrns:T,isDatasetFacetSelected:k,onSelectDatasetFacet:K,onClearAllDatasets:R}),n?.isShowTimeSeriesCount&&l?i.jsxs("h4",{className:"my-4 text-neutrals-800",children:[I?.timeSeries??"Timeseries",": ",l]}):null]}),!F&&(k?i.jsx(hl,{dataQueries:N??[],disabledDatasetUrns:T,onToggleDataset:D,searchIconSize:n?.filterValuesProps?.searchIconSize}):i.jsx(fi,{filtersList:G,selectedFilter:Q,structuresMap:h,initialConstraints:ni(V,t,a,u),selectedTimeOption:x,hierarchyState:A}))]})})},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),pi=(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=>pi(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)})]})})},gi=({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:$("flex py-4 px-6 modal-footer-wrapper",f),children:[!m&&i.jsx(vl,{timeseriesLength:r,limitMessages:l}),i.jsxs("div",{className:$("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=>Ne.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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 Ve=(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))(Ve||{});const kn=["charts","chartsNavigation"],ws=["dataGrid","metadataPerSeries",...kn,"openAdvancedView"],Ci=["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(Ci,e);return n||""},xi=(e,t)=>{const n=Mn(e,t);return{...t,infoElements:{...t?.infoElements,[t.lastDisplayedElement]:!1,...n?{[n]:!0}:{}},lastDisplayedElement:n}},Si=e=>xi(Ci,e),yl=e=>xi(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:$("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:v,floatingStyles:C,context:w,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(w),{getFloatingProps:y}=qe.useInteractions([S]),M=c.useCallback(()=>{if(f){const R=Dl(p,p?.lastDisplayedElement);g?.({...p,infoElements:{...p?.infoElements,...R?{[R]:!0}:{}},lastDisplayedElement:R})}a?.(!1)},[f,p,g]);c.useEffect(()=>{v.setReference(e?.current??null)},[e,v]);const N=()=>M(),T=e?.current?.getBoundingClientRect();c.useEffect(()=>{o&&!u&&(M(),m(!0))},[o,M,u]);const D=()=>{s?(s?.(),r?M():a(!1)):l||(M(),e?.current?.click())};return i.jsx(i.Fragment,{children:d&&i.jsxs(qe.FloatingPortal,{children:[T&&i.jsx(Tl,{overlayClasses:l?"cursor-default":"cursor-pointer",targetPosition:T,onClose:D}),i.jsxs("div",{ref:v.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:$("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")})]})]})})},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,v]=c.useState(!1),{onboardingFileSchema:C,isShowOnboarding:w}=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(w){const{title:y,description:M}=at(Ve.FILTERS,a);h(y),p(M)}},[a,w]),c.useEffect(()=>{w&&v(C?.lastDisplayedElement===Ve.FILTERS)},[C?.lastDisplayedElement,w]),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:$("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})]})})},vi=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(vi.Provider,{value:r,children:e})}function bi(){const e=c.useContext(vi);if(!e)throw new Error("useFiltersModalState must be used within FiltersModalStateProvider");return e}const vs=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 Di(e){return e.type===he.AttachmentType.JSON&&e.title!=null&&e.title?.startsWith("Query (JSON)")}function yi(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),Ei=e=>e?.reduce((t,n,s)=>n?.custom_content?.attachments?.some(o=>Di(o))?s:t,-1),Rl=e=>e?.reduce((t,n)=>n?.role===Ae.Role.Assistant?n:t,{}),bs=e=>e.type==="text/markdown"&&!!e.data?.includes("```python"),Ll=(e,t)=>{const n=e?.custom_content?.attachments?.filter(bs)??[],s=t?.custom_content?.attachments?.filter(bs)??[],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}}),Ti=(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},Mi=({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 v=e(f),C=p??t(f);l(w=>{const x=w.get(g);if(!x?.mainHierarchy)return w;const S=Ss(x.mainHierarchy,x.codelists,f.id??"",C,v),y=new Map(w);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(v=>{const C=new Map(v),w=v.get(g)??ut;return C.set(g,{...w,isLoading:!0}),C});try{const v=await s(p,n?.(f)),C=ol(v?.data?.hierarchies??[]);l(w=>{const x=new Map(w),S=w.get(g)??ut;return x.set(g,{...S,availableHierarchies:C,isLoading:!1}),x})}catch{l(v=>{const C=new Map(v),w=v.get(g)??ut;return C.set(g,{...w,isLoading:!1}),C})}}},[s,e,n]),u=c.useCallback(async(f,p)=>{if(!o)return;const g=Ke(f);if(!g)return;const v=e(f);l(C=>{const w=new Map(C),x=C.get(g)??ut;return w.set(g,{...x,isLoading:!0}),w});try{const C=xs(p),w=await o(C,v),x=w?.data?.hierarchies?.find(M=>xs(M)===C);if(!x){l(M=>{const N=new Map(M),T=M.get(g)??ut;return N.set(g,{...T,selectedHierarchy:p,mainHierarchy:null,treeNodes:[],isLoading:!1}),N});return}const S=b.resolveCodelistsFromResponse(w?.data),y=Ss(x,S,f.id??"",t(f),v);l(M=>{const N=new Map(M),T=M.get(g)??ut;return N.set(g,{...T,selectedHierarchy:p,mainHierarchy:x,codelists:S,treeNodes:y,isLoading:!1}),N})}catch{l(C=>{const w=new Map(C),x=C.get(g)??ut;return w.set(g,{...x,isLoading:!1}),w})}},[o,e,t]),m=c.useCallback((f,p)=>{if(!f)return;const g=Ke(f);if(g){if(!p){l(v=>{const C=new Map(v),w=v.get(g)??ut;return C.set(g,{...w,selectedHierarchy:null,mainHierarchy:null,treeNodes:[]}),C});return}u(f,p)}},[u]),h=c.useCallback((f,p)=>{l(g=>{const v=g.get(f);if(!v?.treeNodes)return g;const C=new Map(g);return C.set(f,{...v,treeNodes:ci(v.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},Ni=(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)=>Ni(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=Ni(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:v,updateDataQueries:C,limitMessages:w,filterIconClassName:x})=>{const{titles:S}=we(),{modalState:y,setModalState:M,isModalClosed:N,setIsModalClosed:T}=bi(),[D,R]=c.useState([]),[I,A]=c.useState([]),[F,V]=c.useState(),[k,Y]=c.useState([]),[G,Q]=c.useState(void 0),P=c.useRef(a||[]),[K,q]=c.useState([]),[X,ee]=c.useState(),[pe,ve]=c.useState(),[se,O]=c.useState(!1),W=c.useRef(0),ce=c.useRef(!1),me=c.useCallback(()=>{W.current+=1,W.current===1&&O(!0)},[]),ue=c.useCallback(()=>{W.current=Math.max(W.current-1,0),W.current===0&&O(!1)},[]),je=c.useCallback(Z=>{const fe=t?.find(ze=>ze.id===Z.id);if(!fe)return;const re=b.getKeyFromUrn(fe.localRepresentation?.enumeration);if(re)return re;const le=b.findCodelistByDimension(s?.codelists,s?.conceptSchemes,fe);return le?b.getKeyFromUrn(le.urn)??b.generateShortUrn(le.id,le.version,le.agencyID):void 0},[t,s?.codelists,s?.conceptSchemes]),{hierarchyStateMap:Ee,rebuildHierarchyTree:_,loadAvailableHierarchies:H,onSelectHierarchy:ae,onExpandHierarchyNode:oe}=Mi({getCodelistUrnForFilter:je,getConstraintsForFilter:()=>P.current,getSourceArtefactUrn:Z=>pi(Z.id,s),getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),ie=Z=>{const fe=Z?D.map(re=>Pe(re,Z)?Z:re):D;ve(!0),R(Jt(fe)),ee?.(!0),de(Z?.isTimeDimension?Xt(fe,Z):fe,R,ee,Z)};c.useEffect(()=>{y===E.PopUpState.Closed&&q(P.current)},[y]);const de=c.useCallback((Z,fe,re,le)=>{const ze=l?.urn??"",U=Nt(yn(Z).filter(L=>L.componentCode!==b.TIME_PERIOD)),B=et(ze,U),te=!!e?.getConstraints&&!En(e.getConstraints,B);te&&me(),(e?nt(e.getConstraints,B,()=>e.getConstraints(ze,U)):Promise.resolve(void 0)).then(L=>{const z=L?.data?.dataConstraints||[];if(le){const{filters:Fe,changed:xe}=Vl(Z,t,s,z,le,m);if(xe){P.current=z,re?.(!0),ve(!0),de(Fe,fe,re,le);return}}const ne=Gt(Z,t,s,z,m);if(P.current=z,re?.(!1),fe(ne),le){const Fe=ne.find(xe=>Pe(xe,le));V(xe=>xe&&Fe&&Pe(xe,le)?{...Fe,isSelectedFilter:!0}:xe),_(le,z)}}).catch(()=>{const L=Gt(Z,t,s,[],m);if(P.current=[],re?.(!1),fe(L),le){const z=L.find(ne=>Pe(ne,le));V(ne=>ne&&z&&Pe(ne,le)?{...z,isSelectedFilter:!0}:ne)}}).finally(()=>{ve(!1),te&&ue()})},[e,l?.urn,t,ue,m,_,me,s]);c.useEffect(()=>{const Z=vo(t,s,n,m),fe=t?.map(le=>{const ze=b.findCodelistByDimension(s?.codelists,s?.conceptSchemes,le),U=b.getAvailableCodesFromConstrains(ze?.codes,le.id,P.current,m);return{...le,dimensionValues:U}}),re=Z.map(le=>{const ze=fe?.find(U=>U.id===le.id)?.dimensionValues||[];return{...le,dimensionValues:ze}});if(!ce.current){if(!s)return;const le=Mo(re,l,P.current);ee?.(!0),de(le,A,ee),ce.current=!0}},[t,n,s,l,m,a,de]),c.useEffect(()=>{I?.length&&Y(sn(I))},[I]),c.useEffect(()=>{R(Z=>Xt(Z,F))},[F]),c.useEffect(()=>{if(y===E.PopUpState.Opened){const Z=I.find(fe=>!fe.isTimeDimension);V(Z?{...Z,isSelectedFilter:!0}:void 0),R(I)}y===E.PopUpState.Closed&&V(void 0)},[I,y]),c.useEffect(()=>{if(!F||F.isTimeDimension)return;const Z=Ke(F);if(!Z)return;Ee.get(Z)||H(F)},[F,Ee,H]),c.useEffect(()=>{y===E.PopUpState.Opened&&I.forEach(Z=>{if(Z.isTimeDimension)return;const fe=Ke(Z);fe&&!Ee.has(fe)&&H(Z)})},[y,I,Ee,H]);const ge=c.useCallback(async Z=>{const fe=Oo(Z),re=p?{...p,messages:Ti(p?.messages,d,void 0,fe,l)}:null;g?.(re),C?.(Pl(d,void 0,fe,l)),await v(decodeURI(f),{name:re?.name,messages:re?.messages||[]})},[l,p,f,d,g,v,C]),Re=c.useCallback((Z,fe)=>{R(re=>bo(re,Z,fe)),Pe(F,Z)&&V(re=>re&&{...re,displayMode:fe})},[F]),De=c.useCallback(Z=>Po(Z,t),[t]),Ce=c.useMemo(()=>vn(De(D),De(I)),[D,I,De]),Te=c.useCallback((Z,fe)=>{const re=Gt(fe,t,s,Z,m);P.current=Z,V(le=>re?.find(ze=>Pe(ze,le))||le),R(re),ve(!1)},[t,m,s]),Me=c.useCallback(Z=>{ve(!0),R(Jt(Z));const fe=l?.urn??"",re=Nt(yn(Z).filter(B=>B.componentCode!==b.TIME_PERIOD)),le=et(fe,re),ze=!!e?.getConstraints&&!En(e.getConstraints,le);ze&&me(),(e?nt(e.getConstraints,le,()=>e.getConstraints(fe,re)):Promise.resolve(void 0)).then(B=>{Te(B?.data?.dataConstraints||[],Z)}).catch(()=>{Te([],Z)}).finally(()=>{ze&&ue()})},[e,l?.urn,ue,me,Te]),Ue=c.useCallback(Z=>{const fe=Eo(D,Z);Me(fe)},[Me,D]),Oe=c.useCallback(()=>{P.current=K,M(E.PopUpState.Closed),T(!0)},[K,M,T]),$e=c.useCallback(()=>{const Z=To(D);Me(Z)},[Me,D]),Le=c.useCallback(()=>{const Z=De(D);u?.(Z,P.current,D),A(D),M(E.PopUpState.Closed),T(!0),c.startTransition(()=>{ge(D)})},[De,D,u,ge,P,M,T]),ke=Z=>{Q(Z)},He=Number(b.getTimeSeriesCount(P?.current?.[0]?.annotations)),st=X||pe||Ce;return i.jsxs("div",{className:"filters-container",children:[i.jsx(wi,{buttonProps:o,selectedFiltersCount:Pn(k),isLoading:X,setModalState:M,isModalClosed:N,warningIcon:w?.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:Oe,closeButtonTitle:S?.close||"Close",children:[i.jsx(hi,{locale:m,timeRangeOptions:h,filtersList:D,selectedFilter:F,isDisableValues:pe,isValuesLoading:se,modalProps:r,initialConstraints:a,timeSeriesCount:`${He}`,setSelectedFilter:V,onSelectDisplayMode:Re,onDeleteFilter:Ue,onClearAllFilters:$e,updateSelectedFilterValues:ie,onTimePeriodChange:ke,selectedTimeOption:G,hierarchyStateMap:Ee,onSelectHierarchy:ae,onExpandHierarchyNode:oe,dataQueries:l?[l]:void 0,disabledDatasetUrns:kl,onToggleDataset:()=>{},onClearAllDatasets:()=>{}}),i.jsx(gi,{onApply:Le,onClose:Oe,onClearAllFilters:$e,modalProps:r,applyDisabled:st,timeseriesLength:He,limitMessages:w})]})})]})},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:$("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:$("px-3 py-4 rounded border mt-3","attachment-collapsed"),children:i.jsxs("p",{className:$("flex body-3 items-center"),children:[e,i.jsxs("span",{className:"ml-2",children:[" ",t]})]})}),Gl=e=>Ne.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Ne.createElement("circle",{cx:32,cy:12,r:10,fill:"white"})),zl=e=>Ne.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Ne.createElement("circle",{cx:12,cy:12,r:10,fill:"white"})),Ds=[{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}],ys=({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:v,externalLink:C})=>{const w=$l(a),[x,S]=c.useState(Ds[0]),[y,M]=c.useState(w[0]),[N,T]=c.useState(!0),[D,R]=c.useState(()=>new Set(m?.map(Y=>Y.urn)??[])),I=c.useRef(!1);c.useEffect(()=>{R(new Set(m?.map(Y=>Y.urn)??[]))},[m]);const A=c.useCallback(Y=>{R(G=>{const Q=new Set(G);return Q.has(Y)?Q.delete(Y):Q.add(Y),Q})},[]),F=m!==void 0&&(m.length===0||D.size===0),V=c.useCallback(()=>{if(I.current)return;const Y=x.value,G=(q,X,ee,pe)=>({dataQuery:q,urn:X,name:ee,rowCount:pe,fileName:`${ee}.${Y}`,filters:Yl(s,q,r,l)}),P={items:m&&m.length>0?m.filter(q=>D.has(q.urn)).map(q=>G(q.dataQuery,q.urn,q.name,q.rowCount)):[G(e,e?.urn||d||"",t||e?.urn||d||"",h??0)],dataFormat:Y,dataFormatTitle:x.title,attribute:y.value,language:o,isMetadata:N};if(!p(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]),k=i.jsxs("div",{className:$("download-metadata flex cursor-pointer gap-4",{"download-metadata-active":N}),children:[N?i.jsx(Gl,{width:44,height:24,className:"text-primary",onClick:()=>T(!N)}):i.jsx(zl,{width:44,height:24,className:"text-neutrals-500",onClick:()=>T(!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&&v&&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(ys,{title:a?.dataFormat||"Data Format",selectedValue:x,setSelectedValue:S,items:Ds,collapsible:u,infoMessage:i.jsx(E.DownloadFormatMessage,{limitMessages:g,query:C})}),x.value===b.SdmxDataFormat.CSV&&i.jsx(ys,{title:a?.attributes||"Attributes",selectedValue:y,setSelectedValue:M,items:w,collapsible:u}),m&&i.jsxs(i.Fragment,{children:[i.jsx(Wl,{title:a?.datasetsToDownload||"Datasets to download",items:m,selectedUrns:D,onToggle:A,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: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:F||f,onClick:V})]})]})},Zl=({id:e,title:t,version:n,agency:s,isActive:o,isSingleTab:r,onSelectDataset:l})=>i.jsx("div",{className:$("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:$("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:$("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]})]})})},Ii=({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})},Es=(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}=Es(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(v=>v?.urn===d?.urn),{structures:u,conceptSchemes:m,codelists:h,dimensions:f}=Es(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(v=>{if(v.valuesTitles?.length)return v;const C=l.get(v.id);return C?.length?{...v,valuesTitles:C}:null}).filter(v=>v!==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},Ai=e=>Ne.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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=>Ne.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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=>Ne.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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=>Ne.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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:v}=Ye(),C=c.useCallback((x,S="")=>o?Il(x)||Wt(x)?i.jsx(Ai,{className:S}):rt(x)||mt(x)?i.jsx(oc,{className:S}):Un(x)?i.jsx(ic,{className:S}):yi(x)||Bn(x)?i.jsx(sc,{className:S}):null:null,[o]),w=c.useCallback(x=>rt(x)?r||"Data Grid":x.title,[r]);return c.useEffect(()=>{if(v&&Wt(e)){const{title:x,description:S}=at(Ve.CHARTS,l);u(x),h(S)}},[e,l,v]),c.useEffect(()=>{if(Wt(e)&&v){const x=g?.lastDisplayedElement===Ve.CHARTS;p(x),x&&d?.current?.scrollIntoView({block:"end",behavior:"smooth"})}},[g?.lastDisplayedElement,e,v]),i.jsxs("div",{ref:d,className:$("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:w(e),children:w(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,showAdvancedView:u,onOpenAdvancedView:m,isTableSettingsOpen:h,onTableSettingsOpen:f})=>{const{isTableSettingsFeatureEnabled:p}=Ge(),{isOpenedAdvancedView:g}=We(),{titles:v}=we(),{onboardingFileSchema:C,isShowOnboarding:w}=Ye(),x=c.useRef(null),[S,y]=c.useState(""),[M,N]=c.useState(""),[T,D]=c.useState(!1);c.useEffect(()=>{if(w){const{title:k,description:Y}=at(Ve.OPEN_ADVANCED_VIEW,v);y(k),N(Y)}},[v,w]),c.useEffect(()=>{if(w){const k=C?.lastDisplayedElement===Ve.OPEN_ADVANCED_VIEW;D(k),k&&x?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[C?.lastDisplayedElement,w]);const R=p&&!u&&!!f&&!!(n&&(rt(n)||mt(n))),I=!!n&&(rt(n)||mt(n)),A=!!u&&!g,F=g&&s?.hideDownloadIconInAdvancedView?void 0:s?.downloadIcon,V=!g&&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})}),I&&i.jsx(E.Button,{title:V,buttonClassName:"text-button-tertiary small-icon-button !p-0 !h-6",textClassName:$("ml-1",s?.downloadButtonTextClassName),onClick:a,iconBefore:F}),I&&A&&i.jsx("span",{className:"advanced-view-button-divider","aria-hidden":"true"}),A&&i.jsx("div",{ref:x,children:i.jsx(E.Button,{title:s?.advancedViewTitle,buttonClassName:"advanced-view-button",textClassName:"ml-1 h4 md:hidden",iconBefore:s?.openAdvancedViewIcon,onClick:m})}),R&&i.jsx(E.Button,{disabled:h,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:f}),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??"")})]}),T&&i.jsx(lt,{reference:x,title:S,description:M,onReferenceClick:m,shouldCloseTooltip:g})]})},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)})})})]})},ji="json";function dc(e){return mc(e)?uc(e?.slice(ji.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(ji)||!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=>Ne.createElement("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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"})})]})})},Ri=({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($s,{option:e.config,className:"size-full",style:{width:"100%",height:"100%"}})]}),i.jsx(Ri,{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:v}=Ge(),[C,w]=c.useState(!1),x=c.useMemo(()=>Sc(e.value),[e.value]),S=c.useCallback(()=>{r(M=>M??x),s(!0)},[x]),y=c.useCallback(()=>{s(!1),w(!0)},[]);return c.useEffect(()=>{if(g){const{title:M,description:N}=at(Ve.CHART_PER_SERIES,t);a(M),m(N)}},[t,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Ve.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(Ai,{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:v?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",Li="chartCell",Fi="mergedDimensionCell",Pi="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 _i(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:v}=yc(p);d(v),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})})},Vi=e=>Ne.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Ne.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 Oi(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 ki=({isExpanded:e,onToggle:t,title:n})=>i.jsx(E.IconButton,{title:n,buttonClassName:$("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}=Oi(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:$("flex items-center",a&&"justify-between"),children:[i.jsx("h2",{title:e,className:"metadata-item-title",children:e}),a&&i.jsx(ki,{isExpanded:d,onToggle:u})]}),i.jsx("p",{title:r,className:$("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}=Oi(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(ki,{isExpanded:r,onToggle:d})]}),i.jsx("p",{ref:o,title:t,className:$("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),v=t.find(S=>S?.id===it.lastUpdated),C=n?.dataset||p,w=n?.agency||g,x=n?.lastUpdated||v;return{dataset:C,agency:w,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,Ui=(e,t)=>Object.entries(e?.data).filter(([n])=>t?.get(n)).map(([n,s])=>({name:n,value:String(s)})),Ts=(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=>Ts(a,n,l)):Ts(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}),Hi=(e,t,n)=>({title:b.getDimensionTitle(e?.conceptSchemes,b.getDimensions(e)?.timeDimensions?.[0],t),value:n?.colId||""}),Bi=(e,t)=>({title:t?.observation||"Observation",value:e}),Gi=(e,t,n,s,o,r)=>{const l={title:s?.timeSeries||"Time Series",value:r?.originalData?.name};return n?[Hi(e,t,o),l,Bi(n,s)]:[l]},zi=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},Ms=(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},$i=(e,t,n)=>e?.map(s=>{const o=s?.id,r=s?.values?.[0]?.value,l=(typeof r=="object"?Ms(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"?Ms(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]},Wi=(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=Wi(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=>Wi(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 Qe(...e){return $c($(...e))}function Wc({title:e,headerExtension:t,headerClassName:n,onClose:s,bodyClassName:o,panelClassName:r,children:l}){return i.jsxs("div",{className:Qe("h-full w-[362px] bg-white border-l border-neutrals-500 flex flex-col overflow-hidden",r),children:[i.jsxs("div",{className:Qe("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:Qe("flex-1 min-h-0 overflow-hidden",o),children:l})]})}const Ki=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(Ki.Provider,{value:l,children:e})}function Yi(){return c.useContext(Ki)}function ht(){const e=Yi();if(!e)return null;const{openPanel:t,closePanel:n,isPanelOpen:s}=e;return{openPanel:t,closePanel:n,isPanelOpen:s}}function qi({scope:e}){const t=Yi();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&&Qn.isValid(new Date(e))?Qn.format(new Date(e),n,t===J.Locale.UK?{locale:Mr.uk}:void 0):""},Zi=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(),v=ht(),{isMetadataInSidePanel:C}=Ge(),[w,x]=c.useState(!1),S=e?.data?.dataset?.urn,y=cn(e?.context,S),M=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]),T=c.useMemo(()=>b.getStructureComponentsMap(M),[M]),D=c.useMemo(()=>[Ft(M?.dataflows?.[0],e?.locale,t),...At(Ui(e,T),T,e?.locale),...At(Vc(e),T,e?.locale),...zc(N,M?.dataStructures?.[0],T,e?.data?.originalData?.parsedTimeSeriesValue,e?.locale)],[e,M,N,T,t]),R=c.useMemo(()=>Gi(M,e?.locale,e?.valueFormatted||e?.value,t,e?.colDef,e?.data),[e,M,t]),I=c.useMemo(()=>{const V=M?.dataflows?.[0],k=_t(b.getLastUpdatedTime(V),e?.locale);return Pt(V,k,e?.locale,t)},[M,e?.locale,t]),A=c.useCallback(()=>{if(C&&v){v.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?R:[]})}),x(!0);return}o(!0)},[C,g,D,R,I,y,e?.locale,e?.metadataSettings?.isMetadataDescription,t,v]),F=c.useCallback(()=>{o(!1),x(!0)},[]);return c.useEffect(()=>{if(p){const{title:V,description:k}=at(Ve.METADATA_PER_SERIES,t);d(V),u(k)}},[t,p]),c.useEffect(()=>{if(p){const V=f?.lastDisplayedElement===Ve.METADATA_PER_SERIES&&e.node.rowIndex===0;h(V),V&&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(Vi,{className:"size-5"}),onClick:A})}),m&&i.jsx(lt,{reference:r,title:l,description:a,onReferenceClick:A,shouldCloseTooltip:w}),s&&i.jsx($n,{locale:e?.locale,metadata:D,metadataDescription:e?.metadataSettings?.isMetadataDescription?R:[],isOpenMetadata:s,onCloseMetadata:F})]})},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(Ui(e,s),s,e?.locale),...e?.metadataSettings?.isMetadataDescription?[]:[Hi(n,e?.locale,e?.colDef),Bi(o,e?.titles)],...r],d=e?.metadataSettings?.isMetadataDescription?Gi(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})]})},Xi=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})},Ji=({ref:e,fixHeight:t,gridHeight:n,children:s})=>i.jsx("div",{ref:e,className:$("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,v]=c.useState(400),C=c.useRef(null),[w,x]=c.useState(""),[S,y]=c.useState(""),[M,N]=c.useState(!1),{isShowOnboarding:T,onboardingFileSchema:D,setOnboardingFileSchema:R}=Ye();c.useEffect(()=>{if(e.grid_data==null)u(!0);else{const k=e.grid_data.columns.map(Y=>Y.colId===It?{...Y,hide:!n}:Y);h(e.grid_data.data),p(k),u(!1)}},[e.grid_data,n]),c.useEffect(()=>{m?(v(zn(m.length)),r?.(m.length>=E.SERIES_LIMIT)):r?.(!1)},[m,r]),c.useEffect(()=>{if(T){const{title:k,description:Y}=at(Ve.DATA_GRID,d);x(k),y(Y)}},[d,T]),c.useEffect(()=>{D&&!D?.infoElements?.dataGrid&&R?.({...D,infoElements:{...D?.infoElements,dataGrid:!0},lastDisplayedElement:Ve.DATA_GRID})},[D,R]),c.useEffect(()=>{if(T){const k=D?.lastDisplayedElement===Ve.DATA_GRID;N(k),!a&&!t&&k&&setTimeout(()=>{C?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[D?.lastDisplayedElement,T,t,a]);const I=c.useCallback(k=>{l?.(k.api)},[l]),A=c.useMemo(()=>({externalLink:o}),[o]),F=c.useMemo(()=>({[ln]:Zi,[an]:Xi,[Li]:Gn}),[]),V=c.useMemo(()=>i.jsx(Rn.AgGridReact,{onGridReady:I,headerHeight:Rt,rowHeight:rn,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:A,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:F,valueCache:!0}),[m,f,I,A,F]);return a||t?i.jsx(E.Loader,{}):i.jsxs("div",{className:"size-full",children:[i.jsx(Ji,{ref:C,fixHeight:s,gridHeight:g,children:V}),M&&i.jsx(lt,{reference:C,title:w,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(Ve.CHARTS_NAVIGATION,r);a(x),m(S)}},[r,g]),c.useEffect(()=>{if(g){const x=p?.lastDisplayedElement===Ve.CHARTS_NAVIGATION;f(x),x&&l?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[p?.lastDisplayedElement,g]);const v=t>0?e/t*100:0,C=t>0?Math.min(td*t,ed):0,w=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:$("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:`${v}%`,width:`${w}px`}})}),i.jsxs("h5",{className:"text-neutrals-800",children:[e+1,"/",t]})]}),i.jsx("div",{className:$("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:Qe("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(w=>{const x=w.option.name||"";p+=id(l,x,u)});const v=Math.max(1,Math.ceil(p/a))*(+m+ +h+6),C=20;o(w=>({...w,grid:{...w.grid||{},bottom:v+C}}))},[e.legend]);return c.useEffect(()=>{r();const l=()=>{r()};return window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},[e,r]),i.jsx($s,{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,v]=c.useState(0),[C,w]=c.useState(void 0),[x,S]=c.useState(),{onboardingFileSchema:y,isShowOnboarding:M,setOnboardingFileSchema:N}=Ye(),T=c.useRef(null),{charting_data:D,getChartingData:R}=e;c.useEffect(()=>{if(v(0),D){h(D),u(!1);return}if(!R){h(void 0),u(!0);return}return u(!0),jt(()=>{try{h(R())}catch(F){console.error("Error building chart data",F),h({units:[]})}finally{u(!1)}})},[D,R]),c.useEffect(()=>{const F=m?.groups??[],V=m?.units??[];p(F.length>0?F.flatMap(k=>k.units.map(Y=>({unit:Y,groupTitle:k.title}))):V.map(k=>({unit:k})))},[m]),c.useEffect(()=>{const F=f.length>g,V=F?f[g]:f[0];w(!a&&V!=null?V.unit:void 0),S(V?.groupTitle),F||v(0)},[a,f,g]),c.useEffect(()=>{y&&M&&!a&&(El(y)&&(N?.(yl(y)),T?.current?.scrollIntoView({block:"center",behavior:"smooth"})),y.lastDisplayedElement===Ve.CHART_PER_SERIES&&N?.(Si(y)))},[a,N,y,M]);const I=c.useCallback(()=>{v(F=>Math.min(F+1,f.length-1))},[f.length]),A=c.useCallback(()=>{v(F=>Math.max(F-1,0))},[]);return a||n?i.jsx(E.Loader,{}):i.jsx("div",{className:"chart-attachment size-full",ref:T,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:$("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:A})]})]}),i.jsx(Ri,{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:Qe(["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",Ns="dataset_name",dd="Agency",Is="agency",ud="Country dimensions",Vt="country_aggregated",md="Indicator dimensions",Ot="indicator_aggregated",fd="Frequency",dn="frequency_aggregated",Qi=".";function As(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 js=["columnVisible","columnMoved","displayedColumnsChanged","newColumnsLoaded","gridColumnsChanged","columnPinned"];function er(e,t){c.useEffect(()=>{if(e){for(const n of js)e.addEventListener(n,t);return()=>{for(const n of js)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=As(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,As(t))},[e,t]),u=c.useCallback(()=>{l.current.delete(e)},[e]),m=c.useCallback(()=>{r.current.delete(e),o(null)},[e]);return er(t,a),{gridApi:t,onGridApiReady:d,initialColumnsState:s,clearUserColumnState:u,clearInitialColumnState:m}}var Ze=(e=>(e.Compact="compact",e.Extended="extended",e))(Ze||{});const Wn=c.createContext(null);function gd({currentUrn:e,structuresMap:t,locale:n,dataQueries:s,gridViewMode:o=Ze.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]),[v,C]=c.useState(new Map),w=c.useCallback((N,T,D)=>{C(R=>{const I=new Map(R),A=new Map(I.get(N)??[]),F=A.get(T)??{order:[],hidden:new Set};return A.set(T,D(F)),I.set(N,A),I}),u?.refreshCells({columns:[T]})},[u]),x=c.useCallback((N,T,D)=>{w(N,T,R=>({...R,order:D}))},[w]),S=c.useCallback(()=>{C(new Map)},[]),y=c.useCallback((N,T,D,R)=>{w(N,T,I=>{const A=new Set(I.hidden);return R?A.add(D):A.delete(D),{...I,hidden:A}})},[w]),M=c.useMemo(()=>({gridApi:u,onGridApiReady:m,initialColumnsState:h,structuresMap:t,locale:n,dataQueries:s,dimensionCustomization:v,setDimensionKeyOrder:x,setDimensionKeyHidden:y,resetDimensionCustomization:S,clearUserColumnState:f,clearInitialColumnState:p,gridViewMode:o,setGridViewMode:g,texts:l,resetIcon:d}),[u,h,m,t,n,s,v,x,y,S,f,p,o,g,l,d]);return i.jsx(Wn.Provider,{value:M,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 tr(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=tr(e,t,s),l=n?.codes?.find(d=>d.id===r);return b.getLocalizedName(l,o)}function xd(e,t,n,s,o=Ze.Compact){const r=o===Ze.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(Qi)};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:nr(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(nr(e,t,s),e,o,t,n,s),hide:!0}}function nr(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:Fi,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 sr(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?sr(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 Rs(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 sr(Rs(e.colId,u),C).map(S=>Dt(a,S,e.data,e.locale)).filter(Boolean).join(Qi)},[m,a,u,l,e.valueFormatted,e.value,e.colId,e.data,e.locale]),f=c.useMemo(()=>{if(!a||!u)return[];const C=Rs(e.colId,u),w=b.getStructureComponentsMap(a),x=C.filter(S=>e.data[S]!=null).map(S=>({name:S,value:String(e.data[S])}));return At(x,w,e.locale)},[a,u,e.colId,e.data,e.locale]),p=c.useMemo(()=>{const C=a?.dataflows?.[0];if(!C)return;const w=_t(b.getLastUpdatedTime(C),e.locale);return Pt(C,w,e.locale,t)},[a,e.locale,t]),g=o&&!!s&&!!e.value&&![dn,Vt].includes(e.colId),v=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:v})]})},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(()=>$i(zi(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,v]=c.useState(400),C=c.useRef(null),w=c.useRef([]);c.useEffect(()=>{if(e.gridContent==null)u(!0);else{const N=e.gridContent.columns.map(T=>T.colId===It?{...T,hide:!n}:T);h(e.gridContent.data),p(N),u(!1)}},[e.gridContent,n]),c.useEffect(()=>{m?(v(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),T=w.current,D=new Set(T),R=N.length!==T.length||N.some(I=>!D.has(I));w.current=N,R&&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]:Zi,[an]:Xi,[Fi]:Rd,[Li]:Gn,[Pi]:Fd}),[]),M=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(Ji,{fixHeight:s,gridHeight:g,children:M})})},_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}),yi(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,v,C)=>({type:E.AlertType.IN_PROGRESS,title:o(g,p.items.length),text:r(C,p.dataFormatTitle),progress:{current:v,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)},[]),v=c.useCallback(()=>{f.current=!0,a.current?.abort(),g()},[g]),C=c.useCallback(()=>{const D=u.current;!D||!m.current||m.current(D)},[]),w=c.useCallback(D=>(D instanceof DOMException||D instanceof Error)&&D.name==="AbortError",[]),{getStartedAlertDetails:x,getInProgressAlertDetails:S,getSuccessAlertDetails:y,getErrorAlertDetails:M}=Od({attachmentsStyles:e,onCancel:v,onRetry:C}),N=c.useCallback(async D=>{if(!h.current){h.current=!0,r(!0),f.current=!1,u.current=null;try{const R=[],I=D.items.length>1;I||p(x(D));for(const[A,F]of D.items.entries()){if(f.current)return;I&&p(S(D,A+1,A,F.name));const V=new AbortController;a.current=V;try{await t(F.urn,D.dataFormat,D.language,D.attribute,F.filters,F.fileName,D.isMetadata,V.signal)}catch(k){if(w(k)&&f.current)return;R.push(F),console.error("Failed to download dataset",k)}finally{a.current===V&&(a.current=null)}A<D.items.length-1&&await new Promise(k=>window.setTimeout(k,kd))}if(f.current)return;if(R.length>0){const A={...D,items:R};u.current=A,p(M(A));return}p(y(D))}finally{a.current=null,h.current=!1,r(!1)}}},[t,M,S,x,y,w,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}}};Jn.ModuleRegistry.registerModules([Jn.AllCommunityModule]);const or=({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:v,onAdvancedViewOpen:C,isTableSettingsOpen:w,onTableSettingsOpen:x,onTableSettingsClose:S,onGridApiReady:y})=>{const{titles:M,messageStyles:N,attachmentsStyles:T,limitMessages:D,attachmentsConfig:R}=we(),{isCrossDatasetModeOn:I}=Ge(),[A,F]=c.useState(0),{isOpenedAdvancedView:V,setIsOpenedAdvancedView:k}=We(),[Y,G]=c.useState(E.PopUpState.Closed),[Q,P]=c.useState(!1),[K,q]=c.useState(!1),X=b.DownloadType.DATA_IN_TABLE,ee=c.useMemo(()=>{if(!I||!l?.some(ie=>ie.disabled))return a;const oe=new Set(l.filter(ie=>!ie.disabled).map(ie=>ie.urn));return a?.filter(ie=>{const de=b.generateShortUrn(ie?.id,ie?.version,ie?.agencyID);return oe.has(de)})},[a,l,I]),pe=oe=>{F(oe)},ve=c.useCallback(()=>{C?.(),k(!0),t.updateCurrentDataQuery(r||l?.[0]),t.updateDataQueries(l),t.updateDatasets(a)},[t,r,l,a,k,C]),se=e[A]||null;c.useEffect(()=>{P(h&&(a==null||a?.length==0))},[a,h]),c.useEffect(()=>{w&&se&&!rt(se)&&!mt(se)&&S?.()},[w,se,S]);const O=c.useCallback(()=>{G(E.PopUpState.Closed)},[G]),W=R?.isExternaLinkIncludeFilters,ce=Nn(W,g,r||l?.[0],p),me=c.useMemo(()=>l?.length?new Map(l.map(ie=>[ie.urn,Nn(W,void 0,ie)])):void 0,[l,W]),ue=c.useMemo(()=>{if(!se||!mt(se))return;const ie=se.gridContent?.data??[],de=new Map,ge=new Map;for(const Re of ie){const{dataset:De,datasetTitle:Ce}=Re,Te=De?.urn;Te&&(de.set(Te,(de.get(Te)??0)+1),!ge.has(Te)&&Ce&&ge.set(Te,Ce))}return Array.from(de.entries()).map(([Re,De])=>({urn:Re,name:ge.get(Re)??Re,rowCount:De,dataQuery:l?.find(Ce=>Ce.urn===Re)}))},[se,l]),je=c.useMemo(()=>{if(se){if(rt(se))return se.grid_data?.data?.length;if(mt(se))return se.gridContent?.data?.length}},[se]),{startDownload:Ee,isDownloadRunning:_,downloadAlertProps:H}=Ud({attachmentsStyles:T,downloadDataSet:t.downloadDataSet});if(!e||e.length===0)return null;const ae=!V&&Q||!!m;return i.jsx(i.Fragment,{children:V&&!s?i.jsx(Bl,{icon:N?.advanceViewIcon,title:N?.openAdvanceViewTitle??"Opened in Advanced view"}):i.jsxs("div",{className:$("space-y-3 max-w-full max-h-full h-full",!V&&!n?"pt-5":"pt-0","flex flex-col pb-1"),children:[!V&&ee?.length!=null&&ee?.length>0&&i.jsx(Ii,{datasets:ee,initialSelectedDatasetUrn:u,locale:f,selectDataset:v}),ae?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[n&&!V&&i.jsx(Hl,{titles:{queryUpdatedManuallyTitle:M?.queryUpdatedManually,setToTitle:M?.setTo,datasetLabel:M?.dataset},datasetIcon:T?.datasetIcon,attachmentInfoList:d,dataQueries:l}),K&&i.jsx(E.RequestLimitMessage,{limitMessages:D,showAdvancedViewButton:!!se&&Al(se)&&o,onAdvancedViewClick:ve,query:ce}),i.jsx("div",{className:$(!V&&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:A,selectedAttachment:se,attachmentsStyles:T,externalLink:ce,isExternalLinkIncludeFilters:W,limitMessages:D,onSelectedAttachmentChange:pe,onDownloadClick:()=>G(E.PopUpState.Opened),showAdvancedView:o,onOpenAdvancedView:ve,isTableSettingsOpen:w,onTableSettingsOpen:x}),se!=null&&i.jsx(_d,{selectedAttachment:se,actions:t,attachmentsStyles:T,isDataLoading:m,isOpenedAdvancedView:V,onOpenAdvancedView:ve,showLimitMessage:q,onGridApiReady:y,externalLink:ce,externalLinksMap:me})]})}),i.jsxs(i.Fragment,{children:[Y===E.PopUpState.Opened&&i.jsx(ql,{onCloseModal:O,onDownloadStart:Ee,isDownloadInProgress:_,dataQuery:r,datasetName:se?.title||"",locale:f,type:X,dimensions:p,filters:g,urn:r?.urn,titles:T?.downloadTitles,rowCount:je,collapsible:T?.downloadCollapsible,downloadDatasets:ue,limitMessages:D,showLimitMessage:K,externalLink:ce}),i.jsx(Vd,{...H})]})]})]})})},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)},[]);er(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]),v=c.useCallback(S=>{if(!e)return;if(Sn(S.itemId)&&r){const{urn:M,dimensionKey:N}=Tt(S.itemId),T=S.path[0];r(M,T,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:T,dimensionKey:D}=Tt(S.itemId),R=S.path[0],I=wn(f,S.path);I?.type==="item"&&r(T,R,D,I.isChecked??!0);return}const y=wn(f,S.path);if(!y||!p.has(y.id))return;const N=!(e.getColumnState().find(T=>T.colId===y.id)?.hide??!1);e.applyColumnState({state:[{colId:y.id,hide:N}]}),m()},[e,f,p,m,r]),w=c.useCallback(S=>{const y=S.path[S.path.length-1];u(M=>{const N=new Set(M);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),M=new Set(h.map(D=>D.id)),N=An(S,D=>p.has(D.id)),T=Wd(y,N,M);if(e.applyColumnState({state:T.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(R=>R.type==="group"))for(const R of D.items){if(R.type!=="group")continue;const I=R.items.filter(V=>V.type==="item");if(I.length<=1)continue;const A=R.id,F=I.map(V=>Tt(V.id).dimensionKey);o(A,D.id,F)}else{const R=D.items.filter(F=>F.type==="item");if(R.length<=1||!Sn(R[0].id))continue;const{urn:I}=Tt(R[0].id),A=R.map(F=>Tt(F.id).dimensionKey);o(I,D.id,A)}}},[e,h,p,m,o]);return{items:f,visibleItems:g,handleToggleChecked:v,handleToggleExpanded:w,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:v,handleToggleExpanded:C,handleItemClick:w}=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:v,onToggleExpanded:C,onItemClick:w,renderLabel:s})})]})}const Zd={},Xd={map:Zd,getDimensionsMetadata:()=>{},getDimensionMetadata:()=>{},getRegionDimension:()=>{},getFrequencyDimension:()=>{},getIndicatorDimensions:()=>[],getDimensionsScheme:()=>{}},qn=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(qn.Provider,{value:n,children:t})}function fn(){return c.useContext(qn)}function hn(){return c.useContext(qn)}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===Ze.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 Ie=(e=>(e.Header="header",e.Cell="cell",e))(Ie||{}),ye=(e=>(e.Focus="focus",e.Default="default",e))(ye||{});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={[Ie.Header]:{[ye.Focus]:"content-center rounded-sm border border-accent-300 bg-accent-300 text-center text-[8px] font-semibold",[ye.Default]:"rounded-sm bg-semantic-warning border border-accent-300"},[Ie.Cell]:{[ye.Focus]:"content-center rounded-sm border border-accent-300 bg-hues-100 pl-1 text-left text-[8px] font-semibold",[ye.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:Qe([su[o.role][o.emphasis],!o.label&&"text-transparent"]),children:o.label||" "},`${s}-${r}`))},s))}),ou=[[{role:Ie.Header,emphasis:ye.Focus,label:"D1.D2.D3"},{role:Ie.Header,emphasis:ye.Default},{role:Ie.Header,emphasis:ye.Default}],[{role:Ie.Cell,emphasis:ye.Focus,label:"C1.A"},{role:Ie.Cell,emphasis:ye.Default},{role:Ie.Cell,emphasis:ye.Default}],[{role:Ie.Cell,emphasis:ye.Focus,label:"C1.B"},{role:Ie.Cell,emphasis:ye.Default},{role:Ie.Cell,emphasis:ye.Default}],[{role:Ie.Cell,emphasis:ye.Focus,label:"C2.X"},{role:Ie.Cell,emphasis:ye.Default},{role:Ie.Cell,emphasis:ye.Default}]],iu=()=>i.jsx(ir,{rows:ou,style:tu}),ru=[[{role:Ie.Header,emphasis:ye.Focus,label:"D1"},{role:Ie.Header,emphasis:ye.Focus,label:"D2"},{role:Ie.Header,emphasis:ye.Focus,label:"D3"},{role:Ie.Header,emphasis:ye.Default}],[{role:Ie.Cell,emphasis:ye.Focus,label:"C1"},{role:Ie.Cell,emphasis:ye.Focus,label:"A"},{role:Ie.Cell,emphasis:ye.Focus},{role:Ie.Cell,emphasis:ye.Default}],[{role:Ie.Cell,emphasis:ye.Focus,label:"C1"},{role:Ie.Cell,emphasis:ye.Focus,label:"B"},{role:Ie.Cell,emphasis:ye.Focus},{role:Ie.Cell,emphasis:ye.Default}],[{role:Ie.Cell,emphasis:ye.Focus,label:"C2"},{role:Ie.Cell,emphasis:ye.Focus},{role:Ie.Cell,emphasis:ye.Focus,label:"X"},{role:Ie.Cell,emphasis:ye.Default}]],au=()=>i.jsx(ir,{rows:ru,style:nu}),Ls=({title:e,description:t,visual:n,mode:s,activeMode:o,onClick:r})=>i.jsxs("button",{type:"button",className:Qe(["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(Ls,{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:Ze.Compact,activeMode:e,onClick:t}),i.jsx(Ls,{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:Ze.Extended,activeMode:e,onClick:t})]}),Fs="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(),v=hn(),C=Qd(),w=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!==Ze.Compact||!v||!n||!s||!o?.length))return Id({dataQueries:o,structuresMap:n,getDimensionsScheme:v.getDimensionsScheme,getDimensionConfig:(y,M)=>v.map[y]?.[M],locale:s,dimensionCustomization:r})},[h,v,n,s,o,r]);return e?i.jsxs("div",{className:"flex h-full flex-col",children:[i.jsx(lu,{gridViewMode:h,onModeChange:w,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:Fs,scope:"advanced",title:t?.tableSettings||"Table settings",headerClassName:"border-b border-neutrals-500",content:i.jsx(cu,{})})},[s,t?.tableSettings]);return i.jsx(or,{...e,isTableSettingsOpen:s?.isPanelOpen(Fs)??!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:v})=>{const{titles:C}=we(),w=hn(),{modalState:x,setModalState:S,isModalClosed:y,setIsModalClosed:M}=bi(),[N,T]=c.useState([]),[D,R]=c.useState([]),[I,A]=c.useState(),[F,V]=c.useState([]),[k,Y]=c.useState(void 0),G=c.useRef(t?.constraintsMap),[Q,P]=c.useState(),[K,q]=c.useState(),[X,ee]=c.useState(),[pe,ve]=c.useState(!1),se=c.useRef(0),[O,W]=c.useState(new Set),[ce,me]=c.useState(new Set),ue=c.useRef(m);c.useEffect(()=>{ue.current=m},[m]);const je=c.useCallback(()=>{se.current+=1,se.current===1&&ve(!0)},[]),Ee=c.useCallback(()=>{se.current=Math.max(se.current-1,0),se.current===0&&ve(!1)},[]),_=c.useMemo(()=>Za(o,t),[o,t]),H=c.useCallback(j=>wl(j,t?.dimensionsMap,t?.structuresMap),[t?.dimensionsMap,t?.structuresMap]),ae=c.useCallback(j=>H(j).codelistUrn,[H]),oe=c.useCallback(j=>{const L=j.filterType==="dataset"?j.datasetUrn:j.sourceDatasetUrns?.[0];return L?G.current?.get(L):void 0},[]),ie=c.useCallback(j=>H(j).sourceArtefactUrn,[H]),{hierarchyStateMap:de,rebuildHierarchyTree:ge,loadAvailableHierarchies:Re,onSelectHierarchy:De,onExpandHierarchyNode:Ce}=Mi({getCodelistUrnForFilter:ae,getConstraintsForFilter:oe,getSourceArtefactUrn:ie,getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),Te=j=>{const L=j?N.map(z=>Pe(z,j)?j:z):N;ee(!0),T(Jt(L)),q?.(!0),Me(j?.isTimeDimension?Xt(L,j):L,T,q,j)};c.useEffect(()=>{x===E.PopUpState.Closed&&P(G.current)},[x]);const Me=c.useCallback((j,L,z,ne)=>{const Fe=gt(j,G.current,!1,w.map),xe=ms(o,Fe,e,w.map,j);xe&&je();const be=us(o,Fe,e,w.map,j);Promise.allSettled(be).then(tt=>{const Xe=hs(G.current||t?.constraintsMap,fs(tt)),ct={...t,constraintsMap:Xe};if(ne){const{filtersMap:Ut,changed:pt}=Ol(Fe,ct,ne,l,w.map);if(pt){G.current=Xe,z?.(!0),ee(!0);const wr=Et(Ut,ct,l,w.map);Me(wr,L,z,ne);return}}const dt=Et(Fe,ct,l,w.map);if(G.current=Xe,z?.(!1),L(dt),ne){const Ut=dt.find(pt=>Pe(pt,ne));A(pt=>pt&&Ut&&Pe(pt,ne)?{...Ut,isSelectedFilter:!0}:pt),ge(ne,oe(ne))}}).catch(()=>{const tt=G.current||t?.constraintsMap||new Map,Xe=Et(Fe,{...t,constraintsMap:tt},l,w.map);if(G.current=tt,z?.(!1),L(Xe),ne){const ct=Xe.find(dt=>Pe(dt,ne));A(dt=>dt&&ct&&Pe(dt,ne)?{...ct,isSelectedFilter:!0}:dt)}}).finally(()=>{ee(!1),xe&&Ee()})},[e,o,w.map,Ee,oe,l,ge,je,t]);c.useEffect(()=>{if(!_){q(!0);return}const j=qo(t,l),L=o?.map(ne=>{if(!ne.disabled)return ne;const Fe=(j.get(ne.urn)??[]).filter(xe=>xe.filterType==="dataset"&&xe.id&&!xe.isTimeDimension).map(xe=>({componentCode:xe.id,operator:J.QueryFilterType.IN,values:[]}));return{...ne,filters:Fe}}),z=Zo(j,L,t?.constraintsMap,w.map);q?.(!0),Me(z,R,q)},[o,w.map,Me,_,l,t]),c.useEffect(()=>{D?.length&&V(sn(D))},[D]),c.useEffect(()=>{T(j=>Xt(j,I))},[I]),c.useEffect(()=>{if(x===E.PopUpState.Opened){Y(void 0);const j=D.find(z=>!z.isTimeDimension);A(j?{...j,isSelectedFilter:!0}:void 0),T(D);const L=new Set(o?.filter(z=>z.disabled).map(z=>z.urn));W(L),me(L)}x===E.PopUpState.Closed&&A(void 0)},[D,o,x]),c.useEffect(()=>{if(!I||I.isTimeDimension)return;const j=Ke(I);if(!j)return;de.get(j)||Re(I)},[I,de,Re]),c.useEffect(()=>{x===E.PopUpState.Opened&&D.forEach(j=>{if(j.isTimeDimension)return;const L=Ke(j);L&&!de.has(L)&&Re(j)})},[x,D,de,Re]);const Ue=c.useCallback(async j=>{const L=ue.current,z=o?.map(be=>({...be,disabled:O.has(be.urn)})),ne=z?.filter(be=>!be.disabled),Fe=oi(ne,j),xe=L?{...L,messages:Ti(L.messages,z,Fe)}:null;h?.(xe),p?.(z?.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]),Oe=c.useCallback((j,L)=>{T(z=>bo(z,j,L)),Pe(I,j)&&A(z=>z&&{...z,displayMode:L})},[I]),$e=c.useCallback(j=>si(j,o,t?.dimensionsMap),[o,t?.dimensionsMap]),Le=c.useMemo(()=>{const j=gt(D,G.current,!1,w.map),L=gt(N,G.current,!1,w.map),z=vn($e(j),$e(L)),ne=vn([...ce].sort(),[...O].sort());return z&&ne},[D,N,ce,O,$e,w.map]),ke=c.useCallback((j,L)=>{const z=Et(j,L,l,w.map);G.current=L?.constraintsMap,A(ne=>z?.find(Fe=>Pe(Fe,ne))||ne),T(z),ee(!1)},[w.map,l]),He=c.useCallback((j,L)=>{ee(!0),T(Jt(j));const z=gt(j,G.current,!1,w.map),ne=G.current||t?.constraintsMap||new Map,Fe=ms(L,z,e,w.map,j);Fe&&je();const xe=us(L,z,e,w.map,j);Promise.allSettled(xe).then(be=>{const tt=hs(ne,fs(be));ke(z,{...t,constraintsMap:tt})}).catch(()=>{ke(z,{...t,constraintsMap:ne})}).finally(()=>{Fe&&Ee()})},[e,w.map,Ee,je,t,ke]),st=c.useCallback(j=>{const L=o?.find(ne=>ne?.urn===j?.datasetUrn),z=Eo(N,j);He(z,j?.datasetUrn?L?[L]:[]:o)},[He,N,o]),Z=c.useCallback(()=>{W(new Set)},[]),fe=c.useCallback((j,L)=>{W(z=>{const ne=new Set(z);return L?ne.delete(j):ne.add(j),ne})},[]),re=c.useCallback(()=>{G.current=Q,S(E.PopUpState.Closed),M(!0)},[Q,S,M]),le=c.useCallback(()=>{const j=To(N);He(j,o),W(new Set)},[He,N,o]),ze=c.useCallback(()=>{const j=o?.map(be=>({...be,disabled:O.has(be.urn)})),L=gt(N,G.current,!1,w.map,O),z=Et(L,{...t,constraintsMap:G.current},l,w.map),ne=$e(L),Fe=Xo(z,o?.map(be=>be.urn)??[],o,w.map,L),xe=(o?.map(be=>be.urn)??[]).filter(be=>!Fe.has(be));for(const be of xe){const tt=L.get(be);tt&&L.set(be,tt.map(Xe=>!Xe.isTimeDimension&&Xe.dimensionValues?.length&&!Xe.dimensionValues.some(ct=>ct.isSelectedValue)?{...Xe,isExcluded:!0}:Xe))}r?.(ne,G.current,j?.filter(be=>Fe.has(be.urn)||be.disabled),L,z),R(z),S(E.PopUpState.Closed),M(!0),c.startTransition(()=>{Ue(L)})},[$e,N,t,l,w.map,r,o,O,Ue,S,M]),U=j=>{Y(j)},B=c.useMemo(()=>o?.map(j=>{const L=t?.structuresMap?.get(j.urn)?.dataflows?.[0],z=b.getLocalizedName(L,l??""),ne=z?b.generateShortUrn(z,"",L?.agencyID):void 0;return ne?{...j,title:ne}:j}),[o,t?.structuresMap,l]),te=K||X||Le;return i.jsxs("div",{className:"filters-container",children:[i.jsx(wi,{buttonProps:n,selectedFiltersCount:Pn(F),isLoading:K,setModalState:S,isModalClosed:y,warningIcon:g?.warningIcon,filterIconClassName:v}),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:re,closeButtonTitle:C?.close||"Close",children:[i.jsx(hi,{locale:l,timeRangeOptions:d,filtersList:N,selectedFilter:I,isDisableValues:X,isValuesLoading:pe,modalProps:s,initialConstraintsMap:t?.constraintsMap,datasetIcon:a,structuresMap:t?.structuresMap,setSelectedFilter:A,onSelectDisplayMode:Oe,onDeleteFilter:st,onClearAllFilters:le,updateSelectedFilterValues:Te,onTimePeriodChange:U,selectedTimeOption:k,hierarchyStateMap:de,onSelectHierarchy:De,onExpandHierarchyNode:Ce,dataQueries:B,disabledDatasetUrns:O,onToggleDataset:fe,onClearAllDatasets:Z}),i.jsx(gi,{onApply:ze,onClose:re,onClearAllFilters:le,modalProps:s,applyDisabled:te,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:v})=>{const{titles:C}=we(),w="dataset-metadata-side-panel",[x,S]=c.useState(""),[y,M]=c.useState(!1),N=c.useRef(null),[T,D]=c.useState(""),[R,I]=c.useState(""),[A,F]=c.useState(!1),{onboardingFileSchema:V,isShowOnboarding:k}=Ye(),{isOpenedAdvancedView:Y}=We(),G=ht(),{isMetadataInSidePanel:Q}=Ge(),[P,K]=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)],...$i(zi(s),b.getStructureComponentsMap(o),l)],[s,n,l,r?.isMetadataDescription,o,C]),ee=c.useMemo(()=>Pt(n,x,l,C),[n,x,l,C]),pe=c.useCallback(()=>{if(Q&&G){G.openPanel({id:w,scope:Y?"advanced":"conversation",title:"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Lt,{locale:l,metadata:X,metadataDescription:q,datasetInfo:ee,externalLink:a})}),K(!0);return}M(!0)},[q,X,ee,a,Q,Y,l,G]),ve=c.useCallback(()=>{M(!1),K(!0)},[]);c.useEffect(()=>{const W=d&&d(X)||_t(b.getLastUpdatedTime(n),l);S(W)},[n,l,X,d]),c.useEffect(()=>{if(k){const{title:O,description:W}=at(Ve.METADATA_PER_DATASET,C);D(O),I(W)}},[C,k]),c.useEffect(()=>{k&&F(V?.lastDisplayedElement===Ve.METADATA_PER_DATASET)},[V?.lastDisplayedElement,k]);const se=(O,W)=>i.jsxs("div",{className:Qe("flex gap-1 text-neutrals-1000",p),children:[i.jsxs("span",{className:Qe("text-neutral-800",g),children:[O,":"]}),i.jsx("span",{children:W})]});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:Qe("flex gap-1 items-center h4",v),children:[i.jsx("div",{ref:N,children:i.jsx(E.IconButton,{title:C?.metadata??"View details",buttonClassName:Qe("!text-neutrals-1000 !border-none !w-4 !h-4 !p-0 shrink-0",h),icon:i.jsx(Vi,{className:Qe("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:[se(C?.agency??"Agency",n?.agencyID??""),i.jsx("div",{"aria-hidden":"true",className:"h-[14px] border-l border-l-neutral-500"})]}),se(C?.lastUpdated??"Last updated",x)]})]}),A&&i.jsx(lt,{reference:N,title:T,description:R,onReferenceClick:pe,shouldCloseTooltip:P}),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:v,description:C}=at(Ve.EXIT_ADVANCED_VIEW,o);a(v),m(C)}},[o,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Ve.EXIT_ADVANCED_VIEW)},[p?.lastDisplayedElement,g]),i.jsxs("header",{className:$("bg-white px-6 py-4 flex justify-between items-center sm:px-0","advanced-view-header"),children:[i.jsxs("div",{className:$("flex gap-3 items-center",!t&&"justify-between w-full","advanced-view-header-title"),children:[i.jsx("div",{ref:l,className:$(!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(fo,{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,_i(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:wo(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=Vs(r.attributes);if(Os(a,d,u,r),!r.values.length){Ps(a,l,n);continue}for(const m of r.values){const h=Vs(m.obsAttributes);Os(a,d,u,r),Ps(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("_"),Ps=(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=_s(e.attributes);if(n)return[n];const s=_s(t.obsAttributes);return s?[s]:t.values},_s=(e=[])=>e.find(({name:t})=>t==="OBS_VALUE"),Vs=(e=[])=>e.filter(({value:t})=>t),Os=(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:{...ks(n?.ticksColor,n?.labelsColor),type:"category",boundaryGap:!1,data:e},yAxis:{...ks(n?.ticksColor,n?.labelsColor),type:"value"},series:t};return n?.colors!=null&&(s.color=n.colors),s}function ks(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]||"":tr(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=Zn(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 Zn(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:Zn(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 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,`
|
|
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
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
|
|
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,v]=c.useState(),[C,w]=c.useState(),[x,S]=c.useState(),[y,M]=c.useState(nm(l?.dataGrid)),[N,T]=c.useState(mr(l?.chart)),[D,R]=c.useState(!1),[I,A]=c.useState([]),[F,V]=c.useState([]),[k,Y]=c.useState([]),[G,Q]=c.useState(!1),[P,K]=c.useState(!1),q=c.useRef(0),[X,ee]=c.useState({startPeriod:null,endPeriod:null}),{getConstraints:pe,getDataSet:ve,getDataSetData:se,putOnboardingFile:O,getPythonAttachment:W}=e,ce=c.useCallback(_=>{if(!_)return;const H=b.getDimensions(_);v(_.dataflows?.[0]||void 0),S(_||void 0),V([...H?.dimensions||[],...H?.timeDimensions||[]])},[]),me=c.useCallback(async _=>{const H=Nt(b.getFiltersDtoFromDataQuery(_));try{const oe=(await nt(pe,et(_.urn,H),()=>pe(_.urn,H)))?.data?.dataConstraints||[];w(oe)}catch{w([])}},[pe]),ue=c.useCallback(async _=>{const H=a?{data:a}:await nt(ve,et(_.urn),()=>ve(_.urn));if(H?.data){const ae=b.getDimensions(H.data);ce(H.data);const oe=ae?.dimensions==null?null:b.getTimeSeriesFilterKey(ae?.dimensions,_.filters??[]),ie=Fo(_,ae);nt(se,et(_.urn,{filterKey:oe,timeFilter:ie}),()=>se(_.urn,{filterKey:oe,timeFilter:ie})).then(de=>{K(!0),p(de||void 0),Y(b.getStructureDimensions(de))}).finally(()=>Q(!1))}},[ce,ve,se,a]);c.useEffect(()=>{ce(a)},[ce,a]),c.useEffect(()=>{async function _(H){Q(!0);try{await Promise.all([...h?[]:[me(H)],ue(H)])}catch(ae){console.error("Error loading dataset details",ae)}}n!=null&&!(u&&!a)?_(n):n!=null&&u&&Q(!0)},[n,a,u,me,ue,h]);const je=c.useCallback((_,H,ae)=>{try{Q(!0),w(H);const oe=ae?.find(ie=>ie.id===b.TIME_PERIOD)?.timeRange;if(oe&&ee(oe),nt(se,et(n?.urn||"",_),()=>se(n?.urn||"",_)).then(ie=>{K(!0),p(ie||void 0),Y(b.getStructureDimensions(ie))}).finally(()=>Q(!1)),W&&n&&ae){const ie=Vo(n,ae,!1);ur({getPythonAttachment:W,dataQueries:[ie],requestIdRef:q,codeTitle:l?.codeSamples||"Python Code",markdownTitle:Ju(d,n),setCodeAttachments:A,onCodeAttachmentUpdated:m,datasetUrn:n.urn})}}catch(oe){console.error("Error loading dataset data",oe)}},[n,se,W,l,d,m]);c.useEffect(()=>{if(x!=null&&f!=null&&C?.length){K(!0);const _=jt(()=>{M(H=>({...H,...qu(x,f,n,t,s,r,o,l,O,C,X)})),K(!1)});return()=>{_(),K(!1)}}(f==null||C!==void 0)&&K(!1)},[x,f,l,t,s,n,r,o,C,X,O]),c.useEffect(()=>{if(x==null||f==null)return;const _=ku(x,f,n,t,o);return T(H=>({...H,charting_data:void 0,getChartingData:_})),R(!1),jt(()=>{try{R(ar(_()))}catch(H){console.error("Error evaluating chart plottability",H),R(!1)}})},[x,f,n,t,o]),c.useEffect(()=>{if(d?.length){const _=dr(d,n?.urn,l?.codeSamples);_.length>0&&A(_)}},[d,l,n]);const Ee=c.useMemo(()=>[y,...D?[N]:[],...I],[y,N,I,D]);return{dataMessage:f,structures:x,dataset:g,dimensions:F,structureDimensions:k,onFiltersChange:je,constraints:C,isLoadingGridData:G||P,dataSetAttachments:Ee}}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 Us=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=Fo(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:Ns,colId:Ns,valueGetter:o,...xt,tooltipValueGetter:r=>r.value,cellClass:ft,cellRenderer:Pi,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:Is,colId:Is,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:wo(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=Ze.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,_i(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=Zn(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=Ze.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=Ze.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=Ze.Compact,m){const h=Array.isArray(d)?d:void 0,[f,p]=c.useState(),[g,v]=c.useState(),[C,w]=c.useState(!1),[x,S]=c.useState(h?new Set(h):null),[y,M]=c.useState(!1),N=c.useRef(0),T=c.useRef(u),D=c.useRef(f),R=c.useRef(0),I=c.useRef(null),[A,F]=c.useState(sm(m?.dataGrid)),[V,k]=c.useState(mr(m?.chart)),[Y,G]=c.useState(!1),[Q,P]=c.useState([]),{getConstraints:K,getDataSet:q,getDataSetData:X,getPythonAttachment:ee}=e,pe=c.useRef(n);pe.current=n;const ve=c.useRef(h);ve.current=h;const se=c.useMemo(()=>n?.map(_=>_.urn).join(",")??"",[n]),O=fn(),{getDimensionsScheme:W}=O,ce=c.useCallback(async _=>{try{const H=await Us(_.map(ie=>({...ie,filters:[]})),K),ae=qa(_,H,O.map),oe=ae===_?H:await Us(ae,K);return p(ie=>({...ie,constraintsMap:oe})),oe}catch{const H=new Map;return p(ae=>({...ae,constraintsMap:H})),H}},[O.map,K]),me=c.useCallback(async(_,H)=>{const ae=await im(_,q,X,w,async oe=>{const ie=_.filter(ge=>!ge.disabled),de=ps(ie,oe,H,t,O.map);if(de)return S(de.compatibleUrns),de.filterParamsMap});p(oe=>({...oe,...ae,constraintsMap:H??oe?.constraintsMap}))},[O.map,q,X,t]),ue=c.useCallback(_=>{const H=new Map;for(const ae of _)H.set(ae.urn,W(ae.urn));v(H)},[W]);c.useEffect(()=>{async function _(ae){const oe=ve.current;S(oe?new Set(oe):null),w(!0);try{ue(ae);const ie=await ce(ae);await me(ae,ie)}catch(ie){console.error("Error loading dataset details",ie)}finally{w(!1)}}const H=pe.current;H?.length&&_(H)},[se,ce,ue,me]),c.useEffect(()=>{if(l?.length){const _=dr(l,void 0,m?.codeSamples);_.length>0&&P(_)}},[l,m]),c.useEffect(()=>()=>{I.current!==null&&clearTimeout(I.current)},[]),c.useEffect(()=>{const _=T.current!==u&&D.current===f;T.current=u,D.current=f;const{structuresMap:H,dataMessagesMap:ae,constraintsMap:oe}=f??{};if(H!=null&&H.size>0&&ae!=null&&oe!=null&&g!=null&&!C){_||M(!0);const ie=jt(()=>{const de=n?.filter(Me=>!Me.disabled),ge=x??new Set((de??[]).map(Me=>Me.urn)),Re=ds(de,ge),De=yt(H,ge),Ce=yt(ae,ge),Te=yt(g,ge);F(Me=>({...Me,...hm(De,Ce,Te,Re,t,o,r,s,m,oe,{},u)})),_||M(!1)});return()=>{ie(),_||M(!1)}}_||M(!1)},[f,n,t,o,r,s,m,g,C,x,u]),c.useEffect(()=>{const{structuresMap:_,dataMessagesMap:H}=f??{};if(_!=null&&_.size>0&&H!=null&&!C){const ae=n?.filter(De=>!De.disabled),oe=x??new Set((ae??[]).map(De=>De.urn)),ie=ds(ae,oe),de=yt(_,oe),ge=yt(H,oe),Re=gm(de,ge,ie,t,s);return k(De=>({...De,charting_data:void 0,getChartingData:Re})),G(!1),jt(()=>{try{G(ar(Re()))}catch(De){console.error("Error evaluating cross-dataset chart plottability",De),G(!1)}})}},[f,n,t,s,C,x]);const je=c.useMemo(()=>[A,...Y?[V]:[],...Q],[A,V,Q,Y]),Ee=c.useCallback((_,H,ae,oe,ie)=>{try{w(!0);const de=++R.current;I.current!==null&&(clearTimeout(I.current),I.current=null);const ge=ae?.filter(Le=>!Le.disabled)??[],Re=new Set(ge.map(Le=>Le.urn));if(S(Re),p(Le=>({...Le,constraintsMap:H})),!ge.length){w(!1);return}const De=oe?oi(ge,oe):void 0,Ce=De?ge.map(Le=>({...Le,filters:De.get(Le.urn)??[]})):ge,Me=(H&&f?ps(Ce,f,H,t,O.map):void 0)?.filterParamsMap??_,Ue=new Map,Oe=()=>{if(Ue.size===0)return;M(!0);const Le=[...Ue.values()];Ue.clear(),p(ke=>{const He=new Map(ke?.dataMessagesMap),st=new Map(ke?.structureDimensionsMap);return Le.forEach(({urn:Z,dataMessage:fe,structureDimensions:re})=>{He.set(Z,fe),st.set(Z,re||[])}),{...ke,dataMessagesMap:He,structureDimensionsMap:st}})};I.current=setTimeout(()=>{I.current=null,de===R.current&&Ue.size>0&&(Oe(),w(!1))},xm);const $e=ge.map(Le=>pr(Le,Me?.get(Le?.urn),X).then(({dataMessage:ke,structureDimensions:He})=>{Ue.set(Le.urn,{urn:Le.urn,dataMessage:ke,structureDimensions:He})}));if(Promise.allSettled($e).finally(()=>{de===R.current&&(I.current!==null&&(clearTimeout(I.current),I.current=null),Oe(),w(!1))}),ee&&ge.length){const Le=ge.map(ke=>Vo(ke,ie??oe?.get(ke.urn)??[]));ur({getPythonAttachment:ee,dataQueries:Le,requestIdRef:N,codeTitle:m?.codeSamples||"Python Code",markdownTitle:"Python Code",setCodeAttachments:P,onCodeAttachmentUpdated:a})}}catch(de){console.error("Error loading dataset data",de)}},[O.map,X,ee,t,a,f,m]);return{structureDataMaps:f,datasetDimensionsSchemesMap:g,isLoadingGridData:C||y,crossDatasetAttachments:je,activeDatasetUrns:x,onMultipleDataFiltersChange:Ee}}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(Ce=>!Ce.disabled),[e?.dataQueries]),[v,C]=c.useState(Ze.Compact),{isOpenedAdvancedView:w}=We(),{activeDatasetUrns:x,dataQueriesKey:S,setCrossDatasetAttachmentsState:y}=pn(),{isCrossDatasetModeOn:M,isMetadataInSidePanel:N}=Ge(),T=fn(),D=!N,R=e.datasets??[],I=R.length>1&&!M,A=c.useMemo(()=>{const Ce=f.filtersProps.conversation?.messages??[],Te=Ei(Ce);return Te>=0?Ce[Te].custom_content?.attachments:void 0},[f.filtersProps.conversation?.messages]),F=c.useMemo(()=>Qo(e.dataQueries),[e.dataQueries]),V=S===F?x:Jo(e.dataQueries,T.map),k=M&&!!e.dataQueries?.length,Y=c.useRef(f.filtersProps.conversation);Y.current=f.filtersProps.conversation;const G=c.useCallback((Ce,Te)=>{const Me=Y.current;if(!Me)return;const Ue=hr(Me.messages,Ce,void 0,Te);if(!Ue)return;const Oe={...Me,messages:Ue};f.filtersProps.setConversation?.(Oe),f.filtersProps.updateConversation(decodeURI(f.filtersProps.conversationKey),{name:Oe.name,messages:Oe.messages})},[]),{dataMessage:Q,dataset:P,dimensions:K,structureDimensions:q,structures:X,dataSetAttachments:ee,onFiltersChange:pe,isLoadingGridData:ve,constraints:se}=fr(t,l,e.currentDataQuery,r,e.styles?.chartingStyles,o,n,A,void 0,!1,G,k),O=D&&!!P,{structureDataMaps:W,crossDatasetAttachments:ce,activeDatasetUrns:me,isLoadingGridData:ue,onMultipleDataFiltersChange:je}=gr(t,l,e.dataQueries,e.styles?.chartingStyles,r,o,A,V,G,v,n);c.useEffect(()=>{if(!M||!e.dataQueries?.length){y();return}W&&y({attachments:ce,dataQueriesKey:F,activeDatasetUrns:me?Array.from(me):void 0,isLoading:ue})},[me,e.dataQueries?.length,ce,F,M,ue,y,W]);const[Ee,_]=c.useState({filterKey:null,timeFilter:null}),[H,ae]=c.useState(),oe=M?ue:ve,ie=M?ce:ee,de=c.useCallback((Ce,Te,Me)=>{_(Ce),ae(!0),pe(Ce,Te,Me)},[pe]),ge=c.useCallback((Ce,Te,Me,Ue,Oe)=>{ae(!0),je(Ce,Te,Me,Ue,Oe)},[je]),Re=c.useCallback(Ce=>{Ce&&t?.updateCurrentDataQuery(e?.dataQueries?.find(Te=>Te?.urn===Ce)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),De=Nn(u?.isExternaLinkIncludeFilters,Ee,e.currentDataQuery||e.dataQueries?.[0],K);return i.jsx(nn,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:r,limitMessages:h,attachmentsConfig:u},children:i.jsx(gd,{currentUrn:p,structuresMap:W?.structuresMap,locale:l,dataQueries:g,gridViewMode:v,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}),R.length?i.jsxs(i.Fragment,{children:[I&&i.jsx(Ii,{datasets:R,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:l,selectDataset:Re}),oe&&!H?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[O&&i.jsx(fu,{...m,locale:l,dataset:P,data:Q?.data,structures:X,metadataSettings:o,getDatasetUpdatedTime:a,externalLink:De}),i.jsxs("div",{className:$("flex flex-1 min-h-0 overflow-auto",O&&"border-t border-neutrals-500"),children:[i.jsx("div",{className:$("flex-1 min-h-0 overflow-auto","advanced-view-filters"),children:i.jsx(mu,{...f,actions:t,attachments:ie,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:K,isDataLoading:oe,locale:l,filtersProps:{...f?.filtersProps,structureDimensions:q,structures:X,structureDataMaps:W,onFiltersChange:pe,onMultipleDataFiltersChange:ge,initialConstraints:se},setIsFiltering:ae,filters:Ee,onFiltersChange:de})}),w&&i.jsx(qi,{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(v){h(!0);try{const C=await Promise.all(v.map(x=>nt(e,et(x.urn),()=>e(x.urn))));if(!p)return;const w=C?.map(x=>x?.data?.dataflows?.[0])?.filter(x=>!!x)||[];d(w),t(w),n(v),s(v.find(x=>x.urn===f.current?.urn)??v[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 Hs(e){const t=e?.filter(n=>Di(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:$("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(Gs,{remarkPlugins:[zs],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:$("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:$("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,v]=c.useState(e.like??Ae.LikeState.NoState),[C,w]=c.useState(!1),x=c.useRef(null),{isAgentAvailable:S}=E.useAgentAvailability();c.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]);const y=N=>{e.responseId&&(v(N),s(e.responseId||"",N))},M=()=>{navigator.clipboard.writeText(e.content),w(!0),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{w(!1)},Nm)};return i.jsxs("div",{className:$("message-actions","flex gap-x-2 pt-2"),children:[a&&i.jsx("p",{onClick:M,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:$(!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:$("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:$(!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:$("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:$("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:v,onCodeAttachmentUpdated:C})=>{const{messageStyles:w,attachmentsStyles:x,formattingSettings:S,messageActionsIcons:y,editMessageTitles:M,expandStagesIcon:N,titles:T}=we(),[D,R]=c.useState(),[I,A]=c.useState(),[F,V]=c.useState([]),[k,Y]=c.useState([]),[G,Q]=c.useState(),[P,K]=c.useState(!1),{isCrossDatasetModeOn:q}=Ge(),X=fn(),ee=e.role===Ae.Role.User,pe=e.role===Ae.Role.System,{datasets:ve,datasetStructuresMap:se,isLoading:O}=Dm(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,D,s),[W,ce]=c.useState(!1),[me,ue]=c.useState([]);c.useEffect(()=>{A(D?.[0])},[D]);const je=q&&!!D?.length,Ee=c.useCallback(re=>{e.id&&C?.(e.id,re)},[e.id,C]),{dataSetAttachments:_,dimensions:H,isLoadingGridData:ae}=fr(n,d,I,S,x?.chartingStyles,a,T,e.custom_content?.attachments,I?se?.get(I.urn):void 0,O,Ee,je),oe=c.useMemo(()=>Jo(D,X.map),[D,X.map]),{crossDatasetAttachments:ie,isLoadingGridData:de}=gr(n,d,D,x?.chartingStyles,S,a,e.custom_content?.attachments,oe,Ee,void 0,T),{isOpenedAdvancedView:ge}=We(),{attachments:Re,dataQueriesKey:De,isLoading:Ce}=pn(),Te=c.useMemo(()=>Qo(D),[D]),Me=q&&!!l&&Re!=null&&De===Te,Ue=Me?Re:ie,Oe=c.useMemo(()=>q?Me?Ce:de:ae,[q,de,ae,Ce,Me]),$e=()=>{ee&&ce(!0)},Le=()=>{ce(!1)},ke=re=>{Le(),p?.({...e,content:re})},He=c.useCallback(re=>{re&&(A(D?.find(le=>le?.urn===re)),Q(void 0))},[D]);c.useEffect(()=>{const re=e.custom_content?.form_schema?.properties,le=v?re?.choice?.oneOf||re?.completion?.oneOf:[];ue(le||[])},[e,v]),c.useEffect(()=>{const re=vs(e),le=Hs(re),ze=re.filter(U=>Hn(U));R(le),Y(ze)},[e]),c.useEffect(()=>{K(D!=null&&D.length>0)},[D]),c.useEffect(()=>{s?.urn&&D?.some(re=>re?.urn===s.urn)&&Q(s.urn)},[s,D]),c.useEffect(()=>{if(e?.role===Ae.Role.System&&t){const re=vs(t),le=Hs(re)||[];D&&le&&se&&V(ec(le,D,se,d,X.map))}},[D,I,se,X.map,H,d,e?.role,t]);const st=c.useCallback(()=>!ee&&w?.systemMessageIcon&&!(ge&&!r)?i.jsx("div",{className:$("flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]",r?"text-white absolute":"text-neutrals-400"),children:w.systemMessageIcon}):null,[ee,w?.systemMessageIcon,ge,r]),Z=c.useMemo(()=>i.jsx(or,{actions:n,attachments:P?q?Ue:_:k,onAdvancedViewOpen:u,isDataSetAttachments:P,datasets:ve,initialSelectedDatasetUrn:G,showAdvancedView:l,isSystemAttachments:pe,isDataLoading:Oe,currentDataQuery:I,dataQueries:D,attachmentInfoList:F,locale:d,dimensions:H,selectDataset:He}),[n,P,_,k,Ue,ve,G,l,pe,Oe,I,D,F,d,H,He,u,q]);if(pe&&ge)return null;const fe=r?null:ee?W?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:v});return i.jsx("div",{className:$("max-w-full flex",ee?"justify-end":"justify-start","message-wrapper"),children:i.jsxs("div",{className:$("flex items-start",ee&&!W?"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:$(ee?"bg-neutrals-300 px-6":"pt-0",ee?"user-message":"system-message",ee&&(W?"w-[100%] ml-0":"ml-12")),children:[!ee&&!ge&&e?.custom_content?.stages?i.jsx(Mm,{stages:e?.custom_content?.stages,expandIcon:N,processingTitle:w?.processingTitle}):r&&i.jsx("p",{className:"body-1 loading-message text-neutrals-700",children:T?.loading}),W?i.jsx(jm,{content:e.content,onCancel:Le,onEditApply:ke,editMessageTitles:M}):i.jsx(po,{content:e.content})]}),Z,fe,!ge&&!Oe&&i.jsx(go,{choiceButtons:me,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,v=()=>{const y=d.current?.parentElement,M=l.current;if(y&&M){const N=M.offsetTop-y.offsetTop;y.scrollTo({top:N,behavior:"smooth"})}};c.useEffect(()=>{v()},[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)},w=()=>{const y=d.current?.parentElement;if(y){const{scrollTop:M,scrollHeight:N,clientHeight:T}=y;M+T>=N?p(!1):!f&&!a&&p(!0)}};c.useEffect(()=>{a&&p(!1)},[a]);const x=E.useDebounce(w,300);c.useEffect(()=>{const y=d.current?.parentElement;return y?.addEventListener("scroll",x),()=>y?.removeEventListener("scroll",x)},[x]);const S=c.useCallback(y=>{const M=J.linkifyText(y);return i.jsx("div",{className:"whitespace-pre-wrap break-words",children:M.map((N,T)=>N.type==="text"?i.jsx(c.Fragment,{children:N.value},T):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"})},T))})},[]);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,M)=>{const N=y.id??M;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 T=M===e.length-1,D=jl(e,M),R=Ei(e);return i.jsx(Rm,{message:y,previousMessage:D,onAdvancedViewOpen:C,isStreaming:t,isCurrentMessageStreaming:t&&T&&y.role===Ae.Role.Assistant,showAdvancedView:M===R&&!n,isLastNotUserMessage:T&&y.role!==Ae.Role.User,...o},N)}),i.jsx("div",{ref:l,className:"h-4"})]}),i.jsx("div",{onClick:v,className:$("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)=>Xn([...t?.messages||[],e]),Xn=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 Xn(n?.slice(0,s)||[])},Hm=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Xn([...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}},Bs=(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:v,handleInvalidStreaming:C,onConversationNotFound:w,setConversation:x,setConversations:S,openUrl:y,messageActionsIcons:M,messageActionsTitles:N,editMessageTitles:T,scrollBottomIcon:D,isFinalMessage:R,limitMessages:I,attachmentsConfig:A,headerRightSlot:F,children:V})=>{const[k,Y]=c.useState(null),[G,Q]=c.useState(!1),[P,K]=c.useState(!0),{isStreaming:q,setIsStreaming:X}=Ys(),{isOpenedAdvancedView:ee}=We(),{setCrossDatasetAttachmentsState:pe}=pn(),{isCrossDatasetModeOn:ve}=Ge(),{isAgentAvailable:se}=E.useAgentAvailability(),{statusMessages:O}=Ln(),{onboardingFileSchema:W,onboardingFilePath:ce,onboardingFileName:me,isShowOnboarding:ue,setOnboardingFileSchema:je}=Ye();c.useEffect(()=>{W&&n.putOnboardingFile?.(me,ce,W)},[n,W,me,ce]),c.useEffect(()=>{ee&&W?.lastDisplayedElement===Ve.OPEN_ADVANCED_VIEW&&je?.(Si(W))},[n,ee,je,W]);const Ee=c.useCallback(()=>{y(`/${h}${f}`)},[h,f,y]),_=c.useCallback(async()=>{try{const{bucket:U}=await n.getBucket(),B=n.getFileBlob&&n.putFile?await Ym({conversation:t,bucket:U,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,te=$m(B,U,h);await n.createConversation(te,h);const j=await n.getConversations(h);S(J.cleanConversationNames(j)),y(zm(te,h,f))}catch(U){console.error("Failed to save conversation:",U)}},[n,t,f,h,y,S]),H=c.useCallback(async U=>{try{await n.updateConversation(decodeURI(e),{name:U.name,messages:U.messages,customViewState:U.customViewState})}catch(B){console.error("Failed to save conversation:",B)}},[n,e]),ae=c.useCallback((U,B)=>{if(!t)return;const te=hr(t.messages,B,U);if(!te)return;const j={...t,messages:te};x(j),H(j)},[t,x,H]),oe=c.useCallback(U=>{x(B=>B?{...B,messages:[...B?.messages||[],U]}:null)},[x]),ie=c.useCallback(()=>{const U={id:`msg-${Date.now()+1}`,role:Ae.Role.Assistant,content:"",timestamp:Date.now()};return x(B=>B?{...B,messages:[...B.messages,U]}:null),U},[x]),de=c.useCallback((U,B)=>{const te=he.mergeMessages?.(U,[B]);if(te)return x(j=>j?{...j,messages:j.messages.map(L=>L.id===U.id?{...te}:L)}:null),te},[x]),ge=c.useCallback((U,B)=>{t?.model?.id&&(n.rateResponse(U,B===Ae.LikeState.Liked,t.model.id),t.messages=t.messages.map(te=>te.responseId===U?jn.merge(te,{like:B}):te),H(t))},[n,t,H]),Re=c.useCallback((U,B)=>{let te=O.serverError,j,L;if(J.isHttpError(U)){L=U;const z=Xm({error:U,statusMessages:O});te=z.errorMessage,j=z.errorContext}else L=new J.HttpError({status:J.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:te});return B&&(B=de(B,{errorMessage:te})),C?.(L),{assistantMessage:B,errorContext:j}},[C,O,de]),De=c.useCallback(async(U,B,te)=>{const j=new AbortController;Y(j);let L=U,z;if(!te)return{assistantMessage:L,errorContext:z};const ne=te.custom_fields??{},Fe={...ne,configuration:{...ne.configuration,timezone:Jm(),...ve&&{merge_python_code:!0}}};return await he.streamChatResponse?.(encodeURI(te.id),B,{model:te.model,signal:j?.signal,onMessage:xe=>{Zm({error:xe.error,statusMessages:O});const be=Fm(xe);(be.content||be.role||be.responseId)&&(L=de(L,be))},onError:xe=>{if(!Oe(xe))throw console.error("Streaming error:",xe),xe}},p,Fe).catch(xe=>{if(!Oe(xe)){const{assistantMessage:be,errorContext:tt}=Re(xe,L);L=be,z=tt}}),{assistantMessage:L,errorContext:z}},[p,de,Re,O,ve]),Ce=c.useCallback(async(U,B,te,j)=>{if(!B)return;let L=Bs(B,j);L={...L,messages:[...B.messages],updatedAt:Date.now()},te&&L.messages.push(te),L.messages.push(U),await H(L)},[H]),Te=c.useCallback(U=>{x(B=>B&&Bs(B,U))},[x]),Me=c.useCallback((U,B)=>{x(te=>te?{...te,messages:te.messages.filter(j=>j.id!==B.id)}:null)},[x]),Ue=c.useCallback(()=>{k&&!k.signal.aborted&&k.abort()},[k]),Oe=U=>U?.name===qm,$e=c.useCallback(async(U,B,te,j,L,z=!0)=>{Oe(L)?await Ce(j??te,U,z?B:void 0):Me(L,B)},[Ce,Me]),Le=c.useCallback(async(U,B,te)=>{if(!B||!U)return;const j=Gm(U,q,B,te);let L,z;if(j){oe(j);try{X(!0),L=ie();const ne=km(j,B),{assistantMessage:Fe,errorContext:xe}=await De(L,ne,B);Te(xe),z=Fe,await Ce(z,B,j,xe)}catch(ne){$e(B,j,L,z,ne)}finally{X(!1)}}},[q,X,oe,ie,De,Ce,$e,Te]),ke=c.useCallback(async(U,B,te)=>{let j,L;try{X(!0),j=ie();const{assistantMessage:z,errorContext:ne}=await De(j,U,B);L=z,Te(ne),await Ce(L,B,void 0,ne)}catch(z){$e(B,te,j,L,z,!1)}finally{X(!1)}},[X,Ce,$e,De,ie,Te]),He=c.useCallback(async(U,B)=>{if(!B||!U)return;const te=Um(U,B),j={...B,messages:B.messages.slice(0,te.length)};x(L=>L?{...L,...j}:null),ke(te,j,U)},[x,ke]),{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,B)=>{if(!B||!U)return;const te=Hm(U,B),j={...B,messages:[...B.messages.slice(0,te.length-1),U]};x(L=>L?{...L,...j}:null),ke(te,j,U)},[x,ke]);c.useEffect(()=>{as(),pe();async function U(){try{K(!0);const{bucket:B}=await n.getBucket(),te=await n.getConversation(decodeURI(e));x(te),Q(_m(te)&&Vm(te,B)),(te.messages.length===0||te?.messages?.[0]?.role===Ae.Role.Assistant&&te?.messages?.length===1)&&Le(te.prompt,te)}catch{Q(!0),w?.()}finally{K(!1)}}return e&&U(),()=>{as()}},[e]);const re=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 B=he.formatDateTime(U);return i.jsx(E.InlineAlert,{type:E.InlineAlertType.Info,children:O.getAssistantRestoreMessage(B.date,B.time)})}}return se?i.jsx(Js,{onSendMessage:U=>Le(U,t),onStopStreaming:Ue,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(nn,{styles:{titles:g,messageStyles:s,attachmentsStyles:o,formattingSettings:a,messageActionsIcons:M,messageActionsTitles:N,editMessageTitles:T,expandStagesIcon:m,scrollBottomIcon:D,limitMessages:I,attachmentsConfig:A},children:i.jsxs("div",{className:$("h-full flex flex-col bg-white conversation-view-wrapper",ee&&!d&&"p-4"),children:[ee&&!d?null:i.jsx(ho,{conversation:t,locale:h,isOpenedAdvancedView:ee,isShowShareButton:!G&&!ue,shareConversationProps:l,rightSlot:F}),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:$("flex-1 min-h-0 flex flex-col items-end scroll-hidden-container",s?.messagesWrapperClass),children:i.jsx(Lm,{messages:t?.messages||[],actions:re,isStreaming:q,isReadOnly:G,metadataSettings:u,dataQuery:v,locale:h,regenerateMessage:U=>He(U,t),selectMessageToSend:(U,B)=>Le(U,t,B),rateResponse:ge,editMessage:U=>fe(U,t),isReadOnlyConversation:G||ue,conversationViewState:le,onCodeAttachmentUpdated:ae})}),ue?null:G?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:_,buttonClassName:$("text-button-secondary")})}):i.jsx("div",{className:$(r.inputContainerClass),children:ze()}),ue&&R&&i.jsx(E.Button,{iconBefore:i.jsx(Be.IconPlus,{width:24,height:24}),title:g?.onboardingFooterLink,onClick:Ee,isSmallButton:!0,buttonClassName:"text-button-secondary self-center mb-3"}),V]}),!ee&&i.jsx(qi,{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.CUSTOM_CHOICE_ID=tn;exports.ChartingIcon=Yt;exports.ChatFooter=xo;exports.ChatMessagesProvider=jr;exports.ChatOnboardingFooter=Co;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=Xs;exports.useAdvancedView=We;exports.useChatMessages=Ys;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 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;
|