@telia-ace/widget-conversation-flamingo 1.1.123-rc.1 → 1.1.123-rc.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 +2 -1
  3. package/package.json +2 -2
package/index.js CHANGED
@@ -842,7 +842,7 @@ ${n}</tr>
842
842
  `}tablecell(n){const e=this.parser.parseInline(n.tokens),t=n.header?"th":"td";return(n.align?`<${t} align="${n.align}">`:`<${t}>`)+e+`</${t}>
843
843
  `}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${re(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:t}){const s=this.parser.parseInline(t),i=Cr(n);if(i===null)return s;n=i;let r='<a href="'+n+'"';return e&&(r+=' title="'+re(e)+'"'),r+=">"+s+"</a>",r}image({href:n,title:e,text:t,tokens:s}){s&&(t=this.parser.parseInline(s,this.parser.textRenderer));const i=Cr(n);if(i===null)return re(t);n=i;let r=`<img src="${n}" alt="${t}"`;return e&&(r+=` title="${re(e)}"`),r+=">",r}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:re(n.text)}},Ys=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}},ve=class xs{constructor(e){_(this,"options");_(this,"renderer");_(this,"textRenderer");this.options=e||ze,this.options.renderer=this.options.renderer||new Ct,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Ys}static parse(e,t){return new xs(t).parse(e)}static parseInline(e,t){return new xs(t).parseInline(e)}parse(e,t=!0){var i,r;let s="";for(let o=0;o<e.length;o++){const a=e[o];if((r=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&r[a.type]){const c=a,u=this.options.extensions.renderers[c.type].call({parser:this},c);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(c.type)){s+=u||"";continue}}const l=a;switch(l.type){case"space":{s+=this.renderer.space(l);continue}case"hr":{s+=this.renderer.hr(l);continue}case"heading":{s+=this.renderer.heading(l);continue}case"code":{s+=this.renderer.code(l);continue}case"table":{s+=this.renderer.table(l);continue}case"blockquote":{s+=this.renderer.blockquote(l);continue}case"list":{s+=this.renderer.list(l);continue}case"html":{s+=this.renderer.html(l);continue}case"paragraph":{s+=this.renderer.paragraph(l);continue}case"text":{let c=l,u=this.renderer.text(c);for(;o+1<e.length&&e[o+1].type==="text";)c=e[++o],u+=`
844
844
  `+this.renderer.text(c);t?s+=this.renderer.paragraph({type:"paragraph",raw:u,text:u,tokens:[{type:"text",raw:u,text:u,escaped:!0}]}):s+=u;continue}default:{const c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return s}parseInline(e,t=this.renderer){var i,r;let s="";for(let o=0;o<e.length;o++){const a=e[o];if((r=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&r[a.type]){const c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){s+=c||"";continue}}const l=a;switch(l.type){case"escape":{s+=t.text(l);break}case"html":{s+=t.html(l);break}case"link":{s+=t.link(l);break}case"image":{s+=t.image(l);break}case"strong":{s+=t.strong(l);break}case"em":{s+=t.em(l);break}case"codespan":{s+=t.codespan(l);break}case"br":{s+=t.br(l);break}case"del":{s+=t.del(l);break}case"text":{s+=t.text(l);break}default:{const c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return s}},es,Jt=(es=class{constructor(n){_(this,"options");_(this,"block");this.options=n||ze}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}provideLexer(){return this.block?me.lex:me.lexInline}provideParser(){return this.block?ve.parse:ve.parseInline}},_(es,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),es),Th=class{constructor(...n){_(this,"defaults",Bs());_(this,"options",this.setOptions);_(this,"parse",this.parseMarkdown(!0));_(this,"parseInline",this.parseMarkdown(!1));_(this,"Parser",ve);_(this,"Renderer",Ct);_(this,"TextRenderer",Ys);_(this,"Lexer",me);_(this,"Tokenizer",gn);_(this,"Hooks",Jt);this.use(...n)}walkTokens(n,e){var s,i;let t=[];for(const r of n)switch(t=t.concat(e.call(this,r)),r.type){case"table":{const o=r;for(const a of o.header)t=t.concat(this.walkTokens(a.tokens,e));for(const a of o.rows)for(const l of a)t=t.concat(this.walkTokens(l.tokens,e));break}case"list":{const o=r;t=t.concat(this.walkTokens(o.items,e));break}default:{const o=r;(i=(s=this.defaults.extensions)==null?void 0:s.childTokens)!=null&&i[o.type]?this.defaults.extensions.childTokens[o.type].forEach(a=>{const l=o[a].flat(1/0);t=t.concat(this.walkTokens(l,e))}):o.tokens&&(t=t.concat(this.walkTokens(o.tokens,e)))}}return t}use(...n){const e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(t=>{const s={...t};if(s.async=this.defaults.async||s.async||!1,t.extensions&&(t.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){const r=e.renderers[i.name];r?e.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=r.apply(this,o)),a}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=e[i.level];r?r.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),s.extensions=e),t.renderer){const i=this.defaults.renderer||new Ct(this.defaults);for(const r in t.renderer){if(!(r in i))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const o=r,a=t.renderer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u||""}}s.renderer=i}if(t.tokenizer){const i=this.defaults.tokenizer||new gn(this.defaults);for(const r in t.tokenizer){if(!(r in i))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const o=r,a=t.tokenizer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}s.tokenizer=i}if(t.hooks){const i=this.defaults.hooks||new Jt;for(const r in t.hooks){if(!(r in i))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;const o=r,a=t.hooks[o],l=i[o];Jt.passThroughHooks.has(r)?i[o]=c=>{if(this.defaults.async)return Promise.resolve(a.call(i,c)).then(d=>l.call(i,d));const u=a.call(i,c);return l.call(i,u)}:i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}s.hooks=i}if(t.walkTokens){const i=this.defaults.walkTokens,r=t.walkTokens;s.walkTokens=function(o){let a=[];return a.push(r.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return me.lex(n,e??this.defaults)}parser(n,e){return ve.parse(n,e??this.defaults)}parseMarkdown(n){return(t,s)=>{const i={...s},r={...this.defaults,...i},o=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&i.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));r.hooks&&(r.hooks.options=r,r.hooks.block=n);const a=r.hooks?r.hooks.provideLexer():n?me.lex:me.lexInline,l=r.hooks?r.hooks.provideParser():n?ve.parse:ve.parseInline;if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(t):t).then(c=>a(c,r)).then(c=>r.hooks?r.hooks.processAllTokens(c):c).then(c=>r.walkTokens?Promise.all(this.walkTokens(c,r.walkTokens)).then(()=>c):c).then(c=>l(c,r)).then(c=>r.hooks?r.hooks.postprocess(c):c).catch(o);try{r.hooks&&(t=r.hooks.preprocess(t));let c=a(t,r);r.hooks&&(c=r.hooks.processAllTokens(c)),r.walkTokens&&this.walkTokens(c,r.walkTokens);let u=l(c,r);return r.hooks&&(u=r.hooks.postprocess(u)),u}catch(c){return o(c)}}}onError(n,e){return t=>{if(t.message+=`
