@epam/statgpt-conversation-view 0.7.0-dev.26 → 0.7.0-dev.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,11 +1,11 @@
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
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("@floating-ui/react"),b=require("@epam/statgpt-sdmx-toolkit"),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("lodash/isEqual");T=s(T);let 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}({}),ee=function(e){return e.COMPLETED=`completed`,e}({}),J=function(e){return e.PREVIOUS=`previous`,e.NEXT=`next`,e}({}),te=({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})},ne=160,re=RegExp(`[:;,=/{}%&\\"]|(\r
2
2
  |
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,`
3
+ |\r| )|[\0-]`,`gm`),ie=(e,t,n,r)=>({name:ae(r||`${n} ${new Date().toLocaleDateString()}`),folderId:`${e}/${t}`,prompt:r}),ae=e=>{let t=e?.replace(/\r\n|\r/gm,`
4
4
  `).split(`
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,`
5
+ `).map(e=>e.replace(re,` `).trim()).filter(Boolean)[0]??``;return(t.length>ne?t.substring(0,ne):t).trim()},oe=(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}}}},se=(0,c.createContext)(null);function ce({children:e,styles:t}){return(0,l.jsx)(se.Provider,{value:t??{},children:e})}function Y(){let e=(0,c.useContext)(se);if(!e)throw Error(`useConversationViewStyles must be used within ConversationViewStylesProvider`);return e}var le=Object.defineProperty,ue=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,pe=(e,t,n)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,me=(e,t)=>{for(var n in t||={})de.call(t,n)&&pe(e,n,t[n]);if(ue)for(var n of ue(t))fe.call(t,n)&&pe(e,n,t[n]);return e},he=(e,t)=>{var n={};for(var r in e)de.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ue)for(var r of ue(e))t.indexOf(r)<0&&fe.call(e,r)&&(n[r]=e[r]);return n},ge;(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})(ge||={}),(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||={})})(ge||={}),(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||={})})(ge||={});var _e=ge,ve={L:_e.QrCode.Ecc.LOW,M:_e.QrCode.Ecc.MEDIUM,Q:_e.QrCode.Ecc.QUARTILE,H:_e.QrCode.Ecc.HIGH},ye=128,be=`L`,xe=`#FFFFFF`,Se=`#000000`,Ce=!1,we=1,Te=4,Ee=0,De=.1;function Oe(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 ke(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 Ae(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*De),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 je(e,t){return t==null?e?Te:Ee:Math.max(Math.floor(t),0)}function Me({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(..._e.QrSegment.makeSegments(t)),e),[]);return _e.QrCode.encodeSegments(r,ve[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=je(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Ae(e,o,t,a)}},[l,o,a,r,i]);return{qrcode:l,margin:d,cells:u,numCells:f,calculatedImageSettings:p}}var Ne=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Pe=c.default.forwardRef(function(e,t){let n=e,{value:r,size:i=ye,level:a=be,bgColor:o=xe,fgColor:s=Se,includeMargin:l=Ce,minVersion:u=we,boostLevel:d,marginSize:f,imageSettings:p}=n,m=he(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:h}=m,g=he(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}=Me({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=ke(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,Ne?t.fill(new Path2D(Oe(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=me({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`,me({style:D,height:i,width:i,ref:b,role:`img`},g)),O)});Pe.displayName=`QRCodeCanvas`;var Fe=c.default.forwardRef(function(e,t){let n=e,{value:r,size:i=ye,level:a=be,bgColor:o=xe,fgColor:s=Se,includeMargin:l=Ce,minVersion:u=we,boostLevel:d,title:f,marginSize:p,imageSettings:m}=n,h=he(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:g,cells:_,numCells:v,calculatedImageSettings:y}=Me({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=ke(_,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=Oe(b,g);return c.default.createElement(`svg`,me({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)});Fe.displayName=`QRCodeSVG`;var Ie=(e,t)=>({invitationType:m.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(e)}`},...t]}),Le=e=>`/${h.SHARE_CONVERSATION_ROUTE}/${e?.invitationLink?.split(`/`).at(-1)||``}`,Re=(e,t)=>t?.find(t=>{let n=e?.id?.split(`/`)?.pop(),r=t?.url?.split(`/`)?.pop()||``;return r===n||decodeURI(r)===n}),ze=e=>(e?.messages?.filter(e=>!!e?.custom_content?.attachments))?.flatMap(e=>e?.custom_content?.attachments?.map(e=>({url:e?.url||``}))||[])?.filter(e=>!!e?.url)||[],Be=({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 Re({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=Ie(V,ze(await i?.(V))),n=await a?.(t),r=await U(V);if(e.signal.aborted||!n)return;A(Le(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)(Fe,{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`,{})]})},Ve=({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)(Be,{onCloseModal:o,...n})]})},He=({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)(Ve,{conversation:e,locale:t,...i})}),a]})]})}),Ue=({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})})},We=({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))},Ge=({messageContent:e,choiceButtons:t,disabled:n,onClick:r,handleOnboardingSkip:i})=>{let{titles:a}=Y();return(0,l.jsxs)(`div`,{className:`onboarding flex size-full flex-1 flex-col overflow-auto`,children:[(0,l.jsx)(He,{conversation:{name:a?.onboardingTitle??`Introducing the AI assistant`}}),(0,l.jsxs)(`div`,{className:`onboarding-content flex flex-col`,children:[(0,l.jsx)(Ue,{content:e}),(0,l.jsx)(`div`,{className:`mt-4`,children:(0,l.jsx)(We,{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})]})]})]})},Ke=({openNewConversation:e})=>{let{titles:t}=Y();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})]})]})},qe=({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})]})},Je=({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?oe(w,S,o?.onboardingTitle??`Introducing the AI assistant`,y?.properties?.choice?.description??``,e,t):ie(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)(ce,{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)(Ge,{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)(te,{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)(Ke,{openNewConversation:()=>P(!1)}),!N&&(0,l.jsx)(qe,{firstLine:o.footerFirstLine,secondLine:o.footerSecondLine})]})})},Ye=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`})}),X=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}({}),Xe=[`charts`,`chartsNavigation`],Ze=[`dataGrid`,`metadataPerSeries`,...Xe,`openAdvancedView`],Qe=[`filters`,`chartPerSeries`,`metadataPerDataset`,`exitAdvancedView`],$e=(e,t)=>{let n=t?.[`${e}Title`],r=t?.[`${e}Description`];return{title:typeof n==`string`?n:``,description:typeof r==`string`?r:``}},et=(e,t)=>e.find(e=>!t.infoElements?.[e])||``,tt=(e,t)=>{if(!e||!t)return``;if(Ze.includes(t)){let t=et(Ze,e);if(t)return t}return et(Qe,e)||``},nt=(e,t)=>{let n=et(e,t);return{...t,infoElements:{...t?.infoElements,[t.lastDisplayedElement]:!1,...n?{[n]:!0}:{}},lastDisplayedElement:n}},rt=e=>nt(Qe,e),it=e=>nt(Xe,e),at=e=>(!e?.infoElements?.charts||!e?.infoElements?.chartsNavigation)&&!Xe.includes(e.lastDisplayedElement),ot=5,st=({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-ot,bottom:e.top+ot}}),(0,l.jsx)(`div`,{className:`overlay overlay-bottom`,style:{top:e.bottom+ot,bottom:0}}),(0,l.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}}),(0,l.jsx)(`div`,{className:`overlay overlay-right`,style:{top:e.top-ot,left:e.right+ot,height:e.height+ot*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}})]}),ct=({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:b,floatingStyles:x,context:S,placement:C}=(0,y.useFloating)({open:s,onOpenChange:u,placement:`right-start`,elements:{reference:e?.current},middleware:[(0,y.offset)({mainAxis:12,crossAxis:-4}),(0,y.flip)(),(0,y.shift)(),(0,y.arrow)({element:h})],whileElementsMounted:y.autoUpdate}),{getFloatingProps:w}=(0,y.useInteractions)([(0,y.useClick)(S)]),T=(0,c.useCallback)(()=>{if(g){let e=tt(_,_?.lastDisplayedElement);v?.({..._,infoElements:{..._?.infoElements,...e?{[e]:!0}:{}},lastDisplayedElement:e})}u?.(!1)},[g,_,v]);(0,c.useEffect)(()=>{b.setReference(e?.current??null)},[e,b]);let E=()=>T(),D=e?.current?.getBoundingClientRect();return(0,c.useEffect)(()=>{i&&!f&&(T(),m(!0))},[i,T,f]),(0,l.jsx)(l.Fragment,{children:s&&(0,l.jsxs)(y.FloatingPortal,{children:[D&&(0,l.jsx)(st,{overlayClasses:o?`cursor-default`:`cursor-pointer`,targetPosition:D,onClose:()=>{r?(r?.(),a?T():u(!1)):o||(T(),e?.current?.click())}}),(0,l.jsxs)(`div`,{ref:b.setFloating,style:x,...w(),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`,C?.includes(`right`)?`left-[-4px]`:`right-[-6px]`,C?.includes(`end`)?`bottom-2 tooltip-arrow-white`:`top-3`)})]})]})})},lt=({buttonProps:e,selectedFiltersCount:t=0,isLoading:n,setModalState:r,isModalClosed:i,warningIcon:a,filterIconClassName:o,timeSeriesCount:s})=>{let{titles:u}=Y(),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}=$e(X.FILTERS,u);h(e),_(t)}},[u,x]),(0,c.useEffect)(()=>{x&&y(b?.lastDisplayedElement===X.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)(Ye,{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)(ct,{reference:f,title:m,description:g,onReferenceClick:()=>r(d.PopUpState.Opened),shouldCloseTooltip:i})]})})},ut=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`})}),dt=({dataQueries:e,disabledDatasetUrns:t,isSelected:n,onSelect:r,onClearAll:i})=>{let{titles:a}=Y(),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)(ut,{width:16,height:16}),title:a?.reset??`Reset`,onClick:e=>{e.stopPropagation(),i()}})})]})]})},ft=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`})}),pt=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`})}),mt=(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`}},ht=e=>{e?.setMinutes(e.getMinutes()-e.getTimezoneOffset())},gt={year:`numeric`,month:`short`,day:`numeric`},_t=(e,t)=>e?.toLocaleDateString(t,gt)||``,vt=(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}},yt=(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}},bt=e=>({quarterly:e?.quarterly||`Q`,monthly:e?.monthly||`M`}),xt=(e,t)=>{let n=bt(t);return(0,b.isQuarterly)(e)&&n?.quarterly?e?.replace(/Q/g,n?.quarterly):(0,b.isMonthly)(e)&&n?.monthly?e?.replace(/M/g,n?.monthly):e},St=(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},Ct=e=>{if(!e?.length)return null;let t=null,n=null;for(let r of e){let e=r.filters?.find(e=>e.componentCode===b.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},wt=function(e){return e.FLAT_LIST=`FLAT_LIST`,e.HIERARCHY=`HIERARCHY`,e}({}),Tt=(e,t,n,r,i)=>e?.map(e=>{let a=(0,b.findCodelistByDimension)(t?.codelists,t?.conceptSchemes,e)?.codes,o=(0,b.getAvailableCodes)(e,n,a,r),s=a?.some(e=>e?.parent);return{id:e?.id,title:(0,b.getDimensionTitle)(t?.conceptSchemes,e,r),dimensionValues:o,isTimeDimension:e?.type===b.DimensionType.TIME_DIMENSION,isHierarchical:s,displayMode:s?wt.HIERARCHY:wt.FLAT_LIST,datasetUrn:i,filterType:`dataset`}})||[],Et=e=>e?.filterType===`shared`,Dt=e=>{if(e?.id)return Et(e)?`shared:${e.id}`:e?.datasetUrn?`${e.datasetUrn}:${e.id}`:e.id},Ot=(e,t)=>Dt(e)===Dt(t),kt=(e,t)=>e?.map(e=>t&&Ot(e,t)?{...t,isSelectedFilter:!0}:{...e,isSelectedFilter:!1}),At=(e,t,n)=>e?e.map(e=>Ot(e,t)?{...e,displayMode:n}:e):[],jt=e=>e?.filter(e=>!!e?.isSelectedValue)||[],Mt=e=>e?.map(e=>({...e,dimensionValues:jt(e?.dimensionValues)})).filter(e=>e.dimensionValues?.length||e.timeRange?.startPeriod||e.timeRange?.endPeriod),Nt=e=>e?.reduce((e,t)=>(t?.dimensionValues?.length??0)+e,0)||0,Pt=e=>({...e,dimensionValues:e?.dimensionValues?.map(e=>({...e,isSelectedValue:!1})),timeRange:void 0}),Ft=(e,t)=>e?.map(e=>Ot(e,t)?Pt(e):e),It=e=>e?.map(e=>Pt(e)),Lt=(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,b.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?vt({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}}),Rt=e=>e?.map(e=>({...e,isDisabled:!0})),zt=e=>new Map(e?.map(e=>[e.id,{...e,children:[]}])),Bt=e=>{if(!e)return[];let t=zt(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},Vt=(e,t=!1)=>t?`${e*d.TREE_NODE_PADDING-d.TREE_NODE_ARROW_SIZE}px`:`${e*d.TREE_NODE_PADDING}px`,Ht=e=>e?.children?.reduce((e,t)=>[...e,t,...Ht(t)],[])||[],Ut=(e,t)=>e?e.filter(e=>!e.disabled).map(e=>({...e,isSelectedValue:t})):[],Wt=e=>!!e?.children?.some(e=>e?.isSelectedValue||Wt(e)),Gt=e=>{let t=Ht(e);if(!e.children?.length)return[{...e,isSelectedValue:!e.isSelectedValue}];let n=(n,r)=>[{...e,isSelectedValue:n},...Ut(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})),qt=({isHierarchical:e,availableHierarchies:t,titles:n})=>[{key:``,title:n?.flatList??`Flat list`},...e?[{key:wt.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}=Y(),_=St((0,b.getAnnotationPeriod)(o?.[0]?.annotations),t),v=!(_?.startPeriod||_?.endPeriod)&&!t?Ct(m):null,y=v??_,[x,S]=(0,c.useState)(t??v),C=!t||t?.startPeriod?.getTime()===y?.startPeriod?.getTime()&&t?.endPeriod?.getTime()===y?.endPeriod?.getTime()?0:h.CUSTOM_PERIOD,[w,T]=(0,c.useState)(p??C),E=(0,c.useMemo)(()=>{let{startPeriod:e,endPeriod:t}=y,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)},[y,n]);(0,c.useEffect)(()=>{s(x,w)},[x]),(0,c.useEffect)(()=>{if(t!==null)return;let e=(0,b.getAnnotationPeriod)(o?.[0]?.annotations);e?.startPeriod||e?.endPeriod||S(Ct(m))},[t]);let D=e=>{e&&(ht(e),S(t=>t?{...t,startPeriod:e||null}:{endPeriod:null,startPeriod:e||null}))},O=e=>{e&&(ht(e),S(t=>t?{...t,endPeriod:e||null}:{startPeriod:null,endPeriod:e||null}))};if(y==null)return null;let k=mt(y.startPeriod,x?.endPeriod||y.endPeriod,e,i,r,f),A=mt(x?.startPeriod||y.startPeriod,y.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?y:yt(y,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||y?.startPeriod,label:g?.from||`From`,id:`time-options-start`,icon:u}),(0,l.jsx)(d.Calendar,{onChange:O,options:A,value:x?.endPeriod||y?.endPeriod,label:g?.to||`To`,id:`time-options-end`,icon:u,isEndDate:!0})]})})]})},Yt=(0,c.createContext)({isMetadataInSidePanel:!1,isCrossDatasetModeOn:!1,isTableSettingsFeatureEnabled:!1});function Xt({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)(Yt.Provider,{value:i,children:e})}function Z(){return(0,c.useContext)(Yt)}var Zt=2,Qt=({value:e,onChange:t,searchIconSize:n})=>{let{titles:r}=Y(),{isCrossDatasetModeOn:i}=Z(),[a,o]=(0,c.useState)(!1),s=e.trim().toLowerCase(),u=i&&a&&s.length<Zt;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`})]})},$t=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`})}),en=({node:e,level:t=1,checkboxIcon:n,selectFilterValue:r,selectHierarchicalNodes:i,expandHierarchicalValue:a})=>{let o=!!e?.children?.length,s=o&&!e.isSelectedValue&&Wt(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:Vt(t,o)},children:[o&&(e?.isExpanded?(0,l.jsx)($t,{className:u,onClick:()=>a?.(e)}):(0,l.jsx)(ft,{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?.(Gt(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)(en,{node:e,level:t+1,checkboxIcon:n,selectFilterValue:r,selectHierarchicalNodes:i,expandHierarchicalValue:a},e?.id))})]},e?.id)},tn=({treeNodes:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:r,expandHierarchicalValue:i})=>(0,l.jsx)(l.Fragment,{children:e?.map(e=>(0,l.jsx)(en,{node:e,checkboxIcon:t,selectFilterValue:n,selectHierarchicalNodes:r,expandHierarchicalValue:i},e?.id))}),nn=({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})}),rn=(e,t,n,r,i=h.Locale.EN)=>{let a=t?.map(e=>{let t=(0,b.getAvailableCodesFromConstrains)((0,b.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]}})||[]},an=(e,t,n)=>{let r=[];return Sr(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,...on(e.timeRange,t)]:r.push({componentCode:t,operator:b.SeriesFilterOperator.EQUALS,value:n?.filter(e=>e.isSelectedValue)?.map(e=>e.id).join(b.GET_v3_FILTER_AND)||``})}),r},on=(e,t)=>e==null||e.startPeriod==null||e.endPeriod==null?[]:[{componentCode:t,operator:b.SeriesFilterOperator.GREATER_OR_EQUAL,value:cn(new Date(e.startPeriod))},{componentCode:t,operator:b.SeriesFilterOperator.LESS_OR_EQUAL,value:cn(new Date(e.endPeriod),1)}],sn=1e3*60*60*24,cn=(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?sn-1:0,e=new Date(n),n.toString()},ln=e=>[...e].map(e=>({...e,value:e.value.split(`,`).sort().join(`,`)})).sort((e,t)=>e.componentCode.localeCompare(t.componentCode)),un=new Map,dn=new Map;function fn(e,t){return`${e.name??``}::${t}`}function pn(...e){return JSON.stringify(e)}async function mn(e,t,n){let r=fn(e,t);if(un.has(r))return un.get(r);let i=dn.get(r);if(i)return i;let a=n().then(e=>(un.set(r,e),e)).finally(()=>{dn.delete(r)});return dn.set(r,a),a}function hn(e,t){return un.has(fn(e,t))}function gn(){un.clear(),dn.clear()}var _n=e=>e.map(e=>({componentCode:e.id||``,operator:h.QueryFilterType.IN,values:e.dimensionValues?.map(e=>e.id)||[]})),vn=(e,t)=>{let n=t?.timeDimensions?.[0],r=(0,b.getTimeRangeFromAttachment)(e,n)||null;return r?(0,b.getQueryTimePeriodFilters)(r,n?.id):null},yn=(e,t,n)=>{let r=Mt(Sr(e,n)),i=r.find(e=>e?.isTimeDimension&&e?.timeRange);return{filterKey:(0,b.getTimeSeriesFilterKey)(t||[],_n(r)),timeFilter:(0,b.getQueryTimePeriodFilters)(i?.timeRange,i?.id)}},bn=e=>{if(!e)return``;let t=String(e.getDate()).padStart(2,`0`);return`${String(e.getMonth()+1).padStart(2,`0`)}-${t}-${e.getFullYear()}`},xn=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}`},Sn=(e,t,n=bn)=>Sr(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)||[]}),Cn=(e,t)=>{let n=Sr(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])},wn=(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:[b.GET_v3_FILTER_ALL]}))},Tn=(e,t,n=!0)=>{let r=n?e.urn:void 0,i=Dn(t,r),a=Cn(t,r),o=wn(a,i),s=(e.filters??[]).filter(e=>!a.has(e.componentCode));return{...e,filters:[...s,...i,...o]}},En=(e,t)=>Sn(e,t),Dn=(e,t)=>Sn(e,t,xn),On=`COUNTRY`,kn=`FREQUENCY`,An=`TIME_PERIOD`,jn=new Set([On,kn,An]),Mn=e=>e?.trim()?.toLocaleUpperCase(),Nn=()=>(e,t)=>{let n=e?.name?.trim()?.toLocaleLowerCase();return n?Pn(n):Fn(t||``,e.id)},Pn=e=>`name:${e}`,Fn=(e,t)=>`dataset:${e}:id:${t}`,In=(e,t)=>e?t?.[e]:void 0,Ln=(e,t)=>{if(!(e?.filterType!==`dataset`||!e.id))return In(e.datasetUrn,t)?.[e.id]},Rn=(e,t,n)=>Object.entries(In(e,n)||{}).find(([,e])=>t(e))?.[0],zn=(e,t,n)=>Rn(e,e=>e.subtype===t,n),Bn=(e,t)=>Rn(e,e=>e.dimensionType===`TIME_PERIOD`,t),Vn=[{id:On,subtype:`REGION`,getMergedValueKey:Nn()},{id:kn,subtype:`FREQUENCY`,getMergedValueKey:Nn()},{id:An,getMergedValueKey:e=>e.id}],Hn=new Map(Vn.map(e=>[e.id,e])),Un=e=>e?Hn.get(Mn(e)||``):void 0,Wn=(e,t,n)=>{if(e.filterType===`shared`)return t.id===Mn(e.id);if(t.id===`TIME_PERIOD`)return e.isTimeDimension||Ln(e,n)?.dimensionType===`TIME_PERIOD`||t.id===Mn(e.id);let r=Ln(e,n);return t.subtype&&r?.subtype===t.subtype?!0:t.id===Mn(e.id)},Gn=(e,t)=>e?Vn.find(n=>Wn(e,n,t)):void 0,Kn=(e,t,n)=>{if(!t)return;let r=e?n?.[e]?.[t]:void 0;return r?.dimensionType===`TIME_PERIOD`?An:Vn.find(e=>!!e.subtype&&e.subtype===r?.subtype)?.id??Un(t)?.id},qn=e=>!!Un(e),Jn=e=>e?.filterType===`shared`&&qn(e?.id),Yn=(e,t)=>!e||Array.isArray(e.get(t)),Xn=(e,t)=>!e?.dataMessagesMap||e.dataMessagesMap.has(t),Zn=(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())},Qn=(e,t)=>{let n=new Map,r=[];return e.forEach(e=>{let i=Gn(e,t);if(i&&e?.datasetUrn){let t=n.get(i.id)||[];n.set(i.id,[...t,e]);return}r.push(e)}),[...Vn.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:Zn(t,e)};return r.isTimeDimension&&(r.timeRange=ar(t)),r}),...r]},$n=(e,t,n)=>{let r=e.sourceFilterIdsByDataset?.[t];if(r)return r;if(e.id===`TIME_PERIOD`)return Bn(t,n);let i=Un(e.id);return i?.subtype?zn(t,i.subtype,n):void 0},er=(e,t,n,r)=>({...e,id:$n(e,t,r)||e.id,datasetUrn:t,filterType:`dataset`,...n?{dimensionValues:n}:{}}),tr=(e,t)=>(e.sourceDatasetUrns||[]).map(n=>er(e,n,void 0,t)),nr=(e,t)=>({id:t.id,name:t.name,parent:t.parent,isSelectedValue:e.isSelectedValue}),rr=(e,t)=>{let n=new Map;return e.dimensionValues?.forEach(r=>{r.sourceValues?.forEach(i=>{let a=i.datasetUrn||``,o=n.get(a),s=nr(r,i);if(o){o.dimensionValues=[...o.dimensionValues||[],s];return}n.set(a,er(e,a,[s],t))})}),n},ir=(e,t=!1,n)=>{if(!Jn(e))return[e];if(e.isTimeDimension)return tr(e,n);let r=rr(e,n);return Array.from(r.values())},ar=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())))}},or=(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)},sr=(e,t)=>{if(!e.isTimeDimension||!e.timeRange)return e;let{startPeriod:n,endPeriod:r}=(0,b.getAnnotationPeriod)(t?.[0]?.annotations);return!n||!r?e:{...e,timeRange:or(e.timeRange.startPeriod,e.timeRange.endPeriod,n,r)}},cr=(e,t)=>e?.dimensionsMap?new Map(Array.from(e.dimensionsMap.entries()).map(([n,r])=>[n,Tt(r,e?.structuresMap?.get(n),e?.structureDimensionsMap?.get(n),t,n)])):new Map,lr=(e,t,n=!0)=>new Map(Array.from(e?.dimensionsMap?.entries()||[]).map(([r,i])=>{let a=Yn(e?.constraintsMap,r),o=Xn(e,r);return[r,i?.map(i=>{if(!a||n&&!o)return{...i,dimensionValues:[]};let s=(0,b.getAvailableCodesFromConstrains)((0,b.findCodelistByDimension)(e?.structuresMap?.get(r)?.codelists,e?.structuresMap?.get(r)?.conceptSchemes,i)?.codes,i.id,e?.constraintsMap?.get(r),t);return{...i,dimensionValues:s}})||[]]})),ur=e=>e.map(e=>({...e,isDisabled:!1,dimensionValues:e.dimensionValues?.filter(e=>e.isSelectedValue)||[]})),dr=(e,t,n=!0)=>{let r=cr(e,t),i=lr(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||[]}))]}))},fr=(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:Gn({id:e.componentCode,datasetUrn:t.urn,filterType:`dataset`},r)?.id===n.id))??!1;return Qn(t?.flatMap(t=>{let a=t?.urn;return Lt(e?.get(a)||[],t,n?.get(a)||[]).map(e=>{if(e.isTimeDimension||e.filterType!==`dataset`)return e;let n=Gn(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)},pr=(e,t,n=!1,r,i=new Set)=>{let a=e?.flatMap(e=>ir(e,n,r))?.reduce((e,n)=>{let r=n?.datasetUrn||``,i=sr(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},mr=(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=$n(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))))},hr=(e,t)=>t?(e||[]).filter(e=>t.has(e.urn)):e||[],gr=(e,t)=>t?new Map([...e].filter(([e])=>t.has(e))):e,_r=(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=Gn({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)??[]},vr=(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))??[])??[])??[])):[],yr=(e,t,n)=>{if(e.length<2||!t)return e;let r=e.flatMap(e=>Vn.flatMap(r=>{if(!r.subtype)return[];let i=zn(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:vr(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},br=e=>JSON.stringify(e?.map(e=>({urn:e.urn,filters:e.filters??[]}))??[]),xr=(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=Yn(t?.constraintsMap,e),c=Xn(t,e);if(!s||!c){i.push(...ur(r));return}let l=t?.constraintsMap?.get(e);i.push(...rn(r,a,o,l,n))}),Qn(i,r)},Sr=(e,t,n)=>t?pr(e,void 0,!1,n).get(t)||[]:e.filter(e=>e.filterType!==`shared`),Cr=(e,t)=>{if(e?.filterType===`shared`)return;let n=e?.datasetUrn?t?.get(e.datasetUrn)?.dataflows?.[0]:void 0;return n?(0,b.generateShortUrn)(n?.name,``,n?.agencyID):void 0},wr=(e,t)=>e?.length?!!t?.dimensionsMap&&!!t?.structuresMap&&!!t?.structureDimensionsMap&&!!t?.constraintsMap:!1,Tr=(e,t,n)=>ln(an(t,e,n).filter(e=>e.componentCode!==b.TIME_PERIOD)),Er=(e,t,n,r,i)=>e?.map(e=>{let a=e?.urn??``,o=Tr(a,i??t?.get(a)??[],r);return n?mn(n.getConstraints,pn(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=Tr(a,i??t?.get(a)??[],r);return!hn(n.getConstraints,pn(a,o))}),Or=(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=Vn.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)))},kr=e=>new Map(e?.flatMap(({urn:e,data:t})=>{let n=t?.data?.dataConstraints;return Array.isArray(n)?[[e,n]]:[]})),Ar=e=>kr(e.flatMap(e=>e.status===`fulfilled`?[e.value]:[])),jr=(e,t)=>{let n=new Map(e);return t.forEach((e,t)=>{n.set(t,e)}),n},Mr=(e,t,n,r)=>{if(e&&t?.filterType===`shared`&&t?.isTimeDimension){let e=Array.from(r?.values()||[]).flatMap(e=>e||[]).map(e=>(0,b.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||b.TIME_PERIOD,annotations:[{id:b.TIME_PERIOD_START_ANNOTATION_KEY,title:n.toISOString()},{id:b.TIME_PERIOD_END_ANNOTATION_KEY,title:i.toISOString()}]}]}return e?r?.get(t?.datasetUrn??``)??[]:n??[]},Nr=(e,t,n)=>new Map(t?.map(t=>{let r=t?.urn;return[r,yn(e.get(r)||[],n?.get(r))]})),Pr=(e,t,n,r,i)=>{let a=Or(e,t,i);if(!n||!e.length||!a)return;let o=fr(dr({...t,constraintsMap:n},r,!1),e,n,i),s=pr(o,n,!1,i),c=mr(o,e.map(e=>e.urn),e,i,s);return{compatibleUrns:c,filterParamsMap:Nr(s,e.filter(e=>c.has(e.urn)),t.dimensionsMap)}},Fr=(e,t)=>new Map(e?.map(e=>{let n=e?.urn;return[n,En(t?.get(n)||[])]})),Ir=(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,b.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:or(e.timeRange.startPeriod,e.timeRange.endPeriod,a,o)}]},Lr=(e,t,n)=>t.size===0?e:e.flatMap(e=>{if(e.filterType!==`shared`)return[e];if(e.isTimeDimension)return Ir(e,t,n);let r=(e.dimensionValues??[]).filter(e=>e.sourceValues?.some(e=>!t.has(e.datasetUrn??``)));return r.length===0?[]:[{...e,dimensionValues:r}]}),Rr=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`})}),zr=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`})}),Br=C.FixedSizeList,Vr=24,Hr=232,Ur=({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}=Z(),y=s||f;if(!t&&!y)return null;let b=t??[],x=e?Cr(e,c):void 0,S=c?.size===1,C=v&&e?.filterType!==`shared`&&!!e?.title&&(S||!!x),T=b.length*Vr,E=T>Hr?Hr: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)(Rr,{className:`size-4 shrink-0 text-neutrals-700`}),(0,l.jsx)(`span`,{className:`h4 text-neutrals-800`,children:x}),(0,l.jsx)(zr,{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)(tn,{treeNodes:u??Bt(b),checkboxIcon:n,selectFilterValue:m,selectHierarchicalNodes:h,expandHierarchicalValue:g}):i?(0,l.jsx)(w.default,{children:({width:e,height:t})=>(0,l.jsx)(Br,{itemCount:b.length,itemSize:Vr,width:e,height:t,children:({index:e,style:t})=>(0,l.jsx)(nn,{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)(nn,{filterValue:e,checkboxIcon:n,selectFilterValue:m},e.id))})})]})};function Wr(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 Gr(e){let t=new Map;for(let n of e){let e=`${n.agencyID??``}:${n.id}`,r=t.get(e);(!r||Wr(n.version??``,r.version??``)>0)&&t.set(e,n)}return Array.from(t.values())}function Kr(e){return(0,b.generateShortUrn)(e.id,e.version??``,e.agencyID??``)}function qr(e,t,n,r,i){let a=(0,b.getHierarchyAvailableCodes)((0,b.getHierarchyCodes)(e,t),n,r);return Xr(Yr(e,(0,b.getCodeListsData)(t),a.map(e=>e.id),i))}function Jr(e,t,n,r,i){return r?.map(r=>{let{childId:a,agency:o,id:s,version:c}=(0,b.getChildParsedUrn)(r.code),l=(0,b.generateShortUrn)(s,c,o),u=Object.keys(e??{}).find(e=>(0,b.urnMatchesIgnoreVersion)(e,l))??l,d=(e?.[u])?.find(e=>e.id===a),f=d?.name||d?.description||a,p=n?(0,b.urnMatchesIgnoreVersion)(l,n):!0,m=!p&&(r.hierarchicalCodes?.length??0)>0,h=Jr(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 Yr(e,t,n,r){return!n||n.length===0?[]:Jr(t,n,r,e?.hierarchicalCodes,void 0)}function Xr(e){return e.map(e=>{let{childId:t}=(0,b.getChildParsedUrn)(e.id??``);return{id:t??e.id??``,name:e.name,isExpanded:e.isExpanded,isSelectedValue:!1,disabled:e.disabled,isSelectableValue:e.isSelectableValue,children:Xr(e.children)}})}function Zr(e,t){return e?.filterType===`shared`?e.dimensionValues?.find(e=>e.id===t||e.sourceValues?.some(e=>e.id===t))?.id:t}function Qr(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 $r(e,t){if(!e?.length||t?.filterType!==`shared`)return e??[];let n=new Map;return e.forEach(e=>{let r=Zr(t,e.id);r&&n.set(r,{...e,id:r})}),Array.from(n.values())}function ei(e,t){return Zr(t,e)}function ti(e,t){return e.map(e=>{let n=e.children?.length?ti(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 ni(e,t){return e.map(e=>e.id===t?{...e,isExpanded:!e.isExpanded}:e.children?.length?{...e,children:ni(e.children,t)}:e)}function ri(e,t){let n=t.toLowerCase();return e.reduce((e,r)=>{let i=r.name?.toLowerCase().includes(n),a=ri(r.children??[],t);return(i||a.length>0)&&e.push({...r,isExpanded:!0,children:i?r.children:a}),e},[])}var ii=(0,c.createContext)(null);function ai({children:e,value:t}){return(0,l.jsx)(ii.Provider,{value:t,children:e})}function oi(){let e=(0,c.useContext)(ii);if(!e)throw Error(`useFiltersModal must be used within FiltersModalProvider`);return e}var si=2,ci=({filtersList:e,selectedFilter:t,initialConstraints:n,structuresMap:r,selectedTimeOption:i,hierarchyState:a})=>{let{titles:o}=Y(),{locale:s,isDisableValues:u,isValuesLoading:d,timeRangeOptions:f,filterValuesProps:m,dataQueries:g,selectFilterValue:_,selectHierarchicalNodes:v,expandHierarchicalValue:y,onTimePeriodChange:x}=oi(),[S,C]=(0,c.useState)(``),{isCrossDatasetModeOn:w}=Z(),T=t?.displayMode===wt.HIERARCHY,E=Dt(t),D=t?.filterType===`shared`,O=S?.trim().toLowerCase(),k=w?O.length>=si:!!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===wt.HIERARCHY?(0,b.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(Ot(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===wt.HIERARCHY}]:e},[]):[],[A,e,t,j]),P=(0,c.useMemo)(()=>{let e=a?.treeNodes;if(!e?.length)return e;let n=Qr(t),r=n.size?ti(e,n):e;return k?ri(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)(Qt,{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)(Ur,{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:y}),!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)(Ur,{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=>y(t,e)})},Dt(e)))]}):(0,l.jsx)(Ur,{selectedFilter:t,filterValues:M,checkboxIcon:m?.checkboxIcon,isHierarchicalView:T,isDisableValues:u,isValuesLoading:d,structuresMap:r,hierarchyTreeNodes:P,isHierarchyLoading:a?.isLoading,selectFilterValue:_,selectHierarchicalNodes:v,expandHierarchicalValue:y})})]})})},li=({filtersList:e,filter:t,onSelectFilter:n,onSelectDisplayMode:r,onDeleteFilter:i,initialConstraints:a,hideFacetCounterByDefault:o,hierarchyState:s})=>{let{titles:u}=Y(),{locale:f,onSelectHierarchy:m}=oi(),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?`${_t(t?.timeRange?.startPeriod,f)} -
6
+ ${_t(t?.timeRange?.endPeriod,f)}`:``,[f,t?.timeRange]);(0,c.useEffect)(()=>{_(jt(t?.dimensionValues)?.length)},[t?.dimensionValues]);let S=o?g>0:!0,C=(0,c.useMemo)(()=>qt({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)(ft,{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)(pt,{width:16,height:16}),title:u?.displayOrder||`Display Order`,disabled:w}),disabled:w,options:C,selectedOption:s?.selectedHierarchy?.id??(t?.displayMode===wt.HIERARCHY?wt.HIERARCHY:``),onOptionSelect:e=>{if(e===``)m?.(t,null),r?.(t,wt.FLAT_LIST);else if(e===wt.HIERARCHY)m?.(t,null),r?.(t,wt.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)(ut,{width:16,height:16}),title:u?.reset||`Reset`,onClick:e=>{e.stopPropagation(),i?.(t)}})]})]})]}),v&&(0,l.jsx)(ci,{filtersList:e,selectedFilter:t,initialConstraints:a,hierarchyState:s})]})},ui=new Set,di=({filtersList:e,hideFacetCounterByDefault:t,onSelectFilter:n,onDeleteFilter:r,onSelectDisplayMode:i,initialConstraints:a,initialConstraintsMap:o,datasetIcon:s,structuresMap:c,hierarchyStateMap:u,dataQueries:d,disabledDatasetUrns:f=ui,isDatasetFacetSelected:m=!1,onSelectDatasetFacet:h,onClearAllDatasets:g})=>{let{isCrossDatasetModeOn:_}=Z(),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)(dt,{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?Cr(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)(li,{filtersList:f,filter:e,onSelectFilter:n,onSelectDisplayMode:i,onDeleteFilter:r,hideFacetCounterByDefault:t,initialConstraints:Mr(_,e,a,o),hierarchyState:u?.get(Dt(e)??``)})]},Dt(e))})]})},fi=({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)(Qt,{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)})})]})},pi=({controller:e})=>{let{state:{filtersList:t,selectedFilter:n,isDisableValues:r,isValuesLoading:i,timeSeriesCount:a,selectedTimeOption:o,disabledDatasetUrns:s},options:{modalProps:u,locale:f,timeRangeOptions:m,initialConstraints:h,initialConstraintsMap:g,datasetIcon:_,structuresMap:v,dataQueries:y},handlers:{setSelectedFilter:b,onSelectDisplayMode:x,onDeleteFilter:S,onClearAllFilters:C,updateSelectedFilterValues:w,onTimePeriodChange:T,onToggleDataset:E,onClearAllDatasets:D},hierarchy:{hierarchyStateMap:O,onSelectHierarchy:k,onExpandHierarchyNode:A}}=e,{titles:j}=Y(),M=O?.get(Dt(n)),N=(0,d.useIsMobile)(),{isCrossDatasetModeOn:P}=Z(),[F,I]=(0,c.useState)(!1),L=(0,c.useMemo)(()=>Lr(t.filter(e=>!(e.filterType===`dataset`&&e.datasetUrn&&s.has(e.datasetUrn))),s,g),[t,s,g]),R=(0,c.useMemo)(()=>n?L.find(e=>Ot(e,n)):void 0,[n,L]),z=Nt(Mt(t))+s.size,B=(0,c.useCallback)(()=>{I(!0),b(void 0)},[b]),V=(0,c.useCallback)(e=>{I(!1);let n=t?.find(t=>Ot(t,e));if(!n){b(void 0);return}b({...n,isSelectedFilter:!0})},[t,b]),H=e=>e?t?.find(t=>Ot(t,e)):void 0;return(0,l.jsx)(ai,{value:{locale:f,isDisableValues:r,isValuesLoading:i,timeRangeOptions:m,filterValuesProps:u?.filterValuesProps,dataQueries:y,onSelectHierarchy:k,selectFilterValue:(e,t,r)=>{let i=!r||Ot(r,n),a=H(r??n)??r??n;if(!a)return;let o=Et(a)?ei(e,a):e;if(!o)return;let s={...a,dimensionValues:a?.dimensionValues?.map(e=>e?.id===o?{...e,isSelectedValue:t}:e)};i&&b(s),w&&w(s)},selectHierarchicalNodes:(e,t)=>{let r=!t||Ot(t,n),i=H(t??n)??t??n;if(!i)return;let a=Et(i)?$r(e,i):e??[],o=new Set(i?.dimensionValues?.map(e=>e.id)),s=Et(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&&b(c),w&&w(c)},expandHierarchicalValue:(e,t)=>{let r=!t||Ot(t,n),i=H(t??n)??t??n;if(!i||!e?.id)return;let a=Dt(i);if((a?O?.get(a):void 0)?.treeNodes?.length){A?.(a,e.id);return}let o={...i,dimensionValues:i?.dimensionValues?.map(t=>t?.id===e?.id?{...t,isExpanded:!e?.isExpanded}:t)};r&&b(o),w&&w(o)},onTimePeriodChange:(e,t)=>{if(!n)return;let r={...n,timeRange:e||void 0};T?.(t),b(r),w&&w(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`,u?.isShowTimeSeriesCount&&`flex flex-col justify-between`),children:[P&&(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:[j?.appliedFilters??`Applied filters`,`:`,` `,z]}),(0,l.jsx)(d.Button,{buttonClassName:`text-button-tertiary p-0`,title:j?.clearAll??`Clear All`,onClick:C,isSmallButton:N})]}),(0,l.jsx)(di,{filtersList:L,hideFacetCounterByDefault:u?.isHideFacetCounterByDefault,onSelectFilter:V,onSelectDisplayMode:x,onDeleteFilter:S,initialConstraints:h,initialConstraintsMap:g,datasetIcon:_,structuresMap:v,hierarchyStateMap:O,dataQueries:y,disabledDatasetUrns:s,isDatasetFacetSelected:F,onSelectDatasetFacet:B,onClearAllDatasets:D}),u?.isShowTimeSeriesCount&&a?(0,l.jsxs)(`h4`,{className:`my-4 text-neutrals-800`,children:[j?.timeSeries??`Timeseries`,`: `,a]}):null]}),!N&&(F?(0,l.jsx)(fi,{dataQueries:y??[],disabledDatasetUrns:s,onToggleDataset:E,searchIconSize:u?.filterValuesProps?.searchIconSize}):(0,l.jsx)(ci,{filtersList:L,selectedFilter:R,structuresMap:v,initialConstraints:Mr(P,n,h,g),selectedTimeOption:o,hierarchyState:M}))]})})},mi=({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)})]})}),hi=({modalProps:e,onApply:t,onClearAllFilters:n,onClose:r,applyDisabled:i,timeseriesLength:a,limitMessages:o})=>{let{titles:s}=Y(),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)(mi,{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})]})]})]})},gi=({buttonProps:e,selectedFiltersCount:t,isLoading:n,setModalState:r,isModalClosed:i,filterIconClassName:a,timeSeriesCount:o,modalState:s,modalProps:c,controller:u,onApply:f,onClose:p,onClearAllFilters:m,applyDisabled:h,limitMessages:g})=>{let{titles:_}=Y();return(0,l.jsxs)(`div`,{className:`filters-container`,children:[(0,l.jsx)(lt,{buttonProps:e,selectedFiltersCount:t,isLoading:n,setModalState:r,isModalClosed:i,warningIcon:g?.warningIcon,filterIconClassName:a,timeSeriesCount:o}),s===d.PopUpState.Opened&&(0,l.jsxs)(d.Popup,{heading:_?.settings||`Settings`,portalId:`filters`,size:d.PopUpSize.LG,containerClassName:`advanced-view-filters-modal h-[80%]`,dividers:c?.isShowDividers,onClose:p,closeButtonTitle:_?.close||`Close`,children:[(0,l.jsx)(pi,{controller:u}),(0,l.jsx)(hi,{onApply:f,onClose:p,onClearAllFilters:m,modalProps:c,applyDisabled:h,timeseriesLength:o,limitMessages:g})]})]})},_i=(0,c.createContext)(null);function vi({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)(_i.Provider,{value:a,children:e})}function yi(){let e=(0,c.useContext)(_i);if(!e)throw Error(`useFiltersModalState must be used within FiltersModalStateProvider`);return e}var bi={availableHierarchies:[],selectedHierarchy:null,mainHierarchy:null,codelists:[],treeNodes:[],isLoading:!1},xi=({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=qr(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)??bi;return t.set(a,{...n,isLoading:!0}),t});try{let e=Gr((await r(i,n?.(t)))?.data?.hierarchies??[]);o(t=>{let n=new Map(t),r=t.get(a)??bi;return n.set(a,{...r,availableHierarchies:e,isLoading:!1}),n})}catch{o(e=>{let t=new Map(e),n=e.get(a)??bi;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)??bi;return t.set(a,{...n,isLoading:!0}),t});try{let e=Kr(r),c=await i(e,s),l=c?.data?.hierarchies?.find(t=>Kr(t)===e);if(!l){o(e=>{let t=new Map(e),n=e.get(a)??bi;return t.set(a,{...n,selectedHierarchy:r,mainHierarchy:null,treeNodes:[],isLoading:!1}),t});return}let u=(0,b.resolveCodelistsFromResponse)(c?.data),d=qr(l,u,n.id??``,t(n),s);o(e=>{let t=new Map(e),n=e.get(a)??bi;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)??bi;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)??bi;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:ni(r.treeNodes,t)}),i})},[])}},Si=({apply:e,modalFilters:t,appliedFilters:n,disabledDatasetUrns:r,appliedDisabledUrns:i,setAppliedFilters:a,closeModal:o,addSystemMessage:s})=>({isFiltersUnchanged:(0,c.useMemo)(()=>e.getIsFiltersUnchanged(t,n,r,i),[e,t,n,r,i]),onApply:(0,c.useCallback)(()=>{let{appliedFilters:n,systemMessageFilters:i}=e.runApply(t,r);a(n),o(),(0,c.startTransition)(()=>{s(i,r)})},[e,t,r,a,o,s])}),Ci=()=>{let[e,t]=(0,c.useState)(!1),n=(0,c.useRef)(0);return{isLoading:e,startLoading:(0,c.useCallback)(()=>{n.current+=1,n.current===1&&t(!0)},[]),finishLoading:(0,c.useCallback)(()=>{n.current=Math.max(n.current-1,0),n.current===0&&t(!1)},[])}},wi=({strategy:e,modalFilters:t,setModalFilters:n,setSelectedFilter:r,rebuildHierarchyTree:i})=>{let[a,o]=(0,c.useState)(),[s,l]=(0,c.useState)(),{isLoading:u,startLoading:d,finishLoading:f}=Ci(),p=(0,c.useCallback)((e,t)=>{let n=e.find(e=>Ot(e,t));r(e=>e&&n&&Ot(e,t)?{...n,isSelectedFilter:!0}:e)},[r]),m=(0,c.useCallback)((t,n,r,a)=>{let{promise:o,shouldTrackLoading:s}=e.startFetch(t);s&&d(),o.then(o=>{if(a){let{filters:i,changed:s}=e.cleanIncompatible(t,o,a);if(s){e.commit(o),r?.(!0),l(!0),m(i,n,r,a);return}}let s=e.fill(t,o);e.commit(o),r?.(!1),n(s),a&&(p(s,a),i(a,e.getRebuildConstraints(a,o)))}).catch(()=>{let i=e.fallbackResult(t),o=e.fill(t,i);e.commit(i),r?.(!1),n(o),a&&p(o,a)}).finally(()=>{l(!1),s&&f()})},[f,i,d,e,p]),h=(0,c.useCallback)((t,i)=>{let a=e.fill(t,i);e.commit(i),r(e=>a?.find(t=>Ot(t,e))||e),n(a),l(!1)},[n,r,e]);return{isConstraintsLoading:a,isDisableFilterValues:s,isFilterValuesLoading:u,setIsConstraintsLoading:o,handleFiltersWithConstraints:m,handleFiltersDelete:(0,c.useCallback)((t,r)=>{l(!0),n(Rt(t));let{promise:i,shouldTrackLoading:a}=e.startFetch(t,r);a&&d(),i.then(e=>{h(t,e)}).catch(()=>{h(t,e.fallbackResult(t))}).finally(()=>{a&&f()})},[f,n,d,e,h]),updateSelectedFilterValues:(0,c.useCallback)(e=>{let r=e?t.map(t=>Ot(t,e)?e:t):t;l(!0),n(Rt(r)),o(!0),m(e?.isTimeDimension?kt(r,e):r,n,o,e)},[m,t,n])}},Ti=({init:e,setAppliedFilters:t,setIsConstraintsLoading:n,handleFiltersWithConstraints:r})=>{let{prepareInit:i,markInitialized:a}=e;(0,c.useEffect)(()=>{let e=i();if(e.status===`pending`){n(!0);return}e.status!==`skip`&&(n(!0),r(e.filters,t,n),a?.())},[i,a,t,n,r])},Ei=({mode:e,modalState:t,dataQueries:n,hierarchyStateMap:r,loadAvailableHierarchies:i})=>{let a=e===`multi`,[o,s]=(0,c.useState)([]),[l,u]=(0,c.useState)([]),[f,p]=(0,c.useState)(),[m,h]=(0,c.useState)([]),[g,_]=(0,c.useState)(void 0),[v,y]=(0,c.useState)(new Set),[b,x]=(0,c.useState)(new Set);return(0,c.useEffect)(()=>{l?.length&&h(Mt(l))},[l]),(0,c.useEffect)(()=>{s(e=>kt(e,f))},[f]),(0,c.useEffect)(()=>{if(t===d.PopUpState.Opened){a&&_(void 0);let e=l.find(e=>!e.isTimeDimension);if(p(e?{...e,isSelectedFilter:!0}:void 0),s(l),a){let e=new Set(n?.filter(e=>e.disabled).map(e=>e.urn));y(e),x(e)}}t===d.PopUpState.Closed&&p(void 0)},[l,n,a,t]),(0,c.useEffect)(()=>{if(!f||f.isTimeDimension)return;let e=Dt(f);e&&(r.get(e)||i(f))},[f,r,i]),(0,c.useEffect)(()=>{t===d.PopUpState.Opened&&l.forEach(e=>{if(e.isTimeDimension)return;let t=Dt(e);t&&!r.has(t)&&i(e)})},[t,l,r,i]),{modalFilters:o,setModalFilters:s,appliedFilters:l,setAppliedFilters:u,selectedFilter:f,setSelectedFilter:p,selectedFilterValues:m,selectedTimeOption:g,disabledDatasetUrns:v,appliedDisabledUrns:b,onSelectDisplayMode:(0,c.useCallback)((e,t)=>{s(n=>At(n,e,t)),Ot(f,e)&&p(e=>e&&{...e,displayMode:t})},[f]),onClearAllDatasets:(0,c.useCallback)(()=>{y(new Set)},[]),onToggleDataset:(0,c.useCallback)((e,t)=>{y(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})},[]),onTimePeriodChange:(0,c.useCallback)(e=>{_(e)},[])}},Di=({buildSystemMessage:e,conversation:t,conversationKey:n,setConversation:r,updateConversation:i,updateDataQueries:a})=>{let o=(0,c.useRef)(t);return(0,c.useEffect)(()=>{o.current=t},[t]),(0,c.useCallback)(async(t,s)=>{let{conversation:c,nextDataQueries:l}=e(o.current??null,t,s??new Set);r?.(c),a?.(l),await i(decodeURI(n),{name:c?.name,messages:c?.messages||[]})},[e,n,r,i,a])},Oi=({actions:e,buttonProps:t,modalProps:n,dataQueries:r,locale:i,timeRangeOptions:a,conversationKey:o,conversation:s,setConversation:l,updateConversation:u,updateDataQueries:f,limitMessages:p,filterIconClassName:m},h)=>{let{mode:g,constraints:_,apply:v,buildSystemMessage:y,init:b,getConstraintsForFilter:x,getCodelistUrnForFilter:S,getSourceArtefactUrn:C,remember:w,restore:T,getDeleteTargets:E,getClearTargets:D,controllerOptions:O,timeSeriesCount:k}=h,{modalState:A,setModalState:j,isModalClosed:M,setIsModalClosed:N}=yi(),{hierarchyStateMap:P,rebuildHierarchyTree:F,loadAvailableHierarchies:I,onSelectHierarchy:L,onExpandHierarchyNode:R}=xi({getCodelistUrnForFilter:S,getConstraintsForFilter:x,getSourceArtefactUrn:C,getAvailableHierarchies:e?.getAvailableHierarchies,getHierarchy:e?.getHierarchy}),{modalFilters:z,setModalFilters:B,appliedFilters:V,setAppliedFilters:H,selectedFilter:U,setSelectedFilter:W,selectedFilterValues:G,selectedTimeOption:K,disabledDatasetUrns:q,appliedDisabledUrns:ee,onSelectDisplayMode:J,onClearAllDatasets:te,onToggleDataset:ne,onTimePeriodChange:re}=Ei({mode:g,modalState:A,dataQueries:g===`multi`?r:void 0,hierarchyStateMap:P,loadAvailableHierarchies:I}),{isConstraintsLoading:ie,isDisableFilterValues:ae,isFilterValuesLoading:oe,setIsConstraintsLoading:se,handleFiltersWithConstraints:ce,handleFiltersDelete:Y,updateSelectedFilterValues:le}=wi({strategy:_,modalFilters:z,setModalFilters:B,setSelectedFilter:W,rebuildHierarchyTree:F});(0,c.useEffect)(()=>{A===d.PopUpState.Closed&&w()},[A,w]),Ti({init:b,setAppliedFilters:H,setIsConstraintsLoading:se,handleFiltersWithConstraints:ce});let ue=(0,c.useCallback)(()=>{j(d.PopUpState.Closed),N(!0)},[j,N]),de=(0,c.useCallback)(()=>{T(),ue()},[ue,T]),{isFiltersUnchanged:fe,onApply:pe}=Si({apply:v,modalFilters:z,appliedFilters:V,disabledDatasetUrns:q,appliedDisabledUrns:ee,setAppliedFilters:H,closeModal:ue,addSystemMessage:Di({buildSystemMessage:y,conversation:s,conversationKey:o,setConversation:l,updateConversation:u,updateDataQueries:f})}),me=(0,c.useCallback)(e=>{Y(Ft(z,e),E(e,r))},[r,E,Y,z]),he=(0,c.useCallback)(()=>{Y(It(z),D(r)),g===`multi`&&te()},[r,D,Y,g,z,te]),ge=ie||ae||fe;return{buttonProps:t,selectedFiltersCount:Nt(G),isLoading:ie,setModalState:j,isModalClosed:M,filterIconClassName:m,timeSeriesCount:k,modalState:A,modalProps:n,onApply:pe,onClose:de,onClearAllFilters:he,applyDisabled:ge,limitMessages:p,controller:{state:{filtersList:z,selectedFilter:U,isDisableValues:ae,isValuesLoading:oe,selectedTimeOption:K,disabledDatasetUrns:q,timeSeriesCount:k===void 0?void 0:`${k}`},options:{locale:i,timeRangeOptions:a,modalProps:n,...O},handlers:{setSelectedFilter:W,onSelectDisplayMode:J,onDeleteFilter:me,onClearAllFilters:he,updateSelectedFilterValues:le,onTimePeriodChange:re,onToggleDataset:ne,onClearAllDatasets:te},hierarchy:{hierarchyStateMap:P,onSelectHierarchy:L,onExpandHierarchyNode:R}}}},ki=(e,t,n,r)=>e?.map(e=>({...e,filters:t?t?.get(e?.urn)||[]:n&&r?.urn===e?.urn?n:e?.filters}))||[],Ai=e=>{let t=e.filterType===`dataset`?[e.datasetUrn]:e.sourceDatasetUrns;return Array.from(new Set((t||[]).filter(e=>!!e)))},ji=(e,t)=>{if(!t)return!1;let n=e.dataStructureComponents?.dimensionList;return[...n?.dimensions||[],...n?.timeDimensions||[]].some(e=>e.id===t)},Mi=e=>{if(!e.length||e.some(e=>!e))return;let t=Array.from(new Set(e));return t.length===1?t[0]:void 0},Ni=(e,t)=>{let n=t?.dataStructures||[];if(!n.length)return[];let r=n.filter(t=>ji(t,e));return r.length?r:n.length===1?n:[]},Pi=e=>e.urn??(0,b.generateShortUrn)(e.id,e.version,e.agencyID),Fi=(e,t)=>Mi(Ni(e,t).map(Pi)),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,b.getKeyFromUrn)(i.localRepresentation?.enumeration);if(a)return a;let o=r?.get(t),s=(0,b.findCodelistByDimension)(o?.codelists,o?.conceptSchemes,i);return s?(0,b.getKeyFromUrn)(s.urn)??(0,b.generateShortUrn)(s.id,s.version,s.agencyID):void 0},Li=(e,t,n)=>{let r=Ai(e);return{codelistUrn:Mi(r.map(r=>Ii(e.id,r,t,n))),sourceArtefactUrn:Mi(r.map(t=>Fi(e.id,n?.get(t))))}},Ri=(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,b.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,b.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},zi=(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=Ri(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}},Bi=(e,t,n,r,i,a)=>zi(e,t,n,r,i?.id,a),Vi=(e,t,n,r,i)=>{let a=!1,o=new Map;return e.forEach((e,s)=>{let c=n?.filterType===`shared`?$n(n,s,i):n?.datasetUrn===s?n.id:void 0,l=zi(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}},Hi=(e,t,n)=>{let r=t?.find(t=>t.id===e.id);if(!r)return;let i=(0,b.getKeyFromUrn)(r.localRepresentation?.enumeration);if(i)return i;let a=(0,b.findCodelistByDimension)(n?.codelists,n?.conceptSchemes,r);return a?(0,b.getKeyFromUrn)(a.urn)??(0,b.generateShortUrn)(a.id,a.version,a.agencyID):void 0},Ui=e=>ln(an(e).filter(e=>e.componentCode!==b.TIME_PERIOD)),Wi=(e,t,n)=>{let r=Ui(n),i=e?.getConstraints;if(!i)return{request:Promise.resolve(void 0),shouldTrackLoading:!1};let a=pn(t,r);return{request:mn(i,a,()=>i(t,r)),shouldTrackLoading:!hn(i,a)}},Gi=({dimensions:e,structures:t,structureDimensions:n,locale:r,constraints:i})=>{let a=Tt(e,t,n,r),o=e?.map(e=>{let n=(0,b.getAvailableCodesFromConstrains)((0,b.findCodelistByDimension)(t?.codelists,t?.conceptSchemes,e)?.codes,e.id,i,r);return{...e,dimensionValues:n}});return a.map(e=>{let t=o?.find(t=>t.id===e.id)?.dimensionValues||[];return{...e,dimensionValues:t}})},Ki=({dimensions:e,structures:t,structureDimensions:n,locale:r,constraints:i,dataQuery:a})=>Lt(Gi({dimensions:e,structures:t,structureDimensions:n,locale:r,constraints:i}),a,i),qi=e=>{let t=[];return e.custom_content?.attachments&&t.push(...e.custom_content.attachments),t};function Ji(e){return e.type===m.AttachmentType.MARKDOWN&&e.title!=null&&e.title?.startsWith(`URL Query`)}function Yi(e){return e.type===m.AttachmentType.JSON&&e.title!=null&&e.title?.startsWith(`Query (JSON)`)}function Xi(e){return e.type===m.AttachmentType.MARKDOWN&&!Ji(e)}function Zi(e){return e.type===m.AttachmentType.CSV}function Qi(e){return e.type===m.AttachmentType.TABLE}function $i(e){return e.type===m.AttachmentType.CUSTOM_DATA_GRID}function ea(e){return e.type===m.AttachmentType.CUSTOM_CHART}function ta(e){return e.type===m.AttachmentType.PLOTLY}function na(e){return e.type===m.AttachmentType.CUSTOM_CODE_SAMPLE}function ra(e){return e.type===m.AttachmentType.CROSS_DATASET_GRID}function ia(e){return Qi(e)||$i(e)||ra(e)}var aa=(e,t)=>e?.filter((e,n)=>e?.custom_content?.attachments&&n<t)?.at(-1),oa=e=>e?.reduce((e,t,n)=>t?.custom_content?.attachments?.some(e=>Yi(e))?n:e,-1),sa=e=>e?.reduce((e,t)=>t?.role===u.Role.Assistant?t:e,{}),ca=e=>e.type===`text/markdown`&&!!e.data?.includes("```python"),la=(e,t)=>{let n=e?.custom_content?.attachments?.filter(ca)??[],r=t?.custom_content?.attachments?.filter(ca)??[],i=new Map;for(let e of[...n,...r])i.set(e.title??e.data??``,e);return[...i.values()]},ua=(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}}),da=(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=sa(s),l=la(c,o?a:void 0),d=ua(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]},fa=({actions:e,attachmentsDataQuery:t,dataQueries:n,dimensions:r,structureDimensions:i,structures:a,initialConstraints:o,locale:s,onFiltersChange:l})=>{let u=(0,c.useRef)(o||[]),d=(0,c.useRef)(!1),[f,p]=(0,c.useState)([]),m=(0,c.useCallback)(n=>{let{request:r,shouldTrackLoading:i}=Wi(e,t?.urn??``,n);return{promise:r.then(e=>e?.data?.dataConstraints||[]),shouldTrackLoading:i}},[e,t]),h=(0,c.useCallback)(()=>[],[]),g=(0,c.useCallback)((e,t,n)=>Bi(e,r,a,t,n,s),[r,a,s]),_=(0,c.useCallback)((e,t)=>rn(e,r,a,t,s),[r,a,s]),v=(0,c.useCallback)(e=>{u.current=e},[]),y=(0,c.useCallback)((e,t)=>t,[]),x=(0,c.useCallback)(()=>u.current,[]),S=(0,c.useCallback)(e=>Hi(e,r,a),[r,a]),C=(0,c.useCallback)(e=>Fi(e.id,a),[a]),w=(0,c.useCallback)((e,t)=>(0,T.default)(yn(e,r),yn(t,r)),[r]),E=(0,c.useCallback)(e=>{let t=yn(e,r);return l?.(t,u.current,e),{appliedFilters:e,systemMessageFilters:e}},[r,l]),D=(0,c.useCallback)((e,r)=>{let i=En(r);return{conversation:e?{...e,messages:da(e.messages,n,void 0,i,t)}:null,nextDataQueries:ki(n,void 0,i,t)}},[t,n]),O=(0,c.useCallback)(()=>d.current||!a?{status:`skip`}:{status:`ready`,filters:Ki({dimensions:r,structures:a,structureDimensions:i,locale:s,constraints:u.current,dataQuery:t})},[t,r,s,i,a]),k=(0,c.useCallback)(()=>{d.current=!0},[]),A=(0,c.useCallback)(()=>{p(u.current)},[]),j=(0,c.useCallback)(()=>{u.current=f},[f]),M=(0,c.useCallback)(()=>void 0,[]),N=(0,c.useCallback)(()=>void 0,[]);return{mode:`single`,constraints:(0,c.useMemo)(()=>({startFetch:m,fallbackResult:h,cleanIncompatible:g,fill:_,commit:v,getRebuildConstraints:y}),[m,h,g,_,v,y]),apply:(0,c.useMemo)(()=>({getIsFiltersUnchanged:w,runApply:E}),[w,E]),buildSystemMessage:D,init:(0,c.useMemo)(()=>({prepareInit:O,markInitialized:k}),[O,k]),getConstraintsForFilter:x,getCodelistUrnForFilter:S,getSourceArtefactUrn:C,remember:A,restore:j,getDeleteTargets:M,getClearTargets:N,controllerOptions:(0,c.useMemo)(()=>({initialConstraints:o,dataQueries:t?[t]:void 0}),[o,t]),timeSeriesCount:Number((0,b.getTimeSeriesCount)(u.current?.[0]?.annotations))}},pa=e=>Oi(e,fa({actions:e.actions,attachmentsDataQuery:e.attachmentsDataQuery,dataQueries:e.dataQueries,dimensions:e.dimensions,structureDimensions:e.structureDimensions,structures:e.structures,initialConstraints:e.initialConstraints,locale:e.locale,onFiltersChange:e.onFiltersChange})),ma=e=>(0,l.jsx)(gi,{...pa(e)}),ha=({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))}),ga=({titles:e,attachmentInfoList:t,datasetIcon:n,dataQueries:r})=>{let{isCrossDatasetModeOn:i}=Z(),{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(jn.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)(ha,{setToTitle:e?.setToTitle,queryFilterDetails:a}),o.map(t=>(0,l.jsx)(ha,{setToTitle:e?.setToTitle,datasetName:t.datasetName,datasetIcon:n,isShowDatasetDetails:!0,queryFilterDetails:t.queryFiltersDetails},t.datasetName))]}):t?.map(r=>!!r?.queryFiltersDetails?.length&&(0,l.jsx)(ha,{setToTitle:e?.setToTitle,datasetName:r?.datasetName,datasetIcon:n,isShowDatasetDetails:t?.length>1,queryFilterDetails:r?.queryFiltersDetails},r?.datasetName))]})},_a=({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]})]})}),va=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`})]}),ya=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`})]}),ba=[{value:b.SdmxDataFormat.JSON,title:`SDMX-JSON`},{value:b.SdmxDataFormat.XML,title:`SDMX-ML (XML)`},{value:b.SdmxDataFormat.CSV,title:`SDMX-CSV`}],xa=e=>[{value:b.FileColumnsAttribute.ID,title:e?.idOptions||`ID`,description:e?.idOptionsDescription},{value:b.FileColumnsAttribute.NAME,title:e?.nameOptions||`Name`,description:e?.nameOptionsDescription},{value:b.FileColumnsAttribute.ID_NAME,title:e?.idAndNameOptions||`Combined ID and Name`,description:e?.idAndNameOptionsDescription}],Sa=({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})]})},Ca=({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})]})},wa=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(b.GET_v3_FILTER_OR):`*`}).join(`.`),timeFilter:n?(0,b.getTimeQueryFilter)(e,{id:n}):null}:null},Ta=(e,t,n,r)=>{if(t&&e===b.DownloadType.DATA_IN_TABLE){let e=wa(t);if(e)return e}if(r?.filterKey&&e===b.DownloadType.DATA_IN_TABLE)return r;let i=null,a=null;return t&&n&&e===b.DownloadType.DATA_IN_TABLE&&(i=(0,b.getTimeSeriesFilterKey)(n,t.filters??[]),a=(0,b.getTimeQueryFilter)(t,(0,b.getTimeDimension)(n))),{filterKey:i,timeFilter:a}},Ea=({dataQuery:e,datasetName:t,onCloseModal:n,type:r=b.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:y,showLimitMessage:x,externalLink:S})=>{let C=xa(u),[w,T]=(0,c.useState)(ba[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:Ta(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)(va,{width:44,height:24,className:`text-primary`,onClick:()=>k(!O)}):(0,l.jsx)(ya,{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:y,isDownload:!0,query:S})}),(0,l.jsxs)(`div`,{className:`download-settings flex flex-col overflow-auto p-6`,children:[(0,l.jsx)(Sa,{title:u?.dataFormat||`Data Format`,selectedValue:w,setSelectedValue:T,items:ba,collapsible:f,infoMessage:(0,l.jsx)(d.DownloadFormatMessage,{limitMessages:y,query:S})}),w.value===b.SdmxDataFormat.CSV&&(0,l.jsx)(Sa,{title:u?.attributes||`Attributes`,selectedValue:E,setSelectedValue:D,items:C,collapsible:f}),m&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(Ca,{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})]})]})},Da=({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,b.generateShortUrn)(e,n,r))},children:(0,l.jsx)(`h3`,{className:`dataset-tab-title truncate`,title:t,children:t})}),Oa=({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,b.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)(Da,{id:n?.id,title:(0,b.getLocalizedName)(n,t||h.Locale.EN),version:n?.version,agency:n?.agencyID,isActive:e?.length>1&&a===(0,b.generateShortUrn)(n?.id,n?.version,n?.agencyID),isSingleTab:e?.length===1,onSelectDataset:s},n?.id))})})},ka=3,Aa=({datasets:e,locale:t})=>{let{isOpenedAdvancedView:n}=I(),r=(0,c.useMemo)(()=>(e||[]).map(e=>({urn:(0,b.generateShortUrn)(e?.id,e?.version,e?.agencyID),title:(0,b.getLocalizedName)(e,t||h.Locale.EN)})),[e,t]),i=(0,c.useMemo)(()=>r.slice(0,ka),[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]})]})})},ja=({datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:r})=>{let{isCrossDatasetModeOn:i}=Z();return i?(0,l.jsx)(Aa,{datasets:e,locale:t}):(0,l.jsx)(Oa,{datasets:e,locale:t,initialSelectedDatasetUrn:n,selectDataset:r})},Ma=(e,t)=>{let n=t?.get(e?.urn),r=n?.conceptSchemes||[],i=n?.codelists||[],a=(0,b.getDimensions)(n);return{structures:n,conceptSchemes:r,codelists:i,dimensions:[...a?.dimensions||[],...a?.timeDimensions||[]]}},Na=(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}=Ma(e,n);Fa((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}=Ma(t,n),d=Pa(Fa(a?.filters||[],t?.urn,u,c,l,r,i),Fa(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,b.getLocalizedName)(s?.dataflows?.[0],r),queryFiltersDetails:d}})},Pa=(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()))||[]},Fa=(e,t,n,r,i,a,o)=>e?.map(e=>{let s=n.find(t=>t?.id===e?.componentCode),c=(0,b.getConcept)(s?.conceptIdentity||``,r),l=(0,b.findCodelistByDimension)(i,r,s);return{id:Kn(t,e?.componentCode,o)??e?.componentCode,title:(0,b.getLocalizedName)(c,a),valuesTitles:e?.operator===h.QueryFilterType.BETWEEN?[`${_t((0,h.getTimePeriod)(e?.values?.[0]),a)} - ${_t((0,h.getTimePeriod)(e?.values?.[1]),a)}`]:e?.values?.map(e=>(0,b.getLocalizedName)(l?.codes?.find(t=>t?.id===e),a)||e)}}),Ia=(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===b.TIME_PERIOD);r=e?.values?.[0]||``,i=e?.values?.[1]||``}return`&filter=${e?.filterKey||(0,b.getTimeSeriesFilterKey)(n||[],t?.filters||[])}&startPeriod=${r}&endPeriod=${i}`},La=(e,t,n,r)=>{let i=n?.metadata?.datasetUrl;return i?i+(e?Ia(t,n,r):``):``},Ra=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`})}),za=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`})}),Ba=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`})}),Va=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`})}),Ha=({attachment:e,index:t,selectedAttachmentIndex:n,onSelectedAttachmentChange:r,showTabIcon:i,dataGridTitle:a})=>{let{titles:o}=Y(),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?ta(e)||ea(e)?(0,l.jsx)(Ra,{className:t}):$i(e)||ra(e)?(0,l.jsx)(Ba,{className:t}):Ji(e)?(0,l.jsx)(Va,{className:t}):Xi(e)||na(e)?(0,l.jsx)(za,{className:t}):null:null,[i]),b=(0,c.useCallback)(e=>$i(e)?a||`Data Grid`:e.title,[a]);return(0,c.useEffect)(()=>{if(v&&ea(e)){let{title:e,description:t}=$e(X.CHARTS,o);d(e),m(t)}},[e,o,v]),(0,c.useEffect)(()=>{if(ea(e)&&v){let e=_?.lastDisplayedElement===X.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)(ct,{reference:s,title:u,description:f})]},e.index||t)},Ua=({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)(Ha,{attachment:e,index:n,...t},n))}),Wa=({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}=Z(),{isOpenedAdvancedView:b}=I(),{titles:x}=Y(),{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}=$e(X.OPEN_ADVANCED_VIEW,x);E(e),O(t)}},[x,C]),(0,c.useEffect)(()=>{if(C){let e=S?.lastDisplayedElement===X.OPEN_ADVANCED_VIEW;A(e),e&&w?.current?.scrollIntoView({block:`center`,behavior:`smooth`})}},[S?.lastDisplayedElement,C]);let j=y&&!h&&!!v&&!!(n&&($i(n)||ra(n))),M=!m&&!!n&&($i(n)||ra(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)(Ua,{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&&$i(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&&na(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)(ct,{reference:w,title:T,description:D,onReferenceClick:g,shouldCloseTooltip:b})]})},Ga=({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)})})})]})},Ka=`json`;function qa(e){return Ya(e)?Ja(e?.slice(4)):e}function Ja(e){let t=``;if(e)try{t=JSON.stringify(JSON.parse(e),null,2)}catch{t=e.toString()}return t}function Ya(e){return e?.startsWith(Ka)||!1}var Xa=({attachment:e,className:t=``})=>{let n=qa(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},Za=e=>{try{let t=new URL(e);return[`http:`,`https:`,`data:`].includes(t.protocol)}catch{return!1}},Qa=e=>Za(e)?e:``,$a=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`})}),eo=({attachment:e,openLinkTitle:t,className:n=``})=>{let r=Qa(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)($a,{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`})})]})})},to=({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))}),no=({chart:e,isOpen:t,onClose:n,datasetTitle:r})=>{let{titles:i}=Y(),[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)(Rr,{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)(to,{dimensionsInfo:e.dimensions})]}),(0,l.jsx)(`div`,{})]})})},ro=e=>{let{titles:t}=Y(),[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}=Z(),[y,b]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>io(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}=$e(X.CHART_PER_SERIES,t);u(e),p(n)}},[t,_]),(0,c.useEffect)(()=>{_&&h(g?.lastDisplayedElement===X.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)(Ra,{className:`size-5`}),onClick:S})}),m&&(0,l.jsx)(ct,{reference:o,title:s,description:f,onReferenceClick:S,shouldCloseTooltip:y}),n&&i&&(0,l.jsx)(no,{chart:i,isOpen:n,onClose:C,datasetTitle:v?e.data?.datasetTitle??void 0:void 0})]})};function io(e){return typeof e==`function`?e():e}var ao=`padding-0`,oo={flex:1,minWidth:200},so=`observationValueCell`,co=`metadataCell`,lo=`chartCell`,uo=`mergedDimensionCell`,fo=`datasetDetailCell`,po=`Chart_column`,mo=(e,t,n,r,i,a)=>({headerName:``,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ao,cellRenderer:co,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,metadataSettings:r,titles:i,action:a}});function ho(e,t,n,r=32,i,a){return{headerName:``,field:po,colId:po,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:`right`,width:r,maxWidth:r,minWidth:r,cellClass:ao,suppressColumnsToolPanel:!0,cellRenderer:ro,cellRendererParams:{attributesData:t,dataSetData:e,locale:n,titles:i,action:a}}}function go(e,t,n,r){return{headerName:``,suppressHeaderMenuButton:!0,suppressNavigable:!0,sortable:!1,editable:!1,pinned:!0,width:32,maxWidth:32,cellClass:ao,cellRenderer:co,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:r}}}var _o=[`index`,`value`],vo=e=>({columns:xo(e),data:yo(e)}),yo=e=>{let t=e.metadata.time_column,n={};for(let r of e.data.data){let{value:e,...i}=r,a=bo(r,t);n[a]={...n[a]||{},...i,[r[t]]:e}}return Object.values(n)},bo=(e,t)=>Object.keys(e).filter(e=>!_o.includes(e)&&e!==t).map(t=>e[t]).join(`.`),xo=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||_o.includes(e.name)||o.push({colId:e.name,field:e.name,headerName:e.name,pinned:`left`,...oo,tooltipValueGetter:e=>e.value});for(let e of[...u])e.name===r||_o.includes(e.name)||o.push({colId:e.name,field:e.name,headerName:e.name,pinned:!1,...oo,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}=vo(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})})},wo=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`})}),To=({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 Eo(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 Do=({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)(ft,{width:24,height:24}),onClick:t}),Oo=({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}=Eo(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)(Do,{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})]})},ko=({metadata:e,metadataDescription:t=[],locale:n})=>{let{titles:r}=Y();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)(To,{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)(Oo,{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`})})]})},Ao=({metadata:e,metadataDescription:t=[],isOpenMetadata:n,onCloseMetadata:r,locale:i})=>{let{titles:a}=Y(),[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)(ko,{locale:i,metadata:e,metadataDescription:t}),(0,l.jsx)(`div`,{})]})})},jo={dataset:`dataset`,agency:`agency`,lastUpdated:`lastUpdated`},Mo=({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)})]})]}),No=({title:e,value:t,attachedKeysTitles:n,isDimensionGroup:r})=>{let{valueRef:i,isExpanded:a,canToggle:o,toggle:s}=Eo(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)(Do,{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})]})},Po=new Set(Object.values(jo)),Fo=`, `,Io=({metadata:e,metadataDescription:t=[],datasetInfo:n,externalLink:r,locale:i})=>{let{titles:a}=Y(),o=(0,c.useCallback)(e=>Array.isArray(e)?e.map(e=>typeof e==`object`?e?.[i]??``:e).join(Fo):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===jo.dataset),r=t.find(e=>e?.id===jo.agency),i=t.find(e=>e?.id===jo.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||!Po.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)(Mo,{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)(No,{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 Lo(e,t){let{externalLink:n,externalLinksMap:r}=e??{};return t!=null&&r!=null?r.get(t):n}var Ro=e=>e?.data[e?.colDef?.field||0]?.obsAttributes,zo=e=>e?.data?.attributes,Bo=(e,t)=>Object.entries(e?.data).filter(([e])=>t?.get(e)).map(([e,t])=>({name:e,value:String(t)})),Vo=(e,t,n)=>{let r=typeof e==`object`?e?.[t]:e;return n?(0,b.getLocalizedName)(n?.codes?.find(t=>t?.id===e),t)||``:r},Ho=(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=>Vo(e,n,a)):Vo(e?.value,n,a);return{id:(0,b.getLocalizedName)(a,n)||e?.name,title:(0,b.getLocalizedName)(a||i,n),value:o||e?.value}})||[],Uo=(e,t,n)=>({title:n?.dataset||`Dataset`,value:(0,b.getLocalizedName)(e,t)}),Wo=(e,t,n,r)=>[{...Uo(e,n,r),id:jo.dataset},{id:jo.agency,title:r?.agency??`Agency`,value:e?.agencyID},{id:jo.lastUpdated,title:r?.lastUpdated??`Last updated`,value:t}],Go=(e,t,n,r)=>({dataset:e?{...Uo(e,n,r),id:jo.dataset}:void 0,agency:e?{id:jo.agency,title:r?.agency??`Agency`,value:e?.agencyID}:void 0,lastUpdated:e?{id:jo.lastUpdated,title:r?.lastUpdated??`Last updated`,value:t}:void 0}),Ko=(e,t,n)=>({title:(0,b.getDimensionTitle)(e?.conceptSchemes,(0,b.getDimensions)(e)?.timeDimensions?.[0],t),value:n?.colId||``}),qo=(e,t)=>({title:t?.observation||`Observation`,value:e}),Jo=(e,t,n,r,i,a)=>{let o={title:r?.timeSeries||`Time Series`,value:a?.originalData?.name};return n?[Ko(e,t,i),o,qo(n,r)]:[o]},Yo=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},Xo=(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},Zo=(e,t,n)=>e?.map(e=>{let r=e?.id,i=e?.values?.[0]?.value,a=(typeof i==`object`?Xo(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,b.getLocalizedName)(c?.codes?.find(e=>e?.id===a),n)||(0,b.getLocalizedName)(e?.values?.[0],n)||a,u=o&&o.map(e=>{let t=typeof e==`object`?Xo(e,n):String(e);return(0,b.getLocalizedName)(c?.codes?.find(e=>e?.id===t),n)||t}).filter(e=>e!=null);return{id:r,title:(0,b.getLocalizedName)(s,n)||r,value:u?.length?u:l}}).filter(({value:e})=>!!e)||[],Qo=(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}=$o(e,t,r);return[n.id,{values:i?.[a]||[],decodedSeriesKey:o,codedSeriesKey:a}]}))},$o=(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(`:`)}},es=(e,t)=>t==null?void 0:e?.values?.[t]||(typeof t==`object`&&!Array.isArray(t)||Array.isArray(t)?{values:t}:{value:t?.toString()}),ts=e=>{let t=e?.value||e?.id,n=e?.values||e?.ids;return t==null?n||[null]:[t]},ns=(e,t,n)=>t==null?t:(n?.get(e||``))?.codes?.find(e=>e?.id===t)?.name||t,rs=(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,b.getLocalizedName)(t?.get(i),r),c=ns(i,e,t);o.push(`${s}: ${c}`)}}),o},is=(e,t,n,r,i=h.Locale.EN)=>{if(!e||!t||!r)return[];let a=e?.structures?.[0]?.attributes?.dimensionGroup||[],o=Qo(e,r);return a?.map((e,r)=>{let a=o?.get(e?.id),s=n?.get(e?.id),c=ts(es(e,a?.values?.[r]));return{id:e?.id,title:(0,b.getLocalizedName)(s,i),value:Array.isArray(c)?c?.map(t=>ns(e?.id,t,n)||``):c,attachedKeysTitles:rs(a?.decodedSeriesKey,n,t),isDimensionGroup:!0}})?.filter(({value:e})=>e?.some(e=>!!e))||[]},as=(0,A.extendTailwindMerge)({extend:{classGroups:{typography:[`h1`,`h2`,`h3`,`h4`,`h5`,`body-1`,`body-2`,`body-3`,`caption`]}}});function os(...e){return as((0,p.default)(...e))}function ss({title:e,headerExtension:t,headerClassName:n,onClose:r,bodyClassName:i,panelClassName:a,children:o}){return(0,l.jsxs)(`div`,{className:os(`h-full w-[362px] bg-white border-l border-neutrals-500 flex flex-col overflow-hidden`,a),children:[(0,l.jsxs)(`div`,{className:os(`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:os(`flex-1 min-h-0 overflow-hidden`,i),children:o})]})}var cs=(0,c.createContext)(null);function ls({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)(cs.Provider,{value:o,children:e})}function us(){return(0,c.useContext)(cs)}function ds(){let e=us();if(!e)return null;let{openPanel:t,closePanel:n,isPanelOpen:r}=e;return{openPanel:t,closePanel:n,isPanelOpen:r}}function fs({scope:e}){let t=us();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)(ss,{title:n.title,headerExtension:n.headerExtension,headerClassName:n.headerClassName,onClose:r,bodyClassName:n.bodyClassName,panelClassName:n.panelClassName,children:n.content})}var ps={},ms={},hs=(0,c.createContext)({map:ps,getDimensionsMetadata:()=>void 0,getDimensionMetadata:()=>void 0,getRegionDimension:()=>void 0,getFrequencyDimension:()=>void 0,getIndicatorDimensions:()=>[],getDimensionsScheme:()=>void 0,getDatasetLastUpdated:e=>(0,b.getLastUpdatedTime)(e)});function gs({map:e,lastUpdatedMap:t=ms,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,b.generateShortUrn)(e.id,e.version,e.agencyID)]||(0,b.getLastUpdatedTime)(e)}}},[e,t]);return(0,l.jsx)(hs.Provider,{value:r,children:n})}function _s(){return(0,c.useContext)(hs)}function vs(){return(0,c.useContext)(hs)}var ys=e=>e===h.Locale.UK?`dd MMM, yyyy`:` MMM dd, yyyy hh:mm aa`,bs=(e,t)=>{let n=ys(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):``},xs=e=>{let{titles:t}=Y(),[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(),_=ds(),{isMetadataInSidePanel:v}=Z(),{getDatasetLastUpdated:y}=_s(),[x,S]=(0,c.useState)(!1),C=e?.data?.dataset?.urn,w=Lo(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,b.getStructureComponentsMap)(T),[T]),O=(0,c.useMemo)(()=>[Uo(T?.dataflows?.[0],e?.locale,t),...Ho(Bo(e,D),D,e?.locale),...Ho(zo(e),D,e?.locale),...is(E,T?.dataStructures?.[0],D,e?.data?.originalData?.parsedTimeSeriesValue,e?.locale)],[e,T,E,D,t]),k=(0,c.useMemo)(()=>Jo(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 Go(n,bs(y(n),e?.locale),e?.locale,t)},[T,e?.locale,t,y]),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)(Io,{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}=$e(X.METADATA_PER_SERIES,t);o(e),u(n)}},[t,h]),(0,c.useEffect)(()=>{if(h){let t=m?.lastDisplayedElement===X.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)(wo,{className:`size-5`}),onClick:j})}),f&&(0,l.jsx)(ct,{reference:i,title:a,description:s,onReferenceClick:j,shouldCloseTooltip:x}),n&&(0,l.jsx)(Ao,{locale:e?.locale,metadata:O,metadataDescription:e?.metadataSettings?.isMetadataDescription?k:[],isOpenMetadata:n,onCloseMetadata:M})]})},Ss=(e,t,n=b.getLastUpdatedTime)=>{let r=Cs(e),i=(0,b.getStructureComponentsMap)(r),a=e?.valueFormatted||e?.value,o=Ho(t,i,e?.locale),s=[Uo(r?.dataflows?.[0],e?.locale,e?.titles),...Ho(Bo(e,i),i,e?.locale),...e?.metadataSettings?.isMetadataDescription?[]:[Ko(r,e?.locale,e?.colDef),qo(a,e?.titles)],...o],c=e?.metadataSettings?.isMetadataDescription?Jo(r,e?.locale,a,e?.titles,e?.colDef,e?.data):[],l=r?.dataflows?.[0];return{metadata:s,metadataDescription:c,sidePanelDatasetInfo:Go(l,bs(n(l),e?.locale),e?.locale,e?.titles)}},Cs=e=>{if(e.structuresMap){let t=e?.data?.dataset?.urn;return t==null?void 0:e.structuresMap.get(t)}return e.dataSetData},ws=`observation-metadata-side-panel`,Ts=({params:e,obsAttributes:t})=>{let{titles:n}=Y(),[r,i]=(0,c.useState)(null),{isOpenedAdvancedView:a}=I(),o=ds(),{isMetadataInSidePanel:s}=Z(),{getDatasetLastUpdated:u}=_s(),d=e?.data?.dataset?.urn,f=Lo(e?.context,d),p=(0,c.useCallback)(()=>{let r=Ss(e,t,u);if(s&&o){o.openPanel({id:ws,scope:a?`advanced`:`conversation`,title:n?.metadata||`Metadata`,bodyClassName:`overflow-hidden`,content:(0,l.jsx)(Io,{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)(Ao,{locale:e?.locale,metadata:r.metadata,metadataDescription:r.metadataDescription,isOpenMetadata:!0,onCloseMetadata:m})]})},Es=e=>{let t=Ro(e);return t?.length?(0,l.jsx)(Ts,{params:e,obsAttributes:t}):(0,l.jsx)(`div`,{className:`relative size-full p-2 text-end`,children:e?.valueFormatted||e?.value})},Ds=({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}),Os=({attachment:e,isDataLoading:t,isChartColumnVisible:n,fixHeight:r,externalLink:i,showLimitMessage:a,onApiReady:o})=>{let{titles:s}=Y(),[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}=$e(X.DATA_GRID,s);x(e),C(t)}},[s,E]),(0,c.useEffect)(()=>{D&&!D?.infoElements?.dataGrid&&O?.({...D,infoElements:{...D?.infoElements,dataGrid:!0},lastDisplayedElement:X.DATA_GRID})},[D,O]),(0,c.useEffect)(()=>{if(E){let e=D?.lastDisplayedElement===X.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)(()=>({[co]:xs,[so]:Es,[lo]:ro}),[]),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)(Ds,{ref:y,fixHeight:r,gridHeight:_,children:N}),w&&(0,l.jsx)(ct,{reference:y,title:b,description:S,supressReferenceClick:!0})]})};function ks(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 As=200,js=8,Ms=2,Ns=({currentIndex:e,totalCount:t,icons:n,onPrev:r,onNext:i})=>{let{titles:a}=Y(),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}=$e(X.CHARTS_NAVIGATION,a);u(e),f(t)}},[a,_]),(0,c.useEffect)(()=>{if(_){let e=g?.lastDisplayedElement===X.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(js*t,As):0,b=t>0?Math.max(y/t,Ms):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?.[J.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?.[J.NEXT]}),m&&(0,l.jsx)(ct,{reference:o,title:s,description:d})]})},Ps=({limitAmount:e,openAdvancedView:t,prefixIcon:n,contentClassName:r})=>{let{titles:i}=Y(),[a,o]=(0,c.useState)(!1),{refs:s,floatingStyles:u,context:d}=(0,y.useFloating)({open:a,onOpenChange:o,placement:`top-start`}),{getReferenceProps:f,getFloatingProps:p}=(0,y.useInteractions)([(0,y.useHover)(d,{handleClose:(0,y.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:os(`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 Fs(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 Is=({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+=Fs(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})},Ls=({attachment:e,icons:t,isDataLoading:n,openAdvancedView:r,fixHeight:i=!0,limitationInfoPrefixIcon:a,limitationInfoContentClassName:o})=>{let{titles:s}=Y(),[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),ks(()=>{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&&(at(w)&&(E?.(it(w)),D?.current?.scrollIntoView({block:`center`,behavior:`smooth`})),w.lastDisplayedElement===X.CHART_PER_SERIES&&E?.(rt(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)(Rr,{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)(Is,{option:b.config,style:{width:`100%`,height:`100%`,minHeight:0}}),b.limitedByRowsAmountTo&&(0,l.jsx)(Ps,{limitAmount:b.limitedByRowsAmountTo,openAdvancedView:r,prefixIcon:a,contentClassName:o}),g.length>1&&(0,l.jsx)(Ns,{icons:t,currentIndex:v,totalCount:g.length,onNext:A,onPrev:j})]})]}),(0,l.jsx)(to,{dimensionsInfo:b.dimensions})]})]})})})},Rs=({attachment:e,className:t})=>{let{data:n,language:r}=e;return(0,l.jsx)(`div`,{className:os([`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}})})},zs=`dataset_name`,Bs=`agency`,Vs=`country_aggregated`,Hs=`indicator_aggregated`,Us=`frequency_aggregated`;function Ws(e){return{columnState:e.getColumnState(),columnGroupState:e.getColumnGroupState()??[]}}function Gs(e,t){t&&(e.applyColumnState({state:t.columnState,applyOrder:!0}),e.setColumnGroupState(t.columnGroupState))}var Ks=[`columnVisible`,`columnMoved`,`displayedColumnsChanged`,`newColumnsLoaded`,`gridColumnsChanged`,`columnPinned`];function qs(e,t){(0,c.useEffect)(()=>{if(e){for(let n of Ks)e.addEventListener(n,t);return()=>{for(let n of Ks)e.removeEventListener(n,t)}}},[e,t])}function Js({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=Ws(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,Ws(t))},[e,t]),u=(0,c.useCallback)(()=>{o.current.delete(e)},[e]),d=(0,c.useCallback)(()=>{a.current.delete(e),i(null)},[e]);return qs(t,l),{gridApi:t,onGridApiReady:s,initialColumnsState:r,clearUserColumnState:u,clearInitialColumnState:d}}var Ys=function(e){return e.Compact=`compact`,e.Extended=`extended`,e}({}),Xs=(0,c.createContext)(null);function Zs({currentUrn:e,structuresMap:t,locale:n,dataQueries:r,gridViewMode:i=Ys.Compact,onGridViewModeChange:a,texts:o,resetIcon:s,children:u}){let{gridApi:d,onGridApiReady:f,initialColumnsState:p,clearUserColumnState:m,clearInitialColumnState:h}=Js({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)(Xs.Provider,{value:C,children:u})}function Qs(){let e=(0,c.useContext)(Xs);if(!e)throw Error(`useTableSettingsContext must be used within TableSettingsProvider`);return e}var $s=()=>(0,c.useContext)(Xs);function ec(e,t,n){let r=(0,b.getConcept)(e.conceptIdentity,t),i=e?.localRepresentation?.enumeration,a=r?.coreRepresentation?.enumeration;return{concept:r,codeList:(0,b.getArtifactByUrnWithWildCard)(i||a,n)||void 0}}function tc(e,t,n){let r=e.findIndex(e=>e.id===t);return n.originalData.parsedTimeSeriesValue[r]}function nc(e,t,n,r,i){let a=tc(e,t,r),o=n?.codes?.find(e=>e.id===a);return(0,b.getLocalizedName)(o,i)}function rc(e,t,n,r,i=Ys.Compact){let a=i===Ys.Extended?cc(e,t,n):[ac(e,t,n,r)];return[ic(e,t,n,r),...a,oc(e,t,n,r),...sc(e,t,n)]}function ic(e,t,n,r){return dc(r?.countryDimensions||`Country dimensions`,Vs,r=>{let{structures:i,urn:a,data:o}=fc(r,e),s=t.get(a)?.region;return o==null||a==null||i==null||s==null?``:pc(i,s,o,n)},e,t,n,r)}function ac(e,t,n,r){return dc(r?.indicatorDimensions||`Indicator dimensions`,Hs,r=>{let{structures:i,urn:a,data:o}=fc(r,e),s=t.get(a)?.indicators;return o==null||a==null||i==null||s==null||s.length===0?``:s.map(e=>pc(i,e,o,n)||``).join(`.`)},e,t,n,r)}function oc(e,t,n,r){return dc(r?.frequency||`Frequency`,Us,r=>{let{structures:i,urn:a,data:o}=fc(r,e),s=t.get(a)?.frequency;return o==null||a==null||i==null||s==null?``:pc(i,s,o,n)},e,t,n,r)}function sc(e,t,n){let r=new Set;return t.forEach(e=>{e?.other?.forEach(e=>{r.add(e)})}),Array.from(r).map(r=>lc(r,e,t,n))}function cc(e,t,n){let r=new Set;return t.forEach(e=>{e?.indicators?.forEach(e=>{r.add(e)})}),Array.from(r).map(r=>({headerName:uc(r,e,n),field:r,colId:r,valueGetter:i=>{let{structures:a,urn:o,data:s}=fc(i,e),c=t.get(o)?.indicators??[];return s==null||o==null||a==null||!c.includes(r)?``:pc(a,r,s,n)},...oo,cellClass:ao,tooltipValueGetter:e=>e.value}))}function lc(e,t,n,r){return{...dc(uc(e,t,r),e,i=>{let{structures:a,urn:o,data:s}=fc(i,t),c=n.get(o)?.other??[];return s==null||o==null||a==null||!c.includes(e)?``:pc(a,e,s,r)},t,n,r),hide:!0}}function uc(e,t,n){for(let r of t.values()){if(!r)continue;let t=((0,b.getDimensions)(r)?.dimensions||[]).find(t=>t.id===e);if(t)return(0,b.getDimensionTitle)(r.conceptSchemes,t,n)??e}return e}function dc(e,t,n,r,i,a,o){return{headerName:e,field:t,colId:t,valueGetter:n,...oo,cellClass:ao,cellRenderer:uo,tooltipValueGetter:e=>e.value,cellRendererParams:{structuresMap:r,datasetDimensionsSchemesMap:i,locale:a,titles:o,colId:t}}}function fc(e,t){let{data:n}=e,r=n?.dataset?.urn;return{data:n,urn:r,structures:r==null?void 0:t.get(r)}}function pc(e,t,n,r){let i=e.conceptSchemes||[],a=e.codelists||[],o=(0,b.getDimensions)(e)?.dimensions||[],s=o.find(e=>e.id===t);if(s==null)return;let{codeList:c}=ec(s,i,a);return nc(o,t,c,n,r)}var mc=`::`;function hc(e,t){return`${e}${mc}${t}`}function gc(e){return e.includes(mc)}function _c(e){let t=e.indexOf(mc);return{urn:e.slice(0,t),dimensionKey:e.slice(t+2)}}var vc=new Set([Hs]);function yc(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 bc(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 xc(e,t,n){let r=e.getDimensionConfig(t,n);if(r?.alias)return r.alias;let i=e.structuresMap.get(t),a=(i?(0,b.getDimensions)(i)?.dimensions??[]:[]).find(e=>e.id===n);return(0,b.getDimensionTitle)(i?.conceptSchemes??[],a,e.locale)??n}function Sc(e){let t=e.enrichedColIds??vc;return n=>{if(!t.has(n.id))return n;let r=[];for(let{urn:t}of e.dataQueries){let i=bc(n.id,t,e.getDimensionsScheme);if(!i.length)continue;let a=e.dimensionCustomization?.get(t)?.get(n.id),o=a?.order.length?yc(i,{order:a.order,hidden:new Set}):i,s=o.length>1,c=o.map(n=>({id:hc(t,n),type:`item`,label:xc(e,t,n),isChecked:!a?.hidden.has(n),draggable:s,checkable:s})),l=(0,b.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 Cc(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 wc(e,t){return e===`indicator_aggregated`?t?.indicatorMetadataPanel||`Indicator dimension details`:e===`country_aggregated`?t?.countryMetadataPanel||`Country dimension details`:t?.metadata||`Metadata`}var Tc=`merged-dimension-metadata-side-panel`,Ec=e=>{let{titles:t}=Y(),{isOpenedAdvancedView:n}=I(),r=ds(),{isMetadataInSidePanel:i}=Z(),{getDatasetLastUpdated:a}=_s(),o=$s(),s=e?.data?.dataset?.urn,u=Lo(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 yc(Cc(e.colId,f),t).map(t=>pc(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=Cc(e.colId,f),n=(0,b.getStructureComponentsMap)(d);return Ho(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 Go(n,bs(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:Tc,scope:n?`advanced`:`conversation`,title:wc(e.colId,t),bodyClassName:`overflow-hidden`,content:(0,l.jsx)(Io,{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})]})},Dc=`dataset-detail-metadata-side-panel`,Oc=e=>{let{titles:t}=Y(),{isOpenedAdvancedView:n}=I(),r=ds(),{isMetadataInSidePanel:i}=Z(),{getDatasetLastUpdated:a}=_s(),o=e?.data?.dataset?.urn,s=Lo(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 Go(n,bs(a(n),e.locale),e.locale,t)},[u,e.locale,t,a]),p=(0,c.useMemo)(()=>Zo(Yo(d),(0,b.getStructureComponentsMap)(u),e.locale),[d,u,e.locale]),m=i&&!!r&&!!e.value,h=(0,c.useCallback)(()=>{r&&r.openPanel({id:Dc,scope:n?`advanced`:`conversation`,title:t?.datasetMetadataPanel||`Dataset Metadata`,bodyClassName:`overflow-hidden`,content:(0,l.jsx)(Io,{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})]})},kc=({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)(()=>({[co]:xs,[so]:Es,[uo]:Ec,[lo]:ro,[fo]:Oc}),[]),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)(Ds,{fixHeight:r,gridHeight:_,children:w})})},Ac=({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:[Zi(e)&&(0,l.jsx)(Ga,{actions:t,downloadTitles:n?.downloadTitle,attachment:e}),Qi(e)&&(0,l.jsx)(Co,{actions:t,attachment:e,showLimitMessage:c}),$i(e)&&(0,l.jsx)(Os,{attachment:e,isDataLoading:r,isChartColumnVisible:o,fixHeight:!o,showLimitMessage:c,onApiReady:u,externalLink:i}),ra(e)&&(0,l.jsx)(kc,{attachment:e,isDataLoading:r,isChartColumnVisible:o,fixHeight:!o,showLimitMessage:c,onApiReady:u,externalLink:i,externalLinksMap:a}),ea(e)&&(0,l.jsx)(Ls,{isDataLoading:r,attachment:e,icons:n?.chartingIcons,openAdvancedView:o?void 0:s,fixHeight:!o,limitationInfoPrefixIcon:n?.limitationInfoIcon,limitationInfoContentClassName:n?.limitationInfoContentClassName}),Ji(e)&&(0,l.jsx)(eo,{attachment:e,openLinkTitle:n?.openLinkTitle}),Xi(e)&&(0,l.jsx)(Xa,{attachment:e}),na(e)&&(0,l.jsx)(Rs,{attachment:e,className:n?.codeAttachmentContainerClassName})]}),jc=({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})]})]})})},Mc=({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])}},Nc=300,Pc=({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}=Mc({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,Nc))}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 Fc=({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:y,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}=Y(),{isCrossDatasetModeOn:N}=Z(),[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=b.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,b.generateShortUrn)(t?.id,t?.version,t?.agencyID);return e.has(n)})},[u,o,N]),q=e=>{F(e)},ee=(0,c.useCallback)(()=>{x?.(),R(!0),t.updateCurrentDataQuery(a||o?.[0]),t.updateDataQueries(o),t.updateDatasets(u)},[t,a,o,u,R,x]),J=e[P]||null;(0,c.useEffect)(()=>{H(h&&(u==null||u?.length==0))},[u,h]),(0,c.useEffect)(()=>{w&&J&&!$i(J)&&!ra(J)&&E?.()},[w,J,E]);let te=(0,c.useCallback)(()=>{B(d.PopUpState.Closed)},[B]),ne=M?.isExternaLinkIncludeFilters,re=La(ne,v,a||o?.[0],_),ie=(0,c.useMemo)(()=>{if(o?.length)return new Map(o.map(e=>[e.urn,La(ne,void 0,e)]))},[o,ne]),ae=(0,c.useMemo)(()=>{if(!J||!ra(J))return;let e=J.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)}))},[J,o]),oe=(0,c.useMemo)(()=>{if(J){if($i(J))return J.grid_data?.data?.length;if(ra(J))return J.gridContent?.data?.length}},[J]),{startDownload:se,isDownloadRunning:ce,downloadAlertProps:le}=Pc({attachmentsStyles:A,downloadDataSet:t.downloadDataSet});if(!e||e.length===0)return null;let ue=!L&&V||!!m;return(0,l.jsx)(l.Fragment,{children:L&&!r?(0,l.jsx)(_a,{icon:k?.advanceViewIcon,title:k?.openAdvanceViewTitle??`Opened in Advanced view`}):(0,l.jsxs)(`div`,{className:os(`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)(ja,{datasets:K,initialSelectedDatasetUrn:f,locale:g,selectDataset:y}),ue?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[n&&!L&&(0,l.jsx)(ga,{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:!!J&&ia(J)&&i,onAdvancedViewClick:ee,query:re}),(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)(Wa,{attachments:e,selectedAttachmentIndex:P,selectedAttachment:J,attachmentsStyles:A,externalLink:re,isExternalLinkIncludeFilters:ne,limitMessages:j,onSelectedAttachmentChange:q,onDownloadClick:()=>B(d.PopUpState.Opened),hideDownloadButton:S,showAdvancedView:i,onOpenAdvancedView:ee,isTableSettingsOpen:w,onTableSettingsOpen:T}),J!=null&&(0,l.jsx)(Ac,{selectedAttachment:J,actions:t,attachmentsStyles:A,isDataLoading:m,isOpenedAdvancedView:L,onOpenAdvancedView:ee,showLimitMessage:W,onGridApiReady:D,externalLink:re,externalLinksMap:ie})]})}),(0,l.jsxs)(l.Fragment,{children:[z===d.PopUpState.Opened&&(0,l.jsx)(Ea,{onCloseModal:te,onDownloadStart:se,isDownloadInProgress:ce,dataQuery:a,datasetName:J?.title||``,locale:g,type:G,dimensions:_,filters:v,urn:a?.urn,titles:A?.downloadTitles,rowCount:oe,collapsible:A?.downloadCollapsible,downloadDatasets:ae,limitMessages:j,showLimitMessage:U,externalLink:re}),(0,l.jsx)(jc,{...le})]})]})]})})},Ic=({label:e,colDef:t})=>!!e.trim()&&!t.suppressColumnsToolPanel;function Lc(e){return e.colId??e.field??null}function Rc(e){return String(e.headerName??e.field??e.colId??``).trim()}function zc(e){return new Map(e.getColumnState().map(e=>[e.colId,e]))}function Bc(e,t){let n=e.getColumnDefs()??[],r=zc(e),i=[];for(let e of n){let n=Lc(e);if(!n)continue;let a=Rc(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 Vc(e,t,n){let r=[...t];return e.map(e=>n.has(e)?r.shift()??e:e)}function Hc(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 Uc(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 Wc(e,t){let n=[];for(let r of e){if(r.type===`group`){n.push(...Wc(r.items,t));continue}if(t?.(r)){n.push(r.id);continue}if(r.items?.length){n.push(...Wc(r.items,t));continue}n.push(r.id)}return n}function Gc({api:e,searchQuery:t,includeColumn:n=Ic,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)},[]);qs(e,f);let p=(0,c.useMemo)(()=>!e||!e.getColumnState()?[]:Bc(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(gc(t.itemId)&&a){let{urn:e,dimensionKey:n}=_c(t.itemId),r=t.path[0];a(e,r,n,!t.nextChecked);return}let n=Hc(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(gc(t.itemId)&&a){let{urn:e,dimensionKey:n}=_c(t.itemId),r=t.path[0],i=Hc(m,t.path);i?.type===`item`&&a(e,r,n,i.isChecked??!0);return}let n=Hc(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=Vc(n,Wc(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=>_c(e.id).dimensionKey);i(r,e.id,a)}else{let t=e.items.filter(e=>e.type===`item`);if(t.length<=1||!gc(t[0].id))continue;let{urn:n}=_c(t[0].id),r=t.map(e=>_c(e.id).dimensionKey);i(n,e.id,r)}}},[e,p,h,f,i])}}function Kc({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}=Gc({api:e,includeColumn:t,searchQuery:s,enrichItem:(0,c.useCallback)(e=>Uc(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 qc(){let{dataQueries:e,structuresMap:t,locale:n,gridViewMode:r}=Qs(),i=vs(),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===Ys.Extended&&!!e?.indicators?.length;if(!s&&!c)continue;let l=n?(0,b.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}({}),Jc=`grid gap-1`,Yc={gridTemplateColumns:`44px 23px 23px`,gridTemplateRows:`repeat(4, 14px)`},Xc={gridTemplateColumns:`repeat(4, 21.5px)`,gridTemplateRows:`repeat(4, 14px)`},Zc={[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`}},Qc=({rows:e,style:t})=>(0,l.jsx)(`div`,{className:Jc,style:t,children:e.map((e,t)=>(0,l.jsx)(c.Fragment,{children:e.map((e,n)=>(0,l.jsx)(`span`,{className:os([Zc[e.role][e.emphasis],!e.label&&`text-transparent`]),children:e.label||` `},`${t}-${n}`))},t))}),$c=[[{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}]],el=()=>(0,l.jsx)(Qc,{rows:$c,style:Yc}),tl=[[{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}]],nl=()=>(0,l.jsx)(Qc,{rows:tl,style:Xc}),rl=({title:e,description:t,visual:n,mode:r,activeMode:i,onClick:a})=>(0,l.jsxs)(`button`,{type:`button`,className:os([`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})]})]}),il=({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)(rl,{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)(el,{}),mode:Ys.Compact,activeMode:e,onClick:t}),(0,l.jsx)(rl,{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)(nl,{}),mode:Ys.Extended,activeMode:e,onClick:t})]}),al=`table-settings-side-panel`,ol=()=>{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:_}=Qs(),v=vs(),y=qc(),b=(0,c.useCallback)(e=>{d(),p(),u(),h(e)},[d,p,u,h]),x=(0,c.useCallback)(()=>{e&&(d(),t?Gs(e,t):e.resetColumnState(),u())},[d,e,t,u]),S=(0,c.useMemo)(()=>{if(!(m!==Ys.Compact||!v||!n||!r||!i?.length))return Sc({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)(il,{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)(Kc,{api:e,enrichItem:S,renderLabel:y,onSubItemOrderChange:o,onSubItemVisibilityChange:s,searchPlaceholder:g?.columnsSearchPlaceholder})]}):null},sl=e=>{let{attachmentsStyles:t}=Y(),{onGridApiReady:n}=Qs(),r=ds(),i=(0,c.useCallback)(()=>{r&&r.openPanel({id:al,scope:`advanced`,title:t?.tableSettings||`Table settings`,headerClassName:`border-b border-neutrals-500`,content:(0,l.jsx)(ol,{})})},[r,t?.tableSettings]);return(0,l.jsx)(Fc,{...e,isTableSettingsOpen:r?.isPanelOpen(`table-settings-side-panel`)??!1,onTableSettingsOpen:r?i:void 0,onTableSettingsClose:r?.closePanel,onGridApiReady:n})},cl=(e,t,n)=>(0,c.useMemo)(()=>e?.map(e=>{let r=t?.get(e.urn)?.dataflows?.[0],i=(0,b.getLocalizedName)(r,n??``),a=i?(0,b.generateShortUrn)(i,``,r?.agencyID):void 0;return a?{...e,title:a}:e}),[e,n,t]),ll=({actions:e,dataQueries:t,datasetDimensionsMetadataMap:n,structureDataMaps:r,datasetIcon:i,locale:a,onMultipleDataFiltersChange:o})=>{let s=(0,c.useRef)(r?.constraintsMap),[l,u]=(0,c.useState)(),d=(0,c.useMemo)(()=>wr(t,r),[t,r]),f=cl(t,r?.structuresMap,a),p=(0,c.useCallback)(e=>{let t=e.filterType===`dataset`?e.datasetUrn:e.sourceDatasetUrns?.[0];return t?s.current?.get(t):void 0},[]),m=(0,c.useCallback)(e=>Li(e,r?.dimensionsMap,r?.structuresMap),[r?.dimensionsMap,r?.structuresMap]),g=(0,c.useCallback)(e=>m(e).codelistUrn,[m]),_=(0,c.useCallback)(e=>m(e).sourceArtefactUrn,[m]),v=(0,c.useCallback)((i,a)=>{let o=pr(i,s.current,!1,n),c=a??t,l=Dr(c,o,e,n,i),u=Er(c,o,e,n,i);return{promise:Promise.allSettled(u).then(e=>{let t=jr(s.current||r?.constraintsMap,Ar(e));return{filtersMap:o,constraints:t,structureDataMaps:{...r,constraintsMap:t}}}),shouldTrackLoading:l}},[e,t,n,r]),y=(0,c.useCallback)(e=>{let t=pr(e,s.current,!1,n),i=s.current||r?.constraintsMap||new Map;return{filtersMap:t,constraints:i,structureDataMaps:{...r,constraintsMap:i}}},[n,r]),b=(0,c.useCallback)((e,t,r)=>{let{filtersMap:i,changed:o}=Vi(t.filtersMap,t.structureDataMaps,r,a,n);return o?{filters:xr(i,t.structureDataMaps,a,n),changed:!0}:{filters:e,changed:!1}},[n,a]),x=(0,c.useCallback)((e,t)=>xr(t.filtersMap,t.structureDataMaps,a,n),[n,a]),S=(0,c.useCallback)(e=>{s.current=e.constraints},[]),C=(0,c.useCallback)(e=>p(e),[p]),w=(0,c.useCallback)(e=>Nr(e,t,r?.dimensionsMap),[t,r?.dimensionsMap]),E=(0,c.useCallback)((e,t,r,i)=>{let a=pr(t,s.current,!1,n),o=pr(e,s.current,!1,n),c=(0,T.default)(w(a),w(o)),l=(0,T.default)([...i].sort(),[...r].sort());return c&&l},[n,w]),D=(0,c.useCallback)((e,i)=>{let c=t?.map(e=>({...e,disabled:i.has(e.urn)})),l=pr(e,s.current,!1,n,i),u=xr(l,{...r,constraintsMap:s.current},a,n),d=w(l),f=mr(u,t?.map(e=>e.urn)??[],t,n,l),p=(t?.map(e=>e.urn)??[]).filter(e=>!f.has(e));for(let e of p){let t=l.get(e);t&&l.set(e,t.map(e=>!e.isTimeDimension&&e.dimensionValues?.length&&!e.dimensionValues.some(e=>e.isSelectedValue)?{...e,isExcluded:!0}:e))}return o?.(d,s.current,c?.filter(e=>f.has(e.urn)||e.disabled),l,u),{appliedFilters:u,systemMessageFilters:l}},[t,n,w,a,o,r]),O=(0,c.useCallback)((e,n,r)=>{let i=n,a=t?.map(e=>({...e,disabled:r.has(e.urn)})),o=a?.filter(e=>!e.disabled),s=Fr(o,i);return{conversation:e?{...e,messages:da(e.messages,a,s)}:null,nextDataQueries:a?.map(e=>({...e,filters:e.disabled?e.filters??[]:s.get(e.urn)??[]}))??[]}},[t]),k=(0,c.useCallback)(()=>{if(!d)return{status:`pending`};let e=dr(r,a),i=t?.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}});return{status:`ready`,filters:fr(e,i,r?.constraintsMap,n)}},[t,n,d,a,r]),A=(0,c.useCallback)(()=>{u(s.current)},[]),j=(0,c.useCallback)(()=>{s.current=l},[l]),M=(0,c.useCallback)((e,t)=>{let n=t?.find(t=>t?.urn===e?.datasetUrn);return e?.datasetUrn?n?[n]:[]:t},[]),N=(0,c.useCallback)(e=>e,[]);return{mode:`multi`,constraints:(0,c.useMemo)(()=>({startFetch:v,fallbackResult:y,cleanIncompatible:b,fill:x,commit:S,getRebuildConstraints:C}),[v,y,b,x,S,C]),apply:(0,c.useMemo)(()=>({getIsFiltersUnchanged:E,runApply:D}),[E,D]),buildSystemMessage:O,init:(0,c.useMemo)(()=>({prepareInit:k}),[k]),getConstraintsForFilter:p,getCodelistUrnForFilter:g,getSourceArtefactUrn:_,remember:A,restore:j,getDeleteTargets:M,getClearTargets:N,controllerOptions:(0,c.useMemo)(()=>({initialConstraintsMap:r?.constraintsMap,datasetIcon:i,structuresMap:r?.structuresMap,dataQueries:f}),[r,i,f])}},ul=e=>{let t=vs();return Oi(e,ll({actions:e.actions,dataQueries:e.dataQueries,datasetDimensionsMetadataMap:t.map,structureDataMaps:e.structureDataMaps,datasetIcon:e.datasetIcon,locale:e.locale,onMultipleDataFiltersChange:e.onMultipleDataFiltersChange}))},dl=e=>(0,l.jsx)(gi,{...ul(e)}),fl=({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}=Y(),h={getConstraints:t.getConstraints,getAvailableHierarchies:e.actions?.getAvailableHierarchies,getHierarchy:e.actions?.getHierarchy},{isCrossDatasetModeOn:g}=Z();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)(dl,{attachmentsDataQuery:r,dataQueries:i,updateDataQueries:t?.updateDataQueries,locale:o,actions:h,dimensions:a,...e,onFiltersChange:f,limitMessages:m}):(0,l.jsx)(ma,{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)(sl,{attachments:n,currentDataQuery:r,dataQueries:i,dimensions:a,actions:t,isShowAttachments:!0,isDataSetAttachments:!0,isDataLoading:s,locale:o,filters:d})})]})})},pl=({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:y})=>{let{titles:x}=Y(),[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=ds(),{isMetadataInSidePanel:R}=Z(),{getDatasetLastUpdated:z}=_s(),[B,V]=(0,c.useState)(!1),H=(0,c.useMemo)(()=>a?.isMetadataDescription?Wo(n,S,o,x):[],[n,S,o,a?.isMetadataDescription,x]),U=(0,c.useMemo)(()=>[...a?.isMetadataDescription?[]:[Uo(n,o,x)],...Zo(Yo(r),(0,b.getStructureComponentsMap)(i),o)],[r,n,o,a?.isMetadataDescription,i,x]),W=(0,c.useMemo)(()=>Go(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)(Io,{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)||bs(z(n),o))},[n,o,U,s,z]),(0,c.useEffect)(()=>{if(P){let{title:e,description:t}=$e(X.METADATA_PER_DATASET,x);O(e),A(t)}},[x,P]),(0,c.useEffect)(()=>{P&&M(N?.lastDisplayedElement===X.METADATA_PER_DATASET)},[N?.lastDisplayedElement,P]);let ee=(e,t)=>(0,l.jsxs)(`div`,{className:os(`flex gap-1 text-neutrals-1000`,_),children:[(0,l.jsxs)(`span`,{className:os(`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:os(`flex gap-1 items-center h4`,y),children:[(0,l.jsx)(`div`,{ref:E,children:(0,l.jsx)(d.IconButton,{title:x?.metadata??`View details`,buttonClassName:os(`!text-neutrals-1000 !border-none !w-4 !h-4 !p-0 shrink-0`,h),icon:(0,l.jsx)(wo,{className:os(`size-4`,g)}),onClick:K})}),(0,l.jsx)(`span`,{children:(0,b.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:[ee(x?.agency??`Agency`,n?.agencyID??``),(0,l.jsx)(`div`,{"aria-hidden":`true`,className:`h-[14px] border-l border-l-neutral-500`})]}),ee(x?.lastUpdated??`Last updated`,S)]})]}),j&&(0,l.jsx)(ct,{reference:E,title:D,description:k,onReferenceClick:K,shouldCloseTooltip:B}),w&&(0,l.jsx)(Ao,{locale:o,metadata:U,metadataDescription:H,isOpenMetadata:w,onCloseMetadata:q})]})},ml=({locale:e,isShowShare:t,shareConversationProps:n,conversation:r})=>{let{titles:i}=Y(),{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}=$e(X.EXIT_ADVANCED_VIEW,i);u(e),m(t)}},[i,v]),(0,c.useEffect)(()=>{v&&g(_?.lastDisplayedElement===X.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)(ct,{reference:o,title:s,description:f,onReferenceClick:()=>a(!1),shouldMoveToNextStep:!0}),(0,l.jsx)(`h2`,{children:i?.advanceViewTitle??`Advanced view`})]}),t&&(0,l.jsx)(Ve,{locale:e,conversation:r,...n})]})};function hl(e,t,n,r,i,a,o,s,c){let l=gl(e,n),u=_l(e,t,n,r,i,a,c?.startPeriod&&c.endPeriod?(0,b.getAdditionalColumns)(s,c):[]);return[mo(e,t?.data,n,i,a,o),...l,...u,ho(e,t?.data,n,void 0,a,o)]}function gl(e,t){let n=e.conceptSchemes||[],r=e.codelists||[],i=(0,b.getDimensions)(e)?.dimensions||[];return i.map(e=>{let{codeList:a,concept:o}=ec(e,n,r);return{headerName:(0,b.getLocalizedName)(o,t),field:e.id,colId:e.id,valueGetter:e=>{let{data:n,colDef:r}=e,o=r.field;return nc(i,o,a,n,t)},...oo,tooltipValueGetter:e=>e.value}})}function _l(e,t,n,r,i,a,o){return yl(bl(o,(0,b.getTimePeriods)(t)),(e,t)=>vl(e,t||e,r,a),e,n,i,a)}var vl=(e,t,n=h.defaultFormatNumbers,r)=>({headerName:xt(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)}),yl=(e,t,n,r,i,a)=>{let o=[];return e.sort((e,t)=>(0,b.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:ao,cellRenderer:so,width:200,cellRendererParams:{dataSetData:n,locale:r,metadataSettings:i,titles:a}})}),o},bl=(e=[],t=[])=>{if(!e.length)return t;if(!t.length)return e;let n=t.some(e=>(0,b.isYearly)(e)),r=t.some(e=>(0,b.isSemiAnnually)(e)),i=t.some(e=>(0,b.isQuarterly)(e)),a=t.some(e=>(0,b.isMonthly)(e)),o=t.some(e=>(0,b.isWeekly)(e)),s=t.some(e=>(0,b.isDaily)(e)),c=e.filter(e=>(0,b.isYearly)(e)?n:(0,b.isSemiAnnually)(e)?r:(0,b.isQuarterly)(e)?i:(0,b.isMonthly)(e)?a:(0,b.isWeekly)(e)?o:(0,b.isDaily)(e)?s:!0);return Array.from(new Set([...c,...t]))};function xl(e,t,n){let r=t.map(e=>e.id).filter(e=>e!=null);return Sl(e,r,n.map(e=>e.id).filter(e=>e!=null),r)}var Sl=(e,t,n,r)=>{let i={};for(let a of e){let e=El(a,t),o=Cl(e,r),s=i[o];if(s==null){s={},i[o]=s;for(let t of r)s[t]=e[t]}let c=kl(a.attributes);if(Al(s,o,c,a),!a.values.length){Tl(s,e,n);continue}for(let t of a.values){let r=kl(t.obsAttributes);Al(s,o,c,a),Tl(s,e,n,t.dimensionAtObservation,Dl(a,t),r)}}return Object.values(i)},Cl=(e,t)=>t.map(t=>e[t]).join(`_`),wl=(e,t,n)=>t.map(t=>t===`TIME_PERIOD`?n:e[t]).join(`_`),Tl=(e,t,n,r,i,a)=>{let o=wl(t,n,r);e[o]={value:i,obsAttributes:a}},El=(e,t)=>{let n={},r=e.name.split(`.`);for(let e=0;e<t.length;e+=1)n[t[e]]=r[e];return n},Dl=(e,t)=>{let n=Ol(e.attributes);if(n)return[n];let r=Ol(t.obsAttributes);return r?[r]:t.values},Ol=(e=[])=>e.find(({name:e})=>e===`OBS_VALUE`),kl=(e=[])=>e.filter(({value:e})=>e),Al=(e,t,n,r)=>{e.attributes??=n,e.id=t,e.originalData=r},jl=`#EEEEEE`,Ml=`#777777`;function Nl(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:{...Pl(n?.ticksColor,n?.labelsColor),type:`category`,boundaryGap:!1,data:e},yAxis:{...Pl(n?.ticksColor,n?.labelsColor),type:`value`},series:t};return n?.colors!=null&&(r.color=n.colors),r}function Pl(e=jl,t=Ml){return{splitLine:{show:!0,showMaxLine:!1,lineStyle:{color:[e]}},axisTick:{show:!1},axisLabel:{color:t},axisLine:{lineStyle:{color:e}}}}function Fl(e,t,n,r){return t.map(t=>{let i=(0,b.getDimensions)(n)?.dimensions||[],a=i?.find(e=>e.id===t);if(a==null)return e[t]||``;let{codeList:o}=ec(a,n.conceptSchemes||[],n.codelists||[]);return nc(i,t,o,e,r)}).join(` - `)}function Il(e,t){let n=[...t?.metadata?.indicatorDimensions||[]].filter(e=>e!=null),r=((0,b.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 Ll(e,t,n){let r={};return e.forEach(e=>{let i=Rl(e,t,n);r[i]||(r[i]={rows:[]}),r[i].rows.push(e)}),Object.keys(r).map(e=>r[e])}function Rl(e,t,n){let r=n.dataStructures?.[0]?.dataStructureComponents?.dimensionList?.dimensions||[];return t.map(t=>r?.find(e=>e.id===t)==null?e[t]||``:tc(r,t,e)).join(` - `)}function zl(e,t){let n={};return e.forEach(e=>n[e]=Bl(e,t)),{nonUniqDimensions:e.filter(e=>!n[e])}}function Bl(e,t){let n=t.map(t=>Vl(e,t));return new Set(n).size===1}function Vl(e,t){return t[e]}var Hl=`line`,Ul=10,Wl=2;function Gl(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 ql(e,t,n,r,i){let a=ru(t,e,n,r,i,{includeChartData:!1}),o=(0,b.getTimePeriods)(t).sort((e,t)=>(0,b.sortPeriods)(e,t)),{nonUniqDimensions:s}=zl(Il(e,n),a);return{units:Ll(a,s,e).map(t=>Xl(t,e,n,o,r,i))}}function Jl(e,t,n,r,i){let a;return()=>(a??=ql(e,t,n,r,i),a)}function Yl(e,t,n,r,i,a){return Xl({rows:[e]},n,r,t,i,a)}function Xl(e,t,n,r,i,a){let o=tu(e.rows,t,n,i),s=o?.find(e=>b.FREQUENCY_DIMENSION_ID.includes(e?.id))?.id,c=Ql(r,e?.rows?.[0],s),l=$l(e.rows.length>Ul?e.rows.slice(0,Ul):e.rows,t,n,i,c);return{rows:e.rows,limitedByRowsAmountTo:e.rows.length>Ul?Ul:void 0,dimensions:o,config:Nl(c,l,a),isPlottable:Zl(l)}}function Zl(e){return e.some(e=>e.data.filter(Gl).length>=Wl)}function Ql(e,t,n){if(n){let r=t?.[n];if(r===b.Periods.MONTHLY)return e?.filter(e=>(0,b.isMonthly)(e));if(r===b.Periods.QUARTERLY)return e?.filter(e=>(0,b.isQuarterly)(e));if(r===b.Periods.ANNUAL)return e?.filter(e=>(0,b.isYearly)(e))}return e}function $l(e,t,n,r,i){return e.map(e=>({name:n?.metadata?.countryDimension==null?``:Fl(e,[n?.metadata?.countryDimension],t,r),type:Hl,data:i.map(t=>eu(t,e))}))}function eu(e,t){return t[e]?.value?.[0]?.value||null}function tu(e,t,n,r){let i=n?.metadata?.countryDimension;return((0,b.getDimensions)(t)?.dimensions||[]).map(n=>{if(!(n.id==null||n.id===i))return{id:n.id,title:nu(n,t,r),value:Fl(e[0],[n.id],t,r)}}).filter(e=>e!=null)}function nu(e,t,n){let{concept:r}=ec(e,t.conceptSchemes||[],t.codelists||[]);return(0,b.getLocalizedName)(r,n)||e.id}function ru(e,t,n,r,i,a={}){let o=xl(e==null?[]:(0,b.getParsedResponse)(e),(0,b.getDimensions)(t)?.dimensions||[],(0,b.getDimensions)(t)?.timeDimensions||[]);return a.includeChartData===!1?o:iu(o,e,t,n,r,i)}function iu(e,t,n,r,i,a){let o=(0,b.getTimePeriods)(t).sort((e,t)=>(0,b.sortPeriods)(e,t));return e.map(e=>({...e,[po]:()=>Yl(e,o,n,r,i,a)}))}function au(e,t,n,r,i,a,o,s,c,l,u){return{columns:hl(e,t,r,i,a,s,c,l,u),data:ru(t,e,n,r,o)}}function ou(e,t,n,r,i,a,o,s,c,l,u){let d=e.dataflows?.[0]?.names?.[r],f=au(e,t,n,r,i,a,o,s,c,l,u);return{title:d||s?.dataGrid||`Data Grid`,grid_data:f}}function su(e){let t=e.replace(/\r\n/g,`
8
8
  `);if(!t.startsWith("```"))return{code:e};let n=t.split(`
9
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
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.CrossDatasetGridAttachment=hc,exports.CustomChartAttachment=Cs,exports.CustomContentProperties=K,exports.CustomDataGridAttachment=ms,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;
11
+ `),language:r}}var cu=[`python`];function lu(e,t,n){return e.filter(e=>e.type===m.AttachmentType.MARKDOWN).filter(e=>!t||e.title?.includes(t)).map(e=>{let t=su(e.data??``);return{title:n??`Code samples`,type:m.AttachmentType.CUSTOM_CODE_SAMPLE,language:t.language,data:t.code}}).filter(e=>cu.includes(e.language??``))}function uu(e,t){return e?.find(e=>e.type===m.AttachmentType.MARKDOWN&&e.data?.includes("```python")&&e.title?.includes(t.urn))?.title??t.urn}function du(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 fu=e=>({title:e||`Data Grid`,type:m.AttachmentType.CUSTOM_DATA_GRID}),pu=e=>({title:e||`Chart`,type:m.AttachmentType.CUSTOM_CHART}),mu=e=>({title:e||`Data`,type:m.AttachmentType.CROSS_DATASET_GRID});function hu(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)(),[y,x]=(0,c.useState)(),[S,C]=(0,c.useState)(fu(o?.dataGrid)),[w,T]=(0,c.useState)(pu(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,b.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=ln((0,b.getFiltersDtoFromDataQuery)(e));try{v((await mn(V,pn(e.urn,t),()=>V(e.urn,t)))?.data?.dataConstraints||[])}catch{v([])}},[V]),ee=(0,c.useCallback)(async e=>{let t=l?{data:l}:await mn(H,pn(e.urn),()=>H(e.urn));if(t?.data){let n=(0,b.getDimensions)(t.data);K(t.data);let r=n?.dimensions==null?null:(0,b.getTimeSeriesFilterKey)(n?.dimensions,e.filters??[]),i=vn(e,n);mn(U,pn(e.urn,{filterKey:r,timeFilter:i}),()=>U(e.urn,{filterKey:r,timeFilter:i})).then(e=>{L(!0),m(e||void 0),N((0,b.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)],ee(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,ee,f]);let J=(0,c.useCallback)((e,t,r)=>{try{F(!0),v(t);let i=r?.find(e=>e.id===b.TIME_PERIOD)?.timeRange;i&&B(i),mn(U,pn(n?.urn||``,e),()=>U(n?.urn||``,e)).then(e=>{L(!0),m(e||void 0),N((0,b.getStructureDimensions)(e))}).finally(()=>F(!1)),G&&n&&r&&du({getPythonAttachment:G,dataQueries:[Tn(n,r,!1)],requestIdRef:R,codeTitle:o?.codeSamples||`Python Code`,markdownTitle:uu(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(y!=null&&p!=null&&_?.length){L(!0);let e=ks(()=>{C(e=>({...e,...ou(y,p,n,t,r,a,i,o,W,_,z)})),L(!1)});return()=>{e(),L(!1)}}(p==null||_!==void 0)&&L(!1)},[y,p,o,t,r,n,a,i,_,z,W]),(0,c.useEffect)(()=>{if(y==null||p==null)return;let e=Jl(y,p,n,t,i);return T(t=>({...t,charting_data:void 0,getChartingData:e})),D(!1),ks(()=>{try{D(Kl(e()))}catch(e){console.error(`Error evaluating chart plottability`,e),D(!1)}})},[y,p,n,t,i]),(0,c.useEffect)(()=>{if(s?.length){let e=lu(s,n?.urn,o?.codeSamples);e.length>0&&k(e)}},[s,o,n]);let te=(0,c.useMemo)(()=>[S,...E?[w]:[],...O],[S,w,O,E]);return{dataMessage:p,structures:y,dataset:h,dimensions:A,structureDimensions:M,onFiltersChange:J,constraints:_,isLoadingGridData:P||I,dataSetAttachments:te}}function gu(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 _u=async(e,t)=>{let n=new Map,r=(0,b.getFiltersDtoMapFromDataQuery)(e);return(await Promise.allSettled(e.map(async e=>{let n=ln(r?.get(e.urn)||[]);return{urn:e.urn,response:await mn(t,pn(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},vu=()=>({datasetsMap:new Map,dataMessagesMap:new Map,structuresMap:new Map,dimensionsMap:new Map,structureDimensionsMap:new Map}),yu=async(e,t,n,r,i)=>{let a=vu();await Promise.allSettled(e.map(async e=>{let n=await mn(t,pn(e.urn),()=>t(e.urn));if(n?.data){let t=(0,b.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,b.getDimensions)(t),s=i?.dimensions==null?null:(0,b.getTimeSeriesFilterKey)(i?.dimensions,e.filters??[]),c=vn(e,i);await bu(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},bu=async(e,t,n)=>{let r=await mn(n,pn(e.urn,t),()=>n(e.urn,t));return{dataMessage:r,structureDimensions:(0,b.getStructureDimensions)(r)}};function xu(e,t,n,r){return[Cu(e,r),Su(e,t,n,r)]}function Su(e,t,n,r){return{headerName:r?.dataset||`Dataset`,field:zs,colId:zs,valueGetter:t=>{let r=t.data?.dataset?.urn;if(r==null)return``;let i=e.get(r)?.dataflows?.[0];return(0,b.getLocalizedName)(i,n)||``},...oo,tooltipValueGetter:e=>e.value,cellClass:ao,cellRenderer:fo,cellRendererParams:{structuresMap:e,attributesDataMap:t,locale:n,titles:r}}}function Cu(e,t){return{headerName:t?.agency||`Agency`,field:Bs,colId:Bs,valueGetter:t=>{let n=t.data?.dataset?.urn;return n==null?``:e.get(n)?.dataflows?.[0]?.agencyID||``},...oo,tooltipValueGetter:e=>e.value}}function wu(e,t,n,r,i){return Tu(e).sort((e,t)=>(0,b.sortPeriods)(e,t)).map(e=>({...Eu(e,r,i),valueGetter:e=>e.data[e.column.getColId()]?.value?.[0]?.value||null,cellClass:ao,cellRenderer:so,width:200,cellRendererParams:{structuresMap:t,locale:n,titles:i}}))}function Tu(e){let t=new Set;return e.forEach(e=>{e!=null&&(0,b.getTimePeriods)(e).forEach(e=>t.add(e))}),Array.from(t)}function Eu(e,t=h.defaultFormatNumbers,n){return{headerName:xt(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 Du(e,t,n,r,i,a,o=Ys.Compact){let s=new Map([...n.entries()].map(([e,t])=>[e,t?.data])),c=xu(e,s,r,i),l=rc(e,t,r,i,o),u=wu(n,e,r,a,i);return[go(e,s,r,i),...c,...l,...u,ho(void 0,void 0,r,void 0,i)]}function Ou(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=ru(s,c,n,r,i),u=(0,b.getLocalizedName)(c.dataflows?.[0],r);a.push(...l.map(e=>({...e,dataset:{urn:o},datasetTitle:u})))}),a}function ku(e,t,n,r,i,a,o,s,c,l,u,d=Ys.Compact){let f=Au(e,t,n,r,i,a,o,s,c,l,u,d);return{title:c?.dataGrid||`Data`,gridContent:f}}function Au(e,t,n,r,i,a,o,s,c,l,u,d=Ys.Compact){return{columns:Du(e,n,t,i,c,a,d),data:Ou(e,t,r,i,s)}}function ju(e,t,n,r,i){let a;return()=>(a??=Mu(e,t,n,r,i),a)}function Mu(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,b.getLocalizedName)(a.dataflows?.[0],r),units:ql(a,o,n,r,i).units}]});return{units:a.flatMap(e=>e.units),groups:a}}var Nu=5e3;function Pu(e,t,n,r,i,a,o,s,l,u=Ys.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)(mu(d?.dataGrid)),[A,j]=(0,c.useState)(pu(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=_s(),{getDimensionsScheme:W}=U,G=(0,c.useCallback)(async e=>{try{let t=await _u(e.map(e=>({...e,filters:[]})),I),n=yr(e,t,U.map),r=n===e?t:await _u(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 yu(e,L,R,v,async r=>{let i=Pr(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=lu(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=ks(()=>{let l=n?.filter(e=>!e.disabled),f=y??new Set((l??[]).map(e=>e.urn)),p=hr(l,f),m=gr(o,f),g=gr(s,f),_=gr(h,f);k(e=>({...e,...ku(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=hr(a,o),c=ju(gr(e,o),gr(i,o),s,t,r);return j(e=>({...e,charting_data:void 0,getChartingData:c})),N(!1),ks(()=>{try{N(Kl(c()))}catch(e){console.error(`Error evaluating cross-dataset chart plottability`,e),N(!1)}})}},[p,n,t,r,_,y]);let ee=(0,c.useMemo)(()=>[O,...M?[A]:[],...P],[O,A,P,M]),J=(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?Fr(s,i):void 0,u=c?s.map(e=>({...e,filters:c.get(e.urn)??[]})):s,f=(n&&p?Pr(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))},Nu);let _=s.map(e=>bu(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&&du({getPythonAttachment:z,dataQueries:s.map(e=>Tn(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:ee,activeDatasetUrns:y,onMultipleDataFiltersChange:J}}var Fu=(0,c.createContext)(void 0),Iu={setCrossDatasetAttachmentsState:()=>void 0},Lu=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})}},Ru=({children:e})=>{let[t,n]=(0,c.useState)({}),r=(0,c.useCallback)(e=>{let t=Lu(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)(Fu.Provider,{value:i,children:e})},zu=()=>{let e=(0,c.useContext)(Fu);return e===void 0?Iu:e},Bu=({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)(Ys.Compact),{isOpenedAdvancedView:x}=I(),{activeDatasetUrns:S,dataQueriesKey:C,setCrossDatasetAttachmentsState:w}=zu(),{isCrossDatasetModeOn:T,isMetadataInSidePanel:E}=Z(),D=_s(),O=!E,k=e.datasets??[],A=k.length>1&&!T,j=(0,c.useMemo)(()=>{let e=g.filtersProps.conversation?.messages??[],t=oa(e);return t>=0?e[t].custom_content?.attachments:void 0},[g.filtersProps.conversation?.messages]),M=(0,c.useMemo)(()=>br(e.dataQueries),[e.dataQueries]),N=C===M?S:_r(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=gu(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}=hu(t,o,e.currentDataQuery,a,e.styles?.chartingStyles,i,n,j,void 0,!1,L,P),q=O&&!!z,{structureDataMaps:ee,crossDatasetAttachments:J,activeDatasetUrns:te,isLoadingGridData:ne,onMultipleDataFiltersChange:re}=Pu(t,o,e.dataQueries,e.styles?.chartingStyles,a,i,j,N,L,y,n);(0,c.useEffect)(()=>{if(!T||!e.dataQueries?.length){w();return}ee&&w({attachments:J,dataQueriesKey:M,activeDatasetUrns:te?Array.from(te):void 0,isLoading:ne})},[te,e.dataQueries?.length,J,M,T,ne,w,ee]);let[ie,ae]=(0,c.useState)({filterKey:null,timeFilter:null}),[oe,se]=(0,c.useState)(),Y=T?ne:G,le=T?J:U,ue=(0,c.useCallback)((e,t,n)=>{ae(e),se(!0),W(e,t,n)},[W]),de=(0,c.useCallback)((e,t,n,r,i)=>{se(!0),re(e,t,n,r,i)},[re]),fe=(0,c.useCallback)(n=>{n&&t?.updateCurrentDataQuery(e?.dataQueries?.find(e=>e?.urn===n)||e.currentDataQuery)},[t,e.currentDataQuery,e?.dataQueries]),pe=La(f?.isExternaLinkIncludeFilters,ie,e.currentDataQuery||e.dataQueries?.[0],B);return(0,l.jsx)(ce,{styles:{titles:n,attachmentsStyles:e.styles,formattingSettings:a,limitMessages:h,attachmentsConfig:f},children:(0,l.jsx)(Zs,{currentUrn:_,structuresMap:ee?.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)(vi,{children:(0,l.jsxs)(`div`,{className:`advanced-view flex h-full min-w-0 flex-1 flex-col`,children:[(0,l.jsx)(ml,{locale:o,shareConversationProps:r,isShowShare:s?.isShowShare,conversation:g.filtersProps.conversation}),k.length?(0,l.jsxs)(l.Fragment,{children:[A&&(0,l.jsx)(ja,{datasets:k,initialSelectedDatasetUrn:e?.currentDataQuery?.urn,locale:o,selectDataset:fe}),Y&&!oe?(0,l.jsx)(d.Loader,{}):(0,l.jsxs)(l.Fragment,{children:[q&&(0,l.jsx)(pl,{...m,locale:o,dataset:z,data:R?.data,structures:H,metadataSettings:i,getDatasetUpdatedTime:u,externalLink:pe}),(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)(fl,{...g,actions:t,attachments:le,attachmentsDataQuery:e.currentDataQuery,dataQueries:e?.dataQueries,dimensions:B,isDataLoading:Y,locale:o,filtersProps:{...g?.filtersProps,structureDimensions:V,structures:H,structureDataMaps:ee,onFiltersChange:W,onMultipleDataFiltersChange:de,initialConstraints:K},setIsFiltering:se,filters:ie,onFiltersChange:ue})}),x&&(0,l.jsx)(fs,{scope:`advanced`})]})]})]}):(0,l.jsx)(d.Loader,{})]})})})})};function Vu(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=>mn(e,pn(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,b.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 Hu(e){let t=e?.filter(e=>Yi(e));if(t?.every(e=>!!e?.data))return t?.map(e=>({title:e?.title,...Wu(Uu(e?.data))}))}function Uu(e){if(e)try{return JSON.parse(e)}catch(e){console.error(`Invalid JSON:`,e)}return null}function Wu(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 Gu=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})})]})]}),qu=({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!==Gu.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,Yu=({message:e,regenerateMessage:t,messageActionsIcons:n,rateResponse:r,isStreaming:i=!1,isReadOnly:a=!1,isRegenerateAvailable:o=!1})=>{let{messageActionsTitles:s}=Y(),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}))]})},Xu=({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})]})},Zu=({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||``)})]})]})},Qu=({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}=Y(),[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}=Z(),U=_s(),W=e.role===u.Role.User,G=e.role===u.Role.System,{datasets:K,datasetStructuresMap:q,isLoading:ee}=Vu(n.getDataSet,n.updateDatasets,n.updateDataQueries,n.updateCurrentDataQuery,k,r),[J,te]=(0,c.useState)(!1),[ne,re]=(0,c.useState)([]);(0,c.useEffect)(()=>{M(k?.[0])},[k]);let ie=H&&!!k?.length,ae=(0,c.useCallback)(t=>{e.id&&x?.(e.id,t)},[e.id,x]),{dataSetAttachments:oe,dimensions:se,isLoadingGridData:ce}=hu(n,s,j,w,C?.chartingStyles,f,O,e.custom_content?.attachments,j?q?.get(j.urn):void 0,ee,ae,ie),le=(0,c.useMemo)(()=>_r(k,U.map),[k,U.map]),{crossDatasetAttachments:ue,isLoadingGridData:de}=Pu(n,s,k,C?.chartingStyles,w,f,e.custom_content?.attachments,le,ae,void 0,O),{isOpenedAdvancedView:fe}=I(),{attachments:pe,dataQueriesKey:me,isLoading:he}=zu(),ge=(0,c.useMemo)(()=>br(k),[k]),_e=H&&!!o&&pe!=null&&me===ge,ve=_e?pe:ue,ye=(0,c.useMemo)(()=>H?_e?he:de:ce,[H,de,ce,he,_e]),be=()=>{W&&te(!0)},xe=()=>{te(!1)},Se=t=>{xe(),v?.({...e,content:t})},Ce=(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;re((b?t?.choice?.oneOf||t?.completion?.oneOf:[])||[])},[e,b]),(0,c.useEffect)(()=>{let t=qi(e),n=Hu(t),r=t.filter(e=>Qi(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=Hu(qi(t))||[];k&&e&&q&&P(Na(e,k,q,s,U.map))}},[k,j,q,U.map,se,s,e?.role,t]);let we=(0,c.useCallback)(()=>!W&&S?.systemMessageIcon&&!(fe&&!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,fe,a]),Te=(0,c.useMemo)(()=>(0,l.jsx)(Fc,{actions:n,attachments:B?H?ve:oe:F,onAdvancedViewOpen:m,isDataSetAttachments:B,datasets:K,initialSelectedDatasetUrn:R,showAdvancedView:o,isSystemAttachments:G,isDataLoading:ye,currentDataQuery:j,dataQueries:k,attachmentInfoList:N,locale:s,dimensions:se,selectDataset:Ce}),[n,B,oe,F,ve,K,R,o,G,ye,j,k,N,s,se,Ce,m,H]);if(G&&fe)return null;let Ee=a?null:W?J?null:(0,l.jsx)(Xu,{messageActionsIcons:T,message:e,isStreaming:i,onEditClick:be,isReadOnly:y}):G?null:(0,l.jsx)(Yu,{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&&!J?`max-w-full`:`w-full`),children:[(0,l.jsxs)(`div`,{className:`relative mr-2`,children:[we(),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&&(J?`w-[100%] ml-0`:`ml-12`)),children:[!W&&!fe&&e?.custom_content?.stages?(0,l.jsx)(qu,{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}),J?(0,l.jsx)(Zu,{content:e.content,onCancel:xe,onEditApply:Se,editMessageTitles:E}):(0,l.jsx)(Ue,{content:e.content})]}),Te,Ee,!fe&&!ye&&(0,l.jsx)(We,{choiceButtons:ne,onClick:g})]})]})})},$u=({messages:e,isStreaming:t=!1,isReadOnly:n,conversationViewState:r,...i})=>{let{scrollBottomIcon:a}=Y(),o=(0,c.useRef)(null),s=(0,c.useRef)(null),{isOpenedAdvancedView:g}=I(),_=ds(),[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=aa(e,o),p=oa(e);return(0,l.jsx)(Qu,{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})})]})},ed=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},td=`local`,nd=e=>!e.permissions?.includes(u.SharePermission.WRITE)&&!id(e),rd=(e,t)=>ad(e)!==t,id=e=>ad(e)===td,ad=e=>e.id.split(`/`)[0],od=(e,t)=>sd([...t?.messages||[],e]),sd=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=ud(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}),cd=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return sd(n?.slice(0,r)||[])},ld=(e,t)=>{let n=t?.messages,r=n?.findIndex(t=>e.id===t.id);return sd([...n?.slice(0,r)||[],e])};function ud(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 dd=(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},fd=(e,t,n)=>`/${t}${n}/${(0,h.getConversationNavPath)(e?.folderId,e?.id)}`,pd=(e,t,n)=>{let r=`${t}/${n}`,i=(0,m.generateConversationId)({folderId:r,name:e?.name});return{...e,folderId:r,id:i}},md=(e,t)=>{let n=e.lastIndexOf(`.`);return n<=0?`${e}-${t}`:`${e.slice(0,n)}-${t}${e.slice(n)}`},hd=(e,t,n)=>{let r=e.split(`/`);if(r[0]!==`files`||r.length<3)return e;let i=md(r.at(-1)??`file`,n);return[`files`,t,...r.slice(2,-1),i].join(`/`)},gd=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=hd(e,t,`${a}`);return i===e||await r(i,await n(e)),[e,i]}));return(0,h.replaceConversationAttachmentUrls)(e,Object.fromEntries(o))},_d=`AbortError`,vd=({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})}},yd=({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}},bd=(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}}}},xd=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}},Sd=({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,ee]=(0,c.useState)(!0),{isStreaming:J,setIsStreaming:ne}=z(),{isOpenedAdvancedView:re}=I(),{setCrossDatasetAttachmentsState:ie}=zu(),{isCrossDatasetModeOn:ae}=Z(),{isAgentAvailable:oe}=(0,d.useAgentAvailability)(),{statusMessages:se}=H(),{onboardingFileSchema:Y,onboardingFilePath:le,onboardingFileName:ue,isShowOnboarding:de,setOnboardingFileSchema:fe}=G();(0,c.useEffect)(()=>{Y&&n.putOnboardingFile?.(ue,le,Y)},[n,Y,ue,le]),(0,c.useEffect)(()=>{re&&Y?.lastDisplayedElement===X.OPEN_ADVANCED_VIEW&&fe?.(rt(Y))},[n,re,fe,Y]);let pe=(0,c.useCallback)(()=>{k(`/${y}${b}`)},[y,b,k]),me=(0,c.useCallback)(async()=>{try{let{bucket:e}=await n.getBucket(),r=pd(n.getFileBlob&&n.putFile?await gd({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(fd(r,y,b))}catch(e){console.error(`Failed to save conversation:`,e)}},[n,t,b,y,k,O]),he=(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]),ge=(0,c.useCallback)((e,n)=>{if(!t)return;let r=gu(t.messages,n,e);if(!r)return;let i={...t,messages:r};E(i),he(i)},[t,E,he]),_e=(0,c.useCallback)(e=>{E(t=>t?{...t,messages:[...t?.messages||[],e]}:null)},[E]),ve=(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]),ye=(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]),be=(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),he(t))},[n,t,he]),xe=(0,c.useCallback)((e,t)=>{let n=se.serverError,r,i;if((0,h.isHttpError)(e)){i=e;let t=yd({error:e,statusMessages:se});n=t.errorMessage,r=t.errorContext}else i=new h.HttpError({status:h.HTTP_ERROR_CODES.INTERNAL_SERVER_ERROR,message:n});return t&&=ye(t,{errorMessage:n}),w?.(i),{assistantMessage:t,errorContext:r}},[w,se,ye]),Se=(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:xd(),...ae&&{merge_python_code:!0}}};return await(0,m.streamChatResponse)?.(encodeURI(n.id),t,{model:n.model,signal:r?.signal,onMessage:e=>{vd({error:e.error,statusMessages:se});let t=ed(e);(t.content||t.role||t.responseId)&&(i=ye(i,t))},onError:e=>{if(!De(e))throw console.error(`Streaming error:`,e),e}},x,s).catch(e=>{if(!De(e)){let{assistantMessage:t,errorContext:n}=xe(e,i);i=t,a=n}}),{assistantMessage:i,errorContext:a}},[x,ye,xe,se,ae]),Ce=(0,c.useCallback)(async(e,t,n,r)=>{if(!t)return;let i=bd(t,r);i={...i,messages:[...t.messages],updatedAt:Date.now()},n&&i.messages.push(n),i.messages.push(e),await he(i)},[he]),we=(0,c.useCallback)(e=>{E(t=>t&&bd(t,e))},[E]),Te=(0,c.useCallback)((e,t)=>{E(e=>e?{...e,messages:e.messages.filter(e=>e.id!==t.id)}:null)},[E]),Ee=(0,c.useCallback)(()=>{V&&!V.signal.aborted&&V.abort()},[V]),De=e=>e?.name===_d,Oe=(0,c.useCallback)(async(e,t,n,r,i,a=!0)=>{De(i)?await Ce(r??n,e,a?t:void 0):Te(i,t)},[Ce,Te]),ke=(0,c.useCallback)(async(e,t,n)=>{if(!t||!e)return;let r=dd(e,J,t,n),i,a;if(r){_e(r);try{ne(!0),i=ve();let e=od(r,t),{assistantMessage:n,errorContext:o}=await Se(i,e,t);we(o),a=n,await Ce(a,t,r,o)}catch(e){Oe(t,r,i,a,e)}finally{ne(!1)}}},[J,ne,_e,ve,Se,Ce,Oe,we]),Ae=(0,c.useCallback)(async(e,t,n)=>{let r,i;try{ne(!0),r=ve();let{assistantMessage:n,errorContext:a}=await Se(r,e,t);i=n,we(a),await Ce(i,t,void 0,a)}catch(e){Oe(t,n,r,i,e,!1)}finally{ne(!1)}},[ne,Ce,Oe,Se,ve,we]),je=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=cd(e,t),r={...t,messages:t.messages.slice(0,n.length)};E(e=>e?{...e,...r}:null),Ae(n,r,e)},[E,Ae]),{isLastMessageFailed:Me,regenerateLastMessage:Ne}=(0,c.useMemo)(()=>{let e=t?.messages?.at(-1);return{isLastMessageFailed:!!e?.errorMessage,regenerateLastMessage:e&&(()=>je(e,t))}},[t,je]),Pe=(0,c.useCallback)(async(e,t)=>{if(!t||!e)return;let n=ld(e,t),r={...t,messages:[...t.messages.slice(0,n.length-1),e]};E(e=>e?{...e,...r}:null),Ae(n,r,e)},[E,Ae]);(0,c.useEffect)(()=>{gn(),ie();async function t(){try{ee(!0);let{bucket:t}=await n.getBucket(),r=await n.getConversation(decodeURI(e));E(r),K(nd(r)&&rd(r,t)),(r.messages.length===0||r?.messages?.[0]?.role===u.Role.Assistant&&r?.messages?.length===1)&&ke(r.prompt,r)}catch{K(!0),T?.()}finally{ee(!1)}}return e&&t(),()=>{gn()}},[e]);let Fe=(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 Ie=t?.customViewState?.[m.CUSTOM_VIEW_STATE_KEY];return(0,l.jsx)(ce,{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`,re&&!s&&`p-4`),children:[re&&!s?null:(0,l.jsx)(He,{conversation:t,locale:y,isOpenedAdvancedView:re,isShowShareButton:!W&&!de,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)($u,{messages:t?.messages||[],actions:Fe,isStreaming:J,isReadOnly:W,metadataSettings:_,dataQuery:C,locale:y,regenerateMessage:e=>je(e,t),selectMessageToSend:(e,n)=>ke(e,t,n),rateResponse:be,editMessage:e=>Pe(e,t),isReadOnlyConversation:W||de,conversationViewState:Ie,onCodeAttachmentUpdated:ge})}),de?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:me,buttonClassName:(0,p.default)(`text-button-secondary`)})}):(0,l.jsx)(`div`,{className:(0,p.default)(a.inputContainerClass),children:(()=>{if(Ie?.errorContext?.kind===m.ERROR_CONTEXT_KIND.RATE_LIMIT&&(0,m.isRateLimitStillActive)(Ie.errorContext)){let e=(0,m.getRateLimitRestoreDate)(Ie.errorContext);if(e){let t=(0,m.formatDateTime)(e);return(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Info,children:se.getAssistantRestoreMessage(t.date,t.time)})}}return oe?(0,l.jsx)(te,{onSendMessage:e=>ke(e,t),onStopStreaming:Ee,inProcess:J,sendMessageIcon:a.sendMessageIcon,retryIcon:a.retryIcon,placeholder:S?.askAnything??`Ask anything...`,containerClasses:`mt-4`,inputClasses:`border-neutrals-600 mr-2`,isLastFailed:Me,onRetryFailed:Ne}):(0,l.jsx)(d.InlineAlert,{type:d.InlineAlertType.Error,children:se.assistantUnavailable})})()}),de&&P&&(0,l.jsx)(d.Button,{iconBefore:(0,l.jsx)(f.IconPlus,{width:24,height:24}),title:S?.onboardingFooterLink,onClick:pe,isSmallButton:!0,buttonClassName:`text-button-secondary self-center mb-3`}),B]}),!re&&(0,l.jsx)(fs,{scope:`conversation`})]})]})})},Cd=({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=Bu,exports.AdvancedViewProvider=F,exports.AttachmentRenderer=Fc,exports.CUSTOM_CHOICE_ID=q,exports.ChartingIcon=J,exports.ChatFooter=qe,exports.ChatMessagesProvider=R,exports.ChatOnboardingFooter=Ke,exports.CollapsedChatPanel=Cd,exports.ConversationView=Sd,exports.ConversationViewFeatureTogglesProvider=Xt,exports.ConversationViewMessagesProvider=V,exports.ConversationViewSidePanelProvider=ls,exports.ConversationViewStylesProvider=ce,exports.ConversationWelcome=Je,exports.CrossDatasetAttachmentsProvider=Ru,exports.CrossDatasetGridAttachment=kc,exports.CustomChartAttachment=Ls,exports.CustomContentProperties=K,exports.CustomDataGridAttachment=Os,exports.DatasetDimensionsMetadataMapProvider=gs,exports.OnboardingProvider=W,exports.STAGE_STATUS=ee,exports.useAdvancedView=I,exports.useChatMessages=z,exports.useConversationViewFeatureToggles=Z,exports.useConversationViewMessages=H,exports.useConversationViewSidePanelOptional=ds,exports.useConversationViewStyles=Y,exports.useCrossDatasetAttachments=zu,exports.useDatasetDimensionsMetadataMap=_s,exports.useDatasetDimensionsMetadataMapOptional=vs,exports.useOnboarding=G;