@hiver/connector-agent 4.4.1 → 4.4.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"highlighter.d.ts","sourceRoot":"","sources":["../../../../src/features/connector-highlight/utils/highlighter.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAA6C;gBAE5D,cAAc,GAAE,MAAM,EAAO,EAAE,mBAAmB,GAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,GAAG,IAAW;IAWjH,IAAI;IAOJ,aAAa;IA8Cb,kBAAkB,IAAI,OAAO,GAAG,IAAI;IAUpC,iBAAiB,IAAI,IAAI;IAWzB,kBAAkB,IAAI,IAAI;IA4C1B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAM3C,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAmC1C,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAkCzC,eAAe;IAiBf,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC,iBAAiB;IAIjB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI;IAKrD,OAAO;CAcR;AAuCD,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"highlighter.d.ts","sourceRoot":"","sources":["../../../../src/features/connector-highlight/utils/highlighter.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAA6C;gBAE5D,cAAc,GAAE,MAAM,EAAO,EAAE,mBAAmB,GAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,GAAG,IAAW;IAWjH,IAAI;IAOJ,aAAa;IA8Cb,kBAAkB,IAAI,OAAO,GAAG,IAAI;IAUpC,iBAAiB,IAAI,IAAI;IAWzB,kBAAkB,IAAI,IAAI;IA0C1B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAM3C,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAmC1C,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAkCzC,eAAe;IAiBf,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC,iBAAiB;IAIjB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI;IAKrD,OAAO;CAcR;AAuCD,eAAe,gBAAgB,CAAC"}
package/index.es.js CHANGED
@@ -19538,10 +19538,11 @@ class K8 {
19538
19538
  }
19539
19539
  // Highlight all visible emails (subject and body)
19540
19540
  highlightAllEmails() {
19541
+ var t;
19541
19542
  if (this.highlightTerms.length !== 0) {
19542
19543
  this.isHighlighting = !0;
19543
19544
  try {
19544
- this.clearHighlights(), [
19545
+ if (this.clearHighlights(), [
19545
19546
  "h2.hP",
19546
19547
  // Email subject
19547
19548
  ".ii.gt .a3s.aiL",
@@ -19550,19 +19551,18 @@ class K8 {
19550
19551
  // Email body content (alternative)
19551
19552
  '[data-expanded="true"]'
19552
19553
  // Expanded state
19553
- ].forEach((n) => {
19554
- document.querySelectorAll(n).forEach((o) => {
19555
- this.isElementVisible(o) && this.highlightInElement(o);
19554
+ ].forEach((r) => {
19555
+ document.querySelectorAll(r).forEach((i) => {
19556
+ this.isElementVisible(i) && this.highlightInElement(i);
19556
19557
  });
19557
- }), this.onHighlightsUpdated && setTimeout(() => {
19558
- var r;
19559
- const n = Array.from(document.querySelectorAll(".gmail-highlight"));
19560
- (r = this.onHighlightsUpdated) == null || r.call(this, n);
19561
- }, 1e3);
19558
+ }), this.onHighlightsUpdated) {
19559
+ const r = Array.from(document.querySelectorAll(".gmail-highlight"));
19560
+ (t = this.onHighlightsUpdated) == null || t.call(this, r);
19561
+ }
19562
19562
  } finally {
19563
19563
  setTimeout(() => {
19564
19564
  this.isHighlighting = !1;
19565
- }, 300);
19565
+ }, 250);
19566
19566
  }
19567
19567
  }
19568
19568
  }
package/index.umd.js CHANGED
@@ -2177,7 +2177,7 @@ Do you want to continue?`,G6="Select an object to create",H6="Select an object t
2177
2177
  align-self: auto !important;
2178
2178
  margin-left: 12px;
2179
2179
  }
2180
- `,i8=({userEmail:e="",contactEmail:t="",baseUrls:n={},extraParams:r={},availableFeatures:o={},connectorFunctions:s,stackingContext:a={}})=>m.jsx(jp,{children:m.jsxs(s8,{userEmail:e,availableFeatures:o,extraParams:r,contactEmail:t,connectorFunctions:s,stackingContext:a,baseUrls:n,children:[m.jsx(n8,{isAdmin:r==null?void 0:r.isAdmin}),Ne.createPortal(m.jsx(Vp,{id:"toast-message",children:m.jsx(el,{position:"bottom-left",autoClose:5e3,hideProgressBar:!0,newestOnTop:!1,closeOnClick:!0,rtl:!1,draggable:!0,pauseOnHover:!0,...!!a.toastMessage&&{style:{zIndex:a.toastMessage}}})}),document.body),m.jsx("div",{"data-connectorid":"connector-layover-portal"})]})}),Gp="/v1/api",c8=`${Gp}/connector/conversation/:conversationId/data`,l8=`${Gp}/connector/feedback/conversation/:conversationId`,u8=async e=>{try{const t=await Ye({url:c8.replace(":conversationId",e)+"?channel_type=email",method:tt.GET});return t!=null&&t.data&&Array.isArray(t.data)?t.data.reduce((r,o)=>{var s,a;return r[(s=o==null?void 0:o.cardData)==null?void 0:s.textToHighlight]||(r[(a=o==null?void 0:o.cardData)==null?void 0:a.textToHighlight]={...o}),r},{}):null}catch(t){return Promise.reject(t)}};function d8(e,t){return Sc({queryKey:["connector-analytics",e,t],queryFn:async()=>!t||!e?null:await u8(e),enabled:!!t&&!!e})}class f8{constructor(t=[],n=null){gn(this,"highlightTerms");gn(this,"observer");gn(this,"isHighlighting");gn(this,"debounceTimer");gn(this,"debounceDelay");gn(this,"onHighlightsUpdated");this.highlightTerms=t,this.observer=null,this.isHighlighting=!1,this.debounceTimer=null,this.debounceDelay=500,this.onHighlightsUpdated=n,this.init()}init(){this.highlightAllEmails(),this.startObserver()}startObserver(){const t=this.findGmailContainer();if(!t){console.warn("Gmail container not found");return}this.observer=new MutationObserver(n=>{if(this.isHighlighting)return;let r=!1;n.forEach(o=>{o.type==="childList"&&Array.from(o.addedNodes).some(i=>{var l,c,u,p;return i.nodeType===1&&i instanceof Element&&(((l=i.classList)==null?void 0:l.contains("a3s"))||((c=i.classList)==null?void 0:c.contains("ii"))||((u=i.querySelector)==null?void 0:u.call(i,".a3s"))||((p=i.querySelector)==null?void 0:p.call(i,"h2.hP")))})&&(r=!0)}),r&&this.debounceHighlight()}),this.observer.observe(t,{childList:!0,subtree:!0})}findGmailContainer(){return document.querySelector('[role="main"]')||document.querySelector(".nH.if")||document.querySelector(".AO")||document.body}debounceHighlight(){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.highlightAllEmails()},this.debounceDelay)}highlightAllEmails(){if(this.highlightTerms.length!==0){this.isHighlighting=!0;try{this.clearHighlights(),["h2.hP",".ii.gt .a3s.aiL",".ii.gt .a3s",'[data-expanded="true"]'].forEach(n=>{document.querySelectorAll(n).forEach(o=>{this.isElementVisible(o)&&this.highlightInElement(o)})}),this.onHighlightsUpdated&&setTimeout(()=>{var r;const n=Array.from(document.querySelectorAll(".gmail-highlight"));(r=this.onHighlightsUpdated)==null||r.call(this,n)},1e3)}finally{setTimeout(()=>{this.isHighlighting=!1},300)}}}isElementVisible(t){const n=t;return n.offsetParent!==null&&n.offsetWidth>0&&n.offsetHeight>0}highlightInElement(t){if(!t||this.highlightTerms.length===0||t.dataset.highlightProcessed==="true")return;const r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:a=>a.parentElement&&a.parentElement.classList.contains("gmail-highlight")||a.parentElement&&["SCRIPT","STYLE"].includes(a.parentElement.tagName)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),o=[];let s;for(;s=r.nextNode();)o.push(s);o.forEach(a=>{this.highlightInTextNode(a)}),t.dataset.highlightProcessed="true"}highlightInTextNode(t){let n=t.textContent,r=!1;if(!n)return;if([...this.highlightTerms].sort((s,a)=>a.length-s.length).forEach(s=>{if(!s||s.trim().length===0)return;const a=this.escapeRegex(s.trim()),i=new RegExp(`\\b${a}\\b`,"gi");i.test(n)&&(n=n.replace(i,`<span class="gmail-highlight" data-highlight-term="${s.trim()}"><span class="gmail-highlight-inner">${s}</span></span>`),r=!0)}),r&&t.parentNode){const s=document.createElement("span");s.innerHTML=n,t.parentNode.replaceChild(s,t)}}clearHighlights(){document.querySelectorAll(".gmail-highlight").forEach(r=>{const o=r.parentNode;o&&r.textContent&&(o.replaceChild(document.createTextNode(r.textContent),r),o.normalize())}),document.querySelectorAll('[data-highlight-processed="true"]').forEach(r=>{delete r.dataset.highlightProcessed})}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}refreshHighlights(){this.highlightAllEmails()}updateHighlightTerms(t){this.highlightTerms=t||[],this.highlightAllEmails()}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null),this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.clearHighlights(),this.highlightTerms=[]}}if(!document.getElementById("gmail-highlighter-styles")){const e=document.createElement("style");e.id="gmail-highlighter-styles",e.textContent=`
2180
+ `,i8=({userEmail:e="",contactEmail:t="",baseUrls:n={},extraParams:r={},availableFeatures:o={},connectorFunctions:s,stackingContext:a={}})=>m.jsx(jp,{children:m.jsxs(s8,{userEmail:e,availableFeatures:o,extraParams:r,contactEmail:t,connectorFunctions:s,stackingContext:a,baseUrls:n,children:[m.jsx(n8,{isAdmin:r==null?void 0:r.isAdmin}),Ne.createPortal(m.jsx(Vp,{id:"toast-message",children:m.jsx(el,{position:"bottom-left",autoClose:5e3,hideProgressBar:!0,newestOnTop:!1,closeOnClick:!0,rtl:!1,draggable:!0,pauseOnHover:!0,...!!a.toastMessage&&{style:{zIndex:a.toastMessage}}})}),document.body),m.jsx("div",{"data-connectorid":"connector-layover-portal"})]})}),Gp="/v1/api",c8=`${Gp}/connector/conversation/:conversationId/data`,l8=`${Gp}/connector/feedback/conversation/:conversationId`,u8=async e=>{try{const t=await Ye({url:c8.replace(":conversationId",e)+"?channel_type=email",method:tt.GET});return t!=null&&t.data&&Array.isArray(t.data)?t.data.reduce((r,o)=>{var s,a;return r[(s=o==null?void 0:o.cardData)==null?void 0:s.textToHighlight]||(r[(a=o==null?void 0:o.cardData)==null?void 0:a.textToHighlight]={...o}),r},{}):null}catch(t){return Promise.reject(t)}};function d8(e,t){return Sc({queryKey:["connector-analytics",e,t],queryFn:async()=>!t||!e?null:await u8(e),enabled:!!t&&!!e})}class f8{constructor(t=[],n=null){gn(this,"highlightTerms");gn(this,"observer");gn(this,"isHighlighting");gn(this,"debounceTimer");gn(this,"debounceDelay");gn(this,"onHighlightsUpdated");this.highlightTerms=t,this.observer=null,this.isHighlighting=!1,this.debounceTimer=null,this.debounceDelay=500,this.onHighlightsUpdated=n,this.init()}init(){this.highlightAllEmails(),this.startObserver()}startObserver(){const t=this.findGmailContainer();if(!t){console.warn("Gmail container not found");return}this.observer=new MutationObserver(n=>{if(this.isHighlighting)return;let r=!1;n.forEach(o=>{o.type==="childList"&&Array.from(o.addedNodes).some(i=>{var l,c,u,p;return i.nodeType===1&&i instanceof Element&&(((l=i.classList)==null?void 0:l.contains("a3s"))||((c=i.classList)==null?void 0:c.contains("ii"))||((u=i.querySelector)==null?void 0:u.call(i,".a3s"))||((p=i.querySelector)==null?void 0:p.call(i,"h2.hP")))})&&(r=!0)}),r&&this.debounceHighlight()}),this.observer.observe(t,{childList:!0,subtree:!0})}findGmailContainer(){return document.querySelector('[role="main"]')||document.querySelector(".nH.if")||document.querySelector(".AO")||document.body}debounceHighlight(){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.highlightAllEmails()},this.debounceDelay)}highlightAllEmails(){var t;if(this.highlightTerms.length!==0){this.isHighlighting=!0;try{if(this.clearHighlights(),["h2.hP",".ii.gt .a3s.aiL",".ii.gt .a3s",'[data-expanded="true"]'].forEach(r=>{document.querySelectorAll(r).forEach(s=>{this.isElementVisible(s)&&this.highlightInElement(s)})}),this.onHighlightsUpdated){const r=Array.from(document.querySelectorAll(".gmail-highlight"));(t=this.onHighlightsUpdated)==null||t.call(this,r)}}finally{setTimeout(()=>{this.isHighlighting=!1},250)}}}isElementVisible(t){const n=t;return n.offsetParent!==null&&n.offsetWidth>0&&n.offsetHeight>0}highlightInElement(t){if(!t||this.highlightTerms.length===0||t.dataset.highlightProcessed==="true")return;const r=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:a=>a.parentElement&&a.parentElement.classList.contains("gmail-highlight")||a.parentElement&&["SCRIPT","STYLE"].includes(a.parentElement.tagName)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),o=[];let s;for(;s=r.nextNode();)o.push(s);o.forEach(a=>{this.highlightInTextNode(a)}),t.dataset.highlightProcessed="true"}highlightInTextNode(t){let n=t.textContent,r=!1;if(!n)return;if([...this.highlightTerms].sort((s,a)=>a.length-s.length).forEach(s=>{if(!s||s.trim().length===0)return;const a=this.escapeRegex(s.trim()),i=new RegExp(`\\b${a}\\b`,"gi");i.test(n)&&(n=n.replace(i,`<span class="gmail-highlight" data-highlight-term="${s.trim()}"><span class="gmail-highlight-inner">${s}</span></span>`),r=!0)}),r&&t.parentNode){const s=document.createElement("span");s.innerHTML=n,t.parentNode.replaceChild(s,t)}}clearHighlights(){document.querySelectorAll(".gmail-highlight").forEach(r=>{const o=r.parentNode;o&&r.textContent&&(o.replaceChild(document.createTextNode(r.textContent),r),o.normalize())}),document.querySelectorAll('[data-highlight-processed="true"]').forEach(r=>{delete r.dataset.highlightProcessed})}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}refreshHighlights(){this.highlightAllEmails()}updateHighlightTerms(t){this.highlightTerms=t||[],this.highlightAllEmails()}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null),this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.clearHighlights(),this.highlightTerms=[]}}if(!document.getElementById("gmail-highlighter-styles")){const e=document.createElement("style");e.id="gmail-highlighter-styles",e.textContent=`
2181
2181
  .gmail-highlight {
2182
2182
  background-color: #ECEFF6 !important;
2183
2183
  color: #2c3e50 !important;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hiver/connector-agent",
3
- "version": "4.4.1",
3
+ "version": "4.4.2",
4
4
  "main": "index.es.js",
5
5
  "module": "index.es.js",
6
6
  "types": "index.d.ts",