845
- Please report this to https://github.com/markedjs/marked.`,n){const s="<p>An error occurred:</p><pre>"+re(t.message+"",!0)+"</pre>";return e?Promise.resolve(s):s}if(e)return Promise.reject(t);throw t}}},Ue=new Th;function k(n,e){return Ue.parse(n,e)}k.options=k.setOptions=function(n){return Ue.setOptions(n),k.defaults=Ue.defaults,qo(k.defaults),k};k.getDefaults=Bs;k.defaults=ze;k.use=function(...n){return Ue.use(...n),k.defaults=Ue.defaults,qo(k.defaults),k};k.walkTokens=function(n,e){return Ue.walkTokens(n,e)};k.parseInline=Ue.parseInline;k.Parser=ve;k.parser=ve.parse;k.Renderer=Ct;k.TextRenderer=Ys;k.Lexer=me;k.lexer=me.lex;k.Tokenizer=gn;k.Hooks=Jt;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;ve.parse;me.lex;var Ch=Object.defineProperty,na=(n,e,t,s)=>{for(var i=void 0,r=n.length-1,o;r>=0;r--)(o=n[r])&&(i=o(e,t,i)||i);return i&&Ch(e,t,i),i};const sa=new Ct;sa.link=function({href:n,title:e,text:t}){return e??(e=t),`<a target="_blank" href="${n}" title="${e}">${t}</a>`};k.use({renderer:sa});const ri=class ri extends N{constructor(){super(...arguments),this.showLightbox=!1,this.imageUrl="",this.altText="",this.scrollRef=oe(),this.contentRef=oe(),this.autoScroll=!0,this.buffer="",this.pointer=0,this.imageRegexp=new RegExp(/!\[[^[]*\([^)]*\)/gm)}handleAutoscroll(){this.addEventListener("wheel",()=>{this.autoScroll=!1},{passive:!0}),this.addEventListener("click",()=>{this.autoScroll=!1})}handleLightboxClose(){this.addEventListener("action",e=>{e.detail.key==="close-lightbox"&&(this.showLightbox=!1)})}handleLightboxOpen(){this.contentRef.value.addEventListener("click",e=>{e.target.tagName==="IMG"&&(this.showLightbox=!0,this.imageUrl=e.target.src,this.altText=e.target.alt)})}includesImage(e){return this.imageRegexp.test(e)}getLastChunk(){const e=this.message.content.length-this.pointer;return e===0?"":(this.pointer=this.message.content.length,this.message.content.slice(-e))}firstUpdated(){this.handleAutoscroll(),this.handleLightboxOpen(),this.handleLightboxClose()}updated(){var i,r;const e=this.getLastChunk();if(!e)return;this.buffer+=e;const t=Go.sanitize(k.parse(this.buffer));if(this.includesImage(this.buffer))(i=this.contentRef.value)==null||i.appendChild(document.createElement("div")),this.buffer="";else if(this.buffer.includes("!["))return;const s=(r=this.contentRef.value)==null?void 0:r.querySelector("div:last-of-type");s.innerHTML=eo(t),this.applyCodeStyles(s),this.autoScroll&&this.scrollRef.value.scrollIntoView()}applyCodeStyles(e){if(!e)return;e.querySelectorAll("code").forEach(s=>{s.style.whiteSpace="pre-wrap"})}render(){return w`
845
+ Please report this to https://github.com/markedjs/marked.`,n){const s="<p>An error occurred:</p><pre>"+re(t.message+"",!0)+"</pre>";return e?Promise.resolve(s):s}if(e)return Promise.reject(t);throw t}}},Ue=new Th;function k(n,e){return Ue.parse(n,e)}k.options=k.setOptions=function(n){return Ue.setOptions(n),k.defaults=Ue.defaults,qo(k.defaults),k};k.getDefaults=Bs;k.defaults=ze;k.use=function(...n){return Ue.use(...n),k.defaults=Ue.defaults,qo(k.defaults),k};k.walkTokens=function(n,e){return Ue.walkTokens(n,e)};k.parseInline=Ue.parseInline;k.Parser=ve;k.parser=ve.parse;k.Renderer=Ct;k.TextRenderer=Ys;k.Lexer=me;k.lexer=me.lex;k.Tokenizer=gn;k.Hooks=Jt;k.parse=k;k.options;k.setOptions;k.use;k.walkTokens;k.parseInline;ve.parse;me.lex;var Ch=Object.defineProperty,na=(n,e,t,s)=>{for(var i=void 0,r=n.length-1,o;r>=0;r--)(o=n[r])&&(i=o(e,t,i)||i);return i&&Ch(e,t,i),i};const sa=new Ct;sa.link=function({href:n,title:e,text:t}){return e??(e=t),`<a target="_blank" href="${n}" title="${e}">${t}</a>`};k.use({renderer:sa});const ri=class ri extends N{constructor(){super(...arguments),this.showLightbox=!1,this.imageUrl="",this.altText="",this.scrollRef=oe(),this.contentRef=oe(),this.autoScroll=!0,this.buffer="",this.pointer=0,this.imageRegexp=new RegExp(/!\[[^[]*\([^)]*\)/gm)}handleAutoscroll(){this.addEventListener("wheel",()=>{this.autoScroll=!1},{passive:!0}),this.addEventListener("click",()=>{this.autoScroll=!1})}handleLightboxClose(){this.addEventListener("action",e=>{e.detail.key==="close-lightbox"&&(this.showLightbox=!1)})}handleLightboxOpen(){this.contentRef.value.addEventListener("click",e=>{e.target.tagName==="IMG"&&(this.showLightbox=!0,this.imageUrl=e.target.src,this.altText=e.target.alt)})}includesImage(e){return this.imageRegexp.test(e)}getLastChunk(){const e=this.message.content.length-this.pointer;return e===0?"":(this.pointer=this.message.content.length,this.message.content.slice(-e))}firstUpdated(){this.handleAutoscroll(),this.handleLightboxOpen(),this.handleLightboxClose()}updated(){var i,r;const e=this.getLastChunk();if(!e)return;this.buffer+=e;const t=Go.sanitize(k.parse(this.buffer),{ADD_ATTR:["target"]});if(this.includesImage(this.buffer))(i=this.contentRef.value)==null||i.appendChild(document.createElement("div")),this.buffer="";else if(this.buffer.includes("!["))return;const s=(r=this.contentRef.value)==null?void 0:r.querySelector("div:last-of-type");s.innerHTML=eo(t),this.applyCodeStyles(s),this.autoScroll&&this.scrollRef.value.scrollIntoView()}applyCodeStyles(e){if(!e)return;e.querySelectorAll("code").forEach(s=>{s.style.whiteSpace="pre-wrap"})}render(){return w`
846
846
  <div class="message-type-markdown" ${ae(this.contentRef)}>
