@epam/statgpt-conversation-list 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.js +1 -1
  2. package/index.mjs +839 -814
  3. package/package.json +4 -4
package/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),L=require("classnames"),m=require("react"),re=require("lodash"),v=require("@epam/statgpt-ui-components"),X=require("@tabler/icons-react"),Ae=require("jszip"),B=require("@epam/statgpt-shared-toolkit"),$=require("@epam/statgpt-dial-toolkit");var O=(s=>(s.DELETE="delete",s.EXPORT="export",s.SHARE="share",s.RENAME="rename",s))(O||{}),k=(s=>(s.SHARED="shared",s.TODAY="today",s.YESTERDAY="yesterday",s.WEEK="week",s.EARLIER="earlier",s))(k||{});const J=(s,r)=>s?.resources?.filter(o=>o?.parentPath===r)?.map(o=>{const l=`${o?.bucket}/${r}`,u=o?.url?.split("/")?.slice(1)?.join("/");return{...o,folderId:l,id:u,isShared:!0}})||[],ue=s=>({[k.SHARED]:s}),Ie={[k.TODAY]:[],[k.YESTERDAY]:[],[k.WEEK]:[],[k.EARLIER]:[]},de=(s,r)=>s.toDateString()===r.toDateString(),Pe=(s,r)=>{const o=new Date(s.getFullYear(),s.getMonth(),s.getDate()-1);return de(r,o)},je=(s,r)=>{const o=s.getTime()-r.getTime();return Math.floor(o/(1e3*60*60*24))},le=s=>s.updatedAt||Number(s.id?.split("-").pop()),Te=s=>{const r=new Date,o=re.cloneDeep(Ie);for(const l of s)if(l.updatedAt){const u=new Date(l.updatedAt);let d;de(r,u)?d=o[k.TODAY]:Pe(r,u)?d=o[k.YESTERDAY]:je(r,u)<=7?d=o[k.WEEK]:d=o[k.EARLIER],d?.some(f=>f.id===l.id)||d.push(l)}return o},he=s=>s?.sort((r,o)=>(le(o)||0)-(le(r)||0)),De=(s,r)=>s===k.SHARED?r?.shared||"Shared":s===k.TODAY?r?.today||"Today":s===k.YESTERDAY?r?.yesterday||"Yesterday":s===k.WEEK?r?.lastWeek||"Last week":r?.earlier||"Earlier",Oe=({onCloseModal:s,disableModalDividers:r,deleteConversation:o,isSmallButton:l,titles:u,locale:d})=>c.jsxs(v.Popup,{heading:u?.deleteTitle??"Delete conversation",portalId:"delete-conversation",containerClassName:"delete-conversation-popup",size:v.PopUpSize.SM,dividers:!r,onClose:s,closeButtonTitle:u?.close??"Cancel",children:[c.jsx("div",{className:"py-4 px-6 sm:px-0",lang:d,children:u?.deleteMessage??"Are you sure you want to delete this conversation? This action cannot be undone."}),c.jsxs("div",{className:"flex justify-end gap-x-2 py-3 px-6 delete-conversation-popup-footer",children:[c.jsx(v.Button,{buttonClassName:"cancel-button",title:u?.cancel??"Cancel",isSmallButton:l,onClick:f=>{f.stopPropagation(),s()}}),c.jsx(v.Button,{buttonClassName:"text-button-primary text-button-primary-error",title:u?.delete??"Delete",isSmallButton:l,onClick:f=>{f.stopPropagation(),o()}})]})]}),Le=s=>{const r=Fe(B.getConversationAttachments(s)).map(o=>({...o,relativePath:"",contentLength:0}));return re.uniqBy(r,o=>K(o.relativePath,o.name))},ke=s=>s.endsWith("/"),Be=s=>{const r=s.toLowerCase();return["data:","//","http://","https://","file://","ftp://","mailto:","telnet://","api/files"].some(o=>r.startsWith(o))},Ue=s=>{const r=K(...s.split("/").map(l=>decodeURIComponent(l))),o=r.lastIndexOf("/");return{absolutePath:r.slice(0,o),name:r.slice(o+1)}},Fe=s=>s?s.map(r=>{if(!r.url||Be(r.url)||ke(r.url))return null;const{absolutePath:o,name:l}=Ue(r.url);return{id:r.url,name:l,contentType:r.type,folderId:o,absolutePath:o}}).filter(Boolean):[];async function ze(s,r){const o=Le(s),l=new Ae;o.forEach(g=>{const e=encodeURI(K(g.absolutePath,g.name)),n=r(`${e}`.replace("files/","")),t=_e(g.folderId),a=K("res",t,g.name);l.file(a,n)});const u={version:5,history:[s].map($e)||[],folders:[]},d=JSON.stringify(u,null,2);return l.file("conversations/conversations_history.json",d),await l.generateAsync({type:"base64"})}const _e=s=>{const r=s.split("/");return r.length>2?K(...r.slice(2)):void 0},$e=s=>re.omit(s,["publicationInfo"]),K=(...s)=>s.filter(Boolean).join("/");function He(s,r){const o=document.createElement("a");o.download=r,o.href=s,o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(s)}var Ye=Object.defineProperty,ee=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,ce=(s,r,o)=>r in s?Ye(s,r,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[r]=o,se=(s,r)=>{for(var o in r||(r={}))pe.call(r,o)&&ce(s,o,r[o]);if(ee)for(var o of ee(r))me.call(r,o)&&ce(s,o,r[o]);return s},oe=(s,r)=>{var o={};for(var l in s)pe.call(s,l)&&r.indexOf(l)<0&&(o[l]=s[l]);if(s!=null&&ee)for(var l of ee(s))r.indexOf(l)<0&&me.call(s,l)&&(o[l]=s[l]);return o};var W;(s=>{const r=class w{constructor(e,n,t,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<w.MIN_VERSION||e>w.MAX_VERSION)throw new RangeError("Version value out of range");if(a<-1||a>7)throw new RangeError("Mask value out of range");this.size=e*4+17;let i=[];for(let h=0;h<this.size;h++)i.push(!1);for(let h=0;h<this.size;h++)this.modules.push(i.slice()),this.isFunction.push(i.slice());this.drawFunctionPatterns();const p=this.addEccAndInterleave(t);if(this.drawCodewords(p),a==-1){let h=1e9;for(let x=0;x<8;x++){this.applyMask(x),this.drawFormatBits(x);const C=this.getPenaltyScore();C<h&&(a=x,h=C),this.applyMask(x)}}u(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(e,n){const t=s.QrSegment.makeSegments(e);return w.encodeSegments(t,n)}static encodeBinary(e,n){const t=s.QrSegment.makeBytes(e);return w.encodeSegments([t],n)}static encodeSegments(e,n,t=1,a=40,i=-1,p=!0){if(!(w.MIN_VERSION<=t&&t<=a&&a<=w.MAX_VERSION)||i<-1||i>7)throw new RangeError("Invalid value");let h,x;for(h=t;;h++){const E=w.getNumDataCodewords(h,n)*8,R=f.getTotalBits(e,h);if(R<=E){x=R;break}if(h>=a)throw new RangeError("Data too long")}for(const E of[w.Ecc.MEDIUM,w.Ecc.QUARTILE,w.Ecc.HIGH])p&&x<=w.getNumDataCodewords(h,E)*8&&(n=E);let C=[];for(const E of e){o(E.mode.modeBits,4,C),o(E.numChars,E.mode.numCharCountBits(h),C);for(const R of E.getData())C.push(R)}u(C.length==x);const M=w.getNumDataCodewords(h,n)*8;u(C.length<=M),o(0,Math.min(4,M-C.length),C),o(0,(8-C.length%8)%8,C),u(C.length%8==0);for(let E=236;C.length<M;E^=253)o(E,8,C);let N=[];for(;N.length*8<C.length;)N.push(0);return C.forEach((E,R)=>N[R>>>3]|=E<<7-(R&7)),new w(h,n,N,i)}getModule(e,n){return 0<=e&&e<this.size&&0<=n&&n<this.size&&this.modules[n][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let t=0;t<this.size;t++)this.setFunctionModule(6,t,t%2==0),this.setFunctionModule(t,6,t%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const e=this.getAlignmentPatternPositions(),n=e.length;for(let t=0;t<n;t++)for(let a=0;a<n;a++)t==0&&a==0||t==0&&a==n-1||t==n-1&&a==0||this.drawAlignmentPattern(e[t],e[a]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){const n=this.errorCorrectionLevel.formatBits<<3|e;let t=n;for(let i=0;i<10;i++)t=t<<1^(t>>>9)*1335;const a=(n<<10|t)^21522;u(a>>>15==0);for(let i=0;i<=5;i++)this.setFunctionModule(8,i,l(a,i));this.setFunctionModule(8,7,l(a,6)),this.setFunctionModule(8,8,l(a,7)),this.setFunctionModule(7,8,l(a,8));for(let i=9;i<15;i++)this.setFunctionModule(14-i,8,l(a,i));for(let i=0;i<8;i++)this.setFunctionModule(this.size-1-i,8,l(a,i));for(let i=8;i<15;i++)this.setFunctionModule(8,this.size-15+i,l(a,i));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;const n=this.version<<12|e;u(n>>>18==0);for(let t=0;t<18;t++){const a=l(n,t),i=this.size-11+t%3,p=Math.floor(t/3);this.setFunctionModule(i,p,a),this.setFunctionModule(p,i,a)}}drawFinderPattern(e,n){for(let t=-4;t<=4;t++)for(let a=-4;a<=4;a++){const i=Math.max(Math.abs(a),Math.abs(t)),p=e+a,h=n+t;0<=p&&p<this.size&&0<=h&&h<this.size&&this.setFunctionModule(p,h,i!=2&&i!=4)}}drawAlignmentPattern(e,n){for(let t=-2;t<=2;t++)for(let a=-2;a<=2;a++)this.setFunctionModule(e+a,n+t,Math.max(Math.abs(a),Math.abs(t))!=1)}setFunctionModule(e,n,t){this.modules[n][e]=t,this.isFunction[n][e]=!0}addEccAndInterleave(e){const n=this.version,t=this.errorCorrectionLevel;if(e.length!=w.getNumDataCodewords(n,t))throw new RangeError("Invalid argument");const a=w.NUM_ERROR_CORRECTION_BLOCKS[t.ordinal][n],i=w.ECC_CODEWORDS_PER_BLOCK[t.ordinal][n],p=Math.floor(w.getNumRawDataModules(n)/8),h=a-p%a,x=Math.floor(p/a);let C=[];const M=w.reedSolomonComputeDivisor(i);for(let E=0,R=0;E<a;E++){let I=e.slice(R,R+x-i+(E<h?0:1));R+=I.length;const j=w.reedSolomonComputeRemainder(I,M);E<h&&I.push(0),C.push(I.concat(j))}let N=[];for(let E=0;E<C[0].length;E++)C.forEach((R,I)=>{(E!=x-i||I>=h)&&N.push(R[E])});return u(N.length==p),N}drawCodewords(e){if(e.length!=Math.floor(w.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let a=0;a<this.size;a++)for(let i=0;i<2;i++){const p=t-i,x=(t+1&2)==0?this.size-1-a:a;!this.isFunction[x][p]&&n<e.length*8&&(this.modules[x][p]=l(e[n>>>3],7-(n&7)),n++)}}u(n==e.length*8)}applyMask(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(let n=0;n<this.size;n++)for(let t=0;t<this.size;t++){let a;switch(e){case 0:a=(t+n)%2==0;break;case 1:a=n%2==0;break;case 2:a=t%3==0;break;case 3:a=(t+n)%3==0;break;case 4:a=(Math.floor(t/3)+Math.floor(n/2))%2==0;break;case 5:a=t*n%2+t*n%3==0;break;case 6:a=(t*n%2+t*n%3)%2==0;break;case 7:a=((t+n)%2+t*n%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[n][t]&&a&&(this.modules[n][t]=!this.modules[n][t])}}getPenaltyScore(){let e=0;for(let i=0;i<this.size;i++){let p=!1,h=0,x=[0,0,0,0,0,0,0];for(let C=0;C<this.size;C++)this.modules[i][C]==p?(h++,h==5?e+=w.PENALTY_N1:h>5&&e++):(this.finderPenaltyAddHistory(h,x),p||(e+=this.finderPenaltyCountPatterns(x)*w.PENALTY_N3),p=this.modules[i][C],h=1);e+=this.finderPenaltyTerminateAndCount(p,h,x)*w.PENALTY_N3}for(let i=0;i<this.size;i++){let p=!1,h=0,x=[0,0,0,0,0,0,0];for(let C=0;C<this.size;C++)this.modules[C][i]==p?(h++,h==5?e+=w.PENALTY_N1:h>5&&e++):(this.finderPenaltyAddHistory(h,x),p||(e+=this.finderPenaltyCountPatterns(x)*w.PENALTY_N3),p=this.modules[C][i],h=1);e+=this.finderPenaltyTerminateAndCount(p,h,x)*w.PENALTY_N3}for(let i=0;i<this.size-1;i++)for(let p=0;p<this.size-1;p++){const h=this.modules[i][p];h==this.modules[i][p+1]&&h==this.modules[i+1][p]&&h==this.modules[i+1][p+1]&&(e+=w.PENALTY_N2)}let n=0;for(const i of this.modules)n=i.reduce((p,h)=>p+(h?1:0),n);const t=this.size*this.size,a=Math.ceil(Math.abs(n*20-t*10)/t)-1;return u(0<=a&&a<=9),e+=a*w.PENALTY_N4,u(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{const e=Math.floor(this.version/7)+2,n=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2;let t=[6];for(let a=this.size-7;t.length<e;a-=n)t.splice(1,0,a);return t}}static getNumRawDataModules(e){if(e<w.MIN_VERSION||e>w.MAX_VERSION)throw new RangeError("Version number out of range");let n=(16*e+128)*e+64;if(e>=2){const t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return u(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(w.getNumRawDataModules(e)/8)-w.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*w.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw new RangeError("Degree out of range");let n=[];for(let a=0;a<e-1;a++)n.push(0);n.push(1);let t=1;for(let a=0;a<e;a++){for(let i=0;i<n.length;i++)n[i]=w.reedSolomonMultiply(n[i],t),i+1<n.length&&(n[i]^=n[i+1]);t=w.reedSolomonMultiply(t,2)}return n}static reedSolomonComputeRemainder(e,n){let t=n.map(a=>0);for(const a of e){const i=a^t.shift();t.push(0),n.forEach((p,h)=>t[h]^=w.reedSolomonMultiply(p,i))}return t}static reedSolomonMultiply(e,n){if(e>>>8||n>>>8)throw new RangeError("Byte out of range");let t=0;for(let a=7;a>=0;a--)t=t<<1^(t>>>7)*285,t^=(n>>>a&1)*e;return u(t>>>8==0),t}finderPenaltyCountPatterns(e){const n=e[1];u(n<=this.size*3);const t=n>0&&e[2]==n&&e[3]==n*3&&e[4]==n&&e[5]==n;return(t&&e[0]>=n*4&&e[6]>=n?1:0)+(t&&e[6]>=n*4&&e[0]>=n?1:0)}finderPenaltyTerminateAndCount(e,n,t){return e&&(this.finderPenaltyAddHistory(n,t),n=0),n+=this.size,this.finderPenaltyAddHistory(n,t),this.finderPenaltyCountPatterns(t)}finderPenaltyAddHistory(e,n){n[0]==0&&(e+=this.size),n.pop(),n.unshift(e)}};r.MIN_VERSION=1,r.MAX_VERSION=40,r.PENALTY_N1=3,r.PENALTY_N2=3,r.PENALTY_N3=40,r.PENALTY_N4=10,r.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]],r.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]],s.QrCode=r;function o(g,e,n){if(e<0||e>31||g>>>e)throw new RangeError("Value out of range");for(let t=e-1;t>=0;t--)n.push(g>>>t&1)}function l(g,e){return(g>>>e&1)!=0}function u(g){if(!g)throw new Error("Assertion error")}const d=class y{constructor(e,n,t){if(this.mode=e,this.numChars=n,this.bitData=t,n<0)throw new RangeError("Invalid argument");this.bitData=t.slice()}static makeBytes(e){let n=[];for(const t of e)o(t,8,n);return new y(y.Mode.BYTE,e.length,n)}static makeNumeric(e){if(!y.isNumeric(e))throw new RangeError("String contains non-numeric characters");let n=[];for(let t=0;t<e.length;){const a=Math.min(e.length-t,3);o(parseInt(e.substring(t,t+a),10),a*3+1,n),t+=a}return new y(y.Mode.NUMERIC,e.length,n)}static makeAlphanumeric(e){if(!y.isAlphanumeric(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");let n=[],t;for(t=0;t+2<=e.length;t+=2){let a=y.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t))*45;a+=y.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t+1)),o(a,11,n)}return t<e.length&&o(y.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t)),6,n),new y(y.Mode.ALPHANUMERIC,e.length,n)}static makeSegments(e){return e==""?[]:y.isNumeric(e)?[y.makeNumeric(e)]:y.isAlphanumeric(e)?[y.makeAlphanumeric(e)]:[y.makeBytes(y.toUtf8ByteArray(e))]}static makeEci(e){let n=[];if(e<0)throw new RangeError("ECI assignment value out of range");if(e<128)o(e,8,n);else if(e<16384)o(2,2,n),o(e,14,n);else if(e<1e6)o(6,3,n),o(e,21,n);else throw new RangeError("ECI assignment value out of range");return new y(y.Mode.ECI,0,n)}static isNumeric(e){return y.NUMERIC_REGEX.test(e)}static isAlphanumeric(e){return y.ALPHANUMERIC_REGEX.test(e)}getData(){return this.bitData.slice()}static getTotalBits(e,n){let t=0;for(const a of e){const i=a.mode.numCharCountBits(n);if(a.numChars>=1<<i)return 1/0;t+=4+i+a.bitData.length}return t}static toUtf8ByteArray(e){e=encodeURI(e);let n=[];for(let t=0;t<e.length;t++)e.charAt(t)!="%"?n.push(e.charCodeAt(t)):(n.push(parseInt(e.substring(t+1,t+3),16)),t+=2);return n}};d.NUMERIC_REGEX=/^[0-9]*$/,d.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,d.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let f=d;s.QrSegment=d})(W||(W={}));(s=>{(r=>{const o=class{constructor(u,d){this.ordinal=u,this.formatBits=d}};o.LOW=new o(0,1),o.MEDIUM=new o(1,0),o.QUARTILE=new o(2,3),o.HIGH=new o(3,2),r.Ecc=o})(s.QrCode||(s.QrCode={}))})(W||(W={}));(s=>{(r=>{const o=class{constructor(u,d){this.modeBits=u,this.numBitsCharCount=d}numCharCountBits(u){return this.numBitsCharCount[Math.floor((u+7)/17)]}};o.NUMERIC=new o(1,[10,12,14]),o.ALPHANUMERIC=new o(2,[9,11,13]),o.BYTE=new o(4,[8,16,16]),o.KANJI=new o(8,[8,10,12]),o.ECI=new o(7,[0,0,0]),r.Mode=o})(s.QrSegment||(s.QrSegment={}))})(W||(W={}));var V=W;var Qe={L:V.QrCode.Ecc.LOW,M:V.QrCode.Ecc.MEDIUM,Q:V.QrCode.Ecc.QUARTILE,H:V.QrCode.Ecc.HIGH},fe=128,ge="L",Ce="#FFFFFF",Ee="#000000",xe=!1,ve=1,Ge=4,We=0,Ve=.1;function we(s,r=0){const o=[];return s.forEach(function(l,u){let d=null;l.forEach(function(f,g){if(!f&&d!==null){o.push(`M${d+r} ${u+r}h${g-d}v1H${d+r}z`),d=null;return}if(g===l.length-1){if(!f)return;d===null?o.push(`M${g+r},${u+r} h1v1H${g+r}z`):o.push(`M${d+r},${u+r} h${g+1-d}v1H${d+r}z`);return}f&&d===null&&(d=g)})}),o.join("")}function Ne(s,r){return s.slice().map((o,l)=>l<r.y||l>=r.y+r.h?o:o.map((u,d)=>d<r.x||d>=r.x+r.w?u:!1))}function Xe(s,r,o,l){if(l==null)return null;const u=s.length+o*2,d=Math.floor(r*Ve),f=u/r,g=(l.width||d)*f,e=(l.height||d)*f,n=l.x==null?s.length/2-g/2:l.x*f,t=l.y==null?s.length/2-e/2:l.y*f,a=l.opacity==null?1:l.opacity;let i=null;if(l.excavate){let h=Math.floor(n),x=Math.floor(t),C=Math.ceil(g+n-h),M=Math.ceil(e+t-x);i={x:h,y:x,w:C,h:M}}const p=l.crossOrigin;return{x:n,y:t,h:e,w:g,excavation:i,opacity:a,crossOrigin:p}}function Ke(s,r){return r!=null?Math.max(Math.floor(r),0):s?Ge:We}function Re({value:s,level:r,minVersion:o,includeMargin:l,marginSize:u,imageSettings:d,size:f,boostLevel:g}){let e=m.useMemo(()=>{const h=(Array.isArray(s)?s:[s]).reduce((x,C)=>(x.push(...V.QrSegment.makeSegments(C)),x),[]);return V.QrCode.encodeSegments(h,Qe[r],o,void 0,void 0,g)},[s,r,o,g]);const{cells:n,margin:t,numCells:a,calculatedImageSettings:i}=m.useMemo(()=>{let p=e.getModules();const h=Ke(l,u),x=p.length+h*2,C=Xe(p,f,h,d);return{cells:p,margin:h,numCells:x,calculatedImageSettings:C}},[e,f,d,l,u]);return{qrcode:e,margin:t,cells:n,numCells:a,calculatedImageSettings:i}}var qe=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),Ze=m.forwardRef(function(r,o){const l=r,{value:u,size:d=fe,level:f=ge,bgColor:g=Ce,fgColor:e=Ee,includeMargin:n=xe,minVersion:t=ve,boostLevel:a,marginSize:i,imageSettings:p}=l,x=oe(l,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:C}=x,M=oe(x,["style"]),N=p?.src,E=m.useRef(null),R=m.useRef(null),I=m.useCallback(U=>{E.current=U,typeof o=="function"?o(U):o&&(o.current=U)},[o]),[j,b]=m.useState(!1),{margin:T,cells:F,numCells:z,calculatedImageSettings:P}=Re({value:u,level:f,minVersion:t,boostLevel:a,includeMargin:n,marginSize:i,imageSettings:p,size:d});m.useEffect(()=>{if(E.current!=null){const U=E.current,S=U.getContext("2d");if(!S)return;let A=F;const D=R.current,Q=P!=null&&D!==null&&D.complete&&D.naturalHeight!==0&&D.naturalWidth!==0;Q&&P.excavation!=null&&(A=Ne(F,P.excavation));const q=window.devicePixelRatio||1;U.height=U.width=d*q;const Z=d/z*q;S.scale(Z,Z),S.fillStyle=g,S.fillRect(0,0,z,z),S.fillStyle=e,qe?S.fill(new Path2D(we(A,T))):F.forEach(function(G,H){G.forEach(function(te,ne){te&&S.fillRect(ne+T,H+T,1,1)})}),P&&(S.globalAlpha=P.opacity),Q&&S.drawImage(D,P.x+T,P.y+T,P.w,P.h)}}),m.useEffect(()=>{b(!1)},[N]);const _=se({height:d,width:d},C);let Y=null;return N!=null&&(Y=m.createElement("img",{src:N,key:N,style:{display:"none"},onLoad:()=>{b(!0)},ref:R,crossOrigin:P?.crossOrigin})),m.createElement(m.Fragment,null,m.createElement("canvas",se({style:_,height:d,width:d,ref:I,role:"img"},M)),Y)});Ze.displayName="QRCodeCanvas";var Me=m.forwardRef(function(r,o){const l=r,{value:u,size:d=fe,level:f=ge,bgColor:g=Ce,fgColor:e=Ee,includeMargin:n=xe,minVersion:t=ve,boostLevel:a,title:i,marginSize:p,imageSettings:h}=l,x=oe(l,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:C,cells:M,numCells:N,calculatedImageSettings:E}=Re({value:u,level:f,minVersion:t,boostLevel:a,includeMargin:n,marginSize:p,imageSettings:h,size:d});let R=M,I=null;h!=null&&E!=null&&(E.excavation!=null&&(R=Ne(M,E.excavation)),I=m.createElement("image",{href:h.src,height:E.h,width:E.w,x:E.x+C,y:E.y+C,preserveAspectRatio:"none",opacity:E.opacity,crossOrigin:E.crossOrigin}));const j=we(R,C);return m.createElement("svg",se({height:d,width:d,viewBox:`0 0 ${N} ${N}`,ref:o,role:"img"},x),!!i&&m.createElement("title",null,i),m.createElement("path",{fill:g,d:`M0,0 h${N}v${N}H0z`,shapeRendering:"crispEdges"}),m.createElement("path",{fill:e,d:j,shapeRendering:"crispEdges"}),I)});Me.displayName="QRCodeSVG";const Je=(s,r)=>({invitationType:$.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(s)}`},...r]}),et=s=>{const r=s?.invitationLink?.split("/").at(-1)||"";return`/${B.SHARE_CONVERSATION_ROUTE}/${r}`},tt=(s,r)=>r?.find(o=>{const l=s?.id?.split("/")?.pop(),u=o?.url?.split("/")?.pop()||"";return u===l||decodeURI(u)===l}),nt=s=>s?.messages?.filter(o=>!!o?.custom_content?.attachments)?.flatMap(o=>o?.custom_content?.attachments?.map(l=>({url:l?.url||""}))||[])?.filter(o=>!!o?.url)||[],st=({conversation:s,locale:r,onCloseModal:o,modalDividers:l,getConversation:u,generateConversationLink:d,chatExpiration:f,chatExpirationDays:g,close:e,chatWarning:n,shareLink:t,shareCopyLink:a,shareCopiedLink:i,shareDescription:p,shareRemoveAccessToUsers:h,chatName:x,getSharedConversations:C,revokeSharedConversations:M,baseUrl:N,id:E,clientSharedPage:R,clientSharedProp:I})=>{const[j,b]=m.useState(null),[T,F]=m.useState(),[z,P]=m.useState(!1),[_,Y]=m.useState(!1),[U,S]=m.useState(),A=m.useMemo(()=>{const G=N||window.location.origin;if(N&&N!==window.location.origin&&R&&I){const H=j?.split(`/${B.SHARE_CONVERSATION_ROUTE}/`)?.[1];return`${G}/${R}?${I}=${H}`}return`${G}/${r}${j}`},[N,j,r,R,I]);m.useEffect(()=>{(async()=>{try{const H=decodeURI(s?s?.id:`${E?.[0]}/${r}/${E?.[1]}`),te=`${decodeURI(H)}`,ne=await u?.(te),ye=Je(H,nt(ne)),ae=await d?.(ye),ie=await C?.($.getSharedConversationsRequest($.ShareTarget.OTHERS));ae&&ie&&(P(!0),b(et(ae)),F(tt(s,ie?.resources)))}catch(H){P(!1),console.error("Error sharing conversation",H)}})()},[s,d,u,C,E,r]);const D=m.useCallback(()=>{o(),b(null),P(!1),Y(!1)},[o]),Q=m.useCallback(()=>{Y(!0),navigator.clipboard.writeText(A||"")},[A]),q=async()=>{try{S(!0),T&&await M?.({resources:[T]})}catch(G){S(!1),console.error("Error revoking shared conversation",G)}},Z=m.useCallback(()=>c.jsx(v.Button,{buttonClassName:_?"text-button-secondary":"text-button-primary",iconBefore:_?c.jsx(X.IconCheck,{width:20,height:20}):c.jsx(X.IconCopy,{width:20,height:20}),title:_?i??"Copied":a??"Copy link",disabled:_,onClick:Q}),[_,Q,i,a]);return c.jsxs(v.Popup,{heading:t??"Share link",portalId:"share",size:v.PopUpSize.SM,dividers:l,onClose:D,closeButtonTitle:e??"Close",children:[z?c.jsxs("div",{className:"share flex flex-col gap-y-4 px-6 pb-6 overflow-auto sm:p-0",children:[s?.name?c.jsxs("div",{className:"flex share-info w-full",children:[c.jsx("p",{className:"share-info-title text-neutrals-800 mr-1 body-1",children:x??"Chat name:"}),c.jsx("h3",{className:"flex-1 min-w-0 truncate",title:s?.name,children:s?.name})]}):null,c.jsxs("div",{className:"flex share-info",children:[c.jsx("p",{className:"share-info-title text-neutrals-800 mr-1 body-1",children:f??"Link expiration date:"}),c.jsxs("h3",{children:["3 ",g??"days"]})]}),c.jsx(Me,{className:"self-center border border-neutrals-600 p-2 rounded min-h-[200px]",value:A,size:200}),c.jsx("p",{className:"body-2 text-neutrals-1000",children:p??"Your name, special instructions, and any messages you add after sharing remain confidential."}),c.jsx(v.InputWithIcon,{containerClasses:"share-input-container",cssClass:"share-input",readonly:!0,placeholder:A,value:A,inputId:"conversationLink",iconAfterInput:Z()})]}):c.jsx("div",{className:"flex justify-center items-center py-6 px-6",children:c.jsx(v.Loader,{})}),z?s&&T?c.jsx("div",{className:"remove-access",children:c.jsx(v.Button,{title:h??"Remove access to all users",buttonClassName:"remove-access-button py-3 px-4",isSmallButton:!0,disabled:U,onClick:q})}):c.jsx("p",{className:"body-2 text-neutrals-800 share-footer",children:n??"This chat has not been shared with anyone yet."}):c.jsx("div",{})]})},ot=({conversation:s,onCloseModal:r,renameConversation:o,locale:l,disableModalDividers:u,titles:d,isSmallButton:f})=>{const[g,e]=m.useState(s?.name||""),n=a=>{e(a)},t=()=>{const a=`${s?.folderId}/${encodeURIComponent(B.getClearedConversationName(g))}-${new Date().getTime()}`;o(`conversations/${s.id}`,`conversations/${a}`)};return c.jsxs(v.Popup,{heading:d?.renameTitle??"Rename conversation",portalId:"rename-conversation",containerClassName:"rename-conversation-popup",size:v.PopUpSize.SM,dividers:!u,onClose:r,closeButtonTitle:d?.close??"Cancel",children:[c.jsx("div",{className:"py-4 px-6 sm:px-0",lang:l,children:c.jsx(v.Input,{inputId:"rename",value:g,onChange:n,cssClass:"w-full"})}),c.jsxs("div",{className:"flex justify-end gap-x-2 py-3 px-6 delete-conversation-popup-footer",children:[c.jsx(v.Button,{buttonClassName:"cancel-button",title:d?.cancel??"Cancel",isSmallButton:f,onClick:a=>{a.stopPropagation(),r()}}),c.jsx(v.Button,{buttonClassName:"text-button-primary text-button-primary",title:d?.save??"Rename",isSmallButton:f,disabled:!g,onClick:a=>{a.stopPropagation(),t()}})]})]})},Se=({conversation:s,conversationStyles:r,shareConversationProps:o,onConversationDelete:l,getConversation:u,getFileBlob:d,renameConversation:f,triggerButton:g,locale:e,isDisabled:n})=>{const t=m.useMemo(()=>{const b=[{key:O.DELETE,title:r?.titles?.delete??"Delete",icon:r.actionsIcons?.[O.DELETE]}];return s?.model?.id?.endsWith(B.ONBOARDING_MODEL_POSTFIX)?b:[...s.isShared?[]:[{key:O.SHARE,title:r?.titles?.share??"Share",icon:r.actionsIcons?.[O.SHARE]},{key:O.RENAME,title:r?.titles?.rename??"Rename",icon:r.actionsIcons?.[O.RENAME]}],{key:O.EXPORT,title:r?.titles?.export??"Export",icon:r.actionsIcons?.[O.EXPORT]},...b]},[s.isShared,s?.model?.id,r.titles,r.actionsIcons]),[a,i]=m.useState(v.PopUpState.Closed),[p,h]=m.useState(v.PopUpState.Closed),[x,C]=m.useState(v.PopUpState.Closed),M=m.useCallback(()=>{i(v.PopUpState.Closed)},[i]),N=m.useCallback(()=>{h(v.PopUpState.Closed)},[h]),E=m.useCallback(()=>{C(v.PopUpState.Closed)},[C]),R=m.useCallback(()=>{l(s),M()},[s,l,M]),I=m.useCallback((b,T)=>{f(b,T),E()},[f,E]),j=b=>{b===O.DELETE&&i(v.PopUpState.Opened),b===O.SHARE&&h(v.PopUpState.Opened),b===O.RENAME&&C(v.PopUpState.Opened),b===O.EXPORT&&u(decodeURI(s.id)).then(T=>{ze(T,d).then(F=>{He(`data:application/zip;base64,${F}`,`chat_with_attachments_${new Date().toLocaleDateString()}.dial`)})})};return c.jsxs(c.Fragment,{children:[c.jsx(v.Dropdown,{containerClassName:"ml-3 group-hover:visible invisible",triggerButton:g??c.jsx(rt,{disabled:n}),options:t,openedClassName:"action-menu-opened",onOptionSelect:j,disabled:n}),a===v.PopUpState.Opened&&c.jsx(Oe,{titles:r.titles,locale:e,disableModalDividers:r.disableModalDividers,isSmallButton:r.isSmallModalButton,deleteConversation:R,onCloseModal:M}),p===v.PopUpState.Opened&&c.jsx(st,{conversation:s,locale:e,onCloseModal:N,...o}),x===v.PopUpState.Opened&&c.jsx(ot,{conversation:s,locale:e,titles:r.titles,renameConversation:I,onCloseModal:E,disableModalDividers:r.disableModalDividers,isSmallButton:r.isSmallModalButton})]})},rt=({disabled:s})=>c.jsx("div",{className:L("flex items-center justify-center w-[24px]",s?"cursor-not-allowed":"cursor-pointer"),children:c.jsx(X.IconDotsVertical,{width:20,height:20,stroke:2,className:"text-primary"})}),be=({conversation:s,selectedConversationId:r,searchQuery:o,onConversationClick:l,actions:u,locale:d,isDisabled:f,conversationStyles:g,shareConversationProps:e})=>{const n=m.useRef(null),t=B.getClearedConversationName(s?.name);return m.useEffect(()=>{if(s?.id===r&&n?.current){const a=n.current.parentElement?.parentElement?.parentElement;if(a){const i=n.current.getBoundingClientRect(),p=a.getBoundingClientRect(),h=i.height,x=p.height,M=i.top-p.top+a.scrollTop-(x/2-h/2);a.scrollTo({top:M,behavior:"smooth"})}}},[s,r]),c.jsxs("div",{ref:n,className:L("flex justify-between items-center py-2 px-3 border-transparent relative group border","conversation-item",r===s?.id&&"bg-hues-100 conversation-item-active",f?"cursor-not-allowed":"cursor-pointer hover:border-hues-600"),onClick:()=>!f&&l(s.folderId,s?.id),title:f?g?.titles?.noActionsAllowed:t,children:[c.jsxs("div",{className:"flex flex-1 min-w-0 items-center",children:[g.conversationItemIcon?g.conversationItemIcon:null,c.jsx("h3",{className:L("truncate font-semibold text-neutrals-1000 sm:body-2","conversation-item-text",r===s?.id?"conversation-item-text-active":""),title:f?g?.titles?.noActionsAllowed:t,children:o?.length?c.jsx(v.HighlightText,{text:t,highlightText:o}):t})]}),c.jsx(Se,{locale:d,conversationStyles:g,conversation:s,onConversationDelete:u.deleteConversation,getConversation:u.getConversation,getFileBlob:u.getFileBlob,renameConversation:u.renameConversation,shareConversationProps:e,isDisabled:f})]})},at=({handleConversationClick:s,actions:r,selectedConversationId:o,groupLabel:l,conversationStyles:u,groupedConversations:d,shareConversationProps:f,locale:g,isDisabled:e})=>{const[n,t]=m.useState(!1),a=m.useCallback(()=>{t(i=>!i)},[t]);return c.jsxs("div",{children:[c.jsxs("div",{className:"inline-flex gap-1 items-center text-neutrals-700 mb-3 cursor-pointer conversation-group-items-title",onClick:a,children:[c.jsx(X.IconCaretRightFilled,{className:L("w-3 h-3 conversation-group-items-arrow",n?"rotate-[90deg]":"rotate-0")}),c.jsx("span",{className:"body-3 conversation-group-items-title-text",children:De(l,u?.titles)})]}),!n&&c.jsx("div",{className:L("flex flex-col gap-y-3","conversation-group-items"),children:he(d).map(i=>c.jsx(be,{locale:g,isDisabled:e,conversationStyles:u,conversation:i,selectedConversationId:o,onConversationClick:s,actions:r,shareConversationProps:f},i.id||i.name))})]},l)},it=({searchQuery:s,isExpandedSearch:r,titles:o,searchIcon:l,onSearchConversations:u,toggleSearchField:d})=>c.jsx(c.Fragment,{children:r?c.jsx(v.InputWithIcon,{inputId:"conversations-search",placeholder:o?.searchPlaceholder??"Search",containerClasses:"conversation-list-search-input h-[40px] bg-transparent px-4 py-2 rounded-full border-neutrals-400 shadow-none",cssClass:"h-auto",value:s,iconAfterInput:c.jsx(v.IconButton,{buttonClassName:"text-button-tertiary items-center p-0 ml-4 border-0 w-5 h-5",onClick:d,icon:c.jsx(X.IconX,{})}),onChange:u}):c.jsx(v.Button,{buttonClassName:"text-button-tertiary p-0 search-button",iconBefore:l||c.jsx(X.IconSearch,{className:"w-5 h-5"}),onClick:d})}),lt=({conversations:s,selectedConversationId:r,searchQuery:o,conversationStyles:l,handleConversationClick:u,actions:d,locale:f,shareConversationProps:g})=>{const[e,n]=m.useState([]);return m.useEffect(()=>{n(he(s?.filter(t=>B.getClearedConversationName(t?.name)?.includes(o||""))))},[s,o]),c.jsx(c.Fragment,{children:e?.length?e.map(t=>c.jsx(be,{locale:f,conversationStyles:l,conversation:t,searchQuery:o,selectedConversationId:r,onConversationClick:u,actions:d,shareConversationProps:g},t.id)):c.jsx("h3",{className:"text-neutrals-800",children:l?.titles?.noConversation??"No conversations yet"})})},ct=({titles:s})=>c.jsxs("div",{className:"p-8 text-center flex flex-col",children:[c.jsx("p",{className:"text-neutrals-800",children:s?.noConversation??"No conversations yet"}),c.jsx("p",{className:"text-sm text-neutrals-800 mt-2",children:s?.clickNewChat??'Click "New Chat" to start a conversation'})]}),ut=({handleConversationClick:s,selectedConversationId:r,actions:o,children:l,isCollapsed:u,isStreaming:d,conversationStyles:f,conversations:g,locale:e,sharedConversations:n,setConversations:t,setSharedConversations:a,shareConversationProps:i,handleSelectedConversationRemove:p})=>{const[h,x]=m.useState({}),[C,M]=m.useState(!0),[N,E]=m.useState(""),[R,I]=m.useState(!1),{getConversations:j,getSharedConversations:b,deleteConversation:T,renameConversation:F}=o,z=m.useMemo(()=>!!N?.length,[N]);m.useEffect(()=>{x({...ue(n),...Te(g)})},[g,n]),m.useEffect(()=>{async function S(){try{M(!0);const A=await j(e),D=await b($.getSharedConversationsRequest($.ShareTarget.ME));t(B.cleanConversationNames(A)),a(B.cleanConversationNames(J(D,e)))}catch(A){console.error("Error loading conversation",A)}finally{M(!1)}}S()},[j,t,e,b,a]);const P=m.useCallback(async S=>{try{await T(S);const A=await j(e),D=await b($.getSharedConversationsRequest($.ShareTarget.ME));t(B.cleanConversationNames(A)),a(B.cleanConversationNames(J(D,e))),r===S?.id&&p()}catch(A){console.error("Error deleting conversation",A)}},[T,j,e,b,t,a,r,p]),_=m.useCallback(async(S,A)=>{try{M(!0),await F(S,A);const D=await j(e),Q=await b($.getSharedConversationsRequest($.ShareTarget.ME));t(B.cleanConversationNames(D)),a(B.cleanConversationNames(J(Q,e)))}catch(D){console.error("Error renaming conversation",D)}finally{M(!1)}},[j,e,b,t,a,F]),Y=m.useCallback(S=>{E(S)},[E]),U=m.useCallback(()=>{I(S=>!S),E("")},[I]);return C?c.jsx(v.Loader,{}):c.jsxs(c.Fragment,{children:[!u&&c.jsxs("div",{className:L("flex justify-between items-center",R?" pt-4 pb-0 sm:pt-10":" pt-6 pb-2 sm:pt-10"),children:[!R&&c.jsx("h3",{className:"text-neutrals-700 sm:body-2",children:f?.titles?.allChats??"All Chats"}),c.jsx(it,{searchQuery:N,searchIcon:f.searchIcon,titles:f.titles,isExpandedSearch:R,onSearchConversations:Y,toggleSearchField:U})]}),c.jsx("div",{className:L("scroll-hidden-container flex flex-col mt-4 flex-1 min-h-0 pr-2",z?"gap-y-1":"gap-y-6"),children:u?null:c.jsx(c.Fragment,{children:g?.length===0&&n?.length===0?c.jsx(ct,{titles:f.titles}):z?c.jsx(lt,{locale:e,conversationStyles:f,conversations:[...n,...g],searchQuery:N,selectedConversationId:r,handleConversationClick:s,shareConversationProps:i,actions:{...o,deleteConversation:P}}):Object.entries(h).map(([S,A])=>A?.length>0&&c.jsx(at,{locale:e,isDisabled:d,groupLabel:S,conversationStyles:f,groupedConversations:A,handleConversationClick:s,actions:{...o,deleteConversation:P,renameConversation:_},shareConversationProps:i,selectedConversationId:r},S))})}),l]})},dt=({onCloseModal:s,disableModalDividers:r,signOut:o,isSmallButton:l,locale:u,titles:d})=>c.jsxs(v.Popup,{heading:d?.popupTitle||"Log out?",portalId:"sign-out",containerClassName:"sign-out-popup",size:v.PopUpSize.SM,dividers:!r,onClose:s,closeButtonTitle:"Cancel",children:[c.jsx("div",{className:"py-4 px-6 sm:px-0",lang:u,children:d?.popupText}),c.jsxs("div",{className:"flex justify-end gap-x-2 py-3 px-6 delete-conversation-popup-footer",children:[c.jsx(v.Button,{buttonClassName:"cancel-button",title:d?.popupCancel||"Cancel",isSmallButton:l,onClick:f=>{f.stopPropagation(),s()}}),c.jsx(v.Button,{buttonClassName:"text-button-primary",title:d?.popupApply||"Sign Out",isSmallButton:l,onClick:f=>{f.stopPropagation(),o?.()}})]})]}),ht=({userInfo:s,signOutAction:r,styles:o,locale:l,titles:u})=>{const d=x=>x?.split(" ")?.map((C,M)=>M<2?C[0].toUpperCase():"")?.join("")??"",f=m.useMemo(()=>s?.name?d(s?.name):s?.email?.[0].toUpperCase()??"",[s]),[g,e]=m.useState(!1),n=s?.name?.split(" "),t=n?`${n?.[0]??""} ${n?.[1]?.[0]?n?.[1]?.[0]+".":""}`:s?.email??"",a=m.useCallback(()=>{e(!0)},[]),i=m.useCallback(()=>{e(!1)},[]),p=m.useMemo(()=>c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:L("cursor-pointer flex items-center justify-center size-11 rounded-[100px] p-[10px] sm:h-[32px] sm:w-[32px] flex-shrink-0",o?.initialStyles),children:f}),c.jsx("p",{className:L("h3 cursor-pointer overflow-hidden text-ellipsis",o?.userNameStyles),children:(o?.showShortName?t:s?.name)??s?.email??""})]}),[f,t,o,s]),h=m.useMemo(()=>c.jsxs("div",{className:L("py-1",o?.dropDownStyles),children:[o?.settingsIcon&&c.jsxs("button",{className:L("p-2 items-center flex gap-1 text-primary fill-primary body-1",o?.dropdownButtonStyles),title:u?.settings,children:[o?.settingsIcon,u?.settings||"Settings"]}),c.jsx("div",{className:L("h-0 border-t border-neutrals-600 my-2",o?.showSeparator?"block":"hidden")}),c.jsxs("button",{className:L("p-2 items-center flex gap-1 text-primary fill-primary body-1",o?.dropdownButtonStyles),title:u?.signOut,onClick:a,children:[o?.signOutIcon,u?.signOut||"Sign out",g&&c.jsx(dt,{onCloseModal:i,signOut:()=>r?.(),locale:l,disableModalDividers:o?.disableModalDividers,titles:u})]})]}),[o,u,a,g,i,l,r]);if(s)return c.jsx(v.Dropdown,{containerClassName:L("transition-opacity group-hover:opacity-100 shrink w-full",o?.dropdownContainerClassName),triggerButton:p,content:h,openedClassName:"action-menu-opened"})};exports.ActionMenu=Se;exports.ActionMenuItem=O;exports.ConversationList=ut;exports.User=ht;exports.getSharedConversationsGroup=ue;exports.transformSharedConversations=J;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),O=require("classnames"),m=require("react"),re=require("lodash"),w=require("@epam/statgpt-ui-components"),X=require("@tabler/icons-react"),Ie=require("jszip"),B=require("@epam/statgpt-shared-toolkit"),$=require("@epam/statgpt-dial-toolkit");var k=(n=>(n.DELETE="delete",n.EXPORT="export",n.SHARE="share",n.RENAME="rename",n))(k||{}),L=(n=>(n.SHARED="shared",n.TODAY="today",n.YESTERDAY="yesterday",n.WEEK="week",n.EARLIER="earlier",n))(L||{});const J=(n,o)=>n?.resources?.filter(r=>r?.parentPath===o)?.map(r=>{const i=`${r?.bucket}/${o}`,d=r?.url?.split("/")?.slice(1)?.join("/");return{...r,folderId:i,id:d,isShared:!0}})||[],ue=n=>({[L.SHARED]:n}),Ae={[L.TODAY]:[],[L.YESTERDAY]:[],[L.WEEK]:[],[L.EARLIER]:[]},de=(n,o)=>n.toDateString()===o.toDateString(),Pe=(n,o)=>{const r=new Date(n.getFullYear(),n.getMonth(),n.getDate()-1);return de(o,r)},je=(n,o)=>{const r=n.getTime()-o.getTime();return Math.floor(r/(1e3*60*60*24))},le=n=>n.updatedAt||Number(n.id?.split("-").pop()),Te=n=>{const o=new Date,r=re.cloneDeep(Ae);for(const i of n)if(i.updatedAt){const d=new Date(i.updatedAt);let u;de(o,d)?u=r[L.TODAY]:Pe(o,d)?u=r[L.YESTERDAY]:je(o,d)<=7?u=r[L.WEEK]:u=r[L.EARLIER],u?.some(f=>f.id===i.id)||u.push(i)}return r},he=n=>n?.sort((o,r)=>(le(r)||0)-(le(o)||0)),De=(n,o)=>n===L.SHARED?o?.shared||"Shared":n===L.TODAY?o?.today||"Today":n===L.YESTERDAY?o?.yesterday||"Yesterday":n===L.WEEK?o?.lastWeek||"Last week":o?.earlier||"Earlier",Oe=({onCloseModal:n,disableModalDividers:o,deleteConversation:r,isSmallButton:i,titles:d,locale:u})=>c.jsxs(w.Popup,{heading:d?.deleteTitle??"Delete conversation",portalId:"delete-conversation",containerClassName:"delete-conversation-popup",size:w.PopUpSize.SM,dividers:!o,onClose:n,closeButtonTitle:d?.close??"Cancel",children:[c.jsx("div",{className:"py-4 px-6 sm:px-0",lang:u,children:d?.deleteMessage??"Are you sure you want to delete this conversation? This action cannot be undone."}),c.jsxs("div",{className:"flex justify-end gap-x-2 py-3 px-6 delete-conversation-popup-footer",children:[c.jsx(w.Button,{buttonClassName:"cancel-button",title:d?.cancel??"Cancel",isSmallButton:i,onClick:f=>{f.stopPropagation(),n()}}),c.jsx(w.Button,{buttonClassName:"text-button-primary text-button-primary-error",title:d?.delete??"Delete",isSmallButton:i,onClick:f=>{f.stopPropagation(),r()}})]})]}),ke=n=>{const o=Fe(B.getConversationAttachments(n)).map(r=>({...r,relativePath:"",contentLength:0}));return re.uniqBy(o,r=>K(r.relativePath,r.name))},Le=n=>n.endsWith("/"),Be=n=>{const o=n.toLowerCase();return["data:","//","http://","https://","file://","ftp://","mailto:","telnet://","api/files"].some(r=>o.startsWith(r))},Ue=n=>{const o=K(...n.split("/").map(i=>decodeURIComponent(i))),r=o.lastIndexOf("/");return{absolutePath:o.slice(0,r),name:o.slice(r+1)}},Fe=n=>n?n.map(o=>{if(!o.url||Be(o.url)||Le(o.url))return null;const{absolutePath:r,name:i}=Ue(o.url);return{id:o.url,name:i,contentType:o.type,folderId:r,absolutePath:r}}).filter(Boolean):[];async function ze(n,o){const r=ke(n),i=new Ie;r.forEach(g=>{const e=encodeURI(K(g.absolutePath,g.name)),s=o(`${e}`.replace("files/","")),t=_e(g.folderId),a=K("res",t,g.name);i.file(a,s)});const d={version:5,history:[n].map($e)||[],folders:[]},u=JSON.stringify(d,null,2);return i.file("conversations/conversations_history.json",u),await i.generateAsync({type:"base64"})}const _e=n=>{const o=n.split("/");return o.length>2?K(...o.slice(2)):void 0},$e=n=>re.omit(n,["publicationInfo"]),K=(...n)=>n.filter(Boolean).join("/");function He(n,o){const r=document.createElement("a");r.download=o,r.href=n,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}var Ye=Object.defineProperty,ee=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,ce=(n,o,r)=>o in n?Ye(n,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[o]=r,se=(n,o)=>{for(var r in o||(o={}))pe.call(o,r)&&ce(n,r,o[r]);if(ee)for(var r of ee(o))me.call(o,r)&&ce(n,r,o[r]);return n},oe=(n,o)=>{var r={};for(var i in n)pe.call(n,i)&&o.indexOf(i)<0&&(r[i]=n[i]);if(n!=null&&ee)for(var i of ee(n))o.indexOf(i)<0&&me.call(n,i)&&(r[i]=n[i]);return r};var W;(n=>{const o=class N{constructor(e,s,t,a){if(this.version=e,this.errorCorrectionLevel=s,this.modules=[],this.isFunction=[],e<N.MIN_VERSION||e>N.MAX_VERSION)throw new RangeError("Version value out of range");if(a<-1||a>7)throw new RangeError("Mask value out of range");this.size=e*4+17;let l=[];for(let h=0;h<this.size;h++)l.push(!1);for(let h=0;h<this.size;h++)this.modules.push(l.slice()),this.isFunction.push(l.slice());this.drawFunctionPatterns();const p=this.addEccAndInterleave(t);if(this.drawCodewords(p),a==-1){let h=1e9;for(let x=0;x<8;x++){this.applyMask(x),this.drawFormatBits(x);const C=this.getPenaltyScore();C<h&&(a=x,h=C),this.applyMask(x)}}d(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(e,s){const t=n.QrSegment.makeSegments(e);return N.encodeSegments(t,s)}static encodeBinary(e,s){const t=n.QrSegment.makeBytes(e);return N.encodeSegments([t],s)}static encodeSegments(e,s,t=1,a=40,l=-1,p=!0){if(!(N.MIN_VERSION<=t&&t<=a&&a<=N.MAX_VERSION)||l<-1||l>7)throw new RangeError("Invalid value");let h,x;for(h=t;;h++){const E=N.getNumDataCodewords(h,s)*8,R=f.getTotalBits(e,h);if(R<=E){x=R;break}if(h>=a)throw new RangeError("Data too long")}for(const E of[N.Ecc.MEDIUM,N.Ecc.QUARTILE,N.Ecc.HIGH])p&&x<=N.getNumDataCodewords(h,E)*8&&(s=E);let C=[];for(const E of e){r(E.mode.modeBits,4,C),r(E.numChars,E.mode.numCharCountBits(h),C);for(const R of E.getData())C.push(R)}d(C.length==x);const S=N.getNumDataCodewords(h,s)*8;d(C.length<=S),r(0,Math.min(4,S-C.length),C),r(0,(8-C.length%8)%8,C),d(C.length%8==0);for(let E=236;C.length<S;E^=253)r(E,8,C);let v=[];for(;v.length*8<C.length;)v.push(0);return C.forEach((E,R)=>v[R>>>3]|=E<<7-(R&7)),new N(h,s,v,l)}getModule(e,s){return 0<=e&&e<this.size&&0<=s&&s<this.size&&this.modules[s][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let t=0;t<this.size;t++)this.setFunctionModule(6,t,t%2==0),this.setFunctionModule(t,6,t%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const e=this.getAlignmentPatternPositions(),s=e.length;for(let t=0;t<s;t++)for(let a=0;a<s;a++)t==0&&a==0||t==0&&a==s-1||t==s-1&&a==0||this.drawAlignmentPattern(e[t],e[a]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){const s=this.errorCorrectionLevel.formatBits<<3|e;let t=s;for(let l=0;l<10;l++)t=t<<1^(t>>>9)*1335;const a=(s<<10|t)^21522;d(a>>>15==0);for(let l=0;l<=5;l++)this.setFunctionModule(8,l,i(a,l));this.setFunctionModule(8,7,i(a,6)),this.setFunctionModule(8,8,i(a,7)),this.setFunctionModule(7,8,i(a,8));for(let l=9;l<15;l++)this.setFunctionModule(14-l,8,i(a,l));for(let l=0;l<8;l++)this.setFunctionModule(this.size-1-l,8,i(a,l));for(let l=8;l<15;l++)this.setFunctionModule(8,this.size-15+l,i(a,l));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;const s=this.version<<12|e;d(s>>>18==0);for(let t=0;t<18;t++){const a=i(s,t),l=this.size-11+t%3,p=Math.floor(t/3);this.setFunctionModule(l,p,a),this.setFunctionModule(p,l,a)}}drawFinderPattern(e,s){for(let t=-4;t<=4;t++)for(let a=-4;a<=4;a++){const l=Math.max(Math.abs(a),Math.abs(t)),p=e+a,h=s+t;0<=p&&p<this.size&&0<=h&&h<this.size&&this.setFunctionModule(p,h,l!=2&&l!=4)}}drawAlignmentPattern(e,s){for(let t=-2;t<=2;t++)for(let a=-2;a<=2;a++)this.setFunctionModule(e+a,s+t,Math.max(Math.abs(a),Math.abs(t))!=1)}setFunctionModule(e,s,t){this.modules[s][e]=t,this.isFunction[s][e]=!0}addEccAndInterleave(e){const s=this.version,t=this.errorCorrectionLevel;if(e.length!=N.getNumDataCodewords(s,t))throw new RangeError("Invalid argument");const a=N.NUM_ERROR_CORRECTION_BLOCKS[t.ordinal][s],l=N.ECC_CODEWORDS_PER_BLOCK[t.ordinal][s],p=Math.floor(N.getNumRawDataModules(s)/8),h=a-p%a,x=Math.floor(p/a);let C=[];const S=N.reedSolomonComputeDivisor(l);for(let E=0,R=0;E<a;E++){let A=e.slice(R,R+x-l+(E<h?0:1));R+=A.length;const j=N.reedSolomonComputeRemainder(A,S);E<h&&A.push(0),C.push(A.concat(j))}let v=[];for(let E=0;E<C[0].length;E++)C.forEach((R,A)=>{(E!=x-l||A>=h)&&v.push(R[E])});return d(v.length==p),v}drawCodewords(e){if(e.length!=Math.floor(N.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let s=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let a=0;a<this.size;a++)for(let l=0;l<2;l++){const p=t-l,x=(t+1&2)==0?this.size-1-a:a;!this.isFunction[x][p]&&s<e.length*8&&(this.modules[x][p]=i(e[s>>>3],7-(s&7)),s++)}}d(s==e.length*8)}applyMask(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(let s=0;s<this.size;s++)for(let t=0;t<this.size;t++){let a;switch(e){case 0:a=(t+s)%2==0;break;case 1:a=s%2==0;break;case 2:a=t%3==0;break;case 3:a=(t+s)%3==0;break;case 4:a=(Math.floor(t/3)+Math.floor(s/2))%2==0;break;case 5:a=t*s%2+t*s%3==0;break;case 6:a=(t*s%2+t*s%3)%2==0;break;case 7:a=((t+s)%2+t*s%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[s][t]&&a&&(this.modules[s][t]=!this.modules[s][t])}}getPenaltyScore(){let e=0;for(let l=0;l<this.size;l++){let p=!1,h=0,x=[0,0,0,0,0,0,0];for(let C=0;C<this.size;C++)this.modules[l][C]==p?(h++,h==5?e+=N.PENALTY_N1:h>5&&e++):(this.finderPenaltyAddHistory(h,x),p||(e+=this.finderPenaltyCountPatterns(x)*N.PENALTY_N3),p=this.modules[l][C],h=1);e+=this.finderPenaltyTerminateAndCount(p,h,x)*N.PENALTY_N3}for(let l=0;l<this.size;l++){let p=!1,h=0,x=[0,0,0,0,0,0,0];for(let C=0;C<this.size;C++)this.modules[C][l]==p?(h++,h==5?e+=N.PENALTY_N1:h>5&&e++):(this.finderPenaltyAddHistory(h,x),p||(e+=this.finderPenaltyCountPatterns(x)*N.PENALTY_N3),p=this.modules[C][l],h=1);e+=this.finderPenaltyTerminateAndCount(p,h,x)*N.PENALTY_N3}for(let l=0;l<this.size-1;l++)for(let p=0;p<this.size-1;p++){const h=this.modules[l][p];h==this.modules[l][p+1]&&h==this.modules[l+1][p]&&h==this.modules[l+1][p+1]&&(e+=N.PENALTY_N2)}let s=0;for(const l of this.modules)s=l.reduce((p,h)=>p+(h?1:0),s);const t=this.size*this.size,a=Math.ceil(Math.abs(s*20-t*10)/t)-1;return d(0<=a&&a<=9),e+=a*N.PENALTY_N4,d(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{const e=Math.floor(this.version/7)+2,s=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2;let t=[6];for(let a=this.size-7;t.length<e;a-=s)t.splice(1,0,a);return t}}static getNumRawDataModules(e){if(e<N.MIN_VERSION||e>N.MAX_VERSION)throw new RangeError("Version number out of range");let s=(16*e+128)*e+64;if(e>=2){const t=Math.floor(e/7)+2;s-=(25*t-10)*t-55,e>=7&&(s-=36)}return d(208<=s&&s<=29648),s}static getNumDataCodewords(e,s){return Math.floor(N.getNumRawDataModules(e)/8)-N.ECC_CODEWORDS_PER_BLOCK[s.ordinal][e]*N.NUM_ERROR_CORRECTION_BLOCKS[s.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw new RangeError("Degree out of range");let s=[];for(let a=0;a<e-1;a++)s.push(0);s.push(1);let t=1;for(let a=0;a<e;a++){for(let l=0;l<s.length;l++)s[l]=N.reedSolomonMultiply(s[l],t),l+1<s.length&&(s[l]^=s[l+1]);t=N.reedSolomonMultiply(t,2)}return s}static reedSolomonComputeRemainder(e,s){let t=s.map(a=>0);for(const a of e){const l=a^t.shift();t.push(0),s.forEach((p,h)=>t[h]^=N.reedSolomonMultiply(p,l))}return t}static reedSolomonMultiply(e,s){if(e>>>8||s>>>8)throw new RangeError("Byte out of range");let t=0;for(let a=7;a>=0;a--)t=t<<1^(t>>>7)*285,t^=(s>>>a&1)*e;return d(t>>>8==0),t}finderPenaltyCountPatterns(e){const s=e[1];d(s<=this.size*3);const t=s>0&&e[2]==s&&e[3]==s*3&&e[4]==s&&e[5]==s;return(t&&e[0]>=s*4&&e[6]>=s?1:0)+(t&&e[6]>=s*4&&e[0]>=s?1:0)}finderPenaltyTerminateAndCount(e,s,t){return e&&(this.finderPenaltyAddHistory(s,t),s=0),s+=this.size,this.finderPenaltyAddHistory(s,t),this.finderPenaltyCountPatterns(t)}finderPenaltyAddHistory(e,s){s[0]==0&&(e+=this.size),s.pop(),s.unshift(e)}};o.MIN_VERSION=1,o.MAX_VERSION=40,o.PENALTY_N1=3,o.PENALTY_N2=3,o.PENALTY_N3=40,o.PENALTY_N4=10,o.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]],o.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]],n.QrCode=o;function r(g,e,s){if(e<0||e>31||g>>>e)throw new RangeError("Value out of range");for(let t=e-1;t>=0;t--)s.push(g>>>t&1)}function i(g,e){return(g>>>e&1)!=0}function d(g){if(!g)throw new Error("Assertion error")}const u=class y{constructor(e,s,t){if(this.mode=e,this.numChars=s,this.bitData=t,s<0)throw new RangeError("Invalid argument");this.bitData=t.slice()}static makeBytes(e){let s=[];for(const t of e)r(t,8,s);return new y(y.Mode.BYTE,e.length,s)}static makeNumeric(e){if(!y.isNumeric(e))throw new RangeError("String contains non-numeric characters");let s=[];for(let t=0;t<e.length;){const a=Math.min(e.length-t,3);r(parseInt(e.substring(t,t+a),10),a*3+1,s),t+=a}return new y(y.Mode.NUMERIC,e.length,s)}static makeAlphanumeric(e){if(!y.isAlphanumeric(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");let s=[],t;for(t=0;t+2<=e.length;t+=2){let a=y.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t))*45;a+=y.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t+1)),r(a,11,s)}return t<e.length&&r(y.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t)),6,s),new y(y.Mode.ALPHANUMERIC,e.length,s)}static makeSegments(e){return e==""?[]:y.isNumeric(e)?[y.makeNumeric(e)]:y.isAlphanumeric(e)?[y.makeAlphanumeric(e)]:[y.makeBytes(y.toUtf8ByteArray(e))]}static makeEci(e){let s=[];if(e<0)throw new RangeError("ECI assignment value out of range");if(e<128)r(e,8,s);else if(e<16384)r(2,2,s),r(e,14,s);else if(e<1e6)r(6,3,s),r(e,21,s);else throw new RangeError("ECI assignment value out of range");return new y(y.Mode.ECI,0,s)}static isNumeric(e){return y.NUMERIC_REGEX.test(e)}static isAlphanumeric(e){return y.ALPHANUMERIC_REGEX.test(e)}getData(){return this.bitData.slice()}static getTotalBits(e,s){let t=0;for(const a of e){const l=a.mode.numCharCountBits(s);if(a.numChars>=1<<l)return 1/0;t+=4+l+a.bitData.length}return t}static toUtf8ByteArray(e){e=encodeURI(e);let s=[];for(let t=0;t<e.length;t++)e.charAt(t)!="%"?s.push(e.charCodeAt(t)):(s.push(parseInt(e.substring(t+1,t+3),16)),t+=2);return s}};u.NUMERIC_REGEX=/^[0-9]*$/,u.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,u.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let f=u;n.QrSegment=u})(W||(W={}));(n=>{(o=>{const r=class{constructor(d,u){this.ordinal=d,this.formatBits=u}};r.LOW=new r(0,1),r.MEDIUM=new r(1,0),r.QUARTILE=new r(2,3),r.HIGH=new r(3,2),o.Ecc=r})(n.QrCode||(n.QrCode={}))})(W||(W={}));(n=>{(o=>{const r=class{constructor(d,u){this.modeBits=d,this.numBitsCharCount=u}numCharCountBits(d){return this.numBitsCharCount[Math.floor((d+7)/17)]}};r.NUMERIC=new r(1,[10,12,14]),r.ALPHANUMERIC=new r(2,[9,11,13]),r.BYTE=new r(4,[8,16,16]),r.KANJI=new r(8,[8,10,12]),r.ECI=new r(7,[0,0,0]),o.Mode=r})(n.QrSegment||(n.QrSegment={}))})(W||(W={}));var V=W;var Qe={L:V.QrCode.Ecc.LOW,M:V.QrCode.Ecc.MEDIUM,Q:V.QrCode.Ecc.QUARTILE,H:V.QrCode.Ecc.HIGH},fe=128,ge="L",Ce="#FFFFFF",Ee="#000000",xe=!1,we=1,Ge=4,We=0,Ve=.1;function Ne(n,o=0){const r=[];return n.forEach(function(i,d){let u=null;i.forEach(function(f,g){if(!f&&u!==null){r.push(`M${u+o} ${d+o}h${g-u}v1H${u+o}z`),u=null;return}if(g===i.length-1){if(!f)return;u===null?r.push(`M${g+o},${d+o} h1v1H${g+o}z`):r.push(`M${u+o},${d+o} h${g+1-u}v1H${u+o}z`);return}f&&u===null&&(u=g)})}),r.join("")}function ve(n,o){return n.slice().map((r,i)=>i<o.y||i>=o.y+o.h?r:r.map((d,u)=>u<o.x||u>=o.x+o.w?d:!1))}function Xe(n,o,r,i){if(i==null)return null;const d=n.length+r*2,u=Math.floor(o*Ve),f=d/o,g=(i.width||u)*f,e=(i.height||u)*f,s=i.x==null?n.length/2-g/2:i.x*f,t=i.y==null?n.length/2-e/2:i.y*f,a=i.opacity==null?1:i.opacity;let l=null;if(i.excavate){let h=Math.floor(s),x=Math.floor(t),C=Math.ceil(g+s-h),S=Math.ceil(e+t-x);l={x:h,y:x,w:C,h:S}}const p=i.crossOrigin;return{x:s,y:t,h:e,w:g,excavation:l,opacity:a,crossOrigin:p}}function Ke(n,o){return o!=null?Math.max(Math.floor(o),0):n?Ge:We}function Re({value:n,level:o,minVersion:r,includeMargin:i,marginSize:d,imageSettings:u,size:f,boostLevel:g}){let e=m.useMemo(()=>{const h=(Array.isArray(n)?n:[n]).reduce((x,C)=>(x.push(...V.QrSegment.makeSegments(C)),x),[]);return V.QrCode.encodeSegments(h,Qe[o],r,void 0,void 0,g)},[n,o,r,g]);const{cells:s,margin:t,numCells:a,calculatedImageSettings:l}=m.useMemo(()=>{let p=e.getModules();const h=Ke(i,d),x=p.length+h*2,C=Xe(p,f,h,u);return{cells:p,margin:h,numCells:x,calculatedImageSettings:C}},[e,f,u,i,d]);return{qrcode:e,margin:t,cells:s,numCells:a,calculatedImageSettings:l}}var qe=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),Ze=m.forwardRef(function(o,r){const i=o,{value:d,size:u=fe,level:f=ge,bgColor:g=Ce,fgColor:e=Ee,includeMargin:s=xe,minVersion:t=we,boostLevel:a,marginSize:l,imageSettings:p}=i,x=oe(i,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:C}=x,S=oe(x,["style"]),v=p?.src,E=m.useRef(null),R=m.useRef(null),A=m.useCallback(U=>{E.current=U,typeof r=="function"?r(U):r&&(r.current=U)},[r]),[j,b]=m.useState(!1),{margin:T,cells:F,numCells:z,calculatedImageSettings:P}=Re({value:d,level:f,minVersion:t,boostLevel:a,includeMargin:s,marginSize:l,imageSettings:p,size:u});m.useEffect(()=>{if(E.current!=null){const U=E.current,M=U.getContext("2d");if(!M)return;let I=F;const D=R.current,Q=P!=null&&D!==null&&D.complete&&D.naturalHeight!==0&&D.naturalWidth!==0;Q&&P.excavation!=null&&(I=ve(F,P.excavation));const q=window.devicePixelRatio||1;U.height=U.width=u*q;const Z=u/z*q;M.scale(Z,Z),M.fillStyle=g,M.fillRect(0,0,z,z),M.fillStyle=e,qe?M.fill(new Path2D(Ne(I,T))):F.forEach(function(G,H){G.forEach(function(te,ne){te&&M.fillRect(ne+T,H+T,1,1)})}),P&&(M.globalAlpha=P.opacity),Q&&M.drawImage(D,P.x+T,P.y+T,P.w,P.h)}}),m.useEffect(()=>{b(!1)},[v]);const _=se({height:u,width:u},C);let Y=null;return v!=null&&(Y=m.createElement("img",{src:v,key:v,style:{display:"none"},onLoad:()=>{b(!0)},ref:R,crossOrigin:P?.crossOrigin})),m.createElement(m.Fragment,null,m.createElement("canvas",se({style:_,height:u,width:u,ref:A,role:"img"},S)),Y)});Ze.displayName="QRCodeCanvas";var Se=m.forwardRef(function(o,r){const i=o,{value:d,size:u=fe,level:f=ge,bgColor:g=Ce,fgColor:e=Ee,includeMargin:s=xe,minVersion:t=we,boostLevel:a,title:l,marginSize:p,imageSettings:h}=i,x=oe(i,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:C,cells:S,numCells:v,calculatedImageSettings:E}=Re({value:d,level:f,minVersion:t,boostLevel:a,includeMargin:s,marginSize:p,imageSettings:h,size:u});let R=S,A=null;h!=null&&E!=null&&(E.excavation!=null&&(R=ve(S,E.excavation)),A=m.createElement("image",{href:h.src,height:E.h,width:E.w,x:E.x+C,y:E.y+C,preserveAspectRatio:"none",opacity:E.opacity,crossOrigin:E.crossOrigin}));const j=Ne(R,C);return m.createElement("svg",se({height:u,width:u,viewBox:`0 0 ${v} ${v}`,ref:r,role:"img"},x),!!l&&m.createElement("title",null,l),m.createElement("path",{fill:g,d:`M0,0 h${v}v${v}H0z`,shapeRendering:"crispEdges"}),m.createElement("path",{fill:e,d:j,shapeRendering:"crispEdges"}),A)});Se.displayName="QRCodeSVG";const Je=(n,o)=>({invitationType:$.InvitationType.LINK,resources:[{url:`conversations/${encodeURI(n)}`},...o]}),et=n=>{const o=n?.invitationLink?.split("/").at(-1)||"";return`/${B.SHARE_CONVERSATION_ROUTE}/${o}`},tt=(n,o)=>o?.find(r=>{const i=n?.id?.split("/")?.pop(),d=r?.url?.split("/")?.pop()||"";return d===i||decodeURI(d)===i}),nt=n=>n?.messages?.filter(r=>!!r?.custom_content?.attachments)?.flatMap(r=>r?.custom_content?.attachments?.map(i=>({url:i?.url||""}))||[])?.filter(r=>!!r?.url)||[],st=({conversation:n,locale:o,onCloseModal:r,modalDividers:i,getConversation:d,generateConversationLink:u,chatExpiration:f,chatExpirationDays:g,close:e,chatWarning:s,shareLink:t,shareCopyLink:a,shareCopiedLink:l,shareDescription:p,shareRemoveAccessToUsers:h,chatName:x,getSharedConversations:C,revokeSharedConversations:S,baseUrl:v,id:E,clientSharedPage:R,clientSharedProp:A})=>{const[j,b]=m.useState(null),[T,F]=m.useState(),[z,P]=m.useState(!1),[_,Y]=m.useState(!1),[U,M]=m.useState(),I=m.useMemo(()=>{const G=v||window.location.origin;if(v&&v!==window.location.origin&&R&&A){const H=j?.split(`/${B.SHARE_CONVERSATION_ROUTE}/`)?.[1];return`${G}/${R}?${A}=${H}`}return`${G}/${o}${j}`},[v,j,o,R,A]);m.useEffect(()=>{(async()=>{try{const H=decodeURI(n?n?.id:`${E?.[0]}/${o}/${E?.[1]}`),te=`${decodeURI(H)}`,ne=await d?.(te),ye=Je(H,nt(ne)),ae=await u?.(ye),ie=await C?.($.getSharedConversationsRequest($.ShareTarget.OTHERS));ae&&ie&&(P(!0),b(et(ae)),F(tt(n,ie?.resources)))}catch(H){P(!1),console.error("Error sharing conversation",H)}})()},[n,u,d,C,E,o]);const D=m.useCallback(()=>{r(),b(null),P(!1),Y(!1)},[r]),Q=m.useCallback(()=>{Y(!0),navigator.clipboard.writeText(I||"")},[I]),q=async()=>{try{M(!0),T&&await S?.({resources:[T]})}catch(G){M(!1),console.error("Error revoking shared conversation",G)}},Z=m.useCallback(()=>c.jsx(w.Button,{buttonClassName:_?"text-button-secondary":"text-button-primary",iconBefore:_?c.jsx(X.IconCheck,{width:20,height:20}):c.jsx(X.IconCopy,{width:20,height:20}),title:_?l??"Copied":a??"Copy link",disabled:_,onClick:Q}),[_,Q,l,a]);return c.jsxs(w.Popup,{heading:t??"Share link",portalId:"share",size:w.PopUpSize.SM,dividers:i,onClose:D,closeButtonTitle:e??"Close",children:[z?c.jsxs("div",{className:"share flex flex-col gap-y-4 px-6 pb-6 overflow-auto sm:p-0",children:[n?.name?c.jsxs("div",{className:"flex share-info w-full",children:[c.jsx("p",{className:"share-info-title text-neutrals-800 mr-1 body-1",children:x??"Chat name:"}),c.jsx("h3",{className:"flex-1 min-w-0 truncate",title:n?.name,children:n?.name})]}):null,c.jsxs("div",{className:"flex share-info",children:[c.jsx("p",{className:"share-info-title text-neutrals-800 mr-1 body-1",children:f??"Link expiration date:"}),c.jsxs("h3",{children:["3 ",g??"days"]})]}),c.jsx(Se,{className:"self-center border border-neutrals-600 p-2 rounded min-h-[200px]",value:I,size:200}),c.jsx("p",{className:"body-2 text-neutrals-1000",children:p??"Your name, special instructions, and any messages you add after sharing remain confidential."}),c.jsx(w.InputWithIcon,{containerClasses:"share-input-container",cssClass:"share-input",readonly:!0,placeholder:I,value:I,inputId:"conversationLink",iconAfterInput:Z()})]}):c.jsx("div",{className:"flex justify-center items-center py-6 px-6",children:c.jsx(w.Loader,{})}),z?n&&T?c.jsx("div",{className:"remove-access",children:c.jsx(w.Button,{title:h??"Remove access to all users",buttonClassName:"remove-access-button py-3 px-4",isSmallButton:!0,disabled:U,onClick:q})}):c.jsx("p",{className:"body-2 text-neutrals-800 share-footer",children:s??"This chat has not been shared with anyone yet."}):c.jsx("div",{})]})},ot=({conversation:n,onCloseModal:o,renameConversation:r,locale:i,disableModalDividers:d,titles:u,isSmallButton:f})=>{const[g,e]=m.useState(n?.name||""),s=a=>{e(a)},t=()=>{const a=`${n?.folderId}/${encodeURIComponent(B.getClearedConversationName(g))}-${new Date().getTime()}`;r(`conversations/${n.id}`,`conversations/${a}`)};return c.jsxs(w.Popup,{heading:u?.renameTitle??"Rename conversation",portalId:"rename-conversation",containerClassName:"rename-conversation-popup",size:w.PopUpSize.SM,dividers:!d,onClose:o,closeButtonTitle:u?.close??"Cancel",children:[c.jsx("div",{className:"py-4 px-6 sm:px-0",lang:i,children:c.jsx(w.Input,{inputId:"rename",value:g,onChange:s,cssClass:"w-full"})}),c.jsxs("div",{className:"flex justify-end gap-x-2 py-3 px-6 delete-conversation-popup-footer",children:[c.jsx(w.Button,{buttonClassName:"cancel-button",title:u?.cancel??"Cancel",isSmallButton:f,onClick:a=>{a.stopPropagation(),o()}}),c.jsx(w.Button,{buttonClassName:"text-button-primary text-button-primary",title:u?.save??"Rename",isSmallButton:f,disabled:!g,onClick:a=>{a.stopPropagation(),t()}})]})]})},Me=({conversation:n,conversationStyles:o,shareConversationProps:r,onConversationDelete:i,getConversation:d,getFileBlob:u,renameConversation:f,triggerButton:g,locale:e,isDisabled:s})=>{const t=m.useMemo(()=>{const b=[{key:k.DELETE,title:o?.titles?.delete??"Delete",icon:o.actionsIcons?.[k.DELETE]}];return n?.model?.id?.endsWith(B.ONBOARDING_MODEL_POSTFIX)?b:[...n.isShared?[]:[{key:k.SHARE,title:o?.titles?.share??"Share",icon:o.actionsIcons?.[k.SHARE]},{key:k.RENAME,title:o?.titles?.rename??"Rename",icon:o.actionsIcons?.[k.RENAME]}],{key:k.EXPORT,title:o?.titles?.export??"Export",icon:o.actionsIcons?.[k.EXPORT]},...b]},[n.isShared,n?.model?.id,o.titles,o.actionsIcons]),[a,l]=m.useState(w.PopUpState.Closed),[p,h]=m.useState(w.PopUpState.Closed),[x,C]=m.useState(w.PopUpState.Closed),S=m.useCallback(()=>{l(w.PopUpState.Closed)},[l]),v=m.useCallback(()=>{h(w.PopUpState.Closed)},[h]),E=m.useCallback(()=>{C(w.PopUpState.Closed)},[C]),R=m.useCallback(()=>{i(n),S()},[n,i,S]),A=m.useCallback((b,T)=>{f(b,T),E()},[f,E]),j=b=>{b===k.DELETE&&l(w.PopUpState.Opened),b===k.SHARE&&h(w.PopUpState.Opened),b===k.RENAME&&C(w.PopUpState.Opened),b===k.EXPORT&&d(decodeURI(n.id)).then(T=>{ze(T,u).then(F=>{He(`data:application/zip;base64,${F}`,`chat_with_attachments_${new Date().toLocaleDateString()}.dial`)})})};return c.jsxs(c.Fragment,{children:[c.jsx(w.Dropdown,{containerClassName:"ml-3 group-hover:visible invisible",triggerButton:g??c.jsx(rt,{disabled:s}),options:t,openedClassName:"action-menu-opened",onOptionSelect:j,disabled:s}),a===w.PopUpState.Opened&&c.jsx(Oe,{titles:o.titles,locale:e,disableModalDividers:o.disableModalDividers,isSmallButton:o.isSmallModalButton,deleteConversation:R,onCloseModal:S}),p===w.PopUpState.Opened&&c.jsx(st,{conversation:n,locale:e,onCloseModal:v,...r}),x===w.PopUpState.Opened&&c.jsx(ot,{conversation:n,locale:e,titles:o.titles,renameConversation:A,onCloseModal:E,disableModalDividers:o.disableModalDividers,isSmallButton:o.isSmallModalButton})]})},rt=({disabled:n})=>c.jsx("div",{className:O("flex items-center justify-center w-[24px]",n?"cursor-not-allowed":"cursor-pointer"),children:c.jsx(X.IconDotsVertical,{width:20,height:20,stroke:2,className:"text-primary"})}),be=({conversation:n,selectedConversationId:o,searchQuery:r,onConversationClick:i,actions:d,locale:u,isDisabled:f,conversationStyles:g,shareConversationProps:e})=>{const s=m.useRef(null),t=B.getClearedConversationName(n?.name);return m.useEffect(()=>{if(n?.id===o&&s?.current){const a=s.current.parentElement?.parentElement?.parentElement;if(a){const l=s.current.getBoundingClientRect(),p=a.getBoundingClientRect(),h=l.height,x=p.height,S=l.top-p.top+a.scrollTop-(x/2-h/2);a.scrollTo({top:S,behavior:"smooth"})}}},[n,o]),c.jsxs("div",{ref:s,className:O("flex justify-between items-center py-2 px-3 border-transparent relative group border","conversation-item",o===n?.id&&"bg-hues-100 conversation-item-active",f?"cursor-not-allowed":"cursor-pointer hover:border-hues-600"),onClick:()=>!f&&i(n.folderId,n?.id),title:f?g?.titles?.noActionsAllowed:t,children:[c.jsxs("div",{className:"flex flex-1 min-w-0 items-center",children:[g.conversationItemIcon?g.conversationItemIcon:null,c.jsx("h3",{className:O("truncate font-semibold text-neutrals-1000 sm:body-2","conversation-item-text",o===n?.id?"conversation-item-text-active":""),title:f?g?.titles?.noActionsAllowed:t,children:r?.length?c.jsx(w.HighlightText,{text:t,highlightText:r}):t})]}),c.jsx(Me,{locale:u,conversationStyles:g,conversation:n,onConversationDelete:d.deleteConversation,getConversation:d.getConversation,getFileBlob:d.getFileBlob,renameConversation:d.renameConversation,shareConversationProps:e,isDisabled:f})]})},at=({handleConversationClick:n,actions:o,selectedConversationId:r,groupLabel:i,conversationStyles:d,groupedConversations:u,shareConversationProps:f,locale:g,isDisabled:e})=>{const[s,t]=m.useState(!1),a=m.useCallback(()=>{t(l=>!l)},[t]);return c.jsxs("div",{children:[c.jsxs("div",{className:"inline-flex gap-1 items-center text-neutrals-700 mb-3 cursor-pointer conversation-group-items-title",onClick:a,children:[c.jsx(X.IconCaretRightFilled,{className:O("w-3 h-3 conversation-group-items-arrow",s?"rotate-[90deg]":"rotate-0")}),c.jsx("span",{className:"body-3 conversation-group-items-title-text",children:De(i,d?.titles)})]}),!s&&c.jsx("div",{className:O("flex flex-col gap-y-3","conversation-group-items"),children:he(u).map(l=>c.jsx(be,{locale:g,isDisabled:e,conversationStyles:d,conversation:l,selectedConversationId:r,onConversationClick:n,actions:o,shareConversationProps:f},l.id||l.name))})]},i)},it=({searchQuery:n,isExpandedSearch:o,titles:r,searchIcon:i,onSearchConversations:d,toggleSearchField:u})=>c.jsx(c.Fragment,{children:o?c.jsx(w.InputWithIcon,{inputId:"conversations-search",placeholder:r?.searchPlaceholder??"Search",containerClasses:"conversation-list-search-input h-[40px] bg-transparent px-4 py-2 rounded-full border-neutrals-400 shadow-none",cssClass:"h-auto",value:n,iconAfterInput:c.jsx(w.IconButton,{buttonClassName:"text-button-tertiary items-center p-0 ml-4 border-0 w-5 h-5",onClick:u,icon:c.jsx(X.IconX,{})}),onChange:d}):c.jsx(w.Button,{buttonClassName:"text-button-tertiary p-0 search-button",iconBefore:i||c.jsx(X.IconSearch,{className:"w-5 h-5"}),onClick:u})}),lt=({conversations:n,selectedConversationId:o,searchQuery:r,conversationStyles:i,handleConversationClick:d,actions:u,locale:f,shareConversationProps:g,isDisabled:e})=>{const[s,t]=m.useState([]);return m.useEffect(()=>{t(he(n?.filter(a=>B.getClearedConversationName(a?.name)?.includes(r||""))))},[n,r]),c.jsx(c.Fragment,{children:s?.length?s.map(a=>c.jsx(be,{locale:f,conversationStyles:i,conversation:a,searchQuery:r,selectedConversationId:o,onConversationClick:d,actions:u,shareConversationProps:g,isDisabled:e},a.id)):c.jsx("h3",{className:"text-neutrals-800",children:i?.titles?.noConversation??"No conversations yet"})})},ct=({titles:n})=>c.jsxs("div",{className:"p-8 text-center flex flex-col",children:[c.jsx("p",{className:"text-neutrals-800",children:n?.noConversation??"No conversations yet"}),c.jsx("p",{className:"text-sm text-neutrals-800 mt-2",children:n?.clickNewChat??'Click "New Chat" to start a conversation'})]}),ut=({handleConversationClick:n,selectedConversationId:o,actions:r,children:i,isCollapsed:d,isStreaming:u,conversationStyles:f,conversations:g,locale:e,sharedConversations:s,setConversations:t,setSharedConversations:a,shareConversationProps:l,handleSelectedConversationRemove:p})=>{const[h,x]=m.useState({}),[C,S]=m.useState(!0),[v,E]=m.useState(""),[R,A]=m.useState(!1),{getConversations:j,getSharedConversations:b,deleteConversation:T,renameConversation:F}=r,z=m.useMemo(()=>!!v?.length,[v]);m.useEffect(()=>{x({...ue(s),...Te(g)})},[g,s]),m.useEffect(()=>{async function M(){try{S(!0);const I=await j(e),D=await b($.getSharedConversationsRequest($.ShareTarget.ME));t(B.cleanConversationNames(I)),a(B.cleanConversationNames(J(D,e)))}catch(I){console.error("Error loading conversation",I)}finally{S(!1)}}M()},[j,t,e,b,a]);const P=m.useCallback(async M=>{try{await T(M);const I=await j(e),D=await b($.getSharedConversationsRequest($.ShareTarget.ME));t(B.cleanConversationNames(I)),a(B.cleanConversationNames(J(D,e))),o===M?.id&&p()}catch(I){console.error("Error deleting conversation",I)}},[T,j,e,b,t,a,o,p]),_=m.useCallback(async(M,I)=>{try{S(!0),await F(M,I);const D=await j(e),Q=await b($.getSharedConversationsRequest($.ShareTarget.ME));t(B.cleanConversationNames(D)),a(B.cleanConversationNames(J(Q,e)))}catch(D){console.error("Error renaming conversation",D)}finally{S(!1)}},[j,e,b,t,a,F]),Y=m.useCallback(M=>{E(M)},[E]),U=m.useCallback(()=>{A(M=>!M),E("")},[A]);return C?c.jsx(w.Loader,{}):c.jsxs(c.Fragment,{children:[!d&&c.jsxs("div",{className:O("flex justify-between items-center",R?" pt-4 pb-0 sm:pt-10":" pt-6 pb-2 sm:pt-10"),children:[!R&&c.jsx("h3",{className:"text-neutrals-700 sm:body-2",children:f?.titles?.allChats??"All Chats"}),c.jsx(it,{searchQuery:v,searchIcon:f.searchIcon,titles:f.titles,isExpandedSearch:R,onSearchConversations:Y,toggleSearchField:U})]}),c.jsx("div",{className:O("scroll-hidden-container flex flex-col mt-4 flex-1 min-h-0 pr-2",z?"gap-y-1":"gap-y-6"),children:d?null:c.jsx(c.Fragment,{children:g?.length===0&&s?.length===0?c.jsx(ct,{titles:f.titles}):z?c.jsx(lt,{locale:e,conversationStyles:f,conversations:[...s,...g],searchQuery:v,selectedConversationId:o,handleConversationClick:n,shareConversationProps:l,isDisabled:u,actions:{...r,deleteConversation:P}}):Object.entries(h).map(([M,I])=>I?.length>0&&c.jsx(at,{locale:e,isDisabled:u,groupLabel:M,conversationStyles:f,groupedConversations:I,handleConversationClick:n,actions:{...r,deleteConversation:P,renameConversation:_},shareConversationProps:l,selectedConversationId:o},M))})}),i]})},dt=({onCloseModal:n,disableModalDividers:o,signOut:r,isSmallButton:i,locale:d,titles:u})=>c.jsxs(w.Popup,{heading:u?.popupTitle||"Log out?",portalId:"sign-out",containerClassName:"sign-out-popup",size:w.PopUpSize.SM,dividers:!o,onClose:n,closeButtonTitle:"Cancel",children:[c.jsx("div",{className:"py-4 px-6 sm:px-0",lang:d,children:u?.popupText}),c.jsxs("div",{className:"flex justify-end gap-x-2 py-3 px-6 delete-conversation-popup-footer",children:[c.jsx(w.Button,{buttonClassName:"cancel-button",title:u?.popupCancel||"Cancel",isSmallButton:i,onClick:f=>{f.stopPropagation(),n()}}),c.jsx(w.Button,{buttonClassName:"text-button-primary",title:u?.popupApply||"Sign Out",isSmallButton:i,onClick:f=>{f.stopPropagation(),r?.()}})]})]}),ht=({userInfo:n,signOutAction:o,contactSupportUrl:r,styles:i,locale:d,titles:u})=>{const f=S=>S?.split(" ")?.map((v,E)=>E<2?v[0].toUpperCase():"")?.join("")??"",g=m.useMemo(()=>n?.name?f(n?.name):n?.email?.[0].toUpperCase()??"",[n]),[e,s]=m.useState(!1),t=n?.name?.split(" "),a=t?`${t?.[0]??""} ${t?.[1]?.[0]?t?.[1]?.[0]+".":""}`:n?.email??"",l=m.useCallback(()=>{s(!0)},[]),p=m.useCallback(()=>{s(!1)},[]),h=m.useCallback(()=>{window.open(r||"#","_blank","noopener,noreferrer")},[r]),x=m.useMemo(()=>c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:O("cursor-pointer flex items-center justify-center size-11 rounded-[100px] p-[10px] sm:h-[32px] sm:w-[32px] flex-shrink-0",i?.initialStyles),children:g}),c.jsx("p",{className:O("h3 cursor-pointer overflow-hidden text-ellipsis",i?.userNameStyles),children:(i?.showShortName?a:n?.name)??n?.email??""})]}),[g,a,i,n]),C=m.useMemo(()=>c.jsxs("div",{className:O("py-1",i?.dropDownStyles),children:[i?.settingsIcon&&c.jsxs("button",{className:O("p-2 items-center flex gap-1 text-primary fill-primary",i?.dropdownButtonTypographyStyles||"body-1",i?.dropdownButtonStyles),title:u?.settings,children:[c.jsx("span",{className:"shrink-0",children:i?.settingsIcon}),c.jsx("span",{className:"min-w-0 break-words",children:u?.settings||"Settings"})]}),i?.contactSupportIcon&&c.jsxs("button",{className:O("p-2 items-center flex gap-1 text-primary fill-primary",i?.dropdownButtonTypographyStyles||"body-1",i?.dropdownButtonStyles),title:u?.contactSupport,onClick:h,children:[c.jsx("span",{className:"shrink-0",children:i?.contactSupportIcon}),c.jsx("span",{className:"min-w-0 break-words",children:u?.contactSupport||"Contact support"})]}),c.jsx("div",{className:O("h-0 border-t border-neutrals-600 my-2",i?.showSeparator?"block":"hidden")}),c.jsxs("button",{className:O("p-2 items-center flex gap-1 text-primary fill-primary",i?.dropdownButtonTypographyStyles||"body-1",i?.dropdownButtonStyles),title:u?.signOut,onClick:l,children:[c.jsx("span",{className:"shrink-0",children:i?.signOutIcon}),c.jsx("span",{className:"min-w-0 break-words",children:u?.signOut||"Sign out"}),e&&c.jsx(dt,{onCloseModal:p,signOut:()=>o?.(),locale:d,disableModalDividers:i?.disableModalDividers,titles:u})]})]}),[i,u,l,h,e,p,d,o]);if(n)return c.jsx(w.Dropdown,{containerClassName:O("transition-opacity group-hover:opacity-100 shrink w-full",i?.dropdownContainerClassName),triggerButton:x,content:C,openedClassName:"action-menu-opened"})};exports.ActionMenu=Me;exports.ActionMenuItem=k;exports.ConversationList=ut;exports.User=ht;exports.getSharedConversationsGroup=ue;exports.transformSharedConversations=J;