@epam/statgpt-conversation-view 0.7.0-dev.20 → 0.7.0-dev.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +9 -11
- package/index.mjs +10252 -13984
- package/package.json +6 -6
- package/LICENSE +0 -21
package/index.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c);let l=require("react/jsx-runtime"),u=require("@epam/ai-dial-shared"),d=require("@epam/statgpt-ui-components"),f=require("@tabler/icons-react"),p=require("classnames");p=s(p);let m=require("@epam/statgpt-dial-toolkit"),h=require("@epam/statgpt-shared-toolkit"),g=require("@epam/statgpt-conversation-list"),_=require("react-markdown");_=s(_);let v=require("remark-gfm");v=s(v);let y=require("@epam/statgpt-sdmx-toolkit"),b=require("lodash/isEqual");b=s(b);let x=require("flatpickr/dist/l10n");x=s(x);let S=require("flatpickr/dist/plugins/monthSelect");S=s(S);let C=require("react-window"),w=require("react-virtualized-auto-sizer");w=s(w);let T=require("@floating-ui/react"),E=require("ag-grid-community"),D=require("lodash"),O=require("echarts-for-react");O=s(O);let k=require("ag-grid-react"),A=require("tailwind-merge"),j=require("date-fns"),M=require("date-fns/locale"),N=require("@monaco-editor/react");var P=(0,c.createContext)(void 0),F=({children:e})=>{let[t,n]=(0,c.useState)(!1);return(0,l.jsx)(P.Provider,{value:{isOpenedAdvancedView:t,setIsOpenedAdvancedView:n},children:e})},I=()=>{let e=(0,c.useContext)(P);if(e===void 0)throw Error(`useAdvancedView must be used within a AdvancedViewProvider`);return e},L=(0,c.createContext)(void 0),R=({children:e})=>{let[t,n]=(0,c.useState)(!1);return(0,l.jsx)(L.Provider,{value:{isStreaming:t,setIsStreaming:n},children:e})},z=()=>{let e=(0,c.useContext)(L);if(e===void 0)throw Error(`useChatMessages must be used within a ChatMessagesProvider`);return e},B=(0,c.createContext)(null);function V({value:e,children:t}){let n=(0,c.useMemo)(()=>e,[e]);return(0,l.jsx)(B.Provider,{value:n,children:t})}function H(){let e=(0,c.useContext)(B);if(!e)throw Error(`useConversationViewMessages must be used within ConversationViewMessagesProvider`);return e}var U=(0,c.createContext)(void 0),W=({children:e})=>{let[t,n]=(0,c.useState)(``),[r,i]=(0,c.useState)(``),[a,o]=(0,c.useState)(),[s,u]=(0,c.useState)();return(0,l.jsx)(U.Provider,{value:{onboardingFileName:t,onboardingFilePath:r,isShowOnboarding:a,onboardingFileSchema:s,setOnboardingFileName:n,setOnboardingFilePath:i,setIsShowOnboarding:o,setOnboardingFileSchema:u},children:e})},G=()=>{let e=(0,c.useContext)(U);if(e===void 0)throw Error(`useOnboarding must be used within a OnboardingProvider`);return e},K=function(e){return e.CHOICE=`choice`,e.COMPLETION=`completion`,e}({}),q=function(e){return e.COMPLETE=`complete`,e}({}),J=function(e){return e.COMPLETED=`completed`,e}({}),Y=function(e){return e.PREVIOUS=`previous`,e.NEXT=`next`,e}({}),ee=({inProcess:e,disabled:t,containerClasses:n,inputClasses:r,placeholder:i,sendMessageIcon:a,isLastFailed:o,retryIcon:s,onSendMessage:u,onStopStreaming:m,onRetryFailed:h})=>{let[g,_]=(0,c.useState)(``),v=(0,c.useCallback)(e=>{_(e)},[_]),y=n=>{e||t||(_(``),u(n))};return(0,l.jsx)(d.InputWithIcon,{inputId:`ask-input`,containerClasses:n,placeholder:i,onChange:v,onKeyDown:e=>{t||e.key===d.KeyboardKey.Enter&&!e.shiftKey&&(o?h?.():y(g.trim()))},disabled:t,cssClass:(0,p.default)(r,`input-for-ask`),value:g,iconAfterInput:t?null:o?(0,l.jsx)(d.IconButton,{buttonClassName:`input-for-ask-button`,onClick:()=>h?.(),icon:s||(0,l.jsx)(f.IconRefresh,{})}):e?(0,l.jsx)(d.IconButton,{buttonClassName:`input-for-ask-button`,onClick:()=>m?.(),icon:(0,l.jsx)(f.IconPlayerStopFilled,{})}):g?(0,l.jsx)(d.IconButton,{buttonClassName:`input-for-ask-button`,onClick:()=>y(g),icon:a}):null})},te=160,ne=RegExp(`[:;,=/{}%&\\"]|(\r
|
|
2
2
|
|
|
|
3
|
-
|\r| )|[\0-]
|
|
3
|
+
|\r| )|[\0-]`,`gm`),re=(e,t,n,r)=>({name:ie(r||`${n} ${new Date().toLocaleDateString()}`),folderId:`${e}/${t}`,prompt:r}),ie=e=>{let t=e?.replace(/\r\n|\r/gm,`
|
|
4
4
|
`).split(`
|
|
5
|
-
`).map(s=>s.replace(Pr," ").trim()).filter(Boolean)[0]??"";return(t.length>ts?t.substring(0,ts):t).trim()},Or=(e,t,n,s,o,r)=>{const l=`${e}/${t}`;return{name:n,folderId:l,prompt:o,id:he.generateConversationId({folderId:l,name:n}),messages:[{role:Ae.Role.Assistant,content:s}],custom_fields:{configuration:{choice:r}}}},eo=c.createContext(null);function sn({children:e,styles:t}){return i.jsx(eo.Provider,{value:t??{},children:e})}function we(){const e=c.useContext(eo);if(!e)throw new Error("useConversationViewStyles must be used within ConversationViewStylesProvider");return e}var kr=Object.defineProperty,Zt=Object.getOwnPropertySymbols,to=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable,ns=(e,t,n)=>t in e?kr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bn=(e,t)=>{for(var n in t||(t={}))to.call(t,n)&&ns(e,n,t[n]);if(Zt)for(var n of Zt(t))no.call(t,n)&&ns(e,n,t[n]);return e},Dn=(e,t)=>{var n={};for(var s in e)to.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(e!=null&&Zt)for(var s of Zt(e))t.indexOf(s)<0&&no.call(e,s)&&(n[s]=e[s]);return n};var xt;(e=>{const t=class Se{constructor(a,u,m,h){if(this.version=a,this.errorCorrectionLevel=u,this.modules=[],this.isFunction=[],a<Se.MIN_VERSION||a>Se.MAX_VERSION)throw new RangeError("Version value out of range");if(h<-1||h>7)throw new RangeError("Mask value out of range");this.size=a*4+17;let f=[];for(let g=0;g<this.size;g++)f.push(!1);for(let g=0;g<this.size;g++)this.modules.push(f.slice()),this.isFunction.push(f.slice());this.drawFunctionPatterns();const p=this.addEccAndInterleave(m);if(this.drawCodewords(p),h==-1){let g=1e9;for(let S=0;S<8;S++){this.applyMask(S),this.drawFormatBits(S);const x=this.getPenaltyScore();x<g&&(h=S,g=x),this.applyMask(S)}}o(0<=h&&h<=7),this.mask=h,this.applyMask(h),this.drawFormatBits(h),this.isFunction=[]}static encodeText(a,u){const m=e.QrSegment.makeSegments(a);return Se.encodeSegments(m,u)}static encodeBinary(a,u){const m=e.QrSegment.makeBytes(a);return Se.encodeSegments([m],u)}static encodeSegments(a,u,m=1,h=40,f=-1,p=!0){if(!(Se.MIN_VERSION<=m&&m<=h&&h<=Se.MAX_VERSION)||f<-1||f>7)throw new RangeError("Invalid value");let g,S;for(g=m;;g++){const w=Se.getNumDataCodewords(g,u)*8,b=l.getTotalBits(a,g);if(b<=w){S=b;break}if(g>=h)throw new RangeError("Data too long")}for(const w of[Se.Ecc.MEDIUM,Se.Ecc.QUARTILE,Se.Ecc.HIGH])p&&S<=Se.getNumDataCodewords(g,w)*8&&(u=w);let x=[];for(const w of a){n(w.mode.modeBits,4,x),n(w.numChars,w.mode.numCharCountBits(g),x);for(const b of w.getData())x.push(b)}o(x.length==S);const v=Se.getNumDataCodewords(g,u)*8;o(x.length<=v),n(0,Math.min(4,v-x.length),x),n(0,(8-x.length%8)%8,x),o(x.length%8==0);for(let w=236;x.length<v;w^=253)n(w,8,x);let C=[];for(;C.length*8<x.length;)C.push(0);return x.forEach((w,b)=>C[b>>>3]|=w<<7-(b&7)),new Se(g,u,C,f)}getModule(a,u){return 0<=a&&a<this.size&&0<=u&&u<this.size&&this.modules[u][a]}getModules(){return this.modules}drawFunctionPatterns(){for(let m=0;m<this.size;m++)this.setFunctionModule(6,m,m%2==0),this.setFunctionModule(m,6,m%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const a=this.getAlignmentPatternPositions(),u=a.length;for(let m=0;m<u;m++)for(let h=0;h<u;h++)m==0&&h==0||m==0&&h==u-1||m==u-1&&h==0||this.drawAlignmentPattern(a[m],a[h]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(a){const u=this.errorCorrectionLevel.formatBits<<3|a;let m=u;for(let f=0;f<10;f++)m=m<<1^(m>>>9)*1335;const h=(u<<10|m)^21522;o(h>>>15==0);for(let f=0;f<=5;f++)this.setFunctionModule(8,f,s(h,f));this.setFunctionModule(8,7,s(h,6)),this.setFunctionModule(8,8,s(h,7)),this.setFunctionModule(7,8,s(h,8));for(let f=9;f<15;f++)this.setFunctionModule(14-f,8,s(h,f));for(let f=0;f<8;f++)this.setFunctionModule(this.size-1-f,8,s(h,f));for(let f=8;f<15;f++)this.setFunctionModule(8,this.size-15+f,s(h,f));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let a=this.version;for(let m=0;m<12;m++)a=a<<1^(a>>>11)*7973;const u=this.version<<12|a;o(u>>>18==0);for(let m=0;m<18;m++){const h=s(u,m),f=this.size-11+m%3,p=Math.floor(m/3);this.setFunctionModule(f,p,h),this.setFunctionModule(p,f,h)}}drawFinderPattern(a,u){for(let m=-4;m<=4;m++)for(let h=-4;h<=4;h++){const f=Math.max(Math.abs(h),Math.abs(m)),p=a+h,g=u+m;0<=p&&p<this.size&&0<=g&&g<this.size&&this.setFunctionModule(p,g,f!=2&&f!=4)}}drawAlignmentPattern(a,u){for(let m=-2;m<=2;m++)for(let h=-2;h<=2;h++)this.setFunctionModule(a+h,u+m,Math.max(Math.abs(h),Math.abs(m))!=1)}setFunctionModule(a,u,m){this.modules[u][a]=m,this.isFunction[u][a]=!0}addEccAndInterleave(a){const u=this.version,m=this.errorCorrectionLevel;if(a.length!=Se.getNumDataCodewords(u,m))throw new RangeError("Invalid argument");const h=Se.NUM_ERROR_CORRECTION_BLOCKS[m.ordinal][u],f=Se.ECC_CODEWORDS_PER_BLOCK[m.ordinal][u],p=Math.floor(Se.getNumRawDataModules(u)/8),g=h-p%h,S=Math.floor(p/h);let x=[];const v=Se.reedSolomonComputeDivisor(f);for(let w=0,b=0;w<h;w++){let N=a.slice(b,b+S-f+(w<g?0:1));b+=N.length;const T=Se.reedSolomonComputeRemainder(N,v);w<g&&N.push(0),x.push(N.concat(T))}let C=[];for(let w=0;w<x[0].length;w++)x.forEach((b,N)=>{(w!=S-f||N>=g)&&C.push(b[w])});return o(C.length==p),C}drawCodewords(a){if(a.length!=Math.floor(Se.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let u=0;for(let m=this.size-1;m>=1;m-=2){m==6&&(m=5);for(let h=0;h<this.size;h++)for(let f=0;f<2;f++){const p=m-f,S=(m+1&2)==0?this.size-1-h:h;!this.isFunction[S][p]&&u<a.length*8&&(this.modules[S][p]=s(a[u>>>3],7-(u&7)),u++)}}o(u==a.length*8)}applyMask(a){if(a<0||a>7)throw new RangeError("Mask value out of range");for(let u=0;u<this.size;u++)for(let m=0;m<this.size;m++){let h;switch(a){case 0:h=(m+u)%2==0;break;case 1:h=u%2==0;break;case 2:h=m%3==0;break;case 3:h=(m+u)%3==0;break;case 4:h=(Math.floor(m/3)+Math.floor(u/2))%2==0;break;case 5:h=m*u%2+m*u%3==0;break;case 6:h=(m*u%2+m*u%3)%2==0;break;case 7:h=((m+u)%2+m*u%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[u][m]&&h&&(this.modules[u][m]=!this.modules[u][m])}}getPenaltyScore(){let a=0;for(let f=0;f<this.size;f++){let p=!1,g=0,S=[0,0,0,0,0,0,0];for(let x=0;x<this.size;x++)this.modules[f][x]==p?(g++,g==5?a+=Se.PENALTY_N1:g>5&&a++):(this.finderPenaltyAddHistory(g,S),p||(a+=this.finderPenaltyCountPatterns(S)*Se.PENALTY_N3),p=this.modules[f][x],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,S)*Se.PENALTY_N3}for(let f=0;f<this.size;f++){let p=!1,g=0,S=[0,0,0,0,0,0,0];for(let x=0;x<this.size;x++)this.modules[x][f]==p?(g++,g==5?a+=Se.PENALTY_N1:g>5&&a++):(this.finderPenaltyAddHistory(g,S),p||(a+=this.finderPenaltyCountPatterns(S)*Se.PENALTY_N3),p=this.modules[x][f],g=1);a+=this.finderPenaltyTerminateAndCount(p,g,S)*Se.PENALTY_N3}for(let f=0;f<this.size-1;f++)for(let p=0;p<this.size-1;p++){const g=this.modules[f][p];g==this.modules[f][p+1]&&g==this.modules[f+1][p]&&g==this.modules[f+1][p+1]&&(a+=Se.PENALTY_N2)}let u=0;for(const f of this.modules)u=f.reduce((p,g)=>p+(g?1:0),u);const m=this.size*this.size,h=Math.ceil(Math.abs(u*20-m*10)/m)-1;return o(0<=h&&h<=9),a+=h*Se.PENALTY_N4,o(0<=a&&a<=2568888),a}getAlignmentPatternPositions(){if(this.version==1)return[];{const a=Math.floor(this.version/7)+2,u=this.version==32?26:Math.ceil((this.version*4+4)/(a*2-2))*2;let m=[6];for(let h=this.size-7;m.length<a;h-=u)m.splice(1,0,h);return m}}static getNumRawDataModules(a){if(a<Se.MIN_VERSION||a>Se.MAX_VERSION)throw new RangeError("Version number out of range");let u=(16*a+128)*a+64;if(a>=2){const m=Math.floor(a/7)+2;u-=(25*m-10)*m-55,a>=7&&(u-=36)}return o(208<=u&&u<=29648),u}static getNumDataCodewords(a,u){return Math.floor(Se.getNumRawDataModules(a)/8)-Se.ECC_CODEWORDS_PER_BLOCK[u.ordinal][a]*Se.NUM_ERROR_CORRECTION_BLOCKS[u.ordinal][a]}static reedSolomonComputeDivisor(a){if(a<1||a>255)throw new RangeError("Degree out of range");let u=[];for(let h=0;h<a-1;h++)u.push(0);u.push(1);let m=1;for(let h=0;h<a;h++){for(let f=0;f<u.length;f++)u[f]=Se.reedSolomonMultiply(u[f],m),f+1<u.length&&(u[f]^=u[f+1]);m=Se.reedSolomonMultiply(m,2)}return u}static reedSolomonComputeRemainder(a,u){let m=u.map(h=>0);for(const h of a){const f=h^m.shift();m.push(0),u.forEach((p,g)=>m[g]^=Se.reedSolomonMultiply(p,f))}return m}static reedSolomonMultiply(a,u){if(a>>>8||u>>>8)throw new RangeError("Byte out of range");let m=0;for(let h=7;h>=0;h--)m=m<<1^(m>>>7)*285,m^=(u>>>h&1)*a;return o(m>>>8==0),m}finderPenaltyCountPatterns(a){const u=a[1];o(u<=this.size*3);const m=u>0&&a[2]==u&&a[3]==u*3&&a[4]==u&&a[5]==u;return(m&&a[0]>=u*4&&a[6]>=u?1:0)+(m&&a[6]>=u*4&&a[0]>=u?1:0)}finderPenaltyTerminateAndCount(a,u,m){return a&&(this.finderPenaltyAddHistory(u,m),u=0),u+=this.size,this.finderPenaltyAddHistory(u,m),this.finderPenaltyCountPatterns(m)}finderPenaltyAddHistory(a,u){u[0]==0&&(a+=this.size),u.pop(),u.unshift(a)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(d,a,u){if(a<0||a>31||d>>>a)throw new RangeError("Value out of range");for(let m=a-1;m>=0;m--)u.push(d>>>m&1)}function s(d,a){return(d>>>a&1)!=0}function o(d){if(!d)throw new Error("Assertion error")}const r=class Ve{constructor(a,u,m){if(this.mode=a,this.numChars=u,this.bitData=m,u<0)throw new RangeError("Invalid argument");this.bitData=m.slice()}static makeBytes(a){let u=[];for(const m of a)n(m,8,u);return new Ve(Ve.Mode.BYTE,a.length,u)}static makeNumeric(a){if(!Ve.isNumeric(a))throw new RangeError("String contains non-numeric characters");let u=[];for(let m=0;m<a.length;){const h=Math.min(a.length-m,3);n(parseInt(a.substring(m,m+h),10),h*3+1,u),m+=h}return new Ve(Ve.Mode.NUMERIC,a.length,u)}static makeAlphanumeric(a){if(!Ve.isAlphanumeric(a))throw new RangeError("String contains unencodable characters in alphanumeric mode");let u=[],m;for(m=0;m+2<=a.length;m+=2){let h=Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m))*45;h+=Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m+1)),n(h,11,u)}return m<a.length&&n(Ve.ALPHANUMERIC_CHARSET.indexOf(a.charAt(m)),6,u),new Ve(Ve.Mode.ALPHANUMERIC,a.length,u)}static makeSegments(a){return a==""?[]:Ve.isNumeric(a)?[Ve.makeNumeric(a)]:Ve.isAlphanumeric(a)?[Ve.makeAlphanumeric(a)]:[Ve.makeBytes(Ve.toUtf8ByteArray(a))]}static makeEci(a){let u=[];if(a<0)throw new RangeError("ECI assignment value out of range");if(a<128)n(a,8,u);else if(a<16384)n(2,2,u),n(a,14,u);else if(a<1e6)n(6,3,u),n(a,21,u);else throw new RangeError("ECI assignment value out of range");return new Ve(Ve.Mode.ECI,0,u)}static isNumeric(a){return Ve.NUMERIC_REGEX.test(a)}static isAlphanumeric(a){return Ve.ALPHANUMERIC_REGEX.test(a)}getData(){return this.bitData.slice()}static getTotalBits(a,u){let m=0;for(const h of a){const f=h.mode.numCharCountBits(u);if(h.numChars>=1<<f)return 1/0;m+=4+f+h.bitData.length}return m}static toUtf8ByteArray(a){a=encodeURI(a);let u=[];for(let m=0;m<a.length;m++)a.charAt(m)!="%"?u.push(a.charCodeAt(m)):(u.push(parseInt(a.substring(m+1,m+3),16)),m+=2);return u}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let l=r;e.QrSegment=r})(xt||(xt={}));(e=>{(t=>{const n=class{constructor(o,r){this.ordinal=o,this.formatBits=r}};n.LOW=new n(0,1),n.MEDIUM=new n(1,0),n.QUARTILE=new n(2,3),n.HIGH=new n(3,2),t.Ecc=n})(e.QrCode||(e.QrCode={}))})(xt||(xt={}));(e=>{(t=>{const n=class{constructor(o,r){this.modeBits=o,this.numBitsCharCount=r}numCharCountBits(o){return this.numBitsCharCount[Math.floor((o+7)/17)]}};n.NUMERIC=new n(1,[10,12,14]),n.ALPHANUMERIC=new n(2,[9,11,13]),n.BYTE=new n(4,[8,16,16]),n.KANJI=new n(8,[8,10,12]),n.ECI=new n(7,[0,0,0]),t.Mode=n})(e.QrSegment||(e.QrSegment={}))})(xt||(xt={}));var wt=xt;var Ur={L:wt.QrCode.Ecc.LOW,M:wt.QrCode.Ecc.MEDIUM,Q:wt.QrCode.Ecc.QUARTILE,H:wt.QrCode.Ecc.HIGH},so=128,oo="L",io="#FFFFFF",ro="#000000",ao=!1,lo=1,Hr=4,Br=0,Gr=.1;function co(e,t=0){const n=[];return e.forEach(function(s,o){let r=null;s.forEach(function(l,d){if(!l&&r!==null){n.push(`M${r+t} ${o+t}h${d-r}v1H${r+t}z`),r=null;return}if(d===s.length-1){if(!l)return;r===null?n.push(`M${d+t},${o+t} h1v1H${d+t}z`):n.push(`M${r+t},${o+t} h${d+1-r}v1H${r+t}z`);return}l&&r===null&&(r=d)})}),n.join("")}function uo(e,t){return e.slice().map((n,s)=>s<t.y||s>=t.y+t.h?n:n.map((o,r)=>r<t.x||r>=t.x+t.w?o:!1))}function zr(e,t,n,s){if(s==null)return null;const o=e.length+n*2,r=Math.floor(t*Gr),l=o/t,d=(s.width||r)*l,a=(s.height||r)*l,u=s.x==null?e.length/2-d/2:s.x*l,m=s.y==null?e.length/2-a/2:s.y*l,h=s.opacity==null?1:s.opacity;let f=null;if(s.excavate){let g=Math.floor(u),S=Math.floor(m),x=Math.ceil(d+u-g),v=Math.ceil(a+m-S);f={x:g,y:S,w:x,h:v}}const p=s.crossOrigin;return{x:u,y:m,h:a,w:d,excavation:f,opacity:h,crossOrigin:p}}function $r(e,t){return t!=null?Math.max(Math.floor(t),0):e?Hr:Br}function mo({value:e,level:t,minVersion:n,includeMargin:s,marginSize:o,imageSettings:r,size:l,boostLevel:d}){let a=c.useMemo(()=>{const g=(Array.isArray(e)?e:[e]).reduce((S,x)=>(S.push(...wt.QrSegment.makeSegments(x)),S),[]);return wt.QrCode.encodeSegments(g,Ur[t],n,void 0,void 0,d)},[e,t,n,d]);const{cells:u,margin:m,numCells:h,calculatedImageSettings:f}=c.useMemo(()=>{let p=a.getModules();const g=$r(s,o),S=p.length+g*2,x=zr(p,l,g,r);return{cells:p,margin:g,numCells:S,calculatedImageSettings:x}},[a,l,r,s,o]);return{qrcode:a,margin:m,cells:u,numCells:h,calculatedImageSettings:f}}var Wr=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),Kr=c.forwardRef(function(t,n){const s=t,{value:o,size:r=so,level:l=oo,bgColor:d=io,fgColor:a=ro,includeMargin:u=ao,minVersion:m=lo,boostLevel:h,marginSize:f,imageSettings:p}=s,S=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:x}=S,v=Dn(S,["style"]),C=p?.src,w=c.useRef(null),b=c.useRef(null),N=c.useCallback(k=>{w.current=k,typeof n=="function"?n(k):n&&(n.current=k)},[n]),[T,M]=c.useState(!1),{margin:y,cells:A,numCells:I,calculatedImageSettings:j}=mo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:f,imageSettings:p,size:r});c.useEffect(()=>{if(w.current!=null){const k=w.current,H=k.getContext("2d");if(!H)return;let z=A;const ee=b.current,P=j!=null&&ee!==null&&ee.complete&&ee.naturalHeight!==0&&ee.naturalWidth!==0;P&&j.excavation!=null&&(z=uo(A,j.excavation));const Y=window.devicePixelRatio||1;k.height=k.width=r*Y;const q=r/I*Y;H.scale(q,q),H.fillStyle=d,H.fillRect(0,0,I,I),H.fillStyle=a,Wr?H.fill(new Path2D(co(z,y))):A.forEach(function(J,Q){J.forEach(function(pe,ve){pe&&H.fillRect(ve+y,Q+y,1,1)})}),j&&(H.globalAlpha=j.opacity),P&&H.drawImage(ee,j.x+y,j.y+y,j.w,j.h)}}),c.useEffect(()=>{M(!1)},[C]);const L=bn({height:r,width:r},x);let K=null;return C!=null&&(K=c.createElement("img",{src:C,key:C,style:{display:"none"},onLoad:()=>{M(!0)},ref:b,crossOrigin:j?.crossOrigin})),c.createElement(c.Fragment,null,c.createElement("canvas",bn({style:L,height:r,width:r,ref:N,role:"img"},v)),K)});Kr.displayName="QRCodeCanvas";var fo=c.forwardRef(function(t,n){const s=t,{value:o,size:r=so,level:l=oo,bgColor:d=io,fgColor:a=ro,includeMargin:u=ao,minVersion:m=lo,boostLevel:h,title:f,marginSize:p,imageSettings:g}=s,S=Dn(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:x,cells:v,numCells:C,calculatedImageSettings:w}=mo({value:o,level:l,minVersion:m,boostLevel:h,includeMargin:u,marginSize:p,imageSettings:g,size:r});let b=v,N=null;g!=null&&w!=null&&(w.excavation!=null&&(b=uo(v,w.excavation)),N=c.createElement("image",{href:g.src,height:w.h,width:w.w,x:w.x+x,y:w.y+x,preserveAspectRatio:"none",opacity:w.opacity,crossOrigin:w.crossOrigin}));const T=co(b,x);return c.createElement("svg",bn({height:r,width:r,viewBox:`0 0 ${C} ${C}`,ref:n,role:"img"},S),!!f&&c.createElement("title",null,f),c.createElement("path",{fill:d,d:`M0,0 h${C}v${C}H0z`,shapeRendering:"crispEdges"}),c.createElement("path",{fill:a,d:T,shapeRendering:"crispEdges"}),N)});fo.displayName="QRCodeSVG";const Yr=(e,t)=>({invitationType:he.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(e)}`},...t]}),qr=e=>{const t=e?.invitationLink?.split("/").at(-1)||"";return`/${X.SHARE_CONVERSATION_ROUTE}/${t}`},Zr=(e,t)=>t?.find(n=>{const s=e?.id?.split("/")?.pop(),o=n?.url?.split("/")?.pop()||"";return o===s||decodeURI(o)===s}),Xr=e=>e?.messages?.filter(n=>!!n?.custom_content?.attachments)?.flatMap(n=>n?.custom_content?.attachments?.map(s=>({url:s?.url||""}))||[])?.filter(n=>!!n?.url)||[],Jr=({conversation:e,locale:t,onCloseModal:n,modalDividers:s,getConversation:o,generateConversationLink:r,chatExpiration:l,chatExpirationDays:d,close:a,chatWarning:u,shareLink:m,shareCopyLink:h,shareCopiedLink:f,shareDescription:p,shareRemoveAccessToUsers:g,chatName:S,getSharedConversations:x,revokeSharedConversations:v,baseUrl:C,id:w,clientSharedPage:b,clientSharedProp:N,shareAlertMessage:T})=>{const[M,y]=c.useState(null),[A,I]=c.useState(),[j,L]=c.useState(!1),[K,k]=c.useState(!1),[H,z]=c.useState(),ee=c.useRef(null),P=c.useRef(null),Y=c.useMemo(()=>e?.id?decodeURI(e.id):w?.[0]&&w?.[1]&&t?decodeURI(`${w[0]}/${t}/${w[1]}`):null,[e?.id,w,t]),q=c.useMemo(()=>{if(!M)return"";const O=C||window.location.origin;if(C&&C!==window.location.origin&&b&&N){const _=M.split(`/${X.SHARE_CONVERSATION_ROUTE}/`)?.[1];return`${O}/${b}?${N}=${_}`}return`${O}/${t}${M}`},[C,M,t,b,N]),J=c.useCallback(async O=>{const _=await x?.(he.getSharedConversationsRequest(he.ShareTarget.OTHERS));if(_)return Zr({id:O},_.resources)},[x]);c.useEffect(()=>{if(!Y||ee.current===Y)return;ee.current=Y,L(!1),P.current?.abort();const O=new AbortController;return P.current=O,(async()=>{try{const ie=await o?.(Y),de=Yr(Y,Xr(ie)),ce=await r?.(de),je=await J(Y);if(O.signal.aborted||!ce)return;y(qr(ce)),I(je),L(!0)}catch(ie){if(O.signal.aborted)return;L(!1),console.error("Error sharing conversation",ie)}})(),()=>{O.abort(),ee.current=null}},[Y,r,o,J]);const Q=c.useCallback(()=>{P.current?.abort(),ee.current=null,n(),y(null),L(!1),k(!1)},[n]),pe=c.useCallback(()=>{k(!0),navigator.clipboard.writeText(q||"")},[q]),ve=async()=>{try{if(z(!0),A&&await v?.({resources:[A]}),Y){const O=await J(Y);P.current?.signal.aborted||I(O)}}catch(O){console.error("Error revoking shared conversation",O)}finally{P.current?.signal.aborted||z(!1)}},De=c.useCallback(()=>i.jsx(E.Button,{buttonClassName:K?"text-button-secondary":"text-button-primary",iconBefore:K?i.jsx(Be.IconCheck,{width:20,height:20}):i.jsx(Be.IconCopy,{width:20,height:20}),title:K?f??"Copied":h??"Copy link",disabled:K,onClick:pe}),[K,pe,f,h]);return i.jsxs(E.Popup,{heading:m??"Share link",portalId:"share",size:E.PopUpSize.SM,dividers:s,onClose:Q,closeButtonTitle:a??"Close",children:[j?i.jsxs("div",{className:"share flex flex-col gap-y-4 overflow-auto px-6 pb-6 sm:p-0",children:[T?i.jsx(E.InlineAlert,{type:E.InlineAlertType.Note,icon:i.jsx(Be.IconInfoCircle,{width:16,height:16}),children:T}):null,e?.name?i.jsxs("div",{className:"share-info flex w-full",children:[i.jsx("p",{className:"share-info-title body-1 mr-1 text-neutrals-800",children:S??"Chat name:"}),i.jsx("h3",{className:"min-w-0 flex-1 truncate",title:e?.name,children:e?.name})]}):null,i.jsxs("div",{className:"share-info flex",children:[i.jsx("p",{className:"share-info-title body-1 mr-1 text-neutrals-800",children:l??"Link expiration date:"}),i.jsxs("h3",{children:["3 ",d??"days"]})]}),i.jsx(fo,{className:"min-h-[200px] self-center rounded border border-neutrals-600 p-2",value:q,size:200}),i.jsx("p",{className:"body-2 text-neutrals-1000",children:p??"Your name, special instructions, and any messages you add after sharing remain confidential."}),i.jsx(E.InputWithIcon,{containerClasses:"share-input-container",cssClass:"share-input",readonly:!0,placeholder:q,value:q,inputId:"conversationLink",iconAfterInput:De()})]}):i.jsx("div",{className:"flex items-center justify-center p-6",children:i.jsx(E.Loader,{})}),j?e&&A?i.jsx("div",{className:"remove-access",children:i.jsx(E.Button,{title:g??"Remove access to all users",buttonClassName:"remove-access-button py-3 px-4",isSmallButton:!0,disabled:H,onClick:ve})}):i.jsx("p",{className:"body-2 share-footer text-neutrals-800",children:u??"This chat has not been shared with anyone yet."}):i.jsx("div",{})]})},ho=({shareButtonClass:e,shareIcon:t,...n})=>{const[s,o]=c.useState(E.PopUpState.Closed),r=()=>{o(E.PopUpState.Opened)},l=c.useCallback(()=>{o(E.PopUpState.Closed)},[]);return i.jsxs(i.Fragment,{children:[i.jsx(E.Button,{buttonClassName:e||"text-button-secondary",title:n?.share||"Share",iconBefore:t,onClick:r}),s===E.PopUpState.Opened&&i.jsx(Jr,{onCloseModal:l,...n})]})},po=({conversation:e,locale:t,isOpenedAdvancedView:n,isShowShareButton:s,shareConversationProps:o,rightSlot:r})=>i.jsx(i.Fragment,{children:i.jsxs("header",{className:W("bg-white border-b px-6 py-2 border-gray-200 flex justify-between items-center sm:hidden","conversation-view-header"),children:[i.jsx("span",{className:W("flex-1 min-w-0 truncate h4","conversation-view-header-text"),title:e?.name,children:e?.name}),i.jsxs("div",{className:"ml-3 flex items-center gap-4",children:[!n&&s&&i.jsx("div",{className:"flex gap-x-2",children:i.jsx(ho,{conversation:e,locale:t,...o})}),r]})]})}),go=({content:e,textColorClass:t})=>{const{isOpenedAdvancedView:n}=We();return i.jsx("div",{className:W("prose max-w-none break-words",n?"body-2":"body-1",t),children:i.jsx(zs,{remarkPlugins:[$s],components:{strong:s=>i.jsx("strong",{className:t,...s}),a:({href:s,children:o,...r})=>i.jsx("a",{href:s,target:"_blank",rel:"noreferrer",...r,children:o})},children:e})})},Co=({choiceButtons:e,disabled:t,onClick:n})=>{const s=W("flex w-full min-h-[72px] flex-col items-start justify-center rounded border px-4 py-2 text-left","border-hues-200 hover:bg-hues-100","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent");return e.map(o=>i.jsx("div",{className:"mt-4",children:i.jsxs("button",{type:"button",className:s,disabled:t,onClick:()=>n(o[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText,o?.const),"aria-label":"button",children:[i.jsx("h3",{className:"mb-1",children:o.title}),o.const!==nn.COMPLETE&&i.jsx("p",{className:"body-1 text-neutrals-800",children:o[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText})]})},o.title))},Qr=({messageContent:e,choiceButtons:t,disabled:n,onClick:s,handleOnboardingSkip:o})=>{const{titles:r}=we();return i.jsxs("div",{className:"onboarding flex size-full flex-1 flex-col overflow-auto",children:[i.jsx(po,{conversation:{name:r?.onboardingTitle??"Introducing the AI assistant"}}),i.jsxs("div",{className:"onboarding-content flex flex-col",children:[i.jsx(go,{content:e}),i.jsx("div",{className:"mt-4",children:i.jsx(Co,{choiceButtons:t,disabled:n,onClick:s})}),i.jsxs("div",{className:"mt-8 flex",children:[i.jsx(E.Button,{title:r?.skipOnboardingNow,buttonClassName:"text-button-secondary mr-4",disabled:n,onClick:()=>o?.(),isSmallButton:!0}),i.jsx(E.Button,{title:r?.refuseOnboarding,buttonClassName:"text-button-tertiary",disabled:n,onClick:()=>o?.(!0),isSmallButton:!0})]})]})]})},xo=({openNewConversation:e})=>{const{titles:t}=we();return i.jsxs("div",{className:"body-3 bg-accent-300 p-2 text-center",children:[i.jsx("span",{className:"mr-2 text-neutrals-900",children:t?.onboardingFooter}),i.jsxs("span",{onClick:e,className:"inline-flex cursor-pointer align-top",children:[i.jsx(Be.IconPlus,{width:15,height:15}),i.jsx("p",{className:"ml-1",children:t?.onboardingFooterLink})]})]})},So=({firstLine:e,secondLine:t})=>{const n=e!=null&&e.trim()!=="",s=t!=null&&t.trim()!=="";return i.jsxs("div",{className:W("text-center body-3",s?"p-0":n?"p-1":"p-3"),children:[n&&i.jsx("div",{className:"text-neutrals-800",children:e}),s&&i.jsx("div",{className:"text-neutrals-800",children:t})]})},ea=({suggestionsList:e,welcomeText:t,welcomeDescription:n,welcomeInputPlaceholder:s,titleIcon:o,actions:r,titles:l,inputMessageStyles:d,suggestionsContainerClass:a,isBottomInputPosition:u,prompt:m,onboardingMessageSchema:h,handleConversationClick:f,setConversations:p,locale:g,setSharedConversations:S})=>{const[x,v]=c.useState(null),[C,w]=c.useState(!0),[b,N]=c.useState(!1),{onboardingFileSchema:T,onboardingFileName:M,onboardingFilePath:y,isShowOnboarding:A,setIsShowOnboarding:I,setOnboardingFileSchema:j}=Ye(),{isAgentAvailable:L}=E.useAgentAvailability(),{statusMessages:K}=Ln();c.useEffect(()=>{(async()=>{try{const P=await r.getBucket();v(P.bucket)}catch(P){console.error(P instanceof Error?P.message:"Request error")}finally{w(!1)}})()},[r]);const k=c.useCallback(async(ee,P)=>{if(!x){console.error("No bucket");return}N(!0);try{const Y=A?Or(x,g,l?.onboardingTitle??"Introducing the AI assistant",h?.properties?.choice?.description??"",ee,P):_r(x,g,l.newChat??"New chat",ee),q=await r.createConversation(Y,g,A),J=await r.getConversations(g),Q=await r.getSharedConversations(he.getSharedConversationsRequest(he.ShareTarget.ME));if(h&&T){const pe={...T,isStarted:!0};await r.putOnboardingFile?.(M,y,pe),j?.(pe)}p(X.cleanConversationNames(J)),S(X.cleanConversationNames(wr.transformSharedConversations(Q,g))),f(q.folderId,q.id)}catch(Y){console.error(Y instanceof Error?Y.message:"Creation conversation failed"),N(!1)}},[r,x,f,A,g,M,y,T,h,p,j,S,l.newChat,l?.onboardingTitle]),H=c.useCallback(async ee=>{if(I(!1),ee&&T){const P={...T,isSkipped:!0};await r.putOnboardingFile?.(M,y,P),j?.(P)}},[r,M,y,T,I,j]);c.useEffect(()=>{m&&x&&k(m)},[x,m]);const z=()=>{const ee=!x;return L?i.jsxs(i.Fragment,{children:[i.jsx(Qs,{containerClasses:W(d.inputContainerClass,u&&"order-3 mt-auto"),inputClasses:"mr-2",disabled:ee,placeholder:s||l?.askAnything||"Ask anything...",sendMessageIcon:d.sendMessageIcon,onSendMessage:k}),i.jsx("div",{className:W("no-scrollbar overflow-x-auto",a),children:i.jsx("div",{className:W("flex flex-wrap justify-center gap-2","tags-container"),children:e.map(P=>i.jsx(E.Tag,{title:P.title,text:P[Ae.DialSchemaProperties.DialWidgetOptions]?.populateText,disabled:ee,onClick:k},P.title))})})]}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:K.assistantUnavailable})};return i.jsx(sn,{styles:{titles:l},children:i.jsxs("div",{className:"flex size-full flex-col",children:[b||m&&C?i.jsx(E.Loader,{}):A?i.jsx(Qr,{messageContent:h?.properties?.choice?.description||"",choiceButtons:h?.properties?.choice?.oneOf||[],disabled:!x,handleOnboardingSkip:H,onClick:k}):i.jsxs("div",{className:"flex h-full flex-col items-center justify-center sm:px-4",children:[i.jsxs("div",{className:W("flex items-center max-w-full sm-min:px-4",u?"mt-auto mb-8":n?"mb-0":"mb-6"),children:[o,i.jsx("h1",{className:"sm:h2 text-hues-800 text-center",children:t??l?.welcomeTitle??"How can I help you?"})]}),n&&i.jsx("p",{className:"body-1 text-neutrals-900 mb-6 mt-3 max-w-[784px] text-center",children:n}),z()]}),A&&i.jsx(xo,{openNewConversation:()=>I(!1)}),!A&&i.jsx(So,{firstLine:l.footerFirstLine,secondLine:l.footerSecondLine})]})})},vo=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M8.00016 1.33325C4.3135 1.33325 1.3335 4.31325 1.3335 7.99992C1.3335 11.6866 4.3135 14.6666 8.00016 14.6666C11.6868 14.6666 14.6668 11.6866 14.6668 7.99992C14.6668 4.31325 11.6868 1.33325 8.00016 1.33325ZM8.00016 13.3333C5.06016 13.3333 2.66683 10.9399 2.66683 7.99992C2.66683 5.05992 5.06016 2.66659 8.00016 2.66659C10.9402 2.66659 13.3335 5.05992 13.3335 7.99992C13.3335 10.9399 10.9402 13.3333 8.00016 13.3333ZM10.3935 4.66659L8.00016 7.05992L5.60683 4.66659L4.66683 5.60659L7.06016 7.99992L4.66683 10.3933L5.60683 11.3333L8.00016 8.93992L10.3935 11.3333L11.3335 10.3933L8.94016 7.99992L11.3335 5.60659L10.3935 4.66659Z",fill:"currentColor"})),ta=({dataQueries:e,disabledDatasetUrns:t,isSelected:n,onSelect:s,onClearAll:o})=>{const{titles:r}=we(),l=e.length-t.size,d=t.size>0;return i.jsxs("div",{className:W("flex justify-between items-center px-2 h-10 shrink-0 hover:bg-hues-100 rounded","filters-facet-item cursor-pointer",n&&"bg-hues-100"),onClick:s,children:[i.jsx("h3",{className:"w-full min-w-0 flex-1 truncate",title:r?.dataset??"Dataset",children:i.jsx("span",{className:"truncate",children:r?.dataset??"Dataset"})}),i.jsxs("div",{className:"ml-2 flex items-center gap-2 text-neutrals-800",children:[i.jsx("span",{className:"filters-facet-item-counter px-2 text-center",children:`${l}/${e.length}`}),d&&i.jsx("div",{className:"filters-facet-item-settings flex items-center gap-2",children:i.jsx(E.IconButton,{buttonClassName:"text-button-tertiary w-4 h-4 border-0 p-0 filters-facet-item-icon",icon:i.jsx(vo,{width:16,height:16}),title:r?.reset??"Reset",onClick:a=>{a.stopPropagation(),o()}})})]})]})},Fn=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M11.3301 6.25L8.00008 9.75L4.67008 6.25L11.3301 6.25Z",fill:"currentColor"})),na=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M12.8232 7C12.926 7 13.012 7.07201 13.0244 7.16797L13.1807 8.22754C13.4315 8.32754 13.6621 8.46012 13.876 8.62012L14.9004 8.21973C14.9208 8.21186 14.9453 8.20803 14.9697 8.20801C15.0436 8.20801 15.1133 8.24392 15.1504 8.30762L15.9736 9.69238C16.0227 9.7803 16.0018 9.88834 15.9238 9.94824L15.0566 10.6084C15.0731 10.7363 15.085 10.8642 15.085 11C15.085 11.1358 15.0731 11.2637 15.0566 11.3916L15.9238 12.0518C16.0018 12.1117 16.0227 12.2197 15.9736 12.3076L15.1504 13.6924C15.1133 13.7561 15.0434 13.792 14.9736 13.792C14.9492 13.7919 14.9248 13.7881 14.9004 13.7803L13.876 13.3799C13.6621 13.5359 13.4315 13.6725 13.1807 13.7725L13.0244 14.832C13.012 14.928 12.926 15 12.8232 15H11.1787C11.0759 15 10.9889 14.928 10.9766 14.832L10.8203 13.7725C10.5696 13.6725 10.3397 13.5398 10.126 13.3799L9.10156 13.7803C9.08115 13.7882 9.05667 13.792 9.03223 13.792C8.95826 13.792 8.88761 13.7563 8.85059 13.6924L8.02832 12.3076C7.97924 12.2197 8.0001 12.1117 8.07812 12.0518L8.94531 11.3916C8.92889 11.2637 8.91699 11.1319 8.91699 11C8.91699 10.8681 8.92889 10.7363 8.94531 10.6084L8.07812 9.94824C8.0001 9.88832 7.97515 9.78032 8.02832 9.69238L8.85059 8.30762C8.88754 8.24383 8.95763 8.20816 9.02734 8.20801C9.05192 8.20801 9.07699 8.21179 9.10156 8.21973L10.126 8.62012C10.3397 8.46418 10.5696 8.32752 10.8203 8.22754L10.9766 7.16797C10.9889 7.07197 11.0759 7 11.1787 7H12.8232ZM11.7129 7.7998L11.6309 8.33984L11.5654 8.79199L11.1289 8.96387C10.9604 9.03184 10.792 9.12795 10.6152 9.25586L10.2451 9.52832L9.81738 9.36035L9.29492 9.15625L9.00684 9.63965L9.45117 9.97559L9.81738 10.2559L9.75977 10.708C9.74743 10.828 9.73926 10.92 9.73926 11C9.73926 11.08 9.74743 11.1719 9.75977 11.2959L9.81738 11.748L9.45117 12.0283L9.00684 12.3643L9.29492 12.8477L9.81738 12.6436L10.2529 12.4717L10.627 12.752C10.7913 12.8719 10.9561 12.9642 11.1328 13.0361L11.5693 13.208L11.6348 13.6602L11.7129 14.2002H12.2891L12.3711 13.6602L12.4365 13.208L12.873 13.0361C13.0415 12.9681 13.21 12.8721 13.3867 12.7441L13.7568 12.4717L14.1846 12.6396L14.707 12.8438L14.9941 12.3604L14.5508 12.0244L14.1846 11.7441L14.2422 11.292C14.2545 11.172 14.2627 11.084 14.2627 11C14.2627 10.916 14.2586 10.832 14.2422 10.708L14.1846 10.2559L14.5508 9.97559L14.9902 9.63574L14.7021 9.15234L14.1807 9.35645L13.7441 9.52832L13.3701 9.24805C13.2057 9.12808 13.0411 9.03586 12.8643 8.96387L12.4287 8.79199L12.3623 8.33984L12.2842 7.7998H11.7129ZM3.33301 12.6338H2V11.3008H3.33301V12.6338ZM7.00977 11.3008C7.03732 11.7651 7.12864 12.2121 7.27441 12.6338H4.66699V11.3008H7.00977ZM12.001 9.40039C12.9097 9.40043 13.6455 10.116 13.6455 11C13.6455 11.884 12.9097 12.5996 12.001 12.5996C11.0922 12.5996 10.3564 11.884 10.3564 11C10.3564 10.116 11.0922 9.40039 12.001 9.40039ZM12.001 10.2002C11.5486 10.2002 11.1787 10.56 11.1787 11C11.1787 11.44 11.5486 11.7998 12.001 11.7998C12.4533 11.7998 12.8232 11.44 12.8232 11C12.8232 10.56 12.4533 10.2002 12.001 10.2002ZM3.33301 8.63379H2V7.30078H3.33301V8.63379ZM8.63574 7.30078C8.21765 7.68124 7.86483 8.13197 7.59473 8.63379H4.66699V7.30078H8.63574ZM3.33301 4.7334H2V3.40039H3.33301V4.7334ZM14 4.7334H4.66699V3.40039H14V4.7334Z",fill:"currentColor"})),ss=(e,t,n,s,o=!1,r)=>{const l={...br[s]},d=Dr;o&&(l.firstDayOfWeek=1);const a=new Date(e);a.setHours(0,0,0,0);const u=new Date(t);u.setHours(23,59,59,999);const m={minDate:n===X.CalendarResolution.MONTH?new Date(e.getFullYear(),e.getMonth()):a,maxDate:n===X.CalendarResolution.MONTH?new Date(t.getFullYear(),t.getMonth()):u,locale:l};return n===X.CalendarResolution.MONTH?{...m,dateFormat:"M Y",plugins:[new d({shorthand:!0,dateFormat:"M Y"})]}:{...m,monthSelectorType:"static",dateFormat:r||"d.m.Y"}},os=e=>{e?.setMinutes(e.getMinutes()-e.getTimezoneOffset())},sa={year:"numeric",month:"short",day:"numeric"},Xt=(e,t)=>e?.toLocaleDateString(t,sa)||"",oa=(e,t)=>{const{startPeriod:n,endPeriod:s}=e;if(!t.startPeriod&&!t.endPeriod&&n&&s)return{startPeriod:new Date(n?.getTime()),endPeriod:new Date(s?.getTime())};const o=n?new Date(Math.max(n.getTime(),t.startPeriod.getTime())):t.startPeriod,r=s?new Date(Math.min(s.getTime(),t.endPeriod.getTime())):t.endPeriod;return{startPeriod:o,endPeriod:r}},ia=(e,t)=>{const{endPeriod:n}=e,s=n?.getFullYear()||new Date().getFullYear(),o=s+ +t,r=new Date(+t<0?s:o,n?.getMonth()||0,n?.getDate()||1),l=new Date(+t<0?o:s,0,1);return{startPeriod:new Date(Math.max(l.getTime(),e?.startPeriod?.getTime()||0)),endPeriod:r}},ra=e=>({quarterly:e?.quarterly||"Q",monthly:e?.monthly||"M"}),wo=(e,t)=>{const n=ra(t);return D.isQuarterly(e)&&n?.quarterly?e?.replace(/Q/g,n?.quarterly):D.isMonthly(e)&&n?.monthly?e?.replace(/M/g,n?.monthly):e},aa=(e,t)=>{const n={...e};return(!e.startPeriod&&t?.startPeriod||t?.startPeriod&&e?.startPeriod&&t.startPeriod<e?.startPeriod)&&(n.startPeriod=t?.startPeriod||null),(!e.endPeriod&&t?.endPeriod||t?.endPeriod&&e?.endPeriod&&t.endPeriod>e?.endPeriod)&&(n.endPeriod=t?.endPeriod||null),n},is=e=>{if(!e?.length)return null;let t=null,n=null;for(const s of e){const o=s.filters?.find(a=>a.componentCode===D.TIME_PERIOD);if(!o)continue;const r=o.values.filter(Boolean),l=r[0]?X.getTimePeriod(r[0]):null,d=r[1]?X.getTimePeriod(r[1]):null;!l||!d||((!t||l<t)&&(t=l),(!n||d>n)&&(n=d))}return t&&n?{startPeriod:t,endPeriod:n}:null};var Qe=(e=>(e.FLAT_LIST="FLAT_LIST",e.HIERARCHY="HIERARCHY",e))(Qe||{});const bo=(e,t,n,s,o)=>e?.map(r=>{const l=D.findCodelistByDimension(t?.codelists,t?.conceptSchemes,r)?.codes,d=D.getAvailableCodes(r,n,l,s),a=l?.some(u=>u?.parent);return{id:r?.id,title:D.getDimensionTitle(t?.conceptSchemes,r,s),dimensionValues:d,isTimeDimension:r?.type===D.DimensionType.TIME_DIMENSION,isHierarchical:a,displayMode:a?Qe.HIERARCHY:Qe.FLAT_LIST,datasetUrn:o,filterType:"dataset"}})||[],Gt=e=>e?.filterType==="shared",Ke=e=>{if(e?.id)return Gt(e)?`shared:${e.id}`:e?.datasetUrn?`${e.datasetUrn}:${e.id}`:e.id},_e=(e,t)=>Ke(e)===Ke(t),Jt=(e,t)=>e?.map(n=>t&&_e(n,t)?{...t,isSelectedFilter:!0}:{...n,isSelectedFilter:!1}),Do=(e,t,n)=>e?e.map(s=>_e(s,t)?{...s,displayMode:n}:s):[],yo=e=>e?.filter(t=>!!t?.isSelectedValue)||[],on=e=>e?.map(t=>({...t,dimensionValues:yo(t?.dimensionValues)})).filter(t=>t.dimensionValues?.length||t.timeRange?.startPeriod||t.timeRange?.endPeriod),Pn=e=>e?.reduce((t,n)=>(n?.dimensionValues?.length??0)+t,0)||0,Eo=e=>({...e,dimensionValues:e?.dimensionValues?.map(t=>({...t,isSelectedValue:!1})),timeRange:void 0}),To=(e,t)=>e?.map(n=>_e(n,t)?Eo(n):n),Mo=e=>e?.map(t=>Eo(t)),No=(e,t,n)=>e.map(s=>{const o=t?.filters?.find(l=>l.componentCode===s.id);let r=[];if(o)if(s.isTimeDimension){const l=o.values.filter(h=>!!h),d=D.getAnnotationPeriod(n?.[0]?.annotations),a=l[0]?X.getTimePeriod(l[0]):null,u=l[1]?X.getTimePeriod(l[1]):null;let m=d;return a&&u&&(m=d?oa({startPeriod:a,endPeriod:u},d):{startPeriod:a,endPeriod:u}),{...s,timeRange:m}}else r=s?.dimensionValues?.map(d=>o?.values?.includes(d.id)?{...d,isSelectedValue:!0}:d);else r=s.dimensionValues;return{...s,dimensionValues:r}}),Qt=e=>e?.map(t=>({...t,isDisabled:!0})),la=e=>new Map(e?.map(t=>[t.id,{...t,children:[]}])),ca=e=>{if(!e)return[];const t=la(e),n=[];return e.forEach(s=>{if(s&&s.parent){const o=t.get(s.parent),r=t.get(s.id);o&&o.children&&r&&(o.children=[...o.children,r])}else{const o=t.get(s.id);o&&n.push(o)}}),n},da=(e,t=!1)=>t?`${e*E.TREE_NODE_PADDING-E.TREE_NODE_ARROW_SIZE}px`:`${e*E.TREE_NODE_PADDING}px`,Io=e=>e?.children?.reduce((t,n)=>[...t,n,...Io(n)],[])||[],ua=(e,t)=>e?e.filter(n=>!n.disabled).map(n=>({...n,isSelectedValue:t})):[],Ao=e=>!!e?.children?.some(t=>t?.isSelectedValue||Ao(t)),ma=e=>{const t=Io(e);if(!e.children?.length)return[{...e,isSelectedValue:!e.isSelectedValue}];const n=(d,a)=>[{...e,isSelectedValue:d},...ua(t,a)];if(!e.isSelectableValue)return e.isSelectedValue?n(!1,!1):n(!0,!0);const s=t.filter(d=>!d.disabled),o=s.some(d=>d.isSelectedValue),r=s.length>0&&s.every(d=>d.isSelectedValue),l=!!e.isSelectedValue;return!l&&!o?n(!0,!0):l&&r?n(!1,!0):!l&&o?n(!0,!1):l&&!o?n(!1,!1):n(!0,!0)},fa=(e,t)=>e.filter(n=>n.isSelectableValue&&!t.has(n.id)).map(n=>({id:n.id,name:n.name,isSelectedValue:n.isSelectedValue})),ha=({isHierarchical:e,availableHierarchies:t,titles:n})=>[{key:"",title:n?.flatList??"Flat list"},...e?[{key:Qe.HIERARCHY,title:n?.hierarchy??"Hierarchy by parent"}]:[],...(t??[]).map(s=>({key:s.id,title:`${s.name??s.id} (${s.version})`}))],pa=({calendarResolution:e,timeRange:t,timeRangeOptions:n,calendarStartFromMonday:s=!0,locale:o=X.Locale.EN,radioIcon:r,initialConstraints:l,onValueChange:d,calendarIcon:a,dateFormat:u,defaultTimeOption:m,dataQueries:h})=>{const{titles:f}=we(),p=aa(D.getAnnotationPeriod(l?.[0]?.annotations),t),S=!!!(p?.startPeriod||p?.endPeriod)&&!t?is(h):null,x=S??p,[v,C]=c.useState(t??S),w=!t||t?.startPeriod?.getTime()===x?.startPeriod?.getTime()&&t?.endPeriod?.getTime()===x?.endPeriod?.getTime()?0:X.CUSTOM_PERIOD,[b,N]=c.useState(m??w),T=c.useMemo(()=>{const{startPeriod:j,endPeriod:L}=x,K=j?.getFullYear(),k=L?.getFullYear(),H=new Date().getFullYear();return n.filter(z=>z.value===X.CUSTOM_PERIOD||z.value===0||+z.value>=0&&k-H>=+z.value||+z.value<0&&K-H<+z.value)},[x,n]);c.useEffect(()=>{d(v,b)},[v]),c.useEffect(()=>{if(t!==null)return;const j=D.getAnnotationPeriod(l?.[0]?.annotations);j?.startPeriod||j?.endPeriod||C(is(h))},[t]);const M=j=>{j&&(os(j),C(L=>L?{...L,startPeriod:j||null}:{endPeriod:null,startPeriod:j||null}))},y=j=>{j&&(os(j),C(L=>L?{...L,endPeriod:j||null}:{startPeriod:null,endPeriod:j||null}))};if(x==null)return null;const A=ss(x.startPeriod,v?.endPeriod||x.endPeriod,e,o,s,u),I=ss(v?.startPeriod||x.startPeriod,x.endPeriod,e,o,s,u);return i.jsxs("div",{className:"mt-3 flex h-full min-w-0 flex-1 flex-col overflow-auto py-2 pr-3",children:[i.jsx("div",{className:"w-full",children:T.map(j=>i.jsx(E.Radio,{id:j.value.toString(),checked:b===j.value,label:j.title,onChange:()=>{const{value:L}=j;N(L),L!==X.CUSTOM_PERIOD&&C(L===0?x:ia(x,L))},radioIcon:r},j.value.toString()))}),i.jsx("div",{className:"w-full",children:b===X.CUSTOM_PERIOD&&i.jsxs("div",{className:"filters-time-period caption mt-3 flex gap-4 text-neutral-700",children:[i.jsx(E.Calendar,{onChange:M,options:A,value:v?.startPeriod||x?.startPeriod,label:f?.from||"From",id:"time-options-start",icon:a}),i.jsx(E.Calendar,{onChange:y,options:I,value:v?.endPeriod||x?.endPeriod,label:f?.to||"To",id:"time-options-end",icon:a,isEndDate:!0})]})})]})},ga={isMetadataInSidePanel:!1,isCrossDatasetModeOn:!1,isTableSettingsFeatureEnabled:!1},jo=c.createContext(ga);function Ca({children:e,isMetadataInSidePanel:t=!1,isCrossDatasetModeOn:n=!1,isTableSettingsFeatureEnabled:s=!1}){const o=c.useMemo(()=>({isMetadataInSidePanel:t,isCrossDatasetModeOn:n,isTableSettingsFeatureEnabled:s}),[t,n,s]);return i.jsx(jo.Provider,{value:o,children:e})}function Ge(){return c.useContext(jo)}const xa=2,Ro=({value:e,onChange:t,searchIconSize:n})=>{const{titles:s}=we(),{isCrossDatasetModeOn:o}=Ge(),[r,l]=c.useState(!1),d=e.trim().toLowerCase(),a=o&&r&&d.length<xa;return i.jsxs(i.Fragment,{children:[i.jsx(E.InputWithIcon,{inputId:"filters-search-input",containerClasses:"gap-2 items-center filters-search-input",cssClass:"filters-search-input-text",placeholder:s?.searchPlaceholder??"Search",value:e,onChange:t,onFocus:()=>l(!0),onBlur:()=>l(!1),iconBeforeInput:i.jsx(Be.IconSearch,{width:n,height:n,className:"text-primary"})}),o&&i.jsx("span",{className:W("caption text-neutrals-800 mt-1",{invisible:!a}),children:s?.searchMinCharsCaption??"Enter at least 2 characters to start searching"})]})},Sa=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M6.25 4.66668L9.75 8.00001L6.25 11.3333L6.25 4.66668Z",fill:"currentColor"})),Lo=({node:e,level:t=1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r})=>{const l=!!e?.children?.length,d=l&&!e.isSelectedValue&&Ao(e),a="cursor-pointer text-neutrals-1000 w-6 h-6 shrink-0",u=c.useId(),m=(h,f)=>{if(e?.children?.length){const p=e.children.some(g=>!g.disabled);o?.(p?ma(e):[{...e,isSelectedValue:f}])}else s?.(e.id,f)};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:"flex items-center",style:{paddingLeft:da(t,l)},children:[l&&(e?.isExpanded?i.jsx(Sa,{className:a,onClick:()=>r?.(e)}):i.jsx(Fn,{className:a,onClick:()=>r?.(e)})),i.jsx(E.Checkbox,{id:u,label:e?.name,checked:!!e.isSelectedValue,indeterminate:d,checkboxIcon:n,disabled:e?.disabled,onChange:m})]}),l&&e?.isExpanded&&i.jsx(i.Fragment,{children:e?.children?.map(h=>i.jsx(Lo,{node:h,level:t+1,checkboxIcon:n,selectFilterValue:s,selectHierarchicalNodes:o,expandHierarchicalValue:r},h?.id))})]},e?.id)},va=({treeNodes:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o})=>i.jsx(i.Fragment,{children:e?.map(r=>i.jsx(Lo,{node:r,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:s,expandHierarchicalValue:o},r?.id))}),rs=({style:e,filterValue:t,checkboxIcon:n,selectFilterValue:s})=>i.jsx("div",{style:e,children:i.jsx(E.Checkbox,{id:t.id,label:t.name,checked:!!t.isSelectedValue,checkboxIcon:n,onChange:s})}),zt=(e,t,n,s,o=X.Locale.EN)=>{const r=t?.map(l=>{const d=D.findCodelistByDimension(n?.codelists,n?.conceptSchemes,l),a=D.getAvailableCodesFromConstrains(d?.codes,l.id,s,o);return{...l,dimensionValues:a}});return e?.map(l=>{const d=r?.find(f=>f.id===l.id),u=(d?.dimensionValues||[]).map(f=>{const p=l.dimensionValues?.find(g=>g?.id===f?.id)?.isSelectedValue;return{...f,isSelectedValue:p}}),m=new Set(u.map(f=>f.id)),h=d?(l.dimensionValues??[]).filter(f=>!!f.isSelectedValue&&!m.has(f.id)):[];return{...l,isDisabled:!1,dimensionValues:[...u,...h]}})||[]},yn=(e,t,n)=>{let s=[];return rn(e,t,n).filter(o=>o.timeRange||o.dimensionValues?.some(r=>r.isSelectedValue)).forEach(o=>{const{id:r,dimensionValues:l}=o;o.isTimeDimension?s=[...s,...wa(o.timeRange,r)]:s.push({componentCode:r,operator:D.SeriesFilterOperator.EQUALS,value:l?.filter(d=>d.isSelectedValue)?.map(d=>d.id).join(D.GET_v3_FILTER_AND)||""})}),s},wa=(e,t)=>e==null||e.startPeriod==null||e.endPeriod==null?[]:[{componentCode:t,operator:D.SeriesFilterOperator.GREATER_OR_EQUAL,value:as(new Date(e.startPeriod))},{componentCode:t,operator:D.SeriesFilterOperator.LESS_OR_EQUAL,value:as(new Date(e.endPeriod),1)}],ba=1e3*60*60*24,as=(e,t=0)=>{e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMinutes(e.getMinutes()-e.getTimezoneOffset());let n=e.getTime();return n+=t?ba-1:0,e=new Date(n),n.toString()},It=e=>[...e].map(t=>({...t,value:t.value.split(",").sort().join(",")})).sort((t,n)=>t.componentCode.localeCompare(n.componentCode)),Nt=new Map,$t=new Map;function Fo(e,t){return`${e.name??""}::${t}`}function et(...e){return JSON.stringify(e)}async function nt(e,t,n){const s=Fo(e,t);if(Nt.has(s))return Nt.get(s);const o=$t.get(s);if(o)return o;const r=n().then(l=>(Nt.set(s,l),l)).finally(()=>{$t.delete(s)});return $t.set(s,r),r}function En(e,t){return Nt.has(Fo(e,t))}function ls(){Nt.clear(),$t.clear()}const Da=e=>e.map(t=>({componentCode:t.id||"",operator:X.QueryFilterType.IN,values:t.dimensionValues?.map(n=>n.id)||[]})),Po=(e,t)=>{const n=t?.timeDimensions?.[0],s=D.getTimeRangeFromAttachment(e,n)||null;return s?D.getQueryTimePeriodFilters(s,n?.id):null},_o=(e,t,n)=>{const s=on(rn(e,n)),o=s.find(r=>r?.isTimeDimension&&r?.timeRange);return{filterKey:D.getTimeSeriesFilterKey(t||[],Da(s)),timeFilter:D.getQueryTimePeriodFilters(o?.timeRange,o?.id)}},ya=e=>{if(!e)return"";const t=String(e.getDate()).padStart(2,"0"),n=String(e.getMonth()+1).padStart(2,"0"),s=e.getFullYear();return`${n}-${t}-${s}`},Ea=e=>{if(!e)return"";const t=String(e.getDate()).padStart(2,"0"),n=String(e.getMonth()+1).padStart(2,"0");return`${e.getFullYear()}-${n}-${t}`},Vo=(e,t,n=ya)=>rn(e,t)?.filter(s=>s.timeRange||s.isExcluded||s.dimensionValues?.some(o=>o.isSelectedValue)).map(s=>s?.isTimeDimension?{componentCode:s?.id,operator:X.QueryFilterType.BETWEEN,values:[n(s?.timeRange?.startPeriod||void 0)||"",n(s?.timeRange?.endPeriod||void 0)||""]}:s.isExcluded?{componentCode:s?.id,operator:X.QueryFilterType.EXCLUDED,values:[]}:{componentCode:s?.id,operator:X.QueryFilterType.IN,values:s?.dimensionValues?.filter(o=>o.isSelectedValue)?.map(o=>o.id)||[]}),Ta=(e,t)=>{const n=rn(e,t).flatMap(o=>o.id?[o.id]:[]),s=t?e.flatMap(o=>{if(o.filterType!=="shared")return[];const r=o.sourceFilterIdsByDataset?.[t];return r?[r]:[]}):[];return new Set([...n,...s])},Ma=(e,t)=>{const n=new Set(t.map(s=>s.componentCode));return Array.from(e).filter(s=>!n.has(s)).map(s=>({componentCode:s,operator:X.QueryFilterType.IN,values:[D.GET_v3_FILTER_ALL]}))},Oo=(e,t,n=!0)=>{const s=n?e.urn:void 0,o=Na(t,s),r=Ta(t,s),l=Ma(r,o),d=(e.filters??[]).filter(a=>!r.has(a.componentCode));return{...e,filters:[...d,...o,...l]}},ko=(e,t)=>Vo(e,t),Na=(e,t)=>Vo(e,t,Ea),Uo="COUNTRY",Ho="FREQUENCY",vt="TIME_PERIOD",Ia=new Set([Uo,Ho,vt]),Wt=e=>e?.trim()?.toLocaleUpperCase(),cs=()=>(e,t)=>{const n=e?.name?.trim()?.toLocaleLowerCase();return n?Aa(n):ja(t||"",e.id)},Aa=e=>`name:${e}`,ja=(e,t)=>`dataset:${e}:id:${t}`,Bo=(e,t)=>e?t?.[e]:void 0,ds=(e,t)=>{if(!(e?.filterType!=="dataset"||!e.id))return Bo(e.datasetUrn,t)?.[e.id]},Go=(e,t,n)=>Object.entries(Bo(e,n)||{}).find(([,s])=>t(s))?.[0],zo=(e,t,n)=>Go(e,s=>s.subtype===t,n),Ra=(e,t)=>Go(e,n=>n.dimensionType==="TIME_PERIOD",t),bt=[{id:Uo,subtype:"REGION",getMergedValueKey:cs()},{id:Ho,subtype:"FREQUENCY",getMergedValueKey:cs()},{id:vt,getMergedValueKey:e=>e.id}],La=new Map(bt.map(e=>[e.id,e])),_n=e=>e?La.get(Wt(e)||""):void 0,Fa=(e,t,n)=>{if(e.filterType==="shared")return t.id===Wt(e.id);if(t.id===vt)return e.isTimeDimension||ds(e,n)?.dimensionType==="TIME_PERIOD"||t.id===Wt(e.id);const s=ds(e,n);return t.subtype&&s?.subtype===t.subtype?!0:t.id===Wt(e.id)},en=(e,t)=>e?bt.find(n=>Fa(e,n,t)):void 0,Pa=(e,t,n)=>{if(!t)return;const s=e?n?.[e]?.[t]:void 0;return s?.dimensionType==="TIME_PERIOD"?vt:bt.find(r=>!!r.subtype&&r.subtype===s?.subtype)?.id??_n(t)?.id},_a=e=>!!_n(e),Va=e=>e?.filterType==="shared"&&_a(e?.id),$o=(e,t)=>!e||Array.isArray(e.get(t)),Wo=(e,t)=>!e?.dataMessagesMap||e.dataMessagesMap.has(t),Oa=(e,t)=>{const n=new Map;return e.forEach(s=>{s.dimensionValues?.forEach(o=>{const r=t.getMergedValueKey(o,s.datasetUrn),l={datasetUrn:s.datasetUrn,id:o.id,name:o.name,parent:o.parent},d=n.get(r);if(d){d.isSelectedValue=d.isSelectedValue||o.isSelectedValue,d.sourceValues=[...d.sourceValues||[],l];return}n.set(r,{id:r,name:o.name,isSelectedValue:o.isSelectedValue,parent:o.parent,sourceValues:[l]})})}),Array.from(n.values())},Ko=(e,t)=>{const n=new Map,s=[];return e.forEach(r=>{const l=en(r,t);if(l&&r?.datasetUrn){const d=n.get(l.id)||[];n.set(l.id,[...d,r]);return}s.push(r)}),[...bt.flatMap(r=>{const l=n.get(r.id);if(!l?.length)return[];const d={...l[0],id:r.id,datasetUrn:void 0,filterType:"shared",sourceDatasetUrns:Array.from(new Set(l.map(a=>a.datasetUrn).filter(a=>!!a))),sourceFilterIdsByDataset:Object.fromEntries(l.flatMap(a=>a.datasetUrn&&a.id?[[a.datasetUrn,a.id]]:[])),dimensionValues:Oa(l,r)};return d.isTimeDimension&&(d.timeRange=Ga(l)),d}),...s]},Vn=(e,t,n)=>{const s=e.sourceFilterIdsByDataset?.[t];if(s)return s;if(e.id===vt)return Ra(t,n);const o=_n(e.id);return o?.subtype?zo(t,o.subtype,n):void 0},Yo=(e,t,n,s)=>({...e,id:Vn(e,t,s)||e.id,datasetUrn:t,filterType:"dataset",...n?{dimensionValues:n}:{}}),ka=(e,t)=>(e.sourceDatasetUrns||[]).map(n=>Yo(e,n,void 0,t)),Ua=(e,t)=>({id:t.id,name:t.name,parent:t.parent,isSelectedValue:e.isSelectedValue}),Ha=(e,t)=>{const n=new Map;return e.dimensionValues?.forEach(s=>{s.sourceValues?.forEach(o=>{const r=o.datasetUrn||"",l=n.get(r),d=Ua(s,o);if(l){l.dimensionValues=[...l.dimensionValues||[],d];return}n.set(r,Yo(e,r,[d],t))})}),n},Ba=(e,t=!1,n)=>{if(!Va(e))return[e];if(e.isTimeDimension)return ka(e,n);const s=Ha(e,n);return Array.from(s.values())},Ga=e=>{const t=e.map(s=>s.timeRange?.startPeriod).filter(s=>!!s),n=e.map(s=>s.timeRange?.endPeriod).filter(s=>!!s);if(!(!t.length||!n.length))return{startPeriod:new Date(Math.min(...t.map(s=>s.getTime()))),endPeriod:new Date(Math.max(...n.map(s=>s.getTime())))}},qo=(e,t,n,s)=>t&&t<n?{startPeriod:new Date(n),endPeriod:new Date(n)}:e&&e>s?{startPeriod:new Date(s),endPeriod:new Date(s)}:{startPeriod:e?new Date(Math.max(e.getTime(),n.getTime())):new Date(n),endPeriod:t?new Date(Math.min(t.getTime(),s.getTime())):new Date(s)},za=(e,t)=>{if(!e.isTimeDimension||!e.timeRange)return e;const{startPeriod:n,endPeriod:s}=D.getAnnotationPeriod(t?.[0]?.annotations);return!n||!s?e:{...e,timeRange:qo(e.timeRange.startPeriod,e.timeRange.endPeriod,n,s)}},$a=(e,t)=>e?.dimensionsMap?new Map(Array.from(e.dimensionsMap.entries()).map(([n,s])=>[n,bo(s,e?.structuresMap?.get(n),e?.structureDimensionsMap?.get(n),t,n)])):new Map,Wa=(e,t,n=!0)=>new Map(Array.from(e?.dimensionsMap?.entries()||[]).map(([s,o])=>{const r=$o(e?.constraintsMap,s),l=Wo(e,s),d=o?.map(a=>{if(!r||n&&!l)return{...a,dimensionValues:[]};const u=D.findCodelistByDimension(e?.structuresMap?.get(s)?.codelists,e?.structuresMap?.get(s)?.conceptSchemes,a),m=D.getAvailableCodesFromConstrains(u?.codes,a.id,e?.constraintsMap?.get(s),t);return{...a,dimensionValues:m}})||[];return[s,d]})),Ka=e=>e.map(t=>({...t,isDisabled:!1,dimensionValues:t.dimensionValues?.filter(n=>n.isSelectedValue)||[]})),Zo=(e,t,n=!0)=>{const s=$a(e,t),o=Wa(e,t,n);return new Map(Array.from(s?.entries()||[]).map(([r,l])=>{const d=o?.get(r),a=l.map(u=>({...u,dimensionValues:d?.find(m=>m.id===u.id)?.dimensionValues||[]}));return[r,a]}))},Xo=(e,t,n,s)=>{const o=(r,l)=>t?.some(d=>d.urn!==r.urn&&d.filters?.some(a=>a.operator===X.QueryFilterType.BETWEEN||!a.values?.length?!1:en({id:a.componentCode,datasetUrn:d.urn,filterType:"dataset"},s)?.id===l.id))??!1;return Ko(t?.flatMap(r=>{const l=r?.urn,d=e?.get(l)||[],a=n?.get(l)||[];return No(d,r,a).map(m=>{if(m.isTimeDimension||m.filterType!=="dataset")return m;const h=en(m,s);return!h||h.id===vt||r.filters?.some(g=>g.componentCode===m.id&&g.operator!==X.QueryFilterType.BETWEEN)||!o(r,h)||m.dimensionValues?.some(g=>g.isSelectedValue)?m:{...m,dimensionValues:m.dimensionValues?.map(g=>({...g,isSelectedValue:!0}))}})})||[],s)},Ct=(e,t,n=!1,s,o=new Set)=>{const r=e?.flatMap(l=>Ba(l,n,s))?.reduce((l,d)=>{const a=d?.datasetUrn||"",u=za(d,t?.get(a));return l.has(a)||l.set(a,[]),l?.get(a)?.push(u),l},new Map);if(o.size>0)for(const l of o)r.delete(l);return r},Jo=(e,t,n,s,o)=>{const r=e.filter(d=>d.filterType==="shared"&&!d.isTimeDimension&&(d.dimensionValues?.some(a=>a.isSelectedValue)??!1));if(!r.length)return new Set(t);const l=(d,a)=>{const u=Vn(a,d,s);if(!u)return!1;if(o)return!(o.get(d)??[]).find(p=>p.id===u);const m=n?.find(h=>h.urn===d);return m?!m.filters?.some(h=>h.componentCode===u&&h.operator!==X.QueryFilterType.BETWEEN):!1};return new Set(t.filter(d=>r.every(a=>a.dimensionValues?.some(u=>u.isSelectedValue&&u.sourceValues?.some(m=>m.datasetUrn===d))||l(d,a))))},us=(e,t)=>t?(e||[]).filter(n=>t.has(n.urn)):e||[],Et=(e,t)=>t?new Map([...e].filter(([n])=>t.has(n))):e,Qo=(e,t)=>{const n=new Map;if(e?.forEach(s=>{s.filters?.forEach(o=>{if(o.operator===X.QueryFilterType.BETWEEN||!o.values?.length)return;const r=en({id:o.componentCode,datasetUrn:s.urn,filterType:"dataset"},t);if(!r||r.id===vt)return;const l=n.get(r.id)??new Set;l.add(s.urn),n.set(r.id,l)})}),!!n.size)return e?.filter(s=>Array.from(n.values()).every(o=>o.has(s.urn))).map(s=>s.urn)??[]},Ya=(e,t)=>t?Array.from(new Set(e?.flatMap(n=>n.cubeRegions?.filter(s=>s.isIncluded).flatMap(s=>s.memberSelection?.filter(o=>o.componentId===t).flatMap(o=>o.selectionValues.map(r=>r.memberValue))??[])??[])??[])):[],qa=(e,t,n)=>{if(e.length<2||!t)return e;const s=e.flatMap(l=>bt.flatMap(d=>{if(!d.subtype)return[];const a=zo(l.urn,d.subtype,n);return a?[{configId:d.id,dataQuery:l,dimensionId:a,filter:l.filters?.find(u=>u.componentCode===a&&u.operator!==X.QueryFilterType.BETWEEN),availableValues:Ya(t.get(l.urn),a)}]:[]})),o=new Map;s.forEach(l=>{o.set(l.configId,[...o.get(l.configId)??[],l])});const r=new Map;return o.forEach(l=>{const d=l.filter(m=>m.filter?.values?.length),a=l.filter(m=>!m.filter);if(!d.length||!a.length)return;const u=new Set(a.flatMap(m=>m.availableValues));u.size&&d.forEach(m=>{const h=m.filter;if(!h?.values?.length)return;const f=new Set(m.availableValues),p=Array.from(new Set([...h.values,...Array.from(u).filter(g=>f.has(g))]));p.length>h.values.length&&r.set(h,p)})}),r.size?e.map(l=>{let d=!1;const a=l.filters?.map(u=>{const m=r.get(u);return m?(d=!0,{...u,values:m}):u});return d?{...l,filters:a}:l}):e},ei=e=>JSON.stringify(e?.map(t=>({urn:t.urn,filters:t.filters??[]}))??[]),Tt=(e,t,n=X.Locale.EN,s)=>{const o=[];return Array.from(e?.entries())?.forEach(([r,l])=>{const d=t?.dimensionsMap?.get(r),a=t?.structuresMap?.get(r),u=$o(t?.constraintsMap,r),m=Wo(t,r);if(!u||!m){o.push(...Ka(l));return}const h=t?.constraintsMap?.get(r);o.push(...zt(l,d,a,h,n))}),Ko(o,s)},rn=(e,t,n)=>t?Ct(e,void 0,!1,n).get(t)||[]:e.filter(s=>s.filterType!=="shared"),ti=(e,t)=>{if(e?.filterType==="shared")return;const n=e?.datasetUrn?t?.get(e.datasetUrn)?.dataflows?.[0]:void 0;return n?D.generateShortUrn(n?.name,"",n?.agencyID):void 0},Za=(e,t)=>e?.length?!!t?.dimensionsMap&&!!t?.structuresMap&&!!t?.structureDimensionsMap&&!!t?.constraintsMap:!1,ni=(e,t,n)=>It(yn(t,e,n).filter(s=>s.componentCode!==D.TIME_PERIOD)),ms=(e,t,n,s,o)=>e?.map(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ni(l,d,s);return n?nt(n.getConstraints,et(l,a),()=>n.getConstraints(l,a)).then(u=>({urn:l,data:u})):Promise.resolve({urn:l,data:{}})})||[],fs=(e,t,n,s,o)=>!n?.getConstraints||!e?.length?!1:e.some(r=>{const l=r?.urn??"",d=o??t?.get(l)??[],a=ni(l,d,s);return!En(n.getConstraints,et(l,a))}),Xa=(e,t,n)=>{if(e.length<2)return!1;const s=new Map;for(const o of e){const r=t.dimensionsMap?.get(o.urn);if(r)for(const l of r){const d=l.id;if(!d)continue;const a=n?.[o.urn]?.[d],u=a?.subtype;if(!u||a?.dimensionType==="TIME_PERIOD")continue;const m=bt.find(p=>p.subtype===u);if(!m)continue;const h=s.get(m.id)??{datasetsWithExplicitValues:new Set,datasetsWithMissingFilter:new Set},f=o.filters?.find(p=>p.componentCode===d&&p.operator!==X.QueryFilterType.BETWEEN);f?f.values?.length&&h.datasetsWithExplicitValues.add(o.urn):h.datasetsWithMissingFilter.add(o.urn),s.set(m.id,h)}}return[...s.values()].some(o=>[...o.datasetsWithMissingFilter].some(r=>[...o.datasetsWithExplicitValues].some(l=>l!==r)))},Ja=e=>new Map(e?.flatMap(({urn:t,data:n})=>{const s=n?.data?.dataConstraints;return Array.isArray(s)?[[t,s]]:[]})),hs=e=>Ja(e.flatMap(t=>t.status==="fulfilled"?[t.value]:[])),ps=(e,t)=>{const n=new Map(e);return t.forEach((s,o)=>{n.set(o,s)}),n},si=(e,t,n,s)=>{if(e&&t?.filterType==="shared"&&t?.isTimeDimension){const r=Array.from(s?.values()||[]).flatMap(a=>a||[]).map(a=>D.getAnnotationPeriod(a?.annotations)).filter(a=>a.startPeriod!==null&&a.endPeriod!==null);if(!r.length)return[];const l=new Date(Math.min(...r.map(a=>a.startPeriod.getTime()))),d=new Date(Math.max(...r.map(a=>a.endPeriod.getTime())));return[{id:t.id||D.TIME_PERIOD,annotations:[{id:D.TIME_PERIOD_START_ANNOTATION_KEY,title:l.toISOString()},{id:D.TIME_PERIOD_END_ANNOTATION_KEY,title:d.toISOString()}]}]}return e?s?.get(t?.datasetUrn??"")??[]:n??[]},oi=(e,t,n)=>new Map(t?.map(s=>{const o=s?.urn;return[o,_o(e.get(o)||[],n?.get(o))]})),gs=(e,t,n,s,o)=>{const r=Xa(e,t,o);if(!n||!e.length||!r)return;const l={...t,constraintsMap:n},d=Zo(l,s,!1),a=Xo(d,e,n,o),u=Ct(a,n,!1,o),m=Jo(a,e.map(f=>f.urn),e,o,u),h=e.filter(f=>m.has(f.urn));return{compatibleUrns:m,filterParamsMap:oi(u,h,t.dimensionsMap)}},ii=(e,t)=>new Map(e?.map(n=>{const s=n?.urn;return[s,ko(t?.get(s)||[])]})),Qa=(e,t,n)=>{const s=(e.sourceDatasetUrns??[]).filter(d=>!t.has(d));if(s.length===0)return[];if(!n||!e.timeRange)return[{...e,sourceDatasetUrns:s}];const o=s.map(d=>D.getAnnotationPeriod(n.get(d)?.[0]?.annotations)).filter(d=>!!d?.startPeriod&&!!d?.endPeriod);if(o.length===0)return[{...e,sourceDatasetUrns:s}];const r=new Date(Math.min(...o.map(d=>d.startPeriod.getTime()))),l=new Date(Math.max(...o.map(d=>d.endPeriod.getTime())));return[{...e,sourceDatasetUrns:s,timeRange:qo(e.timeRange.startPeriod,e.timeRange.endPeriod,r,l)}]},el=(e,t,n)=>t.size===0?e:e.flatMap(s=>{if(s.filterType!=="shared")return[s];if(s.isTimeDimension)return Qa(s,t,n);const o=(s.dimensionValues??[]).filter(r=>r.sourceValues?.some(l=>!t.has(l.datasetUrn??"")));return o.length===0?[]:[{...s,dimensionValues:o}]}),On=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M8 14C6.32222 14 4.90278 13.7417 3.74167 13.225C2.58056 12.7083 2 12.0778 2 11.3333V4.66667C2 3.93333 2.58611 3.30556 3.75833 2.78333C4.93056 2.26111 6.34444 2 8 2C9.65556 2 11.0694 2.26111 12.2417 2.78333C13.4139 3.30556 14 3.93333 14 4.66667V11.3333C14 12.0778 13.4194 12.7083 12.2583 13.225C11.0972 13.7417 9.67778 14 8 14ZM8 6.01667C8.98889 6.01667 9.98333 5.875 10.9833 5.59167C11.9833 5.30833 12.5444 5.00556 12.6667 4.68333C12.5444 4.36111 11.9861 4.05556 10.9917 3.76667C9.99722 3.47778 9 3.33333 8 3.33333C6.98889 3.33333 5.99722 3.475 5.025 3.75833C4.05278 4.04167 3.48889 4.35 3.33333 4.68333C3.48889 5.01667 4.05278 5.32222 5.025 5.6C5.99722 5.87778 6.98889 6.01667 8 6.01667ZM8 9.33333C8.46667 9.33333 8.91667 9.31111 9.35 9.26667C9.78333 9.22222 10.1972 9.15833 10.5917 9.075C10.9861 8.99167 11.3583 8.88889 11.7083 8.76667C12.0583 8.64444 12.3778 8.50556 12.6667 8.35V6.35C12.3778 6.50556 12.0583 6.64444 11.7083 6.76667C11.3583 6.88889 10.9861 6.99167 10.5917 7.075C10.1972 7.15833 9.78333 7.22222 9.35 7.26667C8.91667 7.31111 8.46667 7.33333 8 7.33333C7.53333 7.33333 7.07778 7.31111 6.63333 7.26667C6.18889 7.22222 5.76944 7.15833 5.375 7.075C4.98056 6.99167 4.61111 6.88889 4.26667 6.76667C3.92222 6.64444 3.61111 6.50556 3.33333 6.35V8.35C3.61111 8.50556 3.92222 8.64444 4.26667 8.76667C4.61111 8.88889 4.98056 8.99167 5.375 9.075C5.76944 9.15833 6.18889 9.22222 6.63333 9.26667C7.07778 9.31111 7.53333 9.33333 8 9.33333ZM8 12.6667C8.51111 12.6667 9.03056 12.6278 9.55833 12.55C10.0861 12.4722 10.5722 12.3694 11.0167 12.2417C11.4611 12.1139 11.8333 11.9694 12.1333 11.8083C12.4333 11.6472 12.6111 11.4833 12.6667 11.3167V9.68333C12.3778 9.83889 12.0583 9.97778 11.7083 10.1C11.3583 10.2222 10.9861 10.325 10.5917 10.4083C10.1972 10.4917 9.78333 10.5556 9.35 10.6C8.91667 10.6444 8.46667 10.6667 8 10.6667C7.53333 10.6667 7.07778 10.6444 6.63333 10.6C6.18889 10.5556 5.76944 10.4917 5.375 10.4083C4.98056 10.325 4.61111 10.2222 4.26667 10.1C3.92222 9.97778 3.61111 9.83889 3.33333 9.68333V11.3333C3.38889 11.5 3.56389 11.6611 3.85833 11.8167C4.15278 11.9722 4.52222 12.1139 4.96667 12.2417C5.41111 12.3694 5.9 12.4722 6.43333 12.55C6.96667 12.6278 7.48889 12.6667 8 12.6667Z",fill:"currentColor"})),tl=e=>Me.createElement("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M6.66663 6.175L10.4833 10L6.66663 13.825L7.84163 15L12.8416 10L7.84163 5L6.66663 6.175Z",fill:"currentColor"})),nl=yr.FixedSizeList,Cs=24,xs=232,gn=({selectedFilter:e,filterValues:t,checkboxIcon:n,isHierarchicalView:s,isVirtualized:o=!0,isScrollable:r=!0,isDisableValues:l,isValuesLoading:d,structuresMap:a,hierarchyTreeNodes:u,isHierarchyLoading:m,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p})=>{const g=E.useIsMobile(),{isCrossDatasetModeOn:S}=Ge(),x=d||m;if(!t&&!x)return null;const v=t??[],C=e?ti(e,a):void 0,w=a?.size===1,b=S&&e?.filterType!=="shared"&&!!e?.title&&(w||!!C),N=v.length*Cs,T=N>xs?xs:N;return i.jsxs("div",{className:W("relative",l&&"pointer-events-none opacity-[0.7]",r?"flex h-full min-h-0 flex-col":"flex flex-col"),children:[b&&i.jsxs("div",{className:"mb-2 flex items-center gap-x-1",children:[!w&&i.jsxs(i.Fragment,{children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-700"}),i.jsx("span",{className:"h4 text-neutrals-800",children:C}),i.jsx(tl,{className:"size-4 shrink-0 text-neutrals-1000"})]}),i.jsx("span",{className:"h4 text-neutrals-1000",children:e?.title})]}),x&&i.jsx("div",{className:"pointer-events-none absolute inset-0 z-10 min-h-12",children:i.jsx(E.Loader,{})}),i.jsx("div",{className:W(r?"min-h-0 flex-1 overflow-auto":"overflow-visible",x&&"pointer-events-none opacity-[0.7]"),style:r&&g&&!x?{height:`${T}px`}:void 0,children:u?.length||s?i.jsx(va,{treeNodes:u??ca(v),checkboxIcon:n,selectFilterValue:h,selectHierarchicalNodes:f,expandHierarchicalValue:p}):o?i.jsx(Er,{children:({width:M,height:y})=>i.jsx(nl,{itemCount:v.length,itemSize:Cs,width:M,height:y,children:({index:A,style:I})=>i.jsx(rs,{style:I,filterValue:v[A],checkboxIcon:n,selectFilterValue:h})})}):i.jsx("div",{className:"flex flex-col gap-y-1",children:v.map(M=>i.jsx(rs,{filterValue:M,checkboxIcon:n,selectFilterValue:h},M.id))})})]})};function sl(e,t){const n=(e??"").split(".").map(Number),s=(t??"").split(".").map(Number),o=Math.max(n.length,s.length);for(let r=0;r<o;r++){const l=(n[r]??0)-(s[r]??0);if(l!==0)return l}return 0}function ol(e){const t=new Map;for(const n of e){const s=`${n.agencyID??""}:${n.id}`,o=t.get(s);(!o||sl(n.version??"",o.version??"")>0)&&t.set(s,n)}return Array.from(t.values())}function Ss(e){return D.generateShortUrn(e.id,e.version??"",e.agencyID??"")}function vs(e,t,n,s,o){const r=D.getHierarchyCodes(e,t),l=D.getHierarchyAvailableCodes(r,n,s),d=D.getCodeListsData(t),a=il(e,d,l.map(u=>u.id),o);return ai(a)}function ri(e,t,n,s,o){return s?.map(r=>{const{childId:l,agency:d,id:a,version:u}=D.getChildParsedUrn(r.code),m=D.generateShortUrn(a,u,d),h=Object.keys(e??{}).find(w=>D.urnMatchesIgnoreVersion(w,m))??m,p=e?.[h]?.find(w=>w.id===l),g=p?.name||p?.description||l,S=n?D.urnMatchesIgnoreVersion(m,n):!0,x=!S&&(r.hierarchicalCodes?.length??0)>0,v=ri(e,t,n,r.hierarchicalCodes,r.code),C=v.length===0;return x&&C||S&&C&&t&&!t.includes(l??"")?null:{id:r.code,name:g,children:v,isExpanded:!0,disabled:!S&&v.every(w=>w.disabled),isSelectableValue:S,parent:o,metadata:{...r,hierarchicalCodes:void 0}}}).filter(r=>r!==null)??[]}function il(e,t,n,s){return!n||n.length===0?[]:ri(t,n,s,e?.hierarchicalCodes,void 0)}function ai(e){return e.map(t=>{const{childId:n}=D.getChildParsedUrn(t.id??"");return{id:n??t.id??"",name:t.name,isExpanded:t.isExpanded,isSelectedValue:!1,disabled:t.disabled,isSelectableValue:t.isSelectableValue,children:ai(t.children)}})}function li(e,t){return e?.filterType!=="shared"?t:e.dimensionValues?.find(n=>n.id===t||n.sourceValues?.some(s=>s.id===t))?.id}function rl(e){return e?.filterType!=="shared"?new Set(e?.dimensionValues?.filter(t=>t.isSelectedValue).map(t=>t.id)??[]):new Set(e.dimensionValues?.flatMap(t=>t.isSelectedValue?t.sourceValues?.map(n=>n.id)??[]:[])??[])}function al(e,t){if(!e?.length||t?.filterType!=="shared")return e??[];const n=new Map;return e.forEach(s=>{const o=li(t,s.id);o&&n.set(o,{...s,id:o})}),Array.from(n.values())}function ll(e,t){return li(t,e)}function ci(e,t){return e.map(n=>{const s=n.children?.length?ci(n.children,t):n.children;let o;if(t.has(n.id))o=!0;else if(s?.length&&!n.isSelectableValue){const r=s.filter(l=>!l.disabled);o=r.length>0&&r.every(l=>!!l.isSelectedValue)}else o=!1;return{...n,isSelectedValue:o,children:s}})}function di(e,t){return e.map(n=>n.id===t?{...n,isExpanded:!n.isExpanded}:n.children?.length?{...n,children:di(n.children,t)}:n)}function ui(e,t){const n=t.toLowerCase();return e.reduce((s,o)=>{const r=o.name?.toLowerCase().includes(n),l=ui(o.children??[],t);return(r||l.length>0)&&s.push({...o,isExpanded:!0,children:r?o.children:l}),s},[])}const mi=c.createContext(null);function cl({children:e,value:t}){return i.jsx(mi.Provider,{value:t,children:e})}function fi(){const e=c.useContext(mi);if(!e)throw new Error("useFiltersModal must be used within FiltersModalProvider");return e}const dl=2,hi=({filtersList:e,selectedFilter:t,initialConstraints:n,structuresMap:s,selectedTimeOption:o,hierarchyState:r})=>{const{titles:l}=we(),{locale:d,isDisableValues:a,isValuesLoading:u,timeRangeOptions:m,filterValuesProps:h,dataQueries:f,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:S,onTimePeriodChange:x}=fi(),[v,C]=c.useState(""),{isCrossDatasetModeOn:w}=Ge(),b=t?.displayMode===Qe.HIERARCHY,N=Ke(t),T=t?.filterType==="shared",M=v?.trim().toLowerCase(),y=w?M.length>=dl:!!M,A=y&&w&&!T,I=c.useCallback(P=>{if(!P?.dimensionValues)return{filterValues:[],matchedCount:0};const Y=P.dimensionValues.filter(q=>q?.name?.toLowerCase()?.includes(M));return{filterValues:P.displayMode===Qe.HIERARCHY?D.getFilteredItemsWithParents(P.dimensionValues,Y):Y,matchedCount:Y.length}},[M]),j=c.useMemo(()=>y?I(t).filterValues:t?.dimensionValues,[y,I,t]),L=c.useMemo(()=>A?(e||[]).reduce((P,Y)=>{if(_e(Y,t)||Y.filterType==="shared")return P;const{filterValues:q,matchedCount:J}=I(Y);return J?[...P,{filter:Y,filterValues:q,matchedCount:J,isHierarchicalView:Y.displayMode===Qe.HIERARCHY}]:P},[]):[],[A,e,t,I]),K=c.useMemo(()=>{const P=r?.treeNodes;if(!P?.length)return P;const Y=rl(t),q=Y.size?ci(P,Y):P;return y?ui(q,M):q},[r?.treeNodes,t,y,M]),k=K?!K.length:!j?.length,H=!!u||!!r?.isLoading,z=c.useMemo(()=>L.reduce((P,Y)=>P+Y.matchedCount,0),[L]);c.useEffect(()=>{C("")},[N]);const ee=c.useCallback(P=>{C(P)},[C]);return i.jsx(i.Fragment,{children:t?.isTimeDimension&&n?i.jsx(pa,{initialConstraints:n,calendarResolution:X.CalendarResolution.DAY,timeRange:t?.timeRange||null,timeRangeOptions:m||[],calendarStartFromMonday:!0,locale:d,radioIcon:h?.radioIcon,onValueChange:x,calendarIcon:h?.calendarIcon,dateFormat:h?.dateFormat,defaultTimeOption:o,dataQueries:f}):i.jsxs("div",{className:W("flex flex-col py-2 h-full flex-1 min-w-0 sm:border-0","filter-values-container"),children:[i.jsx(Ro,{value:v,onChange:ee,searchIconSize:h?.searchIconSize}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:A?i.jsxs(i.Fragment,{children:[t&&i.jsxs("div",{className:"shrink-0 pb-4",children:[i.jsx(gn,{selectedFilter:t,filterValues:j,checkboxIcon:h?.checkboxIcon,isHierarchicalView:b,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:K,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:S}),!H&&k&&i.jsx("span",{className:"body-2 text-neutrals-700",children:l?.noResultsInSection?.(t.title??"")??`No results found in ${t.title??""}`})]}),i.jsxs("div",{className:"pb-3",children:[i.jsxs("span",{className:"h2 text-neutrals-1000",children:[l?.otherResults??"Other results",":"," ",z]}),!u&&z===0&&i.jsx("p",{className:"body-2 mt-1 text-neutrals-700",children:l?.noResultsInOtherDimensions??"No results found in other dimensions"})]}),L.map(({filter:P,filterValues:Y,isHierarchicalView:q})=>i.jsx("div",{className:"shrink-0 pb-4 last:pb-0",children:i.jsx(gn,{selectedFilter:P,filterValues:Y,checkboxIcon:h?.checkboxIcon,isHierarchicalView:q,isVirtualized:!1,isScrollable:!1,isDisableValues:a,isValuesLoading:u,structuresMap:s,selectFilterValue:(J,Q)=>p(J,Q,P),selectHierarchicalNodes:J=>g(J,P),expandHierarchicalValue:J=>S(J,P)})},Ke(P)))]}):i.jsx(gn,{selectedFilter:t,filterValues:j,checkboxIcon:h?.checkboxIcon,isHierarchicalView:b,isDisableValues:a,isValuesLoading:u,structuresMap:s,hierarchyTreeNodes:K,isHierarchyLoading:r?.isLoading,selectFilterValue:p,selectHierarchicalNodes:g,expandHierarchicalValue:S})})]})})},ul=({filtersList:e,filter:t,onSelectFilter:n,onSelectDisplayMode:s,onDeleteFilter:o,initialConstraints:r,hideFacetCounterByDefault:l,hierarchyState:d})=>{const{titles:a}=we(),{locale:u,onSelectHierarchy:m}=fi(),h=E.useIsMobile(),[f,p]=c.useState(0),[g,S]=c.useState(!1),x=t?.isTimeDimension&&t?.timeRange,v=c.useMemo(()=>t?.timeRange?.startPeriod&&t?.timeRange?.endPeriod?`${Xt(t?.timeRange?.startPeriod,u)} -
|
|
6
|
-
${Xt(t?.timeRange?.endPeriod,u)}`:"",[u,t?.timeRange]);c.useEffect(()=>{p(yo(t?.dimensionValues)?.length)},[t?.dimensionValues]);const C=l?f>0:!0,w=c.useMemo(()=>ha({isHierarchical:t?.isHierarchical,availableHierarchies:d?.availableHierarchies,titles:a}),[t?.isHierarchical,d?.availableHierarchies,a]),b=d?.isLoading||!t?.isHierarchical&&!d?.availableHierarchies?.length;c.useEffect(()=>{t.isSelectedFilter||S(!1)},[t.isSelectedFilter]);const N=()=>{h&&S(M=>!M),n(t)},T=M=>{if(M==="")m?.(t,null),s?.(t,Qe.FLAT_LIST);else if(M===Qe.HIERARCHY)m?.(t,null),s?.(t,Qe.HIERARCHY);else{const y=d?.availableHierarchies?.find(A=>A.id===M)??null;m?.(t,y)}};return i.jsxs("div",{className:"flex flex-col",children:[i.jsxs("div",{className:W("flex justify-between items-center px-2 h-10 hover:bg-hues-100 sm:h-14 sm:hover:bg-white rounded","filters-facet-item cursor-pointer",t?.isSelectedFilter&&!h&&"bg-hues-100",t?.isDisabled&&"cursor-default pointer-events-none opacity-[0.7]"),onClick:N,children:[i.jsxs("h3",{className:"w-full min-w-0 flex-1 truncate sm:flex sm:items-center",title:t?.title,children:[i.jsx("span",{className:"truncate",children:t?.title}),h&&i.jsx(Fn,{className:W("chevron-icon w-6 h-6 shrink-0",g&&"rotate-180")})]}),i.jsxs("div",{className:"ml-2 flex items-center gap-2 text-neutrals-800",children:[x&&i.jsx("span",{className:"filters-facet-item-counter border-none",children:v}),!x&&C&&i.jsx("span",{className:W("px-2 text-center","filters-facet-item-counter"),children:f?`${f}/${t?.dimensionValues?.length||0}`:a?.all||"All"}),x?null:i.jsxs("div",{className:"filters-facet-item-settings flex items-center gap-2",children:[i.jsx(E.Dropdown,{triggerButton:i.jsx(E.IconButton,{buttonClassName:W("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(na,{width:16,height:16}),title:a?.displayOrder||"Display Order",disabled:b}),disabled:b,options:w,selectedOption:d?.selectedHierarchy?.id??(t?.displayMode===Qe.HIERARCHY?Qe.HIERARCHY:""),onOptionSelect:T}),f>0&&i.jsx(E.IconButton,{buttonClassName:W("text-button-tertiary w-4 h-4 border-0 p-0","filters-facet-item-icon"),icon:i.jsx(vo,{width:16,height:16}),title:a?.reset||"Reset",onClick:M=>{M.stopPropagation(),o?.(t)}})]})]})]}),g&&i.jsx(hi,{filtersList:e,selectedFilter:t,initialConstraints:r,hierarchyState:d})]})},ml=new Set,fl=({filtersList:e,hideFacetCounterByDefault:t,onSelectFilter:n,onDeleteFilter:s,onSelectDisplayMode:o,initialConstraints:r,initialConstraintsMap:l,datasetIcon:d,structuresMap:a,hierarchyStateMap:u,dataQueries:m,disabledDatasetUrns:h=ml,isDatasetFacetSelected:f=!1,onSelectDatasetFacet:p,onClearAllDatasets:g})=>{const{isCrossDatasetModeOn:S}=Ge(),x=S&&!!m?.length,v=new Set(e.filter(C=>C.filterType==="dataset").map(C=>C.datasetUrn||"")).size;return i.jsxs("div",{className:W("overflow-y-auto advanced-view-filters-list w-[338px] pr-3 h-full sm:w-full"),children:[x&&i.jsx(ta,{dataQueries:m,disabledDatasetUrns:h,isSelected:f,onSelect:p,onClearAll:g}),e.filter(C=>!(C.filterType==="dataset"&&C.datasetUrn&&h.has(C.datasetUrn))).map((C,w,b)=>{const N=b[w-1],M=C.filterType==="dataset"&&v>1&&C.datasetUrn!==N?.datasetUrn?ti(C,a):void 0;return i.jsxs("div",{className:"min-w-0 shrink-0",children:[M&&i.jsxs("h4",{className:"filters-facet-dataset-name !flex",children:[i.jsx("span",{className:"filters-facet-dataset-icon",children:d}),i.jsx("span",{className:"min-w-0 truncate",title:M,children:M})]}),i.jsx(ul,{filtersList:b,filter:C,onSelectFilter:n,onSelectDisplayMode:o,onDeleteFilter:s,hideFacetCounterByDefault:t,initialConstraints:si(S,C,r,l),hierarchyState:u?.get(Ke(C)??"")})]},Ke(C))})]})},hl=({dataQueries:e,disabledDatasetUrns:t,onToggleDataset:n,searchIconSize:s})=>{const[o,r]=c.useState(""),l=o.trim().toLowerCase(),d=e.filter(u=>l.length<2||(u.title??u.urn).toLowerCase().includes(l)),a=e.length-t.size;return i.jsxs("div",{className:"filter-values-container flex h-full min-w-0 flex-1 flex-col py-2 sm:border-0",children:[i.jsx(Ro,{value:o,onChange:r,searchIconSize:s}),i.jsx("div",{className:"body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto",children:d.map(u=>{const m=!t.has(u.urn),h=m&&a===1;return i.jsx("div",{className:W("py-1",h&&"pointer-events-none"),children:i.jsx(E.Checkbox,{id:u.urn,label:u.title??u.urn,checked:m,disabled:h,disabledScope:"icon",onChange:(f,p)=>n(u.urn,!!p)})},u.urn)})})]})},pi=({filtersList:e,selectedFilter:t,modalProps:n,locale:s,isDisableValues:o,isValuesLoading:r,timeSeriesCount:l,timeRangeOptions:d,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,setSelectedFilter:f,onSelectDisplayMode:p,onDeleteFilter:g,onClearAllFilters:S,updateSelectedFilterValues:x,onTimePeriodChange:v,selectedTimeOption:C,hierarchyStateMap:w,onSelectHierarchy:b,onExpandHierarchyNode:N,dataQueries:T,disabledDatasetUrns:M,onToggleDataset:y,onClearAllDatasets:A})=>{const{titles:I}=we(),j=w?.get(Ke(t)),L=E.useIsMobile(),{isCrossDatasetModeOn:K}=Ge(),[k,H]=c.useState(!1),z=c.useMemo(()=>el(e.filter(O=>!(O.filterType==="dataset"&&O.datasetUrn&&M.has(O.datasetUrn))),M,u),[e,M,u]),ee=c.useMemo(()=>t?z.find(O=>_e(O,t)):void 0,[t,z]),P=Pn(on(e))+M.size,Y=c.useCallback(()=>{H(!0),f(void 0)},[f]),q=c.useCallback(O=>{H(!1);const _=e?.find(ie=>_e(ie,O));if(!_){f(void 0);return}f({..._,isSelectedFilter:!0})},[e,f]),J=O=>O?e?.find(_=>_e(_,O)):void 0,Q=(O,_,ie)=>{const de=!ie||_e(ie,t),ce=J(ie??t)??ie??t;if(!ce)return;const je=Gt(ce)?ll(O,ce):O;if(!je)return;const Te={...ce,dimensionValues:ce?.dimensionValues?.map(V=>V?.id===je?{...V,isSelectedValue:_}:V)};de&&f(Te),x&&x(Te)},pe=(O,_)=>{const ie=!_||_e(_,t),de=J(_??t)??_??t;if(!de)return;const ce=Gt(de)?al(O,de):O??[],je=new Set(de?.dimensionValues?.map(B=>B.id)),Te=Gt(de)?[]:fa(ce,je),V={...de,dimensionValues:[...de?.dimensionValues?.map(B=>{const oe=ce.find(re=>re?.id===B?.id);return oe?{...B,isSelectedValue:oe.isSelectedValue}:B})??[],...Te]};ie&&f(V),x&&x(V)},ve=(O,_)=>{const ie=!_||_e(_,t),de=J(_??t)??_??t;if(!de||!O?.id)return;const ce=Ke(de);if((ce?w?.get(ce):void 0)?.treeNodes?.length){N?.(ce,O.id);return}const Te={...de,dimensionValues:de?.dimensionValues?.map(V=>V?.id===O?.id?{...V,isExpanded:!O?.isExpanded}:V)};ie&&f(Te),x&&x(Te)},De=(O,_)=>{if(!t)return;const ie={...t,timeRange:O||void 0};v?.(_),f(ie),x&&x(ie)};return i.jsx(cl,{value:{locale:s,isDisableValues:o,isValuesLoading:r,timeRangeOptions:d,filterValuesProps:n?.filterValuesProps,dataQueries:T,onSelectHierarchy:b,selectFilterValue:Q,selectHierarchicalNodes:pe,expandHierarchicalValue:ve,onTimePeriodChange:De},children:i.jsxs("div",{className:W("flex flex-row gap-5 flex-1 min-h-0 sm:p-0","filters-settings"),children:[i.jsxs("div",{className:W("h-full sm:w-full",n?.isShowTimeSeriesCount&&"flex flex-col justify-between"),children:[K&&i.jsxs("div",{className:"mb-4 flex items-center justify-between gap-x-4",children:[i.jsxs("span",{className:"body-3 text-neutrals-900",children:[I?.appliedFilters??"Applied filters",":"," ",P]}),i.jsx(E.Button,{buttonClassName:"text-button-tertiary p-0",title:I?.clearAll??"Clear All",onClick:S,isSmallButton:L})]}),i.jsx(fl,{filtersList:z,hideFacetCounterByDefault:n?.isHideFacetCounterByDefault,onSelectFilter:q,onSelectDisplayMode:p,onDeleteFilter:g,initialConstraints:a,initialConstraintsMap:u,datasetIcon:m,structuresMap:h,hierarchyStateMap:w,dataQueries:T,disabledDatasetUrns:M,isDatasetFacetSelected:k,onSelectDatasetFacet:Y,onClearAllDatasets:A}),n?.isShowTimeSeriesCount&&l?i.jsxs("h4",{className:"my-4 text-neutrals-800",children:[I?.timeSeries??"Timeseries",": ",l]}):null]}),!L&&(k?i.jsx(hl,{dataQueries:T??[],disabledDatasetUrns:M,onToggleDataset:y,searchIconSize:n?.filterValuesProps?.searchIconSize}):i.jsx(hi,{filtersList:z,selectedFilter:ee,structuresMap:h,initialConstraints:si(K,t,a,u),selectedTimeOption:C,hierarchyState:j}))]})})},pl=e=>{const t=e.filterType==="dataset"?[e.datasetUrn]:e.sourceDatasetUrns;return Array.from(new Set((t||[]).filter(n=>!!n)))},gl=(e,t)=>{if(!t)return!1;const n=e.dataStructureComponents?.dimensionList;return[...n?.dimensions||[],...n?.timeDimensions||[]].some(o=>o.id===t)},Tn=e=>{if(!e.length||e.some(n=>!n))return;const t=Array.from(new Set(e));return t.length===1?t[0]:void 0},Cl=(e,t)=>{const n=t?.dataStructures||[];if(!n.length)return[];const s=n.filter(o=>gl(o,e));return s.length?s:n.length===1?n:[]},xl=e=>e.urn??D.generateShortUrn(e.id,e.version,e.agencyID),gi=(e,t)=>Tn(Cl(e,t).map(xl)),Sl=(e,t,n,s)=>{if(!e||!t)return;const o=n?.get(t)?.find(a=>a.id===e);if(!o)return;const r=D.getKeyFromUrn(o.localRepresentation?.enumeration);if(r)return r;const l=s?.get(t),d=D.findCodelistByDimension(l?.codelists,l?.conceptSchemes,o);return d?D.getKeyFromUrn(d.urn)??D.generateShortUrn(d.id,d.version,d.agencyID):void 0},vl=(e,t,n)=>{const s=pl(e);return{codelistUrn:Tn(s.map(o=>Sl(e.id,o,t,n))),sourceArtefactUrn:Tn(s.map(o=>gi(e.id,n?.get(o))))}},wl=({timeseriesLength:e=0,limitMessages:t})=>{const n=!e||E.SERIES_LIMIT>e;return i.jsx("div",{className:"body-3 flex items-center gap-x-[4px] text-neutrals-800 sm:justify-center sm:text-center",children:n?i.jsx("span",{children:t?.seriesCount?.(e)}):i.jsxs(i.Fragment,{children:[i.jsx("span",{children:t?.warningIcon}),i.jsx("span",{children:t?.counterLimit?.(e,E.SERIES_LIMIT)})]})})},Ci=({modalProps:e,onApply:t,onClearAllFilters:n,onClose:s,applyDisabled:o,timeseriesLength:r,limitMessages:l})=>{const{titles:d}=we(),a=E.useIsMobile(),u=e?.footerActionsPosition==="right",m=e?.isShowCancelButton,h=e?.isShowClearAllButton??!0,f=m?u?"justify-end":"justify-start":u?"flex-row items-center justify-between sm:flex-col-reverse sm:gap-y-4":"gap-x-8 flex-row-reverse items-center justify-between sm:flex-col sm:gap-y-4",p=m?u?"items-center gap-x-8":"justify-between":u?"flex-row justify-end items-center sm:flex-col-reverse sm:gap-y-4":"gap-x-8 flex-row-reverse justify-end items-center sm:flex-col-reverse sm:gap-y-4";return i.jsxs("div",{className:W("flex py-4 px-6 modal-footer-wrapper",f),children:[!m&&i.jsx(wl,{timeseriesLength:r,limitMessages:l}),i.jsxs("div",{className:W("flex",p),children:[h&&i.jsx(E.Button,{iconBefore:a?e?.resetIcon:void 0,buttonClassName:"text-button-tertiary p-0",title:e?.isShowClearIcon?d?.clearAllFilters??"Clear All Filters":d?.clearAll??"Clear All",onClick:()=>n(),isSmallButton:a}),i.jsxs("div",{className:"flex items-center gap-x-3",children:[e?.isShowCancelButton?i.jsx(E.Button,{buttonClassName:"text-button-tertiary sm:h8",title:d?.cancel??"Cancel",onClick:s,isSmallButton:a}):null,i.jsx(E.Button,{buttonClassName:"advanced-view-filters-modal-apply-button",title:d?.apply??"Apply",onClick:t,isSmallButton:a,disabled:o})]})]})]})},bl=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M3.33333 13.3327V8.66602H2V7.33268H6V8.66602H4.66667V13.3327H3.33333ZM3.33333 5.99935V2.66602H4.66667V5.99935H3.33333ZM6 5.99935V4.66602H7.33333V2.66602H8.66667V4.66602H10V5.99935H6ZM7.33333 13.3327V7.33268H8.66667V13.3327H7.33333ZM11.3333 13.3327V11.3327H10V9.99935H14V11.3327H12.6667V13.3327H11.3333ZM11.3333 8.66602V2.66602H12.6667V8.66602H11.3333Z",fill:"currentColor"}));var Oe=(e=>(e.DATA_GRID="dataGrid",e.METADATA_PER_SERIES="metadataPerSeries",e.CHARTS="charts",e.CHARTS_NAVIGATION="chartsNavigation",e.OPEN_ADVANCED_VIEW="openAdvancedView",e.FILTERS="filters",e.CHART_PER_SERIES="chartPerSeries",e.METADATA_PER_DATASET="metadataPerDataset",e.EXIT_ADVANCED_VIEW="exitAdvancedView",e))(Oe||{});const kn=["charts","chartsNavigation"],ws=["dataGrid","metadataPerSeries",...kn,"openAdvancedView"],xi=["filters","chartPerSeries","metadataPerDataset","exitAdvancedView"],at=(e,t)=>{const n=t?.[`${e}Title`],s=t?.[`${e}Description`];return{title:typeof n=="string"?n:"",description:typeof s=="string"?s:""}},Mn=(e,t)=>e.find(n=>!t.infoElements?.[n])||"",Dl=(e,t)=>{if(!e||!t)return"";if(ws.includes(t)){const s=Mn(ws,e);if(s)return s}const n=Mn(xi,e);return n||""},Si=(e,t)=>{const n=Mn(e,t);return{...t,infoElements:{...t?.infoElements,[t.lastDisplayedElement]:!1,...n?{[n]:!0}:{}},lastDisplayedElement:n}},vi=e=>Si(xi,e),yl=e=>Si(kn,e),El=e=>(!e?.infoElements?.charts||!e?.infoElements?.chartsNavigation)&&!kn.includes(e.lastDisplayedElement),ot=5,Tl=({targetPosition:e,overlayClasses:t,onClose:n})=>i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"overlay overlay-top",style:{height:e.top,top:0-ot,bottom:e.top+ot}}),i.jsx("div",{className:"overlay overlay-bottom",style:{top:e.bottom+ot,bottom:0}}),i.jsx("div",{className:"overlay overlay-left",style:{top:e.top-ot,height:e.height+ot*2,width:e.left,left:0-ot,right:e.left-ot*2}}),i.jsx("div",{className:"overlay overlay-right",style:{top:e.top-ot,left:e.right+ot,height:e.height+ot*2,right:0}}),i.jsx("div",{className:W("outline-block z-10",t),onClick:n,style:{top:e.top,left:e.left,height:e.height,width:e.width}})]}),lt=({reference:e,title:t,description:n,onReferenceClick:s,shouldCloseTooltip:o,shouldMoveToNextStep:r,supressReferenceClick:l})=>{const[d,a]=c.useState(!0),[u,m]=c.useState(!1),h=c.useRef(null),{isShowOnboarding:f,onboardingFileSchema:p,setOnboardingFileSchema:g}=Ye(),{refs:S,floatingStyles:x,context:v,placement:C}=qe.useFloating({open:d,onOpenChange:a,placement:"right-start",elements:{reference:e?.current},middleware:[qe.offset({mainAxis:12,crossAxis:-4}),qe.flip(),qe.shift(),qe.arrow({element:h})],whileElementsMounted:qe.autoUpdate}),w=qe.useClick(v),{getFloatingProps:b}=qe.useInteractions([w]),N=c.useCallback(()=>{if(f){const A=Dl(p,p?.lastDisplayedElement);g?.({...p,infoElements:{...p?.infoElements,...A?{[A]:!0}:{}},lastDisplayedElement:A})}a?.(!1)},[f,p,g]);c.useEffect(()=>{S.setReference(e?.current??null)},[e,S]);const T=()=>N(),M=e?.current?.getBoundingClientRect();c.useEffect(()=>{o&&!u&&(N(),m(!0))},[o,N,u]);const y=()=>{s?(s?.(),r?N():a(!1)):l||(N(),e?.current?.click())};return i.jsx(i.Fragment,{children:d&&i.jsxs(qe.FloatingPortal,{children:[M&&i.jsx(Tl,{overlayClasses:l?"cursor-default":"cursor-pointer",targetPosition:M,onClose:y}),i.jsxs("div",{ref:S.setFloating,style:x,...b(),className:"tooltip z-tooltip max-w-[350px]",children:[i.jsxs("div",{className:"tooltip-header",children:[i.jsx("h3",{children:t}),i.jsx(E.CloseButton,{btnClassNames:"w-4 h-4",onClick:T})]}),i.jsx("div",{className:"tooltip-description",children:i.jsx("p",{children:n})}),i.jsx("div",{ref:h,className:W("tooltip-arrow absolute w-3 h-3 rotate-45",C?.includes("right")?"left-[-4px]":"right-[-6px]",C?.includes("end")?"bottom-2 tooltip-arrow-white":"top-3")})]})]})})},wi=({buttonProps:e,selectedFiltersCount:t=0,isLoading:n,setModalState:s,isModalClosed:o,warningIcon:r,filterIconClassName:l,timeSeriesCount:d})=>{const{titles:a}=we(),u=c.useRef(null),[m,h]=c.useState(""),[f,p]=c.useState(""),[g,S]=c.useState(!1),{onboardingFileSchema:x,isShowOnboarding:v}=Ye(),C=E.SERIES_LIMIT<(d??0),w=c.useMemo(()=>e?.isShowBadge?e?.title:`${e?.title}: ${t}`,[e?.isShowBadge,e?.title,t]);return c.useEffect(()=>{if(v){const{title:b,description:N}=at(Oe.FILTERS,a);h(b),p(N)}},[a,v]),c.useEffect(()=>{v&&S(x?.lastDisplayedElement===Oe.FILTERS)},[x?.lastDisplayedElement,v]),i.jsx("div",{className:"filter-button-container relative",ref:u,children:n?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[i.jsx(E.Button,{iconBefore:i.jsx(bl,{className:W("size-4",l)}),iconAfter:C?r:void 0,title:w,buttonClassName:"text-button-secondary filter-button",isSmallButton:!0,onClick:()=>s(E.PopUpState.Opened)}),e?.isShowBadge&&i.jsx("div",{className:"filter-count-badge",children:i.jsx("h5",{children:t})}),g&&i.jsx(lt,{reference:u,title:m,description:f,onReferenceClick:()=>s(E.PopUpState.Opened),shouldCloseTooltip:o})]})})},bi=c.createContext(null);function Ml({children:e}){const[t,n]=c.useState(E.PopUpState.Closed),[s,o]=c.useState(!1),r=c.useMemo(()=>({modalState:t,setModalState:n,isModalClosed:s,setIsModalClosed:o}),[t,s]);return i.jsx(bi.Provider,{value:r,children:e})}function Di(){const e=c.useContext(bi);if(!e)throw new Error("useFiltersModalState must be used within FiltersModalStateProvider");return e}const bs=e=>{const t=[];return e.custom_content?.attachments&&t.push(...e.custom_content.attachments),t};function Un(e){return e.type===he.AttachmentType.MARKDOWN&&e.title!=null&&e.title?.startsWith("URL Query")}function yi(e){return e.type===he.AttachmentType.JSON&&e.title!=null&&e.title?.startsWith("Query (JSON)")}function Ei(e){return e.type===he.AttachmentType.MARKDOWN&&!Un(e)}function Nl(e){return e.type===he.AttachmentType.CSV}function Hn(e){return e.type===he.AttachmentType.TABLE}function rt(e){return e.type===he.AttachmentType.CUSTOM_DATA_GRID}function Kt(e){return e.type===he.AttachmentType.CUSTOM_CHART}function Il(e){return e.type===he.AttachmentType.PLOTLY}function Bn(e){return e.type===he.AttachmentType.CUSTOM_CODE_SAMPLE}function ft(e){return e.type===he.AttachmentType.CROSS_DATASET_GRID}function Al(e){return Hn(e)||rt(e)||ft(e)}const jl=(e,t)=>e?.filter((n,s)=>n?.custom_content?.attachments&&s<t)?.at(-1),Ti=e=>e?.reduce((t,n,s)=>n?.custom_content?.attachments?.some(o=>yi(o))?s:t,-1),Rl=e=>e?.reduce((t,n)=>n?.role===Ae.Role.Assistant?n:t,{}),Ds=e=>e.type==="text/markdown"&&!!e.data?.includes("```python"),Ll=(e,t)=>{const n=e?.custom_content?.attachments?.filter(Ds)??[],s=t?.custom_content?.attachments?.filter(Ds)??[],o=new Map;for(const r of[...n,...s])o.set(r.title??r.data??"",r);return[...o.values()]},Fl=(e,t,n,s,o)=>({role:Ae.Role.System,content:"",custom_content:{attachments:n?.map(r=>{const l=e&&t?.urn===r?.urn?e:r?.filters;return{type:he.AttachmentType.JSON,title:r?.title,data:JSON.stringify({urn:r?.urn,metadata:r?.metadata,filters:o?o?.get(r?.urn):l,disabled:!!r?.disabled})}})||[],form_schema:s?.custom_content?.form_schema}}),Mi=(e,t,n,s,o)=>{if(!e)return[];const r=e.at(-1),l=r?.role===Ae.Role.System,d=l?e.slice(0,-1):e,a=Rl(d),u=Ll(a,l?r:void 0),m=Fl(s,o,t,a,n);return u.length&&m.custom_content&&(m.custom_content={...m.custom_content,attachments:[...m.custom_content.attachments??[],...u]}),[...d,m]},Pl=(e,t,n,s)=>e?.map(o=>({...o,filters:n&&s?.urn===o?.urn?n:o?.filters}))||[],mt={availableHierarchies:[],selectedHierarchy:null,mainHierarchy:null,codelists:[],treeNodes:[],isLoading:!1},Ni=({getCodelistUrnForFilter:e,getConstraintsForFilter:t,getSourceArtefactUrn:n,getAvailableHierarchies:s,getHierarchy:o})=>{const[r,l]=c.useState(new Map),d=c.useCallback((f,p)=>{const g=Ke(f);if(!g)return;const S=e(f),x=p??t(f);l(v=>{const C=v.get(g);if(!C?.mainHierarchy)return v;const w=vs(C.mainHierarchy,C.codelists,f.id??"",x,S),b=new Map(v);return b.set(g,{...C,treeNodes:w}),b})},[e,t]),a=c.useCallback(async f=>{if(!s)return;const p=e(f);if(!p)return;const g=Ke(f);if(g){l(S=>{const x=new Map(S),v=S.get(g)??mt;return x.set(g,{...v,isLoading:!0}),x});try{const S=await s(p,n?.(f)),x=ol(S?.data?.hierarchies??[]);l(v=>{const C=new Map(v),w=v.get(g)??mt;return C.set(g,{...w,availableHierarchies:x,isLoading:!1}),C})}catch{l(S=>{const x=new Map(S),v=S.get(g)??mt;return x.set(g,{...v,isLoading:!1}),x})}}},[s,e,n]),u=c.useCallback(async(f,p)=>{if(!o)return;const g=Ke(f);if(!g)return;const S=e(f);l(x=>{const v=new Map(x),C=x.get(g)??mt;return v.set(g,{...C,isLoading:!0}),v});try{const x=Ss(p),v=await o(x,S),C=v?.data?.hierarchies?.find(N=>Ss(N)===x);if(!C){l(N=>{const T=new Map(N),M=N.get(g)??mt;return T.set(g,{...M,selectedHierarchy:p,mainHierarchy:null,treeNodes:[],isLoading:!1}),T});return}const w=D.resolveCodelistsFromResponse(v?.data),b=vs(C,w,f.id??"",t(f),S);l(N=>{const T=new Map(N),M=N.get(g)??mt;return T.set(g,{...M,selectedHierarchy:p,mainHierarchy:C,codelists:w,treeNodes:b,isLoading:!1}),T})}catch{l(x=>{const v=new Map(x),C=x.get(g)??mt;return v.set(g,{...C,isLoading:!1}),v})}},[o,e,t]),m=c.useCallback((f,p)=>{if(!f)return;const g=Ke(f);if(g){if(!p){l(S=>{const x=new Map(S),v=S.get(g)??mt;return x.set(g,{...v,selectedHierarchy:null,mainHierarchy:null,treeNodes:[]}),x});return}u(f,p)}},[u]),h=c.useCallback((f,p)=>{l(g=>{const S=g.get(f);if(!S?.treeNodes)return g;const x=new Map(g);return x.set(f,{...S,treeNodes:di(S.treeNodes,p)}),x})},[]);return{hierarchyStateMap:r,rebuildHierarchyTree:d,loadAvailableHierarchies:a,onSelectHierarchy:m,onExpandHierarchyNode:h}},_l=(e,t,n,s,o)=>{const r=new Set;if(!t||e.isTimeDimension)return r;const l=e.dimensionValues?.filter(m=>m.isSelectedValue)??[];if(!l.length)return r;const d=D.findCodelistByDimension(n?.codelists,n?.conceptSchemes,t);if(!d?.codes?.length)return r;const a=new Set(d.codes.map(m=>m.id)),u=new Set(D.getAvailableCodesFromConstrains(d.codes,t.id,s,o).map(m=>m.id));return l.forEach(m=>{a.has(m.id)&&!u.has(m.id)&&r.add(m.id)}),r},Ii=(e,t,n,s,o,r)=>{let l=!1;const d=e.map(a=>{if(a.isTimeDimension||o&&a.id===o)return a;const u=t?.find(h=>h.id===a.id),m=_l(a,u,n,s,r);return m.size?(l=!0,{...a,dimensionValues:a.dimensionValues?.map(h=>m.has(h.id)?{...h,isSelectedValue:!1}:h)}):a});return{filters:l?d:e,changed:l}},Vl=(e,t,n,s,o,r)=>Ii(e,t,n,s,o?.id,r),Ol=(e,t,n,s,o)=>{let r=!1;const l=new Map;return e.forEach((d,a)=>{const u=n?.filterType==="shared"?Vn(n,a,o):n?.datasetUrn===a?n.id:void 0,m=Ii(d,t?.dimensionsMap?.get(a),t?.structuresMap?.get(a),t?.constraintsMap?.get(a),u,s);r=r||m.changed,l.set(a,m.filters)}),{filtersMap:r?l:e,changed:r}},kl=new Set,Ul=({actions:e,dimensions:t,structureDimensions:n,structures:s,buttonProps:o,modalProps:r,attachmentsDataQuery:l,dataQueries:d,initialConstraints:a,onFiltersChange:u,locale:m,timeRangeOptions:h,conversationKey:f,conversation:p,setConversation:g,updateConversation:S,updateDataQueries:x,limitMessages:v,filterIconClassName:C})=>{const{titles:w}=we(),{modalState:b,setModalState:N,isModalClosed:T,setIsModalClosed:M}=Di(),[y,A]=c.useState([]),[I,j]=c.useState([]),[L,K]=c.useState(),[k,H]=c.useState([]),[z,ee]=c.useState(void 0),P=c.useRef(a||[]),[Y,q]=c.useState([]),[J,Q]=c.useState(),[pe,ve]=c.useState(),[De,O]=c.useState(!1),_=c.useRef(0),ie=c.useRef(!1),de=c.useCallback(()=>{_.current+=1,_.current===1&&O(!0)},[]),ce=c.useCallback(()=>{_.current=Math.max(_.current-1,0),_.current===0&&O(!1)},[]),je=c.useCallback(Z=>{const fe=t?.find(ze=>ze.id===Z.id);if(!fe)return;const se=D.getKeyFromUrn(fe.localRepresentation?.enumeration);if(se)return se;const le=D.findCodelistByDimension(s?.codelists,s?.conceptSchemes,fe);return le?D.getKeyFromUrn(le.urn)??D.generateShortUrn(le.id,le.version,le.agencyID):void 0},[t,s?.codelists,s?.conceptSchemes]),{hierarchyStateMap:Te,rebuildHierarchyTree:V,loadAvailableHierarchies:B,onSelectHierarchy:oe,onExpandHierarchyNode:re}=Ni({getCodelistUrnForFilter:je,getConstraintsForFilter:()=>P.current,getSourceArtefactUrn:Z=>gi(Z.id,s),getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),me=Z=>{const fe=Z?y.map(se=>_e(se,Z)?Z:se):y;ve(!0),A(Qt(fe)),Q?.(!0),ue(Z?.isTimeDimension?Jt(fe,Z):fe,A,Q,Z)};c.useEffect(()=>{b===E.PopUpState.Closed&&q(P.current)},[b]);const ue=c.useCallback((Z,fe,se,le)=>{const ze=l?.urn??"",U=It(yn(Z).filter(F=>F.componentCode!==D.TIME_PERIOD)),G=et(ze,U),te=!!e?.getConstraints&&!En(e.getConstraints,G);te&&de(),(e?nt(e.getConstraints,G,()=>e.getConstraints(ze,U)):Promise.resolve(void 0)).then(F=>{const $=F?.data?.dataConstraints||[];if(le){const{filters:Fe,changed:xe}=Vl(Z,t,s,$,le,m);if(xe){P.current=$,se?.(!0),ve(!0),ue(Fe,fe,se,le);return}}const ne=zt(Z,t,s,$,m);if(P.current=$,se?.(!1),fe(ne),le){const Fe=ne.find(xe=>_e(xe,le));K(xe=>xe&&Fe&&_e(xe,le)?{...Fe,isSelectedFilter:!0}:xe),V(le,$)}}).catch(()=>{const F=zt(Z,t,s,[],m);if(P.current=[],se?.(!1),fe(F),le){const $=F.find(ne=>_e(ne,le));K(ne=>ne&&$&&_e(ne,le)?{...$,isSelectedFilter:!0}:ne)}}).finally(()=>{ve(!1),te&&ce()})},[e,l?.urn,t,ce,m,V,de,s]);c.useEffect(()=>{const Z=bo(t,s,n,m),fe=t?.map(le=>{const ze=D.findCodelistByDimension(s?.codelists,s?.conceptSchemes,le),U=D.getAvailableCodesFromConstrains(ze?.codes,le.id,P.current,m);return{...le,dimensionValues:U}}),se=Z.map(le=>{const ze=fe?.find(U=>U.id===le.id)?.dimensionValues||[];return{...le,dimensionValues:ze}});if(!ie.current){if(!s)return;const le=No(se,l,P.current);Q?.(!0),ue(le,j,Q),ie.current=!0}},[t,n,s,l,m,a,ue]),c.useEffect(()=>{I?.length&&H(on(I))},[I]),c.useEffect(()=>{A(Z=>Jt(Z,L))},[L]),c.useEffect(()=>{if(b===E.PopUpState.Opened){const Z=I.find(fe=>!fe.isTimeDimension);K(Z?{...Z,isSelectedFilter:!0}:void 0),A(I)}b===E.PopUpState.Closed&&K(void 0)},[I,b]),c.useEffect(()=>{if(!L||L.isTimeDimension)return;const Z=Ke(L);if(!Z)return;Te.get(Z)||B(L)},[L,Te,B]),c.useEffect(()=>{b===E.PopUpState.Opened&&I.forEach(Z=>{if(Z.isTimeDimension)return;const fe=Ke(Z);fe&&!Te.has(fe)&&B(Z)})},[b,I,Te,B]);const ae=c.useCallback(async Z=>{const fe=ko(Z),se=p?{...p,messages:Mi(p?.messages,d,void 0,fe,l)}:null;g?.(se),x?.(Pl(d,void 0,fe,l)),await S(decodeURI(f),{name:se?.name,messages:se?.messages||[]})},[l,p,f,d,g,S,x]),Le=c.useCallback((Z,fe)=>{A(se=>Do(se,Z,fe)),_e(L,Z)&&K(se=>se&&{...se,displayMode:fe})},[L]),ye=c.useCallback(Z=>_o(Z,t),[t]),ge=c.useMemo(()=>wn(ye(y),ye(I)),[y,I,ye]),Ie=c.useCallback((Z,fe)=>{const se=zt(fe,t,s,Z,m);P.current=Z,K(le=>se?.find(ze=>_e(ze,le))||le),A(se),ve(!1)},[t,m,s]),Ce=c.useCallback(Z=>{ve(!0),A(Qt(Z));const fe=l?.urn??"",se=It(yn(Z).filter(G=>G.componentCode!==D.TIME_PERIOD)),le=et(fe,se),ze=!!e?.getConstraints&&!En(e.getConstraints,le);ze&&de(),(e?nt(e.getConstraints,le,()=>e.getConstraints(fe,se)):Promise.resolve(void 0)).then(G=>{Ie(G?.data?.dataConstraints||[],Z)}).catch(()=>{Ie([],Z)}).finally(()=>{ze&&ce()})},[e,l?.urn,ce,de,Ie]),Pe=c.useCallback(Z=>{const fe=To(y,Z);Ce(fe)},[Ce,y]),ke=c.useCallback(()=>{P.current=Y,N(E.PopUpState.Closed),M(!0)},[Y,N,M]),$e=c.useCallback(()=>{const Z=Mo(y);Ce(Z)},[Ce,y]),Re=c.useCallback(()=>{const Z=ye(y);u?.(Z,P.current,y),j(y),N(E.PopUpState.Closed),M(!0),c.startTransition(()=>{ae(y)})},[ye,y,u,ae,P,N,M]),Ue=Z=>{ee(Z)},He=Number(D.getTimeSeriesCount(P?.current?.[0]?.annotations)),st=J||pe||ge;return i.jsxs("div",{className:"filters-container",children:[i.jsx(wi,{buttonProps:o,selectedFiltersCount:Pn(k),isLoading:J,setModalState:N,isModalClosed:T,warningIcon:v?.warningIcon,filterIconClassName:C,timeSeriesCount:He}),i.jsx(i.Fragment,{children:b===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:w?.settings||"Settings",portalId:"filters",size:E.PopUpSize.LG,containerClassName:"advanced-view-filters-modal h-[80%]",dividers:r?.isShowDividers,onClose:ke,closeButtonTitle:w?.close||"Close",children:[i.jsx(pi,{locale:m,timeRangeOptions:h,filtersList:y,selectedFilter:L,isDisableValues:pe,isValuesLoading:De,modalProps:r,initialConstraints:a,timeSeriesCount:`${He}`,setSelectedFilter:K,onSelectDisplayMode:Le,onDeleteFilter:Pe,onClearAllFilters:$e,updateSelectedFilterValues:me,onTimePeriodChange:Ue,selectedTimeOption:z,hierarchyStateMap:Te,onSelectHierarchy:oe,onExpandHierarchyNode:re,dataQueries:l?[l]:void 0,disabledDatasetUrns:kl,onToggleDataset:()=>{},onClearAllDatasets:()=>{}}),i.jsx(Ci,{onApply:Re,onClose:ke,onClearAllFilters:$e,modalProps:r,applyDisabled:st,timeseriesLength:He,limitMessages:v})]})})]})},Cn=({setToTitle:e,datasetName:t,datasetIcon:n,isShowDatasetDetails:s,queryFilterDetails:o})=>i.jsx("div",{children:o?.map(r=>i.jsxs("div",{className:"body-1 mb-2 flex flex-wrap items-center gap-1",children:[i.jsxs("span",{children:[r?.title,i.jsx("span",{children:e??" set to "}),i.jsx("span",{className:"font-bold",children:r?.valuesTitles?.join(", ")})]}),t&&s&&i.jsxs("span",{className:"attachment-dataset-name caption !mb-0 inline-flex items-center",children:[i.jsx("span",{className:"attachment-dataset-icon mr-1",children:n}),t]})]},r?.title))}),Hl=({titles:e,attachmentInfoList:t,datasetIcon:n,dataQueries:s})=>{const{isCrossDatasetModeOn:o}=Ge(),{sharedFilterDetails:r,perDatasetInfoList:l}=c.useMemo(()=>{if(!o)return{sharedFilterDetails:[],perDatasetInfoList:[]};const u=new Map,m=[];return t?.forEach(h=>{const f=[];h.queryFiltersDetails?.forEach(p=>{if(Ia.has(p.id)){const g=u.get(p.id);g?u.set(p.id,{...g,valuesTitles:Array.from(new Set([...g.valuesTitles||[],...p.valuesTitles||[]]))}):u.set(p.id,{...p})}else p.valuesTitles?.length&&f.push(p)}),f.length&&m.push({...h,queryFiltersDetails:f})}),{sharedFilterDetails:Array.from(u.values()),perDatasetInfoList:m}},[o,t]),d=s?.some(u=>u.disabled)??!1,a=t?.map(u=>u.datasetName).filter(Boolean)??[];return i.jsxs("div",{className:"attachment-details flex flex-col",children:[i.jsx("p",{className:W("body-1",(t&&t.length<=1||o&&r.length>0)&&"mb-2"),children:e?.queryUpdatedManuallyTitle??"Query has been updated manually."}),d&&a.length>0&&i.jsxs("div",{className:"body-1 mb-2 flex flex-wrap items-center gap-1",children:[i.jsxs("span",{children:[e?.datasetLabel??"Dataset",e?.setToTitle??" set to "]}),a.map(u=>i.jsxs("span",{className:"attachment-dataset-name caption !mb-0 inline-flex items-center",children:[i.jsx("span",{className:"attachment-dataset-icon mr-1",children:n}),u]},u))]}),o?i.jsxs(i.Fragment,{children:[r.length>0&&i.jsx(Cn,{setToTitle:e?.setToTitle,queryFilterDetails:r}),l.map(u=>i.jsx(Cn,{setToTitle:e?.setToTitle,datasetName:u.datasetName,datasetIcon:n,isShowDatasetDetails:!0,queryFilterDetails:u.queryFiltersDetails},u.datasetName))]}):t?.map(u=>!!u?.queryFiltersDetails?.length&&i.jsx(Cn,{setToTitle:e?.setToTitle,datasetName:u?.datasetName,datasetIcon:n,isShowDatasetDetails:t?.length>1,queryFilterDetails:u?.queryFiltersDetails},u?.datasetName))]})},Bl=({icon:e,title:t})=>i.jsx("div",{className:W("px-3 py-4 rounded border mt-3","attachment-collapsed"),children:i.jsxs("p",{className:W("flex body-3 items-center"),children:[e,i.jsxs("span",{className:"ml-2",children:[" ",t]})]})}),Gl=e=>Me.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Me.createElement("circle",{cx:32,cy:12,r:10,fill:"white"})),zl=e=>Me.createElement("svg",{width:44,height:24,viewBox:"0 0 44 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("rect",{width:44,height:24,rx:12,fill:"currentColor"}),Me.createElement("circle",{cx:12,cy:12,r:10,fill:"white"})),ys=[{value:D.SdmxDataFormat.JSON,title:"SDMX-JSON"},{value:D.SdmxDataFormat.XML,title:"SDMX-ML (XML)"},{value:D.SdmxDataFormat.CSV,title:"SDMX-CSV"}],$l=e=>[{value:D.FileColumnsAttribute.ID,title:e?.idOptions||"ID",description:e?.idOptionsDescription},{value:D.FileColumnsAttribute.NAME,title:e?.nameOptions||"Name",description:e?.nameOptionsDescription},{value:D.FileColumnsAttribute.ID_NAME,title:e?.idAndNameOptions||"Combined ID and Name",description:e?.idAndNameOptionsDescription}],Es=({title:e,items:t,selectedValue:n,setSelectedValue:s,infoMessage:o,collapsible:r=!0})=>{const l=i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex flex-col gap-y-1",children:t.map(d=>i.jsx("div",{className:"flex flex-col",children:i.jsx(E.Radio,{id:d.value,checked:n.value===d.value,label:d.title,description:d.description,onChange:()=>{s(d)},radioIcon:i.jsx(Be.IconCircleFilled,{className:"size-3"})},d.value)},d.value))}),o]});return r?i.jsx(E.CollapsibleBlock,{title:e,value:n.title,children:l}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:e})}),i.jsx("div",{className:"pb-4",children:l})]})},Wl=({title:e,items:t,selectedUrns:n,onToggle:s,collapsible:o=!0,rowsLabel:r="rows"})=>{const l=i.jsx("div",{className:"flex flex-col",children:t.map(d=>i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("div",{className:"min-w-0 flex-1",children:i.jsx(E.Checkbox,{id:d.urn,label:d.name,checked:n.has(d.urn),onChange:s})}),i.jsxs("span",{className:"download-row-count",children:[d.rowCount," ",r]})]},d.urn))});return o?i.jsx(E.CollapsibleBlock,{title:e,children:l}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:e})}),i.jsx("div",{className:"pb-4",children:l})]})},Kl=e=>{const t=e.metadata?.keyDimensionIdsInDsdOrder,n=e.metadata?.timePeriodDimension;if(!t?.length)return null;const s=t.map(r=>{const l=e.filters?.find(d=>d.componentCode===r);return l?.values?.length?l.values.join(D.GET_v3_FILTER_OR):"*"}).join("."),o=n?D.getTimeQueryFilter(e,{id:n}):null;return{filterKey:s,timeFilter:o}},Yl=(e,t,n,s)=>{if(t&&e===D.DownloadType.DATA_IN_TABLE){const l=Kl(t);if(l)return l}if(s?.filterKey&&e===D.DownloadType.DATA_IN_TABLE)return s;let o=null,r=null;return t&&n&&e===D.DownloadType.DATA_IN_TABLE&&(o=D.getTimeSeriesFilterKey(n,t.filters??[]),r=D.getTimeQueryFilter(t,D.getTimeDimension(n))),{filterKey:o,timeFilter:r}},ql=({dataQuery:e,datasetName:t,onCloseModal:n,type:s=D.DownloadType.FULL_DATASET,locale:o=X.Locale.EN,dimensions:r,filters:l,urn:d,titles:a,collapsible:u=!0,downloadDatasets:m,rowCount:h,isDownloadInProgress:f=!1,onDownloadStart:p,limitMessages:g,showLimitMessage:S,externalLink:x})=>{const v=$l(a),[C,w]=c.useState(ys[0]),[b,N]=c.useState(v[0]),[T,M]=c.useState(!0),[y,A]=c.useState(()=>new Set(m?.map(H=>H.urn)??[])),I=c.useRef(!1);c.useEffect(()=>{A(new Set(m?.map(H=>H.urn)??[]))},[m]);const j=c.useCallback(H=>{A(z=>{const ee=new Set(z);return ee.has(H)?ee.delete(H):ee.add(H),ee})},[]),L=m!==void 0&&(m.length===0||y.size===0),K=c.useCallback(()=>{if(I.current)return;const H=C.value,z=(q,J,Q,pe)=>({dataQuery:q,urn:J,name:Q,rowCount:pe,fileName:`${Q}.${H}`,filters:Yl(s,q,r,l)}),P={items:m&&m.length>0?m.filter(q=>y.has(q.urn)).map(q=>z(q.dataQuery,q.urn,q.name,q.rowCount)):[z(e,e?.urn||d||"",t||e?.urn||d||"",h??0)],dataFormat:H,dataFormatTitle:C.title,attribute:b.value,language:o,isMetadata:T};if(!p(P)){I.current=!1;return}I.current=!0,n()},[C.value,C.title,b.value,m,y,e,d,t,h,s,r,l,o,T,p,n]),k=i.jsxs("div",{className:W("download-metadata flex cursor-pointer gap-4",{"download-metadata-active":T}),children:[T?i.jsx(Gl,{width:44,height:24,className:"text-primary",onClick:()=>M(!T)}):i.jsx(zl,{width:44,height:24,className:"text-neutrals-500",onClick:()=>M(!T)}),i.jsx("div",{children:a?.includeMetadata||"Include Metadata"})]});return i.jsxs(E.Popup,{heading:i.jsx("p",{className:"download-heading h2",children:a?.download||"Download"}),portalId:"filters",size:E.PopUpSize.LG,containerClassName:"download-popup h-[80%]",dividers:!1,onClose:n,closeButtonTitle:a?.close||"Close",children:[!m&&S&&i.jsx("div",{className:"download-info flex flex-col gap-1 px-6 pt-5",children:i.jsx(E.RequestLimitMessage,{limitMessages:g,isDownload:!0,query:x})}),i.jsxs("div",{className:"download-settings flex flex-col overflow-auto p-6",children:[i.jsx(Es,{title:a?.dataFormat||"Data Format",selectedValue:C,setSelectedValue:w,items:ys,collapsible:u,infoMessage:i.jsx(E.DownloadFormatMessage,{limitMessages:g,query:x})}),C.value===D.SdmxDataFormat.CSV&&i.jsx(Es,{title:a?.attributes||"Attributes",selectedValue:b,setSelectedValue:N,items:v,collapsible:u}),m&&i.jsxs(i.Fragment,{children:[i.jsx(Wl,{title:a?.datasetsToDownload||"Datasets to download",items:m,selectedUrns:y,onToggle:j,collapsible:u,rowsLabel:a?.rows||"rows"}),y.size>1&&i.jsxs(E.InlineAlert,{type:E.InlineAlertType.Note,children:[i.jsx("span",{className:"font-bold",children:a?.filesWillBeDownloaded?.(y.size)??`${y.size} files will be downloaded`})," ",a?.oneFilePerDataset??"- one file per selected dataset."]})]}),u?i.jsx(E.CollapsibleBlock,{title:a?.metadata||"Metadata",value:T?a?.all||"Included":a?.none||"Not included",children:k}):i.jsxs("div",{className:"flex flex-col",children:[i.jsx("div",{className:"flex items-center py-4",children:i.jsx("span",{children:a?.metadata||"Metadata"})}),i.jsx("div",{className:"pb-4",children:k})]})]}),i.jsxs("div",{className:"download-button mt-auto flex items-center gap-x-3 p-6",children:[a?.cancel&&i.jsx(E.Button,{buttonClassName:"text-button-tertiary",title:a.cancel,onClick:n}),i.jsx(E.Button,{buttonClassName:"text-button-primary",title:a?.download||"Download",disabled:L||f,onClick:K})]})]})},Zl=({id:e,title:t,version:n,agency:s,isActive:o,isSingleTab:r,onSelectDataset:l})=>i.jsx("div",{className:W("dataset-tab truncate last:mr-4",o?"dataset-tab-active":"border-b-transparent",r?"dataset-tab-single cursor-default":"cursor-pointer"),title:t,onClick:()=>{r||l(D.generateShortUrn(e,n,s))},children:i.jsx("h3",{className:"dataset-tab-title truncate",title:t,children:t})}),Xl=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})=>{const{isOpenedAdvancedView:o}=We(),[r,l]=c.useState();c.useEffect(()=>{if(!n&&!r&&e?.[0]){const a=D.generateShortUrn(e[0].id,e[0].version,e[0].agencyID);l(a),s?.(a)}else n&&n!==r&&(l(n),s?.(n))},[e,s,n,r]);const d=c.useCallback(a=>{l(a),s?.(a)},[s]);return i.jsx("div",{className:W("dataset-tabs flex w-full items-center justify-between",o&&"hide-advance-button"),children:i.jsx("div",{className:"flex w-full items-center gap-4 overflow-y-auto sm:w-[calc(100%-30px)]",children:e?.map(a=>i.jsx(Zl,{id:a?.id,title:D.getLocalizedName(a,t||X.Locale.EN),version:a?.version,agency:a?.agencyID,isActive:e?.length>1&&r===D.generateShortUrn(a?.id,a?.version,a?.agencyID),isSingleTab:e?.length===1,onSelectDataset:d},a?.id))})})},Jl=3,Ql=({datasets:e,locale:t})=>{const{isOpenedAdvancedView:n}=We(),s=c.useMemo(()=>(e||[]).map(d=>({urn:D.generateShortUrn(d?.id,d?.version,d?.agencyID),title:D.getLocalizedName(d,t||X.Locale.EN)})),[e,t]),o=c.useMemo(()=>s.slice(0,Jl),[s]),r=Math.max(s.length-o.length,0),l=s.filter(d=>!o.some(a=>a.urn===d.urn)).map(d=>d.title).join(`
|
|
7
|
-
`);return i.jsx("div",{className:W("cross-dataset-tabs flex w-full items-center justify-between",n&&"hide-advance-button"),children:i.jsxs("div",{className:"cross-dataset-tabs-list sm:w-[calc(100%-30px)]",children:[o.map((d,a)=>i.jsxs("span",{className:"cross-dataset-tabs-item-wrapper",children:[i.jsx("span",{className:"cross-dataset-tabs-item",title:d.title,children:d.title}),a<o.length-1&&i.jsx("span",{className:"cross-dataset-tabs-separator","aria-hidden":"true"})]},d.urn)),r>0&&i.jsxs("span",{className:"cross-dataset-tabs-counter",title:l,children:["+",r]})]})})},Ai=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})=>{const{isCrossDatasetModeOn:o}=Ge();return o?i.jsx(Ql,{datasets:e,locale:t}):i.jsx(Xl,{datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:s})},Ts=(e,t)=>{const n=t?.get(e?.urn),s=n?.conceptSchemes||[],o=n?.codelists||[],r=D.getDimensions(n),l=[...r?.dimensions||[],...r?.timeDimensions||[]];return{structures:n,conceptSchemes:s,codelists:o,dimensions:l}},ec=(e,t,n,s,o)=>{const r=t?.filter(d=>!d.disabled)??[],l=new Map;return r?.forEach(d=>{const{conceptSchemes:a,codelists:u,dimensions:m}=Ts(d,n);xn((d?.filters??[]).filter(h=>h.operator!==X.QueryFilterType.EXCLUDED),d?.urn,m,a,u,s,o).forEach(h=>{if(h.valuesTitles?.length){const f=l.get(h.id)??[];l.set(h.id,Array.from(new Set([...f,...h.valuesTitles])))}})}),r?.map(d=>{const a=e?.find(S=>S?.urn===d?.urn),{structures:u,conceptSchemes:m,codelists:h,dimensions:f}=Ts(d,n),g=tc(xn(a?.filters||[],d?.urn,f,m,h,s,o),xn(d?.filters??[],d?.urn,f,m,h,s,o)).map(S=>{if(S.valuesTitles?.length)return S;const x=l.get(S.id);return x?.length?{...S,valuesTitles:x}:null}).filter(S=>S!==null);return{datasetName:D.getLocalizedName(u?.dataflows?.[0],s),queryFiltersDetails:g}})},tc=(e,t)=>{const n=new Map(e?.map(s=>[s?.id,s]));return t?.filter(s=>!jn.isEqual(n?.get(s?.id)?.valuesTitles?.sort(),s?.valuesTitles?.sort()))||[]},xn=(e,t,n,s,o,r,l)=>e?.map(d=>{const a=n.find(h=>h?.id===d?.componentCode),u=D.getConcept(a?.conceptIdentity||"",s),m=D.findCodelistByDimension(o,s,a);return{id:Pa(t,d?.componentCode,l)??d?.componentCode,title:D.getLocalizedName(u,r),valuesTitles:d?.operator===X.QueryFilterType.BETWEEN?[`${Xt(X.getTimePeriod(d?.values?.[0]),r)} - ${Xt(X.getTimePeriod(d?.values?.[1]),r)}`]:d?.values?.map(h=>D.getLocalizedName(m?.codes?.find(f=>f?.id===h),r)||h)}}),nc=(e,t,n)=>{let s="",o="";if(e?.timeFilter){const l=decodeURIComponent(e.timeFilter||"")?.split(":");s=l[1]||"",o=l[3]||""}else if(t){const l=t?.filters?.find(d=>d.componentCode===D.TIME_PERIOD);s=l?.values?.[0]||"",o=l?.values?.[1]||""}return`&filter=${e?.filterKey||D.getTimeSeriesFilterKey(n||[],t?.filters||[])}&startPeriod=${s}&endPeriod=${o}`},Nn=(e,t,n,s)=>{const o=n?.metadata?.datasetUrl;if(!o)return"";const r=e?nc(t,n,s):"";return o+r},ji=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M2.33325 12.3267L6.33325 8.32001L8.99992 10.9867L14.6666 4.61334L13.7266 3.67334L8.99992 8.98667L6.33325 6.32001L1.33325 11.3267L2.33325 12.3267Z",fill:"currentColor"})),sc=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.50644 4.00043L1.97857 7.52207L1.5 7.99979L1.97857 8.47751L5.50644 11.9991L6.46019 11.0437L3.41088 7.99979L6.46019 4.95587L5.50644 4.00043ZM10.4918 4.00043L14.0197 7.52207L14.4983 7.99979L14.0197 8.47751L10.4918 11.9991L9.53809 11.0437L12.5874 7.99979L9.53809 4.95587L10.4918 4.00043Z",fill:"currentColor"})),oc=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M2.3999 4V12H13.5999V4H2.3999ZM5.7359 10.8H3.5999V5.2H5.7359V10.8ZM9.0639 10.8H6.9359V5.2H9.0719V10.8H9.0639ZM12.3999 10.8H10.2639V5.2H12.3999V10.8Z",fill:"currentColor"})),ic=e=>Me.createElement("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.18519 10.4815H7.18116C7.31033 10.9089 7.50501 11.3078 7.7535 11.6667H2.18519C1.53333 11.6667 1 11.1333 1 10.4815V2.18519C1 1.53333 1.53333 1 2.18519 1H10.4815C11.1333 1 11.6667 1.53333 11.6667 2.18519V5.02017C11.5296 5.00683 11.3906 5 11.25 5C10.9876 5 10.7307 5.02378 10.4815 5.06931V2.18519H2.18519V10.4815ZM7.69316 6.92288C7.99945 6.45568 8.39531 6.05248 8.85633 5.73769H3.37044V6.92288H7.69316ZM7 9.25C7 8.8544 7.05405 8.47143 7.15517 8.10807H3.37044V9.29326H7.00022L7 9.25ZM3.37044 4.5525H9.29636V3.36731H3.37044V4.5525ZM11.6624 10.9695C12.5981 10.8087 13.2264 9.91979 13.0656 8.98403C12.9049 8.04827 12.016 7.42002 11.0802 7.58078C10.1444 7.74155 9.51618 8.63046 9.67695 9.56621C9.83771 10.502 10.7266 11.1302 11.6624 10.9695ZM11.8656 12.1521C11.9243 12.142 11.9824 12.1303 12.0396 12.1168L14.5611 15.5477L15.5281 14.8371L13.1449 11.5944C13.9785 10.9558 14.4384 9.88763 14.2483 8.78085C13.9753 7.19192 12.4659 6.12513 10.877 6.39811C9.28808 6.67109 8.22129 8.18047 8.49428 9.7694C8.76726 11.3583 10.2766 12.4251 11.8656 12.1521Z",fill:"currentColor"})),rc=({attachment:e,index:t,selectedAttachmentIndex:n,onSelectedAttachmentChange:s,showTabIcon:o,dataGridTitle:r})=>{const{titles:l}=we(),d=c.useRef(null),[a,u]=c.useState(""),[m,h]=c.useState(""),[f,p]=c.useState(!1),{onboardingFileSchema:g,isShowOnboarding:S}=Ye(),x=c.useCallback((C,w="")=>o?Il(C)||Kt(C)?i.jsx(ji,{className:w}):rt(C)||ft(C)?i.jsx(oc,{className:w}):Un(C)?i.jsx(ic,{className:w}):Ei(C)||Bn(C)?i.jsx(sc,{className:w}):null:null,[o]),v=c.useCallback(C=>rt(C)?r||"Data Grid":C.title,[r]);return c.useEffect(()=>{if(S&&Kt(e)){const{title:C,description:w}=at(Oe.CHARTS,l);u(C),h(w)}},[e,l,S]),c.useEffect(()=>{if(Kt(e)&&S){const C=g?.lastDisplayedElement===Oe.CHARTS;p(C),C&&d?.current?.scrollIntoView({block:"end",behavior:"smooth"})}},[g?.lastDisplayedElement,e,S]),i.jsxs("div",{ref:d,className:W("cursor-pointer min-w-30","flex items-center gap-1","attachment-tab",n===t?"attachment-tab-active text-primary":""),onClick:()=>s(t),children:[x(e,"w-4 h-4"),i.jsx("h4",{className:"max-w-[130px] truncate",title:v(e),children:v(e)}),f&&i.jsx(lt,{reference:d,title:a,description:m})]},e.index||t)},ac=({attachments:e,...t})=>i.jsx("div",{className:"attachments-tabs flex w-fit flex-wrap items-center",children:e.map((n,s)=>i.jsx(rc,{attachment:n,index:s,...t},s))}),lc=({attachments:e,selectedAttachmentIndex:t,selectedAttachment:n,attachmentsStyles:s,externalLink:o,isExternalLinkIncludeFilters:r,limitMessages:l,onSelectedAttachmentChange:d,onDownloadClick:a,hideDownloadButton:u,showAdvancedView:m,onOpenAdvancedView:h,isTableSettingsOpen:f,onTableSettingsOpen:p})=>{const{isTableSettingsFeatureEnabled:g}=Ge(),{isOpenedAdvancedView:S}=We(),{titles:x}=we(),{onboardingFileSchema:v,isShowOnboarding:C}=Ye(),w=c.useRef(null),[b,N]=c.useState(""),[T,M]=c.useState(""),[y,A]=c.useState(!1);c.useEffect(()=>{if(C){const{title:H,description:z}=at(Oe.OPEN_ADVANCED_VIEW,x);N(H),M(z)}},[x,C]),c.useEffect(()=>{if(C){const H=v?.lastDisplayedElement===Oe.OPEN_ADVANCED_VIEW;A(H),H&&w?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[v?.lastDisplayedElement,C]);const I=g&&!m&&!!p&&!!(n&&(rt(n)||ft(n))),j=!u&&!!n&&(rt(n)||ft(n)),L=!!m&&!S,K=S&&s?.hideDownloadIconInAdvancedView?void 0:s?.downloadIcon,k=!S&&s?.hideDownloadTextInConversationView?"":s?.downloadTitle??"";return i.jsxs("div",{className:"flex w-full min-w-0 items-center justify-between",children:[i.jsx(ac,{dataGridTitle:s?.dataGridTitle,attachments:e,selectedAttachmentIndex:t,showTabIcon:s?.showTabIcon,onSelectedAttachmentChange:d}),i.jsxs("div",{className:"attachments-buttons flex w-fit flex-wrap items-center justify-end gap-x-3",children:[n&&rt(n)&&r&&i.jsx("a",{href:o,target:"_blank",rel:"noreferrer",children:i.jsx(E.Button,{title:l?.dataExplorer||"Data explorer",buttonClassName:"text-button-tertiary small-icon-button [&>svg]:h-[16px] [&>svg]:w-[16px] whitespace-nowrap",iconBefore:l?.dataExplorerIcon})}),j&&i.jsx(E.Button,{title:k,buttonClassName:"text-button-tertiary small-icon-button !p-0 !h-6",textClassName:W("ml-1",s?.downloadButtonTextClassName),onClick:a,iconBefore:K}),j&&L&&i.jsx("span",{className:"advanced-view-button-divider","aria-hidden":"true"}),L&&i.jsx("div",{ref:w,children:i.jsx(E.Button,{title:s?.advancedViewTitle,buttonClassName:"advanced-view-button",textClassName:"ml-1 h4 md:hidden",iconBefore:s?.openAdvancedViewIcon,onClick:h})}),I&&i.jsx(E.Button,{disabled:f,buttonClassName:"text-button-tertiary !p-0 !h-6",textClassName:"ml-1 h4",iconBefore:s?.tableSettingsIcon??i.jsx(Be.IconSettings,{className:"size-4"}),title:s?.tableSettings||"Table settings",onClick:p}),n&&Bn(n)&&i.jsx(E.CopyButton,{title:s?.copyTitle,copiedTitle:s?.copiedTitle,tooltip:s?.copiedTooltip,hoverTooltip:s?.copyHoverTooltip,icon:s?.copyIcon,copiedIcon:s?.copiedIcon,onClick:()=>navigator.clipboard.writeText(n.data??"")})]}),y&&i.jsx(lt,{reference:w,title:b,description:T,onReferenceClick:h,shouldCloseTooltip:S})]})},cc=({downloadTitles:e,attachment:t,actions:n,className:s=""})=>{const o=t.url,[r,l]=c.useState(null);async function d(a){if(a==null)return;const u=await n.getFile(a);l(u)}return i.jsxs("div",{className:`rounded-lg border bg-white p-3 transition-colors ${s}`,children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("div",{className:"min-w-0 flex-1",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"body-2 truncate text-neutrals-800",title:t.title,children:t.title})})}),o&&i.jsx("div",{className:"shrink-0",children:i.jsx(E.Button,{title:e??"Download",onClick:()=>d(t.url),buttonClassName:"text-button-tertiary"})})]}),r&&i.jsx("div",{className:"mt-3",children:i.jsx("pre",{className:"overflow-x-auto rounded-md bg-white p-3",children:i.jsx("code",{children:JSON.stringify(r,null,2)})})})]})},Ri="json";function dc(e){return mc(e)?uc(e?.slice(Ri.length)):e}function uc(e){let t="";if(e)try{t=JSON.stringify(JSON.parse(e),null,2)}catch{t=e.toString()}return t}function mc(e){return e?.startsWith(Ri)||!1}const fc=({attachment:e,className:t=""})=>{const n=dc(e.data);return n?i.jsxs("div",{className:`attachment-json rounded-lg border bg-white ${t}`,children:[i.jsx("div",{className:"flex items-center justify-between rounded-t-lg border-b border-neutrals-200 bg-neutrals-100 px-3 py-2",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("h3",{className:"text-neutrals-900",children:e.title})})}),i.jsx("div",{className:"p-3",children:i.jsx("pre",{className:"max-h-96 overflow-auto whitespace-pre-wrap break-words text-neutrals-800",children:i.jsx("code",{children:n})})})]}):null},hc=e=>{try{const t=new URL(e);return["http:","https:","data:"].includes(t.protocol)}catch{return!1}},pc=e=>hc(e)?e:"",gc=e=>Me.createElement("svg",{width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M11.3333 4.66667H8.66659V6.00001H11.3333C12.4333 6.00001 13.3333 6.9 13.3333 8C13.3333 9.1 12.4333 10 11.3333 10H8.66659V11.3333H11.3333C13.1733 11.3333 14.6666 9.84 14.6666 8C14.6666 6.16 13.1733 4.66667 11.3333 4.66667ZM7.33325 10H4.66659C3.56659 10 2.66659 9.1 2.66659 8C2.66659 6.9 3.56659 6.00001 4.66659 6.00001H7.33325V4.66667H4.66659C2.82659 4.66667 1.33325 6.16 1.33325 8C1.33325 9.84 2.82659 11.3333 4.66659 11.3333H7.33325V10ZM5.33325 7.33334H10.6666V8.66667H5.33325V7.33334Z",fill:"currentColor"})),Cc=({attachment:e,openLinkTitle:t,className:n=""})=>{const s=pc(e.data||"");if(!s)return null;const o=r=>{window.open(r,"_blank")?.focus()};return i.jsx("div",{className:`max-w-[500px] rounded-lg border bg-white py-3 pl-4 pr-3 ${n}`,children:i.jsxs("div",{className:"flex items-start gap-2",children:[i.jsx("span",{className:"mt-1 shrink-0 text-hues-800",role:"img","aria-label":"Link",children:i.jsx(gc,{width:16,height:16})}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsx("div",{className:"mb-1",children:i.jsx(E.Link,{url:s,title:e.title})}),i.jsx("div",{className:"truncate break-all text-neutrals-600",children:s})]}),i.jsx("div",{className:"shrink-0",children:i.jsx(E.Button,{title:t??"Open link",onClick:()=>o(s),buttonClassName:"text-button-tertiary"})})]})})},Li=({dimensionsInfo:e})=>i.jsx("div",{className:"sidebar flex min-h-0 w-[176px] flex-col gap-3 overflow-auto",children:e.map(t=>i.jsxs("div",{className:"flex flex-col",children:[i.jsx("h5",{className:"text-neutrals-800",children:t.title}),i.jsx("h5",{className:"font-bold",children:t.value})]},t.title))}),xc=({chart:e,isOpen:t,onClose:n,datasetTitle:s})=>{const{titles:o}=we(),[r,l]=c.useState(E.PopUpState.Closed);c.useEffect(()=>{l(t?E.PopUpState.Opened:E.PopUpState.Closed)},[t]);const d=c.useCallback(()=>{l(E.PopUpState.Closed),n?.()},[n]);return i.jsx(i.Fragment,{children:r===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:i.jsx("h1",{className:"single-chart-popup-heading",children:o?.chart??"Chart"}),containerClassName:"single-chart-popup h-[80%]",portalId:"single-chart",size:E.PopUpSize.LG,dividers:!1,onClose:d,closeButtonTitle:o?.close??"Close",children:[i.jsxs("div",{className:"single-chart-popup-content flex h-full min-h-0 flex-1 flex-row gap-4",children:[i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[s&&i.jsxs("div",{className:"mb-2 flex items-center gap-1",children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-1000"}),i.jsx("h4",{className:"text-neutrals-1000",children:s})]}),i.jsx(Ws,{option:e.config,className:"size-full",style:{width:"100%",height:"100%"}})]}),i.jsx(Li,{dimensionsInfo:e.dimensions})]}),i.jsx("div",{})]})})},Gn=e=>{const{titles:t}=we(),[n,s]=c.useState(!1),[o,r]=c.useState(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye(),{isCrossDatasetModeOn:S}=Ge(),[x,v]=c.useState(!1),C=c.useMemo(()=>Sc(e.value),[e.value]),w=c.useCallback(()=>{r(N=>N??C),s(!0)},[C]),b=c.useCallback(()=>{s(!1),v(!0)},[]);return c.useEffect(()=>{if(g){const{title:N,description:T}=at(Oe.CHART_PER_SERIES,t);a(N),m(T)}},[t,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Oe.CHART_PER_SERIES&&e.node.rowIndex===0)},[p?.lastDisplayedElement,e.node.rowIndex,g]),c.useEffect(()=>{r(void 0)},[e.value]),C&&!C.isPlottable?null:i.jsxs(i.Fragment,{children:[i.jsx("div",{ref:l,children:i.jsx(E.IconButton,{title:t?.chart??"Chart",buttonClassName:"!text-neutrals-1000 !border-none !p-1",icon:i.jsx(ji,{className:"size-5"}),onClick:w})}),h&&i.jsx(lt,{reference:l,title:d,description:u,onReferenceClick:w,shouldCloseTooltip:x}),n&&o&&i.jsx(xc,{chart:o,isOpen:n,onClose:b,datasetTitle:S?e.data?.datasetTitle??void 0:void 0})]})};function Sc(e){return typeof e=="function"?e():e}const Lt=32,an=32,vc=16,ht="padding-0",Dt=200,St={flex:1,minWidth:Dt},wc=Lt,ln="observationValueCell",cn="metadataCell",Fi="chartCell",Pi="mergedDimensionCell",_i="datasetDetailCell",At="Chart_column",bc=(e,t,n,s,o,r)=>({headerName:"",suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ht,cellRenderer:cn,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,metadataSettings:s,titles:o,action:r}});function Vi(e,t,n,s=wc,o,r){return{headerName:"",field:At,colId:At,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:"right",width:s,maxWidth:s,minWidth:s,cellClass:ht,suppressColumnsToolPanel:!0,cellRenderer:Gn,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,titles:o,action:r}}}function Dc(e,t,n,s){return{headerName:"",suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ht,cellRenderer:cn,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:s}}}const In=["index","value"],yc=e=>({columns:Mc(e),data:Ec(e)}),Ec=e=>{const t=e.metadata.time_column,n={};for(const s of e.data.data){const{value:o,...r}=s,l=Tc(s,t);n[l]={...n[l]||{},...r,[s[t]]:o}}return Object.values(n)},Tc=(e,t)=>Object.keys(e).filter(n=>!In.includes(n)&&n!==t).map(n=>e[n]).join("."),Mc=e=>{const{metadata:t,data:n}=e,s=t.time_column,o=t.pinned_columns||[],r=n.schema.fields,l=[],d=n.data.map(f=>f[s]),u=Array.from(new Set(d)).filter(f=>f!=null).map(f=>({field:f,colId:f,headerName:f,cellClass:"text-right",width:Dt})),m=o.map(f=>r.find(p=>p.name===f)).filter(f=>f!=null),h=r.filter(f=>!o.includes(f.name)).filter(f=>f!=null);if(m.length>0)for(const f of[...m])f.name===s||In.includes(f.name)||l.push({colId:f.name,field:f.name,headerName:f.name,pinned:"left",...St,tooltipValueGetter:p=>p.value});for(const f of[...h])f.name===s||In.includes(f.name)||l.push({colId:f.name,field:f.name,headerName:f.name,pinned:!1,...St,tooltipValueGetter:p=>p.value});return l.push(...u),l},zn=e=>e*an+Lt+vc,Nc=({attachment:e,actions:t,className:n="",showLimitMessage:s})=>{const[o,r]=c.useState(!1),[l,d]=c.useState([]),[a,u]=c.useState(),[m,h]=c.useState(400);c.useEffect(()=>{e.url!=null&&(r(!0),t.getFile(e.url).then(p=>{if(p==null){d([]),u([]),r(!1);return}const{columns:g,data:S}=yc(p);d(S),u(g),r(!1)}))},[e.url,t]),c.useEffect(()=>{l?(h(zn(l.length)),s?.(l.length>=E.SERIES_LIMIT)):s?.(!1)},[l,s]);const f=c.useMemo(()=>i.jsx(Rn.AgGridReact,{headerHeight:Lt,rowHeight:an,rowData:l,columnDefs:a,enableCellTextSelection:!0,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",autoSizeStrategy:{type:a&&a?.length>5?"fitCellContents":"fitGridWidth"}}),[l,a]);return o?i.jsx(E.Loader,{}):i.jsx("div",{className:`w-full ${n}`,children:i.jsx("div",{className:"ag-theme-quartz max-h-[400px] min-h-[80px] w-full",style:{height:m},children:f})})},Oi=e=>Me.createElement("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e},Me.createElement("path",{d:"M7.4665 6.39967H8.53317V5.33301H7.4665V6.39967ZM7.4665 10.6663H8.53317V7.46634H7.4665V10.6663ZM7.9945 13.333C5.0505 13.333 2.6665 10.9437 2.6665 7.99967C2.6665 5.05567 5.0505 2.66634 7.9945 2.66634C10.9438 2.66634 13.3332 5.05567 13.3332 7.99967C13.3332 10.9437 10.9438 13.333 7.9945 13.333ZM7.99984 3.73301C5.6425 3.73301 3.73317 5.64234 3.73317 7.99967C3.73317 10.357 5.6425 12.2663 7.99984 12.2663C10.3572 12.2663 12.2665 10.357 12.2665 7.99967C12.2665 5.64234 10.3572 3.73301 7.99984 3.73301Z",fill:"currentColor"})),Ic=({title:e,value:t})=>{const n=c.useCallback(()=>Array.isArray(t)?t.join(", "):t,[t]);return i.jsxs("div",{className:"body-3 flex gap-x-3",children:[i.jsxs("p",{title:e,className:"text-neutrals-800",children:[e,":"]}),i.jsx("p",{title:n(),className:"truncate pr-3 font-semibold",children:n()})]})};function ki(e){const t=c.useRef(null),[n,s]=c.useState(!1),[o,r]=c.useState(!1),l=c.useCallback(()=>{const a=t.current;a&&r(a.scrollHeight>a.offsetHeight)},[]);c.useEffect(()=>{if(n)return;l();const a=t.current;if(!a||typeof ResizeObserver>"u")return;const u=new ResizeObserver(()=>l());return u.observe(a),()=>u.disconnect()},[n,e,l]);const d=c.useCallback(()=>s(a=>!a),[]);return{valueRef:t,isExpanded:n,canToggle:o,toggle:d}}const Ui=({isExpanded:e,onToggle:t,title:n})=>i.jsx(E.IconButton,{title:n,buttonClassName:W("border-none p-0 w-6 h-6 shrink-0",e&&"rotate-[180deg]"),isBaseIconStyles:!1,icon:i.jsx(Fn,{width:24,height:24}),onClick:t}),Ac=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:s,locale:o})=>{const r=c.useMemo(()=>Array.isArray(t)?t?.map(m=>typeof m=="object"?m?.[o]:m)?.join(", "):t,[o,t]),{valueRef:l,isExpanded:d,canToggle:a,toggle:u}=ki(r);return i.jsxs("div",{className:"metadata-item",children:[!s&&n?.map(m=>i.jsx("div",{title:m,className:"metadata-item-key mb-1 pr-3 text-neutrals-800",children:m},m)),i.jsxs("div",{className:W("flex items-center",a&&"justify-between"),children:[i.jsx("h2",{title:e,className:"metadata-item-title",children:e}),a&&i.jsx(Ui,{isExpanded:d,onToggle:u})]}),i.jsx("p",{title:r,className:W("metadata-item-value pr-3",!d&&"line-clamp-4"),ref:l,children:r})]})},jc=({metadata:e,metadataDescription:t=[],locale:n})=>{const{titles:s}=we();return i.jsxs("div",{className:"metadata-content h-full overflow-hidden",children:[t?.length>0&&i.jsx("div",{className:"metadata-description",children:t?.map(o=>i.jsx(Ic,{title:o?.title,value:o?.value},o?.title))}),i.jsx("div",{className:"metadata-list h-full overflow-y-auto",children:e&&e?.length>0?e?.map(o=>i.jsx(Ac,{title:o?.title,value:o?.value,locale:n,attachedKeysTitles:o?.attachedKeysTitles,isDimensionGroup:o?.isDimensionGroup},o?.id||o?.title)):i.jsx("div",{className:"metadata-empty flex h-full items-center justify-center text-neutrals-700",children:s?.noMetadata||"No metadata"})})]})},$n=({metadata:e,metadataDescription:t=[],isOpenMetadata:n,onCloseMetadata:s,locale:o})=>{const{titles:r}=we(),[l,d]=c.useState(E.PopUpState.Closed);c.useEffect(()=>{d(n?E.PopUpState.Opened:E.PopUpState.Closed)},[n]);const a=c.useCallback(()=>{d(E.PopUpState.Closed),s?.()},[s]);return i.jsx(i.Fragment,{children:l===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:i.jsx("h1",{className:"metadata-heading",children:r?.metadata||"Metadata"}),containerClassName:"metadata h-[80%]",portalId:"metadata",size:E.PopUpSize.LG,dividers:!1,onClose:a,closeButtonTitle:r?.close||"Close",children:[i.jsx(jc,{locale:o,metadata:e,metadataDescription:t}),i.jsx("div",{})]})})},it={dataset:"dataset",agency:"agency",lastUpdated:"lastUpdated"},Rc=({dataset:e,agency:t,lastUpdated:n,externalLink:s,formatValue:o})=>i.jsxs("div",{className:"mb-6 flex flex-col gap-2",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Be.IconDatabase,{className:"size-4 text-neutrals-700"}),i.jsx("p",{className:"h4 break-words text-neutrals-1000",children:o(e?.value)}),s&&i.jsx("a",{href:s,target:"_blank",rel:"noopener noreferrer",children:i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})})]}),t&&i.jsxs("div",{className:"body-3 flex gap-1",children:[i.jsxs("span",{className:"text-neutrals-800",children:[t?.title,":"]}),i.jsx("span",{className:"break-words text-neutrals-1000",children:o(t?.value)})]}),n&&i.jsxs("div",{className:"body-3 flex gap-1",children:[i.jsxs("span",{className:"text-neutrals-800",children:[n?.title,":"]}),i.jsx("span",{className:"break-words text-neutrals-1000",children:o(n?.value)})]})]}),Lc=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:s})=>{const{valueRef:o,isExpanded:r,canToggle:l,toggle:d}=ki(t);return i.jsxs("div",{className:"flex flex-col gap-1",children:[!s&&n?.map((a,u)=>i.jsx("div",{title:a,className:"body-3 text-neutrals-800",children:a},`${a}-${u}`)),i.jsxs("div",{className:"flex items-center justify-between gap-2 pr-2",children:[i.jsx("p",{title:e,className:"body-3 text-neutrals-800",children:e}),l&&i.jsx(Ui,{isExpanded:r,onToggle:d})]}),i.jsx("p",{ref:o,title:t,className:W("body-2 break-words text-neutrals-1000",!r&&"line-clamp-4"),children:t})]})},Fc=new Set(Object.values(it)),Pc=", ",Ft=({metadata:e,metadataDescription:t=[],datasetInfo:n,externalLink:s,locale:o})=>{const{titles:r}=we(),l=c.useCallback(p=>Array.isArray(p)?p.map(g=>typeof g=="object"?g?.[o]??"":g).join(Pc):typeof p=="object"&&p!==null?p?.[o]??"":p??"",[o]),{dataset:d,agency:a,lastUpdated:u,hasStructuredDatasetInfo:m}=c.useMemo(()=>{const p=t.find(w=>w?.id===it.dataset),g=t.find(w=>w?.id===it.agency),S=t.find(w=>w?.id===it.lastUpdated),x=n?.dataset||p,v=n?.agency||g,C=n?.lastUpdated||S;return{dataset:x,agency:v,lastUpdated:C,hasStructuredDatasetInfo:!!x}},[n,t]),h=c.useMemo(()=>m?t.filter(p=>!p?.id||!Fc.has(p.id)):t,[m,t]),f=m||h.length>0||!!e?.length;return i.jsx("div",{className:"flex h-full flex-col overflow-hidden px-5 pb-4",children:f?i.jsxs(i.Fragment,{children:[m&&d&&i.jsx(Rc,{dataset:d,agency:a,lastUpdated:u,externalLink:s,formatValue:l}),h.length>0&&i.jsx("div",{className:"mb-4 flex flex-col gap-2",children:h.map((p,g)=>i.jsxs("div",{className:"body-3 flex gap-2",children:[i.jsxs("span",{className:"shrink-0 text-neutrals-800",children:[p?.title||p?.id,":"]}),i.jsx("span",{className:"min-w-0 truncate font-semibold text-neutrals-1000",children:l(p?.value)})]},`${p?.id||p?.title}-${g}`))}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:i.jsx("div",{className:"flex flex-col gap-4",children:e?.map(p=>i.jsx(Lc,{title:p?.title||p?.id,value:l(p?.value),attachedKeysTitles:p?.attachedKeysTitles,isDimensionGroup:p?.isDimensionGroup},p?.id||p?.title))})})]}):i.jsx("div",{className:"body-3 flex h-full items-center justify-center text-neutrals-700",children:r?.noMetadata||"No metadata"})})};function dn(e,t){const{externalLink:n,externalLinksMap:s}=e??{};return t!=null&&s!=null?s.get(t):n}const _c=e=>e?.data[e?.colDef?.field||0]?.obsAttributes,Vc=e=>e?.data?.attributes,Hi=(e,t)=>Object.entries(e?.data).filter(([n])=>t?.get(n)).map(([n,s])=>({name:n,value:String(s)})),Ms=(e,t,n)=>{const s=typeof e=="object"?e?.[t]:e;return n?D.getLocalizedName(n?.codes?.find(o=>o?.id===e),t)||"":s},jt=(e,t,n)=>e?.map(s=>{const o=s?.name||"",r=t?.get(o),l=r?.codes?.length?r:void 0,d=Array.isArray(s?.value)?s?.value.map(a=>Ms(a,n,l)):Ms(s?.value,n,l);return{id:D.getLocalizedName(l,n)||s?.name,title:D.getLocalizedName(l||r,n),value:d||s?.value}})||[],Pt=(e,t,n)=>({title:n?.dataset||"Dataset",value:D.getLocalizedName(e,t)}),Oc=(e,t,n,s)=>[{...Pt(e,n,s),id:it.dataset},{id:it.agency,title:s?.agency??"Agency",value:e?.agencyID},{id:it.lastUpdated,title:s?.lastUpdated??"Last updated",value:t}],_t=(e,t,n,s)=>({dataset:e?{...Pt(e,n,s),id:it.dataset}:void 0,agency:e?{id:it.agency,title:s?.agency??"Agency",value:e?.agencyID}:void 0,lastUpdated:e?{id:it.lastUpdated,title:s?.lastUpdated??"Last updated",value:t}:void 0}),Bi=(e,t,n)=>({title:D.getDimensionTitle(e?.conceptSchemes,D.getDimensions(e)?.timeDimensions?.[0],t),value:n?.colId||""}),Gi=(e,t)=>({title:t?.observation||"Observation",value:e}),zi=(e,t,n,s,o,r)=>{const l={title:s?.timeSeries||"Time Series",value:r?.originalData?.name};return n?[Bi(e,t,o),l,Gi(n,s)]:[l]},$i=e=>{const t=e?.dataSets?.[0]?.attributes||[],n=e?.structures?.[0]?.attributes?.dataSet||[];return t?.length?n.reduce((s,o,r)=>{const l=t[r];if(l==null)return s;if(o?.values?.length>0){const d=o.values[l];s.push(d?{...o,values:[d]}:{...o})}else Array.isArray(l)?s.push({...o,values:[{values:l}]}):s.push({...o,values:[{value:l}]});return s},[]):n},Ns=(e,t)=>{if(e==null)return;if(typeof e!="object")return String(e);const n=e,s=n[t];if(typeof s=="string")return s;const o=Object.values(n).find(r=>typeof r=="string");return typeof o=="string"?o:void 0},Wi=(e,t,n)=>e?.map(s=>{const o=s?.id,r=s?.values?.[0]?.value,l=(typeof r=="object"?Ns(r,n):r)||s?.values?.[0]?.id,d=s?.values?.[0]?.ids||s?.values?.[0]?.values,a=t?.get(o),u=a?.codes?.length?a:void 0,m=D.getLocalizedName(u?.codes?.find(f=>f?.id===l),n)||D.getLocalizedName(s?.values?.[0],n)||l,h=d&&d.map(f=>{const p=typeof f=="object"?Ns(f,n):String(f);return D.getLocalizedName(u?.codes?.find(g=>g?.id===p),n)||p}).filter(f=>f!=null);return{id:o,title:D.getLocalizedName(a,n)||o,value:h?.length?h:m}}).filter(({value:s})=>!!s)||[],kc=(e,t)=>{const n=e?.dataSets?.[0],o=e?.structures?.[0]?.attributes?.dimensionGroup||[],r=n?.dimensionGroupAttributes;return new Map(o.map(l=>{const d=l?.relationship?.dimensions,{codedSeriesKey:a,decodedSeriesKey:u}=Uc(e,t,d);return[l.id,{values:r?.[a]||[],decodedSeriesKey:u,codedSeriesKey:a}]}))},Uc=(e,t,n)=>{const s=e?.structures?.[0],o=[...s?.dimensions.series||[],...s?.dimensions.observation||[]],r=new Array(o?.length)?.fill(""),l=new Array(o?.length)?.fill("");return n&&n?.forEach(d=>{const a=o?.findIndex(h=>h?.id===d)||0,u=t[a],m=o[a]?.values?.findIndex(h=>h?.id===u||h?.value===u)||0;r[a]=m>=0?m:u,l[a]=u}),{codedSeriesKey:r?.join(":"),decodedSeriesKey:l?.join(":")}},Hc=(e,t)=>{if(t==null)return;const n=e?.values?.[t],s=typeof t=="object"&&!Array.isArray(t),o=Array.isArray(t);return n||(s||o?{values:t}:{value:t?.toString()})},Bc=e=>{const t=e?.value||e?.id,n=e?.values||e?.ids;return t!=null?[t]:n||[null]},Ki=(e,t,n)=>t==null?t:n?.get(e||"")?.codes?.find(o=>o?.id===t)?.name||t,Gc=(e,t,n,s=X.Locale.EN)=>{const o=n?.dataStructureComponents?.dimensionList,r=[...o?.dimensions||[],...o?.timeDimensions||[]],l=[];return(e?.split(":")||[])?.forEach((a,u)=>{if(a!==""){const m=r?.[u]?.id||"",h=D.getLocalizedName(t?.get(m),s),f=Ki(m,a,t);l.push(`${h}: ${f}`)}}),l},zc=(e,t,n,s,o=X.Locale.EN)=>{if(!e||!t||!s)return[];const r=e?.structures?.[0]?.attributes?.dimensionGroup||[],l=kc(e,s);return r?.map((d,a)=>{const u=l?.get(d?.id),m=n?.get(d?.id),h=Bc(Hc(d,u?.values?.[a]));return{id:d?.id,title:D.getLocalizedName(m,o),value:Array.isArray(h)?h?.map(f=>Ki(d?.id,f,n)||""):h,attachedKeysTitles:Gc(u?.decodedSeriesKey,n,t),isDimensionGroup:!0}})?.filter(({value:d})=>d?.some(a=>!!a))||[]},$c=Tr.extendTailwindMerge({extend:{classGroups:{typography:["h1","h2","h3","h4","h5","body-1","body-2","body-3","caption"]}}});function Ze(...e){return $c(W(...e))}function Wc({title:e,headerExtension:t,headerClassName:n,onClose:s,bodyClassName:o,panelClassName:r,children:l}){return i.jsxs("div",{className:Ze("h-full w-[362px] bg-white border-l border-neutrals-500 flex flex-col overflow-hidden",r),children:[i.jsxs("div",{className:Ze("flex justify-between px-5 py-6",n),children:[i.jsx("div",{className:"h2 text-neutrals-1000",children:e}),i.jsxs("div",{className:"flex items-center gap-2",children:[t,t&&i.jsx("div",{className:"h-3 w-px bg-neutrals-600"}),i.jsx("button",{type:"button",onClick:s,children:i.jsx(Be.IconX,{className:"size-5 text-neutrals-1000"})})]})]}),i.jsx("div",{className:Ze("flex-1 min-h-0 overflow-hidden",o),children:l})]})}const Yi=c.createContext(null);function Kc({children:e}){const[t,n]=c.useState(null),s=c.useCallback(d=>{n(d)},[]),o=c.useCallback(()=>{n(null)},[]),r=c.useCallback(d=>d?t?.id===d:t!==null,[t]),l=c.useMemo(()=>({panel:t,openPanel:s,closePanel:o,isPanelOpen:r}),[t,s,o,r]);return i.jsx(Yi.Provider,{value:l,children:e})}function qi(){return c.useContext(Yi)}function pt(){const e=qi();if(!e)return null;const{openPanel:t,closePanel:n,isPanelOpen:s}=e;return{openPanel:t,closePanel:n,isPanelOpen:s}}function Zi({scope:e}){const t=qi();if(!t)return null;const{panel:n,closePanel:s}=t;if(!n)return null;const o=n.scope??"any";return o!=="any"&&o!==e?null:i.jsx(Wc,{title:n.title,headerExtension:n.headerExtension,headerClassName:n.headerClassName,onClose:s,bodyClassName:n.bodyClassName,panelClassName:n.panelClassName,children:n.content})}const Yc={},qc={},Zc={map:Yc,getDimensionsMetadata:()=>{},getDimensionMetadata:()=>{},getRegionDimension:()=>{},getFrequencyDimension:()=>{},getIndicatorDimensions:()=>[],getDimensionsScheme:()=>{},getDatasetLastUpdated:e=>D.getLastUpdatedTime(e)},Wn=c.createContext(Zc);function Xc({map:e,lastUpdatedMap:t=qc,children:n}){const s=c.useMemo(()=>{const o={},r={},l={},d=Object.keys(e);for(const a of d){o[a]={},r[a]={};const u=Object.keys(e[a]);for(const m of u){const h=e[a][m];h.subtype&&(o[a][h.subtype]=m),r[a][h.dimensionType]||(r[a][h.dimensionType]=[]),r[a][h.dimensionType].push(m)}l[a]={timePeriod:r[a]?.TIME_PERIOD?.[0]??void 0,frequency:o[a]?.FREQUENCY??void 0,region:o[a]?.REGION??void 0,indicators:r[a]?.INDICATOR??[],other:(r[a]?.NON_INDICATOR??[]).filter(m=>{const h=e[a][m];return h.subtype!=="FREQUENCY"&&h.subtype!=="REGION"})}}return{map:e,getDimensionsMetadata:a=>e[a],getDimensionMetadata:(a,u)=>e[a]?.[u],getRegionDimension:a=>o[a]?.REGION,getFrequencyDimension:a=>o[a]?.FREQUENCY,getIndicatorDimensions:a=>r[a]?.INDICATOR??[],getDimensionsScheme:a=>l[a],getDatasetLastUpdated:a=>{if(!a)return;const u=D.generateShortUrn(a.id,a.version,a.agencyID);return t[u]||D.getLastUpdatedTime(a)}}},[e,t]);return i.jsx(Wn.Provider,{value:s,children:n})}function ct(){return c.useContext(Wn)}function un(){return c.useContext(Wn)}const Jc=e=>e===X.Locale.UK?"dd MMM, yyyy":" MMM dd, yyyy hh:mm aa",Vt=(e,t)=>{const n=Jc(t);return e!=null&&e!==""&&n&&es.isValid(new Date(e))?es.format(new Date(e),n,t===X.Locale.UK?{locale:Mr.uk}:void 0):""},Xi=e=>{const{titles:t}=we(),n="grid-metadata-side-panel",[s,o]=c.useState(!1),r=c.useRef(null),[l,d]=c.useState(""),[a,u]=c.useState(""),[m,h]=c.useState(!1),{onboardingFileSchema:f,isShowOnboarding:p}=Ye(),{isOpenedAdvancedView:g}=We(),S=pt(),{isMetadataInSidePanel:x}=Ge(),{getDatasetLastUpdated:v}=ct(),[C,w]=c.useState(!1),b=e?.data?.dataset?.urn,N=dn(e?.context,b),T=c.useMemo(()=>e.structuresMap?b!=null?e.structuresMap.get(b):void 0:e.dataSetData,[e.structuresMap,b,e.dataSetData]),M=c.useMemo(()=>e.attributesDataMap?b!=null?e.attributesDataMap.get(b):void 0:e.attributesData,[e.attributesDataMap,b,e.attributesData]),y=c.useMemo(()=>D.getStructureComponentsMap(T),[T]),A=c.useMemo(()=>[Pt(T?.dataflows?.[0],e?.locale,t),...jt(Hi(e,y),y,e?.locale),...jt(Vc(e),y,e?.locale),...zc(M,T?.dataStructures?.[0],y,e?.data?.originalData?.parsedTimeSeriesValue,e?.locale)],[e,T,M,y,t]),I=c.useMemo(()=>zi(T,e?.locale,e?.valueFormatted||e?.value,t,e?.colDef,e?.data),[e,T,t]),j=c.useMemo(()=>{const k=T?.dataflows?.[0],H=Vt(v(k),e?.locale);return _t(k,H,e?.locale,t)},[T,e?.locale,t,v]),L=c.useCallback(()=>{if(x&&S){S.openPanel({id:n,scope:g?"advanced":"conversation",title:t?.timeseriesMetadataPanel||"Timeseries Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e?.locale,metadata:A,datasetInfo:j,externalLink:N,metadataDescription:e?.metadataSettings?.isMetadataDescription?I:[]})}),w(!0);return}o(!0)},[x,g,A,I,j,N,e?.locale,e?.metadataSettings?.isMetadataDescription,t,S]),K=c.useCallback(()=>{o(!1),w(!0)},[]);return c.useEffect(()=>{if(p){const{title:k,description:H}=at(Oe.METADATA_PER_SERIES,t);d(k),u(H)}},[t,p]),c.useEffect(()=>{if(p){const k=f?.lastDisplayedElement===Oe.METADATA_PER_SERIES&&e.node.rowIndex===0;h(k),k&&setTimeout(()=>{r?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[f?.lastDisplayedElement,e.node.rowIndex,p]),i.jsxs(i.Fragment,{children:[i.jsx("div",{ref:r,children:i.jsx(E.IconButton,{title:t?.metadata||"View details",buttonClassName:"!text-neutrals-1000 !border-none !p-1",icon:i.jsx(Oi,{className:"size-5"}),onClick:L})}),m&&i.jsx(lt,{reference:r,title:l,description:a,onReferenceClick:L,shouldCloseTooltip:C}),s&&i.jsx($n,{locale:e?.locale,metadata:A,metadataDescription:e?.metadataSettings?.isMetadataDescription?I:[],isOpenMetadata:s,onCloseMetadata:K})]})},Qc=(e,t,n=D.getLastUpdatedTime)=>{const s=ed(e),o=D.getStructureComponentsMap(s),r=e?.valueFormatted||e?.value,l=jt(t,o,e?.locale),d=[Pt(s?.dataflows?.[0],e?.locale,e?.titles),...jt(Hi(e,o),o,e?.locale),...e?.metadataSettings?.isMetadataDescription?[]:[Bi(s,e?.locale,e?.colDef),Gi(r,e?.titles)],...l],a=e?.metadataSettings?.isMetadataDescription?zi(s,e?.locale,r,e?.titles,e?.colDef,e?.data):[],u=s?.dataflows?.[0],m=Vt(n(u),e?.locale),h=_t(u,m,e?.locale,e?.titles);return{metadata:d,metadataDescription:a,sidePanelDatasetInfo:h}},ed=e=>{if(e.structuresMap){const t=e?.data?.dataset?.urn;return t!=null?e.structuresMap.get(t):void 0}return e.dataSetData},td="observation-metadata-side-panel",nd=({params:e,obsAttributes:t})=>{const{titles:n}=we(),[s,o]=c.useState(null),{isOpenedAdvancedView:r}=We(),l=pt(),{isMetadataInSidePanel:d}=Ge(),{getDatasetLastUpdated:a}=ct(),u=e?.data?.dataset?.urn,m=dn(e?.context,u),h=c.useCallback(()=>{const p=Qc(e,t,a);if(d&&l){l.openPanel({id:td,scope:r?"advanced":"conversation",title:n?.metadata||"Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e?.locale,metadata:p.metadata,datasetInfo:p.sidePanelDatasetInfo,externalLink:m,metadataDescription:p.metadataDescription})});return}o(p)},[d,r,m,t,e,l,n,a]),f=c.useCallback(()=>{o(null)},[]);return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"relative size-full p-2 text-end",children:[e?.valueFormatted||e?.value,i.jsx("div",{className:"metadata-indicator",title:n?.metadata||"View details",onClick:h})]}),s&&i.jsx($n,{locale:e?.locale,metadata:s.metadata,metadataDescription:s.metadataDescription,isOpenMetadata:!0,onCloseMetadata:f})]})},Ji=e=>{const t=_c(e);return t?.length?i.jsx(nd,{params:e,obsAttributes:t}):i.jsx("div",{className:"relative size-full p-2 text-end",children:e?.valueFormatted||e?.value})},Qi=({ref:e,fixHeight:t,gridHeight:n,children:s})=>i.jsx("div",{ref:e,className:W("ag-theme-quartz w-full min-h-[80px]",t?"max-h-[400px]":"max-h-full"),style:{height:n},children:s}),sd=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:s,externalLink:o,showLimitMessage:r,onApiReady:l})=>{const{titles:d}=we(),[a,u]=c.useState(!1),[m,h]=c.useState([]),[f,p]=c.useState(),[g,S]=c.useState(400),x=c.useRef(null),[v,C]=c.useState(""),[w,b]=c.useState(""),[N,T]=c.useState(!1),{isShowOnboarding:M,onboardingFileSchema:y,setOnboardingFileSchema:A}=Ye();c.useEffect(()=>{if(e.grid_data==null)u(!0);else{const k=e.grid_data.columns.map(H=>H.colId===At?{...H,hide:!n}:H);h(e.grid_data.data),p(k),u(!1)}},[e.grid_data,n]),c.useEffect(()=>{m?(S(zn(m.length)),r?.(m.length>=E.SERIES_LIMIT)):r?.(!1)},[m,r]),c.useEffect(()=>{if(M){const{title:k,description:H}=at(Oe.DATA_GRID,d);C(k),b(H)}},[d,M]),c.useEffect(()=>{y&&!y?.infoElements?.dataGrid&&A?.({...y,infoElements:{...y?.infoElements,dataGrid:!0},lastDisplayedElement:Oe.DATA_GRID})},[y,A]),c.useEffect(()=>{if(M){const k=y?.lastDisplayedElement===Oe.DATA_GRID;T(k),!a&&!t&&k&&setTimeout(()=>{x?.current?.scrollIntoView({block:"end",behavior:"smooth"})})}},[y?.lastDisplayedElement,M,t,a]);const I=c.useCallback(k=>{l?.(k.api)},[l]),j=c.useMemo(()=>({externalLink:o}),[o]),L=c.useMemo(()=>({[cn]:Xi,[ln]:Ji,[Fi]:Gn}),[]),K=c.useMemo(()=>i.jsx(Rn.AgGridReact,{onGridReady:I,headerHeight:Lt,rowHeight:an,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:j,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:L,valueCache:!0}),[m,f,I,j,L]);return a||t?i.jsx(E.Loader,{}):i.jsxs("div",{className:"size-full",children:[i.jsx(Qi,{ref:x,fixHeight:s,gridHeight:g,children:K}),N&&i.jsx(lt,{reference:x,title:v,description:w,supressReferenceClick:!0})]})};function Rt(e){if(typeof window>"u")return e(),()=>{};let t;const n=window.requestAnimationFrame(()=>{t=window.setTimeout(e,0)});return()=>{window.cancelAnimationFrame(n),t!=null&&window.clearTimeout(t)}}const od=200,id=8,rd=2,ad=({currentIndex:e,totalCount:t,icons:n,onPrev:s,onNext:o})=>{const{titles:r}=we(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye();c.useEffect(()=>{if(g){const{title:C,description:w}=at(Oe.CHARTS_NAVIGATION,r);a(C),m(w)}},[r,g]),c.useEffect(()=>{if(g){const C=p?.lastDisplayedElement===Oe.CHARTS_NAVIGATION;f(C),C&&l?.current?.scrollIntoView({block:"center",behavior:"smooth"})}},[p?.lastDisplayedElement,g]);const S=t>0?e/t*100:0,x=t>0?Math.min(id*t,od):0,v=t>0?Math.max(x/t,rd):0;return i.jsxs("div",{className:"flex w-full flex-row items-center justify-center gap-2",children:[i.jsx("div",{className:W("h-[20px] w-[20px] cursor-pointer",e===0?"text-neutrals-700":"text-primary"),onClick:s,children:n?.[qt.PREVIOUS]}),i.jsxs("div",{className:"flex flex-col items-center gap-1 pt-[20px]",children:[i.jsx("div",{className:"relative h-[4px] rounded-full bg-neutral-300",style:{width:`${x}px`},children:i.jsx("div",{className:"absolute h-full rounded-full bg-primary",style:{left:`${S}%`,width:`${v}px`}})}),i.jsxs("h5",{className:"text-neutrals-800",children:[e+1,"/",t]})]}),i.jsx("div",{className:W("h-[20px] w-[20px] cursor-pointer",e+1===t?"text-neutrals-700":"text-primary"),onClick:o,ref:l,children:n?.[qt.NEXT]}),h&&i.jsx(lt,{reference:l,title:d,description:u})]})},ld=({limitAmount:e,openAdvancedView:t,prefixIcon:n,contentClassName:s})=>{const{titles:o}=we(),[r,l]=c.useState(!1),{refs:d,floatingStyles:a,context:u}=qe.useFloating({open:r,onOpenChange:l,placement:"top-start"}),m=qe.useHover(u,{handleClose:qe.safePolygon({blockPointerEvents:!0})}),{getReferenceProps:h,getFloatingProps:f}=qe.useInteractions([m]);return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex w-fit",ref:d.setReference,...h(),children:i.jsxs("div",{className:Ze("mt-1 flex w-fit items-center gap-1 bg-hues-100 px-4 py-2",s),children:[n,i.jsx("h5",{className:"font-bold",children:o?.limits||"Limited to"}),i.jsxs("h5",{children:[e," ",o?.timeseriesLimit||"Timeseries"]})]})}),r&&i.jsx("div",{className:"floating",ref:d.setFloating,style:a,...f(),children:i.jsxs("div",{className:"z-10 mb-2 flex w-[300px] flex-col gap-2 rounded bg-white p-4 shadow",children:[i.jsxs("div",{children:[i.jsxs("h5",{className:"text-neutrals-900",children:[i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP1_1||"The number of timeseries displayed in a single chart i"}),i.jsxs("span",{className:"pr-0.5 font-bold",children:[o?.limitLinkInfoP1_2||"limited to"," ",e]}),o?.limitLinkInfoP1_3||"for better clarity and performance."]}),i.jsxs("h5",{className:"text-neutrals-900",children:[i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP2_1||"To visualize specific timeseries"}),i.jsx("span",{className:"pr-0.5 font-bold",children:o?.limitLinkInfoP2_2||"filter"}),i.jsx("span",{className:"pr-0.5",children:o?.limitLinkInfoP2_3||"your request, or"}),i.jsx("span",{className:"pr-0.5 font-bold",children:o?.limitLinkInfoP2_4||"refine"}),o?.limitLinkInfoP2_5||"it in the chat."]})]}),t&&i.jsx("h4",{className:"cursor-pointer text-primary",onClick:t,children:o?.limitLinkInfoLink||"Open Advanced View"})]})})]})};function cd(e,t,n){const s=(e.getZr()?.painter).getRenderedCanvas()?.getContext("2d");if(!s)return 0;const o=n.textStyle?.fontSize??12,r=n.textStyle?.fontFamily??"sans-serif";s.font=`${o}px ${r}`;const l=s.measureText(t).width,d=n.itemWidth??25,a=n.itemGap??10;return l+d+a}const dd=({option:e,style:t})=>{const n=c.useRef(null),[s,o]=c.useState(e);c.useEffect(()=>{o(jn.cloneDeep(e))},[e]);const r=c.useCallback(()=>{const l=n.current?.getEchartsInstance?.();if(!l)return;const a=l.getDom().clientWidth,u=e.legend||{},m=u.itemHeight??14,h=u.textStyle?.fontSize??12,f=l.getModel()?.getComponent("legend")?.getData()||[];let p=0;f.forEach(v=>{const C=v.option.name||"";p+=cd(l,C,u)});const S=Math.max(1,Math.ceil(p/a))*(+m+ +h+6),x=20;o(v=>({...v,grid:{...v.grid||{},bottom:S+x}}))},[e.legend]);return c.useEffect(()=>{r();const l=()=>{r()};return window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l)}},[e,r]),i.jsx(Ws,{notMerge:!0,lazyUpdate:!1,ref:n,option:s,style:t})},ud=({attachment:e,icons:t,isDataLoading:n,openAdvancedView:s,fixHeight:o=!0,limitationInfoPrefixIcon:r,limitationInfoContentClassName:l})=>{const{titles:d}=we(),[a,u]=c.useState(!0),[m,h]=c.useState(),[f,p]=c.useState([]),[g,S]=c.useState(0),[x,v]=c.useState(void 0),[C,w]=c.useState(),{onboardingFileSchema:b,isShowOnboarding:N,setOnboardingFileSchema:T}=Ye(),M=c.useRef(null),{charting_data:y,getChartingData:A}=e;c.useEffect(()=>{if(S(0),y){h(y),u(!1);return}if(!A){h(void 0),u(!0);return}return u(!0),Rt(()=>{try{h(A())}catch(L){console.error("Error building chart data",L),h({units:[]})}finally{u(!1)}})},[y,A]),c.useEffect(()=>{const L=m?.groups??[],K=m?.units??[];p(L.length>0?L.flatMap(k=>k.units.map(H=>({unit:H,groupTitle:k.title}))):K.map(k=>({unit:k})))},[m]),c.useEffect(()=>{const L=f.length>g,K=L?f[g]:f[0];v(!a&&K!=null?K.unit:void 0),w(K?.groupTitle),L||S(0)},[a,f,g]),c.useEffect(()=>{b&&N&&!a&&(El(b)&&(T?.(yl(b)),M?.current?.scrollIntoView({block:"center",behavior:"smooth"})),b.lastDisplayedElement===Oe.CHART_PER_SERIES&&T?.(vi(b)))},[a,T,b,N]);const I=c.useCallback(()=>{S(L=>Math.min(L+1,f.length-1))},[f.length]),j=c.useCallback(()=>{S(L=>Math.max(L-1,0))},[]);return a||n?i.jsx(E.Loader,{}):i.jsx("div",{className:"chart-attachment size-full",ref:M,children:m&&i.jsx("div",{className:"flex size-full flex-col gap-4",children:f.length==0||x==null?i.jsx("h4",{className:"ml-1",children:d?.chartInfo||"No data"}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsxs("h3",{className:"chart-attachment-title",children:[d?.chart||"Chart"," ",g+1,"/",f.length]}),i.jsx("span",{className:"h4 chart-attachment-info text-neutrals-700",children:d?.chartInfo||"Chart Information"})]}),i.jsxs("div",{className:W("chart-area overflow-hidden flex flex-row gap-4 h-full ",o&&"max-h-[400px] min-h-[400px]",!o&&"min-h-[300px]"),children:[i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[C&&i.jsxs("div",{className:"mb-1 flex items-center gap-1",children:[i.jsx(On,{className:"size-4 shrink-0 text-neutrals-1000"}),i.jsx("h4",{className:"text-neutrals-1000",children:C})]}),i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4",children:[i.jsx(dd,{option:x.config,style:{width:"100%",height:"100%",minHeight:0}}),x.limitedByRowsAmountTo&&i.jsx(ld,{limitAmount:x.limitedByRowsAmountTo,openAdvancedView:s,prefixIcon:r,contentClassName:l}),f.length>1&&i.jsx(ad,{icons:t,currentIndex:g,totalCount:f.length,onNext:I,onPrev:j})]})]}),i.jsx(Li,{dimensionsInfo:x.dimensions})]})]})})})},md=({attachment:e,className:t})=>{const{data:n,language:s}=e,o=(r,l)=>{r.addCommand(l.KeyCode.F1,()=>{})};return i.jsx("div",{className:Ze(["h-full w-full [&_.cursors-layer]:hidden",t]),children:i.jsx(Nr.Editor,{value:n,language:s,theme:"vs-light",onMount:o,options:{readOnly:!0,contextmenu:!1,scrollBeyondLastLine:!1,minimap:{enabled:!1},wordWrap:"on",automaticLayout:!0,tabSize:2}})})},fd="Dataset",Is="dataset_name",hd="Agency",As="agency",pd="Country dimensions",Ot="country_aggregated",gd="Indicator dimensions",kt="indicator_aggregated",Cd="Frequency",mn="frequency_aggregated",er=".";function js(e){return{columnState:e.getColumnState(),columnGroupState:e.getColumnGroupState()??[]}}function xd(e,t){t&&(e.applyColumnState({state:t.columnState,applyOrder:!0}),e.setColumnGroupState(t.columnGroupState))}const Rs=["columnVisible","columnMoved","displayedColumnsChanged","newColumnsLoaded","gridColumnsChanged","columnPinned"];function tr(e,t){c.useEffect(()=>{if(e){for(const n of Rs)e.addEventListener(n,t);return()=>{for(const n of Rs)e.removeEventListener(n,t)}}},[e,t])}function Sd({currentUrn:e}){const[t,n]=c.useState(),[s,o]=c.useState(null),r=c.useRef(new Map),l=c.useRef(new Map),d=c.useCallback(h=>{if(n(h),r.current.has(e))s==null&&o(r.current.get(e)??null);else{const p=js(h);r.current.set(e,p),o(p)}const f=l.current.get(e);f&&(h.applyColumnState({state:f.columnState,applyOrder:!0}),f.columnGroupState!=null&&h.setColumnGroupState(f.columnGroupState))},[e]);c.useEffect(()=>{o(r.current.get(e)??null)},[e]);const a=c.useCallback(()=>{t&&l.current.set(e,js(t))},[e,t]),u=c.useCallback(()=>{l.current.delete(e)},[e]),m=c.useCallback(()=>{r.current.delete(e),o(null)},[e]);return tr(t,a),{gridApi:t,onGridApiReady:d,initialColumnsState:s,clearUserColumnState:u,clearInitialColumnState:m}}var Xe=(e=>(e.Compact="compact",e.Extended="extended",e))(Xe||{});const Kn=c.createContext(null);function vd({currentUrn:e,structuresMap:t,locale:n,dataQueries:s,gridViewMode:o=Xe.Compact,onGridViewModeChange:r,texts:l,resetIcon:d,children:a}){const{gridApi:u,onGridApiReady:m,initialColumnsState:h,clearUserColumnState:f,clearInitialColumnState:p}=Sd({currentUrn:e}),g=c.useCallback(T=>r?.(T),[r]),[S,x]=c.useState(new Map),v=c.useCallback((T,M,y)=>{x(A=>{const I=new Map(A),j=new Map(I.get(T)??[]),L=j.get(M)??{order:[],hidden:new Set};return j.set(M,y(L)),I.set(T,j),I}),u?.refreshCells({columns:[M]})},[u]),C=c.useCallback((T,M,y)=>{v(T,M,A=>({...A,order:y}))},[v]),w=c.useCallback(()=>{x(new Map)},[]),b=c.useCallback((T,M,y,A)=>{v(T,M,I=>{const j=new Set(I.hidden);return A?j.add(y):j.delete(y),{...I,hidden:j}})},[v]),N=c.useMemo(()=>({gridApi:u,onGridApiReady:m,initialColumnsState:h,structuresMap:t,locale:n,dataQueries:s,dimensionCustomization:S,setDimensionKeyOrder:C,setDimensionKeyHidden:b,resetDimensionCustomization:w,clearUserColumnState:f,clearInitialColumnState:p,gridViewMode:o,setGridViewMode:g,texts:l,resetIcon:d}),[u,h,m,t,n,s,S,C,b,w,f,p,o,g,l,d]);return i.jsx(Kn.Provider,{value:N,children:a})}function Yn(){const e=c.useContext(Kn);if(!e)throw new Error("useTableSettingsContext must be used within TableSettingsProvider");return e}const wd=()=>c.useContext(Kn);function fn(e,t,n){const s=D.getConcept(e.conceptIdentity,t),o=e?.localRepresentation?.enumeration,r=s?.coreRepresentation?.enumeration,l=o||r,d=D.getArtifactByUrnWithWildCard(l,n);return{concept:s,codeList:d||void 0}}function nr(e,t,n){const s=e.findIndex(o=>o.id===t);return n.originalData.parsedTimeSeriesValue[s]}function qn(e,t,n,s,o){const r=nr(e,t,s),l=n?.codes?.find(d=>d.id===r);return D.getLocalizedName(l,o)}function bd(e,t,n,s,o=Xe.Compact){const r=o===Xe.Extended?Md(e,t,n):[yd(e,t,n,s)];return[Dd(e,t,n,s),...r,Ed(e,t,n,s),...Td(e,t,n)]}function Dd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,e),u=t.get(d)?.region;return a==null||d==null||l==null||u==null?"":yt(l,u,a,n)};return hn(s?.countryDimensions||pd,Ot,o,e,t,n,s)}function yd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,e),u=t.get(d)?.indicators;return a==null||d==null||l==null||u==null||u.length===0?"":u.map(h=>yt(l,h,a,n)||"").join(er)};return hn(s?.indicatorDimensions||gd,kt,o,e,t,n,s)}function Ed(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,e),u=t.get(d)?.frequency;return a==null||d==null||l==null||u==null?"":yt(l,u,a,n)};return hn(s?.frequency||Cd,mn,o,e,t,n,s)}function Td(e,t,n){const s=new Set;return t.forEach(o=>{o?.other?.forEach(r=>{s.add(r)})}),Array.from(s).map(o=>Nd(o,e,t,n))}function Md(e,t,n){const s=new Set;return t.forEach(o=>{o?.indicators?.forEach(r=>{s.add(r)})}),Array.from(s).map(o=>{const r=l=>{const{structures:d,urn:a,data:u}=Ut(l,e),m=t.get(a)?.indicators??[];return u==null||a==null||d==null||!m.includes(o)?"":yt(d,o,u,n)};return{headerName:sr(o,e,n),field:o,colId:o,valueGetter:r,...St,cellClass:ht,tooltipValueGetter:l=>l.value}})}function Nd(e,t,n,s){const o=r=>{const{structures:l,urn:d,data:a}=Ut(r,t),u=n.get(d)?.other??[];return a==null||d==null||l==null||!u.includes(e)?"":yt(l,e,a,s)};return{...hn(sr(e,t,s),e,o,t,n,s),hide:!0}}function sr(e,t,n){for(const s of t.values()){if(!s)continue;const r=(D.getDimensions(s)?.dimensions||[]).find(l=>l.id===e);if(r)return D.getDimensionTitle(s.conceptSchemes,r,n)??e}return e}function hn(e,t,n,s,o,r,l){return{headerName:e,field:t,colId:t,valueGetter:n,...St,cellClass:ht,cellRenderer:Pi,tooltipValueGetter:d=>d.value,cellRendererParams:{structuresMap:s,datasetDimensionsSchemesMap:o,locale:r,titles:l,colId:t}}}function Ut(e,t){const{data:n}=e,s=n?.dataset?.urn,o=s==null?void 0:t.get(s);return{data:n,urn:s,structures:o}}function yt(e,t,n,s){const o=e.conceptSchemes||[],r=e.codelists||[],l=D.getDimensions(e)?.dimensions||[],d=l.find(u=>u.id===t);if(d==null)return;const{codeList:a}=fn(d,o,r);return qn(l,t,a,n,s)}const tn="::";function Id(e,t){return`${e}${tn}${t}`}function Sn(e){return e.includes(tn)}function Mt(e){const t=e.indexOf(tn);return{urn:e.slice(0,t),dimensionKey:e.slice(t+tn.length)}}const Ad=new Set([kt]);function or(e,t){let n=e;return t?.order.length&&(n=[...t.order.filter(s=>e.includes(s)),...e.filter(s=>!t.order.includes(s))]),t?.hidden.size&&(n=n.filter(s=>!t.hidden.has(s))),n}function jd(e,t,n){const s=n(t);return s?e===kt?s.indicators:e===Ot?s.region?[s.region]:[]:e===mn?s.frequency?[s.frequency]:[]:[]:[]}function Rd(e,t,n){const s=e.getDimensionConfig(t,n);if(s?.alias)return s.alias;const o=e.structuresMap.get(t),l=(o?D.getDimensions(o)?.dimensions??[]:[]).find(d=>d.id===n);return D.getDimensionTitle(o?.conceptSchemes??[],l,e.locale)??n}function Ld(e){const t=e.enrichedColIds??Ad;return n=>{if(!t.has(n.id))return n;const s=[];for(const{urn:o}of e.dataQueries){const r=jd(n.id,o,e.getDimensionsScheme);if(!r.length)continue;const l=e.dimensionCustomization?.get(o)?.get(n.id),d=l?.order.length?or(r,{order:l.order,hidden:new Set}):r,a=d.length>1,u=d.map(f=>({id:Id(o,f),type:"item",label:Rd(e,o,f),isChecked:!l?.hidden.has(f),draggable:a,checkable:a})),m=e.structuresMap.get(o),h=D.getLocalizedName(m?.dataflows?.[0],e.locale)??o;s.push({id:o,type:"group",label:h,items:u})}return s.length?s.length===1?{...n,items:s[0].items}:{...n,items:s}:n}}function Ls(e,t){return e===kt?t.indicators??[]:e===Ot?t.region?[t.region]:[]:e===mn?t.frequency?[t.frequency]:[]:t.other?.includes(e)?[e]:[]}function Fd(e,t){return e===kt?t?.indicatorMetadataPanel||"Indicator dimension details":e===Ot?t?.countryMetadataPanel||"Country dimension details":t?.metadata||"Metadata"}const Pd="merged-dimension-metadata-side-panel",_d=e=>{const{titles:t}=we(),{isOpenedAdvancedView:n}=We(),s=pt(),{isMetadataInSidePanel:o}=Ge(),{getDatasetLastUpdated:r}=ct(),l=wd(),d=e?.data?.dataset?.urn,a=dn(e?.context,d),u=d!=null?e.structuresMap.get(d):void 0,m=d!=null?e.datasetDimensionsSchemesMap.get(d):void 0,h=l?.dimensionCustomization,f=c.useMemo(()=>{if(!u||!m||d==null)return e.valueFormatted??e.value;const v=h?.get(d)?.get(e.colId);return or(Ls(e.colId,m),v).map(b=>yt(u,b,e.data,e.locale)).filter(Boolean).join(er)},[h,u,m,d,e.valueFormatted,e.value,e.colId,e.data,e.locale]),p=c.useMemo(()=>{if(!u||!m)return[];const v=Ls(e.colId,m),C=D.getStructureComponentsMap(u),w=v.filter(b=>e.data[b]!=null).map(b=>({name:b,value:String(e.data[b])}));return jt(w,C,e.locale)},[u,m,e.colId,e.data,e.locale]),g=c.useMemo(()=>{const v=u?.dataflows?.[0];if(!v)return;const C=Vt(r(v),e.locale);return _t(v,C,e.locale,t)},[u,e.locale,t,r]),S=o&&!!s&&!!e.value&&![mn,Ot].includes(e.colId),x=c.useCallback(()=>{s&&s.openPanel({id:Pd,scope:n?"advanced":"conversation",title:Fd(e.colId,t),bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e.locale,metadata:p,datasetInfo:g,externalLink:a})})},[s,n,e.colId,t,e.locale,p,g,a]);return i.jsxs("div",{className:"relative size-full p-2",children:[f,S&&i.jsx("div",{className:"metadata-indicator",title:t?.metadata||"View details",onClick:x})]})},Vd="dataset-detail-metadata-side-panel",Od=e=>{const{titles:t}=we(),{isOpenedAdvancedView:n}=We(),s=pt(),{isMetadataInSidePanel:o}=Ge(),{getDatasetLastUpdated:r}=ct(),l=e?.data?.dataset?.urn,d=dn(e?.context,l),a=l!=null?e.structuresMap.get(l):void 0,u=l!=null?e.attributesDataMap?.get(l):void 0,m=c.useMemo(()=>{const g=a?.dataflows?.[0];if(!g)return;const S=Vt(r(g),e.locale);return _t(g,S,e.locale,t)},[a,e.locale,t,r]),h=c.useMemo(()=>Wi($i(u),D.getStructureComponentsMap(a),e.locale),[u,a,e.locale]),f=o&&!!s&&!!e.value,p=c.useCallback(()=>{s&&s.openPanel({id:Vd,scope:n?"advanced":"conversation",title:t?.datasetMetadataPanel||"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:e.locale,metadata:h,datasetInfo:m,externalLink:d})})},[s,n,h,m,d,t,e.locale]);return i.jsxs("div",{className:"relative size-full p-2",children:[e.valueFormatted??e.value,f&&i.jsx("div",{className:"metadata-indicator",title:t?.metadata||"View details",onClick:p})]})},kd=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:s,externalLink:o,externalLinksMap:r,showLimitMessage:l,onApiReady:d})=>{const[a,u]=c.useState(!1),[m,h]=c.useState([]),[f,p]=c.useState(),[g,S]=c.useState(400),x=c.useRef(null),v=c.useRef([]);c.useEffect(()=>{if(e.gridContent==null)u(!0);else{const T=e.gridContent.columns.map(M=>M.colId===At?{...M,hide:!n}:M);h(e.gridContent.data),p(T),u(!1)}},[e.gridContent,n]),c.useEffect(()=>{m?(S(zn(m.length)),l?.(m.length>=E.SERIES_LIMIT)):l?.(!1)},[m,l]),c.useEffect(()=>{if(!f||!x.current)return;const T=f.map(I=>I.colId??I.field??"").filter(Boolean),M=v.current,y=new Set(M),A=T.length!==M.length||T.some(I=>!y.has(I));v.current=T,A&&x.current.resetColumnState()},[f]);const C=c.useCallback(T=>{x.current=T.api,d?.(T.api)},[d]),w=c.useMemo(()=>({externalLink:o,externalLinksMap:r}),[o,r]),b=c.useMemo(()=>({[cn]:Xi,[ln]:Ji,[Pi]:_d,[Fi]:Gn,[_i]:Od}),[]),N=c.useMemo(()=>i.jsx(Rn.AgGridReact,{headerHeight:Lt,rowHeight:an,rowData:m,enableCellTextSelection:!0,columnDefs:f,context:w,domLayout:"normal",tooltipShowDelay:0,tooltipShowMode:"whenTruncated",components:b,valueCache:!0,onGridReady:C}),[m,f,w,b,C]);return a||t?i.jsx(E.Loader,{}):i.jsx("div",{className:"size-full",children:i.jsx(Qi,{fixHeight:s,gridHeight:g,children:N})})},Ud=({selectedAttachment:e,actions:t,attachmentsStyles:n,isDataLoading:s,externalLink:o,externalLinksMap:r,isOpenedAdvancedView:l,onOpenAdvancedView:d,showLimitMessage:a,onGridApiReady:u})=>i.jsxs("div",{className:"flex min-h-0 w-full flex-1 justify-center",children:[Nl(e)&&i.jsx(cc,{actions:t,downloadTitles:n?.downloadTitle,attachment:e}),Hn(e)&&i.jsx(Nc,{actions:t,attachment:e,showLimitMessage:a}),rt(e)&&i.jsx(sd,{attachment:e,isDataLoading:s,isChartColumnVisible:l,fixHeight:!l,showLimitMessage:a,onApiReady:u,externalLink:o}),ft(e)&&i.jsx(kd,{attachment:e,isDataLoading:s,isChartColumnVisible:l,fixHeight:!l,showLimitMessage:a,onApiReady:u,externalLink:o,externalLinksMap:r}),Kt(e)&&i.jsx(ud,{isDataLoading:s,attachment:e,icons:n?.chartingIcons,openAdvancedView:l?void 0:d,fixHeight:!l,limitationInfoPrefixIcon:n?.limitationInfoIcon,limitationInfoContentClassName:n?.limitationInfoContentClassName}),Un(e)&&i.jsx(Cc,{attachment:e,openLinkTitle:n?.openLinkTitle}),Ei(e)&&i.jsx(fc,{attachment:e}),Bn(e)&&i.jsx(md,{attachment:e,className:n?.codeAttachmentContainerClassName})]}),Hd=({isOpen:e,alertDetails:t,attachmentsStyles:n,onClose:s})=>{if(!e)return null;const o=t?.progress&&t.progress.total>0?`${Math.min(100,Math.max(0,t.progress.current/t.progress.total*100))}%`:"0%";return i.jsx(E.Alert,{alertDetails:t,infoIcon:n?.infoDownloadIcon,successIcon:n?.successDownloadIcon,errorIcon:n?.errorDownloadIcon,onClose:s,closeButtonTitle:n?.closeTitle||"Close",children:i.jsxs(i.Fragment,{children:[t?.text&&i.jsx("div",{className:"alert-text whitespace-pre-line break-words",title:t.text,children:t.text}),t?.progress&&i.jsx("div",{className:"alert-progress",children:i.jsx("div",{className:"alert-progress-value",style:{width:o}})}),t?.action&&i.jsxs("button",{type:"button",className:"alert-action",disabled:t.action.disabled,onClick:t.action.onClick,title:t.action.title,children:[t.action.icon&&i.jsx("span",{className:"alert-action-icon",children:t.action.icon}),i.jsx("span",{className:"alert-action-text",children:t.action.text})]})]})})},Bd=({attachmentsStyles:e,onCancel:t,onRetry:n})=>{const s=c.useCallback(p=>e?.downloadTitles?.downloadStartedText?.(p.dataFormatTitle)??`Preparing ${p.dataFormatTitle} file.`,[e?.downloadTitles]),o=c.useCallback((p,g)=>e?.downloadTitles?.downloadInProgressTitle?.(p,g)??`Downloading file ${p} of ${g}`,[e?.downloadTitles]),r=c.useCallback((p,g)=>e?.downloadTitles?.downloadInProgressText?.(p,g)??`${p} · ${g}`,[e?.downloadTitles]),l=c.useCallback(p=>p.items.length>1?e?.downloadTitles?.downloadSuccessMultipleTitle?.(p.items.length)??`${p.items.length} files downloaded`:e?.downloadTitles?.downloadSuccessTitle?.(p.dataFormatTitle)??`${p.dataFormatTitle} file downloaded`,[e?.downloadTitles]),d=c.useCallback(p=>{if(p.items.length>1)return e?.downloadTitles?.downloadSuccessMultipleText?.(p.items.length)??`${p.items.length} files successfully downloaded`;const[g]=p.items;return e?.downloadTitles?.downloadSuccessText?.(g.fileName,g.rowCount)??`${g.fileName} · ${g.rowCount} rows`},[e?.downloadTitles]),a=c.useCallback(p=>{if(p.items.length>1)return e?.downloadTitles?.downloadFailedMultipleText?.(p.items.length)??`${p.items.length} datasets could not be exported`;const[g]=p.items;return e?.downloadTitles?.downloadFailedText?.(g.name)??`${g.name} could not be exported`},[e?.downloadTitles]),u=c.useCallback(p=>({type:E.AlertType.INFO,title:e?.downloadTitles?.downloadStartedTitle??"Download started",text:s(p),action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??"Cancel",icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,s,t]),m=c.useCallback((p,g,S,x)=>({type:E.AlertType.IN_PROGRESS,title:o(g,p.items.length),text:r(x,p.dataFormatTitle),progress:{current:S,total:p.items.length},action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??"Cancel",icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,r,o,t]),h=c.useCallback(p=>({type:E.AlertType.SUCCESS,title:l(p),text:d(p)}),[d,l]),f=c.useCallback(p=>({type:E.AlertType.ERROR,title:e?.downloadTitles?.downloadFailedTitle??"Download failed",text:a(p),action:{text:e?.downloadTitles?.downloadRetryActionText??"Retry download",icon:e?.downloadErrorActionIcon,onClick:n}}),[e?.downloadErrorActionIcon,e?.downloadTitles,a,n]);return{getStartedAlertDetails:u,getInProgressAlertDetails:m,getSuccessAlertDetails:h,getErrorAlertDetails:f}},Gd=300,zd=({attachmentsStyles:e,downloadDataSet:t})=>{const[n,s]=c.useState(),[o,r]=c.useState(!1),[l,d]=c.useState(),a=c.useRef(null),u=c.useRef(null),m=c.useRef(null),h=c.useRef(!1),f=c.useRef(!1),p=c.useCallback(y=>{d(y),s(!0)},[]),g=c.useCallback(()=>{s(!1)},[]),S=c.useCallback(()=>{f.current=!0,a.current?.abort(),g()},[g]),x=c.useCallback(()=>{const y=u.current;!y||!m.current||m.current(y)},[]),v=c.useCallback(y=>(y instanceof DOMException||y instanceof Error)&&y.name==="AbortError",[]),{getStartedAlertDetails:C,getInProgressAlertDetails:w,getSuccessAlertDetails:b,getErrorAlertDetails:N}=Bd({attachmentsStyles:e,onCancel:S,onRetry:x}),T=c.useCallback(async y=>{if(!h.current){h.current=!0,r(!0),f.current=!1,u.current=null;try{const A=[],I=y.items.length>1;I||p(C(y));for(const[j,L]of y.items.entries()){if(f.current)return;I&&p(w(y,j+1,j,L.name));const K=new AbortController;a.current=K;try{await t(L.urn,y.dataFormat,y.language,y.attribute,L.filters,L.fileName,y.isMetadata,K.signal)}catch(k){if(v(k)&&f.current)return;A.push(L),console.error("Failed to download dataset",k)}finally{a.current===K&&(a.current=null)}j<y.items.length-1&&await new Promise(k=>window.setTimeout(k,Gd))}if(f.current)return;if(A.length>0){const j={...y,items:A};u.current=j,p(N(j));return}p(b(y))}finally{a.current=null,h.current=!1,r(!1)}}},[t,N,w,C,b,v,p]);return c.useEffect(()=>{m.current=T},[T]),c.useEffect(()=>()=>{f.current=!0,a.current?.abort()},[]),{startDownload:c.useCallback(y=>h.current?!1:(T(y),!0),[T]),isDownloadRunning:o,downloadAlertProps:{isOpen:n,alertDetails:l,attachmentsStyles:e,onClose:g}}};Qn.ModuleRegistry.registerModules([Qn.AllCommunityModule]);const Zn=({attachments:e,actions:t,isSystemAttachments:n,isShowAttachments:s,showAdvancedView:o,currentDataQuery:r,dataQueries:l,attachmentInfoList:d,datasets:a,initialSelectedDatasetUrn:u,isDataLoading:m,isDataSetAttachments:h,locale:f,dimensions:p,filters:g,selectDataset:S,onAdvancedViewOpen:x,hideDownloadButton:v,containerClassName:C,isTableSettingsOpen:w,onTableSettingsOpen:b,onTableSettingsClose:N,onGridApiReady:T})=>{const{titles:M,messageStyles:y,attachmentsStyles:A,limitMessages:I,attachmentsConfig:j}=we(),{isCrossDatasetModeOn:L}=Ge(),[K,k]=c.useState(0),{isOpenedAdvancedView:H,setIsOpenedAdvancedView:z}=We(),[ee,P]=c.useState(E.PopUpState.Closed),[Y,q]=c.useState(!1),[J,Q]=c.useState(!1),pe=D.DownloadType.DATA_IN_TABLE,ve=c.useMemo(()=>{if(!L||!l?.some(ae=>ae.disabled))return a;const ue=new Set(l.filter(ae=>!ae.disabled).map(ae=>ae.urn));return a?.filter(ae=>{const Le=D.generateShortUrn(ae?.id,ae?.version,ae?.agencyID);return ue.has(Le)})},[a,l,L]),De=ue=>{k(ue)},O=c.useCallback(()=>{x?.(),z(!0),t.updateCurrentDataQuery(r||l?.[0]),t.updateDataQueries(l),t.updateDatasets(a)},[t,r,l,a,z,x]),_=e[K]||null;c.useEffect(()=>{q(h&&(a==null||a?.length==0))},[a,h]),c.useEffect(()=>{w&&_&&!rt(_)&&!ft(_)&&N?.()},[w,_,N]);const ie=c.useCallback(()=>{P(E.PopUpState.Closed)},[P]),de=j?.isExternaLinkIncludeFilters,ce=Nn(de,g,r||l?.[0],p),je=c.useMemo(()=>l?.length?new Map(l.map(ae=>[ae.urn,Nn(de,void 0,ae)])):void 0,[l,de]),Te=c.useMemo(()=>{if(!_||!ft(_))return;const ae=_.gridContent?.data??[],Le=new Map,ye=new Map;for(const ge of ae){const{dataset:Ie,datasetTitle:Ce}=ge,Pe=Ie?.urn;Pe&&(Le.set(Pe,(Le.get(Pe)??0)+1),!ye.has(Pe)&&Ce&&ye.set(Pe,Ce))}return Array.from(Le.entries()).map(([ge,Ie])=>({urn:ge,name:ye.get(ge)??ge,rowCount:Ie,dataQuery:l?.find(Ce=>Ce.urn===ge)}))},[_,l]),V=c.useMemo(()=>{if(_){if(rt(_))return _.grid_data?.data?.length;if(ft(_))return _.gridContent?.data?.length}},[_]),{startDownload:B,isDownloadRunning:oe,downloadAlertProps:re}=zd({attachmentsStyles:A,downloadDataSet:t.downloadDataSet});if(!e||e.length===0)return null;const me=!H&&Y||!!m;return i.jsx(i.Fragment,{children:H&&!s?i.jsx(Bl,{icon:y?.advanceViewIcon,title:y?.openAdvanceViewTitle??"Opened in Advanced view"}):i.jsxs("div",{className:Ze("space-y-3 max-w-full max-h-full h-full",!H&&!n?"pt-5":"pt-0","flex flex-col pb-1",C),children:[!H&&ve?.length!=null&&ve?.length>0&&i.jsx(Ai,{datasets:ve,initialSelectedDatasetUrn:u,locale:f,selectDataset:S}),me?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[n&&!H&&i.jsx(Hl,{titles:{queryUpdatedManuallyTitle:M?.queryUpdatedManually,setToTitle:M?.setTo,datasetLabel:M?.dataset},datasetIcon:A?.datasetIcon,attachmentInfoList:d,dataQueries:l}),J&&i.jsx(E.RequestLimitMessage,{limitMessages:I,showAdvancedViewButton:!!_&&Al(_)&&o,onAdvancedViewClick:O,query:ce}),i.jsx("div",{className:W(!H&&a?.length&&"attachments-bordered","attachments-wrapper h-full min-h-0"),children:i.jsxs("div",{className:"flex h-full max-w-full flex-col items-center gap-4",children:[i.jsx(lc,{attachments:e,selectedAttachmentIndex:K,selectedAttachment:_,attachmentsStyles:A,externalLink:ce,isExternalLinkIncludeFilters:de,limitMessages:I,onSelectedAttachmentChange:De,onDownloadClick:()=>P(E.PopUpState.Opened),hideDownloadButton:v,showAdvancedView:o,onOpenAdvancedView:O,isTableSettingsOpen:w,onTableSettingsOpen:b}),_!=null&&i.jsx(Ud,{selectedAttachment:_,actions:t,attachmentsStyles:A,isDataLoading:m,isOpenedAdvancedView:H,onOpenAdvancedView:O,showLimitMessage:Q,onGridApiReady:T,externalLink:ce,externalLinksMap:je})]})}),i.jsxs(i.Fragment,{children:[ee===E.PopUpState.Opened&&i.jsx(ql,{onCloseModal:ie,onDownloadStart:B,isDownloadInProgress:oe,dataQuery:r,datasetName:_?.title||"",locale:f,type:pe,dimensions:p,filters:g,urn:r?.urn,titles:A?.downloadTitles,rowCount:V,collapsible:A?.downloadCollapsible,downloadDatasets:Te,limitMessages:I,showLimitMessage:J,externalLink:ce}),i.jsx(Hd,{...re})]})]})]})})},$d=({label:e,colDef:t})=>!!e.trim()&&!t.suppressColumnsToolPanel;function Wd(e){return e.colId??e.field??null}function Kd(e){return String(e.headerName??e.field??e.colId??"").trim()}function Yd(e){return new Map(e.getColumnState().map(t=>[t.colId,t]))}function qd(e,t){const n=e.getColumnDefs()??[],s=Yd(e),o=[];for(const d of n){const a=Wd(d);if(!a)continue;const u=Kd(d);if(!t({colId:a,label:u,colDef:d}))continue;const m=s.get(a);o.push({id:a,type:"item",label:u,isChecked:!(m?.hide??!1),draggable:!0,checkable:!0})}const r=e.getColumnState().map(d=>d.colId),l=new Map(r.map((d,a)=>[d,a]));return o.sort((d,a)=>{const u=l.get(d.id)??Number.MAX_SAFE_INTEGER,m=l.get(a.id)??Number.MAX_SAFE_INTEGER;return u-m})}function Zd(e,t,n){const s=[...t];return e.map(o=>n.has(o)?s.shift()??o:o)}function vn(e,t){let n=e,s;for(const o of t){if(s=n.find(r=>r.id===o),!s)return;n=s.type==="group"?s.items:s.items??[]}return s?.type==="item"?s:void 0}function Xd(e){if(!e.items?.length)return e;if(e.items.every(n=>n.type==="item")){const n=e.items,s=n.filter(r=>r.isChecked!==!1);if(s.length!==1)return e;const[o]=s;return{...e,items:n.map(r=>r===o?{...r,checkable:!1,draggable:!1}:{...r,draggable:!1})}}const t=e.items.map(n=>{if(n.type!=="group")return n;const o=n.items.filter(l=>l.type==="item").filter(l=>l.isChecked!==!1);if(o.length!==1)return n;const[r]=o;return{...n,items:n.items.map(l=>l.type!=="item"?l:l===r?{...l,checkable:!1,draggable:!1}:{...l,draggable:!1})}});return t.every((n,s)=>n===e.items[s])?e:{...e,items:t}}function An(e,t){const n=[];for(const s of e){if(s.type==="group"){n.push(...An(s.items,t));continue}if(t?.(s)){n.push(s.id);continue}if(s.items?.length){n.push(...An(s.items,t));continue}n.push(s.id)}return n}function Jd({api:e,searchQuery:t,includeColumn:n=$d,enrichItem:s,onSubItemOrderChange:o,onSubItemVisibilityChange:r}){const[l,d]=c.useState(0),[a,u]=c.useState(new Set),m=c.useCallback(()=>{d(w=>w+1)},[]);tr(e,m);const h=c.useMemo(()=>!e||!e.getColumnState()?[]:qd(e,n),[e,n,l]),f=c.useMemo(()=>(s?h.map(b=>b.type==="item"?s(b):b):h).map(b=>b.type==="item"&&b.items?.length?{...b,isExpanded:a.has(b.id)}:b),[h,s,a]),p=c.useMemo(()=>new Set(h.map(w=>w.id)),[h]),g=c.useMemo(()=>E.filterDraggableListNodes(f,t),[f,t]),S=c.useCallback(w=>{if(!e)return;if(Sn(w.itemId)&&r){const{urn:N,dimensionKey:T}=Mt(w.itemId),M=w.path[0];r(N,M,T,!w.nextChecked);return}const b=vn(f,w.path);!b||!p.has(b.id)||(e.applyColumnState({state:[{colId:b.id,hide:!w.nextChecked}]}),m())},[e,f,p,m,r]),x=c.useCallback(w=>{if(!e)return;if(Sn(w.itemId)&&r){const{urn:M,dimensionKey:y}=Mt(w.itemId),A=w.path[0],I=vn(f,w.path);I?.type==="item"&&r(M,A,y,I.isChecked??!0);return}const b=vn(f,w.path);if(!b||!p.has(b.id))return;const T=!(e.getColumnState().find(M=>M.colId===b.id)?.hide??!1);e.applyColumnState({state:[{colId:b.id,hide:T}]}),m()},[e,f,p,m,r]),v=c.useCallback(w=>{const b=w.path[w.path.length-1];u(N=>{const T=new Set(N);return w.nextExpanded?T.add(b):T.delete(b),T})},[]),C=c.useCallback(w=>{if(!e)return;const b=e.getColumnState().map(y=>y.colId),N=new Set(h.map(y=>y.id)),T=An(w,y=>p.has(y.id)),M=Zd(b,T,N);if(e.applyColumnState({state:M.map(y=>({colId:y})),applyOrder:!0}),m(),o){for(const y of w)if(!(y.type!=="item"||!p.has(y.id)||!y.items))if(y.items.some(A=>A.type==="group"))for(const A of y.items){if(A.type!=="group")continue;const I=A.items.filter(K=>K.type==="item");if(I.length<=1)continue;const j=A.id,L=I.map(K=>Mt(K.id).dimensionKey);o(j,y.id,L)}else{const A=y.items.filter(L=>L.type==="item");if(A.length<=1||!Sn(A[0].id))continue;const{urn:I}=Mt(A[0].id),j=A.map(L=>Mt(L.id).dimensionKey);o(I,y.id,j)}}},[e,h,p,m,o]);return{items:f,visibleItems:g,handleToggleChecked:S,handleToggleExpanded:v,handleItemClick:x,handleItemsChange:C}}function Qd({api:e,includeColumn:t,enrichItem:n,renderLabel:s,onSubItemOrderChange:o,onSubItemVisibilityChange:r,searchPlaceholder:l}){const[d,a]=c.useState(""),u=c.useCallback(C=>{a(C)},[a]),m=c.useCallback(()=>a(""),[a]),h=c.useMemo(()=>i.jsx("button",{type:"button",onClick:m,children:i.jsx(Be.IconX,{className:"size-4 text-neutrals-1000"})}),[m]),f=c.useCallback(C=>{const w=n?n(C):C;return Xd(w)},[n]),{visibleItems:p,handleItemsChange:g,handleToggleChecked:S,handleToggleExpanded:x,handleItemClick:v}=Jd({api:e,includeColumn:t,searchQuery:d,enrichItem:f,onSubItemOrderChange:o,onSubItemVisibilityChange:r});return i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col gap-2 px-5",children:[i.jsx(E.InputWithIcon,{inputId:"columns-search-input",containerClasses:"items-center filters-search-input gap-1 !p-2",cssClass:"filters-search-input-text",placeholder:l||"Search",iconBeforeInput:i.jsx(Be.IconSearch,{className:"size-4 text-neutrals-1000"}),iconAfterInput:d?h:void 0,value:d,onChange:u}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto",children:i.jsx(E.DraggableList,{items:p,onItemsChange:g,onToggleChecked:S,onToggleExpanded:x,onItemClick:v,renderLabel:s})})]})}function eu(){const{dataQueries:e,structuresMap:t,locale:n,gridViewMode:s}=Yn(),o=un(),r=c.useMemo(()=>{const l=new Map;if(!o||!e?.length)return l;for(const{urn:d}of e){const a=o.getDimensionsScheme(d),u=!!a?.other.length,m=s===Xe.Extended&&!!a?.indicators?.length;if(!u&&!m)continue;const h=n?D.getLocalizedName(t?.get(d)?.dataflows?.[0],n)??d:d,f=[...a?.other??[],...m?a?.indicators??[]:[]];for(const p of f){const g=l.get(p);g?g.push(h):l.set(p,[h])}}return l},[o,e,t,n,s]);return c.useMemo(()=>{if(!r.size)return;function l(d){const a=r.get(d.id);return a?.length?i.jsxs("span",{className:"flex w-full items-center gap-2 overflow-hidden",children:[i.jsx("span",{className:"min-w-0 flex-1 truncate",title:d.label,children:d.label}),i.jsx("span",{className:"h5 min-w-0 flex-1 truncate text-right text-neutrals-700",title:a.join(", "),children:a.join(", ")})]}):d.label}return l},[r])}var Ne=(e=>(e.Header="header",e.Cell="cell",e))(Ne||{}),Ee=(e=>(e.Focus="focus",e.Default="default",e))(Ee||{});const tu="grid gap-1",nu={gridTemplateColumns:"44px 23px 23px",gridTemplateRows:"repeat(4, 14px)"},su={gridTemplateColumns:"repeat(4, 21.5px)",gridTemplateRows:"repeat(4, 14px)"},ou={[Ne.Header]:{[Ee.Focus]:"content-center rounded-sm border border-accent-300 bg-accent-300 text-center text-[8px] font-semibold",[Ee.Default]:"rounded-sm bg-semantic-warning border border-accent-300"},[Ne.Cell]:{[Ee.Focus]:"content-center rounded-sm border border-accent-300 bg-hues-100 pl-1 text-left text-[8px] font-semibold",[Ee.Default]:"rounded-sm bg-neutrals-100 border border-accent-300"}},ir=({rows:e,style:t})=>i.jsx("div",{className:tu,style:t,children:e.map((n,s)=>i.jsx(c.Fragment,{children:n.map((o,r)=>i.jsx("span",{className:Ze([ou[o.role][o.emphasis],!o.label&&"text-transparent"]),children:o.label||" "},`${s}-${r}`))},s))}),iu=[[{role:Ne.Header,emphasis:Ee.Focus,label:"D1.D2.D3"},{role:Ne.Header,emphasis:Ee.Default},{role:Ne.Header,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1.A"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1.B"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C2.X"},{role:Ne.Cell,emphasis:Ee.Default},{role:Ne.Cell,emphasis:Ee.Default}]],ru=()=>i.jsx(ir,{rows:iu,style:nu}),au=[[{role:Ne.Header,emphasis:Ee.Focus,label:"D1"},{role:Ne.Header,emphasis:Ee.Focus,label:"D2"},{role:Ne.Header,emphasis:Ee.Focus,label:"D3"},{role:Ne.Header,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1"},{role:Ne.Cell,emphasis:Ee.Focus,label:"A"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C1"},{role:Ne.Cell,emphasis:Ee.Focus,label:"B"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Default}],[{role:Ne.Cell,emphasis:Ee.Focus,label:"C2"},{role:Ne.Cell,emphasis:Ee.Focus},{role:Ne.Cell,emphasis:Ee.Focus,label:"X"},{role:Ne.Cell,emphasis:Ee.Default}]],lu=()=>i.jsx(ir,{rows:au,style:su}),Fs=({title:e,description:t,visual:n,mode:s,activeMode:o,onClick:r})=>i.jsxs("button",{type:"button",className:Ze(["flex items-center gap-3 rounded border p-1",s===o&&"border-primary"]),onClick:()=>r(s),children:[i.jsx("div",{className:"rounded-[5px] bg-neutrals-100 px-2 py-1",children:n}),i.jsxs("div",{className:"flex flex-col gap-1 text-left",children:[i.jsx("span",{className:"h4 text-neutrals-1000",children:e}),i.jsx("span",{className:"caption text-neutrals-800",children:t})]})]}),cu=({gridViewMode:e,onModeChange:t,compactViewTitle:n,compactViewDescription:s,extendedViewTitle:o,extendedViewDescription:r})=>i.jsxs("div",{className:"mx-5 my-3 flex flex-col gap-2",children:[i.jsx(Fs,{title:n||"Compact view",description:s??i.jsxs(i.Fragment,{children:["Related dimensions ",i.jsx("strong",{children:"combined into a single column."})]}),visual:i.jsx(ru,{}),mode:Xe.Compact,activeMode:e,onClick:t}),i.jsx(Fs,{title:o||"Extended view",description:r??i.jsxs(i.Fragment,{children:["Each dimension displayed in ",i.jsx("strong",{children:"separate column."})]}),visual:i.jsx(lu,{}),mode:Xe.Extended,activeMode:e,onClick:t})]}),Ps="table-settings-side-panel",du=()=>{const{gridApi:e,initialColumnsState:t,structuresMap:n,locale:s,dataQueries:o,dimensionCustomization:r,setDimensionKeyOrder:l,setDimensionKeyHidden:d,resetDimensionCustomization:a,clearUserColumnState:u,clearInitialColumnState:m,gridViewMode:h,setGridViewMode:f,texts:p,resetIcon:g}=Yn(),S=un(),x=eu(),v=c.useCallback(b=>{u(),m(),a(),f(b)},[u,m,a,f]),C=c.useCallback(()=>{e&&(u(),t?xd(e,t):e.resetColumnState(),a())},[u,e,t,a]),w=c.useMemo(()=>{if(!(h!==Xe.Compact||!S||!n||!s||!o?.length))return Ld({dataQueries:o,structuresMap:n,getDimensionsScheme:S.getDimensionsScheme,getDimensionConfig:(b,N)=>S.map[b]?.[N],locale:s,dimensionCustomization:r})},[h,S,n,s,o,r]);return e?i.jsxs("div",{className:"flex h-full flex-col",children:[i.jsx(cu,{gridViewMode:h,onModeChange:v,compactViewTitle:p?.compactViewTitle,compactViewDescription:p?.compactViewDescription,extendedViewTitle:p?.extendedViewTitle,extendedViewDescription:p?.extendedViewDescription}),i.jsx("hr",{className:"border-neutrals-500"}),i.jsxs("div",{className:"mx-5 mb-4 mt-5 flex items-center justify-between",children:[i.jsx("h3",{className:"text-neutrals-1000",children:p?.columnsDisplayTitle||"Columns display"}),i.jsx("button",{type:"button",className:"text-neutrals-800",onClick:C,children:g??i.jsx(Be.IconRotate,{className:"size-4 rotate-180"})})]}),i.jsx(Qd,{api:e,enrichItem:w,renderLabel:x,onSubItemOrderChange:l,onSubItemVisibilityChange:d,searchPlaceholder:p?.columnsSearchPlaceholder})]}):null},uu=e=>{const{attachmentsStyles:t}=we(),{onGridApiReady:n}=Yn(),s=pt(),o=c.useCallback(()=>{s&&s.openPanel({id:Ps,scope:"advanced",title:t?.tableSettings||"Table settings",headerClassName:"border-b border-neutrals-500",content:i.jsx(du,{})})},[s,t?.tableSettings]);return i.jsx(Zn,{...e,isTableSettingsOpen:s?.isPanelOpen(Ps)??!1,onTableSettingsOpen:s?o:void 0,onTableSettingsClose:s?.closePanel,onGridApiReady:n})},mu=({actions:e,structureDataMaps:t,buttonProps:n,modalProps:s,dataQueries:o,onMultipleDataFiltersChange:r,locale:l,timeRangeOptions:d,datasetIcon:a,conversationKey:u,conversation:m,setConversation:h,updateConversation:f,updateDataQueries:p,limitMessages:g,filterIconClassName:S})=>{const{titles:x}=we(),v=un(),{modalState:C,setModalState:w,isModalClosed:b,setIsModalClosed:N}=Di(),[T,M]=c.useState([]),[y,A]=c.useState([]),[I,j]=c.useState(),[L,K]=c.useState([]),[k,H]=c.useState(void 0),z=c.useRef(t?.constraintsMap),[ee,P]=c.useState(),[Y,q]=c.useState(),[J,Q]=c.useState(),[pe,ve]=c.useState(!1),De=c.useRef(0),[O,_]=c.useState(new Set),[ie,de]=c.useState(new Set),ce=c.useRef(m);c.useEffect(()=>{ce.current=m},[m]);const je=c.useCallback(()=>{De.current+=1,De.current===1&&ve(!0)},[]),Te=c.useCallback(()=>{De.current=Math.max(De.current-1,0),De.current===0&&ve(!1)},[]),V=c.useMemo(()=>Za(o,t),[o,t]),B=c.useCallback(R=>vl(R,t?.dimensionsMap,t?.structuresMap),[t?.dimensionsMap,t?.structuresMap]),oe=c.useCallback(R=>B(R).codelistUrn,[B]),re=c.useCallback(R=>{const F=R.filterType==="dataset"?R.datasetUrn:R.sourceDatasetUrns?.[0];return F?z.current?.get(F):void 0},[]),me=c.useCallback(R=>B(R).sourceArtefactUrn,[B]),{hierarchyStateMap:ue,rebuildHierarchyTree:ae,loadAvailableHierarchies:Le,onSelectHierarchy:ye,onExpandHierarchyNode:ge}=Ni({getCodelistUrnForFilter:oe,getConstraintsForFilter:re,getSourceArtefactUrn:me,getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),Ie=R=>{const F=R?T.map($=>_e($,R)?R:$):T;Q(!0),M(Qt(F)),q?.(!0),Ce(R?.isTimeDimension?Jt(F,R):F,M,q,R)};c.useEffect(()=>{C===E.PopUpState.Closed&&P(z.current)},[C]);const Ce=c.useCallback((R,F,$,ne)=>{const Fe=Ct(R,z.current,!1,v.map),xe=fs(o,Fe,e,v.map,R);xe&&je();const be=ms(o,Fe,e,v.map,R);Promise.allSettled(be).then(tt=>{const Je=ps(z.current||t?.constraintsMap,hs(tt)),dt={...t,constraintsMap:Je};if(ne){const{filtersMap:Ht,changed:gt}=Ol(Fe,dt,ne,l,v.map);if(gt){z.current=Je,$?.(!0),Q(!0);const vr=Tt(Ht,dt,l,v.map);Ce(vr,F,$,ne);return}}const ut=Tt(Fe,dt,l,v.map);if(z.current=Je,$?.(!1),F(ut),ne){const Ht=ut.find(gt=>_e(gt,ne));j(gt=>gt&&Ht&&_e(gt,ne)?{...Ht,isSelectedFilter:!0}:gt),ae(ne,re(ne))}}).catch(()=>{const tt=z.current||t?.constraintsMap||new Map,Je=Tt(Fe,{...t,constraintsMap:tt},l,v.map);if(z.current=tt,$?.(!1),F(Je),ne){const dt=Je.find(ut=>_e(ut,ne));j(ut=>ut&&dt&&_e(ut,ne)?{...dt,isSelectedFilter:!0}:ut)}}).finally(()=>{Q(!1),xe&&Te()})},[e,o,v.map,Te,re,l,ae,je,t]);c.useEffect(()=>{if(!V){q(!0);return}const R=Zo(t,l),F=o?.map(ne=>{if(!ne.disabled)return ne;const Fe=(R.get(ne.urn)??[]).filter(xe=>xe.filterType==="dataset"&&xe.id&&!xe.isTimeDimension).map(xe=>({componentCode:xe.id,operator:X.QueryFilterType.IN,values:[]}));return{...ne,filters:Fe}}),$=Xo(R,F,t?.constraintsMap,v.map);q?.(!0),Ce($,A,q)},[o,v.map,Ce,V,l,t]),c.useEffect(()=>{y?.length&&K(on(y))},[y]),c.useEffect(()=>{M(R=>Jt(R,I))},[I]),c.useEffect(()=>{if(C===E.PopUpState.Opened){H(void 0);const R=y.find($=>!$.isTimeDimension);j(R?{...R,isSelectedFilter:!0}:void 0),M(y);const F=new Set(o?.filter($=>$.disabled).map($=>$.urn));_(F),de(F)}C===E.PopUpState.Closed&&j(void 0)},[y,o,C]),c.useEffect(()=>{if(!I||I.isTimeDimension)return;const R=Ke(I);if(!R)return;ue.get(R)||Le(I)},[I,ue,Le]),c.useEffect(()=>{C===E.PopUpState.Opened&&y.forEach(R=>{if(R.isTimeDimension)return;const F=Ke(R);F&&!ue.has(F)&&Le(R)})},[C,y,ue,Le]);const Pe=c.useCallback(async R=>{const F=ce.current,$=o?.map(be=>({...be,disabled:O.has(be.urn)})),ne=$?.filter(be=>!be.disabled),Fe=ii(ne,R),xe=F?{...F,messages:Mi(F.messages,$,Fe)}:null;h?.(xe),p?.($?.map(be=>({...be,filters:be.disabled?be.filters??[]:Fe.get(be.urn)??[]}))??[]),await f(decodeURI(u),{name:xe?.name,messages:xe?.messages||[]})},[u,o,O,h,f,p]),ke=c.useCallback((R,F)=>{M($=>Do($,R,F)),_e(I,R)&&j($=>$&&{...$,displayMode:F})},[I]),$e=c.useCallback(R=>oi(R,o,t?.dimensionsMap),[o,t?.dimensionsMap]),Re=c.useMemo(()=>{const R=Ct(y,z.current,!1,v.map),F=Ct(T,z.current,!1,v.map),$=wn($e(R),$e(F)),ne=wn([...ie].sort(),[...O].sort());return $&&ne},[y,T,ie,O,$e,v.map]),Ue=c.useCallback((R,F)=>{const $=Tt(R,F,l,v.map);z.current=F?.constraintsMap,j(ne=>$?.find(Fe=>_e(Fe,ne))||ne),M($),Q(!1)},[v.map,l]),He=c.useCallback((R,F)=>{Q(!0),M(Qt(R));const $=Ct(R,z.current,!1,v.map),ne=z.current||t?.constraintsMap||new Map,Fe=fs(F,$,e,v.map,R);Fe&&je();const xe=ms(F,$,e,v.map,R);Promise.allSettled(xe).then(be=>{const tt=ps(ne,hs(be));Ue($,{...t,constraintsMap:tt})}).catch(()=>{Ue($,{...t,constraintsMap:ne})}).finally(()=>{Fe&&Te()})},[e,v.map,Te,je,t,Ue]),st=c.useCallback(R=>{const F=o?.find(ne=>ne?.urn===R?.datasetUrn),$=To(T,R);He($,R?.datasetUrn?F?[F]:[]:o)},[He,T,o]),Z=c.useCallback(()=>{_(new Set)},[]),fe=c.useCallback((R,F)=>{_($=>{const ne=new Set($);return F?ne.delete(R):ne.add(R),ne})},[]),se=c.useCallback(()=>{z.current=ee,w(E.PopUpState.Closed),N(!0)},[ee,w,N]),le=c.useCallback(()=>{const R=Mo(T);He(R,o),_(new Set)},[He,T,o]),ze=c.useCallback(()=>{const R=o?.map(be=>({...be,disabled:O.has(be.urn)})),F=Ct(T,z.current,!1,v.map,O),$=Tt(F,{...t,constraintsMap:z.current},l,v.map),ne=$e(F),Fe=Jo($,o?.map(be=>be.urn)??[],o,v.map,F),xe=(o?.map(be=>be.urn)??[]).filter(be=>!Fe.has(be));for(const be of xe){const tt=F.get(be);tt&&F.set(be,tt.map(Je=>!Je.isTimeDimension&&Je.dimensionValues?.length&&!Je.dimensionValues.some(dt=>dt.isSelectedValue)?{...Je,isExcluded:!0}:Je))}r?.(ne,z.current,R?.filter(be=>Fe.has(be.urn)||be.disabled),F,$),A($),w(E.PopUpState.Closed),N(!0),c.startTransition(()=>{Pe(F)})},[$e,T,t,l,v.map,r,o,O,Pe,w,N]),U=R=>{H(R)},G=c.useMemo(()=>o?.map(R=>{const F=t?.structuresMap?.get(R.urn)?.dataflows?.[0],$=D.getLocalizedName(F,l??""),ne=$?D.generateShortUrn($,"",F?.agencyID):void 0;return ne?{...R,title:ne}:R}),[o,t?.structuresMap,l]),te=Y||J||Re;return i.jsxs("div",{className:"filters-container",children:[i.jsx(wi,{buttonProps:n,selectedFiltersCount:Pn(L),isLoading:Y,setModalState:w,isModalClosed:b,warningIcon:g?.warningIcon,filterIconClassName:S}),i.jsx(i.Fragment,{children:C===E.PopUpState.Opened&&i.jsxs(E.Popup,{heading:x?.settings||"Settings",portalId:"filters",size:E.PopUpSize.LG,containerClassName:"advanced-view-filters-modal h-[80%]",dividers:s?.isShowDividers,onClose:se,closeButtonTitle:x?.close||"Close",children:[i.jsx(pi,{locale:l,timeRangeOptions:d,filtersList:T,selectedFilter:I,isDisableValues:J,isValuesLoading:pe,modalProps:s,initialConstraintsMap:t?.constraintsMap,datasetIcon:a,structuresMap:t?.structuresMap,setSelectedFilter:j,onSelectDisplayMode:ke,onDeleteFilter:st,onClearAllFilters:le,updateSelectedFilterValues:Ie,onTimePeriodChange:U,selectedTimeOption:k,hierarchyStateMap:ue,onSelectHierarchy:ye,onExpandHierarchyNode:ge,dataQueries:G,disabledDatasetUrns:O,onToggleDataset:fe,onClearAllDatasets:Z}),i.jsx(Ci,{onApply:ze,onClose:se,onClearAllFilters:le,modalProps:s,applyDisabled:te,limitMessages:g})]})})]})},fu=({filtersProps:e,actions:t,attachments:n,attachmentsDataQuery:s,dataQueries:o,dimensions:r,locale:l,isDataLoading:d,setIsFiltering:a,filters:u,onFiltersChange:m})=>{const{titles:h,limitMessages:f}=we(),p={getConstraints:t.getConstraints,getAvailableHierarchies:e.actions?.getAvailableHierarchies,getHierarchy:e.actions?.getHierarchy},{isCrossDatasetModeOn:g}=Ge();return c.useEffect(()=>{d||a?.(!1)},[d,a]),i.jsx("div",{className:"h-full min-h-0 rounded bg-white",children:i.jsxs("div",{className:"flex h-full flex-col gap-4 overflow-x-hidden",children:[i.jsxs("div",{className:"data-details-header flex items-center justify-between",children:[i.jsx("h2",{children:h?.content??"Content"}),g?i.jsx(mu,{attachmentsDataQuery:s,dataQueries:o,updateDataQueries:t?.updateDataQueries,locale:l,actions:p,dimensions:r,...e,onFiltersChange:m,limitMessages:f}):i.jsx(Ul,{attachmentsDataQuery:s,dataQueries:o,updateDataQueries:t?.updateDataQueries,locale:l,actions:p,dimensions:r,...e,onFiltersChange:m,limitMessages:f})]}),i.jsx("div",{className:"advanced-view-attachments-container min-h-0 flex-1",children:i.jsx(uu,{attachments:n,currentDataQuery:s,dataQueries:o,dimensions:r,actions:t,isShowAttachments:!0,isDataSetAttachments:!0,isDataLoading:d,locale:l,filters:u})})]})})},hu=({isShowAgency:e,isShowDatasetBadge:t,dataset:n,data:s,structures:o,metadataSettings:r,locale:l,getDatasetUpdatedTime:d,externalLink:a,datasetIcon:u,externalLinkIcon:m,metadataButtonClassName:h,metadataIconClassName:f,infoSegmentContainerClassName:p,infoSegmentHeaderClassName:g,nameAndMetadataContainerClassName:S})=>{const{titles:x}=we(),v="dataset-metadata-side-panel",[C,w]=c.useState(""),[b,N]=c.useState(!1),T=c.useRef(null),[M,y]=c.useState(""),[A,I]=c.useState(""),[j,L]=c.useState(!1),{onboardingFileSchema:K,isShowOnboarding:k}=Ye(),{isOpenedAdvancedView:H}=We(),z=pt(),{isMetadataInSidePanel:ee}=Ge(),{getDatasetLastUpdated:P}=ct(),[Y,q]=c.useState(!1),J=c.useMemo(()=>r?.isMetadataDescription?Oc(n,C,l,x):[],[n,C,l,r?.isMetadataDescription,x]),Q=c.useMemo(()=>[...r?.isMetadataDescription?[]:[Pt(n,l,x)],...Wi($i(s),D.getStructureComponentsMap(o),l)],[s,n,l,r?.isMetadataDescription,o,x]),pe=c.useMemo(()=>_t(n,C,l,x),[n,C,l,x]),ve=c.useCallback(()=>{if(ee&&z){z.openPanel({id:v,scope:H?"advanced":"conversation",title:"Dataset Metadata",bodyClassName:"overflow-hidden",content:i.jsx(Ft,{locale:l,metadata:Q,metadataDescription:J,datasetInfo:pe,externalLink:a})}),q(!0);return}N(!0)},[J,Q,pe,a,ee,H,l,z]),De=c.useCallback(()=>{N(!1),q(!0)},[]);c.useEffect(()=>{const ie=d&&d(Q)||Vt(P(n),l);w(ie)},[n,l,Q,d,P]),c.useEffect(()=>{if(k){const{title:_,description:ie}=at(Oe.METADATA_PER_DATASET,x);y(_),I(ie)}},[x,k]),c.useEffect(()=>{k&&L(K?.lastDisplayedElement===Oe.METADATA_PER_DATASET)},[K?.lastDisplayedElement,k]);const O=(_,ie)=>i.jsxs("div",{className:Ze("flex gap-1 text-neutrals-1000",p),children:[i.jsxs("span",{className:Ze("text-neutral-800",g),children:[_,":"]}),i.jsx("span",{children:ie})]});return i.jsxs("div",{className:"dataset-info flex flex-col gap-3 bg-white",children:[t&&i.jsxs("div",{className:"bg-accent-500 body-2 flex w-fit items-center gap-1 rounded-[20px] px-2 py-1",children:[u,x?.dataset??"Dataset"]}),i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsxs("div",{role:"heading","aria-level":4,className:Ze("flex gap-1 items-center h4",S),children:[i.jsx("div",{ref:T,children:i.jsx(E.IconButton,{title:x?.metadata??"View details",buttonClassName:Ze("!text-neutrals-1000 !border-none !w-4 !h-4 !p-0 shrink-0",h),icon:i.jsx(Oi,{className:Ze("size-4",f)}),onClick:ve})}),i.jsx("span",{children:D.getLocalizedName(n,l)})]}),a&&i.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",children:m||i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})})]}),i.jsxs("div",{className:"body-3 flex items-center gap-2",children:[e&&i.jsxs(i.Fragment,{children:[O(x?.agency??"Agency",n?.agencyID??""),i.jsx("div",{"aria-hidden":"true",className:"h-[14px] border-l border-l-neutral-500"})]}),O(x?.lastUpdated??"Last updated",C)]})]}),j&&i.jsx(lt,{reference:T,title:M,description:A,onReferenceClick:ve,shouldCloseTooltip:Y}),b&&i.jsx($n,{locale:l,metadata:Q,metadataDescription:J,isOpenMetadata:b,onCloseMetadata:De})]})},pu=({locale:e,isShowShare:t,shareConversationProps:n,conversation:s})=>{const{titles:o}=we(),{setIsOpenedAdvancedView:r}=We(),l=c.useRef(null),[d,a]=c.useState(""),[u,m]=c.useState(""),[h,f]=c.useState(!1),{onboardingFileSchema:p,isShowOnboarding:g}=Ye();return c.useEffect(()=>{if(g){const{title:S,description:x}=at(Oe.EXIT_ADVANCED_VIEW,o);a(S),m(x)}},[o,g]),c.useEffect(()=>{g&&f(p?.lastDisplayedElement===Oe.EXIT_ADVANCED_VIEW)},[p?.lastDisplayedElement,g]),i.jsxs("header",{className:W("bg-white px-6 py-4 flex justify-between items-center sm:px-0","advanced-view-header"),children:[i.jsxs("div",{className:W("flex gap-3 items-center",!t&&"justify-between w-full","advanced-view-header-title"),children:[i.jsx("div",{ref:l,className:W(!t&&"order-2","flex"),children:i.jsx(E.CloseButton,{btnClassNames:"button-close",onClick:()=>r(!1),title:o?.close||"Close"})}),h&&i.jsx(lt,{reference:l,title:d,description:u,onReferenceClick:()=>r(!1),shouldMoveToNextStep:!0}),i.jsx("h2",{children:o?.advanceViewTitle??"Advanced view"})]}),t&&i.jsx(ho,{locale:e,conversation:s,...n})]})};function gu(e,t,n,s,o,r,l,d,a){const u=Cu(e,n),m=a?.startPeriod&&a.endPeriod?D.getAdditionalColumns(d,a):[],h=xu(e,t,n,s,o,r,m);return[bc(e,t?.data,n,o,r,l),...u,...h,Vi(e,t?.data,n,void 0,r,l)]}function Cu(e,t){const n=e.conceptSchemes||[],s=e.codelists||[],o=D.getDimensions(e)?.dimensions||[];return o.map(r=>{const{codeList:l,concept:d}=fn(r,n,s),a=u=>{const{data:m,colDef:h}=u,f=h.field;return qn(o,f,l,m,t)};return{headerName:D.getLocalizedName(d,t),field:r.id,colId:r.id,valueGetter:a,...St,tooltipValueGetter:u=>u.value}})}function xu(e,t,n,s,o,r,l){const d=wu(l,D.getTimePeriods(t));return vu(d,(u,m)=>Su(u,m||u,s,r),e,n,o,r)}const Su=(e,t,n=X.defaultFormatNumbers,s)=>({headerName:wo(t,s),colId:e,field:e,type:"numericColumn",suppressColumnsToolPanel:!0,sortable:!1,width:Dt,cellClass:["justify-end","cell-with-meta"],valueFormatter:o=>X.formatNumberBySign(o.value,n)}),vu=(e,t,n,s,o,r)=>{const l=[];return e.sort((a,u)=>D.sortPeriods(a,u)).forEach(a=>{l.push({headerName:a.toString(),field:a.toString(),...t(a.toString()),valueGetter:u=>u.data[u.column.getColId()]?.value?.[0]?.value||null,cellClass:ht,cellRenderer:ln,width:Dt,cellRendererParams:{dataSetData:n,locale:s,metadataSettings:o,titles:r}})}),l},wu=(e=[],t=[])=>{if(!e.length)return t;if(!t.length)return e;const n=t.some(u=>D.isYearly(u)),s=t.some(u=>D.isSemiAnnually(u)),o=t.some(u=>D.isQuarterly(u)),r=t.some(u=>D.isMonthly(u)),l=t.some(u=>D.isWeekly(u)),d=t.some(u=>D.isDaily(u)),a=e.filter(u=>D.isYearly(u)?n:D.isSemiAnnually(u)?s:D.isQuarterly(u)?o:D.isMonthly(u)?r:D.isWeekly(u)?l:D.isDaily(u)?d:!0);return Array.from(new Set([...a,...t]))};function bu(e,t,n){const s=t.map(r=>r.id).filter(r=>r!=null),o=n.map(r=>r.id).filter(r=>r!=null);return Du(e,s,o,s)}const Du=(e,t,n,s)=>{const o={};for(const r of e){const l=Tu(r,t),d=yu(l,s);let a=o[d];if(a==null){a={},o[d]=a;for(const m of s)a[m]=l[m]}const u=Os(r.attributes);if(ks(a,d,u,r),!r.values.length){_s(a,l,n);continue}for(const m of r.values){const h=Os(m.obsAttributes);ks(a,d,u,r),_s(a,l,n,m.dimensionAtObservation,Mu(r,m),h)}}return Object.values(o)},yu=(e,t)=>t.map(n=>e[n]).join("_"),Eu=(e,t,n)=>t.map(s=>s==="TIME_PERIOD"?n:e[s]).join("_"),_s=(e,t,n,s,o,r)=>{const l=Eu(t,n,s);e[l]={value:o,obsAttributes:r}},Tu=(e,t)=>{const n={},s=e.name.split(".");for(let o=0;o<t.length;o+=1)n[t[o]]=s[o];return n},Mu=(e,t)=>{const n=Vs(e.attributes);if(n)return[n];const s=Vs(t.obsAttributes);return s?[s]:t.values},Vs=(e=[])=>e.find(({name:t})=>t==="OBS_VALUE"),Os=(e=[])=>e.filter(({value:t})=>t),ks=(e,t,n,s)=>{e.attributes??=n,e.id=t,e.originalData=s},Nu="#EEEEEE",Iu="#777777";function Au(e,t,n){const s={animation:!1,tooltip:{trigger:"axis",appendToBody:!0,formatter:o=>{let r=o[0].axisValueLabel+"<br/>";return o.forEach(l=>{l.value!==null&&l.value!==void 0&&(r+=l.marker+" "+l.seriesName+": "+l.value+"<br/>")}),r}},legend:{bottom:0},grid:{left:"3%",right:"3%",bottom:"40px",containLabel:!0},xAxis:{...Us(n?.ticksColor,n?.labelsColor),type:"category",boundaryGap:!1,data:e},yAxis:{...Us(n?.ticksColor,n?.labelsColor),type:"value"},series:t};return n?.colors!=null&&(s.color=n.colors),s}function Us(e=Nu,t=Iu){return{splitLine:{show:!0,showMaxLine:!1,lineStyle:{color:[e]}},axisTick:{show:!1},axisLabel:{color:t},axisLine:{lineStyle:{color:e}}}}function rr(e,t,n,s){return t.map(r=>{const l=D.getDimensions(n)?.dimensions||[],d=l?.find(u=>u.id===r);if(d==null)return e[r]||"";const{codeList:a}=fn(d,n.conceptSchemes||[],n.codelists||[]);return qn(l,r,a,e,s)}).join(" - ")}function ju(e,t){const n=[...t?.metadata?.indicatorDimensions||[]].filter(r=>r!=null),o=D.getDimensions(e)?.dimensions?.filter(r=>r.id!=null&&!n.includes(r.id)&&t?.metadata?.countryDimension!==r.id).map(r=>r.id).filter(r=>r!=null)||[];return[...n,...o]}function Ru(e,t,n){const s={};return e.forEach(o=>{const r=Lu(o,t,n);s[r]||(s[r]={rows:[]}),s[r].rows.push(o)}),Object.keys(s).map(o=>s[o])}function Lu(e,t,n){const s=n.dataStructures?.[0]?.dataStructureComponents?.dimensionList?.dimensions||[];return t.map(r=>s?.find(d=>d.id===r)==null?e[r]||"":nr(s,r,e)).join(" - ")}function Fu(e,t){const n={};return e.forEach(s=>n[s]=Pu(s,t)),{nonUniqDimensions:e.filter(s=>!n[s])}}function Pu(e,t){const n=t.map(o=>_u(e,o));return new Set(n).size===1}function _u(e,t){return t[e]}const Vu="line",Bt=10,Ou=2;function ku(e){return typeof e=="number"?Number.isFinite(e):typeof e=="string"&&e.trim()!==""?Number.isFinite(Number(e)):!1}function ar(e){const t=(e.groups??[]).flatMap(n=>n.units);return[...e.units,...t].some(n=>n.isPlottable)}function lr(e,t,n,s,o){const r=Xn(t,e,n,s,o,{includeChartData:!1}),d=D.getTimePeriods(t).sort((h,f)=>D.sortPeriods(h,f)),a=ju(e,n),{nonUniqDimensions:u}=Fu(a,r);return{units:Ru(r,u,e).map(h=>cr(h,e,n,d,s,o))}}function Uu(e,t,n,s,o){let r;return()=>(r??=lr(e,t,n,s,o),r)}function Hu(e,t,n,s,o,r){return cr({rows:[e]},n,s,t,o,r)}function cr(e,t,n,s,o,r){const l=Wu(e.rows,t,n,o),d=l?.find(m=>D.FREQUENCY_DIMENSION_ID.includes(m?.id))?.id,a=Gu(s,e?.rows?.[0],d),u=zu(e.rows.length>Bt?e.rows.slice(0,Bt):e.rows,t,n,o,a);return{rows:e.rows,limitedByRowsAmountTo:e.rows.length>Bt?Bt:void 0,dimensions:l,config:Au(a,u,r),isPlottable:Bu(u)}}function Bu(e){return e.some(t=>t.data.filter(ku).length>=Ou)}function Gu(e,t,n){if(n){const s=t?.[n];if(s===D.Periods.MONTHLY)return e?.filter(o=>D.isMonthly(o));if(s===D.Periods.QUARTERLY)return e?.filter(o=>D.isQuarterly(o));if(s===D.Periods.ANNUAL)return e?.filter(o=>D.isYearly(o))}return e}function zu(e,t,n,s,o){return e.map(r=>({name:n?.metadata?.countryDimension==null?"":rr(r,[n?.metadata?.countryDimension],t,s),type:Vu,data:o.map(l=>$u(l,r))}))}function $u(e,t){return t[e]?.value?.[0]?.value||null}function Wu(e,t,n,s){const o=n?.metadata?.countryDimension;return(D.getDimensions(t)?.dimensions||[]).map(r=>{if(!(r.id==null||r.id===o))return{id:r.id,title:Ku(r,t,s),value:rr(e[0],[r.id],t,s)}}).filter(r=>r!=null)}function Ku(e,t,n){const s=t.conceptSchemes||[],o=t.codelists||[],{concept:r}=fn(e,s,o);return D.getLocalizedName(r,n)||e.id}function Xn(e,t,n,s,o,r={}){const l=e==null?[]:D.getParsedResponse(e),d=D.getDimensions(t)?.dimensions||[],a=D.getDimensions(t)?.timeDimensions||[],u=bu(l,d,a);return r.includeChartData===!1?u:Yu(u,e,t,n,s,o)}function Yu(e,t,n,s,o,r){const d=D.getTimePeriods(t).sort((a,u)=>D.sortPeriods(a,u));return e.map(a=>({...a,[At]:()=>Hu(a,d,n,s,o,r)}))}function qu(e,t,n,s,o,r,l,d,a,u,m){return{columns:gu(e,t,s,o,r,d,a,u,m),data:Xn(t,e,n,s,l)}}function Zu(e,t,n,s,o,r,l,d,a,u,m){const h=e.dataflows?.[0]?.names?.[s],f=qu(e,t,n,s,o,r,l,d,a,u,m);return{title:h||d?.dataGrid||"Data Grid",grid_data:f}}function Xu(e){const t=e.replace(/\r\n/g,`
|
|
8
|
-
`);if(!t.startsWith("```"))return{code:e};
|
|
9
|
-
`),
|
|
10
|
-
`),language:
|
|
11
|
-
`),language:o}}const Ju=["python"];function dr(e,t,n){return e.filter(s=>s.type===he.AttachmentType.MARKDOWN).filter(s=>!t||s.title?.includes(t)).map(s=>{const o=Xu(s.data??"");return{title:n??"Code samples",type:he.AttachmentType.CUSTOM_CODE_SAMPLE,language:o.language,data:o.code}}).filter(s=>Ju.includes(s.language??""))}function Qu(e,t){return e?.find(s=>s.type===he.AttachmentType.MARKDOWN&&s.data?.includes("```python")&&s.title?.includes(t.urn))?.title??t.urn}function ur(e){const{getPythonAttachment:t,dataQueries:n,requestIdRef:s,codeTitle:o,markdownTitle:r,datasetUrn:l,setCodeAttachments:d,onCodeAttachmentUpdated:a}=e,u=++s.current;t(n).then(m=>{u===s.current&&m?.python_code&&(d([{type:he.AttachmentType.CUSTOM_CODE_SAMPLE,data:m.python_code,language:"python",title:o}]),a?.({type:he.AttachmentType.MARKDOWN,title:r,data:`\`\`\`python
|
|
12
|
-
${m.python_code}
|
|
13
|
-
\`\`\``},l))}).catch(m=>console.error("Error refreshing python attachment:",m))}const em="Data Grid",tm="Data",nm="Chart",sm=e=>({title:e||em,type:he.AttachmentType.CUSTOM_DATA_GRID}),mr=e=>({title:e||nm,type:he.AttachmentType.CUSTOM_CHART}),om=e=>({title:e||tm,type:he.AttachmentType.CROSS_DATASET_GRID});function fr(e,t,n,s,o,r,l,d,a,u=!1,m,h=!1){const[f,p]=c.useState(),[g,S]=c.useState(),[x,v]=c.useState(),[C,w]=c.useState(),[b,N]=c.useState(sm(l?.dataGrid)),[T,M]=c.useState(mr(l?.chart)),[y,A]=c.useState(!1),[I,j]=c.useState([]),[L,K]=c.useState([]),[k,H]=c.useState([]),[z,ee]=c.useState(!1),[P,Y]=c.useState(!1),q=c.useRef(0),[J,Q]=c.useState({startPeriod:null,endPeriod:null}),{getConstraints:pe,getDataSet:ve,getDataSetData:De,putOnboardingFile:O,getPythonAttachment:_}=e,ie=c.useCallback(V=>{if(!V)return;const B=D.getDimensions(V);S(V.dataflows?.[0]||void 0),w(V||void 0),K([...B?.dimensions||[],...B?.timeDimensions||[]])},[]),de=c.useCallback(async V=>{const B=It(D.getFiltersDtoFromDataQuery(V));try{const re=(await nt(pe,et(V.urn,B),()=>pe(V.urn,B)))?.data?.dataConstraints||[];v(re)}catch{v([])}},[pe]),ce=c.useCallback(async V=>{const B=a?{data:a}:await nt(ve,et(V.urn),()=>ve(V.urn));if(B?.data){const oe=D.getDimensions(B.data);ie(B.data);const re=oe?.dimensions==null?null:D.getTimeSeriesFilterKey(oe?.dimensions,V.filters??[]),me=Po(V,oe);nt(De,et(V.urn,{filterKey:re,timeFilter:me}),()=>De(V.urn,{filterKey:re,timeFilter:me})).then(ue=>{Y(!0),p(ue||void 0),H(D.getStructureDimensions(ue))}).finally(()=>ee(!1))}},[ie,ve,De,a]);c.useEffect(()=>{ie(a)},[ie,a]),c.useEffect(()=>{async function V(B){ee(!0);try{await Promise.all([...h?[]:[de(B)],ce(B)])}catch(oe){console.error("Error loading dataset details",oe)}}n!=null&&!(u&&!a)?V(n):n!=null&&u&&ee(!0)},[n,a,u,de,ce,h]);const je=c.useCallback((V,B,oe)=>{try{ee(!0),v(B);const re=oe?.find(me=>me.id===D.TIME_PERIOD)?.timeRange;if(re&&Q(re),nt(De,et(n?.urn||"",V),()=>De(n?.urn||"",V)).then(me=>{Y(!0),p(me||void 0),H(D.getStructureDimensions(me))}).finally(()=>ee(!1)),_&&n&&oe){const me=Oo(n,oe,!1);ur({getPythonAttachment:_,dataQueries:[me],requestIdRef:q,codeTitle:l?.codeSamples||"Python Code",markdownTitle:Qu(d,n),setCodeAttachments:j,onCodeAttachmentUpdated:m,datasetUrn:n.urn})}}catch(re){console.error("Error loading dataset data",re)}},[n,De,_,l,d,m]);c.useEffect(()=>{if(C!=null&&f!=null&&x?.length){Y(!0);const V=Rt(()=>{N(B=>({...B,...Zu(C,f,n,t,s,r,o,l,O,x,J)})),Y(!1)});return()=>{V(),Y(!1)}}(f==null||x!==void 0)&&Y(!1)},[C,f,l,t,s,n,r,o,x,J,O]),c.useEffect(()=>{if(C==null||f==null)return;const V=Uu(C,f,n,t,o);return M(B=>({...B,charting_data:void 0,getChartingData:V})),A(!1),Rt(()=>{try{A(ar(V()))}catch(B){console.error("Error evaluating chart plottability",B),A(!1)}})},[C,f,n,t,o]),c.useEffect(()=>{if(d?.length){const V=dr(d,n?.urn,l?.codeSamples);V.length>0&&j(V)}},[d,l,n]);const Te=c.useMemo(()=>[b,...y?[T]:[],...I],[b,T,I,y]);return{dataMessage:f,structures:C,dataset:g,dimensions:L,structureDimensions:k,onFiltersChange:je,constraints:x,isLoadingGridData:z||P,dataSetAttachments:Te}}function hr(e,t,n,s){let o=-1;if(n)o=e.findIndex(a=>a.id===n);else for(let a=e.length-1;a>=0;a--)if(e[a].role===Ae.Role.System){o=a;break}if(o===-1||e[o].role!==Ae.Role.System)return null;const r=e[o].custom_content?.attachments??[],l=a=>a.type==="text/markdown"&&a.data?.includes("```python"),d=[...r.filter(a=>l(a)?s?!a.title?.includes(s):!1:!0),t];return e.map((a,u)=>u===o?{...a,custom_content:{...a.custom_content,attachments:d}}:a)}const Hs=async(e,t)=>{const n=new Map,s=D.getFiltersDtoMapFromDataQuery(e);return(await Promise.allSettled(e.map(async r=>{const l=It(s?.get(r.urn)||[]);return{urn:r.urn,response:await nt(t,et(r.urn,l),()=>t(r.urn,l))}}))).forEach(r=>{if(r.status==="fulfilled"){const l=r.value.response?.data?.dataConstraints;Array.isArray(l)&&n.set(r.value.urn,l)}}),n},im=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),rm=async(e,t,n,s,o)=>{const r=im();await Promise.allSettled(e.map(async d=>{const a=await nt(t,et(d.urn),()=>t(d.urn));if(a?.data){const u=D.getDimensions(a.data);r.datasetsMap?.set(d?.urn,a?.data?.dataflows?.[0]),r.structuresMap?.set(d?.urn,a?.data),r.dimensionsMap?.set(d?.urn,[...u?.dimensions||[],...u?.timeDimensions||[]])}}));const l=await o?.(r);return await Promise.allSettled(e.map(async d=>{const a=r.structuresMap?.get(d.urn);if(!a||l&&!l.has(d.urn))return;const u=D.getDimensions(a),m=u?.dimensions==null?null:D.getTimeSeriesFilterKey(u?.dimensions,d.filters??[]),h=Po(d,u);await pr(d,l?.get(d.urn)??{filterKey:m,timeFilter:h},n).then(({dataMessage:f,structureDimensions:p})=>{r?.dataMessagesMap?.set(d.urn,f),r?.structureDimensionsMap?.set(d.urn,p||[])}).catch(()=>{r?.structureDimensionsMap?.set(d.urn,[])}).finally(()=>s(!1))})),r},pr=async(e,t,n)=>{const s=await nt(n,et(e.urn,t),()=>n(e.urn,t));return{dataMessage:s,structureDimensions:D.getStructureDimensions(s)}};function am(e,t,n,s){return[cm(e,s),lm(e,t,n,s)]}function lm(e,t,n,s){const o=r=>{const l=r.data?.dataset?.urn;if(l==null)return"";const a=e.get(l)?.dataflows?.[0];return D.getLocalizedName(a,n)||""};return{headerName:s?.dataset||fd,field:Is,colId:Is,valueGetter:o,...St,tooltipValueGetter:r=>r.value,cellClass:ht,cellRenderer:_i,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:s}}}function cm(e,t){const n=s=>{const o=s.data?.dataset?.urn;return o==null?"":e.get(o)?.dataflows?.[0]?.agencyID||""};return{headerName:t?.agency||hd,field:As,colId:As,valueGetter:n,...St,tooltipValueGetter:s=>s.value}}function dm(e,t,n,s,o){return um(e).sort((d,a)=>D.sortPeriods(d,a)).map(d=>({...mm(d,s,o),valueGetter:u=>u.data[u.column.getColId()]?.value?.[0]?.value||null,cellClass:ht,cellRenderer:ln,width:Dt,cellRendererParams:{structuresMap:t,locale:n,titles:o}}))}function um(e){const t=new Set;return e.forEach(n=>{if(n==null)return;D.getTimePeriods(n).forEach(o=>t.add(o))}),Array.from(t)}function mm(e,t=X.defaultFormatNumbers,n){return{headerName:wo(e,n),colId:e,field:e,type:"numericColumn",suppressColumnsToolPanel:!0,sortable:!1,width:Dt,cellClass:["justify-end","cell-with-meta"],valueFormatter:s=>X.formatNumberBySign(s.value,t)}}function fm(e,t,n,s,o,r,l=Xe.Compact){const d=new Map([...n.entries()].map(([h,f])=>[h,f?.data])),a=am(e,d,s,o),u=bd(e,t,s,o,l),m=dm(n,e,s,r,o);return[Dc(e,d,s,o),...a,...u,...m,Vi(void 0,void 0,s,void 0,o)]}function hm(e,t,n,s,o){const r=[];return n.filter(l=>!l.disabled).forEach(l=>{const d=l.urn,a=t.get(d),u=e.get(d);if(a==null||u==null)return;const m=Xn(a,u,l,s,o),h=D.getLocalizedName(u.dataflows?.[0],s);r.push(...m.map(f=>({...f,dataset:{urn:d},datasetTitle:h})))}),r}function pm(e,t,n,s,o,r,l,d,a,u,m,h=Xe.Compact){const f=gm(e,t,n,s,o,r,l,d,a,u,m,h);return{title:a?.dataGrid||"Data",gridContent:f}}function gm(e,t,n,s,o,r,l,d,a,u,m,h=Xe.Compact){return{columns:fm(e,n,t,o,a,r,h),data:hm(e,t,s,o,d)}}function Cm(e,t,n,s,o){let r;return()=>(r??=xm(e,t,n,s,o),r)}function xm(e,t,n,s,o){const r=n.filter(l=>!l.disabled).flatMap(l=>{const d=e.get(l.urn),a=t.get(l.urn);return!d||!a?[]:[{title:D.getLocalizedName(d.dataflows?.[0],s),units:lr(d,a,l,s,o).units}]});return{units:r.flatMap(l=>l.units),groups:r}}const Sm=5e3;function gr(e,t,n,s,o,r,l,d,a,u=Xe.Compact,m){const h=Array.isArray(d)?d:void 0,[f,p]=c.useState(),[g,S]=c.useState(),[x,v]=c.useState(!1),[C,w]=c.useState(h?new Set(h):null),[b,N]=c.useState(!1),T=c.useRef(0),M=c.useRef(u),y=c.useRef(f),A=c.useRef(0),I=c.useRef(null),[j,L]=c.useState(om(m?.dataGrid)),[K,k]=c.useState(mr(m?.chart)),[H,z]=c.useState(!1),[ee,P]=c.useState([]),{getConstraints:Y,getDataSet:q,getDataSetData:J,getPythonAttachment:Q}=e,pe=c.useRef(n);pe.current=n;const ve=c.useRef(h);ve.current=h;const De=c.useMemo(()=>n?.map(V=>V.urn).join(",")??"",[n]),O=ct(),{getDimensionsScheme:_}=O,ie=c.useCallback(async V=>{try{const B=await Hs(V.map(me=>({...me,filters:[]})),Y),oe=qa(V,B,O.map),re=oe===V?B:await Hs(oe,Y);return p(me=>({...me,constraintsMap:re})),re}catch{const B=new Map;return p(oe=>({...oe,constraintsMap:B})),B}},[O.map,Y]),de=c.useCallback(async(V,B)=>{const oe=await rm(V,q,J,v,async re=>{const me=V.filter(ae=>!ae.disabled),ue=gs(me,re,B,t,O.map);if(ue)return w(ue.compatibleUrns),ue.filterParamsMap});p(re=>({...re,...oe,constraintsMap:B??re?.constraintsMap}))},[O.map,q,J,t]),ce=c.useCallback(V=>{const B=new Map;for(const oe of V)B.set(oe.urn,_(oe.urn));S(B)},[_]);c.useEffect(()=>{async function V(oe){const re=ve.current;w(re?new Set(re):null),v(!0);try{ce(oe);const me=await ie(oe);await de(oe,me)}catch(me){console.error("Error loading dataset details",me)}finally{v(!1)}}const B=pe.current;B?.length&&V(B)},[De,ie,ce,de]),c.useEffect(()=>{if(l?.length){const V=dr(l,void 0,m?.codeSamples);V.length>0&&P(V)}},[l,m]),c.useEffect(()=>()=>{I.current!==null&&clearTimeout(I.current)},[]),c.useEffect(()=>{const V=M.current!==u&&y.current===f;M.current=u,y.current=f;const{structuresMap:B,dataMessagesMap:oe,constraintsMap:re}=f??{};if(B!=null&&B.size>0&&oe!=null&&re!=null&&g!=null&&!x){V||N(!0);const me=Rt(()=>{const ue=n?.filter(Ce=>!Ce.disabled),ae=C??new Set((ue??[]).map(Ce=>Ce.urn)),Le=us(ue,ae),ye=Et(B,ae),ge=Et(oe,ae),Ie=Et(g,ae);L(Ce=>({...Ce,...pm(ye,ge,Ie,Le,t,o,r,s,m,re,{},u)})),V||N(!1)});return()=>{me(),V||N(!1)}}V||N(!1)},[f,n,t,o,r,s,m,g,x,C,u]),c.useEffect(()=>{const{structuresMap:V,dataMessagesMap:B}=f??{};if(V!=null&&V.size>0&&B!=null&&!x){const oe=n?.filter(ye=>!ye.disabled),re=C??new Set((oe??[]).map(ye=>ye.urn)),me=us(oe,re),ue=Et(V,re),ae=Et(B,re),Le=Cm(ue,ae,me,t,s);return k(ye=>({...ye,charting_data:void 0,getChartingData:Le})),z(!1),Rt(()=>{try{z(ar(Le()))}catch(ye){console.error("Error evaluating cross-dataset chart plottability",ye),z(!1)}})}},[f,n,t,s,x,C]);const je=c.useMemo(()=>[j,...H?[K]:[],...ee],[j,K,ee,H]),Te=c.useCallback((V,B,oe,re,me)=>{try{v(!0);const ue=++A.current;I.current!==null&&(clearTimeout(I.current),I.current=null);const ae=oe?.filter(Re=>!Re.disabled)??[],Le=new Set(ae.map(Re=>Re.urn));if(w(Le),p(Re=>({...Re,constraintsMap:B})),!ae.length){v(!1);return}const ye=re?ii(ae,re):void 0,ge=ye?ae.map(Re=>({...Re,filters:ye.get(Re.urn)??[]})):ae,Ce=(B&&f?gs(ge,f,B,t,O.map):void 0)?.filterParamsMap??V,Pe=new Map,ke=()=>{if(Pe.size===0)return;N(!0);const Re=[...Pe.values()];Pe.clear(),p(Ue=>{const He=new Map(Ue?.dataMessagesMap),st=new Map(Ue?.structureDimensionsMap);return Re.forEach(({urn:Z,dataMessage:fe,structureDimensions:se})=>{He.set(Z,fe),st.set(Z,se||[])}),{...Ue,dataMessagesMap:He,structureDimensionsMap:st}})};I.current=setTimeout(()=>{I.current=null,ue===A.current&&Pe.size>0&&(ke(),v(!1))},Sm);const $e=ae.map(Re=>pr(Re,Ce?.get(Re?.urn),J).then(({dataMessage:Ue,structureDimensions:He})=>{Pe.set(Re.urn,{urn:Re.urn,dataMessage:Ue,structureDimensions:He})}));if(Promise.allSettled($e).finally(()=>{ue===A.current&&(I.current!==null&&(clearTimeout(I.current),I.current=null),ke(),v(!1))}),Q&&ae.length){const Re=ae.map(Ue=>Oo(Ue,me??re?.get(Ue.urn)??[]));ur({getPythonAttachment:Q,dataQueries:Re,requestIdRef:T,codeTitle:m?.codeSamples||"Python Code",markdownTitle:"Python Code",setCodeAttachments:P,onCodeAttachmentUpdated:a})}}catch(ue){console.error("Error loading dataset data",ue)}},[O.map,J,Q,t,a,f,m]);return{structureDataMaps:f,datasetDimensionsSchemesMap:g,isLoadingGridData:x||b,crossDatasetAttachments:je,activeDatasetUrns:C,onMultipleDataFiltersChange:Te}}const Cr=c.createContext(void 0),vm={setCrossDatasetAttachmentsState:()=>{}},wm=e=>{if(!e)return"";try{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachments:e.attachments})}catch{return JSON.stringify({dataQueriesKey:e.dataQueriesKey,activeDatasetUrns:e.activeDatasetUrns,isLoading:!!e.isLoading,attachmentsLength:e.attachments?.length??0})}},bm=({children:e})=>{const[t,n]=c.useState({}),s=c.useCallback(r=>{const l=wm(r);n(d=>d.signature===l?d:{...r,isLoading:!!r?.isLoading,signature:l})},[]),o=c.useMemo(()=>({...t,setCrossDatasetAttachmentsState:s}),[s,t]);return i.jsx(Cr.Provider,{value:o,children:e})},pn=()=>{const e=c.useContext(Cr);return e===void 0?vm:e},Dm=({attachmentsProps:e,actions:t,titles:n,shareConversationProps:s,metadataSettings:o,formattingSettings:r,locale:l,advanceViewStyles:d,getDatasetUpdatedTime:a,attachmentsConfig:u,datasetInfoOptions:m,limitMessages:h,...f})=>{const p=c.useMemo(()=>e.currentDataQuery?.urn??e.dataQueries?.[0]?.urn??"default",[e.currentDataQuery?.urn,e.dataQueries]),g=c.useMemo(()=>e?.dataQueries?.filter(ge=>!ge.disabled),[e?.dataQueries]),[S,x]=c.useState(Xe.Compact),{isOpenedAdvancedView:v}=We(),{activeDatasetUrns:C,dataQueriesKey:w,setCrossDatasetAttachmentsState:b}=pn(),{isCrossDatasetModeOn:N,isMetadataInSidePanel:T}=Ge(),M=ct(),y=!T,A=e.datasets??[],I=A.length>1&&!N,j=c.useMemo(()=>{const ge=f.filtersProps.conversation?.messages??[],Ie=Ti(ge);return Ie>=0?ge[Ie].custom_content?.attachments:void 0},[f.filtersProps.conversation?.messages]),L=c.useMemo(()=>ei(e.dataQueries),[e.dataQueries]),K=w===L?C:Qo(e.dataQueries,M.map),k=N&&!!e.dataQueries?.length,H=c.useRef(f.filtersProps.conversation);H.current=f.filtersProps.conversation;const z=c.useCallback((ge,Ie)=>{const Ce=H.current;if(!Ce)return;const Pe=hr(Ce.messages,ge,void 0,Ie);if(!Pe)return;const ke={...Ce,messages:Pe};f.filtersProps.setConversation?.(ke),f.filtersProps.updateConversation(decodeURI(f.filtersProps.conversationKey),{name:ke.name,messages:ke.messages})},[]),{dataMessage:ee,dataset:P,dimensions:Y,structureDimensions:q,structures:J,dataSetAttachments:Q,onFiltersChange:pe,isLoadingGridData:ve,constraints:De}=fr(t,l,e.currentDataQuery,r,e.styles?.chartingStyles,o,n,j,void 0,!1,z,k),O=y&&!!P,{structureDataMaps:_,crossDatasetAttachments:ie,activeDatasetUrns:de,isLoadingGridData:ce,onMultipleDataFiltersChange:je}=gr(t,l,e.dataQueries,e.styles?.chartingStyles,r,o,j,K,z,S,n);c.useEffect(()=>{if(!N||!e.dataQueries?.length){b();return}_&&b({attachments:ie,dataQueriesKey:L,activeDatasetUrns:de?Array.from(de):void 0,isLoading:ce})},[de,e.dataQueries?.length,ie,L,N,ce,b,_]);const[Te,V]=c.useState({filterKey:null,timeFilter:null}),[B,oe]=c.useState(),re=N?ce:ve,me=N?ie:Q,ue=c.useCallback((ge,Ie,Ce)=>{V(ge),oe(!0),pe(ge,Ie,Ce)},[pe]),ae=c.useCallback((ge,Ie,Ce,Pe,ke)=>{oe(!0),je(ge,Ie,Ce,Pe,ke)},[je]),Le=c.useCallback(ge=>{ge&&t?.updateCurrentDataQuery(e?.dataQueries?.find(Ie=>Ie?.urn===ge)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),ye=Nn(u?.isExternaLinkIncludeFilters,Te,e.currentDataQuery||e.dataQueries?.[0],Y);return i.jsx(sn,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:r,limitMessages:h,attachmentsConfig:u},children:i.jsx(vd,{currentUrn:p,structuresMap:_?.structuresMap,locale:l,dataQueries:g,gridViewMode:S,onGridViewModeChange:x,texts:{columnsDisplayTitle:e.styles?.columnsDisplayTitle,columnsSearchPlaceholder:e.styles?.columnsSearchPlaceholder,compactViewTitle:e.styles?.compactViewTitle,compactViewDescription:e.styles?.compactViewDescription,extendedViewTitle:e.styles?.extendedViewTitle,extendedViewDescription:e.styles?.extendedViewDescription},resetIcon:e.styles?.tableSettingsResetIcon,children:i.jsx(Ml,{children:i.jsxs("div",{className:"advanced-view flex h-full min-w-0 flex-1 flex-col",children:[i.jsx(pu,{locale:l,shareConversationProps:s,isShowShare:d?.isShowShare,conversation:f.filtersProps.conversation}),A.length?i.jsxs(i.Fragment,{children:[I&&i.jsx(Ai,{datasets:A,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:l,selectDataset:Le}),re&&!B?i.jsx(E.Loader,{}):i.jsxs(i.Fragment,{children:[O&&i.jsx(hu,{...m,locale:l,dataset:P,data:ee?.data,structures:J,metadataSettings:o,getDatasetUpdatedTime:a,externalLink:ye}),i.jsxs("div",{className:W("flex flex-1 min-h-0 overflow-auto",O&&"border-t border-neutrals-500"),children:[i.jsx("div",{className:W("flex-1 min-h-0 overflow-auto","advanced-view-filters"),children:i.jsx(fu,{...f,actions:t,attachments:me,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:Y,isDataLoading:re,locale:l,filtersProps:{...f?.filtersProps,structureDimensions:q,structures:J,structureDataMaps:_,onFiltersChange:pe,onMultipleDataFiltersChange:ae,initialConstraints:De},setIsFiltering:oe,filters:Te,onFiltersChange:ue})}),v&&i.jsx(Zi,{scope:"advanced"})]})]})]}):i.jsx(E.Loader,{})]})})})})};function ym(e,t,n,s,o,r){const[l,d]=c.useState([]),[a,u]=c.useState(),[m,h]=c.useState(!1),f=c.useRef(void 0);return c.useEffect(()=>{f.current=r},[r]),c.useEffect(()=>{let p=!0;async function g(S){h(!0);try{const x=await Promise.all(S.map(C=>nt(e,et(C.urn),()=>e(C.urn))));if(!p)return;const v=x?.map(C=>C?.data?.dataflows?.[0])?.filter(C=>!!C)||[];d(v),t(v),n(S),s(S.find(C=>C.urn===f.current?.urn)??S[0]),u(new Map(x?.map(C=>[D.generateShortUrn(C?.data?.dataflows?.[0]?.id,C?.data?.dataflows?.[0]?.version,C?.data?.dataflows?.[0]?.agencyID),C?.data])))}catch(x){console.error("Error loading datasets",x)}finally{p&&h(!1)}}if(!o?.length){h(!1);return}return g(o),()=>{p=!1}},[o,e,s,n,t]),{datasets:l,datasetStructuresMap:a,isLoading:m}}function Bs(e){const t=e?.filter(n=>yi(n));if(t?.every(n=>!!n?.data))return t?.map(n=>({title:n?.title,...Tm(Em(n?.data))}))}function Em(e){if(e)try{return JSON.parse(e)}catch(t){console.error("Invalid JSON:",t)}return null}function Tm(e){return{...e,filters:e?.filters?.map(t=>({...t,componentCode:t?.component_code||t?.componentCode})),metadata:{datasetUrl:e?.metadata?.datasetUrl,countryDimension:e?.metadata?.country_dimension||e?.metadata?.countryDimension,indicatorDimensions:e?.metadata?.indicator_dimensions||e?.metadata?.indicatorDimensions,timePeriodDimension:e?.metadata?.timePeriodDimension,keyDimensionIdsInDsdOrder:e?.metadata?.keyDimensionIdsInDsdOrder}}}var xr=(e=>(e.COMPLETED="completed",e))(xr||{});const Mm=({stage:e,stageRef:t,isCurrentStage:n})=>i.jsxs("div",{ref:t,className:"message-stage relative flex pb-8 last:mb-8 last:pb-0",children:[i.jsx("span",{className:"message-stage-line absolute h-full border-l"}),i.jsx(Be.IconPointFilled,{className:"message-stage-indicator z-10 flex shrink-0"}),i.jsxs("div",{className:"ml-2 w-full",children:[i.jsxs("div",{className:W("flex gap-2 items-center",e?.content&&"mb-4"),children:[n&&i.jsx(E.Loader,{}),i.jsx("h3",{className:"message-stage-name",children:e?.name})]}),i.jsx("div",{className:"prose max-w-full break-words",children:i.jsx(zs,{remarkPlugins:[$s],components:{strong:s=>i.jsx("strong",{className:"text-neutrals-1000",...s}),a:({href:s,children:o,...r})=>i.jsx("a",{href:s,target:"_blank",rel:"noreferrer",...r,children:o}),h1:({children:s,...o})=>i.jsx("h1",{className:"h1 text-neutrals-1000",...o,children:s}),h2:({children:s,...o})=>i.jsx("h2",{className:"h2 text-neutrals-1000",...o,children:s}),h3:({children:s,...o})=>i.jsx("h3",{className:"h3 text-neutrals-1000",...o,children:s}),h4:({children:s,...o})=>i.jsx("h4",{className:"h4 text-neutrals-1000",...o,children:s}),h5:({children:s,...o})=>i.jsx("h5",{className:"h5 text-neutrals-1000",...o,children:s}),code:s=>i.jsx("code",{className:"text-neutrals-900",...s}),pre:s=>i.jsx("pre",{className:"border border-neutrals-600 bg-neutrals-100",...s})},children:e?.content})})]})]}),Nm=({stages:e,expandIcon:t,processingTitle:n})=>{const[s,o]=c.useState(),[r,l]=c.useState(),d=c.useRef(null),a=c.useRef(null);c.useEffect(()=>{l(e?.filter(m=>m?.status!==xr.COMPLETED)?.at(-1))},[e]),c.useEffect(()=>{s&&a?.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[s]),c.useEffect(()=>{const m=d.current;let h;if(!m)return;const f=new IntersectionObserver(([p])=>{const g=p?.boundingClientRect?.top;h&&!p?.isIntersecting&&g<h&&o(!1),h=g},{threshold:0});return f.observe(m),()=>f.disconnect()},[]);const u=()=>{o(m=>!m)};return i.jsxs("div",{className:"message-stages",ref:d,children:[i.jsxs("div",{className:W("message-stages-header inline-flex max-w-full items-center cursor-pointer",!r?.name&&"default-header"),onClick:u,children:[i.jsx("p",{className:"message-stages-title truncate",children:r?.name||n||"Processing..."}),i.jsx("i",{className:W("message-stages-expand-icon",s&&"rotated"),children:t})]}),s&&e&&i.jsx("div",{className:"flex flex-col",children:e?.map(m=>i.jsx(Mm,{stage:m,stageRef:r?a:null,isCurrentStage:m?.index===r?.index},m.index))})]})},Im=2e3,Am=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:s,isStreaming:o=!1,isReadOnly:r=!1,isRegenerateAvailable:l=!1})=>{const{messageActionsTitles:d}=we(),a=n?.copy,u=n?.copied,m=n?.regenerate,h=n?.thumbUp,f=n?.thumbDown,p=n?.thumbPressed,[g,S]=c.useState(e.like??Ae.LikeState.NoState),[x,v]=c.useState(!1),C=c.useRef(null),{isAgentAvailable:w}=E.useAgentAvailability();c.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const b=T=>{e.responseId&&(S(T),s(e.responseId||"",T))},N=()=>{navigator.clipboard.writeText(e.content),v(!0),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{v(!1)},Im)};return i.jsxs("div",{className:W("message-actions","flex gap-x-2 pt-2"),children:[a&&i.jsx("p",{onClick:N,title:d?.copy,children:x&&u?u:a}),l&&m&&!r&&!o&&i.jsx("p",{onClick:w?()=>t?.(e):void 0,"aria-disabled":!w,title:d?.regenerate,className:W(!w&&"opacity-50 !cursor-not-allowed pointer-events-none"),children:m}),h&&!r&&g!==Ae.LikeState.Disliked&&(g===Ae.LikeState.NoState?i.jsx("p",{onClick:()=>b(Ae.LikeState.Liked),title:d?.like,children:h}):i.jsx("p",{title:d?.like,children:p})),f&&!r&&g!==Ae.LikeState.Liked&&(g===Ae.LikeState.NoState?i.jsx("p",{onClick:()=>b(Ae.LikeState.Disliked),title:d?.dislike,children:f}):i.jsx("p",{className:"rotate-180",title:d?.dislike,children:p}))]})},jm=({message:e,onEditClick:t,messageActionsIcons:n,isStreaming:s=!1,isReadOnly:o=!1})=>{const r=n?.copy,l=n?.edit,{isAgentAvailable:d}=E.useAgentAvailability();return i.jsxs("div",{className:W("message-actions","flex gap-x-2 pt-2 ml-12"),children:[r&&i.jsx("p",{onClick:()=>navigator.clipboard.writeText(e.content),children:r}),l&&!s&&!o&&i.jsx("p",{onClick:d?t:void 0,className:W(!d&&"opacity-50 !cursor-not-allowed pointer-events-none"),"aria-disabled":!d,children:l})]})},Rm=({content:e,textColorClass:t,onCancel:n,onEditApply:s,editMessageTitles:o})=>{const{isOpenedAdvancedView:r}=We(),l=c.useRef(null);c.useEffect(()=>{const a=l.current;d(),a&&(a.focus(),a.setSelectionRange(a.value.length,a.value.length))},[]);const d=()=>{const a=l.current;a&&(a.style.height="auto",a.style.height=a.scrollHeight+"px")};return i.jsxs("div",{className:W("max-w-none break-words",r?"body-2":"body-1",t),children:[i.jsx("textarea",{ref:l,className:"w-full resize-none overflow-hidden bg-neutrals-300 outline-none",defaultValue:e,onInput:d}),i.jsxs("div",{className:W("flex gap-x-2 items-center","edit-buttons-wrapper"),children:[i.jsx(E.Button,{buttonClassName:"text-button-secondary small-icon-button",title:o?.cancel,isSmallButton:!0,onClick:n}),i.jsx(E.Button,{buttonClassName:"text-button-primary small-icon-button",title:o?.send,isSmallButton:!0,onClick:()=>s(l.current?.value||"")})]})]})},Lm=({message:e,previousMessage:t,actions:n,dataQuery:s,isStreaming:o=!1,isCurrentMessageStreaming:r=!1,showAdvancedView:l,locale:d,metadataSettings:a,onAdvancedViewOpen:u,regenerateMessage:m,selectMessageToSend:h,rateResponse:f,editMessage:p,isReadOnlyConversation:g,isLastNotUserMessage:S,onCodeAttachmentUpdated:x})=>{const{messageStyles:v,attachmentsStyles:C,formattingSettings:w,messageActionsIcons:b,editMessageTitles:N,expandStagesIcon:T,titles:M}=we(),[y,A]=c.useState(),[I,j]=c.useState(),[L,K]=c.useState([]),[k,H]=c.useState([]),[z,ee]=c.useState(),[P,Y]=c.useState(!1),{isCrossDatasetModeOn:q}=Ge(),J=ct(),Q=e.role===Ae.Role.User,pe=e.role===Ae.Role.System,{datasets:ve,datasetStructuresMap:De,isLoading:O}=ym(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,y,s),[_,ie]=c.useState(!1),[de,ce]=c.useState([]);c.useEffect(()=>{j(y?.[0])},[y]);const je=q&&!!y?.length,Te=c.useCallback(se=>{e.id&&x?.(e.id,se)},[e.id,x]),{dataSetAttachments:V,dimensions:B,isLoadingGridData:oe}=fr(n,d,I,w,C?.chartingStyles,a,M,e.custom_content?.attachments,I?De?.get(I.urn):void 0,O,Te,je),re=c.useMemo(()=>Qo(y,J.map),[y,J.map]),{crossDatasetAttachments:me,isLoadingGridData:ue}=gr(n,d,y,C?.chartingStyles,w,a,e.custom_content?.attachments,re,Te,void 0,M),{isOpenedAdvancedView:ae}=We(),{attachments:Le,dataQueriesKey:ye,isLoading:ge}=pn(),Ie=c.useMemo(()=>ei(y),[y]),Ce=q&&!!l&&Le!=null&&ye===Ie,Pe=Ce?Le:me,ke=c.useMemo(()=>q?Ce?ge:ue:oe,[q,ue,oe,ge,Ce]),$e=()=>{Q&&ie(!0)},Re=()=>{ie(!1)},Ue=se=>{Re(),p?.({...e,content:se})},He=c.useCallback(se=>{se&&(j(y?.find(le=>le?.urn===se)),ee(void 0))},[y]);c.useEffect(()=>{const se=e.custom_content?.form_schema?.properties,le=S?se?.choice?.oneOf||se?.completion?.oneOf:[];ce(le||[])},[e,S]),c.useEffect(()=>{const se=bs(e),le=Bs(se),ze=se.filter(U=>Hn(U));A(le),H(ze)},[e]),c.useEffect(()=>{Y(y!=null&&y.length>0)},[y]),c.useEffect(()=>{s?.urn&&y?.some(se=>se?.urn===s.urn)&&ee(s.urn)},[s,y]),c.useEffect(()=>{if(e?.role===Ae.Role.System&&t){const se=bs(t),le=Bs(se)||[];y&&le&&De&&K(ec(le,y,De,d,J.map))}},[y,I,De,J.map,B,d,e?.role,t]);const st=c.useCallback(()=>!Q&&v?.systemMessageIcon&&!(ae&&!r)?i.jsx("div",{className:W("flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]",r?"text-white absolute":"text-neutrals-400"),children:v.systemMessageIcon}):null,[Q,v?.systemMessageIcon,ae,r]),Z=c.useMemo(()=>i.jsx(Zn,{actions:n,attachments:P?q?Pe:V:k,onAdvancedViewOpen:u,isDataSetAttachments:P,datasets:ve,initialSelectedDatasetUrn:z,showAdvancedView:l,isSystemAttachments:pe,isDataLoading:ke,currentDataQuery:I,dataQueries:y,attachmentInfoList:L,locale:d,dimensions:B,selectDataset:He}),[n,P,V,k,Pe,ve,z,l,pe,ke,I,y,L,d,B,He,u,q]);if(pe&&ae)return null;const fe=r?null:Q?_?null:i.jsx(jm,{messageActionsIcons:b,message:e,isStreaming:o,onEditClick:$e,isReadOnly:g}):pe?null:i.jsx(Am,{messageActionsIcons:b,message:e,isStreaming:o,regenerateMessage:m,rateResponse:f,isReadOnly:g,isRegenerateAvailable:S});return i.jsx("div",{className:W("max-w-full flex",Q?"justify-end":"justify-start","message-wrapper"),children:i.jsxs("div",{className:W("flex items-start",Q&&!_?"max-w-full":"w-full"),children:[i.jsxs("div",{className:"relative mr-2",children:[st(),r&&i.jsx(E.Loader,{})]}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsxs("div",{className:W(Q?"bg-neutrals-300 px-6":"pt-0",Q?"user-message":"system-message",Q&&(_?"w-[100%] ml-0":"ml-12")),children:[!Q&&!ae&&e?.custom_content?.stages?i.jsx(Nm,{stages:e?.custom_content?.stages,expandIcon:T,processingTitle:v?.processingTitle}):r&&i.jsx("p",{className:"body-1 loading-message text-neutrals-700",children:M?.loading}),_?i.jsx(Rm,{content:e.content,onCancel:Re,onEditApply:Ue,editMessageTitles:N}):i.jsx(go,{content:e.content})]}),Z,fe,!ae&&!ke&&i.jsx(Co,{choiceButtons:de,onClick:h})]})]})})},Fm=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:s,...o})=>{const{scrollBottomIcon:r}=we(),l=c.useRef(null),d=c.useRef(null),{isOpenedAdvancedView:a}=We(),u=pt(),[m,h]=c.useState(null),[f,p]=c.useState(!1),g=u?.isPanelOpen()??!1,S=()=>{const b=d.current?.parentElement,N=l.current;if(b&&N){const T=N.offsetTop-b.offsetTop;b.scrollTo({top:T,behavior:"smooth"})}};c.useEffect(()=>{S()},[e,t]),c.useEffect(()=>{!a&&m!==null&&setTimeout(()=>{d?.current?.parentElement?.scrollTo({top:m,behavior:"smooth"})})},[a,m]);const x=()=>{const b=d.current?.parentElement?.scrollTop||null;h(b)},v=()=>{const b=d.current?.parentElement;if(b){const{scrollTop:N,scrollHeight:T,clientHeight:M}=b;N+M>=T?p(!1):!f&&!a&&p(!0)}};c.useEffect(()=>{a&&p(!1)},[a]);const C=E.useDebounce(v,300);c.useEffect(()=>{const b=d.current?.parentElement;return b?.addEventListener("scroll",C),()=>b?.removeEventListener("scroll",C)},[C]);const w=c.useCallback(b=>{const N=X.linkifyText(b);return i.jsx("div",{className:"whitespace-pre-wrap break-words",children:N.map((T,M)=>T.type==="text"?i.jsx(c.Fragment,{children:T.value},M):i.jsx("a",{href:T.value,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center align-middle",children:i.jsx(Be.IconExternalLink,{className:"size-4 shrink-0 cursor-pointer text-primary"})},M))})},[]);return i.jsxs("div",{ref:d,className:"flex size-full justify-center",children:[i.jsxs("div",{className:"chat-messages-wrapper flex w-full flex-col gap-y-6",children:[e.map((b,N)=>{const T=b.id??N;if(b.errorMessage){const I=s?.errorContext?.kind===he.ERROR_CONTEXT_KIND.RATE_LIMIT?E.InlineAlertType.Warning:E.InlineAlertType.Error;return i.jsx(E.InlineAlert,{type:I,children:i.jsx("div",{className:"flex flex-col",children:w(b.errorMessage)})},T)}if(a&&b.role===Ae.Role.System)return null;const M=N===e.length-1,y=jl(e,N),A=Ti(e);return i.jsx(Lm,{message:b,previousMessage:y,onAdvancedViewOpen:x,isStreaming:t,isCurrentMessageStreaming:t&&M&&b.role===Ae.Role.Assistant,showAdvancedView:N===A&&!n,isLastNotUserMessage:M&&b.role!==Ae.Role.User,...o},T)}),i.jsx("div",{ref:l,className:"h-4"})]}),i.jsx("div",{onClick:S,className:W("fixed sm:hidden bottom-[88px] rounded-[50%] border-[2px] w-[40px] h-[40px] border-primary cursor-pointer text-primary bg-white z-10",g?"right-[402px] lg:right-[386px]":"right-10 lg:right-6","scroll-button-wrapper",f?"block":"hidden"),children:i.jsx("div",{className:"flex size-full items-center justify-center",children:r})})]})},Pm=e=>{const t={};return e.choices?.[0]?.delta?.content&&(t.content=e.choices[0].delta.content),e.choices?.[0]?.delta?.custom_content&&(t.custom_content=e.choices[0].delta.custom_content),e.choices?.[0]?.delta?.role&&(t.role=e.choices[0].delta.role),e.id&&(t.responseId=e.id),t},_m="local",Vm=e=>!e.permissions?.includes(Ae.SharePermission.WRITE)&&!km(e),Om=(e,t)=>Sr(e)!==t,km=e=>Sr(e)===_m,Sr=e=>e.id.split("/")[0],Um=(e,t)=>Jn([...t?.messages||[],e]),Jn=e=>[...e].map(t=>{const n={role:t.role,content:t.content};return(t.role===Ae.Role.Assistant||t.role===Ae.Role.System)&&t.custom_content!=null&&(t.custom_content.state!=null||t.custom_content.attachments!=null||t.custom_content.form_schema!=null)&&(n.custom_content={},t.custom_content.state!=null&&(n.custom_content.state=t.custom_content.state),t.custom_content.attachments!=null&&(n.custom_content.attachments=Gm(t.custom_content.attachments)),t.custom_content.form_schema!=null&&(n.custom_content.form_schema=t.custom_content.form_schema)),t.role===Ae.Role.User&&t.custom_content&&(n.custom_content=t.custom_content),n}),Hm=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Jn(n?.slice(0,s)||[])},Bm=(e,t)=>{const n=t?.messages,s=n?.findIndex(o=>e.id===o.id);return Jn([...n?.slice(0,s)||[],e])};function Gm(e){return e.map(t=>({type:t.type,title:t.title,data:t.data,url:t.url,reference_type:t.reference_type,reference_url:t.reference_url}))}const zm=(e,t,n,s)=>{if(!n||t)return null;const o={id:`msg-${Date.now()}`,role:Ae.Role.User,content:e,timestamp:Date.now()};if(s){const r=s===nn.COMPLETE?Yt.COMPLETION:Yt.CHOICE;o.custom_content={form_value:{[r]:s}}}return o},$m=(e,t,n)=>`/${t}${n}/${X.getConversationNavPath(e?.folderId,e?.id)}`,Wm=(e,t,n)=>{const s=`${t}/${n}`,o=he.generateConversationId({folderId:s,name:e?.name});return{...e,folderId:s,id:o}},Km=(e,t)=>{const n=e.lastIndexOf(".");return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},Ym=(e,t,n)=>{const s=e.split("/");if(s[0]!=="files"||s.length<3)return e;const o=s.at(-1)??"file",r=Km(o,n);return["files",t,...s.slice(2,-1),r].join("/")},qm=async({conversation:e,bucket:t,getFileBlob:n,putFile:s})=>{const o=X.getConversationAttachmentUrls(e),r=Date.now();if(!o.length)return e;const l=await Promise.all(o.map(async d=>{const a=Ym(d,t,`${r}`);if(a===d)return[d,a];const u=await n(d);return await s(a,u),[d,a]}));return X.replaceConversationAttachmentUrls(e,Object.fromEntries(l))},Zm="AbortError",Xm=({error:e,statusMessages:t})=>{if(e){if(e.type===he.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){const n=e.exceeded_limit?.length?t.getExceededLimitsMessage(e.exceeded_limit):e.display_message??"";throw new X.HttpError({message:e.message,displayMessage:n,code:e.type,status:e.status??X.HTTP_ERROR_CODES.TOO_MANY_REQUESTS,details:{kind:he.ERROR_CONTEXT_KIND.RATE_LIMIT,occurredAt:new Date().toISOString(),retryAfterSeconds:Number(e.retry_after??"")}})}throw new X.HttpError({message:e.message,status:e.status??X.HTTP_ERROR_CODES.BAD_REQUEST,code:e.code})}},Jm=({error:e,statusMessages:t})=>{if(e.code===he.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){const n=e;return{errorMessage:n.displayMessage??n.message,errorContext:n.details}}return e.code===he.DIAL_ERROR_CODES.CONTENT_FILTER?{errorMessage:t.contentFilterError??e.message}:{errorMessage:e.status===X.HTTP_ERROR_CODES.SERVICE_UNAVAILABLE?t.serverOverloaded:t.serverError}},Gs=(e,t)=>{const n=e.customViewState??{},s=n[he.CUSTOM_VIEW_STATE_KEY]??{};return{...e,customViewState:{...n,[he.CUSTOM_VIEW_STATE_KEY]:{...s,errorContext:t}}}},Qm=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}},ef=({conversationKey:e,conversation:t,actions:n,messageStyles:s,attachmentsStyles:o,inputMessageStyles:r,shareConversationProps:l,showConversationHeaderAdvancedView:d=!0,formattingSettings:a,metadataSettings:u,expandStagesIcon:m,locale:h,conversationsRoute:f,token:p,titles:g,dataQuery:S,handleInvalidStreaming:x,onConversationNotFound:v,setConversation:C,setConversations:w,openUrl:b,messageActionsIcons:N,messageActionsTitles:T,editMessageTitles:M,scrollBottomIcon:y,isFinalMessage:A,limitMessages:I,attachmentsConfig:j,headerRightSlot:L,children:K})=>{const[k,H]=c.useState(null),[z,ee]=c.useState(!1),[P,Y]=c.useState(!0),{isStreaming:q,setIsStreaming:J}=qs(),{isOpenedAdvancedView:Q}=We(),{setCrossDatasetAttachmentsState:pe}=pn(),{isCrossDatasetModeOn:ve}=Ge(),{isAgentAvailable:De}=E.useAgentAvailability(),{statusMessages:O}=Ln(),{onboardingFileSchema:_,onboardingFilePath:ie,onboardingFileName:de,isShowOnboarding:ce,setOnboardingFileSchema:je}=Ye();c.useEffect(()=>{_&&n.putOnboardingFile?.(de,ie,_)},[n,_,de,ie]),c.useEffect(()=>{Q&&_?.lastDisplayedElement===Oe.OPEN_ADVANCED_VIEW&&je?.(vi(_))},[n,Q,je,_]);const Te=c.useCallback(()=>{b(`/${h}${f}`)},[h,f,b]),V=c.useCallback(async()=>{try{const{bucket:U}=await n.getBucket(),G=n.getFileBlob&&n.putFile?await qm({conversation:t,bucket:U,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,te=Wm(G,U,h);await n.createConversation(te,h);const R=await n.getConversations(h);w(X.cleanConversationNames(R)),b($m(te,h,f))}catch(U){console.error("Failed to save conversation:",U)}},[n,t,f,h,b,w]),B=c.useCallback(async U=>{try{await n.updateConversation(decodeURI(e),{name:U.name,messages:U.messages,customViewState:U.customViewState})}catch(G){console.error("Failed to save conversation:",G)}},[n,e]),oe=c.useCallback((U,G)=>{if(!t)return;const te=hr(t.messages,G,U);if(!te)return;const R={...t,messages:te};C(R),B(R)},[t,C,B]),re=c.useCallback(U=>{C(G=>G?{...G,messages:[...G?.messages||[],U]}:null)},[C]),me=c.useCallback(()=>{const U={id:`msg-${Date.now()+1}`,role:Ae.Role.Assistant,content:"",timestamp:Date.now()};return C(G=>G?{...G,messages:[...G.messages,U]}:null),U},[C]),ue=c.useCallback((U,G)=>{const te=he.mergeMessages?.(U,[G]);if(te)return C(R=>R?{...R,messages:R.messages.map(F=>F.id===U.id?{...te}:F)}:null),te},[C]),ae=c.useCallback((U,G)=>{t?.model?.id&&(n.rateResponse(U,G===Ae.LikeState.Liked,t.model.id),t.messages=t.messages.map(te=>te.responseId===U?jn.merge(te,{like:G}):te),B(t))},[n,t,B]),Le=c.useCallback((U,G)=>{let te=O.serverError,R,F;if(X.isHttpError(U)){F=U;const $=Jm({error:U,statusMessages:O});te=$.errorMessage,R=$.errorContext}else F=new X.HttpError({status:X.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:te});return G&&(G=ue(G,{errorMessage:te})),x?.(F),{assistantMessage:G,errorContext:R}},[x,O,ue]),ye=c.useCallback(async(U,G,te)=>{const R=new AbortController;H(R);let F=U,$;if(!te)return{assistantMessage:F,errorContext:$};const ne=te.custom_fields??{},Fe={...ne,configuration:{...ne.configuration,timezone:Qm(),...ve&&{merge_python_code:!0}}};return await he.streamChatResponse?.(encodeURI(te.id),G,{model:te.model,signal:R?.signal,onMessage:xe=>{Xm({error:xe.error,statusMessages:O});const be=Pm(xe);(be.content||be.role||be.responseId)&&(F=ue(F,be))},onError:xe=>{if(!ke(xe))throw console.error("Streaming error:",xe),xe}},p,Fe).catch(xe=>{if(!ke(xe)){const{assistantMessage:be,errorContext:tt}=Le(xe,F);F=be,$=tt}}),{assistantMessage:F,errorContext:$}},[p,ue,Le,O,ve]),ge=c.useCallback(async(U,G,te,R)=>{if(!G)return;let F=Gs(G,R);F={...F,messages:[...G.messages],updatedAt:Date.now()},te&&F.messages.push(te),F.messages.push(U),await B(F)},[B]),Ie=c.useCallback(U=>{C(G=>G&&Gs(G,U))},[C]),Ce=c.useCallback((U,G)=>{C(te=>te?{...te,messages:te.messages.filter(R=>R.id!==G.id)}:null)},[C]),Pe=c.useCallback(()=>{k&&!k.signal.aborted&&k.abort()},[k]),ke=U=>U?.name===Zm,$e=c.useCallback(async(U,G,te,R,F,$=!0)=>{ke(F)?await ge(R??te,U,$?G:void 0):Ce(F,G)},[ge,Ce]),Re=c.useCallback(async(U,G,te)=>{if(!G||!U)return;const R=zm(U,q,G,te);let F,$;if(R){re(R);try{J(!0),F=me();const ne=Um(R,G),{assistantMessage:Fe,errorContext:xe}=await ye(F,ne,G);Ie(xe),$=Fe,await ge($,G,R,xe)}catch(ne){$e(G,R,F,$,ne)}finally{J(!1)}}},[q,J,re,me,ye,ge,$e,Ie]),Ue=c.useCallback(async(U,G,te)=>{let R,F;try{J(!0),R=me();const{assistantMessage:$,errorContext:ne}=await ye(R,U,G);F=$,Ie(ne),await ge(F,G,void 0,ne)}catch($){$e(G,te,R,F,$,!1)}finally{J(!1)}},[J,ge,$e,ye,me,Ie]),He=c.useCallback(async(U,G)=>{if(!G||!U)return;const te=Hm(U,G),R={...G,messages:G.messages.slice(0,te.length)};C(F=>F?{...F,...R}:null),Ue(te,R,U)},[C,Ue]),{isLastMessageFailed:st,regenerateLastMessage:Z}=c.useMemo(()=>{const U=t?.messages?.at(-1);return{isLastMessageFailed:!!U?.errorMessage,regenerateLastMessage:U&&(()=>He(U,t))}},[t,He]),fe=c.useCallback(async(U,G)=>{if(!G||!U)return;const te=Bm(U,G),R={...G,messages:[...G.messages.slice(0,te.length-1),U]};C(F=>F?{...F,...R}:null),Ue(te,R,U)},[C,Ue]);c.useEffect(()=>{ls(),pe();async function U(){try{Y(!0);const{bucket:G}=await n.getBucket(),te=await n.getConversation(decodeURI(e));C(te),ee(Vm(te)&&Om(te,G)),(te.messages.length===0||te?.messages?.[0]?.role===Ae.Role.Assistant&&te?.messages?.length===1)&&Re(te.prompt,te)}catch{ee(!0),v?.()}finally{Y(!1)}}return e&&U(),()=>{ls()}},[e]);const se=c.useMemo(()=>({getFile:n.getFile,putOnboardingFile:n.putOnboardingFile,getDataSet:n.getDataSet,getDataSetData:n.getDataSetData,getConstraints:n.getConstraints,updateCurrentDataQuery:n.updateCurrentDataQuery,updateDataQueries:n.updateDataQueries,updateDatasets:n.updateDatasets,downloadDataSet:n.downloadDataSet}),[n]);if(P)return i.jsx(E.Loader,{});const le=t?.customViewState?.[he.CUSTOM_VIEW_STATE_KEY],ze=()=>{if(le?.errorContext?.kind===he.ERROR_CONTEXT_KIND.RATE_LIMIT&&he.isRateLimitStillActive(le.errorContext)){const U=he.getRateLimitRestoreDate(le.errorContext);if(U){const G=he.formatDateTime(U);return i.jsx(E.InlineAlert,{type:E.InlineAlertType.Info,children:O.getAssistantRestoreMessage(G.date,G.time)})}}return De?i.jsx(Qs,{onSendMessage:U=>Re(U,t),onStopStreaming:Pe,inProcess:q,sendMessageIcon:r.sendMessageIcon,retryIcon:r.retryIcon,placeholder:g?.askAnything??"Ask anything...",containerClasses:"mt-4",inputClasses:"border-neutrals-600 mr-2",isLastFailed:st,onRetryFailed:Z}):i.jsx(E.InlineAlert,{type:E.InlineAlertType.Error,children:O.assistantUnavailable})};return i.jsx(sn,{styles:{titles:g,messageStyles:s,attachmentsStyles:o,formattingSettings:a,messageActionsIcons:N,messageActionsTitles:T,editMessageTitles:M,expandStagesIcon:m,scrollBottomIcon:y,limitMessages:I,attachmentsConfig:j},children:i.jsxs("div",{className:W("h-full flex flex-col bg-white conversation-view-wrapper",Q&&!d&&"p-4"),children:[Q&&!d?null:i.jsx(po,{conversation:t,locale:h,isOpenedAdvancedView:Q,isShowShareButton:!z&&!ce,shareConversationProps:l,rightSlot:L}),i.jsxs("div",{className:"flex min-h-0 min-w-0 w-full flex-1",children:[i.jsxs("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[i.jsx("div",{className:W("flex-1 min-h-0 flex flex-col items-end scroll-hidden-container",s?.messagesWrapperClass),children:i.jsx(Fm,{messages:t?.messages||[],actions:se,isStreaming:q,isReadOnly:z,metadataSettings:u,dataQuery:S,locale:h,regenerateMessage:U=>He(U,t),selectMessageToSend:(U,G)=>Re(U,t,G),rateResponse:ae,editMessage:U=>fe(U,t),isReadOnlyConversation:z||ce,conversationViewState:le,onCodeAttachmentUpdated:oe})}),ce?null:z?i.jsx("div",{className:"mt-4 flex items-center justify-center",children:i.jsx(E.Button,{iconBefore:i.jsx(Be.IconCopy,{width:20,height:20}),title:g?.duplicate??"Duplicate Chat",isSmallButton:!0,onClick:V,buttonClassName:W("text-button-secondary")})}):i.jsx("div",{className:W(r.inputContainerClass),children:ze()}),ce&&A&&i.jsx(E.Button,{iconBefore:i.jsx(Be.IconPlus,{width:24,height:24}),title:g?.onboardingFooterLink,onClick:Te,isSmallButton:!0,buttonClassName:"text-button-secondary self-center mb-3"}),K]}),!Q&&i.jsx(Zi,{scope:"conversation"})]})]})})},tf=({conversationName:e,expandTitle:t,expandIcon:n,onExpand:s})=>i.jsxs("div",{className:"flex h-full w-[51px] shrink-0 flex-col items-center border border-neutrals-400 bg-white",children:[i.jsx("button",{type:"button",className:"mt-[84px] flex size-9 items-center justify-center text-primary","aria-label":t,title:t,onClick:s,children:n}),i.jsx("div",{className:"flex min-h-0 flex-1 flex-col items-center overflow-hidden pb-[88px] pt-[72px]",children:i.jsx("span",{className:"h3 min-h-0 flex-1 rotate-180 truncate text-center text-neutrals-1000 [writing-mode:vertical-rl]",title:e,children:e})})]});exports.AdvancedView=Dm;exports.AdvancedViewProvider=Ar;exports.AttachmentRenderer=Zn;exports.CUSTOM_CHOICE_ID=nn;exports.ChartingIcon=qt;exports.ChatFooter=So;exports.ChatMessagesProvider=jr;exports.ChatOnboardingFooter=xo;exports.CollapsedChatPanel=tf;exports.ConversationView=ef;exports.ConversationViewFeatureTogglesProvider=Ca;exports.ConversationViewMessagesProvider=Rr;exports.ConversationViewSidePanelProvider=Kc;exports.ConversationViewStylesProvider=sn;exports.ConversationWelcome=ea;exports.CrossDatasetAttachmentsProvider=bm;exports.CustomContentProperties=Yt;exports.DatasetDimensionsMetadataMapProvider=Xc;exports.OnboardingProvider=Lr;exports.STAGE_STATUS=Js;exports.useAdvancedView=We;exports.useChatMessages=qs;exports.useConversationViewFeatureToggles=Ge;exports.useConversationViewMessages=Ln;exports.useConversationViewSidePanelOptional=pt;exports.useConversationViewStyles=we;exports.useCrossDatasetAttachments=pn;exports.useDatasetDimensionsMetadataMap=ct;exports.useDatasetDimensionsMetadataMapOptional=un;exports.useOnboarding=Ye;
|
|
5
|
+
`).map(e=>e.replace(ne,` `).trim()).filter(Boolean)[0]??``;return(t.length>te?t.substring(0,te):t).trim()},ae=(e,t,n,r,i,a)=>{let o=`${e}/${t}`;return{name:n,folderId:o,prompt:i,id:(0,m.generateConversationId)({folderId:o,name:n}),messages:[{role:u.Role.Assistant,content:r}],custom_fields:{configuration:{choice:a}}}},oe=(0,c.createContext)(null);function se({children:e,styles:t}){return(0,l.jsx)(oe.Provider,{value:t??{},children:e})}function X(){let e=(0,c.useContext)(oe);if(!e)throw Error(`useConversationViewStyles must be used within ConversationViewStylesProvider`);return e}var ce=Object.defineProperty,le=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,fe=(e,t,n)=>t in e?ce(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pe=(e,t)=>{for(var n in t||={})ue.call(t,n)&&fe(e,n,t[n]);if(le)for(var n of le(t))de.call(t,n)&&fe(e,n,t[n]);return e},me=(e,t)=>{var n={};for(var r in e)ue.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&le)for(var r of le(e))t.indexOf(r)<0&&de.call(e,r)&&(n[r]=e[r]);return n},he;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};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(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(he||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(he||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(he||={});var ge=he,_e={L:ge.QrCode.Ecc.LOW,M:ge.QrCode.Ecc.MEDIUM,Q:ge.QrCode.Ecc.QUARTILE,H:ge.QrCode.Ecc.HIGH},ve=128,ye=`L`,be=`#FFFFFF`,xe=`#000000`,Se=!1,Ce=1,we=4,Te=0,Ee=.1;function De(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function Oe(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function ke(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Ee),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Ae(e,t){return t==null?e?we:Te:Math.max(Math.floor(t),0)}function je({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let l=c.default.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...ge.QrSegment.makeSegments(t)),e),[]);return ge.QrCode.encodeSegments(r,_e[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:u,margin:d,numCells:f,calculatedImageSettings:p}=c.default.useMemo(()=>{let e=l.getModules(),t=Ae(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:ke(e,o,t,a)}},[l,o,a,r,i]);return{qrcode:l,margin:d,cells:u,numCells:f,calculatedImageSettings:p}}var Me=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Ne=c.default.forwardRef(function(e,t){let n=e,{value:r,size:i=ve,level:a=ye,bgColor:o=be,fgColor:s=xe,includeMargin:l=Se,minVersion:u=Ce,boostLevel:d,marginSize:f,imageSettings:p}=n,m=me(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:h}=m,g=me(m,[`style`]),_=p?.src,v=c.default.useRef(null),y=c.default.useRef(null),b=c.default.useCallback(e=>{v.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[x,S]=c.default.useState(!1),{margin:C,cells:w,numCells:T,calculatedImageSettings:E}=je({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:l,marginSize:f,imageSettings:p,size:i});c.default.useEffect(()=>{if(v.current!=null){let e=v.current,t=e.getContext(`2d`);if(!t)return;let n=w,r=y.current,a=E!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&E.excavation!=null&&(n=Oe(w,E.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/T*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,T,T),t.fillStyle=s,Me?t.fill(new Path2D(De(n,C))):w.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+C,n+C,1,1)})}),E&&(t.globalAlpha=E.opacity),a&&t.drawImage(r,E.x+C,E.y+C,E.w,E.h)}}),c.default.useEffect(()=>{S(!1)},[_]);let D=pe({height:i,width:i},h),O=null;return _!=null&&(O=c.default.createElement(`img`,{src:_,key:_,style:{display:`none`},onLoad:()=>{S(!0)},ref:y,crossOrigin:E?.crossOrigin})),c.default.createElement(c.default.Fragment,null,c.default.createElement(`canvas`,pe({style:D,height:i,width:i,ref:b,role:`img`},g)),O)});Ne.displayName=`QRCodeCanvas`;var Pe=c.default.forwardRef(function(e,t){let n=e,{value:r,size:i=ve,level:a=ye,bgColor:o=be,fgColor:s=xe,includeMargin:l=Se,minVersion:u=Ce,boostLevel:d,title:f,marginSize:p,imageSettings:m}=n,h=me(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:g,cells:_,numCells:v,calculatedImageSettings:y}=je({value:r,level:a,minVersion:u,boostLevel:d,includeMargin:l,marginSize:p,imageSettings:m,size:i}),b=_,x=null;m!=null&&y!=null&&(y.excavation!=null&&(b=Oe(_,y.excavation)),x=c.default.createElement(`image`,{href:m.src,height:y.h,width:y.w,x:y.x+g,y:y.y+g,preserveAspectRatio:`none`,opacity:y.opacity,crossOrigin:y.crossOrigin}));let S=De(b,g);return c.default.createElement(`svg`,pe({height:i,width:i,viewBox:`0 0 ${v} ${v}`,ref:t,role:`img`},h),!!f&&c.default.createElement(`title`,null,f),c.default.createElement(`path`,{fill:o,d:`M0,0 h${v}v${v}H0z`,shapeRendering:`crispEdges`}),c.default.createElement(`path`,{fill:s,d:S,shapeRendering:`crispEdges`}),x)});Pe.displayName=`QRCodeSVG`;var Fe=(e,t)=>({invitationType:m.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(e)}`},...t]}),Ie=e=>`/${h.SHARE_CONVERSATION_ROUTE}/${e?.invitationLink?.split(`/`).at(-1)||``}`,Le=(e,t)=>t?.find(t=>{let n=e?.id?.split(`/`)?.pop(),r=t?.url?.split(`/`)?.pop()||``;return r===n||decodeURI(r)===n}),Re=e=>(e?.messages?.filter(e=>!!e?.custom_content?.attachments))?.flatMap(e=>e?.custom_content?.attachments?.map(e=>({url:e?.url||``}))||[])?.filter(e=>!!e?.url)||[],ze=({conversation:e,locale:t,onCloseModal:n,modalDividers:r,getConversation:i,generateConversationLink:a,chatExpiration:o,chatExpirationDays:s,close:u,chatWarning:p,shareLink:g,shareCopyLink:_,shareCopiedLink:v,shareDescription:y,shareRemoveAccessToUsers:b,chatName:x,getSharedConversations:S,revokeSharedConversations:C,baseUrl:w,id:T,clientSharedPage:E,clientSharedProp:D,shareAlertMessage:O})=>{let[k,A]=(0,c.useState)(null),[j,M]=(0,c.useState)(),[N,P]=(0,c.useState)(!1),[F,I]=(0,c.useState)(!1),[L,R]=(0,c.useState)(),z=(0,c.useRef)(null),B=(0,c.useRef)(null),V=(0,c.useMemo)(()=>e?.id?decodeURI(e.id):T?.[0]&&T?.[1]&&t?decodeURI(`${T[0]}/${t}/${T[1]}`):null,[e?.id,T,t]),H=(0,c.useMemo)(()=>{if(!k)return``;let e=w||window.location.origin;return w&&w!==window.location.origin&&E&&D?`${e}/${E}?${D}=${k.split(`/${h.SHARE_CONVERSATION_ROUTE}/`)?.[1]}`:`${e}/${t}${k}`},[w,k,t,E,D]),U=(0,c.useCallback)(async e=>{let t=await S?.((0,m.getSharedConversationsRequest)(m.ShareTarget.OTHERS));if(t)return Le({id:e},t.resources)},[S]);(0,c.useEffect)(()=>{if(!V||z.current===V)return;z.current=V,P(!1),B.current?.abort();let e=new AbortController;return B.current=e,(async()=>{try{let t=Fe(V,Re(await i?.(V))),n=await a?.(t),r=await U(V);if(e.signal.aborted||!n)return;A(Ie(n)),M(r),P(!0)}catch(t){if(e.signal.aborted)return;P(!1),console.error(`Error sharing conversation`,t)}})(),()=>{e.abort(),z.current=null}},[V,a,i,U]);let W=(0,c.useCallback)(()=>{B.current?.abort(),z.current=null,n(),A(null),P(!1),I(!1)},[n]),G=(0,c.useCallback)(()=>{I(!0),navigator.clipboard.writeText(H||``)},[H]),K=async()=>{try{if(R(!0),j&&await C?.({resources:[j]}),V){let e=await U(V);B.current?.signal.aborted||M(e)}}catch(e){console.error(`Error revoking shared conversation`,e)}finally{B.current?.signal.aborted||R(!1)}},q=(0,c.useCallback)(()=>(0,l.jsx)(d.Button,{buttonClassName:F?`text-button-secondary`:`text-button-primary`,iconBefore:F?(0,l.jsx)(f.IconCheck,{width:20,height:20}):(0,l.jsx)(f.IconCopy,{width:20,height:20}),title:F?v??`Copied`:_??`Copy link`,disabled:F,onClick:G}),[F,G,v,_]);return(0,l.jsxs)(d.Popup,{heading:g??`Share link`,portalId:`share`,size:d.PopUpSize.SM,dividers:r,onClose:W,closeButtonTitle:u??`Close`,children:[N?(0,l.jsxs)(`div`,{className:`share flex flex-col gap-y-4 overflow-auto px-6 pb-6 sm:p-0`,children:[O?(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Note,icon:(0,l.jsx)(f.IconInfoCircle,{width:16,height:16}),children:O}):null,e?.name?(0,l.jsxs)(`div`,{className:`share-info flex w-full`,children:[(0,l.jsx)(`p`,{className:`share-info-title body-1 mr-1 text-neutrals-800`,children:x??`Chat name:`}),(0,l.jsx)(`h3`,{className:`min-w-0 flex-1 truncate`,title:e?.name,children:e?.name})]}):null,(0,l.jsxs)(`div`,{className:`share-info flex`,children:[(0,l.jsx)(`p`,{className:`share-info-title body-1 mr-1 text-neutrals-800`,children:o??`Link expiration date:`}),(0,l.jsxs)(`h3`,{children:[`3 `,s??`days`]})]}),(0,l.jsx)(Pe,{className:`min-h-[200px] self-center rounded border border-neutrals-600 p-2`,value:H,size:200}),(0,l.jsx)(`p`,{className:`body-2 text-neutrals-1000`,children:y??`Your name, special instructions, and any messages you add after sharing remain confidential.`}),(0,l.jsx)(d.InputWithIcon,{containerClasses:`share-input-container`,cssClass:`share-input`,readonly:!0,placeholder:H,value:H,inputId:`conversationLink`,iconAfterInput:q()})]}):(0,l.jsx)(`div`,{className:`flex items-center justify-center p-6`,children:(0,l.jsx)(d.Loader,{})}),N?e&&j?(0,l.jsx)(`div`,{className:`remove-access`,children:(0,l.jsx)(d.Button,{title:b??`Remove access to all users`,buttonClassName:`remove-access-button py-3 px-4`,isSmallButton:!0,disabled:L,onClick:K})}):(0,l.jsx)(`p`,{className:`body-2 share-footer text-neutrals-800`,children:p??`This chat has not been shared with anyone yet.`}):(0,l.jsx)(`div`,{})]})},Be=({shareButtonClass:e,shareIcon:t,...n})=>{let[r,i]=(0,c.useState)(d.PopUpState.Closed),a=()=>{i(d.PopUpState.Opened)},o=(0,c.useCallback)(()=>{i(d.PopUpState.Closed)},[]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(d.Button,{buttonClassName:e||`text-button-secondary`,title:n?.share||`Share`,iconBefore:t,onClick:a}),r===d.PopUpState.Opened&&(0,l.jsx)(ze,{onCloseModal:o,...n})]})},Ve=({conversation:e,locale:t,isOpenedAdvancedView:n,isShowShareButton:r,shareConversationProps:i,rightSlot:a})=>(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)(`header`,{className:(0,p.default)(`bg-white border-b px-6 py-2 border-gray-200 flex justify-between items-center sm:hidden`,`conversation-view-header`),children:[(0,l.jsx)(`span`,{className:(0,p.default)(`flex-1 min-w-0 truncate h4`,`conversation-view-header-text`),title:e?.name,children:e?.name}),(0,l.jsxs)(`div`,{className:`ml-3 flex items-center gap-4`,children:[!n&&r&&(0,l.jsx)(`div`,{className:`flex gap-x-2`,children:(0,l.jsx)(Be,{conversation:e,locale:t,...i})}),a]})]})}),He=({content:e,textColorClass:t})=>{let{isOpenedAdvancedView:n}=I();return(0,l.jsx)(`div`,{className:(0,p.default)(`prose max-w-none break-words`,n?`body-2`:`body-1`,t),children:(0,l.jsx)(_.default,{remarkPlugins:[v.default],components:{strong:e=>(0,l.jsx)(`strong`,{className:t,...e}),a:({href:e,children:t,...n})=>(0,l.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,...n,children:t})},children:e})})},Ue=({choiceButtons:e,disabled:t,onClick:n})=>{let r=(0,p.default)(`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(e=>(0,l.jsx)(`div`,{className:`mt-4`,children:(0,l.jsxs)(`button`,{type:`button`,className:r,disabled:t,onClick:()=>n(e[u.DialSchemaProperties.DialWidgetOptions]?.populateText,e?.const),"aria-label":`button`,children:[(0,l.jsx)(`h3`,{className:`mb-1`,children:e.title}),e.const!==q.COMPLETE&&(0,l.jsx)(`p`,{className:`body-1 text-neutrals-800`,children:e[u.DialSchemaProperties.DialWidgetOptions]?.populateText})]})},e.title))},We=({messageContent:e,choiceButtons:t,disabled:n,onClick:r,handleOnboardingSkip:i})=>{let{titles:a}=X();return(0,l.jsxs)(`div`,{className:`onboarding flex size-full flex-1 flex-col overflow-auto`,children:[(0,l.jsx)(Ve,{conversation:{name:a?.onboardingTitle??`Introducing the AI assistant`}}),(0,l.jsxs)(`div`,{className:`onboarding-content flex flex-col`,children:[(0,l.jsx)(He,{content:e}),(0,l.jsx)(`div`,{className:`mt-4`,children:(0,l.jsx)(Ue,{choiceButtons:t,disabled:n,onClick:r})}),(0,l.jsxs)(`div`,{className:`mt-8 flex`,children:[(0,l.jsx)(d.Button,{title:a?.skipOnboardingNow,buttonClassName:`text-button-secondary mr-4`,disabled:n,onClick:()=>i?.(),isSmallButton:!0}),(0,l.jsx)(d.Button,{title:a?.refuseOnboarding,buttonClassName:`text-button-tertiary`,disabled:n,onClick:()=>i?.(!0),isSmallButton:!0})]})]})]})},Ge=({openNewConversation:e})=>{let{titles:t}=X();return(0,l.jsxs)(`div`,{className:`body-3 bg-accent-300 p-2 text-center`,children:[(0,l.jsx)(`span`,{className:`mr-2 text-neutrals-900`,children:t?.onboardingFooter}),(0,l.jsxs)(`span`,{onClick:e,className:`inline-flex cursor-pointer align-top`,children:[(0,l.jsx)(f.IconPlus,{width:15,height:15}),(0,l.jsx)(`p`,{className:`ml-1`,children:t?.onboardingFooterLink})]})]})},Ke=({firstLine:e,secondLine:t})=>{let n=e!=null&&e.trim()!==``,r=t!=null&&t.trim()!==``;return(0,l.jsxs)(`div`,{className:(0,p.default)(`text-center body-3`,r?`p-0`:n?`p-1`:`p-3`),children:[n&&(0,l.jsx)(`div`,{className:`text-neutrals-800`,children:e}),r&&(0,l.jsx)(`div`,{className:`text-neutrals-800`,children:t})]})},qe=({suggestionsList:e,welcomeText:t,welcomeDescription:n,welcomeInputPlaceholder:r,titleIcon:i,actions:a,titles:o,inputMessageStyles:s,suggestionsContainerClass:f,isBottomInputPosition:_,prompt:v,onboardingMessageSchema:y,handleConversationClick:b,setConversations:x,locale:S,setSharedConversations:C})=>{let[w,T]=(0,c.useState)(null),[E,D]=(0,c.useState)(!0),[O,k]=(0,c.useState)(!1),{onboardingFileSchema:A,onboardingFileName:j,onboardingFilePath:M,isShowOnboarding:N,setIsShowOnboarding:P,setOnboardingFileSchema:F}=G(),{isAgentAvailable:I}=(0,d.useAgentAvailability)(),{statusMessages:L}=H();(0,c.useEffect)(()=>{(async()=>{try{T((await a.getBucket()).bucket)}catch(e){console.error(e instanceof Error?e.message:`Request error`)}finally{D(!1)}})()},[a]);let R=(0,c.useCallback)(async(e,t)=>{if(!w){console.error(`No bucket`);return}k(!0);try{let n=N?ae(w,S,o?.onboardingTitle??`Introducing the AI assistant`,y?.properties?.choice?.description??``,e,t):re(w,S,o.newChat??`New chat`,e),r=await a.createConversation(n,S,N),i=await a.getConversations(S),s=await a.getSharedConversations((0,m.getSharedConversationsRequest)(m.ShareTarget.ME));if(y&&A){let e={...A,isStarted:!0};await a.putOnboardingFile?.(j,M,e),F?.(e)}x((0,h.cleanConversationNames)(i)),C((0,h.cleanConversationNames)((0,g.transformSharedConversations)(s,S))),b(r.folderId,r.id)}catch(e){console.error(e instanceof Error?e.message:`Creation conversation failed`),k(!1)}},[a,w,b,N,S,j,M,A,y,x,F,C,o.newChat,o?.onboardingTitle]),z=(0,c.useCallback)(async e=>{if(P(!1),e&&A){let e={...A,isSkipped:!0};await a.putOnboardingFile?.(j,M,e),F?.(e)}},[a,j,M,A,P,F]);return(0,c.useEffect)(()=>{v&&w&&R(v)},[w,v]),(0,l.jsx)(se,{styles:{titles:o},children:(0,l.jsxs)(`div`,{className:`flex size-full flex-col`,children:[O||v&&E?(0,l.jsx)(d.Loader,{}):N?(0,l.jsx)(We,{messageContent:y?.properties?.choice?.description||``,choiceButtons:y?.properties?.choice?.oneOf||[],disabled:!w,handleOnboardingSkip:z,onClick:R}):(0,l.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center sm:px-4`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`flex items-center max-w-full sm-min:px-4`,_?`mt-auto mb-8`:n?`mb-0`:`mb-6`),children:[i,(0,l.jsx)(`h1`,{className:`sm:h2 text-hues-800 text-center`,children:t??o?.welcomeTitle??`How can I help you?`})]}),n&&(0,l.jsx)(`p`,{className:`body-1 text-neutrals-900 mb-6 mt-3 max-w-[784px] text-center`,children:n}),(()=>{let t=!w;return I?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ee,{containerClasses:(0,p.default)(s.inputContainerClass,_&&`order-3 mt-auto`),inputClasses:`mr-2`,disabled:t,placeholder:r||o?.askAnything||`Ask anything...`,sendMessageIcon:s.sendMessageIcon,onSendMessage:R}),(0,l.jsx)(`div`,{className:(0,p.default)(`no-scrollbar overflow-x-auto`,f),children:(0,l.jsx)(`div`,{className:(0,p.default)(`flex flex-wrap justify-center gap-2`,`tags-container`),children:e.map(e=>(0,l.jsx)(d.Tag,{title:e.title,text:e[u.DialSchemaProperties.DialWidgetOptions]?.populateText,disabled:t,onClick:R},e.title))})})]}):(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Error,children:L.assistantUnavailable})})()]}),N&&(0,l.jsx)(Ge,{openNewConversation:()=>P(!1)}),!N&&(0,l.jsx)(Ke,{firstLine:o.footerFirstLine,secondLine:o.footerSecondLine})]})})},Je=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Ye=({dataQueries:e,disabledDatasetUrns:t,isSelected:n,onSelect:r,onClearAll:i})=>{let{titles:a}=X(),o=e.length-t.size,s=t.size>0;return(0,l.jsxs)(`div`,{className:(0,p.default)(`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:r,children:[(0,l.jsx)(`h3`,{className:`w-full min-w-0 flex-1 truncate`,title:a?.dataset??`Dataset`,children:(0,l.jsx)(`span`,{className:`truncate`,children:a?.dataset??`Dataset`})}),(0,l.jsxs)(`div`,{className:`ml-2 flex items-center gap-2 text-neutrals-800`,children:[(0,l.jsx)(`span`,{className:`filters-facet-item-counter px-2 text-center`,children:`${o}/${e.length}`}),s&&(0,l.jsx)(`div`,{className:`filters-facet-item-settings flex items-center gap-2`,children:(0,l.jsx)(d.IconButton,{buttonClassName:`text-button-tertiary w-4 h-4 border-0 p-0 filters-facet-item-icon`,icon:(0,l.jsx)(Je,{width:16,height:16}),title:a?.reset??`Reset`,onClick:e=>{e.stopPropagation(),i()}})})]})]})},Xe=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`path`,{d:`M11.3301 6.25L8.00008 9.75L4.67008 6.25L11.3301 6.25Z`,fill:`currentColor`})}),Ze=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Qe=(e,t,n,r,i=!1,a)=>{let o={...x.default[r]},s=S.default;i&&(o.firstDayOfWeek=1);let c=new Date(e);c.setHours(0,0,0,0);let l=new Date(t);l.setHours(23,59,59,999);let u={minDate:n===h.CalendarResolution.MONTH?new Date(e.getFullYear(),e.getMonth()):c,maxDate:n===h.CalendarResolution.MONTH?new Date(t.getFullYear(),t.getMonth()):l,locale:o};return n===h.CalendarResolution.MONTH?{...u,dateFormat:`M Y`,plugins:[new s({shorthand:!0,dateFormat:`M Y`})]}:{...u,monthSelectorType:`static`,dateFormat:a||`d.m.Y`}},$e=e=>{e?.setMinutes(e.getMinutes()-e.getTimezoneOffset())},et={year:`numeric`,month:`short`,day:`numeric`},tt=(e,t)=>e?.toLocaleDateString(t,et)||``,nt=(e,t)=>{let{startPeriod:n,endPeriod:r}=e;return!t.startPeriod&&!t.endPeriod&&n&&r?{startPeriod:new Date(n?.getTime()),endPeriod:new Date(r?.getTime())}:{startPeriod:n?new Date(Math.max(n.getTime(),t.startPeriod.getTime())):t.startPeriod,endPeriod:r?new Date(Math.min(r.getTime(),t.endPeriod.getTime())):t.endPeriod}},rt=(e,t)=>{let{endPeriod:n}=e,r=n?.getFullYear()||new Date().getFullYear(),i=r+ +t,a=new Date(+t<0?r:i,n?.getMonth()||0,n?.getDate()||1),o=new Date(+t<0?i:r,0,1);return{startPeriod:new Date(Math.max(o.getTime(),e?.startPeriod?.getTime()||0)),endPeriod:a}},it=e=>({quarterly:e?.quarterly||`Q`,monthly:e?.monthly||`M`}),at=(e,t)=>{let n=it(t);return(0,y.isQuarterly)(e)&&n?.quarterly?e?.replace(/Q/g,n?.quarterly):(0,y.isMonthly)(e)&&n?.monthly?e?.replace(/M/g,n?.monthly):e},ot=(e,t)=>{let 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},st=e=>{if(!e?.length)return null;let t=null,n=null;for(let r of e){let e=r.filters?.find(e=>e.componentCode===y.TIME_PERIOD);if(!e)continue;let i=e.values.filter(Boolean),a=i[0]?(0,h.getTimePeriod)(i[0]):null,o=i[1]?(0,h.getTimePeriod)(i[1]):null;!a||!o||((!t||a<t)&&(t=a),(!n||o>n)&&(n=o))}return t&&n?{startPeriod:t,endPeriod:n}:null},ct=function(e){return e.FLAT_LIST=`FLAT_LIST`,e.HIERARCHY=`HIERARCHY`,e}({}),lt=(e,t,n,r,i)=>e?.map(e=>{let a=(0,y.findCodelistByDimension)(t?.codelists,t?.conceptSchemes,e)?.codes,o=(0,y.getAvailableCodes)(e,n,a,r),s=a?.some(e=>e?.parent);return{id:e?.id,title:(0,y.getDimensionTitle)(t?.conceptSchemes,e,r),dimensionValues:o,isTimeDimension:e?.type===y.DimensionType.TIME_DIMENSION,isHierarchical:s,displayMode:s?ct.HIERARCHY:ct.FLAT_LIST,datasetUrn:i,filterType:`dataset`}})||[],ut=e=>e?.filterType===`shared`,dt=e=>{if(e?.id)return ut(e)?`shared:${e.id}`:e?.datasetUrn?`${e.datasetUrn}:${e.id}`:e.id},Z=(e,t)=>dt(e)===dt(t),ft=(e,t)=>e?.map(e=>t&&Z(e,t)?{...t,isSelectedFilter:!0}:{...e,isSelectedFilter:!1}),pt=(e,t,n)=>e?e.map(e=>Z(e,t)?{...e,displayMode:n}:e):[],mt=e=>e?.filter(e=>!!e?.isSelectedValue)||[],ht=e=>e?.map(e=>({...e,dimensionValues:mt(e?.dimensionValues)})).filter(e=>e.dimensionValues?.length||e.timeRange?.startPeriod||e.timeRange?.endPeriod),gt=e=>e?.reduce((e,t)=>(t?.dimensionValues?.length??0)+e,0)||0,_t=e=>({...e,dimensionValues:e?.dimensionValues?.map(e=>({...e,isSelectedValue:!1})),timeRange:void 0}),vt=(e,t)=>e?.map(e=>Z(e,t)?_t(e):e),yt=e=>e?.map(e=>_t(e)),bt=(e,t,n)=>e.map(e=>{let r=t?.filters?.find(t=>t.componentCode===e.id),i=[];if(r)if(e.isTimeDimension){let t=r.values.filter(e=>!!e),i=(0,y.getAnnotationPeriod)(n?.[0]?.annotations),a=t[0]?(0,h.getTimePeriod)(t[0]):null,o=t[1]?(0,h.getTimePeriod)(t[1]):null,s=i;return a&&o&&(s=i?nt({startPeriod:a,endPeriod:o},i):{startPeriod:a,endPeriod:o}),{...e,timeRange:s}}else i=e?.dimensionValues?.map(e=>r?.values?.includes(e.id)?{...e,isSelectedValue:!0}:e);else i=e.dimensionValues;return{...e,dimensionValues:i}}),xt=e=>e?.map(e=>({...e,isDisabled:!0})),St=e=>new Map(e?.map(e=>[e.id,{...e,children:[]}])),Ct=e=>{if(!e)return[];let t=St(e),n=[];return e.forEach(e=>{if(e&&e.parent){let n=t.get(e.parent),r=t.get(e.id);n&&n.children&&r&&(n.children=[...n.children,r])}else{let r=t.get(e.id);r&&n.push(r)}}),n},wt=(e,t=!1)=>t?`${e*d.TREE_NODE_PADDING-d.TREE_NODE_ARROW_SIZE}px`:`${e*d.TREE_NODE_PADDING}px`,Tt=e=>e?.children?.reduce((e,t)=>[...e,t,...Tt(t)],[])||[],Et=(e,t)=>e?e.filter(e=>!e.disabled).map(e=>({...e,isSelectedValue:t})):[],Dt=e=>!!e?.children?.some(e=>e?.isSelectedValue||Dt(e)),Ot=e=>{let t=Tt(e);if(!e.children?.length)return[{...e,isSelectedValue:!e.isSelectedValue}];let n=(n,r)=>[{...e,isSelectedValue:n},...Et(t,r)];if(!e.isSelectableValue)return e.isSelectedValue?n(!1,!1):n(!0,!0);let r=t.filter(e=>!e.disabled),i=r.some(e=>e.isSelectedValue),a=r.length>0&&r.every(e=>e.isSelectedValue),o=!!e.isSelectedValue;return!o&&!i?n(!0,!0):o&&a?n(!1,!0):!o&&i?n(!0,!1):o&&!i?n(!1,!1):n(!0,!0)},kt=(e,t)=>e.filter(e=>e.isSelectableValue&&!t.has(e.id)).map(e=>({id:e.id,name:e.name,isSelectedValue:e.isSelectedValue})),At=({isHierarchical:e,availableHierarchies:t,titles:n})=>[{key:``,title:n?.flatList??`Flat list`},...e?[{key:ct.HIERARCHY,title:n?.hierarchy??`Hierarchy by parent`}]:[],...(t??[]).map(e=>({key:e.id,title:`${e.name??e.id} (${e.version})`}))],jt=({calendarResolution:e,timeRange:t,timeRangeOptions:n,calendarStartFromMonday:r=!0,locale:i=h.Locale.EN,radioIcon:a,initialConstraints:o,onValueChange:s,calendarIcon:u,dateFormat:f,defaultTimeOption:p,dataQueries:m})=>{let{titles:g}=X(),_=ot((0,y.getAnnotationPeriod)(o?.[0]?.annotations),t),v=!(_?.startPeriod||_?.endPeriod)&&!t?st(m):null,b=v??_,[x,S]=(0,c.useState)(t??v),C=!t||t?.startPeriod?.getTime()===b?.startPeriod?.getTime()&&t?.endPeriod?.getTime()===b?.endPeriod?.getTime()?0:h.CUSTOM_PERIOD,[w,T]=(0,c.useState)(p??C),E=(0,c.useMemo)(()=>{let{startPeriod:e,endPeriod:t}=b,r=e?.getFullYear(),i=t?.getFullYear(),a=new Date().getFullYear();return n.filter(e=>e.value===h.CUSTOM_PERIOD||e.value===0||+e.value>=0&&i-a>=+e.value||+e.value<0&&r-a<+e.value)},[b,n]);(0,c.useEffect)(()=>{s(x,w)},[x]),(0,c.useEffect)(()=>{if(t!==null)return;let e=(0,y.getAnnotationPeriod)(o?.[0]?.annotations);e?.startPeriod||e?.endPeriod||S(st(m))},[t]);let D=e=>{e&&($e(e),S(t=>t?{...t,startPeriod:e||null}:{endPeriod:null,startPeriod:e||null}))},O=e=>{e&&($e(e),S(t=>t?{...t,endPeriod:e||null}:{startPeriod:null,endPeriod:e||null}))};if(b==null)return null;let k=Qe(b.startPeriod,x?.endPeriod||b.endPeriod,e,i,r,f),A=Qe(x?.startPeriod||b.startPeriod,b.endPeriod,e,i,r,f);return(0,l.jsxs)(`div`,{className:`mt-3 flex h-full min-w-0 flex-1 flex-col overflow-auto py-2 pr-3`,children:[(0,l.jsx)(`div`,{className:`w-full`,children:E.map(e=>(0,l.jsx)(d.Radio,{id:e.value.toString(),checked:w===e.value,label:e.title,onChange:()=>{let{value:t}=e;T(t),t!==h.CUSTOM_PERIOD&&S(t===0?b:rt(b,t))},radioIcon:a},e.value.toString()))}),(0,l.jsx)(`div`,{className:`w-full`,children:w===h.CUSTOM_PERIOD&&(0,l.jsxs)(`div`,{className:`filters-time-period caption mt-3 flex gap-4 text-neutral-700`,children:[(0,l.jsx)(d.Calendar,{onChange:D,options:k,value:x?.startPeriod||b?.startPeriod,label:g?.from||`From`,id:`time-options-start`,icon:u}),(0,l.jsx)(d.Calendar,{onChange:O,options:A,value:x?.endPeriod||b?.endPeriod,label:g?.to||`To`,id:`time-options-end`,icon:u,isEndDate:!0})]})})]})},Mt=(0,c.createContext)({isMetadataInSidePanel:!1,isCrossDatasetModeOn:!1,isTableSettingsFeatureEnabled:!1});function Nt({children:e,isMetadataInSidePanel:t=!1,isCrossDatasetModeOn:n=!1,isTableSettingsFeatureEnabled:r=!1}){let i=(0,c.useMemo)(()=>({isMetadataInSidePanel:t,isCrossDatasetModeOn:n,isTableSettingsFeatureEnabled:r}),[t,n,r]);return(0,l.jsx)(Mt.Provider,{value:i,children:e})}function Pt(){return(0,c.useContext)(Mt)}var Ft=2,It=({value:e,onChange:t,searchIconSize:n})=>{let{titles:r}=X(),{isCrossDatasetModeOn:i}=Pt(),[a,o]=(0,c.useState)(!1),s=e.trim().toLowerCase(),u=i&&a&&s.length<Ft;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(d.InputWithIcon,{inputId:`filters-search-input`,containerClasses:`gap-2 items-center filters-search-input`,cssClass:`filters-search-input-text`,placeholder:r?.searchPlaceholder??`Search`,value:e,onChange:t,onFocus:()=>o(!0),onBlur:()=>o(!1),iconBeforeInput:(0,l.jsx)(f.IconSearch,{width:n,height:n,className:`text-primary`})}),i&&(0,l.jsx)(`span`,{className:(0,p.default)(`caption text-neutrals-800 mt-1`,{invisible:!u}),children:r?.searchMinCharsCaption??`Enter at least 2 characters to start searching`})]})},Lt=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`path`,{d:`M6.25 4.66668L9.75 8.00001L6.25 11.3333L6.25 4.66668Z`,fill:`currentColor`})}),Rt=({node:e,level:t=1,checkboxIcon:n,selectFilterValue:r,selectHierarchicalNodes:i,expandHierarchicalValue:a})=>{let o=!!e?.children?.length,s=o&&!e.isSelectedValue&&Dt(e),u=`cursor-pointer text-neutrals-1000 w-6 h-6 shrink-0`,f=(0,c.useId)();return(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsxs)(`div`,{className:`flex items-center`,style:{paddingLeft:wt(t,o)},children:[o&&(e?.isExpanded?(0,l.jsx)(Lt,{className:u,onClick:()=>a?.(e)}):(0,l.jsx)(Xe,{className:u,onClick:()=>a?.(e)})),(0,l.jsx)(d.Checkbox,{id:f,label:e?.name,checked:!!e.isSelectedValue,indeterminate:s,checkboxIcon:n,disabled:e?.disabled,onChange:(t,n)=>{e?.children?.length?e.children.some(e=>!e.disabled)?i?.(Ot(e)):i?.([{...e,isSelectedValue:n}]):r?.(e.id,n)}})]}),o&&e?.isExpanded&&(0,l.jsx)(l.Fragment,{children:e?.children?.map(e=>(0,l.jsx)(Rt,{node:e,level:t+1,checkboxIcon:n,selectFilterValue:r,selectHierarchicalNodes:i,expandHierarchicalValue:a},e?.id))})]},e?.id)},zt=({treeNodes:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:r,expandHierarchicalValue:i})=>(0,l.jsx)(l.Fragment,{children:e?.map(e=>(0,l.jsx)(Rt,{node:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:r,expandHierarchicalValue:i},e?.id))}),Bt=({style:e,filterValue:t,checkboxIcon:n,selectFilterValue:r})=>(0,l.jsx)(`div`,{style:e,children:(0,l.jsx)(d.Checkbox,{id:t.id,label:t.name,checked:!!t.isSelectedValue,checkboxIcon:n,onChange:r})}),Vt=(e,t,n,r,i=h.Locale.EN)=>{let a=t?.map(e=>{let t=(0,y.getAvailableCodesFromConstrains)((0,y.findCodelistByDimension)(n?.codelists,n?.conceptSchemes,e)?.codes,e.id,r,i);return{...e,dimensionValues:t}});return e?.map(e=>{let t=a?.find(t=>t.id===e.id),n=(t?.dimensionValues||[]).map(t=>{let n=e.dimensionValues?.find(e=>e?.id===t?.id)?.isSelectedValue;return{...t,isSelectedValue:n}}),r=new Set(n.map(e=>e.id)),i=t?(e.dimensionValues??[]).filter(e=>!!e.isSelectedValue&&!r.has(e.id)):[];return{...e,isDisabled:!1,dimensionValues:[...n,...i]}})||[]},Ht=(e,t,n)=>{let r=[];return or(e,t,n).filter(e=>e.timeRange||e.dimensionValues?.some(e=>e.isSelectedValue)).forEach(e=>{let{id:t,dimensionValues:n}=e;e.isTimeDimension?r=[...r,...Ut(e.timeRange,t)]:r.push({componentCode:t,operator:y.SeriesFilterOperator.EQUALS,value:n?.filter(e=>e.isSelectedValue)?.map(e=>e.id).join(y.GET_v3_FILTER_AND)||``})}),r},Ut=(e,t)=>e==null||e.startPeriod==null||e.endPeriod==null?[]:[{componentCode:t,operator:y.SeriesFilterOperator.GREATER_OR_EQUAL,value:Gt(new Date(e.startPeriod))},{componentCode:t,operator:y.SeriesFilterOperator.LESS_OR_EQUAL,value:Gt(new Date(e.endPeriod),1)}],Wt=1e3*60*60*24,Gt=(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?Wt-1:0,e=new Date(n),n.toString()},Kt=e=>[...e].map(e=>({...e,value:e.value.split(`,`).sort().join(`,`)})).sort((e,t)=>e.componentCode.localeCompare(t.componentCode)),qt=new Map,Jt=new Map;function Yt(e,t){return`${e.name??``}::${t}`}function Xt(...e){return JSON.stringify(e)}async function Zt(e,t,n){let r=Yt(e,t);if(qt.has(r))return qt.get(r);let i=Jt.get(r);if(i)return i;let a=n().then(e=>(qt.set(r,e),e)).finally(()=>{Jt.delete(r)});return Jt.set(r,a),a}function Qt(e,t){return qt.has(Yt(e,t))}function $t(){qt.clear(),Jt.clear()}var en=e=>e.map(e=>({componentCode:e.id||``,operator:h.QueryFilterType.IN,values:e.dimensionValues?.map(e=>e.id)||[]})),tn=(e,t)=>{let n=t?.timeDimensions?.[0],r=(0,y.getTimeRangeFromAttachment)(e,n)||null;return r?(0,y.getQueryTimePeriodFilters)(r,n?.id):null},nn=(e,t,n)=>{let r=ht(or(e,n)),i=r.find(e=>e?.isTimeDimension&&e?.timeRange);return{filterKey:(0,y.getTimeSeriesFilterKey)(t||[],en(r)),timeFilter:(0,y.getQueryTimePeriodFilters)(i?.timeRange,i?.id)}},rn=e=>{if(!e)return``;let t=String(e.getDate()).padStart(2,`0`);return`${String(e.getMonth()+1).padStart(2,`0`)}-${t}-${e.getFullYear()}`},an=e=>{if(!e)return``;let t=String(e.getDate()).padStart(2,`0`),n=String(e.getMonth()+1).padStart(2,`0`);return`${e.getFullYear()}-${n}-${t}`},on=(e,t,n=rn)=>or(e,t)?.filter(e=>e.timeRange||e.isExcluded||e.dimensionValues?.some(e=>e.isSelectedValue)).map(e=>e?.isTimeDimension?{componentCode:e?.id,operator:h.QueryFilterType.BETWEEN,values:[n(e?.timeRange?.startPeriod||void 0)||``,n(e?.timeRange?.endPeriod||void 0)||``]}:e.isExcluded?{componentCode:e?.id,operator:h.QueryFilterType.EXCLUDED,values:[]}:{componentCode:e?.id,operator:h.QueryFilterType.IN,values:e?.dimensionValues?.filter(e=>e.isSelectedValue)?.map(e=>e.id)||[]}),sn=(e,t)=>{let n=or(e,t).flatMap(e=>e.id?[e.id]:[]),r=t?e.flatMap(e=>{if(e.filterType!==`shared`)return[];let n=e.sourceFilterIdsByDataset?.[t];return n?[n]:[]}):[];return new Set([...n,...r])},cn=(e,t)=>{let n=new Set(t.map(e=>e.componentCode));return Array.from(e).filter(e=>!n.has(e)).map(e=>({componentCode:e,operator:h.QueryFilterType.IN,values:[y.GET_v3_FILTER_ALL]}))},ln=(e,t,n=!0)=>{let r=n?e.urn:void 0,i=dn(t,r),a=sn(t,r),o=cn(a,i),s=(e.filters??[]).filter(e=>!a.has(e.componentCode));return{...e,filters:[...s,...i,...o]}},un=(e,t)=>on(e,t),dn=(e,t)=>on(e,t,an),fn=`COUNTRY`,pn=`FREQUENCY`,mn=`TIME_PERIOD`,hn=new Set([fn,pn,mn]),gn=e=>e?.trim()?.toLocaleUpperCase(),_n=()=>(e,t)=>{let n=e?.name?.trim()?.toLocaleLowerCase();return n?vn(n):yn(t||``,e.id)},vn=e=>`name:${e}`,yn=(e,t)=>`dataset:${e}:id:${t}`,bn=(e,t)=>e?t?.[e]:void 0,xn=(e,t)=>{if(!(e?.filterType!==`dataset`||!e.id))return bn(e.datasetUrn,t)?.[e.id]},Sn=(e,t,n)=>Object.entries(bn(e,n)||{}).find(([,e])=>t(e))?.[0],Cn=(e,t,n)=>Sn(e,e=>e.subtype===t,n),wn=(e,t)=>Sn(e,e=>e.dimensionType===`TIME_PERIOD`,t),Tn=[{id:fn,subtype:`REGION`,getMergedValueKey:_n()},{id:pn,subtype:`FREQUENCY`,getMergedValueKey:_n()},{id:mn,getMergedValueKey:e=>e.id}],En=new Map(Tn.map(e=>[e.id,e])),Dn=e=>e?En.get(gn(e)||``):void 0,On=(e,t,n)=>{if(e.filterType===`shared`)return t.id===gn(e.id);if(t.id===`TIME_PERIOD`)return e.isTimeDimension||xn(e,n)?.dimensionType===`TIME_PERIOD`||t.id===gn(e.id);let r=xn(e,n);return t.subtype&&r?.subtype===t.subtype?!0:t.id===gn(e.id)},kn=(e,t)=>e?Tn.find(n=>On(e,n,t)):void 0,An=(e,t,n)=>{if(!t)return;let r=e?n?.[e]?.[t]:void 0;return r?.dimensionType===`TIME_PERIOD`?mn:Tn.find(e=>!!e.subtype&&e.subtype===r?.subtype)?.id??Dn(t)?.id},jn=e=>!!Dn(e),Mn=e=>e?.filterType===`shared`&&jn(e?.id),Nn=(e,t)=>!e||Array.isArray(e.get(t)),Pn=(e,t)=>!e?.dataMessagesMap||e.dataMessagesMap.has(t),Fn=(e,t)=>{let n=new Map;return e.forEach(e=>{e.dimensionValues?.forEach(r=>{let i=t.getMergedValueKey(r,e.datasetUrn),a={datasetUrn:e.datasetUrn,id:r.id,name:r.name,parent:r.parent},o=n.get(i);if(o){o.isSelectedValue=o.isSelectedValue||r.isSelectedValue,o.sourceValues=[...o.sourceValues||[],a];return}n.set(i,{id:i,name:r.name,isSelectedValue:r.isSelectedValue,parent:r.parent,sourceValues:[a]})})}),Array.from(n.values())},In=(e,t)=>{let n=new Map,r=[];return e.forEach(e=>{let i=kn(e,t);if(i&&e?.datasetUrn){let t=n.get(i.id)||[];n.set(i.id,[...t,e]);return}r.push(e)}),[...Tn.flatMap(e=>{let t=n.get(e.id);if(!t?.length)return[];let r={...t[0],id:e.id,datasetUrn:void 0,filterType:`shared`,sourceDatasetUrns:Array.from(new Set(t.map(e=>e.datasetUrn).filter(e=>!!e))),sourceFilterIdsByDataset:Object.fromEntries(t.flatMap(e=>e.datasetUrn&&e.id?[[e.datasetUrn,e.id]]:[])),dimensionValues:Fn(t,e)};return r.isTimeDimension&&(r.timeRange=Un(t)),r}),...r]},Ln=(e,t,n)=>{let r=e.sourceFilterIdsByDataset?.[t];if(r)return r;if(e.id===`TIME_PERIOD`)return wn(t,n);let i=Dn(e.id);return i?.subtype?Cn(t,i.subtype,n):void 0},Rn=(e,t,n,r)=>({...e,id:Ln(e,t,r)||e.id,datasetUrn:t,filterType:`dataset`,...n?{dimensionValues:n}:{}}),zn=(e,t)=>(e.sourceDatasetUrns||[]).map(n=>Rn(e,n,void 0,t)),Bn=(e,t)=>({id:t.id,name:t.name,parent:t.parent,isSelectedValue:e.isSelectedValue}),Vn=(e,t)=>{let n=new Map;return e.dimensionValues?.forEach(r=>{r.sourceValues?.forEach(i=>{let a=i.datasetUrn||``,o=n.get(a),s=Bn(r,i);if(o){o.dimensionValues=[...o.dimensionValues||[],s];return}n.set(a,Rn(e,a,[s],t))})}),n},Hn=(e,t=!1,n)=>{if(!Mn(e))return[e];if(e.isTimeDimension)return zn(e,n);let r=Vn(e,n);return Array.from(r.values())},Un=e=>{let t=e.map(e=>e.timeRange?.startPeriod).filter(e=>!!e),n=e.map(e=>e.timeRange?.endPeriod).filter(e=>!!e);if(!(!t.length||!n.length))return{startPeriod:new Date(Math.min(...t.map(e=>e.getTime()))),endPeriod:new Date(Math.max(...n.map(e=>e.getTime())))}},Wn=(e,t,n,r)=>t&&t<n?{startPeriod:new Date(n),endPeriod:new Date(n)}:e&&e>r?{startPeriod:new Date(r),endPeriod:new Date(r)}:{startPeriod:e?new Date(Math.max(e.getTime(),n.getTime())):new Date(n),endPeriod:t?new Date(Math.min(t.getTime(),r.getTime())):new Date(r)},Gn=(e,t)=>{if(!e.isTimeDimension||!e.timeRange)return e;let{startPeriod:n,endPeriod:r}=(0,y.getAnnotationPeriod)(t?.[0]?.annotations);return!n||!r?e:{...e,timeRange:Wn(e.timeRange.startPeriod,e.timeRange.endPeriod,n,r)}},Kn=(e,t)=>e?.dimensionsMap?new Map(Array.from(e.dimensionsMap.entries()).map(([n,r])=>[n,lt(r,e?.structuresMap?.get(n),e?.structureDimensionsMap?.get(n),t,n)])):new Map,qn=(e,t,n=!0)=>new Map(Array.from(e?.dimensionsMap?.entries()||[]).map(([r,i])=>{let a=Nn(e?.constraintsMap,r),o=Pn(e,r);return[r,i?.map(i=>{if(!a||n&&!o)return{...i,dimensionValues:[]};let s=(0,y.getAvailableCodesFromConstrains)((0,y.findCodelistByDimension)(e?.structuresMap?.get(r)?.codelists,e?.structuresMap?.get(r)?.conceptSchemes,i)?.codes,i.id,e?.constraintsMap?.get(r),t);return{...i,dimensionValues:s}})||[]]})),Jn=e=>e.map(e=>({...e,isDisabled:!1,dimensionValues:e.dimensionValues?.filter(e=>e.isSelectedValue)||[]})),Yn=(e,t,n=!0)=>{let r=Kn(e,t),i=qn(e,t,n);return new Map(Array.from(r?.entries()||[]).map(([e,t])=>{let n=i?.get(e);return[e,t.map(e=>({...e,dimensionValues:n?.find(t=>t.id===e.id)?.dimensionValues||[]}))]}))},Xn=(e,t,n,r)=>{let i=(e,n)=>t?.some(t=>t.urn!==e.urn&&t.filters?.some(e=>e.operator===h.QueryFilterType.BETWEEN||!e.values?.length?!1:kn({id:e.componentCode,datasetUrn:t.urn,filterType:`dataset`},r)?.id===n.id))??!1;return In(t?.flatMap(t=>{let a=t?.urn;return bt(e?.get(a)||[],t,n?.get(a)||[]).map(e=>{if(e.isTimeDimension||e.filterType!==`dataset`)return e;let n=kn(e,r);return!n||n.id===`TIME_PERIOD`||t.filters?.some(t=>t.componentCode===e.id&&t.operator!==h.QueryFilterType.BETWEEN)||!i(t,n)||e.dimensionValues?.some(e=>e.isSelectedValue)?e:{...e,dimensionValues:e.dimensionValues?.map(e=>({...e,isSelectedValue:!0}))}})})||[],r)},Zn=(e,t,n=!1,r,i=new Set)=>{let a=e?.flatMap(e=>Hn(e,n,r))?.reduce((e,n)=>{let r=n?.datasetUrn||``,i=Gn(n,t?.get(r));return e.has(r)||e.set(r,[]),e?.get(r)?.push(i),e},new Map);if(i.size>0)for(let e of i)a.delete(e);return a},Qn=(e,t,n,r,i)=>{let a=e.filter(e=>e.filterType===`shared`&&!e.isTimeDimension&&(e.dimensionValues?.some(e=>e.isSelectedValue)??!1));if(!a.length)return new Set(t);let o=(e,t)=>{let a=Ln(t,e,r);if(!a)return!1;if(i)return!(i.get(e)??[]).find(e=>e.id===a);let o=n?.find(t=>t.urn===e);return o?!o.filters?.some(e=>e.componentCode===a&&e.operator!==h.QueryFilterType.BETWEEN):!1};return new Set(t.filter(e=>a.every(t=>t.dimensionValues?.some(t=>t.isSelectedValue&&t.sourceValues?.some(t=>t.datasetUrn===e))||o(e,t))))},$n=(e,t)=>t?(e||[]).filter(e=>t.has(e.urn)):e||[],er=(e,t)=>t?new Map([...e].filter(([e])=>t.has(e))):e,tr=(e,t)=>{let n=new Map;if(e?.forEach(e=>{e.filters?.forEach(r=>{if(r.operator===h.QueryFilterType.BETWEEN||!r.values?.length)return;let i=kn({id:r.componentCode,datasetUrn:e.urn,filterType:`dataset`},t);if(!i||i.id===`TIME_PERIOD`)return;let a=n.get(i.id)??new Set;a.add(e.urn),n.set(i.id,a)})}),n.size)return e?.filter(e=>Array.from(n.values()).every(t=>t.has(e.urn))).map(e=>e.urn)??[]},nr=(e,t)=>t?Array.from(new Set(e?.flatMap(e=>e.cubeRegions?.filter(e=>e.isIncluded).flatMap(e=>e.memberSelection?.filter(e=>e.componentId===t).flatMap(e=>e.selectionValues.map(e=>e.memberValue))??[])??[])??[])):[],rr=(e,t,n)=>{if(e.length<2||!t)return e;let r=e.flatMap(e=>Tn.flatMap(r=>{if(!r.subtype)return[];let i=Cn(e.urn,r.subtype,n);return i?[{configId:r.id,dataQuery:e,dimensionId:i,filter:e.filters?.find(e=>e.componentCode===i&&e.operator!==h.QueryFilterType.BETWEEN),availableValues:nr(t.get(e.urn),i)}]:[]})),i=new Map;r.forEach(e=>{i.set(e.configId,[...i.get(e.configId)??[],e])});let a=new Map;return i.forEach(e=>{let t=e.filter(e=>e.filter?.values?.length),n=e.filter(e=>!e.filter);if(!t.length||!n.length)return;let r=new Set(n.flatMap(e=>e.availableValues));r.size&&t.forEach(e=>{let t=e.filter;if(!t?.values?.length)return;let n=new Set(e.availableValues),i=Array.from(new Set([...t.values,...Array.from(r).filter(e=>n.has(e))]));i.length>t.values.length&&a.set(t,i)})}),a.size?e.map(e=>{let t=!1,n=e.filters?.map(e=>{let n=a.get(e);return n?(t=!0,{...e,values:n}):e});return t?{...e,filters:n}:e}):e},ir=e=>JSON.stringify(e?.map(e=>({urn:e.urn,filters:e.filters??[]}))??[]),ar=(e,t,n=h.Locale.EN,r)=>{let i=[];return Array.from(e?.entries())?.forEach(([e,r])=>{let a=t?.dimensionsMap?.get(e),o=t?.structuresMap?.get(e),s=Nn(t?.constraintsMap,e),c=Pn(t,e);if(!s||!c){i.push(...Jn(r));return}let l=t?.constraintsMap?.get(e);i.push(...Vt(r,a,o,l,n))}),In(i,r)},or=(e,t,n)=>t?Zn(e,void 0,!1,n).get(t)||[]:e.filter(e=>e.filterType!==`shared`),sr=(e,t)=>{if(e?.filterType===`shared`)return;let n=e?.datasetUrn?t?.get(e.datasetUrn)?.dataflows?.[0]:void 0;return n?(0,y.generateShortUrn)(n?.name,``,n?.agencyID):void 0},cr=(e,t)=>e?.length?!!t?.dimensionsMap&&!!t?.structuresMap&&!!t?.structureDimensionsMap&&!!t?.constraintsMap:!1,lr=(e,t,n)=>Kt(Ht(t,e,n).filter(e=>e.componentCode!==y.TIME_PERIOD)),ur=(e,t,n,r,i)=>e?.map(e=>{let a=e?.urn??``,o=lr(a,i??t?.get(a)??[],r);return n?Zt(n.getConstraints,Xt(a,o),()=>n.getConstraints(a,o)).then(e=>({urn:a,data:e})):Promise.resolve({urn:a,data:{}})})||[],dr=(e,t,n,r,i)=>!n?.getConstraints||!e?.length?!1:e.some(e=>{let a=e?.urn??``,o=lr(a,i??t?.get(a)??[],r);return!Qt(n.getConstraints,Xt(a,o))}),fr=(e,t,n)=>{if(e.length<2)return!1;let r=new Map;for(let i of e){let e=t.dimensionsMap?.get(i.urn);if(e)for(let t of e){let e=t.id;if(!e)continue;let a=n?.[i.urn]?.[e],o=a?.subtype;if(!o||a?.dimensionType===`TIME_PERIOD`)continue;let s=Tn.find(e=>e.subtype===o);if(!s)continue;let c=r.get(s.id)??{datasetsWithExplicitValues:new Set,datasetsWithMissingFilter:new Set},l=i.filters?.find(t=>t.componentCode===e&&t.operator!==h.QueryFilterType.BETWEEN);l?l.values?.length&&c.datasetsWithExplicitValues.add(i.urn):c.datasetsWithMissingFilter.add(i.urn),r.set(s.id,c)}}return[...r.values()].some(e=>[...e.datasetsWithMissingFilter].some(t=>[...e.datasetsWithExplicitValues].some(e=>e!==t)))},pr=e=>new Map(e?.flatMap(({urn:e,data:t})=>{let n=t?.data?.dataConstraints;return Array.isArray(n)?[[e,n]]:[]})),mr=e=>pr(e.flatMap(e=>e.status===`fulfilled`?[e.value]:[])),hr=(e,t)=>{let n=new Map(e);return t.forEach((e,t)=>{n.set(t,e)}),n},gr=(e,t,n,r)=>{if(e&&t?.filterType===`shared`&&t?.isTimeDimension){let e=Array.from(r?.values()||[]).flatMap(e=>e||[]).map(e=>(0,y.getAnnotationPeriod)(e?.annotations)).filter(e=>e.startPeriod!==null&&e.endPeriod!==null);if(!e.length)return[];let n=new Date(Math.min(...e.map(e=>e.startPeriod.getTime()))),i=new Date(Math.max(...e.map(e=>e.endPeriod.getTime())));return[{id:t.id||y.TIME_PERIOD,annotations:[{id:y.TIME_PERIOD_START_ANNOTATION_KEY,title:n.toISOString()},{id:y.TIME_PERIOD_END_ANNOTATION_KEY,title:i.toISOString()}]}]}return e?r?.get(t?.datasetUrn??``)??[]:n??[]},_r=(e,t,n)=>new Map(t?.map(t=>{let r=t?.urn;return[r,nn(e.get(r)||[],n?.get(r))]})),vr=(e,t,n,r,i)=>{let a=fr(e,t,i);if(!n||!e.length||!a)return;let o=Xn(Yn({...t,constraintsMap:n},r,!1),e,n,i),s=Zn(o,n,!1,i),c=Qn(o,e.map(e=>e.urn),e,i,s);return{compatibleUrns:c,filterParamsMap:_r(s,e.filter(e=>c.has(e.urn)),t.dimensionsMap)}},yr=(e,t)=>new Map(e?.map(e=>{let n=e?.urn;return[n,un(t?.get(n)||[])]})),br=(e,t,n)=>{let r=(e.sourceDatasetUrns??[]).filter(e=>!t.has(e));if(r.length===0)return[];if(!n||!e.timeRange)return[{...e,sourceDatasetUrns:r}];let i=r.map(e=>(0,y.getAnnotationPeriod)(n.get(e)?.[0]?.annotations)).filter(e=>!!e?.startPeriod&&!!e?.endPeriod);if(i.length===0)return[{...e,sourceDatasetUrns:r}];let a=new Date(Math.min(...i.map(e=>e.startPeriod.getTime()))),o=new Date(Math.max(...i.map(e=>e.endPeriod.getTime())));return[{...e,sourceDatasetUrns:r,timeRange:Wn(e.timeRange.startPeriod,e.timeRange.endPeriod,a,o)}]},xr=(e,t,n)=>t.size===0?e:e.flatMap(e=>{if(e.filterType!==`shared`)return[e];if(e.isTimeDimension)return br(e,t,n);let r=(e.dimensionValues??[]).filter(e=>e.sourceValues?.some(e=>!t.has(e.datasetUrn??``)));return r.length===0?[]:[{...e,dimensionValues:r}]}),Sr=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Cr=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`path`,{d:`M6.66663 6.175L10.4833 10L6.66663 13.825L7.84163 15L12.8416 10L7.84163 5L6.66663 6.175Z`,fill:`currentColor`})}),wr=C.FixedSizeList,Tr=24,Er=232,Dr=({selectedFilter:e,filterValues:t,checkboxIcon:n,isHierarchicalView:r,isVirtualized:i=!0,isScrollable:a=!0,isDisableValues:o,isValuesLoading:s,structuresMap:c,hierarchyTreeNodes:u,isHierarchyLoading:f,selectFilterValue:m,selectHierarchicalNodes:h,expandHierarchicalValue:g})=>{let _=(0,d.useIsMobile)(),{isCrossDatasetModeOn:v}=Pt(),y=s||f;if(!t&&!y)return null;let b=t??[],x=e?sr(e,c):void 0,S=c?.size===1,C=v&&e?.filterType!==`shared`&&!!e?.title&&(S||!!x),T=b.length*Tr,E=T>Er?Er:T;return(0,l.jsxs)(`div`,{className:(0,p.default)(`relative`,o&&`pointer-events-none opacity-[0.7]`,a?`flex h-full min-h-0 flex-col`:`flex flex-col`),children:[C&&(0,l.jsxs)(`div`,{className:`mb-2 flex items-center gap-x-1`,children:[!S&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Sr,{className:`size-4 shrink-0 text-neutrals-700`}),(0,l.jsx)(`span`,{className:`h4 text-neutrals-800`,children:x}),(0,l.jsx)(Cr,{className:`size-4 shrink-0 text-neutrals-1000`})]}),(0,l.jsx)(`span`,{className:`h4 text-neutrals-1000`,children:e?.title})]}),y&&(0,l.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-10 min-h-12`,children:(0,l.jsx)(d.Loader,{})}),(0,l.jsx)(`div`,{className:(0,p.default)(a?`min-h-0 flex-1 overflow-auto`:`overflow-visible`,y&&`pointer-events-none opacity-[0.7]`),style:a&&_&&!y?{height:`${E}px`}:void 0,children:u?.length||r?(0,l.jsx)(zt,{treeNodes:u??Ct(b),checkboxIcon:n,selectFilterValue:m,selectHierarchicalNodes:h,expandHierarchicalValue:g}):i?(0,l.jsx)(w.default,{children:({width:e,height:t})=>(0,l.jsx)(wr,{itemCount:b.length,itemSize:Tr,width:e,height:t,children:({index:e,style:t})=>(0,l.jsx)(Bt,{style:t,filterValue:b[e],checkboxIcon:n,selectFilterValue:m})})}):(0,l.jsx)(`div`,{className:`flex flex-col gap-y-1`,children:b.map(e=>(0,l.jsx)(Bt,{filterValue:e,checkboxIcon:n,selectFilterValue:m},e.id))})})]})};function Or(e,t){let n=(e??``).split(`.`).map(Number),r=(t??``).split(`.`).map(Number),i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t}return 0}function kr(e){let t=new Map;for(let n of e){let e=`${n.agencyID??``}:${n.id}`,r=t.get(e);(!r||Or(n.version??``,r.version??``)>0)&&t.set(e,n)}return Array.from(t.values())}function Ar(e){return(0,y.generateShortUrn)(e.id,e.version??``,e.agencyID??``)}function jr(e,t,n,r,i){let a=(0,y.getHierarchyAvailableCodes)((0,y.getHierarchyCodes)(e,t),n,r);return Pr(Nr(e,(0,y.getCodeListsData)(t),a.map(e=>e.id),i))}function Mr(e,t,n,r,i){return r?.map(r=>{let{childId:a,agency:o,id:s,version:c}=(0,y.getChildParsedUrn)(r.code),l=(0,y.generateShortUrn)(s,c,o),u=Object.keys(e??{}).find(e=>(0,y.urnMatchesIgnoreVersion)(e,l))??l,d=(e?.[u])?.find(e=>e.id===a),f=d?.name||d?.description||a,p=n?(0,y.urnMatchesIgnoreVersion)(l,n):!0,m=!p&&(r.hierarchicalCodes?.length??0)>0,h=Mr(e,t,n,r.hierarchicalCodes,r.code),g=h.length===0;return m&&g||p&&g&&t&&!t.includes(a??``)?null:{id:r.code,name:f,children:h,isExpanded:!0,disabled:!p&&h.every(e=>e.disabled),isSelectableValue:p,parent:i,metadata:{...r,hierarchicalCodes:void 0}}}).filter(e=>e!==null)??[]}function Nr(e,t,n,r){return!n||n.length===0?[]:Mr(t,n,r,e?.hierarchicalCodes,void 0)}function Pr(e){return e.map(e=>{let{childId:t}=(0,y.getChildParsedUrn)(e.id??``);return{id:t??e.id??``,name:e.name,isExpanded:e.isExpanded,isSelectedValue:!1,disabled:e.disabled,isSelectableValue:e.isSelectableValue,children:Pr(e.children)}})}function Fr(e,t){return e?.filterType===`shared`?e.dimensionValues?.find(e=>e.id===t||e.sourceValues?.some(e=>e.id===t))?.id:t}function Ir(e){return e?.filterType===`shared`?new Set(e.dimensionValues?.flatMap(e=>e.isSelectedValue?e.sourceValues?.map(e=>e.id)??[]:[])??[]):new Set(e?.dimensionValues?.filter(e=>e.isSelectedValue).map(e=>e.id)??[])}function Lr(e,t){if(!e?.length||t?.filterType!==`shared`)return e??[];let n=new Map;return e.forEach(e=>{let r=Fr(t,e.id);r&&n.set(r,{...e,id:r})}),Array.from(n.values())}function Rr(e,t){return Fr(t,e)}function zr(e,t){return e.map(e=>{let n=e.children?.length?zr(e.children,t):e.children,r;if(t.has(e.id))r=!0;else if(n?.length&&!e.isSelectableValue){let e=n.filter(e=>!e.disabled);r=e.length>0&&e.every(e=>!!e.isSelectedValue)}else r=!1;return{...e,isSelectedValue:r,children:n}})}function Br(e,t){return e.map(e=>e.id===t?{...e,isExpanded:!e.isExpanded}:e.children?.length?{...e,children:Br(e.children,t)}:e)}function Vr(e,t){let n=t.toLowerCase();return e.reduce((e,r)=>{let i=r.name?.toLowerCase().includes(n),a=Vr(r.children??[],t);return(i||a.length>0)&&e.push({...r,isExpanded:!0,children:i?r.children:a}),e},[])}var Hr=(0,c.createContext)(null);function Ur({children:e,value:t}){return(0,l.jsx)(Hr.Provider,{value:t,children:e})}function Wr(){let e=(0,c.useContext)(Hr);if(!e)throw Error(`useFiltersModal must be used within FiltersModalProvider`);return e}var Gr=2,Kr=({filtersList:e,selectedFilter:t,initialConstraints:n,structuresMap:r,selectedTimeOption:i,hierarchyState:a})=>{let{titles:o}=X(),{locale:s,isDisableValues:u,isValuesLoading:d,timeRangeOptions:f,filterValuesProps:m,dataQueries:g,selectFilterValue:_,selectHierarchicalNodes:v,expandHierarchicalValue:b,onTimePeriodChange:x}=Wr(),[S,C]=(0,c.useState)(``),{isCrossDatasetModeOn:w}=Pt(),T=t?.displayMode===ct.HIERARCHY,E=dt(t),D=t?.filterType===`shared`,O=S?.trim().toLowerCase(),k=w?O.length>=Gr:!!O,A=k&&w&&!D,j=(0,c.useCallback)(e=>{if(!e?.dimensionValues)return{filterValues:[],matchedCount:0};let t=e.dimensionValues.filter(e=>e?.name?.toLowerCase()?.includes(O));return{filterValues:e.displayMode===ct.HIERARCHY?(0,y.getFilteredItemsWithParents)(e.dimensionValues,t):t,matchedCount:t.length}},[O]),M=(0,c.useMemo)(()=>k?j(t).filterValues:t?.dimensionValues,[k,j,t]),N=(0,c.useMemo)(()=>A?(e||[]).reduce((e,n)=>{if(Z(n,t)||n.filterType===`shared`)return e;let{filterValues:r,matchedCount:i}=j(n);return i?[...e,{filter:n,filterValues:r,matchedCount:i,isHierarchicalView:n.displayMode===ct.HIERARCHY}]:e},[]):[],[A,e,t,j]),P=(0,c.useMemo)(()=>{let e=a?.treeNodes;if(!e?.length)return e;let n=Ir(t),r=n.size?zr(e,n):e;return k?Vr(r,O):r},[a?.treeNodes,t,k,O]),F=P?!P.length:!M?.length,I=!!d||!!a?.isLoading,L=(0,c.useMemo)(()=>N.reduce((e,t)=>e+t.matchedCount,0),[N]);(0,c.useEffect)(()=>{C(``)},[E]);let R=(0,c.useCallback)(e=>{C(e)},[C]);return(0,l.jsx)(l.Fragment,{children:t?.isTimeDimension&&n?(0,l.jsx)(jt,{initialConstraints:n,calendarResolution:h.CalendarResolution.DAY,timeRange:t?.timeRange||null,timeRangeOptions:f||[],calendarStartFromMonday:!0,locale:s,radioIcon:m?.radioIcon,onValueChange:x,calendarIcon:m?.calendarIcon,dateFormat:m?.dateFormat,defaultTimeOption:i,dataQueries:g}):(0,l.jsxs)(`div`,{className:(0,p.default)(`flex flex-col py-2 h-full flex-1 min-w-0 sm:border-0`,`filter-values-container`),children:[(0,l.jsx)(It,{value:S,onChange:R,searchIconSize:m?.searchIconSize}),(0,l.jsx)(`div`,{className:`body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto`,children:A?(0,l.jsxs)(l.Fragment,{children:[t&&(0,l.jsxs)(`div`,{className:`shrink-0 pb-4`,children:[(0,l.jsx)(Dr,{selectedFilter:t,filterValues:M,checkboxIcon:m?.checkboxIcon,isHierarchicalView:T,isVirtualized:!1,isScrollable:!1,isDisableValues:u,isValuesLoading:d,structuresMap:r,hierarchyTreeNodes:P,isHierarchyLoading:a?.isLoading,selectFilterValue:_,selectHierarchicalNodes:v,expandHierarchicalValue:b}),!I&&F&&(0,l.jsx)(`span`,{className:`body-2 text-neutrals-700`,children:o?.noResultsInSection?.(t.title??``)??`No results found in ${t.title??``}`})]}),(0,l.jsxs)(`div`,{className:`pb-3`,children:[(0,l.jsxs)(`span`,{className:`h2 text-neutrals-1000`,children:[o?.otherResults??`Other results`,`:`,` `,L]}),!d&&L===0&&(0,l.jsx)(`p`,{className:`body-2 mt-1 text-neutrals-700`,children:o?.noResultsInOtherDimensions??`No results found in other dimensions`})]}),N.map(({filter:e,filterValues:t,isHierarchicalView:n})=>(0,l.jsx)(`div`,{className:`shrink-0 pb-4 last:pb-0`,children:(0,l.jsx)(Dr,{selectedFilter:e,filterValues:t,checkboxIcon:m?.checkboxIcon,isHierarchicalView:n,isVirtualized:!1,isScrollable:!1,isDisableValues:u,isValuesLoading:d,structuresMap:r,selectFilterValue:(t,n)=>_(t,n,e),selectHierarchicalNodes:t=>v(t,e),expandHierarchicalValue:t=>b(t,e)})},dt(e)))]}):(0,l.jsx)(Dr,{selectedFilter:t,filterValues:M,checkboxIcon:m?.checkboxIcon,isHierarchicalView:T,isDisableValues:u,isValuesLoading:d,structuresMap:r,hierarchyTreeNodes:P,isHierarchyLoading:a?.isLoading,selectFilterValue:_,selectHierarchicalNodes:v,expandHierarchicalValue:b})})]})})},qr=({filtersList:e,filter:t,onSelectFilter:n,onSelectDisplayMode:r,onDeleteFilter:i,initialConstraints:a,hideFacetCounterByDefault:o,hierarchyState:s})=>{let{titles:u}=X(),{locale:f,onSelectHierarchy:m}=Wr(),h=(0,d.useIsMobile)(),[g,_]=(0,c.useState)(0),[v,y]=(0,c.useState)(!1),b=t?.isTimeDimension&&t?.timeRange,x=(0,c.useMemo)(()=>t?.timeRange?.startPeriod&&t?.timeRange?.endPeriod?`${tt(t?.timeRange?.startPeriod,f)} -
|
|
6
|
+
${tt(t?.timeRange?.endPeriod,f)}`:``,[f,t?.timeRange]);(0,c.useEffect)(()=>{_(mt(t?.dimensionValues)?.length)},[t?.dimensionValues]);let S=o?g>0:!0,C=(0,c.useMemo)(()=>At({isHierarchical:t?.isHierarchical,availableHierarchies:s?.availableHierarchies,titles:u}),[t?.isHierarchical,s?.availableHierarchies,u]),w=s?.isLoading||!t?.isHierarchical&&!s?.availableHierarchies?.length;return(0,c.useEffect)(()=>{t.isSelectedFilter||y(!1)},[t.isSelectedFilter]),(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`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:()=>{h&&y(e=>!e),n(t)},children:[(0,l.jsxs)(`h3`,{className:`w-full min-w-0 flex-1 truncate sm:flex sm:items-center`,title:t?.title,children:[(0,l.jsx)(`span`,{className:`truncate`,children:t?.title}),h&&(0,l.jsx)(Xe,{className:(0,p.default)(`chevron-icon w-6 h-6 shrink-0`,v&&`rotate-180`)})]}),(0,l.jsxs)(`div`,{className:`ml-2 flex items-center gap-2 text-neutrals-800`,children:[b&&(0,l.jsx)(`span`,{className:`filters-facet-item-counter border-none`,children:x}),!b&&S&&(0,l.jsx)(`span`,{className:(0,p.default)(`px-2 text-center`,`filters-facet-item-counter`),children:g?`${g}/${t?.dimensionValues?.length||0}`:u?.all||`All`}),b?null:(0,l.jsxs)(`div`,{className:`filters-facet-item-settings flex items-center gap-2`,children:[(0,l.jsx)(d.Dropdown,{triggerButton:(0,l.jsx)(d.IconButton,{buttonClassName:(0,p.default)(`text-button-tertiary w-4 h-4 border-0 p-0`,`filters-facet-item-icon`),icon:(0,l.jsx)(Ze,{width:16,height:16}),title:u?.displayOrder||`Display Order`,disabled:w}),disabled:w,options:C,selectedOption:s?.selectedHierarchy?.id??(t?.displayMode===ct.HIERARCHY?ct.HIERARCHY:``),onOptionSelect:e=>{if(e===``)m?.(t,null),r?.(t,ct.FLAT_LIST);else if(e===ct.HIERARCHY)m?.(t,null),r?.(t,ct.HIERARCHY);else{let n=s?.availableHierarchies?.find(t=>t.id===e)??null;m?.(t,n)}}}),g>0&&(0,l.jsx)(d.IconButton,{buttonClassName:(0,p.default)(`text-button-tertiary w-4 h-4 border-0 p-0`,`filters-facet-item-icon`),icon:(0,l.jsx)(Je,{width:16,height:16}),title:u?.reset||`Reset`,onClick:e=>{e.stopPropagation(),i?.(t)}})]})]})]}),v&&(0,l.jsx)(Kr,{filtersList:e,selectedFilter:t,initialConstraints:a,hierarchyState:s})]})},Jr=new Set,Yr=({filtersList:e,hideFacetCounterByDefault:t,onSelectFilter:n,onDeleteFilter:r,onSelectDisplayMode:i,initialConstraints:a,initialConstraintsMap:o,datasetIcon:s,structuresMap:c,hierarchyStateMap:u,dataQueries:d,disabledDatasetUrns:f=Jr,isDatasetFacetSelected:m=!1,onSelectDatasetFacet:h,onClearAllDatasets:g})=>{let{isCrossDatasetModeOn:_}=Pt(),v=_&&!!d?.length,y=new Set(e.filter(e=>e.filterType===`dataset`).map(e=>e.datasetUrn||``)).size;return(0,l.jsxs)(`div`,{className:(0,p.default)(`overflow-y-auto advanced-view-filters-list w-[338px] pr-3 h-full sm:w-full`),children:[v&&(0,l.jsx)(Ye,{dataQueries:d,disabledDatasetUrns:f,isSelected:m,onSelect:h,onClearAll:g}),e.filter(e=>!(e.filterType===`dataset`&&e.datasetUrn&&f.has(e.datasetUrn))).map((e,d,f)=>{let p=f[d-1],m=e.filterType===`dataset`&&y>1&&e.datasetUrn!==p?.datasetUrn?sr(e,c):void 0;return(0,l.jsxs)(`div`,{className:`min-w-0 shrink-0`,children:[m&&(0,l.jsxs)(`h4`,{className:`filters-facet-dataset-name !flex`,children:[(0,l.jsx)(`span`,{className:`filters-facet-dataset-icon`,children:s}),(0,l.jsx)(`span`,{className:`min-w-0 truncate`,title:m,children:m})]}),(0,l.jsx)(qr,{filtersList:f,filter:e,onSelectFilter:n,onSelectDisplayMode:i,onDeleteFilter:r,hideFacetCounterByDefault:t,initialConstraints:gr(_,e,a,o),hierarchyState:u?.get(dt(e)??``)})]},dt(e))})]})},Xr=({dataQueries:e,disabledDatasetUrns:t,onToggleDataset:n,searchIconSize:r})=>{let[i,a]=(0,c.useState)(``),o=i.trim().toLowerCase(),s=e.filter(e=>o.length<2||(e.title??e.urn).toLowerCase().includes(o)),u=e.length-t.size;return(0,l.jsxs)(`div`,{className:`filter-values-container flex h-full min-w-0 flex-1 flex-col py-2 sm:border-0`,children:[(0,l.jsx)(It,{value:i,onChange:a,searchIconSize:r}),(0,l.jsx)(`div`,{className:`body-2 mt-3 flex min-h-0 flex-1 flex-col overflow-auto`,children:s.map(e=>{let r=!t.has(e.urn),i=r&&u===1;return(0,l.jsx)(`div`,{className:(0,p.default)(`py-1`,i&&`pointer-events-none`),children:(0,l.jsx)(d.Checkbox,{id:e.urn,label:e.title??e.urn,checked:r,disabled:i,disabledScope:`icon`,onChange:(t,r)=>n(e.urn,!!r)})},e.urn)})})]})},Zr=({filtersList:e,selectedFilter:t,modalProps:n,locale:r,isDisableValues:i,isValuesLoading:a,timeSeriesCount:o,timeRangeOptions:s,initialConstraints:u,initialConstraintsMap:f,datasetIcon:m,structuresMap:h,setSelectedFilter:g,onSelectDisplayMode:_,onDeleteFilter:v,onClearAllFilters:y,updateSelectedFilterValues:b,onTimePeriodChange:x,selectedTimeOption:S,hierarchyStateMap:C,onSelectHierarchy:w,onExpandHierarchyNode:T,dataQueries:E,disabledDatasetUrns:D,onToggleDataset:O,onClearAllDatasets:k})=>{let{titles:A}=X(),j=C?.get(dt(t)),M=(0,d.useIsMobile)(),{isCrossDatasetModeOn:N}=Pt(),[P,F]=(0,c.useState)(!1),I=(0,c.useMemo)(()=>xr(e.filter(e=>!(e.filterType===`dataset`&&e.datasetUrn&&D.has(e.datasetUrn))),D,f),[e,D,f]),L=(0,c.useMemo)(()=>t?I.find(e=>Z(e,t)):void 0,[t,I]),R=gt(ht(e))+D.size,z=(0,c.useCallback)(()=>{F(!0),g(void 0)},[g]),B=(0,c.useCallback)(t=>{F(!1);let n=e?.find(e=>Z(e,t));if(!n){g(void 0);return}g({...n,isSelectedFilter:!0})},[e,g]),V=t=>t?e?.find(e=>Z(e,t)):void 0;return(0,l.jsx)(Ur,{value:{locale:r,isDisableValues:i,isValuesLoading:a,timeRangeOptions:s,filterValuesProps:n?.filterValuesProps,dataQueries:E,onSelectHierarchy:w,selectFilterValue:(e,n,r)=>{let i=!r||Z(r,t),a=V(r??t)??r??t;if(!a)return;let o=ut(a)?Rr(e,a):e;if(!o)return;let s={...a,dimensionValues:a?.dimensionValues?.map(e=>e?.id===o?{...e,isSelectedValue:n}:e)};i&&g(s),b&&b(s)},selectHierarchicalNodes:(e,n)=>{let r=!n||Z(n,t),i=V(n??t)??n??t;if(!i)return;let a=ut(i)?Lr(e,i):e??[],o=new Set(i?.dimensionValues?.map(e=>e.id)),s=ut(i)?[]:kt(a,o),c={...i,dimensionValues:[...i?.dimensionValues?.map(e=>{let t=a.find(t=>t?.id===e?.id);return t?{...e,isSelectedValue:t.isSelectedValue}:e})??[],...s]};r&&g(c),b&&b(c)},expandHierarchicalValue:(e,n)=>{let r=!n||Z(n,t),i=V(n??t)??n??t;if(!i||!e?.id)return;let a=dt(i);if((a?C?.get(a):void 0)?.treeNodes?.length){T?.(a,e.id);return}let o={...i,dimensionValues:i?.dimensionValues?.map(t=>t?.id===e?.id?{...t,isExpanded:!e?.isExpanded}:t)};r&&g(o),b&&b(o)},onTimePeriodChange:(e,n)=>{if(!t)return;let r={...t,timeRange:e||void 0};x?.(n),g(r),b&&b(r)}},children:(0,l.jsxs)(`div`,{className:(0,p.default)(`flex flex-row gap-5 flex-1 min-h-0 sm:p-0`,`filters-settings`),children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`h-full sm:w-full`,n?.isShowTimeSeriesCount&&`flex flex-col justify-between`),children:[N&&(0,l.jsxs)(`div`,{className:`mb-4 flex items-center justify-between gap-x-4`,children:[(0,l.jsxs)(`span`,{className:`body-3 text-neutrals-900`,children:[A?.appliedFilters??`Applied filters`,`:`,` `,R]}),(0,l.jsx)(d.Button,{buttonClassName:`text-button-tertiary p-0`,title:A?.clearAll??`Clear All`,onClick:y,isSmallButton:M})]}),(0,l.jsx)(Yr,{filtersList:I,hideFacetCounterByDefault:n?.isHideFacetCounterByDefault,onSelectFilter:B,onSelectDisplayMode:_,onDeleteFilter:v,initialConstraints:u,initialConstraintsMap:f,datasetIcon:m,structuresMap:h,hierarchyStateMap:C,dataQueries:E,disabledDatasetUrns:D,isDatasetFacetSelected:P,onSelectDatasetFacet:z,onClearAllDatasets:k}),n?.isShowTimeSeriesCount&&o?(0,l.jsxs)(`h4`,{className:`my-4 text-neutrals-800`,children:[A?.timeSeries??`Timeseries`,`: `,o]}):null]}),!M&&(P?(0,l.jsx)(Xr,{dataQueries:E??[],disabledDatasetUrns:D,onToggleDataset:O,searchIconSize:n?.filterValuesProps?.searchIconSize}):(0,l.jsx)(Kr,{filtersList:I,selectedFilter:L,structuresMap:h,initialConstraints:gr(N,t,u,f),selectedTimeOption:S,hierarchyState:j}))]})})},Qr=e=>{let t=e.filterType===`dataset`?[e.datasetUrn]:e.sourceDatasetUrns;return Array.from(new Set((t||[]).filter(e=>!!e)))},$r=(e,t)=>{if(!t)return!1;let n=e.dataStructureComponents?.dimensionList;return[...n?.dimensions||[],...n?.timeDimensions||[]].some(e=>e.id===t)},ei=e=>{if(!e.length||e.some(e=>!e))return;let t=Array.from(new Set(e));return t.length===1?t[0]:void 0},ti=(e,t)=>{let n=t?.dataStructures||[];if(!n.length)return[];let r=n.filter(t=>$r(t,e));return r.length?r:n.length===1?n:[]},ni=e=>e.urn??(0,y.generateShortUrn)(e.id,e.version,e.agencyID),ri=(e,t)=>ei(ti(e,t).map(ni)),ii=(e,t,n,r)=>{if(!e||!t)return;let i=n?.get(t)?.find(t=>t.id===e);if(!i)return;let a=(0,y.getKeyFromUrn)(i.localRepresentation?.enumeration);if(a)return a;let o=r?.get(t),s=(0,y.findCodelistByDimension)(o?.codelists,o?.conceptSchemes,i);return s?(0,y.getKeyFromUrn)(s.urn)??(0,y.generateShortUrn)(s.id,s.version,s.agencyID):void 0},ai=(e,t,n)=>{let r=Qr(e);return{codelistUrn:ei(r.map(r=>ii(e.id,r,t,n))),sourceArtefactUrn:ei(r.map(t=>ri(e.id,n?.get(t))))}},oi=({timeseriesLength:e=0,limitMessages:t})=>(0,l.jsx)(`div`,{className:`body-3 flex items-center gap-x-[4px] text-neutrals-800 sm:justify-center sm:text-center`,children:!e||d.SERIES_LIMIT>e?(0,l.jsx)(`span`,{children:t?.seriesCount?.(e)}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{children:t?.warningIcon}),(0,l.jsx)(`span`,{children:t?.counterLimit?.(e,d.SERIES_LIMIT)})]})}),si=({modalProps:e,onApply:t,onClearAllFilters:n,onClose:r,applyDisabled:i,timeseriesLength:a,limitMessages:o})=>{let{titles:s}=X(),c=(0,d.useIsMobile)(),u=e?.footerActionsPosition===`right`,f=e?.isShowCancelButton,m=e?.isShowClearAllButton??!0,h=f?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`,g=f?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(0,l.jsxs)(`div`,{className:(0,p.default)(`flex py-4 px-6 modal-footer-wrapper`,h),children:[!f&&(0,l.jsx)(oi,{timeseriesLength:a,limitMessages:o}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex`,g),children:[m&&(0,l.jsx)(d.Button,{iconBefore:c?e?.resetIcon:void 0,buttonClassName:`text-button-tertiary p-0`,title:e?.isShowClearIcon?s?.clearAllFilters??`Clear All Filters`:s?.clearAll??`Clear All`,onClick:()=>n(),isSmallButton:c}),(0,l.jsxs)(`div`,{className:`flex items-center gap-x-3`,children:[e?.isShowCancelButton?(0,l.jsx)(d.Button,{buttonClassName:`text-button-tertiary sm:h8`,title:s?.cancel??`Cancel`,onClick:r,isSmallButton:c}):null,(0,l.jsx)(d.Button,{buttonClassName:`advanced-view-filters-modal-apply-button`,title:s?.apply??`Apply`,onClick:t,isSmallButton:c,disabled:i})]})]})]})},ci=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),li=function(e){return 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}({}),ui=[`charts`,`chartsNavigation`],di=[`dataGrid`,`metadataPerSeries`,...ui,`openAdvancedView`],fi=[`filters`,`chartPerSeries`,`metadataPerDataset`,`exitAdvancedView`],pi=(e,t)=>{let n=t?.[`${e}Title`],r=t?.[`${e}Description`];return{title:typeof n==`string`?n:``,description:typeof r==`string`?r:``}},mi=(e,t)=>e.find(e=>!t.infoElements?.[e])||``,hi=(e,t)=>{if(!e||!t)return``;if(di.includes(t)){let t=mi(di,e);if(t)return t}return mi(fi,e)||``},gi=(e,t)=>{let n=mi(e,t);return{...t,infoElements:{...t?.infoElements,[t.lastDisplayedElement]:!1,...n?{[n]:!0}:{}},lastDisplayedElement:n}},_i=e=>gi(fi,e),vi=e=>gi(ui,e),yi=e=>(!e?.infoElements?.charts||!e?.infoElements?.chartsNavigation)&&!ui.includes(e.lastDisplayedElement),bi=5,xi=({targetPosition:e,overlayClasses:t,onClose:n})=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{className:`overlay overlay-top`,style:{height:e.top,top:0-bi,bottom:e.top+bi}}),(0,l.jsx)(`div`,{className:`overlay overlay-bottom`,style:{top:e.bottom+bi,bottom:0}}),(0,l.jsx)(`div`,{className:`overlay overlay-left`,style:{top:e.top-bi,height:e.height+bi*2,width:e.left,left:0-bi,right:e.left-bi*2}}),(0,l.jsx)(`div`,{className:`overlay overlay-right`,style:{top:e.top-bi,left:e.right+bi,height:e.height+bi*2,right:0}}),(0,l.jsx)(`div`,{className:(0,p.default)(`outline-block z-10`,t),onClick:n,style:{top:e.top,left:e.left,height:e.height,width:e.width}})]}),Si=({reference:e,title:t,description:n,onReferenceClick:r,shouldCloseTooltip:i,shouldMoveToNextStep:a,supressReferenceClick:o})=>{let[s,u]=(0,c.useState)(!0),[f,m]=(0,c.useState)(!1),h=(0,c.useRef)(null),{isShowOnboarding:g,onboardingFileSchema:_,setOnboardingFileSchema:v}=G(),{refs:y,floatingStyles:b,context:x,placement:S}=(0,T.useFloating)({open:s,onOpenChange:u,placement:`right-start`,elements:{reference:e?.current},middleware:[(0,T.offset)({mainAxis:12,crossAxis:-4}),(0,T.flip)(),(0,T.shift)(),(0,T.arrow)({element:h})],whileElementsMounted:T.autoUpdate}),{getFloatingProps:C}=(0,T.useInteractions)([(0,T.useClick)(x)]),w=(0,c.useCallback)(()=>{if(g){let e=hi(_,_?.lastDisplayedElement);v?.({..._,infoElements:{..._?.infoElements,...e?{[e]:!0}:{}},lastDisplayedElement:e})}u?.(!1)},[g,_,v]);(0,c.useEffect)(()=>{y.setReference(e?.current??null)},[e,y]);let E=()=>w(),D=e?.current?.getBoundingClientRect();return(0,c.useEffect)(()=>{i&&!f&&(w(),m(!0))},[i,w,f]),(0,l.jsx)(l.Fragment,{children:s&&(0,l.jsxs)(T.FloatingPortal,{children:[D&&(0,l.jsx)(xi,{overlayClasses:o?`cursor-default`:`cursor-pointer`,targetPosition:D,onClose:()=>{r?(r?.(),a?w():u(!1)):o||(w(),e?.current?.click())}}),(0,l.jsxs)(`div`,{ref:y.setFloating,style:b,...C(),className:`tooltip z-tooltip max-w-[350px]`,children:[(0,l.jsxs)(`div`,{className:`tooltip-header`,children:[(0,l.jsx)(`h3`,{children:t}),(0,l.jsx)(d.CloseButton,{btnClassNames:`w-4 h-4`,onClick:E})]}),(0,l.jsx)(`div`,{className:`tooltip-description`,children:(0,l.jsx)(`p`,{children:n})}),(0,l.jsx)(`div`,{ref:h,className:(0,p.default)(`tooltip-arrow absolute w-3 h-3 rotate-45`,S?.includes(`right`)?`left-[-4px]`:`right-[-6px]`,S?.includes(`end`)?`bottom-2 tooltip-arrow-white`:`top-3`)})]})]})})},Ci=({buttonProps:e,selectedFiltersCount:t=0,isLoading:n,setModalState:r,isModalClosed:i,warningIcon:a,filterIconClassName:o,timeSeriesCount:s})=>{let{titles:u}=X(),f=(0,c.useRef)(null),[m,h]=(0,c.useState)(``),[g,_]=(0,c.useState)(``),[v,y]=(0,c.useState)(!1),{onboardingFileSchema:b,isShowOnboarding:x}=G(),S=d.SERIES_LIMIT<(s??0),C=(0,c.useMemo)(()=>e?.isShowBadge?e?.title:`${e?.title}: ${t}`,[e?.isShowBadge,e?.title,t]);return(0,c.useEffect)(()=>{if(x){let{title:e,description:t}=pi(li.FILTERS,u);h(e),_(t)}},[u,x]),(0,c.useEffect)(()=>{x&&y(b?.lastDisplayedElement===li.FILTERS)},[b?.lastDisplayedElement,x]),(0,l.jsx)(`div`,{className:`filter-button-container relative`,ref:f,children:n?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(ci,{className:(0,p.default)(`size-4`,o)}),iconAfter:S?a:void 0,title:C,buttonClassName:`text-button-secondary filter-button`,isSmallButton:!0,onClick:()=>r(d.PopUpState.Opened)}),e?.isShowBadge&&(0,l.jsx)(`div`,{className:`filter-count-badge`,children:(0,l.jsx)(`h5`,{children:t})}),v&&(0,l.jsx)(Si,{reference:f,title:m,description:g,onReferenceClick:()=>r(d.PopUpState.Opened),shouldCloseTooltip:i})]})})},wi=(0,c.createContext)(null);function Ti({children:e}){let[t,n]=(0,c.useState)(d.PopUpState.Closed),[r,i]=(0,c.useState)(!1),a=(0,c.useMemo)(()=>({modalState:t,setModalState:n,isModalClosed:r,setIsModalClosed:i}),[t,r]);return(0,l.jsx)(wi.Provider,{value:a,children:e})}function Ei(){let e=(0,c.useContext)(wi);if(!e)throw Error(`useFiltersModalState must be used within FiltersModalStateProvider`);return e}var Di=e=>{let t=[];return e.custom_content?.attachments&&t.push(...e.custom_content.attachments),t};function Oi(e){return e.type===m.AttachmentType.MARKDOWN&&e.title!=null&&e.title?.startsWith(`URL Query`)}function ki(e){return e.type===m.AttachmentType.JSON&&e.title!=null&&e.title?.startsWith(`Query (JSON)`)}function Ai(e){return e.type===m.AttachmentType.MARKDOWN&&!Oi(e)}function ji(e){return e.type===m.AttachmentType.CSV}function Mi(e){return e.type===m.AttachmentType.TABLE}function Ni(e){return e.type===m.AttachmentType.CUSTOM_DATA_GRID}function Pi(e){return e.type===m.AttachmentType.CUSTOM_CHART}function Fi(e){return e.type===m.AttachmentType.PLOTLY}function Ii(e){return e.type===m.AttachmentType.CUSTOM_CODE_SAMPLE}function Li(e){return e.type===m.AttachmentType.CROSS_DATASET_GRID}function Ri(e){return Mi(e)||Ni(e)||Li(e)}var zi=(e,t)=>e?.filter((e,n)=>e?.custom_content?.attachments&&n<t)?.at(-1),Bi=e=>e?.reduce((e,t,n)=>t?.custom_content?.attachments?.some(e=>ki(e))?n:e,-1),Vi=e=>e?.reduce((e,t)=>t?.role===u.Role.Assistant?t:e,{}),Hi=e=>e.type===`text/markdown`&&!!e.data?.includes("```python"),Ui=(e,t)=>{let n=e?.custom_content?.attachments?.filter(Hi)??[],r=t?.custom_content?.attachments?.filter(Hi)??[],i=new Map;for(let e of[...n,...r])i.set(e.title??e.data??``,e);return[...i.values()]},Wi=(e,t,n,r,i)=>({role:u.Role.System,content:``,custom_content:{attachments:n?.map(n=>{let r=e&&t?.urn===n?.urn?e:n?.filters;return{type:m.AttachmentType.JSON,title:n?.title,data:JSON.stringify({urn:n?.urn,metadata:n?.metadata,filters:i?i?.get(n?.urn):r,disabled:!!n?.disabled})}})||[],form_schema:r?.custom_content?.form_schema}}),Gi=(e,t,n,r,i)=>{if(!e)return[];let a=e.at(-1),o=a?.role===u.Role.System,s=o?e.slice(0,-1):e,c=Vi(s),l=Ui(c,o?a:void 0),d=Wi(r,i,t,c,n);return l.length&&d.custom_content&&(d.custom_content={...d.custom_content,attachments:[...d.custom_content.attachments??[],...l]}),[...s,d]},Ki=(e,t,n,r)=>e?.map(e=>({...e,filters:t?t?.get(e?.urn)||[]:n&&r?.urn===e?.urn?n:e?.filters}))||[],qi={availableHierarchies:[],selectedHierarchy:null,mainHierarchy:null,codelists:[],treeNodes:[],isLoading:!1},Ji=({getCodelistUrnForFilter:e,getConstraintsForFilter:t,getSourceArtefactUrn:n,getAvailableHierarchies:r,getHierarchy:i})=>{let[a,o]=(0,c.useState)(new Map),s=(0,c.useCallback)((n,r)=>{let i=dt(n);if(!i)return;let a=e(n),s=r??t(n);o(e=>{let t=e.get(i);if(!t?.mainHierarchy)return e;let r=jr(t.mainHierarchy,t.codelists,n.id??``,s,a),o=new Map(e);return o.set(i,{...t,treeNodes:r}),o})},[e,t]),l=(0,c.useCallback)(async t=>{if(!r)return;let i=e(t);if(!i)return;let a=dt(t);if(a){o(e=>{let t=new Map(e),n=e.get(a)??qi;return t.set(a,{...n,isLoading:!0}),t});try{let e=kr((await r(i,n?.(t)))?.data?.hierarchies??[]);o(t=>{let n=new Map(t),r=t.get(a)??qi;return n.set(a,{...r,availableHierarchies:e,isLoading:!1}),n})}catch{o(e=>{let t=new Map(e),n=e.get(a)??qi;return t.set(a,{...n,isLoading:!1}),t})}}},[r,e,n]),u=(0,c.useCallback)(async(n,r)=>{if(!i)return;let a=dt(n);if(!a)return;let s=e(n);o(e=>{let t=new Map(e),n=e.get(a)??qi;return t.set(a,{...n,isLoading:!0}),t});try{let e=Ar(r),c=await i(e,s),l=c?.data?.hierarchies?.find(t=>Ar(t)===e);if(!l){o(e=>{let t=new Map(e),n=e.get(a)??qi;return t.set(a,{...n,selectedHierarchy:r,mainHierarchy:null,treeNodes:[],isLoading:!1}),t});return}let u=(0,y.resolveCodelistsFromResponse)(c?.data),d=jr(l,u,n.id??``,t(n),s);o(e=>{let t=new Map(e),n=e.get(a)??qi;return t.set(a,{...n,selectedHierarchy:r,mainHierarchy:l,codelists:u,treeNodes:d,isLoading:!1}),t})}catch{o(e=>{let t=new Map(e),n=e.get(a)??qi;return t.set(a,{...n,isLoading:!1}),t})}},[i,e,t]);return{hierarchyStateMap:a,rebuildHierarchyTree:s,loadAvailableHierarchies:l,onSelectHierarchy:(0,c.useCallback)((e,t)=>{if(!e)return;let n=dt(e);if(n){if(!t){o(e=>{let t=new Map(e),r=e.get(n)??qi;return t.set(n,{...r,selectedHierarchy:null,mainHierarchy:null,treeNodes:[]}),t});return}u(e,t)}},[u]),onExpandHierarchyNode:(0,c.useCallback)((e,t)=>{o(n=>{let r=n.get(e);if(!r?.treeNodes)return n;let i=new Map(n);return i.set(e,{...r,treeNodes:Br(r.treeNodes,t)}),i})},[])}},Yi=(e,t,n,r,i)=>{let a=new Set;if(!t||e.isTimeDimension)return a;let o=e.dimensionValues?.filter(e=>e.isSelectedValue)??[];if(!o.length)return a;let s=(0,y.findCodelistByDimension)(n?.codelists,n?.conceptSchemes,t);if(!s?.codes?.length)return a;let c=new Set(s.codes.map(e=>e.id)),l=new Set((0,y.getAvailableCodesFromConstrains)(s.codes,t.id,r,i).map(e=>e.id));return o.forEach(e=>{c.has(e.id)&&!l.has(e.id)&&a.add(e.id)}),a},Xi=(e,t,n,r,i,a)=>{let o=!1,s=e.map(e=>{if(e.isTimeDimension||i&&e.id===i)return e;let s=t?.find(t=>t.id===e.id),c=Yi(e,s,n,r,a);return c.size?(o=!0,{...e,dimensionValues:e.dimensionValues?.map(e=>c.has(e.id)?{...e,isSelectedValue:!1}:e)}):e});return{filters:o?s:e,changed:o}},Zi=(e,t,n,r,i,a)=>Xi(e,t,n,r,i?.id,a),Qi=(e,t,n,r,i)=>{let a=!1,o=new Map;return e.forEach((e,s)=>{let c=n?.filterType===`shared`?Ln(n,s,i):n?.datasetUrn===s?n.id:void 0,l=Xi(e,t?.dimensionsMap?.get(s),t?.structuresMap?.get(s),t?.constraintsMap?.get(s),c,r);a||=l.changed,o.set(s,l.filters)}),{filtersMap:a?o:e,changed:a}},$i=new Set,ea=({actions:e,dimensions:t,structureDimensions:n,structures:r,buttonProps:i,modalProps:a,attachmentsDataQuery:o,dataQueries:s,initialConstraints:u,onFiltersChange:f,locale:p,timeRangeOptions:m,conversationKey:h,conversation:g,setConversation:_,updateConversation:v,updateDataQueries:x,limitMessages:S,filterIconClassName:C})=>{let{titles:w}=X(),{modalState:T,setModalState:E,isModalClosed:D,setIsModalClosed:O}=Ei(),[k,A]=(0,c.useState)([]),[j,M]=(0,c.useState)([]),[N,P]=(0,c.useState)(),[F,I]=(0,c.useState)([]),[L,R]=(0,c.useState)(void 0),z=(0,c.useRef)(u||[]),[B,V]=(0,c.useState)([]),[H,U]=(0,c.useState)(),[W,G]=(0,c.useState)(),[K,q]=(0,c.useState)(!1),J=(0,c.useRef)(0),Y=(0,c.useRef)(!1),ee=(0,c.useCallback)(()=>{J.current+=1,J.current===1&&q(!0)},[]),te=(0,c.useCallback)(()=>{J.current=Math.max(J.current-1,0),J.current===0&&q(!1)},[]),{hierarchyStateMap:ne,rebuildHierarchyTree:re,loadAvailableHierarchies:ie,onSelectHierarchy:ae,onExpandHierarchyNode:oe}=Ji({getCodelistUrnForFilter:(0,c.useCallback)(e=>{let n=t?.find(t=>t.id===e.id);if(!n)return;let i=(0,y.getKeyFromUrn)(n.localRepresentation?.enumeration);if(i)return i;let a=(0,y.findCodelistByDimension)(r?.codelists,r?.conceptSchemes,n);return a?(0,y.getKeyFromUrn)(a.urn)??(0,y.generateShortUrn)(a.id,a.version,a.agencyID):void 0},[t,r?.codelists,r?.conceptSchemes]),getConstraintsForFilter:()=>z.current,getSourceArtefactUrn:e=>ri(e.id,r),getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),se=e=>{let t=e?k.map(t=>Z(t,e)?e:t):k;G(!0),A(xt(t)),U?.(!0),ce(e?.isTimeDimension?ft(t,e):t,A,U,e)};(0,c.useEffect)(()=>{T===d.PopUpState.Closed&&V(z.current)},[T]);let ce=(0,c.useCallback)((n,i,a,s)=>{let c=o?.urn??``,l=Kt(Ht(n).filter(e=>e.componentCode!==y.TIME_PERIOD)),u=Xt(c,l),d=!!e?.getConstraints&&!Qt(e.getConstraints,u);d&&ee(),(e?Zt(e.getConstraints,u,()=>e.getConstraints(c,l)):Promise.resolve(void 0)).then(e=>{let o=e?.data?.dataConstraints||[];if(s){let{filters:e,changed:c}=Zi(n,t,r,o,s,p);if(c){z.current=o,a?.(!0),G(!0),ce(e,i,a,s);return}}let c=Vt(n,t,r,o,p);if(z.current=o,a?.(!1),i(c),s){let e=c.find(e=>Z(e,s));P(t=>t&&e&&Z(t,s)?{...e,isSelectedFilter:!0}:t),re(s,o)}}).catch(()=>{let e=Vt(n,t,r,[],p);if(z.current=[],a?.(!1),i(e),s){let t=e.find(e=>Z(e,s));P(e=>e&&t&&Z(e,s)?{...t,isSelectedFilter:!0}:e)}}).finally(()=>{G(!1),d&&te()})},[e,o?.urn,t,te,p,re,ee,r]);(0,c.useEffect)(()=>{let e=lt(t,r,n,p),i=t?.map(e=>{let t=(0,y.getAvailableCodesFromConstrains)((0,y.findCodelistByDimension)(r?.codelists,r?.conceptSchemes,e)?.codes,e.id,z.current,p);return{...e,dimensionValues:t}}),a=e.map(e=>{let t=i?.find(t=>t.id===e.id)?.dimensionValues||[];return{...e,dimensionValues:t}});if(!Y.current){if(!r)return;let e=bt(a,o,z.current);U?.(!0),ce(e,M,U),Y.current=!0}},[t,n,r,o,p,u,ce]),(0,c.useEffect)(()=>{j?.length&&I(ht(j))},[j]),(0,c.useEffect)(()=>{A(e=>ft(e,N))},[N]),(0,c.useEffect)(()=>{if(T===d.PopUpState.Opened){let e=j.find(e=>!e.isTimeDimension);P(e?{...e,isSelectedFilter:!0}:void 0),A(j)}T===d.PopUpState.Closed&&P(void 0)},[j,T]),(0,c.useEffect)(()=>{if(!N||N.isTimeDimension)return;let e=dt(N);e&&(ne.get(e)||ie(N))},[N,ne,ie]),(0,c.useEffect)(()=>{T===d.PopUpState.Opened&&j.forEach(e=>{if(e.isTimeDimension)return;let t=dt(e);t&&!ne.has(t)&&ie(e)})},[T,j,ne,ie]);let le=(0,c.useCallback)(async e=>{let t=un(e),n=g?{...g,messages:Gi(g?.messages,s,void 0,t,o)}:null;_?.(n),x?.(Ki(s,void 0,t,o)),await v(decodeURI(h),{name:n?.name,messages:n?.messages||[]})},[o,g,h,s,_,v,x]),ue=(0,c.useCallback)((e,t)=>{A(n=>pt(n,e,t)),Z(N,e)&&P(e=>e&&{...e,displayMode:t})},[N]),de=(0,c.useCallback)(e=>nn(e,t),[t]),fe=(0,c.useMemo)(()=>(0,b.default)(de(k),de(j)),[k,j,de]),pe=(0,c.useCallback)((e,n)=>{let i=Vt(n,t,r,e,p);z.current=e,P(e=>i?.find(t=>Z(t,e))||e),A(i),G(!1)},[t,p,r]),me=(0,c.useCallback)(t=>{G(!0),A(xt(t));let n=o?.urn??``,r=Kt(Ht(t).filter(e=>e.componentCode!==y.TIME_PERIOD)),i=Xt(n,r),a=!!e?.getConstraints&&!Qt(e.getConstraints,i);a&&ee(),(e?Zt(e.getConstraints,i,()=>e.getConstraints(n,r)):Promise.resolve(void 0)).then(e=>{pe(e?.data?.dataConstraints||[],t)}).catch(()=>{pe([],t)}).finally(()=>{a&&te()})},[e,o?.urn,te,ee,pe]),he=(0,c.useCallback)(e=>{me(vt(k,e))},[me,k]),ge=(0,c.useCallback)(()=>{z.current=B,E(d.PopUpState.Closed),O(!0)},[B,E,O]),_e=(0,c.useCallback)(()=>{me(yt(k))},[me,k]),ve=(0,c.useCallback)(()=>{let e=de(k);f?.(e,z.current,k),M(k),E(d.PopUpState.Closed),O(!0),(0,c.startTransition)(()=>{le(k)})},[de,k,f,le,z,E,O]),ye=e=>{R(e)},be=Number((0,y.getTimeSeriesCount)(z?.current?.[0]?.annotations)),xe=H||W||fe;return(0,l.jsxs)(`div`,{className:`filters-container`,children:[(0,l.jsx)(Ci,{buttonProps:i,selectedFiltersCount:gt(F),isLoading:H,setModalState:E,isModalClosed:D,warningIcon:S?.warningIcon,filterIconClassName:C,timeSeriesCount:be}),(0,l.jsx)(l.Fragment,{children:T===d.PopUpState.Opened&&(0,l.jsxs)(d.Popup,{heading:w?.settings||`Settings`,portalId:`filters`,size:d.PopUpSize.LG,containerClassName:`advanced-view-filters-modal h-[80%]`,dividers:a?.isShowDividers,onClose:ge,closeButtonTitle:w?.close||`Close`,children:[(0,l.jsx)(Zr,{locale:p,timeRangeOptions:m,filtersList:k,selectedFilter:N,isDisableValues:W,isValuesLoading:K,modalProps:a,initialConstraints:u,timeSeriesCount:`${be}`,setSelectedFilter:P,onSelectDisplayMode:ue,onDeleteFilter:he,onClearAllFilters:_e,updateSelectedFilterValues:se,onTimePeriodChange:ye,selectedTimeOption:L,hierarchyStateMap:ne,onSelectHierarchy:ae,onExpandHierarchyNode:oe,dataQueries:o?[o]:void 0,disabledDatasetUrns:$i,onToggleDataset:()=>{},onClearAllDatasets:()=>{}}),(0,l.jsx)(si,{onApply:ve,onClose:ge,onClearAllFilters:_e,modalProps:a,applyDisabled:xe,timeseriesLength:be,limitMessages:S})]})})]})},ta=({setToTitle:e,datasetName:t,datasetIcon:n,isShowDatasetDetails:r,queryFilterDetails:i})=>(0,l.jsx)(`div`,{children:i?.map(i=>(0,l.jsxs)(`div`,{className:`body-1 mb-2 flex flex-wrap items-center gap-1`,children:[(0,l.jsxs)(`span`,{children:[i?.title,(0,l.jsx)(`span`,{children:e??` set to `}),(0,l.jsx)(`span`,{className:`font-bold`,children:i?.valuesTitles?.join(`, `)})]}),t&&r&&(0,l.jsxs)(`span`,{className:`attachment-dataset-name caption !mb-0 inline-flex items-center`,children:[(0,l.jsx)(`span`,{className:`attachment-dataset-icon mr-1`,children:n}),t]})]},i?.title))}),na=({titles:e,attachmentInfoList:t,datasetIcon:n,dataQueries:r})=>{let{isCrossDatasetModeOn:i}=Pt(),{sharedFilterDetails:a,perDatasetInfoList:o}=(0,c.useMemo)(()=>{if(!i)return{sharedFilterDetails:[],perDatasetInfoList:[]};let e=new Map,n=[];return t?.forEach(t=>{let r=[];t.queryFiltersDetails?.forEach(t=>{if(hn.has(t.id)){let n=e.get(t.id);n?e.set(t.id,{...n,valuesTitles:Array.from(new Set([...n.valuesTitles||[],...t.valuesTitles||[]]))}):e.set(t.id,{...t})}else t.valuesTitles?.length&&r.push(t)}),r.length&&n.push({...t,queryFiltersDetails:r})}),{sharedFilterDetails:Array.from(e.values()),perDatasetInfoList:n}},[i,t]),s=r?.some(e=>e.disabled)??!1,u=t?.map(e=>e.datasetName).filter(Boolean)??[];return(0,l.jsxs)(`div`,{className:`attachment-details flex flex-col`,children:[(0,l.jsx)(`p`,{className:(0,p.default)(`body-1`,(t&&t.length<=1||i&&a.length>0)&&`mb-2`),children:e?.queryUpdatedManuallyTitle??`Query has been updated manually.`}),s&&u.length>0&&(0,l.jsxs)(`div`,{className:`body-1 mb-2 flex flex-wrap items-center gap-1`,children:[(0,l.jsxs)(`span`,{children:[e?.datasetLabel??`Dataset`,e?.setToTitle??` set to `]}),u.map(e=>(0,l.jsxs)(`span`,{className:`attachment-dataset-name caption !mb-0 inline-flex items-center`,children:[(0,l.jsx)(`span`,{className:`attachment-dataset-icon mr-1`,children:n}),e]},e))]}),i?(0,l.jsxs)(l.Fragment,{children:[a.length>0&&(0,l.jsx)(ta,{setToTitle:e?.setToTitle,queryFilterDetails:a}),o.map(t=>(0,l.jsx)(ta,{setToTitle:e?.setToTitle,datasetName:t.datasetName,datasetIcon:n,isShowDatasetDetails:!0,queryFilterDetails:t.queryFiltersDetails},t.datasetName))]}):t?.map(r=>!!r?.queryFiltersDetails?.length&&(0,l.jsx)(ta,{setToTitle:e?.setToTitle,datasetName:r?.datasetName,datasetIcon:n,isShowDatasetDetails:t?.length>1,queryFilterDetails:r?.queryFiltersDetails},r?.datasetName))]})},ra=({icon:e,title:t})=>(0,l.jsx)(`div`,{className:(0,p.default)(`px-3 py-4 rounded border mt-3`,`attachment-collapsed`),children:(0,l.jsxs)(`p`,{className:(0,p.default)(`flex body-3 items-center`),children:[e,(0,l.jsxs)(`span`,{className:`ml-2`,children:[` `,t]})]})}),ia=e=>(0,l.jsxs)(`svg`,{width:44,height:24,viewBox:`0 0 44 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,l.jsx)(`rect`,{width:44,height:24,rx:12,fill:`currentColor`}),(0,l.jsx)(`circle`,{cx:32,cy:12,r:10,fill:`white`})]}),aa=e=>(0,l.jsxs)(`svg`,{width:44,height:24,viewBox:`0 0 44 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,l.jsx)(`rect`,{width:44,height:24,rx:12,fill:`currentColor`}),(0,l.jsx)(`circle`,{cx:12,cy:12,r:10,fill:`white`})]}),oa=[{value:y.SdmxDataFormat.JSON,title:`SDMX-JSON`},{value:y.SdmxDataFormat.XML,title:`SDMX-ML (XML)`},{value:y.SdmxDataFormat.CSV,title:`SDMX-CSV`}],sa=e=>[{value:y.FileColumnsAttribute.ID,title:e?.idOptions||`ID`,description:e?.idOptionsDescription},{value:y.FileColumnsAttribute.NAME,title:e?.nameOptions||`Name`,description:e?.nameOptionsDescription},{value:y.FileColumnsAttribute.ID_NAME,title:e?.idAndNameOptions||`Combined ID and Name`,description:e?.idAndNameOptionsDescription}],ca=({title:e,items:t,selectedValue:n,setSelectedValue:r,infoMessage:i,collapsible:a=!0})=>{let o=(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{className:`flex flex-col gap-y-1`,children:t.map(e=>(0,l.jsx)(`div`,{className:`flex flex-col`,children:(0,l.jsx)(d.Radio,{id:e.value,checked:n.value===e.value,label:e.title,description:e.description,onChange:()=>{r(e)},radioIcon:(0,l.jsx)(f.IconCircleFilled,{className:`size-3`})},e.value)},e.value))}),i]});return a?(0,l.jsx)(d.CollapsibleBlock,{title:e,value:n.title,children:o}):(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsx)(`div`,{className:`flex items-center py-4`,children:(0,l.jsx)(`span`,{children:e})}),(0,l.jsx)(`div`,{className:`pb-4`,children:o})]})},la=({title:e,items:t,selectedUrns:n,onToggle:r,collapsible:i=!0,rowsLabel:a=`rows`})=>{let o=(0,l.jsx)(`div`,{className:`flex flex-col`,children:t.map(e=>(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,l.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,l.jsx)(d.Checkbox,{id:e.urn,label:e.name,checked:n.has(e.urn),onChange:r})}),(0,l.jsxs)(`span`,{className:`download-row-count`,children:[e.rowCount,` `,a]})]},e.urn))});return i?(0,l.jsx)(d.CollapsibleBlock,{title:e,children:o}):(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsx)(`div`,{className:`flex items-center py-4`,children:(0,l.jsx)(`span`,{children:e})}),(0,l.jsx)(`div`,{className:`pb-4`,children:o})]})},ua=e=>{let t=e.metadata?.keyDimensionIdsInDsdOrder,n=e.metadata?.timePeriodDimension;return t?.length?{filterKey:t.map(t=>{let n=e.filters?.find(e=>e.componentCode===t);return n?.values?.length?n.values.join(y.GET_v3_FILTER_OR):`*`}).join(`.`),timeFilter:n?(0,y.getTimeQueryFilter)(e,{id:n}):null}:null},da=(e,t,n,r)=>{if(t&&e===y.DownloadType.DATA_IN_TABLE){let e=ua(t);if(e)return e}if(r?.filterKey&&e===y.DownloadType.DATA_IN_TABLE)return r;let i=null,a=null;return t&&n&&e===y.DownloadType.DATA_IN_TABLE&&(i=(0,y.getTimeSeriesFilterKey)(n,t.filters??[]),a=(0,y.getTimeQueryFilter)(t,(0,y.getTimeDimension)(n))),{filterKey:i,timeFilter:a}},fa=({dataQuery:e,datasetName:t,onCloseModal:n,type:r=y.DownloadType.FULL_DATASET,locale:i=h.Locale.EN,dimensions:a,filters:o,urn:s,titles:u,collapsible:f=!0,downloadDatasets:m,rowCount:g,isDownloadInProgress:_=!1,onDownloadStart:v,limitMessages:b,showLimitMessage:x,externalLink:S})=>{let C=sa(u),[w,T]=(0,c.useState)(oa[0]),[E,D]=(0,c.useState)(C[0]),[O,k]=(0,c.useState)(!0),[A,j]=(0,c.useState)(()=>new Set(m?.map(e=>e.urn)??[])),M=(0,c.useRef)(!1);(0,c.useEffect)(()=>{j(new Set(m?.map(e=>e.urn)??[]))},[m]);let N=(0,c.useCallback)(e=>{j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),P=m!==void 0&&(m.length===0||A.size===0),F=(0,c.useCallback)(()=>{if(M.current)return;let c=w.value,l=(e,t,n,i)=>({dataQuery:e,urn:t,name:n,rowCount:i,fileName:`${n}.${c}`,filters:da(r,e,a,o)});if(!v({items:m&&m.length>0?m.filter(e=>A.has(e.urn)).map(e=>l(e.dataQuery,e.urn,e.name,e.rowCount)):[l(e,e?.urn||s||``,t||e?.urn||s||``,g??0)],dataFormat:c,dataFormatTitle:w.title,attribute:E.value,language:i,isMetadata:O})){M.current=!1;return}M.current=!0,n()},[w.value,w.title,E.value,m,A,e,s,t,g,r,a,o,i,O,v,n]),I=(0,l.jsxs)(`div`,{className:(0,p.default)(`download-metadata flex cursor-pointer gap-4`,{"download-metadata-active":O}),children:[O?(0,l.jsx)(ia,{width:44,height:24,className:`text-primary`,onClick:()=>k(!O)}):(0,l.jsx)(aa,{width:44,height:24,className:`text-neutrals-500`,onClick:()=>k(!O)}),(0,l.jsx)(`div`,{children:u?.includeMetadata||`Include Metadata`})]});return(0,l.jsxs)(d.Popup,{heading:(0,l.jsx)(`p`,{className:`download-heading h2`,children:u?.download||`Download`}),portalId:`filters`,size:d.PopUpSize.LG,containerClassName:`download-popup h-[80%]`,dividers:!1,onClose:n,closeButtonTitle:u?.close||`Close`,children:[!m&&x&&(0,l.jsx)(`div`,{className:`download-info flex flex-col gap-1 px-6 pt-5`,children:(0,l.jsx)(d.RequestLimitMessage,{limitMessages:b,isDownload:!0,query:S})}),(0,l.jsxs)(`div`,{className:`download-settings flex flex-col overflow-auto p-6`,children:[(0,l.jsx)(ca,{title:u?.dataFormat||`Data Format`,selectedValue:w,setSelectedValue:T,items:oa,collapsible:f,infoMessage:(0,l.jsx)(d.DownloadFormatMessage,{limitMessages:b,query:S})}),w.value===y.SdmxDataFormat.CSV&&(0,l.jsx)(ca,{title:u?.attributes||`Attributes`,selectedValue:E,setSelectedValue:D,items:C,collapsible:f}),m&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(la,{title:u?.datasetsToDownload||`Datasets to download`,items:m,selectedUrns:A,onToggle:N,collapsible:f,rowsLabel:u?.rows||`rows`}),A.size>1&&(0,l.jsxs)(d.InlineAlert,{type:d.InlineAlertType.Note,children:[(0,l.jsx)(`span`,{className:`font-bold`,children:u?.filesWillBeDownloaded?.(A.size)??`${A.size} files will be downloaded`}),` `,u?.oneFilePerDataset??`- one file per selected dataset.`]})]}),f?(0,l.jsx)(d.CollapsibleBlock,{title:u?.metadata||`Metadata`,value:O?u?.all||`Included`:u?.none||`Not included`,children:I}):(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsx)(`div`,{className:`flex items-center py-4`,children:(0,l.jsx)(`span`,{children:u?.metadata||`Metadata`})}),(0,l.jsx)(`div`,{className:`pb-4`,children:I})]})]}),(0,l.jsxs)(`div`,{className:`download-button mt-auto flex items-center gap-x-3 p-6`,children:[u?.cancel&&(0,l.jsx)(d.Button,{buttonClassName:`text-button-tertiary`,title:u.cancel,onClick:n}),(0,l.jsx)(d.Button,{buttonClassName:`text-button-primary`,title:u?.download||`Download`,disabled:P||_,onClick:F})]})]})},pa=({id:e,title:t,version:n,agency:r,isActive:i,isSingleTab:a,onSelectDataset:o})=>(0,l.jsx)(`div`,{className:(0,p.default)(`dataset-tab truncate last:mr-4`,i?`dataset-tab-active`:`border-b-transparent`,a?`dataset-tab-single cursor-default`:`cursor-pointer`),title:t,onClick:()=>{a||o((0,y.generateShortUrn)(e,n,r))},children:(0,l.jsx)(`h3`,{className:`dataset-tab-title truncate`,title:t,children:t})}),ma=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:r})=>{let{isOpenedAdvancedView:i}=I(),[a,o]=(0,c.useState)();(0,c.useEffect)(()=>{if(!n&&!a&&e?.[0]){let t=(0,y.generateShortUrn)(e[0].id,e[0].version,e[0].agencyID);o(t),r?.(t)}else n&&n!==a&&(o(n),r?.(n))},[e,r,n,a]);let s=(0,c.useCallback)(e=>{o(e),r?.(e)},[r]);return(0,l.jsx)(`div`,{className:(0,p.default)(`dataset-tabs flex w-full items-center justify-between`,i&&`hide-advance-button`),children:(0,l.jsx)(`div`,{className:`flex w-full items-center gap-4 overflow-y-auto sm:w-[calc(100%-30px)]`,children:e?.map(n=>(0,l.jsx)(pa,{id:n?.id,title:(0,y.getLocalizedName)(n,t||h.Locale.EN),version:n?.version,agency:n?.agencyID,isActive:e?.length>1&&a===(0,y.generateShortUrn)(n?.id,n?.version,n?.agencyID),isSingleTab:e?.length===1,onSelectDataset:s},n?.id))})})},ha=3,ga=({datasets:e,locale:t})=>{let{isOpenedAdvancedView:n}=I(),r=(0,c.useMemo)(()=>(e||[]).map(e=>({urn:(0,y.generateShortUrn)(e?.id,e?.version,e?.agencyID),title:(0,y.getLocalizedName)(e,t||h.Locale.EN)})),[e,t]),i=(0,c.useMemo)(()=>r.slice(0,ha),[r]),a=Math.max(r.length-i.length,0),o=r.filter(e=>!i.some(t=>t.urn===e.urn)).map(e=>e.title).join(`
|
|
7
|
+
`);return(0,l.jsx)(`div`,{className:(0,p.default)(`cross-dataset-tabs flex w-full items-center justify-between`,n&&`hide-advance-button`),children:(0,l.jsxs)(`div`,{className:`cross-dataset-tabs-list sm:w-[calc(100%-30px)]`,children:[i.map((e,t)=>(0,l.jsxs)(`span`,{className:`cross-dataset-tabs-item-wrapper`,children:[(0,l.jsx)(`span`,{className:`cross-dataset-tabs-item`,title:e.title,children:e.title}),t<i.length-1&&(0,l.jsx)(`span`,{className:`cross-dataset-tabs-separator`,"aria-hidden":`true`})]},e.urn)),a>0&&(0,l.jsxs)(`span`,{className:`cross-dataset-tabs-counter`,title:o,children:[`+`,a]})]})})},_a=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:r})=>{let{isCrossDatasetModeOn:i}=Pt();return i?(0,l.jsx)(ga,{datasets:e,locale:t}):(0,l.jsx)(ma,{datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:r})},va=(e,t)=>{let n=t?.get(e?.urn),r=n?.conceptSchemes||[],i=n?.codelists||[],a=(0,y.getDimensions)(n);return{structures:n,conceptSchemes:r,codelists:i,dimensions:[...a?.dimensions||[],...a?.timeDimensions||[]]}},ya=(e,t,n,r,i)=>{let a=t?.filter(e=>!e.disabled)??[],o=new Map;return a?.forEach(e=>{let{conceptSchemes:t,codelists:a,dimensions:s}=va(e,n);xa((e?.filters??[]).filter(e=>e.operator!==h.QueryFilterType.EXCLUDED),e?.urn,s,t,a,r,i).forEach(e=>{if(e.valuesTitles?.length){let t=o.get(e.id)??[];o.set(e.id,Array.from(new Set([...t,...e.valuesTitles])))}})}),a?.map(t=>{let a=e?.find(e=>e?.urn===t?.urn),{structures:s,conceptSchemes:c,codelists:l,dimensions:u}=va(t,n),d=ba(xa(a?.filters||[],t?.urn,u,c,l,r,i),xa(t?.filters??[],t?.urn,u,c,l,r,i)).map(e=>{if(e.valuesTitles?.length)return e;let t=o.get(e.id);return t?.length?{...e,valuesTitles:t}:null}).filter(e=>e!==null);return{datasetName:(0,y.getLocalizedName)(s?.dataflows?.[0],r),queryFiltersDetails:d}})},ba=(e,t)=>{let n=new Map(e?.map(e=>[e?.id,e]));return t?.filter(e=>!(0,D.isEqual)(n?.get(e?.id)?.valuesTitles?.sort(),e?.valuesTitles?.sort()))||[]},xa=(e,t,n,r,i,a,o)=>e?.map(e=>{let s=n.find(t=>t?.id===e?.componentCode),c=(0,y.getConcept)(s?.conceptIdentity||``,r),l=(0,y.findCodelistByDimension)(i,r,s);return{id:An(t,e?.componentCode,o)??e?.componentCode,title:(0,y.getLocalizedName)(c,a),valuesTitles:e?.operator===h.QueryFilterType.BETWEEN?[`${tt((0,h.getTimePeriod)(e?.values?.[0]),a)} - ${tt((0,h.getTimePeriod)(e?.values?.[1]),a)}`]:e?.values?.map(e=>(0,y.getLocalizedName)(l?.codes?.find(t=>t?.id===e),a)||e)}}),Sa=(e,t,n)=>{let r=``,i=``;if(e?.timeFilter){let t=decodeURIComponent(e.timeFilter||``)?.split(`:`);r=t[1]||``,i=t[3]||``}else if(t){let e=t?.filters?.find(e=>e.componentCode===y.TIME_PERIOD);r=e?.values?.[0]||``,i=e?.values?.[1]||``}return`&filter=${e?.filterKey||(0,y.getTimeSeriesFilterKey)(n||[],t?.filters||[])}&startPeriod=${r}&endPeriod=${i}`},Ca=(e,t,n,r)=>{let i=n?.metadata?.datasetUrl;return i?i+(e?Sa(t,n,r):``):``},wa=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Ta=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Ea=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Da=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Oa=({attachment:e,index:t,selectedAttachmentIndex:n,onSelectedAttachmentChange:r,showTabIcon:i,dataGridTitle:a})=>{let{titles:o}=X(),s=(0,c.useRef)(null),[u,d]=(0,c.useState)(``),[f,m]=(0,c.useState)(``),[h,g]=(0,c.useState)(!1),{onboardingFileSchema:_,isShowOnboarding:v}=G(),y=(0,c.useCallback)((e,t=``)=>i?Fi(e)||Pi(e)?(0,l.jsx)(wa,{className:t}):Ni(e)||Li(e)?(0,l.jsx)(Ea,{className:t}):Oi(e)?(0,l.jsx)(Da,{className:t}):Ai(e)||Ii(e)?(0,l.jsx)(Ta,{className:t}):null:null,[i]),b=(0,c.useCallback)(e=>Ni(e)?a||`Data Grid`:e.title,[a]);return(0,c.useEffect)(()=>{if(v&&Pi(e)){let{title:e,description:t}=pi(li.CHARTS,o);d(e),m(t)}},[e,o,v]),(0,c.useEffect)(()=>{if(Pi(e)&&v){let e=_?.lastDisplayedElement===li.CHARTS;g(e),e&&s?.current?.scrollIntoView({block:`end`,behavior:`smooth`})}},[_?.lastDisplayedElement,e,v]),(0,l.jsxs)(`div`,{ref:s,className:(0,p.default)(`cursor-pointer min-w-30`,`flex items-center gap-1`,`attachment-tab`,n===t?`attachment-tab-active text-primary`:``),onClick:()=>r(t),children:[y(e,`w-4 h-4`),(0,l.jsx)(`h4`,{className:`max-w-[130px] truncate`,title:b(e),children:b(e)}),h&&(0,l.jsx)(Si,{reference:s,title:u,description:f})]},e.index||t)},ka=({attachments:e,...t})=>(0,l.jsx)(`div`,{className:`attachments-tabs flex w-fit flex-wrap items-center`,children:e.map((e,n)=>(0,l.jsx)(Oa,{attachment:e,index:n,...t},n))}),Aa=({attachments:e,selectedAttachmentIndex:t,selectedAttachment:n,attachmentsStyles:r,externalLink:i,isExternalLinkIncludeFilters:a,limitMessages:o,onSelectedAttachmentChange:s,onDownloadClick:u,hideDownloadButton:m,showAdvancedView:h,onOpenAdvancedView:g,isTableSettingsOpen:_,onTableSettingsOpen:v})=>{let{isTableSettingsFeatureEnabled:y}=Pt(),{isOpenedAdvancedView:b}=I(),{titles:x}=X(),{onboardingFileSchema:S,isShowOnboarding:C}=G(),w=(0,c.useRef)(null),[T,E]=(0,c.useState)(``),[D,O]=(0,c.useState)(``),[k,A]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(C){let{title:e,description:t}=pi(li.OPEN_ADVANCED_VIEW,x);E(e),O(t)}},[x,C]),(0,c.useEffect)(()=>{if(C){let e=S?.lastDisplayedElement===li.OPEN_ADVANCED_VIEW;A(e),e&&w?.current?.scrollIntoView({block:`center`,behavior:`smooth`})}},[S?.lastDisplayedElement,C]);let j=y&&!h&&!!v&&!!(n&&(Ni(n)||Li(n))),M=!m&&!!n&&(Ni(n)||Li(n)),N=!!h&&!b,P=b&&r?.hideDownloadIconInAdvancedView?void 0:r?.downloadIcon,F=!b&&r?.hideDownloadTextInConversationView?``:r?.downloadTitle??``;return(0,l.jsxs)(`div`,{className:`flex w-full min-w-0 items-center justify-between`,children:[(0,l.jsx)(ka,{dataGridTitle:r?.dataGridTitle,attachments:e,selectedAttachmentIndex:t,showTabIcon:r?.showTabIcon,onSelectedAttachmentChange:s}),(0,l.jsxs)(`div`,{className:`attachments-buttons flex w-fit flex-wrap items-center justify-end gap-x-3`,children:[n&&Ni(n)&&a&&(0,l.jsx)(`a`,{href:i,target:`_blank`,rel:`noreferrer`,children:(0,l.jsx)(d.Button,{title:o?.dataExplorer||`Data explorer`,buttonClassName:`text-button-tertiary small-icon-button [&>svg]:h-[16px] [&>svg]:w-[16px] whitespace-nowrap`,iconBefore:o?.dataExplorerIcon})}),M&&(0,l.jsx)(d.Button,{title:F,buttonClassName:`text-button-tertiary small-icon-button !p-0 !h-6`,textClassName:(0,p.default)(`ml-1`,r?.downloadButtonTextClassName),onClick:u,iconBefore:P}),M&&N&&(0,l.jsx)(`span`,{className:`advanced-view-button-divider`,"aria-hidden":`true`}),N&&(0,l.jsx)(`div`,{ref:w,children:(0,l.jsx)(d.Button,{title:r?.advancedViewTitle,buttonClassName:`advanced-view-button`,textClassName:`ml-1 h4 md:hidden`,iconBefore:r?.openAdvancedViewIcon,onClick:g})}),j&&(0,l.jsx)(d.Button,{disabled:_,buttonClassName:`text-button-tertiary !p-0 !h-6`,textClassName:`ml-1 h4`,iconBefore:r?.tableSettingsIcon??(0,l.jsx)(f.IconSettings,{className:`size-4`}),title:r?.tableSettings||`Table settings`,onClick:v}),n&&Ii(n)&&(0,l.jsx)(d.CopyButton,{title:r?.copyTitle,copiedTitle:r?.copiedTitle,tooltip:r?.copiedTooltip,hoverTooltip:r?.copyHoverTooltip,icon:r?.copyIcon,copiedIcon:r?.copiedIcon,onClick:()=>navigator.clipboard.writeText(n.data??``)})]}),k&&(0,l.jsx)(Si,{reference:w,title:T,description:D,onReferenceClick:g,shouldCloseTooltip:b})]})},ja=({downloadTitles:e,attachment:t,actions:n,className:r=``})=>{let i=t.url,[a,o]=(0,c.useState)(null);async function s(e){e!=null&&o(await n.getFile(e))}return(0,l.jsxs)(`div`,{className:`rounded-lg border bg-white p-3 transition-colors ${r}`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,l.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,l.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,l.jsx)(`span`,{className:`body-2 truncate text-neutrals-800`,title:t.title,children:t.title})})}),i&&(0,l.jsx)(`div`,{className:`shrink-0`,children:(0,l.jsx)(d.Button,{title:e??`Download`,onClick:()=>s(t.url),buttonClassName:`text-button-tertiary`})})]}),a&&(0,l.jsx)(`div`,{className:`mt-3`,children:(0,l.jsx)(`pre`,{className:`overflow-x-auto rounded-md bg-white p-3`,children:(0,l.jsx)(`code`,{children:JSON.stringify(a,null,2)})})})]})},Ma=`json`;function Na(e){return Fa(e)?Pa(e?.slice(4)):e}function Pa(e){let t=``;if(e)try{t=JSON.stringify(JSON.parse(e),null,2)}catch{t=e.toString()}return t}function Fa(e){return e?.startsWith(Ma)||!1}var Ia=({attachment:e,className:t=``})=>{let n=Na(e.data);return n?(0,l.jsxs)(`div`,{className:`attachment-json rounded-lg border bg-white ${t}`,children:[(0,l.jsx)(`div`,{className:`flex items-center justify-between rounded-t-lg border-b border-neutrals-200 bg-neutrals-100 px-3 py-2`,children:(0,l.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,l.jsx)(`h3`,{className:`text-neutrals-900`,children:e.title})})}),(0,l.jsx)(`div`,{className:`p-3`,children:(0,l.jsx)(`pre`,{className:`max-h-96 overflow-auto whitespace-pre-wrap break-words text-neutrals-800`,children:(0,l.jsx)(`code`,{children:n})})})]}):null},La=e=>{try{let t=new URL(e);return[`http:`,`https:`,`data:`].includes(t.protocol)}catch{return!1}},Ra=e=>La(e)?e:``,za=e=>(0,l.jsx)(`svg`,{width:16,height:16,viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),Ba=({attachment:e,openLinkTitle:t,className:n=``})=>{let r=Ra(e.data||``);if(!r)return null;let i=e=>{window.open(e,`_blank`)?.focus()};return(0,l.jsx)(`div`,{className:`max-w-[500px] rounded-lg border bg-white py-3 pl-4 pr-3 ${n}`,children:(0,l.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,l.jsx)(`span`,{className:`mt-1 shrink-0 text-hues-800`,role:`img`,"aria-label":`Link`,children:(0,l.jsx)(za,{width:16,height:16})}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsx)(`div`,{className:`mb-1`,children:(0,l.jsx)(d.Link,{url:r,title:e.title})}),(0,l.jsx)(`div`,{className:`truncate break-all text-neutrals-600`,children:r})]}),(0,l.jsx)(`div`,{className:`shrink-0`,children:(0,l.jsx)(d.Button,{title:t??`Open link`,onClick:()=>i(r),buttonClassName:`text-button-tertiary`})})]})})},Va=({dimensionsInfo:e})=>(0,l.jsx)(`div`,{className:`sidebar flex min-h-0 w-[176px] flex-col gap-3 overflow-auto`,children:e.map(e=>(0,l.jsxs)(`div`,{className:`flex flex-col`,children:[(0,l.jsx)(`h5`,{className:`text-neutrals-800`,children:e.title}),(0,l.jsx)(`h5`,{className:`font-bold`,children:e.value})]},e.title))}),Ha=({chart:e,isOpen:t,onClose:n,datasetTitle:r})=>{let{titles:i}=X(),[a,o]=(0,c.useState)(d.PopUpState.Closed);(0,c.useEffect)(()=>{o(t?d.PopUpState.Opened:d.PopUpState.Closed)},[t]);let s=(0,c.useCallback)(()=>{o(d.PopUpState.Closed),n?.()},[n]);return(0,l.jsx)(l.Fragment,{children:a===d.PopUpState.Opened&&(0,l.jsxs)(d.Popup,{heading:(0,l.jsx)(`h1`,{className:`single-chart-popup-heading`,children:i?.chart??`Chart`}),containerClassName:`single-chart-popup h-[80%]`,portalId:`single-chart`,size:d.PopUpSize.LG,dividers:!1,onClose:s,closeButtonTitle:i?.close??`Close`,children:[(0,l.jsxs)(`div`,{className:`single-chart-popup-content flex h-full min-h-0 flex-1 flex-row gap-4`,children:[(0,l.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[r&&(0,l.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,l.jsx)(Sr,{className:`size-4 shrink-0 text-neutrals-1000`}),(0,l.jsx)(`h4`,{className:`text-neutrals-1000`,children:r})]}),(0,l.jsx)(O.default,{option:e.config,className:`size-full`,style:{width:`100%`,height:`100%`}})]}),(0,l.jsx)(Va,{dimensionsInfo:e.dimensions})]}),(0,l.jsx)(`div`,{})]})})},Ua=e=>{let{titles:t}=X(),[n,r]=(0,c.useState)(!1),[i,a]=(0,c.useState)(),o=(0,c.useRef)(null),[s,u]=(0,c.useState)(``),[f,p]=(0,c.useState)(``),[m,h]=(0,c.useState)(!1),{onboardingFileSchema:g,isShowOnboarding:_}=G(),{isCrossDatasetModeOn:v}=Pt(),[y,b]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>Wa(e.value),[e.value]),S=(0,c.useCallback)(()=>{a(e=>e??x),r(!0)},[x]),C=(0,c.useCallback)(()=>{r(!1),b(!0)},[]);return(0,c.useEffect)(()=>{if(_){let{title:e,description:n}=pi(li.CHART_PER_SERIES,t);u(e),p(n)}},[t,_]),(0,c.useEffect)(()=>{_&&h(g?.lastDisplayedElement===li.CHART_PER_SERIES&&e.node.rowIndex===0)},[g?.lastDisplayedElement,e.node.rowIndex,_]),(0,c.useEffect)(()=>{a(void 0)},[e.value]),x&&!x.isPlottable?null:(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{ref:o,children:(0,l.jsx)(d.IconButton,{title:t?.chart??`Chart`,buttonClassName:`!text-neutrals-1000 !border-none !p-1`,icon:(0,l.jsx)(wa,{className:`size-5`}),onClick:S})}),m&&(0,l.jsx)(Si,{reference:o,title:s,description:f,onReferenceClick:S,shouldCloseTooltip:y}),n&&i&&(0,l.jsx)(Ha,{chart:i,isOpen:n,onClose:C,datasetTitle:v?e.data?.datasetTitle??void 0:void 0})]})};function Wa(e){return typeof e==`function`?e():e}var Ga=`padding-0`,Ka={flex:1,minWidth:200},qa=`observationValueCell`,Ja=`metadataCell`,Ya=`chartCell`,Xa=`mergedDimensionCell`,Za=`datasetDetailCell`,Qa=`Chart_column`,$a=(e,t,n,r,i,a)=>({headerName:``,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:Ga,cellRenderer:Ja,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,metadataSettings:r,titles:i,action:a}});function eo(e,t,n,r=32,i,a){return{headerName:``,field:Qa,colId:Qa,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:`right`,width:r,maxWidth:r,minWidth:r,cellClass:Ga,suppressColumnsToolPanel:!0,cellRenderer:Ua,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,titles:i,action:a}}}function to(e,t,n,r){return{headerName:``,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:Ga,cellRenderer:Ja,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:r}}}var no=[`index`,`value`],ro=e=>({columns:oo(e),data:io(e)}),io=e=>{let t=e.metadata.time_column,n={};for(let r of e.data.data){let{value:e,...i}=r,a=ao(r,t);n[a]={...n[a]||{},...i,[r[t]]:e}}return Object.values(n)},ao=(e,t)=>Object.keys(e).filter(e=>!no.includes(e)&&e!==t).map(t=>e[t]).join(`.`),oo=e=>{let{metadata:t,data:n}=e,r=t.time_column,i=t.pinned_columns||[],a=n.schema.fields,o=[],s=n.data.map(e=>e[r]),c=Array.from(new Set(s)).filter(e=>e!=null).map(e=>({field:e,colId:e,headerName:e,cellClass:`text-right`,width:200})),l=i.map(e=>a.find(t=>t.name===e)).filter(e=>e!=null),u=a.filter(e=>!i.includes(e.name)).filter(e=>e!=null);if(l.length>0)for(let e of[...l])e.name===r||no.includes(e.name)||o.push({colId:e.name,field:e.name,headerName:e.name,pinned:`left`,...Ka,tooltipValueGetter:e=>e.value});for(let e of[...u])e.name===r||no.includes(e.name)||o.push({colId:e.name,field:e.name,headerName:e.name,pinned:!1,...Ka,tooltipValueGetter:e=>e.value});return o.push(...c),o},so=e=>e*32+32+16,co=({attachment:e,actions:t,className:n=``,showLimitMessage:r})=>{let[i,a]=(0,c.useState)(!1),[o,s]=(0,c.useState)([]),[u,f]=(0,c.useState)(),[p,m]=(0,c.useState)(400);(0,c.useEffect)(()=>{e.url!=null&&(a(!0),t.getFile(e.url).then(e=>{if(e==null){s([]),f([]),a(!1);return}let{columns:t,data:n}=ro(e);s(n),f(t),a(!1)}))},[e.url,t]),(0,c.useEffect)(()=>{o?(m(so(o.length)),r?.(o.length>=d.SERIES_LIMIT)):r?.(!1)},[o,r]);let h=(0,c.useMemo)(()=>(0,l.jsx)(k.AgGridReact,{headerHeight:32,rowHeight:32,rowData:o,columnDefs:u,enableCellTextSelection:!0,domLayout:`normal`,tooltipShowDelay:0,tooltipShowMode:`whenTruncated`,autoSizeStrategy:{type:u&&u?.length>5?`fitCellContents`:`fitGridWidth`}}),[o,u]);return i?(0,l.jsx)(d.Loader,{}):(0,l.jsx)(`div`,{className:`w-full ${n}`,children:(0,l.jsx)(`div`,{className:`ag-theme-quartz max-h-[400px] min-h-[80px] w-full`,style:{height:p},children:h})})},lo=e=>(0,l.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,l.jsx)(`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`})}),uo=({title:e,value:t})=>{let n=(0,c.useCallback)(()=>Array.isArray(t)?t.join(`, `):t,[t]);return(0,l.jsxs)(`div`,{className:`body-3 flex gap-x-3`,children:[(0,l.jsxs)(`p`,{title:e,className:`text-neutrals-800`,children:[e,`:`]}),(0,l.jsx)(`p`,{title:n(),className:`truncate pr-3 font-semibold`,children:n()})]})};function fo(e){let t=(0,c.useRef)(null),[n,r]=(0,c.useState)(!1),[i,a]=(0,c.useState)(!1),o=(0,c.useCallback)(()=>{let e=t.current;e&&a(e.scrollHeight>e.offsetHeight)},[]);return(0,c.useEffect)(()=>{if(n)return;o();let e=t.current;if(!e||typeof ResizeObserver>`u`)return;let r=new ResizeObserver(()=>o());return r.observe(e),()=>r.disconnect()},[n,e,o]),{valueRef:t,isExpanded:n,canToggle:i,toggle:(0,c.useCallback)(()=>r(e=>!e),[])}}var po=({isExpanded:e,onToggle:t,title:n})=>(0,l.jsx)(d.IconButton,{title:n,buttonClassName:(0,p.default)(`border-none p-0 w-6 h-6 shrink-0`,e&&`rotate-[180deg]`),isBaseIconStyles:!1,icon:(0,l.jsx)(Xe,{width:24,height:24}),onClick:t}),mo=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:r,locale:i})=>{let a=(0,c.useMemo)(()=>Array.isArray(t)?t?.map(e=>typeof e==`object`?e?.[i]:e)?.join(`, `):t,[i,t]),{valueRef:o,isExpanded:s,canToggle:u,toggle:d}=fo(a);return(0,l.jsxs)(`div`,{className:`metadata-item`,children:[!r&&n?.map(e=>(0,l.jsx)(`div`,{title:e,className:`metadata-item-key mb-1 pr-3 text-neutrals-800`,children:e},e)),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex items-center`,u&&`justify-between`),children:[(0,l.jsx)(`h2`,{title:e,className:`metadata-item-title`,children:e}),u&&(0,l.jsx)(po,{isExpanded:s,onToggle:d})]}),(0,l.jsx)(`p`,{title:a,className:(0,p.default)(`metadata-item-value pr-3`,!s&&`line-clamp-4`),ref:o,children:a})]})},ho=({metadata:e,metadataDescription:t=[],locale:n})=>{let{titles:r}=X();return(0,l.jsxs)(`div`,{className:`metadata-content h-full overflow-hidden`,children:[t?.length>0&&(0,l.jsx)(`div`,{className:`metadata-description`,children:t?.map(e=>(0,l.jsx)(uo,{title:e?.title,value:e?.value},e?.title))}),(0,l.jsx)(`div`,{className:`metadata-list h-full overflow-y-auto`,children:e&&e?.length>0?e?.map(e=>(0,l.jsx)(mo,{title:e?.title,value:e?.value,locale:n,attachedKeysTitles:e?.attachedKeysTitles,isDimensionGroup:e?.isDimensionGroup},e?.id||e?.title)):(0,l.jsx)(`div`,{className:`metadata-empty flex h-full items-center justify-center text-neutrals-700`,children:r?.noMetadata||`No metadata`})})]})},go=({metadata:e,metadataDescription:t=[],isOpenMetadata:n,onCloseMetadata:r,locale:i})=>{let{titles:a}=X(),[o,s]=(0,c.useState)(d.PopUpState.Closed);(0,c.useEffect)(()=>{s(n?d.PopUpState.Opened:d.PopUpState.Closed)},[n]);let u=(0,c.useCallback)(()=>{s(d.PopUpState.Closed),r?.()},[r]);return(0,l.jsx)(l.Fragment,{children:o===d.PopUpState.Opened&&(0,l.jsxs)(d.Popup,{heading:(0,l.jsx)(`h1`,{className:`metadata-heading`,children:a?.metadata||`Metadata`}),containerClassName:`metadata h-[80%]`,portalId:`metadata`,size:d.PopUpSize.LG,dividers:!1,onClose:u,closeButtonTitle:a?.close||`Close`,children:[(0,l.jsx)(ho,{locale:i,metadata:e,metadataDescription:t}),(0,l.jsx)(`div`,{})]})})},_o={dataset:`dataset`,agency:`agency`,lastUpdated:`lastUpdated`},vo=({dataset:e,agency:t,lastUpdated:n,externalLink:r,formatValue:i})=>(0,l.jsxs)(`div`,{className:`mb-6 flex flex-col gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(f.IconDatabase,{className:`size-4 text-neutrals-700`}),(0,l.jsx)(`p`,{className:`h4 break-words text-neutrals-1000`,children:i(e?.value)}),r&&(0,l.jsx)(`a`,{href:r,target:`_blank`,rel:`noopener noreferrer`,children:(0,l.jsx)(f.IconExternalLink,{className:`size-4 shrink-0 cursor-pointer text-primary`})})]}),t&&(0,l.jsxs)(`div`,{className:`body-3 flex gap-1`,children:[(0,l.jsxs)(`span`,{className:`text-neutrals-800`,children:[t?.title,`:`]}),(0,l.jsx)(`span`,{className:`break-words text-neutrals-1000`,children:i(t?.value)})]}),n&&(0,l.jsxs)(`div`,{className:`body-3 flex gap-1`,children:[(0,l.jsxs)(`span`,{className:`text-neutrals-800`,children:[n?.title,`:`]}),(0,l.jsx)(`span`,{className:`break-words text-neutrals-1000`,children:i(n?.value)})]})]}),yo=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:r})=>{let{valueRef:i,isExpanded:a,canToggle:o,toggle:s}=fo(t);return(0,l.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[!r&&n?.map((e,t)=>(0,l.jsx)(`div`,{title:e,className:`body-3 text-neutrals-800`,children:e},`${e}-${t}`)),(0,l.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-2`,children:[(0,l.jsx)(`p`,{title:e,className:`body-3 text-neutrals-800`,children:e}),o&&(0,l.jsx)(po,{isExpanded:a,onToggle:s})]}),(0,l.jsx)(`p`,{ref:i,title:t,className:(0,p.default)(`body-2 break-words text-neutrals-1000`,!a&&`line-clamp-4`),children:t})]})},bo=new Set(Object.values(_o)),xo=`, `,So=({metadata:e,metadataDescription:t=[],datasetInfo:n,externalLink:r,locale:i})=>{let{titles:a}=X(),o=(0,c.useCallback)(e=>Array.isArray(e)?e.map(e=>typeof e==`object`?e?.[i]??``:e).join(xo):typeof e==`object`&&e?e?.[i]??``:e??``,[i]),{dataset:s,agency:u,lastUpdated:d,hasStructuredDatasetInfo:f}=(0,c.useMemo)(()=>{let e=t.find(e=>e?.id===_o.dataset),r=t.find(e=>e?.id===_o.agency),i=t.find(e=>e?.id===_o.lastUpdated),a=n?.dataset||e;return{dataset:a,agency:n?.agency||r,lastUpdated:n?.lastUpdated||i,hasStructuredDatasetInfo:!!a}},[n,t]),p=(0,c.useMemo)(()=>f?t.filter(e=>!e?.id||!bo.has(e.id)):t,[f,t]);return(0,l.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden px-5 pb-4`,children:f||p.length>0||e?.length?(0,l.jsxs)(l.Fragment,{children:[f&&s&&(0,l.jsx)(vo,{dataset:s,agency:u,lastUpdated:d,externalLink:r,formatValue:o}),p.length>0&&(0,l.jsx)(`div`,{className:`mb-4 flex flex-col gap-2`,children:p.map((e,t)=>(0,l.jsxs)(`div`,{className:`body-3 flex gap-2`,children:[(0,l.jsxs)(`span`,{className:`shrink-0 text-neutrals-800`,children:[e?.title||e?.id,`:`]}),(0,l.jsx)(`span`,{className:`min-w-0 truncate font-semibold text-neutrals-1000`,children:o(e?.value)})]},`${e?.id||e?.title}-${t}`))}),(0,l.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,l.jsx)(`div`,{className:`flex flex-col gap-4`,children:e?.map(e=>(0,l.jsx)(yo,{title:e?.title||e?.id,value:o(e?.value),attachedKeysTitles:e?.attachedKeysTitles,isDimensionGroup:e?.isDimensionGroup},e?.id||e?.title))})})]}):(0,l.jsx)(`div`,{className:`body-3 flex h-full items-center justify-center text-neutrals-700`,children:a?.noMetadata||`No metadata`})})};function Co(e,t){let{externalLink:n,externalLinksMap:r}=e??{};return t!=null&&r!=null?r.get(t):n}var wo=e=>e?.data[e?.colDef?.field||0]?.obsAttributes,To=e=>e?.data?.attributes,Eo=(e,t)=>Object.entries(e?.data).filter(([e])=>t?.get(e)).map(([e,t])=>({name:e,value:String(t)})),Do=(e,t,n)=>{let r=typeof e==`object`?e?.[t]:e;return n?(0,y.getLocalizedName)(n?.codes?.find(t=>t?.id===e),t)||``:r},Oo=(e,t,n)=>e?.map(e=>{let r=e?.name||``,i=t?.get(r),a=i?.codes?.length?i:void 0,o=Array.isArray(e?.value)?e?.value.map(e=>Do(e,n,a)):Do(e?.value,n,a);return{id:(0,y.getLocalizedName)(a,n)||e?.name,title:(0,y.getLocalizedName)(a||i,n),value:o||e?.value}})||[],ko=(e,t,n)=>({title:n?.dataset||`Dataset`,value:(0,y.getLocalizedName)(e,t)}),Ao=(e,t,n,r)=>[{...ko(e,n,r),id:_o.dataset},{id:_o.agency,title:r?.agency??`Agency`,value:e?.agencyID},{id:_o.lastUpdated,title:r?.lastUpdated??`Last updated`,value:t}],jo=(e,t,n,r)=>({dataset:e?{...ko(e,n,r),id:_o.dataset}:void 0,agency:e?{id:_o.agency,title:r?.agency??`Agency`,value:e?.agencyID}:void 0,lastUpdated:e?{id:_o.lastUpdated,title:r?.lastUpdated??`Last updated`,value:t}:void 0}),Mo=(e,t,n)=>({title:(0,y.getDimensionTitle)(e?.conceptSchemes,(0,y.getDimensions)(e)?.timeDimensions?.[0],t),value:n?.colId||``}),No=(e,t)=>({title:t?.observation||`Observation`,value:e}),Po=(e,t,n,r,i,a)=>{let o={title:r?.timeSeries||`Time Series`,value:a?.originalData?.name};return n?[Mo(e,t,i),o,No(n,r)]:[o]},Fo=e=>{let t=e?.dataSets?.[0]?.attributes||[],n=e?.structures?.[0]?.attributes?.dataSet||[];return t?.length?n.reduce((e,n,r)=>{let i=t[r];if(i==null)return e;if(n?.values?.length>0){let t=n.values[i];e.push(t?{...n,values:[t]}:{...n})}else Array.isArray(i)?e.push({...n,values:[{values:i}]}):e.push({...n,values:[{value:i}]});return e},[]):n},Io=(e,t)=>{if(e==null)return;if(typeof e!=`object`)return String(e);let n=e,r=n[t];if(typeof r==`string`)return r;let i=Object.values(n).find(e=>typeof e==`string`);return typeof i==`string`?i:void 0},Lo=(e,t,n)=>e?.map(e=>{let r=e?.id,i=e?.values?.[0]?.value,a=(typeof i==`object`?Io(i,n):i)||e?.values?.[0]?.id,o=e?.values?.[0]?.ids||e?.values?.[0]?.values,s=t?.get(r),c=s?.codes?.length?s:void 0,l=(0,y.getLocalizedName)(c?.codes?.find(e=>e?.id===a),n)||(0,y.getLocalizedName)(e?.values?.[0],n)||a,u=o&&o.map(e=>{let t=typeof e==`object`?Io(e,n):String(e);return(0,y.getLocalizedName)(c?.codes?.find(e=>e?.id===t),n)||t}).filter(e=>e!=null);return{id:r,title:(0,y.getLocalizedName)(s,n)||r,value:u?.length?u:l}}).filter(({value:e})=>!!e)||[],Ro=(e,t)=>{let n=e?.dataSets?.[0],r=(e?.structures?.[0])?.attributes?.dimensionGroup||[],i=n?.dimensionGroupAttributes;return new Map(r.map(n=>{let r=n?.relationship?.dimensions,{codedSeriesKey:a,decodedSeriesKey:o}=zo(e,t,r);return[n.id,{values:i?.[a]||[],decodedSeriesKey:o,codedSeriesKey:a}]}))},zo=(e,t,n)=>{let r=e?.structures?.[0],i=[...r?.dimensions.series||[],...r?.dimensions.observation||[]],a=Array(i?.length)?.fill(``),o=Array(i?.length)?.fill(``);return n&&n?.forEach(e=>{let n=i?.findIndex(t=>t?.id===e)||0,r=t[n],s=i[n]?.values?.findIndex(e=>e?.id===r||e?.value===r)||0;a[n]=s>=0?s:r,o[n]=r}),{codedSeriesKey:a?.join(`:`),decodedSeriesKey:o?.join(`:`)}},Bo=(e,t)=>t==null?void 0:e?.values?.[t]||(typeof t==`object`&&!Array.isArray(t)||Array.isArray(t)?{values:t}:{value:t?.toString()}),Vo=e=>{let t=e?.value||e?.id,n=e?.values||e?.ids;return t==null?n||[null]:[t]},Ho=(e,t,n)=>t==null?t:(n?.get(e||``))?.codes?.find(e=>e?.id===t)?.name||t,Uo=(e,t,n,r=h.Locale.EN)=>{let i=n?.dataStructureComponents?.dimensionList,a=[...i?.dimensions||[],...i?.timeDimensions||[]],o=[];return(e?.split(`:`)||[])?.forEach((e,n)=>{if(e!==``){let i=a?.[n]?.id||``,s=(0,y.getLocalizedName)(t?.get(i),r),c=Ho(i,e,t);o.push(`${s}: ${c}`)}}),o},Wo=(e,t,n,r,i=h.Locale.EN)=>{if(!e||!t||!r)return[];let a=e?.structures?.[0]?.attributes?.dimensionGroup||[],o=Ro(e,r);return a?.map((e,r)=>{let a=o?.get(e?.id),s=n?.get(e?.id),c=Vo(Bo(e,a?.values?.[r]));return{id:e?.id,title:(0,y.getLocalizedName)(s,i),value:Array.isArray(c)?c?.map(t=>Ho(e?.id,t,n)||``):c,attachedKeysTitles:Uo(a?.decodedSeriesKey,n,t),isDimensionGroup:!0}})?.filter(({value:e})=>e?.some(e=>!!e))||[]},Go=(0,A.extendTailwindMerge)({extend:{classGroups:{typography:[`h1`,`h2`,`h3`,`h4`,`h5`,`body-1`,`body-2`,`body-3`,`caption`]}}});function Ko(...e){return Go((0,p.default)(...e))}function qo({title:e,headerExtension:t,headerClassName:n,onClose:r,bodyClassName:i,panelClassName:a,children:o}){return(0,l.jsxs)(`div`,{className:Ko(`h-full w-[362px] bg-white border-l border-neutrals-500 flex flex-col overflow-hidden`,a),children:[(0,l.jsxs)(`div`,{className:Ko(`flex justify-between px-5 py-6`,n),children:[(0,l.jsx)(`div`,{className:`h2 text-neutrals-1000`,children:e}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t,t&&(0,l.jsx)(`div`,{className:`h-3 w-px bg-neutrals-600`}),(0,l.jsx)(`button`,{type:`button`,onClick:r,children:(0,l.jsx)(f.IconX,{className:`size-5 text-neutrals-1000`})})]})]}),(0,l.jsx)(`div`,{className:Ko(`flex-1 min-h-0 overflow-hidden`,i),children:o})]})}var Jo=(0,c.createContext)(null);function Yo({children:e}){let[t,n]=(0,c.useState)(null),r=(0,c.useCallback)(e=>{n(e)},[]),i=(0,c.useCallback)(()=>{n(null)},[]),a=(0,c.useCallback)(e=>e?t?.id===e:t!==null,[t]),o=(0,c.useMemo)(()=>({panel:t,openPanel:r,closePanel:i,isPanelOpen:a}),[t,r,i,a]);return(0,l.jsx)(Jo.Provider,{value:o,children:e})}function Xo(){return(0,c.useContext)(Jo)}function Zo(){let e=Xo();if(!e)return null;let{openPanel:t,closePanel:n,isPanelOpen:r}=e;return{openPanel:t,closePanel:n,isPanelOpen:r}}function Qo({scope:e}){let t=Xo();if(!t)return null;let{panel:n,closePanel:r}=t;if(!n)return null;let i=n.scope??`any`;return i!==`any`&&i!==e?null:(0,l.jsx)(qo,{title:n.title,headerExtension:n.headerExtension,headerClassName:n.headerClassName,onClose:r,bodyClassName:n.bodyClassName,panelClassName:n.panelClassName,children:n.content})}var $o={},es={},ts=(0,c.createContext)({map:$o,getDimensionsMetadata:()=>void 0,getDimensionMetadata:()=>void 0,getRegionDimension:()=>void 0,getFrequencyDimension:()=>void 0,getIndicatorDimensions:()=>[],getDimensionsScheme:()=>void 0,getDatasetLastUpdated:e=>(0,y.getLastUpdatedTime)(e)});function ns({map:e,lastUpdatedMap:t=es,children:n}){let r=(0,c.useMemo)(()=>{let n={},r={},i={},a=Object.keys(e);for(let t of a){n[t]={},r[t]={};let a=Object.keys(e[t]);for(let i of a){let a=e[t][i];a.subtype&&(n[t][a.subtype]=i),r[t][a.dimensionType]||(r[t][a.dimensionType]=[]),r[t][a.dimensionType].push(i)}i[t]={timePeriod:r[t]?.TIME_PERIOD?.[0]??void 0,frequency:n[t]?.FREQUENCY??void 0,region:n[t]?.REGION??void 0,indicators:r[t]?.INDICATOR??[],other:(r[t]?.NON_INDICATOR??[]).filter(n=>{let r=e[t][n];return r.subtype!==`FREQUENCY`&&r.subtype!==`REGION`})}}return{map:e,getDimensionsMetadata:t=>e[t],getDimensionMetadata:(t,n)=>e[t]?.[n],getRegionDimension:e=>n[e]?.REGION,getFrequencyDimension:e=>n[e]?.FREQUENCY,getIndicatorDimensions:e=>r[e]?.INDICATOR??[],getDimensionsScheme:e=>i[e],getDatasetLastUpdated:e=>{if(e)return t[(0,y.generateShortUrn)(e.id,e.version,e.agencyID)]||(0,y.getLastUpdatedTime)(e)}}},[e,t]);return(0,l.jsx)(ts.Provider,{value:r,children:n})}function rs(){return(0,c.useContext)(ts)}function is(){return(0,c.useContext)(ts)}var as=e=>e===h.Locale.UK?`dd MMM, yyyy`:` MMM dd, yyyy hh:mm aa`,os=(e,t)=>{let n=as(t);return e!=null&&e!==``&&n&&(0,j.isValid)(new Date(e))?(0,j.format)(new Date(e),n,t===h.Locale.UK?{locale:M.uk}:void 0):``},ss=e=>{let{titles:t}=X(),[n,r]=(0,c.useState)(!1),i=(0,c.useRef)(null),[a,o]=(0,c.useState)(``),[s,u]=(0,c.useState)(``),[f,p]=(0,c.useState)(!1),{onboardingFileSchema:m,isShowOnboarding:h}=G(),{isOpenedAdvancedView:g}=I(),_=Zo(),{isMetadataInSidePanel:v}=Pt(),{getDatasetLastUpdated:b}=rs(),[x,S]=(0,c.useState)(!1),C=e?.data?.dataset?.urn,w=Co(e?.context,C),T=(0,c.useMemo)(()=>e.structuresMap?C==null?void 0:e.structuresMap.get(C):e.dataSetData,[e.structuresMap,C,e.dataSetData]),E=(0,c.useMemo)(()=>e.attributesDataMap?C==null?void 0:e.attributesDataMap.get(C):e.attributesData,[e.attributesDataMap,C,e.attributesData]),D=(0,c.useMemo)(()=>(0,y.getStructureComponentsMap)(T),[T]),O=(0,c.useMemo)(()=>[ko(T?.dataflows?.[0],e?.locale,t),...Oo(Eo(e,D),D,e?.locale),...Oo(To(e),D,e?.locale),...Wo(E,T?.dataStructures?.[0],D,e?.data?.originalData?.parsedTimeSeriesValue,e?.locale)],[e,T,E,D,t]),k=(0,c.useMemo)(()=>Po(T,e?.locale,e?.valueFormatted||e?.value,t,e?.colDef,e?.data),[e,T,t]),A=(0,c.useMemo)(()=>{let n=T?.dataflows?.[0];return jo(n,os(b(n),e?.locale),e?.locale,t)},[T,e?.locale,t,b]),j=(0,c.useCallback)(()=>{if(v&&_){_.openPanel({id:`grid-metadata-side-panel`,scope:g?`advanced`:`conversation`,title:t?.timeseriesMetadataPanel||`Timeseries Metadata`,bodyClassName:`overflow-hidden`,content:(0,l.jsx)(So,{locale:e?.locale,metadata:O,datasetInfo:A,externalLink:w,metadataDescription:e?.metadataSettings?.isMetadataDescription?k:[]})}),S(!0);return}r(!0)},[v,g,O,k,A,w,e?.locale,e?.metadataSettings?.isMetadataDescription,t,_]),M=(0,c.useCallback)(()=>{r(!1),S(!0)},[]);return(0,c.useEffect)(()=>{if(h){let{title:e,description:n}=pi(li.METADATA_PER_SERIES,t);o(e),u(n)}},[t,h]),(0,c.useEffect)(()=>{if(h){let t=m?.lastDisplayedElement===li.METADATA_PER_SERIES&&e.node.rowIndex===0;p(t),t&&setTimeout(()=>{i?.current?.scrollIntoView({block:`end`,behavior:`smooth`})})}},[m?.lastDisplayedElement,e.node.rowIndex,h]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{ref:i,children:(0,l.jsx)(d.IconButton,{title:t?.metadata||`View details`,buttonClassName:`!text-neutrals-1000 !border-none !p-1`,icon:(0,l.jsx)(lo,{className:`size-5`}),onClick:j})}),f&&(0,l.jsx)(Si,{reference:i,title:a,description:s,onReferenceClick:j,shouldCloseTooltip:x}),n&&(0,l.jsx)(go,{locale:e?.locale,metadata:O,metadataDescription:e?.metadataSettings?.isMetadataDescription?k:[],isOpenMetadata:n,onCloseMetadata:M})]})},cs=(e,t,n=y.getLastUpdatedTime)=>{let r=ls(e),i=(0,y.getStructureComponentsMap)(r),a=e?.valueFormatted||e?.value,o=Oo(t,i,e?.locale),s=[ko(r?.dataflows?.[0],e?.locale,e?.titles),...Oo(Eo(e,i),i,e?.locale),...e?.metadataSettings?.isMetadataDescription?[]:[Mo(r,e?.locale,e?.colDef),No(a,e?.titles)],...o],c=e?.metadataSettings?.isMetadataDescription?Po(r,e?.locale,a,e?.titles,e?.colDef,e?.data):[],l=r?.dataflows?.[0];return{metadata:s,metadataDescription:c,sidePanelDatasetInfo:jo(l,os(n(l),e?.locale),e?.locale,e?.titles)}},ls=e=>{if(e.structuresMap){let t=e?.data?.dataset?.urn;return t==null?void 0:e.structuresMap.get(t)}return e.dataSetData},us=`observation-metadata-side-panel`,ds=({params:e,obsAttributes:t})=>{let{titles:n}=X(),[r,i]=(0,c.useState)(null),{isOpenedAdvancedView:a}=I(),o=Zo(),{isMetadataInSidePanel:s}=Pt(),{getDatasetLastUpdated:u}=rs(),d=e?.data?.dataset?.urn,f=Co(e?.context,d),p=(0,c.useCallback)(()=>{let r=cs(e,t,u);if(s&&o){o.openPanel({id:us,scope:a?`advanced`:`conversation`,title:n?.metadata||`Metadata`,bodyClassName:`overflow-hidden`,content:(0,l.jsx)(So,{locale:e?.locale,metadata:r.metadata,datasetInfo:r.sidePanelDatasetInfo,externalLink:f,metadataDescription:r.metadataDescription})});return}i(r)},[s,a,f,t,e,o,n,u]),m=(0,c.useCallback)(()=>{i(null)},[]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`relative size-full p-2 text-end`,children:[e?.valueFormatted||e?.value,(0,l.jsx)(`div`,{className:`metadata-indicator`,title:n?.metadata||`View details`,onClick:p})]}),r&&(0,l.jsx)(go,{locale:e?.locale,metadata:r.metadata,metadataDescription:r.metadataDescription,isOpenMetadata:!0,onCloseMetadata:m})]})},fs=e=>{let t=wo(e);return t?.length?(0,l.jsx)(ds,{params:e,obsAttributes:t}):(0,l.jsx)(`div`,{className:`relative size-full p-2 text-end`,children:e?.valueFormatted||e?.value})},ps=({ref:e,fixHeight:t,gridHeight:n,children:r})=>(0,l.jsx)(`div`,{ref:e,className:(0,p.default)(`ag-theme-quartz w-full min-h-[80px]`,t?`max-h-[400px]`:`max-h-full`),style:{height:n},children:r}),ms=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:r,externalLink:i,showLimitMessage:a,onApiReady:o})=>{let{titles:s}=X(),[u,f]=(0,c.useState)(!1),[p,m]=(0,c.useState)([]),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(400),y=(0,c.useRef)(null),[b,x]=(0,c.useState)(``),[S,C]=(0,c.useState)(``),[w,T]=(0,c.useState)(!1),{isShowOnboarding:E,onboardingFileSchema:D,setOnboardingFileSchema:O}=G();(0,c.useEffect)(()=>{if(e.grid_data==null)f(!0);else{let t=e.grid_data.columns.map(e=>e.colId===`Chart_column`?{...e,hide:!n}:e);m(e.grid_data.data),g(t),f(!1)}},[e.grid_data,n]),(0,c.useEffect)(()=>{p?(v(so(p.length)),a?.(p.length>=d.SERIES_LIMIT)):a?.(!1)},[p,a]),(0,c.useEffect)(()=>{if(E){let{title:e,description:t}=pi(li.DATA_GRID,s);x(e),C(t)}},[s,E]),(0,c.useEffect)(()=>{D&&!D?.infoElements?.dataGrid&&O?.({...D,infoElements:{...D?.infoElements,dataGrid:!0},lastDisplayedElement:li.DATA_GRID})},[D,O]),(0,c.useEffect)(()=>{if(E){let e=D?.lastDisplayedElement===li.DATA_GRID;T(e),!u&&!t&&e&&setTimeout(()=>{y?.current?.scrollIntoView({block:`end`,behavior:`smooth`})})}},[D?.lastDisplayedElement,E,t,u]);let A=(0,c.useCallback)(e=>{o?.(e.api)},[o]),j=(0,c.useMemo)(()=>({externalLink:i}),[i]),M=(0,c.useMemo)(()=>({[Ja]:ss,[qa]:fs,[Ya]:Ua}),[]),N=(0,c.useMemo)(()=>(0,l.jsx)(k.AgGridReact,{onGridReady:A,headerHeight:32,rowHeight:32,rowData:p,enableCellTextSelection:!0,columnDefs:h,context:j,domLayout:`normal`,tooltipShowDelay:0,tooltipShowMode:`whenTruncated`,components:M,valueCache:!0}),[p,h,A,j,M]);return u||t?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(`div`,{className:`size-full`,children:[(0,l.jsx)(ps,{ref:y,fixHeight:r,gridHeight:_,children:N}),w&&(0,l.jsx)(Si,{reference:y,title:b,description:S,supressReferenceClick:!0})]})};function hs(e){if(typeof window>`u`)return e(),()=>void 0;let t,n=window.requestAnimationFrame(()=>{t=window.setTimeout(e,0)});return()=>{window.cancelAnimationFrame(n),t!=null&&window.clearTimeout(t)}}var gs=200,_s=8,vs=2,ys=({currentIndex:e,totalCount:t,icons:n,onPrev:r,onNext:i})=>{let{titles:a}=X(),o=(0,c.useRef)(null),[s,u]=(0,c.useState)(``),[d,f]=(0,c.useState)(``),[m,h]=(0,c.useState)(!1),{onboardingFileSchema:g,isShowOnboarding:_}=G();(0,c.useEffect)(()=>{if(_){let{title:e,description:t}=pi(li.CHARTS_NAVIGATION,a);u(e),f(t)}},[a,_]),(0,c.useEffect)(()=>{if(_){let e=g?.lastDisplayedElement===li.CHARTS_NAVIGATION;h(e),e&&o?.current?.scrollIntoView({block:`center`,behavior:`smooth`})}},[g?.lastDisplayedElement,_]);let v=t>0?e/t*100:0,y=t>0?Math.min(_s*t,gs):0,b=t>0?Math.max(y/t,vs):0;return(0,l.jsxs)(`div`,{className:`flex w-full flex-row items-center justify-center gap-2`,children:[(0,l.jsx)(`div`,{className:(0,p.default)(`h-[20px] w-[20px] cursor-pointer`,e===0?`text-neutrals-700`:`text-primary`),onClick:r,children:n?.[Y.PREVIOUS]}),(0,l.jsxs)(`div`,{className:`flex flex-col items-center gap-1 pt-[20px]`,children:[(0,l.jsx)(`div`,{className:`relative h-[4px] rounded-full bg-neutral-300`,style:{width:`${y}px`},children:(0,l.jsx)(`div`,{className:`absolute h-full rounded-full bg-primary`,style:{left:`${v}%`,width:`${b}px`}})}),(0,l.jsxs)(`h5`,{className:`text-neutrals-800`,children:[e+1,`/`,t]})]}),(0,l.jsx)(`div`,{className:(0,p.default)(`h-[20px] w-[20px] cursor-pointer`,e+1===t?`text-neutrals-700`:`text-primary`),onClick:i,ref:o,children:n?.[Y.NEXT]}),m&&(0,l.jsx)(Si,{reference:o,title:s,description:d})]})},bs=({limitAmount:e,openAdvancedView:t,prefixIcon:n,contentClassName:r})=>{let{titles:i}=X(),[a,o]=(0,c.useState)(!1),{refs:s,floatingStyles:u,context:d}=(0,T.useFloating)({open:a,onOpenChange:o,placement:`top-start`}),{getReferenceProps:f,getFloatingProps:p}=(0,T.useInteractions)([(0,T.useHover)(d,{handleClose:(0,T.safePolygon)({blockPointerEvents:!0})})]);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{className:`flex w-fit`,ref:s.setReference,...f(),children:(0,l.jsxs)(`div`,{className:Ko(`mt-1 flex w-fit items-center gap-1 bg-hues-100 px-4 py-2`,r),children:[n,(0,l.jsx)(`h5`,{className:`font-bold`,children:i?.limits||`Limited to`}),(0,l.jsxs)(`h5`,{children:[e,` `,i?.timeseriesLimit||`Timeseries`]})]})}),a&&(0,l.jsx)(`div`,{className:`floating`,ref:s.setFloating,style:u,...p(),children:(0,l.jsxs)(`div`,{className:`z-10 mb-2 flex w-[300px] flex-col gap-2 rounded bg-white p-4 shadow`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsxs)(`h5`,{className:`text-neutrals-900`,children:[(0,l.jsx)(`span`,{className:`pr-0.5`,children:i?.limitLinkInfoP1_1||`The number of timeseries displayed in a single chart i`}),(0,l.jsxs)(`span`,{className:`pr-0.5 font-bold`,children:[i?.limitLinkInfoP1_2||`limited to`,` `,e]}),i?.limitLinkInfoP1_3||`for better clarity and performance.`]}),(0,l.jsxs)(`h5`,{className:`text-neutrals-900`,children:[(0,l.jsx)(`span`,{className:`pr-0.5`,children:i?.limitLinkInfoP2_1||`To visualize specific timeseries`}),(0,l.jsx)(`span`,{className:`pr-0.5 font-bold`,children:i?.limitLinkInfoP2_2||`filter`}),(0,l.jsx)(`span`,{className:`pr-0.5`,children:i?.limitLinkInfoP2_3||`your request, or`}),(0,l.jsx)(`span`,{className:`pr-0.5 font-bold`,children:i?.limitLinkInfoP2_4||`refine`}),i?.limitLinkInfoP2_5||`it in the chat.`]})]}),t&&(0,l.jsx)(`h4`,{className:`cursor-pointer text-primary`,onClick:t,children:i?.limitLinkInfoLink||`Open Advanced View`})]})})]})};function xs(e,t,n){let r=(e.getZr()?.painter).getRenderedCanvas()?.getContext(`2d`);if(!r)return 0;r.font=`${n.textStyle?.fontSize??12}px ${n.textStyle?.fontFamily??`sans-serif`}`;let i=r.measureText(t).width,a=n.itemWidth??25,o=n.itemGap??10;return i+a+o}var Ss=({option:e,style:t})=>{let n=(0,c.useRef)(null),[r,i]=(0,c.useState)(e);(0,c.useEffect)(()=>{i((0,D.cloneDeep)(e))},[e]);let a=(0,c.useCallback)(()=>{let t=n.current?.getEchartsInstance?.();if(!t)return;let r=t.getDom().clientWidth,a=e.legend||{},o=a.itemHeight??14,s=a.textStyle?.fontSize??12,c=t.getModel()?.getComponent(`legend`)?.getData()||[],l=0;c.forEach(e=>{let n=e.option.name||``;l+=xs(t,n,a)});let u=Math.max(1,Math.ceil(l/r))*(+o+ +s+6);i(e=>({...e,grid:{...e.grid||{},bottom:u+20}}))},[e.legend]);return(0,c.useEffect)(()=>{a();let e=()=>{a()};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[e,a]),(0,l.jsx)(O.default,{notMerge:!0,lazyUpdate:!1,ref:n,option:r,style:t})},Cs=({attachment:e,icons:t,isDataLoading:n,openAdvancedView:r,fixHeight:i=!0,limitationInfoPrefixIcon:a,limitationInfoContentClassName:o})=>{let{titles:s}=X(),[u,f]=(0,c.useState)(!0),[m,h]=(0,c.useState)(),[g,_]=(0,c.useState)([]),[v,y]=(0,c.useState)(0),[b,x]=(0,c.useState)(void 0),[S,C]=(0,c.useState)(),{onboardingFileSchema:w,isShowOnboarding:T,setOnboardingFileSchema:E}=G(),D=(0,c.useRef)(null),{charting_data:O,getChartingData:k}=e;(0,c.useEffect)(()=>{if(y(0),O){h(O),f(!1);return}if(!k){h(void 0),f(!0);return}return f(!0),hs(()=>{try{h(k())}catch(e){console.error(`Error building chart data`,e),h({units:[]})}finally{f(!1)}})},[O,k]),(0,c.useEffect)(()=>{let e=m?.groups??[],t=m?.units??[];_(e.length>0?e.flatMap(e=>e.units.map(t=>({unit:t,groupTitle:e.title}))):t.map(e=>({unit:e})))},[m]),(0,c.useEffect)(()=>{let e=g.length>v,t=e?g[v]:g[0];x(!u&&t!=null?t.unit:void 0),C(t?.groupTitle),e||y(0)},[u,g,v]),(0,c.useEffect)(()=>{w&&T&&!u&&(yi(w)&&(E?.(vi(w)),D?.current?.scrollIntoView({block:`center`,behavior:`smooth`})),w.lastDisplayedElement===li.CHART_PER_SERIES&&E?.(_i(w)))},[u,E,w,T]);let A=(0,c.useCallback)(()=>{y(e=>Math.min(e+1,g.length-1))},[g.length]),j=(0,c.useCallback)(()=>{y(e=>Math.max(e-1,0))},[]);return u||n?(0,l.jsx)(d.Loader,{}):(0,l.jsx)(`div`,{className:`chart-attachment size-full`,ref:D,children:m&&(0,l.jsx)(`div`,{className:`flex size-full flex-col gap-4`,children:g.length==0||b==null?(0,l.jsx)(`h4`,{className:`ml-1`,children:s?.chartInfo||`No data`}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,l.jsxs)(`h3`,{className:`chart-attachment-title`,children:[s?.chart||`Chart`,` `,v+1,`/`,g.length]}),(0,l.jsx)(`span`,{className:`h4 chart-attachment-info text-neutrals-700`,children:s?.chartInfo||`Chart Information`})]}),(0,l.jsxs)(`div`,{className:(0,p.default)(`chart-area overflow-hidden flex flex-row gap-4 h-full `,i&&`max-h-[400px] min-h-[400px]`,!i&&`min-h-[300px]`),children:[(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[S&&(0,l.jsxs)(`div`,{className:`mb-1 flex items-center gap-1`,children:[(0,l.jsx)(Sr,{className:`size-4 shrink-0 text-neutrals-1000`}),(0,l.jsx)(`h4`,{className:`text-neutrals-1000`,children:S})]}),(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,l.jsx)(Ss,{option:b.config,style:{width:`100%`,height:`100%`,minHeight:0}}),b.limitedByRowsAmountTo&&(0,l.jsx)(bs,{limitAmount:b.limitedByRowsAmountTo,openAdvancedView:r,prefixIcon:a,contentClassName:o}),g.length>1&&(0,l.jsx)(ys,{icons:t,currentIndex:v,totalCount:g.length,onNext:A,onPrev:j})]})]}),(0,l.jsx)(Va,{dimensionsInfo:b.dimensions})]})]})})})},ws=({attachment:e,className:t})=>{let{data:n,language:r}=e;return(0,l.jsx)(`div`,{className:Ko([`h-full w-full [&_.cursors-layer]:hidden`,t]),children:(0,l.jsx)(N.Editor,{value:n,language:r,theme:`vs-light`,onMount:(e,t)=>{e.addCommand(t.KeyCode.F1,()=>{})},options:{readOnly:!0,contextmenu:!1,scrollBeyondLastLine:!1,minimap:{enabled:!1},wordWrap:`on`,automaticLayout:!0,tabSize:2}})})},Ts=`dataset_name`,Es=`agency`,Ds=`country_aggregated`,Os=`indicator_aggregated`,ks=`frequency_aggregated`;function As(e){return{columnState:e.getColumnState(),columnGroupState:e.getColumnGroupState()??[]}}function js(e,t){t&&(e.applyColumnState({state:t.columnState,applyOrder:!0}),e.setColumnGroupState(t.columnGroupState))}var Ms=[`columnVisible`,`columnMoved`,`displayedColumnsChanged`,`newColumnsLoaded`,`gridColumnsChanged`,`columnPinned`];function Ns(e,t){(0,c.useEffect)(()=>{if(e){for(let n of Ms)e.addEventListener(n,t);return()=>{for(let n of Ms)e.removeEventListener(n,t)}}},[e,t])}function Ps({currentUrn:e}){let[t,n]=(0,c.useState)(),[r,i]=(0,c.useState)(null),a=(0,c.useRef)(new Map),o=(0,c.useRef)(new Map),s=(0,c.useCallback)(t=>{if(n(t),a.current.has(e))r??i(a.current.get(e)??null);else{let n=As(t);a.current.set(e,n),i(n)}let s=o.current.get(e);s&&(t.applyColumnState({state:s.columnState,applyOrder:!0}),s.columnGroupState!=null&&t.setColumnGroupState(s.columnGroupState))},[e]);(0,c.useEffect)(()=>{i(a.current.get(e)??null)},[e]);let l=(0,c.useCallback)(()=>{t&&o.current.set(e,As(t))},[e,t]),u=(0,c.useCallback)(()=>{o.current.delete(e)},[e]),d=(0,c.useCallback)(()=>{a.current.delete(e),i(null)},[e]);return Ns(t,l),{gridApi:t,onGridApiReady:s,initialColumnsState:r,clearUserColumnState:u,clearInitialColumnState:d}}var Fs=function(e){return e.Compact=`compact`,e.Extended=`extended`,e}({}),Is=(0,c.createContext)(null);function Ls({currentUrn:e,structuresMap:t,locale:n,dataQueries:r,gridViewMode:i=Fs.Compact,onGridViewModeChange:a,texts:o,resetIcon:s,children:u}){let{gridApi:d,onGridApiReady:f,initialColumnsState:p,clearUserColumnState:m,clearInitialColumnState:h}=Ps({currentUrn:e}),g=(0,c.useCallback)(e=>a?.(e),[a]),[_,v]=(0,c.useState)(new Map),y=(0,c.useCallback)((e,t,n)=>{v(r=>{let i=new Map(r),a=new Map(i.get(e)??[]),o=a.get(t)??{order:[],hidden:new Set};return a.set(t,n(o)),i.set(e,a),i}),d?.refreshCells({columns:[t]})},[d]),b=(0,c.useCallback)((e,t,n)=>{y(e,t,e=>({...e,order:n}))},[y]),x=(0,c.useCallback)(()=>{v(new Map)},[]),S=(0,c.useCallback)((e,t,n,r)=>{y(e,t,e=>{let t=new Set(e.hidden);return r?t.add(n):t.delete(n),{...e,hidden:t}})},[y]),C=(0,c.useMemo)(()=>({gridApi:d,onGridApiReady:f,initialColumnsState:p,structuresMap:t,locale:n,dataQueries:r,dimensionCustomization:_,setDimensionKeyOrder:b,setDimensionKeyHidden:S,resetDimensionCustomization:x,clearUserColumnState:m,clearInitialColumnState:h,gridViewMode:i,setGridViewMode:g,texts:o,resetIcon:s}),[d,p,f,t,n,r,_,b,S,x,m,h,i,g,o,s]);return(0,l.jsx)(Is.Provider,{value:C,children:u})}function Rs(){let e=(0,c.useContext)(Is);if(!e)throw Error(`useTableSettingsContext must be used within TableSettingsProvider`);return e}var zs=()=>(0,c.useContext)(Is);function Bs(e,t,n){let r=(0,y.getConcept)(e.conceptIdentity,t),i=e?.localRepresentation?.enumeration,a=r?.coreRepresentation?.enumeration;return{concept:r,codeList:(0,y.getArtifactByUrnWithWildCard)(i||a,n)||void 0}}function Vs(e,t,n){let r=e.findIndex(e=>e.id===t);return n.originalData.parsedTimeSeriesValue[r]}function Hs(e,t,n,r,i){let a=Vs(e,t,r),o=n?.codes?.find(e=>e.id===a);return(0,y.getLocalizedName)(o,i)}function Us(e,t,n,r,i=Fs.Compact){let a=i===Fs.Extended?Js(e,t,n):[Gs(e,t,n,r)];return[Ws(e,t,n,r),...a,Ks(e,t,n,r),...qs(e,t,n)]}function Ws(e,t,n,r){return Zs(r?.countryDimensions||`Country dimensions`,Ds,r=>{let{structures:i,urn:a,data:o}=Qs(r,e),s=t.get(a)?.region;return o==null||a==null||i==null||s==null?``:$s(i,s,o,n)},e,t,n,r)}function Gs(e,t,n,r){return Zs(r?.indicatorDimensions||`Indicator dimensions`,Os,r=>{let{structures:i,urn:a,data:o}=Qs(r,e),s=t.get(a)?.indicators;return o==null||a==null||i==null||s==null||s.length===0?``:s.map(e=>$s(i,e,o,n)||``).join(`.`)},e,t,n,r)}function Ks(e,t,n,r){return Zs(r?.frequency||`Frequency`,ks,r=>{let{structures:i,urn:a,data:o}=Qs(r,e),s=t.get(a)?.frequency;return o==null||a==null||i==null||s==null?``:$s(i,s,o,n)},e,t,n,r)}function qs(e,t,n){let r=new Set;return t.forEach(e=>{e?.other?.forEach(e=>{r.add(e)})}),Array.from(r).map(r=>Ys(r,e,t,n))}function Js(e,t,n){let r=new Set;return t.forEach(e=>{e?.indicators?.forEach(e=>{r.add(e)})}),Array.from(r).map(r=>({headerName:Xs(r,e,n),field:r,colId:r,valueGetter:i=>{let{structures:a,urn:o,data:s}=Qs(i,e),c=t.get(o)?.indicators??[];return s==null||o==null||a==null||!c.includes(r)?``:$s(a,r,s,n)},...Ka,cellClass:Ga,tooltipValueGetter:e=>e.value}))}function Ys(e,t,n,r){return{...Zs(Xs(e,t,r),e,i=>{let{structures:a,urn:o,data:s}=Qs(i,t),c=n.get(o)?.other??[];return s==null||o==null||a==null||!c.includes(e)?``:$s(a,e,s,r)},t,n,r),hide:!0}}function Xs(e,t,n){for(let r of t.values()){if(!r)continue;let t=((0,y.getDimensions)(r)?.dimensions||[]).find(t=>t.id===e);if(t)return(0,y.getDimensionTitle)(r.conceptSchemes,t,n)??e}return e}function Zs(e,t,n,r,i,a,o){return{headerName:e,field:t,colId:t,valueGetter:n,...Ka,cellClass:Ga,cellRenderer:Xa,tooltipValueGetter:e=>e.value,cellRendererParams:{structuresMap:r,datasetDimensionsSchemesMap:i,locale:a,titles:o,colId:t}}}function Qs(e,t){let{data:n}=e,r=n?.dataset?.urn;return{data:n,urn:r,structures:r==null?void 0:t.get(r)}}function $s(e,t,n,r){let i=e.conceptSchemes||[],a=e.codelists||[],o=(0,y.getDimensions)(e)?.dimensions||[],s=o.find(e=>e.id===t);if(s==null)return;let{codeList:c}=Bs(s,i,a);return Hs(o,t,c,n,r)}var ec=`::`;function tc(e,t){return`${e}${ec}${t}`}function nc(e){return e.includes(ec)}function rc(e){let t=e.indexOf(ec);return{urn:e.slice(0,t),dimensionKey:e.slice(t+2)}}var ic=new Set([Os]);function ac(e,t){let n=e;return t?.order.length&&(n=[...t.order.filter(t=>e.includes(t)),...e.filter(e=>!t.order.includes(e))]),t?.hidden.size&&(n=n.filter(e=>!t.hidden.has(e))),n}function oc(e,t,n){let r=n(t);return r?e===`indicator_aggregated`?r.indicators:e===`country_aggregated`?r.region?[r.region]:[]:e===`frequency_aggregated`&&r.frequency?[r.frequency]:[]:[]}function sc(e,t,n){let r=e.getDimensionConfig(t,n);if(r?.alias)return r.alias;let i=e.structuresMap.get(t),a=(i?(0,y.getDimensions)(i)?.dimensions??[]:[]).find(e=>e.id===n);return(0,y.getDimensionTitle)(i?.conceptSchemes??[],a,e.locale)??n}function cc(e){let t=e.enrichedColIds??ic;return n=>{if(!t.has(n.id))return n;let r=[];for(let{urn:t}of e.dataQueries){let i=oc(n.id,t,e.getDimensionsScheme);if(!i.length)continue;let a=e.dimensionCustomization?.get(t)?.get(n.id),o=a?.order.length?ac(i,{order:a.order,hidden:new Set}):i,s=o.length>1,c=o.map(n=>({id:tc(t,n),type:`item`,label:sc(e,t,n),isChecked:!a?.hidden.has(n),draggable:s,checkable:s})),l=(0,y.getLocalizedName)(e.structuresMap.get(t)?.dataflows?.[0],e.locale)??t;r.push({id:t,type:`group`,label:l,items:c})}return r.length?r.length===1?{...n,items:r[0].items}:{...n,items:r}:n}}function lc(e,t){return e===`indicator_aggregated`?t.indicators??[]:e===`country_aggregated`?t.region?[t.region]:[]:e===`frequency_aggregated`?t.frequency?[t.frequency]:[]:t.other?.includes(e)?[e]:[]}function uc(e,t){return e===`indicator_aggregated`?t?.indicatorMetadataPanel||`Indicator dimension details`:e===`country_aggregated`?t?.countryMetadataPanel||`Country dimension details`:t?.metadata||`Metadata`}var dc=`merged-dimension-metadata-side-panel`,fc=e=>{let{titles:t}=X(),{isOpenedAdvancedView:n}=I(),r=Zo(),{isMetadataInSidePanel:i}=Pt(),{getDatasetLastUpdated:a}=rs(),o=zs(),s=e?.data?.dataset?.urn,u=Co(e?.context,s),d=s==null?void 0:e.structuresMap.get(s),f=s==null?void 0:e.datasetDimensionsSchemesMap.get(s),p=o?.dimensionCustomization,m=(0,c.useMemo)(()=>{if(!d||!f||s==null)return e.valueFormatted??e.value;let t=p?.get(s)?.get(e.colId);return ac(lc(e.colId,f),t).map(t=>$s(d,t,e.data,e.locale)).filter(Boolean).join(`.`)},[p,d,f,s,e.valueFormatted,e.value,e.colId,e.data,e.locale]),h=(0,c.useMemo)(()=>{if(!d||!f)return[];let t=lc(e.colId,f),n=(0,y.getStructureComponentsMap)(d);return Oo(t.filter(t=>e.data[t]!=null).map(t=>({name:t,value:String(e.data[t])})),n,e.locale)},[d,f,e.colId,e.data,e.locale]),g=(0,c.useMemo)(()=>{let n=d?.dataflows?.[0];if(n)return jo(n,os(a(n),e.locale),e.locale,t)},[d,e.locale,t,a]),_=i&&!!r&&!!e.value&&![`frequency_aggregated`,`country_aggregated`].includes(e.colId),v=(0,c.useCallback)(()=>{r&&r.openPanel({id:dc,scope:n?`advanced`:`conversation`,title:uc(e.colId,t),bodyClassName:`overflow-hidden`,content:(0,l.jsx)(So,{locale:e.locale,metadata:h,datasetInfo:g,externalLink:u})})},[r,n,e.colId,t,e.locale,h,g,u]);return(0,l.jsxs)(`div`,{className:`relative size-full p-2`,children:[m,_&&(0,l.jsx)(`div`,{className:`metadata-indicator`,title:t?.metadata||`View details`,onClick:v})]})},pc=`dataset-detail-metadata-side-panel`,mc=e=>{let{titles:t}=X(),{isOpenedAdvancedView:n}=I(),r=Zo(),{isMetadataInSidePanel:i}=Pt(),{getDatasetLastUpdated:a}=rs(),o=e?.data?.dataset?.urn,s=Co(e?.context,o),u=o==null?void 0:e.structuresMap.get(o),d=o==null?void 0:e.attributesDataMap?.get(o),f=(0,c.useMemo)(()=>{let n=u?.dataflows?.[0];if(n)return jo(n,os(a(n),e.locale),e.locale,t)},[u,e.locale,t,a]),p=(0,c.useMemo)(()=>Lo(Fo(d),(0,y.getStructureComponentsMap)(u),e.locale),[d,u,e.locale]),m=i&&!!r&&!!e.value,h=(0,c.useCallback)(()=>{r&&r.openPanel({id:pc,scope:n?`advanced`:`conversation`,title:t?.datasetMetadataPanel||`Dataset Metadata`,bodyClassName:`overflow-hidden`,content:(0,l.jsx)(So,{locale:e.locale,metadata:p,datasetInfo:f,externalLink:s})})},[r,n,p,f,s,t,e.locale]);return(0,l.jsxs)(`div`,{className:`relative size-full p-2`,children:[e.valueFormatted??e.value,m&&(0,l.jsx)(`div`,{className:`metadata-indicator`,title:t?.metadata||`View details`,onClick:h})]})},hc=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:r,externalLink:i,externalLinksMap:a,showLimitMessage:o,onApiReady:s})=>{let[u,f]=(0,c.useState)(!1),[p,m]=(0,c.useState)([]),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(400),y=(0,c.useRef)(null),b=(0,c.useRef)([]);(0,c.useEffect)(()=>{if(e.gridContent==null)f(!0);else{let t=e.gridContent.columns.map(e=>e.colId===`Chart_column`?{...e,hide:!n}:e);m(e.gridContent.data),g(t),f(!1)}},[e.gridContent,n]),(0,c.useEffect)(()=>{p?(v(so(p.length)),o?.(p.length>=d.SERIES_LIMIT)):o?.(!1)},[p,o]),(0,c.useEffect)(()=>{if(!h||!y.current)return;let e=h.map(e=>e.colId??e.field??``).filter(Boolean),t=b.current,n=new Set(t),r=e.length!==t.length||e.some(e=>!n.has(e));b.current=e,r&&y.current.resetColumnState()},[h]);let x=(0,c.useCallback)(e=>{y.current=e.api,s?.(e.api)},[s]),S=(0,c.useMemo)(()=>({externalLink:i,externalLinksMap:a}),[i,a]),C=(0,c.useMemo)(()=>({[Ja]:ss,[qa]:fs,[Xa]:fc,[Ya]:Ua,[Za]:mc}),[]),w=(0,c.useMemo)(()=>(0,l.jsx)(k.AgGridReact,{headerHeight:32,rowHeight:32,rowData:p,enableCellTextSelection:!0,columnDefs:h,context:S,domLayout:`normal`,tooltipShowDelay:0,tooltipShowMode:`whenTruncated`,components:C,valueCache:!0,onGridReady:x}),[p,h,S,C,x]);return u||t?(0,l.jsx)(d.Loader,{}):(0,l.jsx)(`div`,{className:`size-full`,children:(0,l.jsx)(ps,{fixHeight:r,gridHeight:_,children:w})})},gc=({selectedAttachment:e,actions:t,attachmentsStyles:n,isDataLoading:r,externalLink:i,externalLinksMap:a,isOpenedAdvancedView:o,onOpenAdvancedView:s,showLimitMessage:c,onGridApiReady:u})=>(0,l.jsxs)(`div`,{className:`flex min-h-0 w-full flex-1 justify-center`,children:[ji(e)&&(0,l.jsx)(ja,{actions:t,downloadTitles:n?.downloadTitle,attachment:e}),Mi(e)&&(0,l.jsx)(co,{actions:t,attachment:e,showLimitMessage:c}),Ni(e)&&(0,l.jsx)(ms,{attachment:e,isDataLoading:r,isChartColumnVisible:o,fixHeight:!o,showLimitMessage:c,onApiReady:u,externalLink:i}),Li(e)&&(0,l.jsx)(hc,{attachment:e,isDataLoading:r,isChartColumnVisible:o,fixHeight:!o,showLimitMessage:c,onApiReady:u,externalLink:i,externalLinksMap:a}),Pi(e)&&(0,l.jsx)(Cs,{isDataLoading:r,attachment:e,icons:n?.chartingIcons,openAdvancedView:o?void 0:s,fixHeight:!o,limitationInfoPrefixIcon:n?.limitationInfoIcon,limitationInfoContentClassName:n?.limitationInfoContentClassName}),Oi(e)&&(0,l.jsx)(Ba,{attachment:e,openLinkTitle:n?.openLinkTitle}),Ai(e)&&(0,l.jsx)(Ia,{attachment:e}),Ii(e)&&(0,l.jsx)(ws,{attachment:e,className:n?.codeAttachmentContainerClassName})]}),_c=({isOpen:e,alertDetails:t,attachmentsStyles:n,onClose:r})=>{if(!e)return null;let i=t?.progress&&t.progress.total>0?`${Math.min(100,Math.max(0,t.progress.current/t.progress.total*100))}%`:`0%`;return(0,l.jsx)(d.Alert,{alertDetails:t,infoIcon:n?.infoDownloadIcon,successIcon:n?.successDownloadIcon,errorIcon:n?.errorDownloadIcon,onClose:r,closeButtonTitle:n?.closeTitle||`Close`,children:(0,l.jsxs)(l.Fragment,{children:[t?.text&&(0,l.jsx)(`div`,{className:`alert-text whitespace-pre-line break-words`,title:t.text,children:t.text}),t?.progress&&(0,l.jsx)(`div`,{className:`alert-progress`,children:(0,l.jsx)(`div`,{className:`alert-progress-value`,style:{width:i}})}),t?.action&&(0,l.jsxs)(`button`,{type:`button`,className:`alert-action`,disabled:t.action.disabled,onClick:t.action.onClick,title:t.action.title,children:[t.action.icon&&(0,l.jsx)(`span`,{className:`alert-action-icon`,children:t.action.icon}),(0,l.jsx)(`span`,{className:`alert-action-text`,children:t.action.text})]})]})})},vc=({attachmentsStyles:e,onCancel:t,onRetry:n})=>{let r=(0,c.useCallback)(t=>e?.downloadTitles?.downloadStartedText?.(t.dataFormatTitle)??`Preparing ${t.dataFormatTitle} file.`,[e?.downloadTitles]),i=(0,c.useCallback)((t,n)=>e?.downloadTitles?.downloadInProgressTitle?.(t,n)??`Downloading file ${t} of ${n}`,[e?.downloadTitles]),a=(0,c.useCallback)((t,n)=>e?.downloadTitles?.downloadInProgressText?.(t,n)??`${t} \u00B7 ${n}`,[e?.downloadTitles]),o=(0,c.useCallback)(t=>t.items.length>1?e?.downloadTitles?.downloadSuccessMultipleTitle?.(t.items.length)??`${t.items.length} files downloaded`:e?.downloadTitles?.downloadSuccessTitle?.(t.dataFormatTitle)??`${t.dataFormatTitle} file downloaded`,[e?.downloadTitles]),s=(0,c.useCallback)(t=>{if(t.items.length>1)return e?.downloadTitles?.downloadSuccessMultipleText?.(t.items.length)??`${t.items.length} files successfully downloaded`;let[n]=t.items;return e?.downloadTitles?.downloadSuccessText?.(n.fileName,n.rowCount)??`${n.fileName} \u00B7 ${n.rowCount} rows`},[e?.downloadTitles]),l=(0,c.useCallback)(t=>{if(t.items.length>1)return e?.downloadTitles?.downloadFailedMultipleText?.(t.items.length)??`${t.items.length} datasets could not be exported`;let[n]=t.items;return e?.downloadTitles?.downloadFailedText?.(n.name)??`${n.name} could not be exported`},[e?.downloadTitles]);return{getStartedAlertDetails:(0,c.useCallback)(n=>({type:d.AlertType.INFO,title:e?.downloadTitles?.downloadStartedTitle??`Download started`,text:r(n),action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??`Cancel`,icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,r,t]),getInProgressAlertDetails:(0,c.useCallback)((n,r,o,s)=>({type:d.AlertType.IN_PROGRESS,title:i(r,n.items.length),text:a(s,n.dataFormatTitle),progress:{current:o,total:n.items.length},action:{text:e?.downloadTitles?.downloadCancelActionText??e?.downloadTitles?.cancel??`Cancel`,icon:e?.downloadInProgressActionIcon,onClick:t}}),[e?.downloadInProgressActionIcon,e?.downloadTitles,a,i,t]),getSuccessAlertDetails:(0,c.useCallback)(e=>({type:d.AlertType.SUCCESS,title:o(e),text:s(e)}),[s,o]),getErrorAlertDetails:(0,c.useCallback)(t=>({type:d.AlertType.ERROR,title:e?.downloadTitles?.downloadFailedTitle??`Download failed`,text:l(t),action:{text:e?.downloadTitles?.downloadRetryActionText??`Retry download`,icon:e?.downloadErrorActionIcon,onClick:n}}),[e?.downloadErrorActionIcon,e?.downloadTitles,l,n])}},yc=300,bc=({attachmentsStyles:e,downloadDataSet:t})=>{let[n,r]=(0,c.useState)(),[i,a]=(0,c.useState)(!1),[o,s]=(0,c.useState)(),l=(0,c.useRef)(null),u=(0,c.useRef)(null),d=(0,c.useRef)(null),f=(0,c.useRef)(!1),p=(0,c.useRef)(!1),m=(0,c.useCallback)(e=>{s(e),r(!0)},[]),h=(0,c.useCallback)(()=>{r(!1)},[]),g=(0,c.useCallback)(()=>{p.current=!0,l.current?.abort(),h()},[h]),_=(0,c.useCallback)(()=>{let e=u.current;!e||!d.current||d.current(e)},[]),v=(0,c.useCallback)(e=>(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`,[]),{getStartedAlertDetails:y,getInProgressAlertDetails:b,getSuccessAlertDetails:x,getErrorAlertDetails:S}=vc({attachmentsStyles:e,onCancel:g,onRetry:_}),C=(0,c.useCallback)(async e=>{if(!f.current){f.current=!0,a(!0),p.current=!1,u.current=null;try{let n=[],r=e.items.length>1;r||m(y(e));for(let[i,a]of e.items.entries()){if(p.current)return;r&&m(b(e,i+1,i,a.name));let o=new AbortController;l.current=o;try{await t(a.urn,e.dataFormat,e.language,e.attribute,a.filters,a.fileName,e.isMetadata,o.signal)}catch(e){if(v(e)&&p.current)return;n.push(a),console.error(`Failed to download dataset`,e)}finally{l.current===o&&(l.current=null)}i<e.items.length-1&&await new Promise(e=>window.setTimeout(e,yc))}if(p.current)return;if(n.length>0){let t={...e,items:n};u.current=t,m(S(t));return}m(x(e))}finally{l.current=null,f.current=!1,a(!1)}}},[t,S,b,y,x,v,m]);return(0,c.useEffect)(()=>{d.current=C},[C]),(0,c.useEffect)(()=>()=>{p.current=!0,l.current?.abort()},[]),{startDownload:(0,c.useCallback)(e=>f.current?!1:(C(e),!0),[C]),isDownloadRunning:i,downloadAlertProps:{isOpen:n,alertDetails:o,attachmentsStyles:e,onClose:h}}};E.ModuleRegistry.registerModules([E.AllCommunityModule]);var xc=({attachments:e,actions:t,isSystemAttachments:n,isShowAttachments:r,showAdvancedView:i,currentDataQuery:a,dataQueries:o,attachmentInfoList:s,datasets:u,initialSelectedDatasetUrn:f,isDataLoading:m,isDataSetAttachments:h,locale:g,dimensions:_,filters:v,selectDataset:b,onAdvancedViewOpen:x,hideDownloadButton:S,containerClassName:C,isTableSettingsOpen:w,onTableSettingsOpen:T,onTableSettingsClose:E,onGridApiReady:D})=>{let{titles:O,messageStyles:k,attachmentsStyles:A,limitMessages:j,attachmentsConfig:M}=X(),{isCrossDatasetModeOn:N}=Pt(),[P,F]=(0,c.useState)(0),{isOpenedAdvancedView:L,setIsOpenedAdvancedView:R}=I(),[z,B]=(0,c.useState)(d.PopUpState.Closed),[V,H]=(0,c.useState)(!1),[U,W]=(0,c.useState)(!1),G=y.DownloadType.DATA_IN_TABLE,K=(0,c.useMemo)(()=>{if(!N||!o?.some(e=>e.disabled))return u;let e=new Set(o.filter(e=>!e.disabled).map(e=>e.urn));return u?.filter(t=>{let n=(0,y.generateShortUrn)(t?.id,t?.version,t?.agencyID);return e.has(n)})},[u,o,N]),q=e=>{F(e)},J=(0,c.useCallback)(()=>{x?.(),R(!0),t.updateCurrentDataQuery(a||o?.[0]),t.updateDataQueries(o),t.updateDatasets(u)},[t,a,o,u,R,x]),Y=e[P]||null;(0,c.useEffect)(()=>{H(h&&(u==null||u?.length==0))},[u,h]),(0,c.useEffect)(()=>{w&&Y&&!Ni(Y)&&!Li(Y)&&E?.()},[w,Y,E]);let ee=(0,c.useCallback)(()=>{B(d.PopUpState.Closed)},[B]),te=M?.isExternaLinkIncludeFilters,ne=Ca(te,v,a||o?.[0],_),re=(0,c.useMemo)(()=>{if(o?.length)return new Map(o.map(e=>[e.urn,Ca(te,void 0,e)]))},[o,te]),ie=(0,c.useMemo)(()=>{if(!Y||!Li(Y))return;let e=Y.gridContent?.data??[],t=new Map,n=new Map;for(let r of e){let{dataset:e,datasetTitle:i}=r,a=e?.urn;a&&(t.set(a,(t.get(a)??0)+1),!n.has(a)&&i&&n.set(a,i))}return Array.from(t.entries()).map(([e,t])=>({urn:e,name:n.get(e)??e,rowCount:t,dataQuery:o?.find(t=>t.urn===e)}))},[Y,o]),ae=(0,c.useMemo)(()=>{if(Y){if(Ni(Y))return Y.grid_data?.data?.length;if(Li(Y))return Y.gridContent?.data?.length}},[Y]),{startDownload:oe,isDownloadRunning:se,downloadAlertProps:ce}=bc({attachmentsStyles:A,downloadDataSet:t.downloadDataSet});if(!e||e.length===0)return null;let le=!L&&V||!!m;return(0,l.jsx)(l.Fragment,{children:L&&!r?(0,l.jsx)(ra,{icon:k?.advanceViewIcon,title:k?.openAdvanceViewTitle??`Opened in Advanced view`}):(0,l.jsxs)(`div`,{className:Ko(`space-y-3 max-w-full max-h-full h-full`,!L&&!n?`pt-5`:`pt-0`,`flex flex-col pb-1`,C),children:[!L&&K?.length!=null&&K?.length>0&&(0,l.jsx)(_a,{datasets:K,initialSelectedDatasetUrn:f,locale:g,selectDataset:b}),le?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[n&&!L&&(0,l.jsx)(na,{titles:{queryUpdatedManuallyTitle:O?.queryUpdatedManually,setToTitle:O?.setTo,datasetLabel:O?.dataset},datasetIcon:A?.datasetIcon,attachmentInfoList:s,dataQueries:o}),U&&(0,l.jsx)(d.RequestLimitMessage,{limitMessages:j,showAdvancedViewButton:!!Y&&Ri(Y)&&i,onAdvancedViewClick:J,query:ne}),(0,l.jsx)(`div`,{className:(0,p.default)(!L&&u?.length&&`attachments-bordered`,`attachments-wrapper h-full min-h-0`),children:(0,l.jsxs)(`div`,{className:`flex h-full max-w-full flex-col items-center gap-4`,children:[(0,l.jsx)(Aa,{attachments:e,selectedAttachmentIndex:P,selectedAttachment:Y,attachmentsStyles:A,externalLink:ne,isExternalLinkIncludeFilters:te,limitMessages:j,onSelectedAttachmentChange:q,onDownloadClick:()=>B(d.PopUpState.Opened),hideDownloadButton:S,showAdvancedView:i,onOpenAdvancedView:J,isTableSettingsOpen:w,onTableSettingsOpen:T}),Y!=null&&(0,l.jsx)(gc,{selectedAttachment:Y,actions:t,attachmentsStyles:A,isDataLoading:m,isOpenedAdvancedView:L,onOpenAdvancedView:J,showLimitMessage:W,onGridApiReady:D,externalLink:ne,externalLinksMap:re})]})}),(0,l.jsxs)(l.Fragment,{children:[z===d.PopUpState.Opened&&(0,l.jsx)(fa,{onCloseModal:ee,onDownloadStart:oe,isDownloadInProgress:se,dataQuery:a,datasetName:Y?.title||``,locale:g,type:G,dimensions:_,filters:v,urn:a?.urn,titles:A?.downloadTitles,rowCount:ae,collapsible:A?.downloadCollapsible,downloadDatasets:ie,limitMessages:j,showLimitMessage:U,externalLink:ne}),(0,l.jsx)(_c,{...ce})]})]})]})})},Sc=({label:e,colDef:t})=>!!e.trim()&&!t.suppressColumnsToolPanel;function Cc(e){return e.colId??e.field??null}function wc(e){return String(e.headerName??e.field??e.colId??``).trim()}function Tc(e){return new Map(e.getColumnState().map(e=>[e.colId,e]))}function Ec(e,t){let n=e.getColumnDefs()??[],r=Tc(e),i=[];for(let e of n){let n=Cc(e);if(!n)continue;let a=wc(e);if(!t({colId:n,label:a,colDef:e}))continue;let o=r.get(n);i.push({id:n,type:`item`,label:a,isChecked:!(o?.hide??!1),draggable:!0,checkable:!0})}let a=e.getColumnState().map(e=>e.colId),o=new Map(a.map((e,t)=>[e,t]));return i.sort((e,t)=>(o.get(e.id)??2**53-1)-(o.get(t.id)??2**53-1))}function Dc(e,t,n){let r=[...t];return e.map(e=>n.has(e)?r.shift()??e:e)}function Oc(e,t){let n=e,r;for(let e of t){if(r=n.find(t=>t.id===e),!r)return;n=r.type===`group`?r.items:r.items??[]}return r?.type===`item`?r:void 0}function kc(e){if(!e.items?.length)return e;if(e.items.every(e=>e.type===`item`)){let t=e.items,n=t.filter(e=>e.isChecked!==!1);if(n.length!==1)return e;let[r]=n;return{...e,items:t.map(e=>e===r?{...e,checkable:!1,draggable:!1}:{...e,draggable:!1})}}let t=e.items.map(e=>{if(e.type!==`group`)return e;let t=e.items.filter(e=>e.type===`item`).filter(e=>e.isChecked!==!1);if(t.length!==1)return e;let[n]=t;return{...e,items:e.items.map(e=>e.type===`item`?e===n?{...e,checkable:!1,draggable:!1}:{...e,draggable:!1}:e)}});return t.every((t,n)=>t===e.items[n])?e:{...e,items:t}}function Ac(e,t){let n=[];for(let r of e){if(r.type===`group`){n.push(...Ac(r.items,t));continue}if(t?.(r)){n.push(r.id);continue}if(r.items?.length){n.push(...Ac(r.items,t));continue}n.push(r.id)}return n}function jc({api:e,searchQuery:t,includeColumn:n=Sc,enrichItem:r,onSubItemOrderChange:i,onSubItemVisibilityChange:a}){let[o,s]=(0,c.useState)(0),[l,u]=(0,c.useState)(new Set),f=(0,c.useCallback)(()=>{s(e=>e+1)},[]);Ns(e,f);let p=(0,c.useMemo)(()=>!e||!e.getColumnState()?[]:Ec(e,n),[e,n,o]),m=(0,c.useMemo)(()=>(r?p.map(e=>e.type===`item`?r(e):e):p).map(e=>e.type===`item`&&e.items?.length?{...e,isExpanded:l.has(e.id)}:e),[p,r,l]),h=(0,c.useMemo)(()=>new Set(p.map(e=>e.id)),[p]),g=(0,c.useMemo)(()=>(0,d.filterDraggableListNodes)(m,t),[m,t]),_=(0,c.useCallback)(t=>{if(!e)return;if(nc(t.itemId)&&a){let{urn:e,dimensionKey:n}=rc(t.itemId),r=t.path[0];a(e,r,n,!t.nextChecked);return}let n=Oc(m,t.path);!n||!h.has(n.id)||(e.applyColumnState({state:[{colId:n.id,hide:!t.nextChecked}]}),f())},[e,m,h,f,a]),v=(0,c.useCallback)(t=>{if(!e)return;if(nc(t.itemId)&&a){let{urn:e,dimensionKey:n}=rc(t.itemId),r=t.path[0],i=Oc(m,t.path);i?.type===`item`&&a(e,r,n,i.isChecked??!0);return}let n=Oc(m,t.path);if(!n||!h.has(n.id))return;let r=!(e.getColumnState().find(e=>e.colId===n.id)?.hide??!1);e.applyColumnState({state:[{colId:n.id,hide:r}]}),f()},[e,m,h,f,a]);return{items:m,visibleItems:g,handleToggleChecked:_,handleToggleExpanded:(0,c.useCallback)(e=>{let t=e.path[e.path.length-1];u(n=>{let r=new Set(n);return e.nextExpanded?r.add(t):r.delete(t),r})},[]),handleItemClick:v,handleItemsChange:(0,c.useCallback)(t=>{if(!e)return;let n=e.getColumnState().map(e=>e.colId),r=new Set(p.map(e=>e.id)),a=Dc(n,Ac(t,e=>h.has(e.id)),r);if(e.applyColumnState({state:a.map(e=>({colId:e})),applyOrder:!0}),f(),i){for(let e of t)if(!(e.type!==`item`||!h.has(e.id)||!e.items))if(e.items.some(e=>e.type===`group`))for(let t of e.items){if(t.type!==`group`)continue;let n=t.items.filter(e=>e.type===`item`);if(n.length<=1)continue;let r=t.id,a=n.map(e=>rc(e.id).dimensionKey);i(r,e.id,a)}else{let t=e.items.filter(e=>e.type===`item`);if(t.length<=1||!nc(t[0].id))continue;let{urn:n}=rc(t[0].id),r=t.map(e=>rc(e.id).dimensionKey);i(n,e.id,r)}}},[e,p,h,f,i])}}function Mc({api:e,includeColumn:t,enrichItem:n,renderLabel:r,onSubItemOrderChange:i,onSubItemVisibilityChange:a,searchPlaceholder:o}){let[s,u]=(0,c.useState)(``),p=(0,c.useCallback)(e=>{u(e)},[u]),m=(0,c.useCallback)(()=>u(``),[u]),h=(0,c.useMemo)(()=>(0,l.jsx)(`button`,{type:`button`,onClick:m,children:(0,l.jsx)(f.IconX,{className:`size-4 text-neutrals-1000`})}),[m]),{visibleItems:g,handleItemsChange:_,handleToggleChecked:v,handleToggleExpanded:y,handleItemClick:b}=jc({api:e,includeColumn:t,searchQuery:s,enrichItem:(0,c.useCallback)(e=>kc(n?n(e):e),[n]),onSubItemOrderChange:i,onSubItemVisibilityChange:a});return(0,l.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 px-5`,children:[(0,l.jsx)(d.InputWithIcon,{inputId:`columns-search-input`,containerClasses:`items-center filters-search-input gap-1 !p-2`,cssClass:`filters-search-input-text`,placeholder:o||`Search`,iconBeforeInput:(0,l.jsx)(f.IconSearch,{className:`size-4 text-neutrals-1000`}),iconAfterInput:s?h:void 0,value:s,onChange:p}),(0,l.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,l.jsx)(d.DraggableList,{items:g,onItemsChange:_,onToggleChecked:v,onToggleExpanded:y,onItemClick:b,renderLabel:r})})]})}function Nc(){let{dataQueries:e,structuresMap:t,locale:n,gridViewMode:r}=Rs(),i=is(),a=(0,c.useMemo)(()=>{let a=new Map;if(!i||!e?.length)return a;for(let{urn:o}of e){let e=i.getDimensionsScheme(o),s=!!e?.other.length,c=r===Fs.Extended&&!!e?.indicators?.length;if(!s&&!c)continue;let l=n?(0,y.getLocalizedName)(t?.get(o)?.dataflows?.[0],n)??o:o,u=[...e?.other??[],...c?e?.indicators??[]:[]];for(let e of u){let t=a.get(e);t?t.push(l):a.set(e,[l])}}return a},[i,e,t,n,r]);return(0,c.useMemo)(()=>{if(!a.size)return;function e(e){let t=a.get(e.id);return t?.length?(0,l.jsxs)(`span`,{className:`flex w-full items-center gap-2 overflow-hidden`,children:[(0,l.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.label,children:e.label}),(0,l.jsx)(`span`,{className:`h5 min-w-0 flex-1 truncate text-right text-neutrals-700`,title:t.join(`, `),children:t.join(`, `)})]}):e.label}return e},[a])}var Q=function(e){return e.Header=`header`,e.Cell=`cell`,e}({}),$=function(e){return e.Focus=`focus`,e.Default=`default`,e}({}),Pc=`grid gap-1`,Fc={gridTemplateColumns:`44px 23px 23px`,gridTemplateRows:`repeat(4, 14px)`},Ic={gridTemplateColumns:`repeat(4, 21.5px)`,gridTemplateRows:`repeat(4, 14px)`},Lc={[Q.Header]:{[$.Focus]:`content-center rounded-sm border border-accent-300 bg-accent-300 text-center text-[8px] font-semibold`,[$.Default]:`rounded-sm bg-semantic-warning border border-accent-300`},[Q.Cell]:{[$.Focus]:`content-center rounded-sm border border-accent-300 bg-hues-100 pl-1 text-left text-[8px] font-semibold`,[$.Default]:`rounded-sm bg-neutrals-100 border border-accent-300`}},Rc=({rows:e,style:t})=>(0,l.jsx)(`div`,{className:Pc,style:t,children:e.map((e,t)=>(0,l.jsx)(c.Fragment,{children:e.map((e,n)=>(0,l.jsx)(`span`,{className:Ko([Lc[e.role][e.emphasis],!e.label&&`text-transparent`]),children:e.label||` `},`${t}-${n}`))},t))}),zc=[[{role:Q.Header,emphasis:$.Focus,label:`D1.D2.D3`},{role:Q.Header,emphasis:$.Default},{role:Q.Header,emphasis:$.Default}],[{role:Q.Cell,emphasis:$.Focus,label:`C1.A`},{role:Q.Cell,emphasis:$.Default},{role:Q.Cell,emphasis:$.Default}],[{role:Q.Cell,emphasis:$.Focus,label:`C1.B`},{role:Q.Cell,emphasis:$.Default},{role:Q.Cell,emphasis:$.Default}],[{role:Q.Cell,emphasis:$.Focus,label:`C2.X`},{role:Q.Cell,emphasis:$.Default},{role:Q.Cell,emphasis:$.Default}]],Bc=()=>(0,l.jsx)(Rc,{rows:zc,style:Fc}),Vc=[[{role:Q.Header,emphasis:$.Focus,label:`D1`},{role:Q.Header,emphasis:$.Focus,label:`D2`},{role:Q.Header,emphasis:$.Focus,label:`D3`},{role:Q.Header,emphasis:$.Default}],[{role:Q.Cell,emphasis:$.Focus,label:`C1`},{role:Q.Cell,emphasis:$.Focus,label:`A`},{role:Q.Cell,emphasis:$.Focus},{role:Q.Cell,emphasis:$.Default}],[{role:Q.Cell,emphasis:$.Focus,label:`C1`},{role:Q.Cell,emphasis:$.Focus,label:`B`},{role:Q.Cell,emphasis:$.Focus},{role:Q.Cell,emphasis:$.Default}],[{role:Q.Cell,emphasis:$.Focus,label:`C2`},{role:Q.Cell,emphasis:$.Focus},{role:Q.Cell,emphasis:$.Focus,label:`X`},{role:Q.Cell,emphasis:$.Default}]],Hc=()=>(0,l.jsx)(Rc,{rows:Vc,style:Ic}),Uc=({title:e,description:t,visual:n,mode:r,activeMode:i,onClick:a})=>(0,l.jsxs)(`button`,{type:`button`,className:Ko([`flex items-center gap-3 rounded border p-1`,r===i&&`border-primary`]),onClick:()=>a(r),children:[(0,l.jsx)(`div`,{className:`rounded-[5px] bg-neutrals-100 px-2 py-1`,children:n}),(0,l.jsxs)(`div`,{className:`flex flex-col gap-1 text-left`,children:[(0,l.jsx)(`span`,{className:`h4 text-neutrals-1000`,children:e}),(0,l.jsx)(`span`,{className:`caption text-neutrals-800`,children:t})]})]}),Wc=({gridViewMode:e,onModeChange:t,compactViewTitle:n,compactViewDescription:r,extendedViewTitle:i,extendedViewDescription:a})=>(0,l.jsxs)(`div`,{className:`mx-5 my-3 flex flex-col gap-2`,children:[(0,l.jsx)(Uc,{title:n||`Compact view`,description:r??(0,l.jsxs)(l.Fragment,{children:[`Related dimensions `,(0,l.jsx)(`strong`,{children:`combined into a single column.`})]}),visual:(0,l.jsx)(Bc,{}),mode:Fs.Compact,activeMode:e,onClick:t}),(0,l.jsx)(Uc,{title:i||`Extended view`,description:a??(0,l.jsxs)(l.Fragment,{children:[`Each dimension displayed in `,(0,l.jsx)(`strong`,{children:`separate column.`})]}),visual:(0,l.jsx)(Hc,{}),mode:Fs.Extended,activeMode:e,onClick:t})]}),Gc=`table-settings-side-panel`,Kc=()=>{let{gridApi:e,initialColumnsState:t,structuresMap:n,locale:r,dataQueries:i,dimensionCustomization:a,setDimensionKeyOrder:o,setDimensionKeyHidden:s,resetDimensionCustomization:u,clearUserColumnState:d,clearInitialColumnState:p,gridViewMode:m,setGridViewMode:h,texts:g,resetIcon:_}=Rs(),v=is(),y=Nc(),b=(0,c.useCallback)(e=>{d(),p(),u(),h(e)},[d,p,u,h]),x=(0,c.useCallback)(()=>{e&&(d(),t?js(e,t):e.resetColumnState(),u())},[d,e,t,u]),S=(0,c.useMemo)(()=>{if(!(m!==Fs.Compact||!v||!n||!r||!i?.length))return cc({dataQueries:i,structuresMap:n,getDimensionsScheme:v.getDimensionsScheme,getDimensionConfig:(e,t)=>v.map[e]?.[t],locale:r,dimensionCustomization:a})},[m,v,n,r,i,a]);return e?(0,l.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,l.jsx)(Wc,{gridViewMode:m,onModeChange:b,compactViewTitle:g?.compactViewTitle,compactViewDescription:g?.compactViewDescription,extendedViewTitle:g?.extendedViewTitle,extendedViewDescription:g?.extendedViewDescription}),(0,l.jsx)(`hr`,{className:`border-neutrals-500`}),(0,l.jsxs)(`div`,{className:`mx-5 mb-4 mt-5 flex items-center justify-between`,children:[(0,l.jsx)(`h3`,{className:`text-neutrals-1000`,children:g?.columnsDisplayTitle||`Columns display`}),(0,l.jsx)(`button`,{type:`button`,className:`text-neutrals-800`,onClick:x,children:_??(0,l.jsx)(f.IconRotate,{className:`size-4 rotate-180`})})]}),(0,l.jsx)(Mc,{api:e,enrichItem:S,renderLabel:y,onSubItemOrderChange:o,onSubItemVisibilityChange:s,searchPlaceholder:g?.columnsSearchPlaceholder})]}):null},qc=e=>{let{attachmentsStyles:t}=X(),{onGridApiReady:n}=Rs(),r=Zo(),i=(0,c.useCallback)(()=>{r&&r.openPanel({id:Gc,scope:`advanced`,title:t?.tableSettings||`Table settings`,headerClassName:`border-b border-neutrals-500`,content:(0,l.jsx)(Kc,{})})},[r,t?.tableSettings]);return(0,l.jsx)(xc,{...e,isTableSettingsOpen:r?.isPanelOpen(`table-settings-side-panel`)??!1,onTableSettingsOpen:r?i:void 0,onTableSettingsClose:r?.closePanel,onGridApiReady:n})},Jc=({actions:e,structureDataMaps:t,buttonProps:n,modalProps:r,dataQueries:i,onMultipleDataFiltersChange:a,locale:o,timeRangeOptions:s,datasetIcon:u,conversationKey:f,conversation:p,setConversation:m,updateConversation:g,updateDataQueries:_,limitMessages:v,filterIconClassName:x})=>{let{titles:S}=X(),C=is(),{modalState:w,setModalState:T,isModalClosed:E,setIsModalClosed:D}=Ei(),[O,k]=(0,c.useState)([]),[A,j]=(0,c.useState)([]),[M,N]=(0,c.useState)(),[P,F]=(0,c.useState)([]),[I,L]=(0,c.useState)(void 0),R=(0,c.useRef)(t?.constraintsMap),[z,B]=(0,c.useState)(),[V,H]=(0,c.useState)(),[U,W]=(0,c.useState)(),[G,K]=(0,c.useState)(!1),q=(0,c.useRef)(0),[J,Y]=(0,c.useState)(new Set),[ee,te]=(0,c.useState)(new Set),ne=(0,c.useRef)(p);(0,c.useEffect)(()=>{ne.current=p},[p]);let re=(0,c.useCallback)(()=>{q.current+=1,q.current===1&&K(!0)},[]),ie=(0,c.useCallback)(()=>{q.current=Math.max(q.current-1,0),q.current===0&&K(!1)},[]),ae=(0,c.useMemo)(()=>cr(i,t),[i,t]),oe=(0,c.useCallback)(e=>ai(e,t?.dimensionsMap,t?.structuresMap),[t?.dimensionsMap,t?.structuresMap]),se=(0,c.useCallback)(e=>oe(e).codelistUrn,[oe]),ce=(0,c.useCallback)(e=>{let t=e.filterType===`dataset`?e.datasetUrn:e.sourceDatasetUrns?.[0];return t?R.current?.get(t):void 0},[]),{hierarchyStateMap:le,rebuildHierarchyTree:ue,loadAvailableHierarchies:de,onSelectHierarchy:fe,onExpandHierarchyNode:pe}=Ji({getCodelistUrnForFilter:se,getConstraintsForFilter:ce,getSourceArtefactUrn:(0,c.useCallback)(e=>oe(e).sourceArtefactUrn,[oe]),getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),me=e=>{let t=e?O.map(t=>Z(t,e)?e:t):O;W(!0),k(xt(t)),H?.(!0),he(e?.isTimeDimension?ft(t,e):t,k,H,e)};(0,c.useEffect)(()=>{w===d.PopUpState.Closed&&B(R.current)},[w]);let he=(0,c.useCallback)((n,r,a,s)=>{let c=Zn(n,R.current,!1,C.map),l=dr(i,c,e,C.map,n);l&&re();let u=ur(i,c,e,C.map,n);Promise.allSettled(u).then(e=>{let n=hr(R.current||t?.constraintsMap,mr(e)),i={...t,constraintsMap:n};if(s){let{filtersMap:e,changed:t}=Qi(c,i,s,o,C.map);if(t){R.current=n,a?.(!0),W(!0),he(ar(e,i,o,C.map),r,a,s);return}}let l=ar(c,i,o,C.map);if(R.current=n,a?.(!1),r(l),s){let e=l.find(e=>Z(e,s));N(t=>t&&e&&Z(t,s)?{...e,isSelectedFilter:!0}:t),ue(s,ce(s))}}).catch(()=>{let e=R.current||t?.constraintsMap||new Map,n=ar(c,{...t,constraintsMap:e},o,C.map);if(R.current=e,a?.(!1),r(n),s){let e=n.find(e=>Z(e,s));N(t=>t&&e&&Z(t,s)?{...e,isSelectedFilter:!0}:t)}}).finally(()=>{W(!1),l&&ie()})},[e,i,C.map,ie,ce,o,ue,re,t]);(0,c.useEffect)(()=>{if(!ae){H(!0);return}let e=Yn(t,o),n=i?.map(t=>{if(!t.disabled)return t;let n=(e.get(t.urn)??[]).filter(e=>e.filterType===`dataset`&&e.id&&!e.isTimeDimension).map(e=>({componentCode:e.id,operator:h.QueryFilterType.IN,values:[]}));return{...t,filters:n}}),r=Xn(e,n,t?.constraintsMap,C.map);H?.(!0),he(r,j,H)},[i,C.map,he,ae,o,t]),(0,c.useEffect)(()=>{A?.length&&F(ht(A))},[A]),(0,c.useEffect)(()=>{k(e=>ft(e,M))},[M]),(0,c.useEffect)(()=>{if(w===d.PopUpState.Opened){L(void 0);let e=A.find(e=>!e.isTimeDimension);N(e?{...e,isSelectedFilter:!0}:void 0),k(A);let t=new Set(i?.filter(e=>e.disabled).map(e=>e.urn));Y(t),te(t)}w===d.PopUpState.Closed&&N(void 0)},[A,i,w]),(0,c.useEffect)(()=>{if(!M||M.isTimeDimension)return;let e=dt(M);e&&(le.get(e)||de(M))},[M,le,de]),(0,c.useEffect)(()=>{w===d.PopUpState.Opened&&A.forEach(e=>{if(e.isTimeDimension)return;let t=dt(e);t&&!le.has(t)&&de(e)})},[w,A,le,de]);let ge=(0,c.useCallback)(async e=>{let t=ne.current,n=i?.map(e=>({...e,disabled:J.has(e.urn)})),r=n?.filter(e=>!e.disabled),a=yr(r,e),o=t?{...t,messages:Gi(t.messages,n,a)}:null;m?.(o),_?.(n?.map(e=>({...e,filters:e.disabled?e.filters??[]:a.get(e.urn)??[]}))??[]),await g(decodeURI(f),{name:o?.name,messages:o?.messages||[]})},[f,i,J,m,g,_]),_e=(0,c.useCallback)((e,t)=>{k(n=>pt(n,e,t)),Z(M,e)&&N(e=>e&&{...e,displayMode:t})},[M]),ve=(0,c.useCallback)(e=>_r(e,i,t?.dimensionsMap),[i,t?.dimensionsMap]),ye=(0,c.useMemo)(()=>{let e=Zn(A,R.current,!1,C.map),t=Zn(O,R.current,!1,C.map),n=(0,b.default)(ve(e),ve(t)),r=(0,b.default)([...ee].sort(),[...J].sort());return n&&r},[A,O,ee,J,ve,C.map]),be=(0,c.useCallback)((e,t)=>{let n=ar(e,t,o,C.map);R.current=t?.constraintsMap,N(e=>n?.find(t=>Z(t,e))||e),k(n),W(!1)},[C.map,o]),xe=(0,c.useCallback)((n,r)=>{W(!0),k(xt(n));let i=Zn(n,R.current,!1,C.map),a=R.current||t?.constraintsMap||new Map,o=dr(r,i,e,C.map,n);o&&re();let s=ur(r,i,e,C.map,n);Promise.allSettled(s).then(e=>{let n=hr(a,mr(e));be(i,{...t,constraintsMap:n})}).catch(()=>{be(i,{...t,constraintsMap:a})}).finally(()=>{o&&ie()})},[e,C.map,ie,re,t,be]),Se=(0,c.useCallback)(e=>{let t=i?.find(t=>t?.urn===e?.datasetUrn);xe(vt(O,e),e?.datasetUrn?t?[t]:[]:i)},[xe,O,i]),Ce=(0,c.useCallback)(()=>{Y(new Set)},[]),we=(0,c.useCallback)((e,t)=>{Y(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})},[]),Te=(0,c.useCallback)(()=>{R.current=z,T(d.PopUpState.Closed),D(!0)},[z,T,D]),Ee=(0,c.useCallback)(()=>{xe(yt(O),i),Y(new Set)},[xe,O,i]),De=(0,c.useCallback)(()=>{let e=i?.map(e=>({...e,disabled:J.has(e.urn)})),n=Zn(O,R.current,!1,C.map,J),r=ar(n,{...t,constraintsMap:R.current},o,C.map),s=ve(n),l=Qn(r,i?.map(e=>e.urn)??[],i,C.map,n),u=(i?.map(e=>e.urn)??[]).filter(e=>!l.has(e));for(let e of u){let t=n.get(e);t&&n.set(e,t.map(e=>!e.isTimeDimension&&e.dimensionValues?.length&&!e.dimensionValues.some(e=>e.isSelectedValue)?{...e,isExcluded:!0}:e))}a?.(s,R.current,e?.filter(e=>l.has(e.urn)||e.disabled),n,r),j(r),T(d.PopUpState.Closed),D(!0),(0,c.startTransition)(()=>{ge(n)})},[ve,O,t,o,C.map,a,i,J,ge,T,D]),Oe=e=>{L(e)},ke=(0,c.useMemo)(()=>i?.map(e=>{let n=t?.structuresMap?.get(e.urn)?.dataflows?.[0],r=(0,y.getLocalizedName)(n,o??``),i=r?(0,y.generateShortUrn)(r,``,n?.agencyID):void 0;return i?{...e,title:i}:e}),[i,t?.structuresMap,o]),Ae=V||U||ye;return(0,l.jsxs)(`div`,{className:`filters-container`,children:[(0,l.jsx)(Ci,{buttonProps:n,selectedFiltersCount:gt(P),isLoading:V,setModalState:T,isModalClosed:E,warningIcon:v?.warningIcon,filterIconClassName:x}),(0,l.jsx)(l.Fragment,{children:w===d.PopUpState.Opened&&(0,l.jsxs)(d.Popup,{heading:S?.settings||`Settings`,portalId:`filters`,size:d.PopUpSize.LG,containerClassName:`advanced-view-filters-modal h-[80%]`,dividers:r?.isShowDividers,onClose:Te,closeButtonTitle:S?.close||`Close`,children:[(0,l.jsx)(Zr,{locale:o,timeRangeOptions:s,filtersList:O,selectedFilter:M,isDisableValues:U,isValuesLoading:G,modalProps:r,initialConstraintsMap:t?.constraintsMap,datasetIcon:u,structuresMap:t?.structuresMap,setSelectedFilter:N,onSelectDisplayMode:_e,onDeleteFilter:Se,onClearAllFilters:Ee,updateSelectedFilterValues:me,onTimePeriodChange:Oe,selectedTimeOption:I,hierarchyStateMap:le,onSelectHierarchy:fe,onExpandHierarchyNode:pe,dataQueries:ke,disabledDatasetUrns:J,onToggleDataset:we,onClearAllDatasets:Ce}),(0,l.jsx)(si,{onApply:De,onClose:Te,onClearAllFilters:Ee,modalProps:r,applyDisabled:Ae,limitMessages:v})]})})]})},Yc=({filtersProps:e,actions:t,attachments:n,attachmentsDataQuery:r,dataQueries:i,dimensions:a,locale:o,isDataLoading:s,setIsFiltering:u,filters:d,onFiltersChange:f})=>{let{titles:p,limitMessages:m}=X(),h={getConstraints:t.getConstraints,getAvailableHierarchies:e.actions?.getAvailableHierarchies,getHierarchy:e.actions?.getHierarchy},{isCrossDatasetModeOn:g}=Pt();return(0,c.useEffect)(()=>{s||u?.(!1)},[s,u]),(0,l.jsx)(`div`,{className:`h-full min-h-0 rounded bg-white`,children:(0,l.jsxs)(`div`,{className:`flex h-full flex-col gap-4 overflow-x-hidden`,children:[(0,l.jsxs)(`div`,{className:`data-details-header flex items-center justify-between`,children:[(0,l.jsx)(`h2`,{children:p?.content??`Content`}),g?(0,l.jsx)(Jc,{attachmentsDataQuery:r,dataQueries:i,updateDataQueries:t?.updateDataQueries,locale:o,actions:h,dimensions:a,...e,onFiltersChange:f,limitMessages:m}):(0,l.jsx)(ea,{attachmentsDataQuery:r,dataQueries:i,updateDataQueries:t?.updateDataQueries,locale:o,actions:h,dimensions:a,...e,onFiltersChange:f,limitMessages:m})]}),(0,l.jsx)(`div`,{className:`advanced-view-attachments-container min-h-0 flex-1`,children:(0,l.jsx)(qc,{attachments:n,currentDataQuery:r,dataQueries:i,dimensions:a,actions:t,isShowAttachments:!0,isDataSetAttachments:!0,isDataLoading:s,locale:o,filters:d})})]})})},Xc=({isShowAgency:e,isShowDatasetBadge:t,dataset:n,data:r,structures:i,metadataSettings:a,locale:o,getDatasetUpdatedTime:s,externalLink:u,datasetIcon:p,externalLinkIcon:m,metadataButtonClassName:h,metadataIconClassName:g,infoSegmentContainerClassName:_,infoSegmentHeaderClassName:v,nameAndMetadataContainerClassName:b})=>{let{titles:x}=X(),[S,C]=(0,c.useState)(``),[w,T]=(0,c.useState)(!1),E=(0,c.useRef)(null),[D,O]=(0,c.useState)(``),[k,A]=(0,c.useState)(``),[j,M]=(0,c.useState)(!1),{onboardingFileSchema:N,isShowOnboarding:P}=G(),{isOpenedAdvancedView:F}=I(),L=Zo(),{isMetadataInSidePanel:R}=Pt(),{getDatasetLastUpdated:z}=rs(),[B,V]=(0,c.useState)(!1),H=(0,c.useMemo)(()=>a?.isMetadataDescription?Ao(n,S,o,x):[],[n,S,o,a?.isMetadataDescription,x]),U=(0,c.useMemo)(()=>[...a?.isMetadataDescription?[]:[ko(n,o,x)],...Lo(Fo(r),(0,y.getStructureComponentsMap)(i),o)],[r,n,o,a?.isMetadataDescription,i,x]),W=(0,c.useMemo)(()=>jo(n,S,o,x),[n,S,o,x]),K=(0,c.useCallback)(()=>{if(R&&L){L.openPanel({id:`dataset-metadata-side-panel`,scope:F?`advanced`:`conversation`,title:`Dataset Metadata`,bodyClassName:`overflow-hidden`,content:(0,l.jsx)(So,{locale:o,metadata:U,metadataDescription:H,datasetInfo:W,externalLink:u})}),V(!0);return}T(!0)},[H,U,W,u,R,F,o,L]),q=(0,c.useCallback)(()=>{T(!1),V(!0)},[]);(0,c.useEffect)(()=>{C(s&&s(U)||os(z(n),o))},[n,o,U,s,z]),(0,c.useEffect)(()=>{if(P){let{title:e,description:t}=pi(li.METADATA_PER_DATASET,x);O(e),A(t)}},[x,P]),(0,c.useEffect)(()=>{P&&M(N?.lastDisplayedElement===li.METADATA_PER_DATASET)},[N?.lastDisplayedElement,P]);let J=(e,t)=>(0,l.jsxs)(`div`,{className:Ko(`flex gap-1 text-neutrals-1000`,_),children:[(0,l.jsxs)(`span`,{className:Ko(`text-neutral-800`,v),children:[e,`:`]}),(0,l.jsx)(`span`,{children:t})]});return(0,l.jsxs)(`div`,{className:`dataset-info flex flex-col gap-3 bg-white`,children:[t&&(0,l.jsxs)(`div`,{className:`bg-accent-500 body-2 flex w-fit items-center gap-1 rounded-[20px] px-2 py-1`,children:[p,x?.dataset??`Dataset`]}),(0,l.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,l.jsxs)(`div`,{role:`heading`,"aria-level":4,className:Ko(`flex gap-1 items-center h4`,b),children:[(0,l.jsx)(`div`,{ref:E,children:(0,l.jsx)(d.IconButton,{title:x?.metadata??`View details`,buttonClassName:Ko(`!text-neutrals-1000 !border-none !w-4 !h-4 !p-0 shrink-0`,h),icon:(0,l.jsx)(lo,{className:Ko(`size-4`,g)}),onClick:K})}),(0,l.jsx)(`span`,{children:(0,y.getLocalizedName)(n,o)})]}),u&&(0,l.jsx)(`a`,{href:u,target:`_blank`,rel:`noopener noreferrer`,children:m||(0,l.jsx)(f.IconExternalLink,{className:`size-4 shrink-0 cursor-pointer text-primary`})})]}),(0,l.jsxs)(`div`,{className:`body-3 flex items-center gap-2`,children:[e&&(0,l.jsxs)(l.Fragment,{children:[J(x?.agency??`Agency`,n?.agencyID??``),(0,l.jsx)(`div`,{"aria-hidden":`true`,className:`h-[14px] border-l border-l-neutral-500`})]}),J(x?.lastUpdated??`Last updated`,S)]})]}),j&&(0,l.jsx)(Si,{reference:E,title:D,description:k,onReferenceClick:K,shouldCloseTooltip:B}),w&&(0,l.jsx)(go,{locale:o,metadata:U,metadataDescription:H,isOpenMetadata:w,onCloseMetadata:q})]})},Zc=({locale:e,isShowShare:t,shareConversationProps:n,conversation:r})=>{let{titles:i}=X(),{setIsOpenedAdvancedView:a}=I(),o=(0,c.useRef)(null),[s,u]=(0,c.useState)(``),[f,m]=(0,c.useState)(``),[h,g]=(0,c.useState)(!1),{onboardingFileSchema:_,isShowOnboarding:v}=G();return(0,c.useEffect)(()=>{if(v){let{title:e,description:t}=pi(li.EXIT_ADVANCED_VIEW,i);u(e),m(t)}},[i,v]),(0,c.useEffect)(()=>{v&&g(_?.lastDisplayedElement===li.EXIT_ADVANCED_VIEW)},[_?.lastDisplayedElement,v]),(0,l.jsxs)(`header`,{className:(0,p.default)(`bg-white px-6 py-4 flex justify-between items-center sm:px-0`,`advanced-view-header`),children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-3 items-center`,!t&&`justify-between w-full`,`advanced-view-header-title`),children:[(0,l.jsx)(`div`,{ref:o,className:(0,p.default)(!t&&`order-2`,`flex`),children:(0,l.jsx)(d.CloseButton,{btnClassNames:`button-close`,onClick:()=>a(!1),title:i?.close||`Close`})}),h&&(0,l.jsx)(Si,{reference:o,title:s,description:f,onReferenceClick:()=>a(!1),shouldMoveToNextStep:!0}),(0,l.jsx)(`h2`,{children:i?.advanceViewTitle??`Advanced view`})]}),t&&(0,l.jsx)(Be,{locale:e,conversation:r,...n})]})};function Qc(e,t,n,r,i,a,o,s,c){let l=$c(e,n),u=el(e,t,n,r,i,a,c?.startPeriod&&c.endPeriod?(0,y.getAdditionalColumns)(s,c):[]);return[$a(e,t?.data,n,i,a,o),...l,...u,eo(e,t?.data,n,void 0,a,o)]}function $c(e,t){let n=e.conceptSchemes||[],r=e.codelists||[],i=(0,y.getDimensions)(e)?.dimensions||[];return i.map(e=>{let{codeList:a,concept:o}=Bs(e,n,r);return{headerName:(0,y.getLocalizedName)(o,t),field:e.id,colId:e.id,valueGetter:e=>{let{data:n,colDef:r}=e,o=r.field;return Hs(i,o,a,n,t)},...Ka,tooltipValueGetter:e=>e.value}})}function el(e,t,n,r,i,a,o){return nl(rl(o,(0,y.getTimePeriods)(t)),(e,t)=>tl(e,t||e,r,a),e,n,i,a)}var tl=(e,t,n=h.defaultFormatNumbers,r)=>({headerName:at(t,r),colId:e,field:e,type:`numericColumn`,suppressColumnsToolPanel:!0,sortable:!1,width:200,cellClass:[`justify-end`,`cell-with-meta`],valueFormatter:e=>(0,h.formatNumberBySign)(e.value,n)}),nl=(e,t,n,r,i,a)=>{let o=[];return e.sort((e,t)=>(0,y.sortPeriods)(e,t)).forEach(e=>{o.push({headerName:e.toString(),field:e.toString(),...t(e.toString()),valueGetter:e=>e.data[e.column.getColId()]?.value?.[0]?.value||null,cellClass:Ga,cellRenderer:qa,width:200,cellRendererParams:{dataSetData:n,locale:r,metadataSettings:i,titles:a}})}),o},rl=(e=[],t=[])=>{if(!e.length)return t;if(!t.length)return e;let n=t.some(e=>(0,y.isYearly)(e)),r=t.some(e=>(0,y.isSemiAnnually)(e)),i=t.some(e=>(0,y.isQuarterly)(e)),a=t.some(e=>(0,y.isMonthly)(e)),o=t.some(e=>(0,y.isWeekly)(e)),s=t.some(e=>(0,y.isDaily)(e)),c=e.filter(e=>(0,y.isYearly)(e)?n:(0,y.isSemiAnnually)(e)?r:(0,y.isQuarterly)(e)?i:(0,y.isMonthly)(e)?a:(0,y.isWeekly)(e)?o:(0,y.isDaily)(e)?s:!0);return Array.from(new Set([...c,...t]))};function il(e,t,n){let r=t.map(e=>e.id).filter(e=>e!=null);return al(e,r,n.map(e=>e.id).filter(e=>e!=null),r)}var al=(e,t,n,r)=>{let i={};for(let a of e){let e=ll(a,t),o=ol(e,r),s=i[o];if(s==null){s={},i[o]=s;for(let t of r)s[t]=e[t]}let c=fl(a.attributes);if(pl(s,o,c,a),!a.values.length){cl(s,e,n);continue}for(let t of a.values){let r=fl(t.obsAttributes);pl(s,o,c,a),cl(s,e,n,t.dimensionAtObservation,ul(a,t),r)}}return Object.values(i)},ol=(e,t)=>t.map(t=>e[t]).join(`_`),sl=(e,t,n)=>t.map(t=>t===`TIME_PERIOD`?n:e[t]).join(`_`),cl=(e,t,n,r,i,a)=>{let o=sl(t,n,r);e[o]={value:i,obsAttributes:a}},ll=(e,t)=>{let n={},r=e.name.split(`.`);for(let e=0;e<t.length;e+=1)n[t[e]]=r[e];return n},ul=(e,t)=>{let n=dl(e.attributes);if(n)return[n];let r=dl(t.obsAttributes);return r?[r]:t.values},dl=(e=[])=>e.find(({name:e})=>e===`OBS_VALUE`),fl=(e=[])=>e.filter(({value:e})=>e),pl=(e,t,n,r)=>{e.attributes??=n,e.id=t,e.originalData=r},ml=`#EEEEEE`,hl=`#777777`;function gl(e,t,n){let r={animation:!1,tooltip:{trigger:`axis`,appendToBody:!0,formatter:e=>{let t=e[0].axisValueLabel+`<br/>`;return e.forEach(e=>{e.value!==null&&e.value!==void 0&&(t+=e.marker+` `+e.seriesName+`: `+e.value+`<br/>`)}),t}},legend:{bottom:0},grid:{left:`3%`,right:`3%`,bottom:`40px`,containLabel:!0},xAxis:{..._l(n?.ticksColor,n?.labelsColor),type:`category`,boundaryGap:!1,data:e},yAxis:{..._l(n?.ticksColor,n?.labelsColor),type:`value`},series:t};return n?.colors!=null&&(r.color=n.colors),r}function _l(e=ml,t=hl){return{splitLine:{show:!0,showMaxLine:!1,lineStyle:{color:[e]}},axisTick:{show:!1},axisLabel:{color:t},axisLine:{lineStyle:{color:e}}}}function vl(e,t,n,r){return t.map(t=>{let i=(0,y.getDimensions)(n)?.dimensions||[],a=i?.find(e=>e.id===t);if(a==null)return e[t]||``;let{codeList:o}=Bs(a,n.conceptSchemes||[],n.codelists||[]);return Hs(i,t,o,e,r)}).join(` - `)}function yl(e,t){let n=[...t?.metadata?.indicatorDimensions||[]].filter(e=>e!=null),r=((0,y.getDimensions)(e)?.dimensions)?.filter(e=>e.id!=null&&!n.includes(e.id)&&t?.metadata?.countryDimension!==e.id).map(e=>e.id).filter(e=>e!=null)||[];return[...n,...r]}function bl(e,t,n){let r={};return e.forEach(e=>{let i=xl(e,t,n);r[i]||(r[i]={rows:[]}),r[i].rows.push(e)}),Object.keys(r).map(e=>r[e])}function xl(e,t,n){let r=n.dataStructures?.[0]?.dataStructureComponents?.dimensionList?.dimensions||[];return t.map(t=>r?.find(e=>e.id===t)==null?e[t]||``:Vs(r,t,e)).join(` - `)}function Sl(e,t){let n={};return e.forEach(e=>n[e]=Cl(e,t)),{nonUniqDimensions:e.filter(e=>!n[e])}}function Cl(e,t){let n=t.map(t=>wl(e,t));return new Set(n).size===1}function wl(e,t){return t[e]}var Tl=`line`,El=10,Dl=2;function Ol(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`&&e.trim()!==``?Number.isFinite(Number(e)):!1}function kl(e){let t=(e.groups??[]).flatMap(e=>e.units);return[...e.units,...t].some(e=>e.isPlottable)}function Al(e,t,n,r,i){let a=Bl(t,e,n,r,i,{includeChartData:!1}),o=(0,y.getTimePeriods)(t).sort((e,t)=>(0,y.sortPeriods)(e,t)),{nonUniqDimensions:s}=Sl(yl(e,n),a);return{units:bl(a,s,e).map(t=>Nl(t,e,n,o,r,i))}}function jl(e,t,n,r,i){let a;return()=>(a??=Al(e,t,n,r,i),a)}function Ml(e,t,n,r,i,a){return Nl({rows:[e]},n,r,t,i,a)}function Nl(e,t,n,r,i,a){let o=Rl(e.rows,t,n,i),s=o?.find(e=>y.FREQUENCY_DIMENSION_ID.includes(e?.id))?.id,c=Fl(r,e?.rows?.[0],s),l=Il(e.rows.length>El?e.rows.slice(0,El):e.rows,t,n,i,c);return{rows:e.rows,limitedByRowsAmountTo:e.rows.length>El?El:void 0,dimensions:o,config:gl(c,l,a),isPlottable:Pl(l)}}function Pl(e){return e.some(e=>e.data.filter(Ol).length>=Dl)}function Fl(e,t,n){if(n){let r=t?.[n];if(r===y.Periods.MONTHLY)return e?.filter(e=>(0,y.isMonthly)(e));if(r===y.Periods.QUARTERLY)return e?.filter(e=>(0,y.isQuarterly)(e));if(r===y.Periods.ANNUAL)return e?.filter(e=>(0,y.isYearly)(e))}return e}function Il(e,t,n,r,i){return e.map(e=>({name:n?.metadata?.countryDimension==null?``:vl(e,[n?.metadata?.countryDimension],t,r),type:Tl,data:i.map(t=>Ll(t,e))}))}function Ll(e,t){return t[e]?.value?.[0]?.value||null}function Rl(e,t,n,r){let i=n?.metadata?.countryDimension;return((0,y.getDimensions)(t)?.dimensions||[]).map(n=>{if(!(n.id==null||n.id===i))return{id:n.id,title:zl(n,t,r),value:vl(e[0],[n.id],t,r)}}).filter(e=>e!=null)}function zl(e,t,n){let{concept:r}=Bs(e,t.conceptSchemes||[],t.codelists||[]);return(0,y.getLocalizedName)(r,n)||e.id}function Bl(e,t,n,r,i,a={}){let o=il(e==null?[]:(0,y.getParsedResponse)(e),(0,y.getDimensions)(t)?.dimensions||[],(0,y.getDimensions)(t)?.timeDimensions||[]);return a.includeChartData===!1?o:Vl(o,e,t,n,r,i)}function Vl(e,t,n,r,i,a){let o=(0,y.getTimePeriods)(t).sort((e,t)=>(0,y.sortPeriods)(e,t));return e.map(e=>({...e,[Qa]:()=>Ml(e,o,n,r,i,a)}))}function Hl(e,t,n,r,i,a,o,s,c,l,u){return{columns:Qc(e,t,r,i,a,s,c,l,u),data:Bl(t,e,n,r,o)}}function Ul(e,t,n,r,i,a,o,s,c,l,u){let d=e.dataflows?.[0]?.names?.[r],f=Hl(e,t,n,r,i,a,o,s,c,l,u);return{title:d||s?.dataGrid||`Data Grid`,grid_data:f}}function Wl(e){let t=e.replace(/\r\n/g,`
|
|
8
|
+
`);if(!t.startsWith("```"))return{code:e};let n=t.split(`
|
|
9
|
+
`),r=n[0].slice(3).trim()||void 0,i=-1;for(let e=n.length-1;e>0;e--)if(n[e].trim()==="```"){i=e;break}return i===-1?{code:n.slice(1).join(`
|
|
10
|
+
`),language:r}:{code:n.slice(1,i).join(`
|
|
11
|
+
`),language:r}}var Gl=[`python`];function Kl(e,t,n){return e.filter(e=>e.type===m.AttachmentType.MARKDOWN).filter(e=>!t||e.title?.includes(t)).map(e=>{let t=Wl(e.data??``);return{title:n??`Code samples`,type:m.AttachmentType.CUSTOM_CODE_SAMPLE,language:t.language,data:t.code}}).filter(e=>Gl.includes(e.language??``))}function ql(e,t){return e?.find(e=>e.type===m.AttachmentType.MARKDOWN&&e.data?.includes("```python")&&e.title?.includes(t.urn))?.title??t.urn}function Jl(e){let{getPythonAttachment:t,dataQueries:n,requestIdRef:r,codeTitle:i,markdownTitle:a,datasetUrn:o,setCodeAttachments:s,onCodeAttachmentUpdated:c}=e,l=++r.current;t(n).then(e=>{l===r.current&&e?.python_code&&(s([{type:m.AttachmentType.CUSTOM_CODE_SAMPLE,data:e.python_code,language:`python`,title:i}]),c?.({type:m.AttachmentType.MARKDOWN,title:a,data:`\`\`\`python\n${e.python_code}\n\`\`\``},o))}).catch(e=>console.error(`Error refreshing python attachment:`,e))}var Yl=e=>({title:e||`Data Grid`,type:m.AttachmentType.CUSTOM_DATA_GRID}),Xl=e=>({title:e||`Chart`,type:m.AttachmentType.CUSTOM_CHART}),Zl=e=>({title:e||`Data`,type:m.AttachmentType.CROSS_DATASET_GRID});function Ql(e,t,n,r,i,a,o,s,l,u=!1,d,f=!1){let[p,m]=(0,c.useState)(),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(),[b,x]=(0,c.useState)(),[S,C]=(0,c.useState)(Yl(o?.dataGrid)),[w,T]=(0,c.useState)(Xl(o?.chart)),[E,D]=(0,c.useState)(!1),[O,k]=(0,c.useState)([]),[A,j]=(0,c.useState)([]),[M,N]=(0,c.useState)([]),[P,F]=(0,c.useState)(!1),[I,L]=(0,c.useState)(!1),R=(0,c.useRef)(0),[z,B]=(0,c.useState)({startPeriod:null,endPeriod:null}),{getConstraints:V,getDataSet:H,getDataSetData:U,putOnboardingFile:W,getPythonAttachment:G}=e,K=(0,c.useCallback)(e=>{if(!e)return;let t=(0,y.getDimensions)(e);g(e.dataflows?.[0]||void 0),x(e||void 0),j([...t?.dimensions||[],...t?.timeDimensions||[]])},[]),q=(0,c.useCallback)(async e=>{let t=Kt((0,y.getFiltersDtoFromDataQuery)(e));try{v((await Zt(V,Xt(e.urn,t),()=>V(e.urn,t)))?.data?.dataConstraints||[])}catch{v([])}},[V]),J=(0,c.useCallback)(async e=>{let t=l?{data:l}:await Zt(H,Xt(e.urn),()=>H(e.urn));if(t?.data){let n=(0,y.getDimensions)(t.data);K(t.data);let r=n?.dimensions==null?null:(0,y.getTimeSeriesFilterKey)(n?.dimensions,e.filters??[]),i=tn(e,n);Zt(U,Xt(e.urn,{filterKey:r,timeFilter:i}),()=>U(e.urn,{filterKey:r,timeFilter:i})).then(e=>{L(!0),m(e||void 0),N((0,y.getStructureDimensions)(e))}).finally(()=>F(!1))}},[K,H,U,l]);(0,c.useEffect)(()=>{K(l)},[K,l]),(0,c.useEffect)(()=>{async function e(e){F(!0);try{await Promise.all([...f?[]:[q(e)],J(e)])}catch(e){console.error(`Error loading dataset details`,e)}}n!=null&&!(u&&!l)?e(n):n!=null&&u&&F(!0)},[n,l,u,q,J,f]);let Y=(0,c.useCallback)((e,t,r)=>{try{F(!0),v(t);let i=r?.find(e=>e.id===y.TIME_PERIOD)?.timeRange;i&&B(i),Zt(U,Xt(n?.urn||``,e),()=>U(n?.urn||``,e)).then(e=>{L(!0),m(e||void 0),N((0,y.getStructureDimensions)(e))}).finally(()=>F(!1)),G&&n&&r&&Jl({getPythonAttachment:G,dataQueries:[ln(n,r,!1)],requestIdRef:R,codeTitle:o?.codeSamples||`Python Code`,markdownTitle:ql(s,n),setCodeAttachments:k,onCodeAttachmentUpdated:d,datasetUrn:n.urn})}catch(e){console.error(`Error loading dataset data`,e)}},[n,U,G,o,s,d]);(0,c.useEffect)(()=>{if(b!=null&&p!=null&&_?.length){L(!0);let e=hs(()=>{C(e=>({...e,...Ul(b,p,n,t,r,a,i,o,W,_,z)})),L(!1)});return()=>{e(),L(!1)}}(p==null||_!==void 0)&&L(!1)},[b,p,o,t,r,n,a,i,_,z,W]),(0,c.useEffect)(()=>{if(b==null||p==null)return;let e=jl(b,p,n,t,i);return T(t=>({...t,charting_data:void 0,getChartingData:e})),D(!1),hs(()=>{try{D(kl(e()))}catch(e){console.error(`Error evaluating chart plottability`,e),D(!1)}})},[b,p,n,t,i]),(0,c.useEffect)(()=>{if(s?.length){let e=Kl(s,n?.urn,o?.codeSamples);e.length>0&&k(e)}},[s,o,n]);let ee=(0,c.useMemo)(()=>[S,...E?[w]:[],...O],[S,w,O,E]);return{dataMessage:p,structures:b,dataset:h,dimensions:A,structureDimensions:M,onFiltersChange:Y,constraints:_,isLoadingGridData:P||I,dataSetAttachments:ee}}function $l(e,t,n,r){let i=-1;if(n)i=e.findIndex(e=>e.id===n);else for(let t=e.length-1;t>=0;t--)if(e[t].role===u.Role.System){i=t;break}if(i===-1||e[i].role!==u.Role.System)return null;let a=e[i].custom_content?.attachments??[],o=e=>e.type===`text/markdown`&&e.data?.includes("```python"),s=[...a.filter(e=>o(e)?r?!e.title?.includes(r):!1:!0),t];return e.map((e,t)=>t===i?{...e,custom_content:{...e.custom_content,attachments:s}}:e)}var eu=async(e,t)=>{let n=new Map,r=(0,y.getFiltersDtoMapFromDataQuery)(e);return(await Promise.allSettled(e.map(async e=>{let n=Kt(r?.get(e.urn)||[]);return{urn:e.urn,response:await Zt(t,Xt(e.urn,n),()=>t(e.urn,n))}}))).forEach(e=>{if(e.status===`fulfilled`){let t=e.value.response?.data?.dataConstraints;Array.isArray(t)&&n.set(e.value.urn,t)}}),n},tu=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),nu=async(e,t,n,r,i)=>{let a=tu();await Promise.allSettled(e.map(async e=>{let n=await Zt(t,Xt(e.urn),()=>t(e.urn));if(n?.data){let t=(0,y.getDimensions)(n.data);a.datasetsMap?.set(e?.urn,n?.data?.dataflows?.[0]),a.structuresMap?.set(e?.urn,n?.data),a.dimensionsMap?.set(e?.urn,[...t?.dimensions||[],...t?.timeDimensions||[]])}}));let o=await i?.(a);return await Promise.allSettled(e.map(async e=>{let t=a.structuresMap?.get(e.urn);if(!t||o&&!o.has(e.urn))return;let i=(0,y.getDimensions)(t),s=i?.dimensions==null?null:(0,y.getTimeSeriesFilterKey)(i?.dimensions,e.filters??[]),c=tn(e,i);await ru(e,o?.get(e.urn)??{filterKey:s,timeFilter:c},n).then(({dataMessage:t,structureDimensions:n})=>{a?.dataMessagesMap?.set(e.urn,t),a?.structureDimensionsMap?.set(e.urn,n||[])}).catch(()=>{a?.structureDimensionsMap?.set(e.urn,[])}).finally(()=>r(!1))})),a},ru=async(e,t,n)=>{let r=await Zt(n,Xt(e.urn,t),()=>n(e.urn,t));return{dataMessage:r,structureDimensions:(0,y.getStructureDimensions)(r)}};function iu(e,t,n,r){return[ou(e,r),au(e,t,n,r)]}function au(e,t,n,r){return{headerName:r?.dataset||`Dataset`,field:Ts,colId:Ts,valueGetter:t=>{let r=t.data?.dataset?.urn;if(r==null)return``;let i=e.get(r)?.dataflows?.[0];return(0,y.getLocalizedName)(i,n)||``},...Ka,tooltipValueGetter:e=>e.value,cellClass:Ga,cellRenderer:Za,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:r}}}function ou(e,t){return{headerName:t?.agency||`Agency`,field:Es,colId:Es,valueGetter:t=>{let n=t.data?.dataset?.urn;return n==null?``:e.get(n)?.dataflows?.[0]?.agencyID||``},...Ka,tooltipValueGetter:e=>e.value}}function su(e,t,n,r,i){return cu(e).sort((e,t)=>(0,y.sortPeriods)(e,t)).map(e=>({...lu(e,r,i),valueGetter:e=>e.data[e.column.getColId()]?.value?.[0]?.value||null,cellClass:Ga,cellRenderer:qa,width:200,cellRendererParams:{structuresMap:t,locale:n,titles:i}}))}function cu(e){let t=new Set;return e.forEach(e=>{e!=null&&(0,y.getTimePeriods)(e).forEach(e=>t.add(e))}),Array.from(t)}function lu(e,t=h.defaultFormatNumbers,n){return{headerName:at(e,n),colId:e,field:e,type:`numericColumn`,suppressColumnsToolPanel:!0,sortable:!1,width:200,cellClass:[`justify-end`,`cell-with-meta`],valueFormatter:e=>(0,h.formatNumberBySign)(e.value,t)}}function uu(e,t,n,r,i,a,o=Fs.Compact){let s=new Map([...n.entries()].map(([e,t])=>[e,t?.data])),c=iu(e,s,r,i),l=Us(e,t,r,i,o),u=su(n,e,r,a,i);return[to(e,s,r,i),...c,...l,...u,eo(void 0,void 0,r,void 0,i)]}function du(e,t,n,r,i){let a=[];return n.filter(e=>!e.disabled).forEach(n=>{let o=n.urn,s=t.get(o),c=e.get(o);if(s==null||c==null)return;let l=Bl(s,c,n,r,i),u=(0,y.getLocalizedName)(c.dataflows?.[0],r);a.push(...l.map(e=>({...e,dataset:{urn:o},datasetTitle:u})))}),a}function fu(e,t,n,r,i,a,o,s,c,l,u,d=Fs.Compact){let f=pu(e,t,n,r,i,a,o,s,c,l,u,d);return{title:c?.dataGrid||`Data`,gridContent:f}}function pu(e,t,n,r,i,a,o,s,c,l,u,d=Fs.Compact){return{columns:uu(e,n,t,i,c,a,d),data:du(e,t,r,i,s)}}function mu(e,t,n,r,i){let a;return()=>(a??=hu(e,t,n,r,i),a)}function hu(e,t,n,r,i){let a=n.filter(e=>!e.disabled).flatMap(n=>{let a=e.get(n.urn),o=t.get(n.urn);return!a||!o?[]:[{title:(0,y.getLocalizedName)(a.dataflows?.[0],r),units:Al(a,o,n,r,i).units}]});return{units:a.flatMap(e=>e.units),groups:a}}var gu=5e3;function _u(e,t,n,r,i,a,o,s,l,u=Fs.Compact,d){let f=Array.isArray(s)?s:void 0,[p,m]=(0,c.useState)(),[h,g]=(0,c.useState)(),[_,v]=(0,c.useState)(!1),[y,b]=(0,c.useState)(f?new Set(f):null),[x,S]=(0,c.useState)(!1),C=(0,c.useRef)(0),w=(0,c.useRef)(u),T=(0,c.useRef)(p),E=(0,c.useRef)(0),D=(0,c.useRef)(null),[O,k]=(0,c.useState)(Zl(d?.dataGrid)),[A,j]=(0,c.useState)(Xl(d?.chart)),[M,N]=(0,c.useState)(!1),[P,F]=(0,c.useState)([]),{getConstraints:I,getDataSet:L,getDataSetData:R,getPythonAttachment:z}=e,B=(0,c.useRef)(n);B.current=n;let V=(0,c.useRef)(f);V.current=f;let H=(0,c.useMemo)(()=>n?.map(e=>e.urn).join(`,`)??``,[n]),U=rs(),{getDimensionsScheme:W}=U,G=(0,c.useCallback)(async e=>{try{let t=await eu(e.map(e=>({...e,filters:[]})),I),n=rr(e,t,U.map),r=n===e?t:await eu(n,I);return m(e=>({...e,constraintsMap:r})),r}catch{let e=new Map;return m(t=>({...t,constraintsMap:e})),e}},[U.map,I]),K=(0,c.useCallback)(async(e,n)=>{let r=await nu(e,L,R,v,async r=>{let i=vr(e.filter(e=>!e.disabled),r,n,t,U.map);if(i)return b(i.compatibleUrns),i.filterParamsMap});m(e=>({...e,...r,constraintsMap:n??e?.constraintsMap}))},[U.map,L,R,t]),q=(0,c.useCallback)(e=>{let t=new Map;for(let n of e)t.set(n.urn,W(n.urn));g(t)},[W]);(0,c.useEffect)(()=>{async function e(e){let t=V.current;b(t?new Set(t):null),v(!0);try{q(e),await K(e,await G(e))}catch(e){console.error(`Error loading dataset details`,e)}finally{v(!1)}}let t=B.current;t?.length&&e(t)},[H,G,q,K]),(0,c.useEffect)(()=>{if(o?.length){let e=Kl(o,void 0,d?.codeSamples);e.length>0&&F(e)}},[o,d]),(0,c.useEffect)(()=>()=>{D.current!==null&&clearTimeout(D.current)},[]),(0,c.useEffect)(()=>{let e=w.current!==u&&T.current===p;w.current=u,T.current=p;let{structuresMap:o,dataMessagesMap:s,constraintsMap:c}=p??{};if(o!=null&&o.size>0&&s!=null&&c!=null&&h!=null&&!_){e||S(!0);let l=hs(()=>{let l=n?.filter(e=>!e.disabled),f=y??new Set((l??[]).map(e=>e.urn)),p=$n(l,f),m=er(o,f),g=er(s,f),_=er(h,f);k(e=>({...e,...fu(m,g,_,p,t,i,a,r,d,c,{startPeriod:null,endPeriod:null},u)})),e||S(!1)});return()=>{l(),e||S(!1)}}e||S(!1)},[p,n,t,i,a,r,d,h,_,y,u]),(0,c.useEffect)(()=>{let{structuresMap:e,dataMessagesMap:i}=p??{};if(e!=null&&e.size>0&&i!=null&&!_){let a=n?.filter(e=>!e.disabled),o=y??new Set((a??[]).map(e=>e.urn)),s=$n(a,o),c=mu(er(e,o),er(i,o),s,t,r);return j(e=>({...e,charting_data:void 0,getChartingData:c})),N(!1),hs(()=>{try{N(kl(c()))}catch(e){console.error(`Error evaluating cross-dataset chart plottability`,e),N(!1)}})}},[p,n,t,r,_,y]);let J=(0,c.useMemo)(()=>[O,...M?[A]:[],...P],[O,A,P,M]),Y=(0,c.useCallback)((e,n,r,i,a)=>{try{v(!0);let o=++E.current;D.current!==null&&(clearTimeout(D.current),D.current=null);let s=r?.filter(e=>!e.disabled)??[];if(b(new Set(s.map(e=>e.urn))),m(e=>({...e,constraintsMap:n})),!s.length){v(!1);return}let c=i?yr(s,i):void 0,u=c?s.map(e=>({...e,filters:c.get(e.urn)??[]})):s,f=(n&&p?vr(u,p,n,t,U.map):void 0)?.filterParamsMap??e,h=new Map,g=()=>{if(h.size===0)return;S(!0);let e=[...h.values()];h.clear(),m(t=>{let n=new Map(t?.dataMessagesMap),r=new Map(t?.structureDimensionsMap);return e.forEach(({urn:e,dataMessage:t,structureDimensions:i})=>{n.set(e,t),r.set(e,i||[])}),{...t,dataMessagesMap:n,structureDimensionsMap:r}})};D.current=setTimeout(()=>{D.current=null,o===E.current&&h.size>0&&(g(),v(!1))},gu);let _=s.map(e=>ru(e,f?.get(e?.urn),R).then(({dataMessage:t,structureDimensions:n})=>{h.set(e.urn,{urn:e.urn,dataMessage:t,structureDimensions:n})}));Promise.allSettled(_).finally(()=>{o===E.current&&(D.current!==null&&(clearTimeout(D.current),D.current=null),g(),v(!1))}),z&&s.length&&Jl({getPythonAttachment:z,dataQueries:s.map(e=>ln(e,a??i?.get(e.urn)??[])),requestIdRef:C,codeTitle:d?.codeSamples||`Python Code`,markdownTitle:`Python Code`,setCodeAttachments:F,onCodeAttachmentUpdated:l})}catch(e){console.error(`Error loading dataset data`,e)}},[U.map,R,z,t,l,p,d]);return{structureDataMaps:p,datasetDimensionsSchemesMap:h,isLoadingGridData:_||x,crossDatasetAttachments:J,activeDatasetUrns:y,onMultipleDataFiltersChange:Y}}var vu=(0,c.createContext)(void 0),yu={setCrossDatasetAttachmentsState:()=>void 0},bu=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})}},xu=({children:e})=>{let[t,n]=(0,c.useState)({}),r=(0,c.useCallback)(e=>{let t=bu(e);n(n=>n.signature===t?n:{...e,isLoading:!!e?.isLoading,signature:t})},[]),i=(0,c.useMemo)(()=>({...t,setCrossDatasetAttachmentsState:r}),[r,t]);return(0,l.jsx)(vu.Provider,{value:i,children:e})},Su=()=>{let e=(0,c.useContext)(vu);return e===void 0?yu:e},Cu=({attachmentsProps:e,actions:t,titles:n,shareConversationProps:r,metadataSettings:i,formattingSettings:a,locale:o,advanceViewStyles:s,getDatasetUpdatedTime:u,attachmentsConfig:f,datasetInfoOptions:m,limitMessages:h,...g})=>{let _=(0,c.useMemo)(()=>e.currentDataQuery?.urn??e.dataQueries?.[0]?.urn??`default`,[e.currentDataQuery?.urn,e.dataQueries]),v=(0,c.useMemo)(()=>e?.dataQueries?.filter(e=>!e.disabled),[e?.dataQueries]),[y,b]=(0,c.useState)(Fs.Compact),{isOpenedAdvancedView:x}=I(),{activeDatasetUrns:S,dataQueriesKey:C,setCrossDatasetAttachmentsState:w}=Su(),{isCrossDatasetModeOn:T,isMetadataInSidePanel:E}=Pt(),D=rs(),O=!E,k=e.datasets??[],A=k.length>1&&!T,j=(0,c.useMemo)(()=>{let e=g.filtersProps.conversation?.messages??[],t=Bi(e);return t>=0?e[t].custom_content?.attachments:void 0},[g.filtersProps.conversation?.messages]),M=(0,c.useMemo)(()=>ir(e.dataQueries),[e.dataQueries]),N=C===M?S:tr(e.dataQueries,D.map),P=T&&!!e.dataQueries?.length,F=(0,c.useRef)(g.filtersProps.conversation);F.current=g.filtersProps.conversation;let L=(0,c.useCallback)((e,t)=>{let n=F.current;if(!n)return;let r=$l(n.messages,e,void 0,t);if(!r)return;let i={...n,messages:r};g.filtersProps.setConversation?.(i),g.filtersProps.updateConversation(decodeURI(g.filtersProps.conversationKey),{name:i.name,messages:i.messages})},[]),{dataMessage:R,dataset:z,dimensions:B,structureDimensions:V,structures:H,dataSetAttachments:U,onFiltersChange:W,isLoadingGridData:G,constraints:K}=Ql(t,o,e.currentDataQuery,a,e.styles?.chartingStyles,i,n,j,void 0,!1,L,P),q=O&&!!z,{structureDataMaps:J,crossDatasetAttachments:Y,activeDatasetUrns:ee,isLoadingGridData:te,onMultipleDataFiltersChange:ne}=_u(t,o,e.dataQueries,e.styles?.chartingStyles,a,i,j,N,L,y,n);(0,c.useEffect)(()=>{if(!T||!e.dataQueries?.length){w();return}J&&w({attachments:Y,dataQueriesKey:M,activeDatasetUrns:ee?Array.from(ee):void 0,isLoading:te})},[ee,e.dataQueries?.length,Y,M,T,te,w,J]);let[re,ie]=(0,c.useState)({filterKey:null,timeFilter:null}),[ae,oe]=(0,c.useState)(),X=T?te:G,ce=T?Y:U,le=(0,c.useCallback)((e,t,n)=>{ie(e),oe(!0),W(e,t,n)},[W]),ue=(0,c.useCallback)((e,t,n,r,i)=>{oe(!0),ne(e,t,n,r,i)},[ne]),de=(0,c.useCallback)(n=>{n&&t?.updateCurrentDataQuery(e?.dataQueries?.find(e=>e?.urn===n)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),fe=Ca(f?.isExternaLinkIncludeFilters,re,e.currentDataQuery||e.dataQueries?.[0],B);return(0,l.jsx)(se,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:a,limitMessages:h,attachmentsConfig:f},children:(0,l.jsx)(Ls,{currentUrn:_,structuresMap:J?.structuresMap,locale:o,dataQueries:v,gridViewMode:y,onGridViewModeChange:b,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:(0,l.jsx)(Ti,{children:(0,l.jsxs)(`div`,{className:`advanced-view flex h-full min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(Zc,{locale:o,shareConversationProps:r,isShowShare:s?.isShowShare,conversation:g.filtersProps.conversation}),k.length?(0,l.jsxs)(l.Fragment,{children:[A&&(0,l.jsx)(_a,{datasets:k,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:o,selectDataset:de}),X&&!ae?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[q&&(0,l.jsx)(Xc,{...m,locale:o,dataset:z,data:R?.data,structures:H,metadataSettings:i,getDatasetUpdatedTime:u,externalLink:fe}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex flex-1 min-h-0 overflow-auto`,q&&`border-t border-neutrals-500`),children:[(0,l.jsx)(`div`,{className:(0,p.default)(`flex-1 min-h-0 overflow-auto`,`advanced-view-filters`),children:(0,l.jsx)(Yc,{...g,actions:t,attachments:ce,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:B,isDataLoading:X,locale:o,filtersProps:{...g?.filtersProps,structureDimensions:V,structures:H,structureDataMaps:J,onFiltersChange:W,onMultipleDataFiltersChange:ue,initialConstraints:K},setIsFiltering:oe,filters:re,onFiltersChange:le})}),x&&(0,l.jsx)(Qo,{scope:`advanced`})]})]})]}):(0,l.jsx)(d.Loader,{})]})})})})};function wu(e,t,n,r,i,a){let[o,s]=(0,c.useState)([]),[l,u]=(0,c.useState)(),[d,f]=(0,c.useState)(!1),p=(0,c.useRef)(void 0);return(0,c.useEffect)(()=>{p.current=a},[a]),(0,c.useEffect)(()=>{let a=!0;async function o(i){f(!0);try{let o=await Promise.all(i.map(t=>Zt(e,Xt(t.urn),()=>e(t.urn))));if(!a)return;let c=o?.map(e=>e?.data?.dataflows?.[0])?.filter(e=>!!e)||[];s(c),t(c),n(i),r(i.find(e=>e.urn===p.current?.urn)??i[0]),u(new Map(o?.map(e=>[(0,y.generateShortUrn)(e?.data?.dataflows?.[0]?.id,e?.data?.dataflows?.[0]?.version,e?.data?.dataflows?.[0]?.agencyID),e?.data])))}catch(e){console.error(`Error loading datasets`,e)}finally{a&&f(!1)}}if(!i?.length){f(!1);return}return o(i),()=>{a=!1}},[i,e,r,n,t]),{datasets:o,datasetStructuresMap:l,isLoading:d}}function Tu(e){let t=e?.filter(e=>ki(e));if(t?.every(e=>!!e?.data))return t?.map(e=>({title:e?.title,...Du(Eu(e?.data))}))}function Eu(e){if(e)try{return JSON.parse(e)}catch(e){console.error(`Invalid JSON:`,e)}return null}function Du(e){return{...e,filters:e?.filters?.map(e=>({...e,componentCode:e?.component_code||e?.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 Ou=function(e){return e.COMPLETED=`completed`,e}({}),ku=({stage:e,stageRef:t,isCurrentStage:n})=>(0,l.jsxs)(`div`,{ref:t,className:`message-stage relative flex pb-8 last:mb-8 last:pb-0`,children:[(0,l.jsx)(`span`,{className:`message-stage-line absolute h-full border-l`}),(0,l.jsx)(f.IconPointFilled,{className:`message-stage-indicator z-10 flex shrink-0`}),(0,l.jsxs)(`div`,{className:`ml-2 w-full`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-2 items-center`,e?.content&&`mb-4`),children:[n&&(0,l.jsx)(d.Loader,{}),(0,l.jsx)(`h3`,{className:`message-stage-name`,children:e?.name})]}),(0,l.jsx)(`div`,{className:`prose max-w-full break-words`,children:(0,l.jsx)(_.default,{remarkPlugins:[v.default],components:{strong:e=>(0,l.jsx)(`strong`,{className:`text-neutrals-1000`,...e}),a:({href:e,children:t,...n})=>(0,l.jsx)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,...n,children:t}),h1:({children:e,...t})=>(0,l.jsx)(`h1`,{className:`h1 text-neutrals-1000`,...t,children:e}),h2:({children:e,...t})=>(0,l.jsx)(`h2`,{className:`h2 text-neutrals-1000`,...t,children:e}),h3:({children:e,...t})=>(0,l.jsx)(`h3`,{className:`h3 text-neutrals-1000`,...t,children:e}),h4:({children:e,...t})=>(0,l.jsx)(`h4`,{className:`h4 text-neutrals-1000`,...t,children:e}),h5:({children:e,...t})=>(0,l.jsx)(`h5`,{className:`h5 text-neutrals-1000`,...t,children:e}),code:e=>(0,l.jsx)(`code`,{className:`text-neutrals-900`,...e}),pre:e=>(0,l.jsx)(`pre`,{className:`border border-neutrals-600 bg-neutrals-100`,...e})},children:e?.content})})]})]}),Au=({stages:e,expandIcon:t,processingTitle:n})=>{let[r,i]=(0,c.useState)(),[a,o]=(0,c.useState)(),s=(0,c.useRef)(null),u=(0,c.useRef)(null);return(0,c.useEffect)(()=>{o(e?.filter(e=>e?.status!==Ou.COMPLETED)?.at(-1))},[e]),(0,c.useEffect)(()=>{r&&u?.current?.scrollIntoView({block:`nearest`,behavior:`smooth`})},[r]),(0,c.useEffect)(()=>{let e=s.current,t;if(!e)return;let n=new IntersectionObserver(([e])=>{let n=e?.boundingClientRect?.top;t&&!e?.isIntersecting&&n<t&&i(!1),t=n},{threshold:0});return n.observe(e),()=>n.disconnect()},[]),(0,l.jsxs)(`div`,{className:`message-stages`,ref:s,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(`message-stages-header inline-flex max-w-full items-center cursor-pointer`,!a?.name&&`default-header`),onClick:()=>{i(e=>!e)},children:[(0,l.jsx)(`p`,{className:`message-stages-title truncate`,children:a?.name||n||`Processing...`}),(0,l.jsx)(`i`,{className:(0,p.default)(`message-stages-expand-icon`,r&&`rotated`),children:t})]}),r&&e&&(0,l.jsx)(`div`,{className:`flex flex-col`,children:e?.map(e=>(0,l.jsx)(ku,{stage:e,stageRef:a?u:null,isCurrentStage:e?.index===a?.index},e.index))})]})},ju=2e3,Mu=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:r,isStreaming:i=!1,isReadOnly:a=!1,isRegenerateAvailable:o=!1})=>{let{messageActionsTitles:s}=X(),f=n?.copy,m=n?.copied,h=n?.regenerate,g=n?.thumbUp,_=n?.thumbDown,v=n?.thumbPressed,[y,b]=(0,c.useState)(e.like??u.LikeState.NoState),[x,S]=(0,c.useState)(!1),C=(0,c.useRef)(null),{isAgentAvailable:w}=(0,d.useAgentAvailability)();(0,c.useEffect)(()=>()=>{C.current&&clearTimeout(C.current)},[]);let T=t=>{e.responseId&&(b(t),r(e.responseId||``,t))};return(0,l.jsxs)(`div`,{className:(0,p.default)(`message-actions`,`flex gap-x-2 pt-2`),children:[f&&(0,l.jsx)(`p`,{onClick:()=>{navigator.clipboard.writeText(e.content),S(!0),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{S(!1)},ju)},title:s?.copy,children:x&&m?m:f}),o&&h&&!a&&!i&&(0,l.jsx)(`p`,{onClick:w?()=>t?.(e):void 0,"aria-disabled":!w,title:s?.regenerate,className:(0,p.default)(!w&&`opacity-50 !cursor-not-allowed pointer-events-none`),children:h}),g&&!a&&y!==u.LikeState.Disliked&&(y===u.LikeState.NoState?(0,l.jsx)(`p`,{onClick:()=>T(u.LikeState.Liked),title:s?.like,children:g}):(0,l.jsx)(`p`,{title:s?.like,children:v})),_&&!a&&y!==u.LikeState.Liked&&(y===u.LikeState.NoState?(0,l.jsx)(`p`,{onClick:()=>T(u.LikeState.Disliked),title:s?.dislike,children:_}):(0,l.jsx)(`p`,{className:`rotate-180`,title:s?.dislike,children:v}))]})},Nu=({message:e,onEditClick:t,messageActionsIcons:n,isStreaming:r=!1,isReadOnly:i=!1})=>{let a=n?.copy,o=n?.edit,{isAgentAvailable:s}=(0,d.useAgentAvailability)();return(0,l.jsxs)(`div`,{className:(0,p.default)(`message-actions`,`flex gap-x-2 pt-2 ml-12`),children:[a&&(0,l.jsx)(`p`,{onClick:()=>navigator.clipboard.writeText(e.content),children:a}),o&&!r&&!i&&(0,l.jsx)(`p`,{onClick:s?t:void 0,className:(0,p.default)(!s&&`opacity-50 !cursor-not-allowed pointer-events-none`),"aria-disabled":!s,children:o})]})},Pu=({content:e,textColorClass:t,onCancel:n,onEditApply:r,editMessageTitles:i})=>{let{isOpenedAdvancedView:a}=I(),o=(0,c.useRef)(null);(0,c.useEffect)(()=>{let e=o.current;s(),e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length))},[]);let s=()=>{let e=o.current;e&&(e.style.height=`auto`,e.style.height=e.scrollHeight+`px`)};return(0,l.jsxs)(`div`,{className:(0,p.default)(`max-w-none break-words`,a?`body-2`:`body-1`,t),children:[(0,l.jsx)(`textarea`,{ref:o,className:`w-full resize-none overflow-hidden bg-neutrals-300 outline-none`,defaultValue:e,onInput:s}),(0,l.jsxs)(`div`,{className:(0,p.default)(`flex gap-x-2 items-center`,`edit-buttons-wrapper`),children:[(0,l.jsx)(d.Button,{buttonClassName:`text-button-secondary small-icon-button`,title:i?.cancel,isSmallButton:!0,onClick:n}),(0,l.jsx)(d.Button,{buttonClassName:`text-button-primary small-icon-button`,title:i?.send,isSmallButton:!0,onClick:()=>r(o.current?.value||``)})]})]})},Fu=({message:e,previousMessage:t,actions:n,dataQuery:r,isStreaming:i=!1,isCurrentMessageStreaming:a=!1,showAdvancedView:o,locale:s,metadataSettings:f,onAdvancedViewOpen:m,regenerateMessage:h,selectMessageToSend:g,rateResponse:_,editMessage:v,isReadOnlyConversation:y,isLastNotUserMessage:b,onCodeAttachmentUpdated:x})=>{let{messageStyles:S,attachmentsStyles:C,formattingSettings:w,messageActionsIcons:T,editMessageTitles:E,expandStagesIcon:D,titles:O}=X(),[k,A]=(0,c.useState)(),[j,M]=(0,c.useState)(),[N,P]=(0,c.useState)([]),[F,L]=(0,c.useState)([]),[R,z]=(0,c.useState)(),[B,V]=(0,c.useState)(!1),{isCrossDatasetModeOn:H}=Pt(),U=rs(),W=e.role===u.Role.User,G=e.role===u.Role.System,{datasets:K,datasetStructuresMap:q,isLoading:J}=wu(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,k,r),[Y,ee]=(0,c.useState)(!1),[te,ne]=(0,c.useState)([]);(0,c.useEffect)(()=>{M(k?.[0])},[k]);let re=H&&!!k?.length,ie=(0,c.useCallback)(t=>{e.id&&x?.(e.id,t)},[e.id,x]),{dataSetAttachments:ae,dimensions:oe,isLoadingGridData:se}=Ql(n,s,j,w,C?.chartingStyles,f,O,e.custom_content?.attachments,j?q?.get(j.urn):void 0,J,ie,re),ce=(0,c.useMemo)(()=>tr(k,U.map),[k,U.map]),{crossDatasetAttachments:le,isLoadingGridData:ue}=_u(n,s,k,C?.chartingStyles,w,f,e.custom_content?.attachments,ce,ie,void 0,O),{isOpenedAdvancedView:de}=I(),{attachments:fe,dataQueriesKey:pe,isLoading:me}=Su(),he=(0,c.useMemo)(()=>ir(k),[k]),ge=H&&!!o&&fe!=null&&pe===he,_e=ge?fe:le,ve=(0,c.useMemo)(()=>H?ge?me:ue:se,[H,ue,se,me,ge]),ye=()=>{W&&ee(!0)},be=()=>{ee(!1)},xe=t=>{be(),v?.({...e,content:t})},Se=(0,c.useCallback)(e=>{e&&(M(k?.find(t=>t?.urn===e)),z(void 0))},[k]);(0,c.useEffect)(()=>{let t=e.custom_content?.form_schema?.properties;ne((b?t?.choice?.oneOf||t?.completion?.oneOf:[])||[])},[e,b]),(0,c.useEffect)(()=>{let t=Di(e),n=Tu(t),r=t.filter(e=>Mi(e));A(n),L(r)},[e]),(0,c.useEffect)(()=>{V(k!=null&&k.length>0)},[k]),(0,c.useEffect)(()=>{r?.urn&&k?.some(e=>e?.urn===r.urn)&&z(r.urn)},[r,k]),(0,c.useEffect)(()=>{if(e?.role===u.Role.System&&t){let e=Tu(Di(t))||[];k&&e&&q&&P(ya(e,k,q,s,U.map))}},[k,j,q,U.map,oe,s,e?.role,t]);let Ce=(0,c.useCallback)(()=>!W&&S?.systemMessageIcon&&!(de&&!a)?(0,l.jsx)(`div`,{className:(0,p.default)(`flex-shrink-0 rounded-full flex items-center justify-center w-[44px] h-[44px]`,a?`text-white absolute`:`text-neutrals-400`),children:S.systemMessageIcon}):null,[W,S?.systemMessageIcon,de,a]),we=(0,c.useMemo)(()=>(0,l.jsx)(xc,{actions:n,attachments:B?H?_e:ae:F,onAdvancedViewOpen:m,isDataSetAttachments:B,datasets:K,initialSelectedDatasetUrn:R,showAdvancedView:o,isSystemAttachments:G,isDataLoading:ve,currentDataQuery:j,dataQueries:k,attachmentInfoList:N,locale:s,dimensions:oe,selectDataset:Se}),[n,B,ae,F,_e,K,R,o,G,ve,j,k,N,s,oe,Se,m,H]);if(G&&de)return null;let Te=a?null:W?Y?null:(0,l.jsx)(Nu,{messageActionsIcons:T,message:e,isStreaming:i,onEditClick:ye,isReadOnly:y}):G?null:(0,l.jsx)(Mu,{messageActionsIcons:T,message:e,isStreaming:i,regenerateMessage:h,rateResponse:_,isReadOnly:y,isRegenerateAvailable:b});return(0,l.jsx)(`div`,{className:(0,p.default)(`max-w-full flex`,W?`justify-end`:`justify-start`,`message-wrapper`),children:(0,l.jsxs)(`div`,{className:(0,p.default)(`flex items-start`,W&&!Y?`max-w-full`:`w-full`),children:[(0,l.jsxs)(`div`,{className:`relative mr-2`,children:[Ce(),a&&(0,l.jsx)(d.Loader,{})]}),(0,l.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,l.jsxs)(`div`,{className:(0,p.default)(W?`bg-neutrals-300 px-6`:`pt-0`,W?`user-message`:`system-message`,W&&(Y?`w-[100%] ml-0`:`ml-12`)),children:[!W&&!de&&e?.custom_content?.stages?(0,l.jsx)(Au,{stages:e?.custom_content?.stages,expandIcon:D,processingTitle:S?.processingTitle}):a&&(0,l.jsx)(`p`,{className:`body-1 loading-message text-neutrals-700`,children:O?.loading}),Y?(0,l.jsx)(Pu,{content:e.content,onCancel:be,onEditApply:xe,editMessageTitles:E}):(0,l.jsx)(He,{content:e.content})]}),we,Te,!de&&!ve&&(0,l.jsx)(Ue,{choiceButtons:te,onClick:g})]})]})})},Iu=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:r,...i})=>{let{scrollBottomIcon:a}=X(),o=(0,c.useRef)(null),s=(0,c.useRef)(null),{isOpenedAdvancedView:g}=I(),_=Zo(),[v,y]=(0,c.useState)(null),[b,x]=(0,c.useState)(!1),S=_?.isPanelOpen()??!1,C=()=>{let e=s.current?.parentElement,t=o.current;if(e&&t){let n=t.offsetTop-e.offsetTop;e.scrollTo({top:n,behavior:`smooth`})}};(0,c.useEffect)(()=>{C()},[e,t]),(0,c.useEffect)(()=>{!g&&v!==null&&setTimeout(()=>{s?.current?.parentElement?.scrollTo({top:v,behavior:`smooth`})})},[g,v]);let w=()=>{y(s.current?.parentElement?.scrollTop||null)},T=()=>{let e=s.current?.parentElement;if(e){let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;t+r>=n?x(!1):!b&&!g&&x(!0)}};(0,c.useEffect)(()=>{g&&x(!1)},[g]);let E=(0,d.useDebounce)(T,300);(0,c.useEffect)(()=>{let e=s.current?.parentElement;return e?.addEventListener(`scroll`,E),()=>e?.removeEventListener(`scroll`,E)},[E]);let D=(0,c.useCallback)(e=>(0,l.jsx)(`div`,{className:`whitespace-pre-wrap break-words`,children:(0,h.linkifyText)(e).map((e,t)=>e.type===`text`?(0,l.jsx)(c.Fragment,{children:e.value},t):(0,l.jsx)(`a`,{href:e.value,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center align-middle`,children:(0,l.jsx)(f.IconExternalLink,{className:`size-4 shrink-0 cursor-pointer text-primary`})},t))}),[]);return(0,l.jsxs)(`div`,{ref:s,className:`flex size-full justify-center`,children:[(0,l.jsxs)(`div`,{className:`chat-messages-wrapper flex w-full flex-col gap-y-6`,children:[e.map((a,o)=>{let s=a.id??o;if(a.errorMessage)return(0,l.jsx)(d.InlineAlert,{type:r?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT?d.InlineAlertType.Warning:d.InlineAlertType.Error,children:(0,l.jsx)(`div`,{className:`flex flex-col`,children:D(a.errorMessage)})},s);if(g&&a.role===u.Role.System)return null;let c=o===e.length-1,f=zi(e,o),p=Bi(e);return(0,l.jsx)(Fu,{message:a,previousMessage:f,onAdvancedViewOpen:w,isStreaming:t,isCurrentMessageStreaming:t&&c&&a.role===u.Role.Assistant,showAdvancedView:o===p&&!n,isLastNotUserMessage:c&&a.role!==u.Role.User,...i},s)}),(0,l.jsx)(`div`,{ref:o,className:`h-4`})]}),(0,l.jsx)(`div`,{onClick:C,className:(0,p.default)(`fixed sm:hidden bottom-[88px] rounded-[50%] border-[2px] w-[40px] h-[40px] border-primary cursor-pointer text-primary bg-white z-10`,S?`right-[402px] lg:right-[386px]`:`right-10 lg:right-6`,`scroll-button-wrapper`,b?`block`:`hidden`),children:(0,l.jsx)(`div`,{className:`flex size-full items-center justify-center`,children:a})})]})},Lu=e=>{let 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},Ru=`local`,zu=e=>!e.permissions?.includes(u.SharePermission.WRITE)&&!Vu(e),Bu=(e,t)=>Hu(e)!==t,Vu=e=>Hu(e)===Ru,Hu=e=>e.id.split(`/`)[0],Uu=(e,t)=>Wu([...t?.messages||[],e]),Wu=e=>[...e].map(e=>{let t={role:e.role,content:e.content};return(e.role===u.Role.Assistant||e.role===u.Role.System)&&e.custom_content!=null&&(e.custom_content.state!=null||e.custom_content.attachments!=null||e.custom_content.form_schema!=null)&&(t.custom_content={},e.custom_content.state!=null&&(t.custom_content.state=e.custom_content.state),e.custom_content.attachments!=null&&(t.custom_content.attachments=qu(e.custom_content.attachments)),e.custom_content.form_schema!=null&&(t.custom_content.form_schema=e.custom_content.form_schema)),e.role===u.Role.User&&e.custom_content&&(t.custom_content=e.custom_content),t}),Gu=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return Wu(n?.slice(0,r)||[])},Ku=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return Wu([...n?.slice(0,r)||[],e])};function qu(e){return e.map(e=>({type:e.type,title:e.title,data:e.data,url:e.url,reference_type:e.reference_type,reference_url:e.reference_url}))}var Ju=(e,t,n,r)=>{if(!n||t)return null;let i={id:`msg-${Date.now()}`,role:u.Role.User,content:e,timestamp:Date.now()};return r&&(i.custom_content={form_value:{[r===q.COMPLETE?K.COMPLETION:K.CHOICE]:r}}),i},Yu=(e,t,n)=>`/${t}${n}/${(0,h.getConversationNavPath)(e?.folderId,e?.id)}`,Xu=(e,t,n)=>{let r=`${t}/${n}`,i=(0,m.generateConversationId)({folderId:r,name:e?.name});return{...e,folderId:r,id:i}},Zu=(e,t)=>{let n=e.lastIndexOf(`.`);return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},Qu=(e,t,n)=>{let r=e.split(`/`);if(r[0]!==`files`||r.length<3)return e;let i=Zu(r.at(-1)??`file`,n);return[`files`,t,...r.slice(2,-1),i].join(`/`)},$u=async({conversation:e,bucket:t,getFileBlob:n,putFile:r})=>{let i=(0,h.getConversationAttachmentUrls)(e),a=Date.now();if(!i.length)return e;let o=await Promise.all(i.map(async e=>{let i=Qu(e,t,`${a}`);return i===e||await r(i,await n(e)),[e,i]}));return(0,h.replaceConversationAttachmentUrls)(e,Object.fromEntries(o))},ed=`AbortError`,td=({error:e,statusMessages:t})=>{if(e){if(e.type===m.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){let n=e.exceeded_limit?.length?t.getExceededLimitsMessage(e.exceeded_limit):e.display_message??``;throw new h.HttpError({message:e.message,displayMessage:n,code:e.type,status:e.status??h.HTTP_ERROR_CODES.TOO_MANY_REQUESTS,details:{kind:m.ERROR_CONTEXT_KIND.RATE_LIMIT,occurredAt:new Date().toISOString(),retryAfterSeconds:Number(e.retry_after??``)}})}throw new h.HttpError({message:e.message,status:e.status??h.HTTP_ERROR_CODES.BAD_REQUEST,code:e.code})}},nd=({error:e,statusMessages:t})=>{if(e.code===m.DIAL_ERROR_TYPES.RATE_LIMIT_EXCEEDED){let t=e;return{errorMessage:t.displayMessage??t.message,errorContext:t.details}}return e.code===m.DIAL_ERROR_CODES.CONTENT_FILTER?{errorMessage:t.contentFilterError??e.message}:{errorMessage:e.status===h.HTTP_ERROR_CODES.SERVICE_UNAVAILABLE?t.serverOverloaded:t.serverError}},rd=(e,t)=>{let n=e.customViewState??{},r=n[m.CUSTOM_VIEW_STATE_KEY]??{};return{...e,customViewState:{...n,[m.CUSTOM_VIEW_STATE_KEY]:{...r,errorContext:t}}}},id=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}},ad=({conversationKey:e,conversation:t,actions:n,messageStyles:r,attachmentsStyles:i,inputMessageStyles:a,shareConversationProps:o,showConversationHeaderAdvancedView:s=!0,formattingSettings:g,metadataSettings:_,expandStagesIcon:v,locale:y,conversationsRoute:b,token:x,titles:S,dataQuery:C,handleInvalidStreaming:w,onConversationNotFound:T,setConversation:E,setConversations:O,openUrl:k,messageActionsIcons:A,messageActionsTitles:j,editMessageTitles:M,scrollBottomIcon:N,isFinalMessage:P,limitMessages:F,attachmentsConfig:L,headerRightSlot:R,children:B})=>{let[V,U]=(0,c.useState)(null),[W,K]=(0,c.useState)(!1),[q,J]=(0,c.useState)(!0),{isStreaming:Y,setIsStreaming:te}=z(),{isOpenedAdvancedView:ne}=I(),{setCrossDatasetAttachmentsState:re}=Su(),{isCrossDatasetModeOn:ie}=Pt(),{isAgentAvailable:ae}=(0,d.useAgentAvailability)(),{statusMessages:oe}=H(),{onboardingFileSchema:X,onboardingFilePath:ce,onboardingFileName:le,isShowOnboarding:ue,setOnboardingFileSchema:de}=G();(0,c.useEffect)(()=>{X&&n.putOnboardingFile?.(le,ce,X)},[n,X,le,ce]),(0,c.useEffect)(()=>{ne&&X?.lastDisplayedElement===li.OPEN_ADVANCED_VIEW&&de?.(_i(X))},[n,ne,de,X]);let fe=(0,c.useCallback)(()=>{k(`/${y}${b}`)},[y,b,k]),pe=(0,c.useCallback)(async()=>{try{let{bucket:e}=await n.getBucket(),r=Xu(n.getFileBlob&&n.putFile?await $u({conversation:t,bucket:e,getFileBlob:n.getFileBlob,putFile:n.putFile}):t,e,y);await n.createConversation(r,y),O((0,h.cleanConversationNames)(await n.getConversations(y))),k(Yu(r,y,b))}catch(e){console.error(`Failed to save conversation:`,e)}},[n,t,b,y,k,O]),me=(0,c.useCallback)(async t=>{try{await n.updateConversation(decodeURI(e),{name:t.name,messages:t.messages,customViewState:t.customViewState})}catch(e){console.error(`Failed to save conversation:`,e)}},[n,e]),he=(0,c.useCallback)((e,n)=>{if(!t)return;let r=$l(t.messages,n,e);if(!r)return;let i={...t,messages:r};E(i),me(i)},[t,E,me]),ge=(0,c.useCallback)(e=>{E(t=>t?{...t,messages:[...t?.messages||[],e]}:null)},[E]),_e=(0,c.useCallback)(()=>{let e={id:`msg-${Date.now()+1}`,role:u.Role.Assistant,content:``,timestamp:Date.now()};return E(t=>t?{...t,messages:[...t.messages,e]}:null),e},[E]),ve=(0,c.useCallback)((e,t)=>{let n=m.mergeMessages?.(e,[t]);if(n)return E(t=>t?{...t,messages:t.messages.map(t=>t.id===e.id?{...n}:t)}:null),n},[E]),ye=(0,c.useCallback)((e,r)=>{t?.model?.id&&(n.rateResponse(e,r===u.LikeState.Liked,t.model.id),t.messages=t.messages.map(t=>t.responseId===e?(0,D.merge)(t,{like:r}):t),me(t))},[n,t,me]),be=(0,c.useCallback)((e,t)=>{let n=oe.serverError,r,i;if((0,h.isHttpError)(e)){i=e;let t=nd({error:e,statusMessages:oe});n=t.errorMessage,r=t.errorContext}else i=new h.HttpError({status:h.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:n});return t&&=ve(t,{errorMessage:n}),w?.(i),{assistantMessage:t,errorContext:r}},[w,oe,ve]),xe=(0,c.useCallback)(async(e,t,n)=>{let r=new AbortController;U(r);let i=e,a;if(!n)return{assistantMessage:i,errorContext:a};let o=n.custom_fields??{},s={...o,configuration:{...o.configuration,timezone:id(),...ie&&{merge_python_code:!0}}};return await(0,m.streamChatResponse)?.(encodeURI(n.id),t,{model:n.model,signal:r?.signal,onMessage:e=>{td({error:e.error,statusMessages:oe});let t=Lu(e);(t.content||t.role||t.responseId)&&(i=ve(i,t))},onError:e=>{if(!Ee(e))throw console.error(`Streaming error:`,e),e}},x,s).catch(e=>{if(!Ee(e)){let{assistantMessage:t,errorContext:n}=be(e,i);i=t,a=n}}),{assistantMessage:i,errorContext:a}},[x,ve,be,oe,ie]),Se=(0,c.useCallback)(async(e,t,n,r)=>{if(!t)return;let i=rd(t,r);i={...i,messages:[...t.messages],updatedAt:Date.now()},n&&i.messages.push(n),i.messages.push(e),await me(i)},[me]),Ce=(0,c.useCallback)(e=>{E(t=>t&&rd(t,e))},[E]),we=(0,c.useCallback)((e,t)=>{E(e=>e?{...e,messages:e.messages.filter(e=>e.id!==t.id)}:null)},[E]),Te=(0,c.useCallback)(()=>{V&&!V.signal.aborted&&V.abort()},[V]),Ee=e=>e?.name===ed,De=(0,c.useCallback)(async(e,t,n,r,i,a=!0)=>{Ee(i)?await Se(r??n,e,a?t:void 0):we(i,t)},[Se,we]),Oe=(0,c.useCallback)(async(e,t,n)=>{if(!t||!e)return;let r=Ju(e,Y,t,n),i,a;if(r){ge(r);try{te(!0),i=_e();let e=Uu(r,t),{assistantMessage:n,errorContext:o}=await xe(i,e,t);Ce(o),a=n,await Se(a,t,r,o)}catch(e){De(t,r,i,a,e)}finally{te(!1)}}},[Y,te,ge,_e,xe,Se,De,Ce]),ke=(0,c.useCallback)(async(e,t,n)=>{let r,i;try{te(!0),r=_e();let{assistantMessage:n,errorContext:a}=await xe(r,e,t);i=n,Ce(a),await Se(i,t,void 0,a)}catch(e){De(t,n,r,i,e,!1)}finally{te(!1)}},[te,Se,De,xe,_e,Ce]),Ae=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=Gu(e,t),r={...t,messages:t.messages.slice(0,n.length)};E(e=>e?{...e,...r}:null),ke(n,r,e)},[E,ke]),{isLastMessageFailed:je,regenerateLastMessage:Me}=(0,c.useMemo)(()=>{let e=t?.messages?.at(-1);return{isLastMessageFailed:!!e?.errorMessage,regenerateLastMessage:e&&(()=>Ae(e,t))}},[t,Ae]),Ne=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=Ku(e,t),r={...t,messages:[...t.messages.slice(0,n.length-1),e]};E(e=>e?{...e,...r}:null),ke(n,r,e)},[E,ke]);(0,c.useEffect)(()=>{$t(),re();async function t(){try{J(!0);let{bucket:t}=await n.getBucket(),r=await n.getConversation(decodeURI(e));E(r),K(zu(r)&&Bu(r,t)),(r.messages.length===0||r?.messages?.[0]?.role===u.Role.Assistant&&r?.messages?.length===1)&&Oe(r.prompt,r)}catch{K(!0),T?.()}finally{J(!1)}}return e&&t(),()=>{$t()}},[e]);let Pe=(0,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(q)return(0,l.jsx)(d.Loader,{});let Fe=t?.customViewState?.[m.CUSTOM_VIEW_STATE_KEY];return(0,l.jsx)(se,{styles:{titles:S,messageStyles:r,attachmentsStyles:i,formattingSettings:g,messageActionsIcons:A,messageActionsTitles:j,editMessageTitles:M,expandStagesIcon:v,scrollBottomIcon:N,limitMessages:F,attachmentsConfig:L},children:(0,l.jsxs)(`div`,{className:(0,p.default)(`h-full flex flex-col bg-white conversation-view-wrapper`,ne&&!s&&`p-4`),children:[ne&&!s?null:(0,l.jsx)(Ve,{conversation:t,locale:y,isOpenedAdvancedView:ne,isShowShareButton:!W&&!ue,shareConversationProps:o,rightSlot:R}),(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 w-full flex-1`,children:[(0,l.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(`div`,{className:(0,p.default)(`flex-1 min-h-0 flex flex-col items-end scroll-hidden-container`,r?.messagesWrapperClass),children:(0,l.jsx)(Iu,{messages:t?.messages||[],actions:Pe,isStreaming:Y,isReadOnly:W,metadataSettings:_,dataQuery:C,locale:y,regenerateMessage:e=>Ae(e,t),selectMessageToSend:(e,n)=>Oe(e,t,n),rateResponse:ye,editMessage:e=>Ne(e,t),isReadOnlyConversation:W||ue,conversationViewState:Fe,onCodeAttachmentUpdated:he})}),ue?null:W?(0,l.jsx)(`div`,{className:`mt-4 flex items-center justify-center`,children:(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconCopy,{width:20,height:20}),title:S?.duplicate??`Duplicate Chat`,isSmallButton:!0,onClick:pe,buttonClassName:(0,p.default)(`text-button-secondary`)})}):(0,l.jsx)(`div`,{className:(0,p.default)(a.inputContainerClass),children:(()=>{if(Fe?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT&&(0,m.isRateLimitStillActive)(Fe.errorContext)){let e=(0,m.getRateLimitRestoreDate)(Fe.errorContext);if(e){let t=(0,m.formatDateTime)(e);return(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Info,children:oe.getAssistantRestoreMessage(t.date,t.time)})}}return ae?(0,l.jsx)(ee,{onSendMessage:e=>Oe(e,t),onStopStreaming:Te,inProcess:Y,sendMessageIcon:a.sendMessageIcon,retryIcon:a.retryIcon,placeholder:S?.askAnything??`Ask anything...`,containerClasses:`mt-4`,inputClasses:`border-neutrals-600 mr-2`,isLastFailed:je,onRetryFailed:Me}):(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Error,children:oe.assistantUnavailable})})()}),ue&&P&&(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconPlus,{width:24,height:24}),title:S?.onboardingFooterLink,onClick:fe,isSmallButton:!0,buttonClassName:`text-button-secondary self-center mb-3`}),B]}),!ne&&(0,l.jsx)(Qo,{scope:`conversation`})]})]})})},od=({conversationName:e,expandTitle:t,expandIcon:n,onExpand:r})=>(0,l.jsxs)(`div`,{className:`flex h-full w-[51px] shrink-0 flex-col items-center border border-neutrals-400 bg-white`,children:[(0,l.jsx)(`button`,{type:`button`,className:`mt-[84px] flex size-9 items-center justify-center text-primary`,"aria-label":t,title:t,onClick:r,children:n}),(0,l.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center overflow-hidden pb-[88px] pt-[72px]`,children:(0,l.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=Cu,exports.AdvancedViewProvider=F,exports.AttachmentRenderer=xc,exports.CUSTOM_CHOICE_ID=q,exports.ChartingIcon=Y,exports.ChatFooter=Ke,exports.ChatMessagesProvider=R,exports.ChatOnboardingFooter=Ge,exports.CollapsedChatPanel=od,exports.ConversationView=ad,exports.ConversationViewFeatureTogglesProvider=Nt,exports.ConversationViewMessagesProvider=V,exports.ConversationViewSidePanelProvider=Yo,exports.ConversationViewStylesProvider=se,exports.ConversationWelcome=qe,exports.CrossDatasetAttachmentsProvider=xu,exports.CustomContentProperties=K,exports.DatasetDimensionsMetadataMapProvider=ns,exports.OnboardingProvider=W,exports.STAGE_STATUS=J,exports.useAdvancedView=I,exports.useChatMessages=z,exports.useConversationViewFeatureToggles=Pt,exports.useConversationViewMessages=H,exports.useConversationViewSidePanelOptional=Zo,exports.useConversationViewStyles=X,exports.useCrossDatasetAttachments=Su,exports.useDatasetDimensionsMetadataMap=rs,exports.useDatasetDimensionsMetadataMapOptional=is,exports.useOnboarding=G;
|