@epam/statgpt-conversation-list 0.1.0 → 0.2.0-rc.1

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