847
847
  <div></div>
848
848
  </div>
package/index.mjs CHANGED
@@ -6797,7 +6797,8 @@ const ii = class ii extends N {
6797
6797
  if (!e) return;
6798
6798
  this.buffer += e;
6799
6799
  const t = Ho.sanitize(
6800
- k.parse(this.buffer)
6800
+ k.parse(this.buffer),
6801
+ { ADD_ATTR: ["target"] }
6801
6802
  );
6802
6803
  if (this.includesImage(this.buffer))
6803
6804
  (i = this.contentRef.value) == null || i.appendChild(document.createElement("div")), this.buffer = "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telia-ace/widget-conversation-flamingo",
3
- "version": "1.1.123-rc.1",
3
+ "version": "1.1.123-rc.3",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -9,7 +9,7 @@
9
9
  "@lit-labs/motion": "^1.0.8",
10
10
  "@teliads/icons": "^8.4.0",
11
11
  "@teliads/components": "^22.1.1",
12
- "@telia-ace/widget-core-flamingo": "1.1.123-rc.1",
12
+ "@telia-ace/widget-core-flamingo": "1.1.123-rc.3",
13
13
  "lit-html": "^3.0.2",
14
14
  "rxjs": "^7.8.2",
15
15
  "marked": "^15.0.12",