@telia-ace/ace-chat-flamingo 1.1.123-rc.11 → 1.1.123-rc.12
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 +1 -1
- package/index.mjs +7 -10
- package/package.json +3 -3
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>${ge(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 i=this.parser.parseInline(t),s=ko(n);if(s===null)return i;n=s;let r='<a href="'+n+'"';return e&&(r+=' title="'+ge(e)+'"'),r+=">"+i+"</a>",r}image({href:n,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));const s=ko(n);if(s===null)return ge(t);n=s;let r=`<img src="${n}" alt="${t}"`;return e&&(r+=` title="${ge(e)}"`),r+=">",r}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:ge(n.text)}},Cs=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""}},Ae=class Xi{constructor(e){_(this,"options");_(this,"renderer");_(this,"textRenderer");this.options=e||nt,this.options.renderer=this.options.renderer||new Xt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Cs}static parse(e,t){return new Xi(t).parse(e)}static parseInline(e,t){return new Xi(t).parseInline(e)}parse(e,t=!0){var s,r;let i="";for(let o=0;o<e.length;o++){const a=e[o];if((r=(s=this.options.extensions)==null?void 0:s.renderers)!=null&&r[a.type]){const l=a,u=this.options.extensions.renderers[l.type].call({parser:this},l);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(l.type)){i+=u||"";continue}}const c=a;switch(c.type){case"space":{i+=this.renderer.space(c);continue}case"hr":{i+=this.renderer.hr(c);continue}case"heading":{i+=this.renderer.heading(c);continue}case"code":{i+=this.renderer.code(c);continue}case"table":{i+=this.renderer.table(c);continue}case"blockquote":{i+=this.renderer.blockquote(c);continue}case"list":{i+=this.renderer.list(c);continue}case"html":{i+=this.renderer.html(c);continue}case"paragraph":{i+=this.renderer.paragraph(c);continue}case"text":{let l=c,u=this.renderer.text(l);for(;o+1<e.length&&e[o+1].type==="text";)l=e[++o],u+=`
|
|
844
844
|
`+this.renderer.text(l);t?i+=this.renderer.paragraph({type:"paragraph",raw:u,text:u,tokens:[{type:"text",raw:u,text:u,escaped:!0}]}):i+=u;continue}default:{const l='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return i}parseInline(e,t=this.renderer){var s,r;let i="";for(let o=0;o<e.length;o++){const a=e[o];if((r=(s=this.options.extensions)==null?void 0:s.renderers)!=null&&r[a.type]){const l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=l||"";continue}}const c=a;switch(c.type){case"escape":{i+=t.text(c);break}case"html":{i+=t.html(c);break}case"link":{i+=t.link(c);break}case"image":{i+=t.image(c);break}case"strong":{i+=t.strong(c);break}case"em":{i+=t.em(c);break}case"codespan":{i+=t.codespan(c);break}case"br":{i+=t.br(c);break}case"del":{i+=t.del(c);break}case"text":{i+=t.text(c);break}default:{const l='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return i}},Oi,Sn=(Oi=class{constructor(n){_(this,"options");_(this,"block");this.options=n||nt}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}provideLexer(){return this.block?_e.lex:_e.lexInline}provideParser(){return this.block?Ae.parse:Ae.parseInline}},_(Oi,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),Oi),Ad=class{constructor(...n){_(this,"defaults",vs());_(this,"options",this.setOptions);_(this,"parse",this.parseMarkdown(!0));_(this,"parseInline",this.parseMarkdown(!1));_(this,"Parser",Ae);_(this,"Renderer",Xt);_(this,"TextRenderer",Cs);_(this,"Lexer",_e);_(this,"Tokenizer",Hn);_(this,"Hooks",Sn);this.use(...n)}walkTokens(n,e){var i,s;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 c of a)t=t.concat(this.walkTokens(c.tokens,e));break}case"list":{const o=r;t=t.concat(this.walkTokens(o.items,e));break}default:{const o=r;(s=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&s[o.type]?this.defaults.extensions.childTokens[o.type].forEach(a=>{const c=o[a].flat(1/0);t=t.concat(this.walkTokens(c,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 i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){const r=e.renderers[s.name];r?e.renderers[s.name]=function(...o){let a=s.renderer.apply(this,o);return a===!1&&(a=r.apply(this,o)),a}:e.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=e[s.level];r?r.unshift(s.tokenizer):e[s.level]=[s.tokenizer],s.start&&(s.level==="block"?e.startBlock?e.startBlock.push(s.start):e.startBlock=[s.start]:s.level==="inline"&&(e.startInline?e.startInline.push(s.start):e.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(e.childTokens[s.name]=s.childTokens)}),i.extensions=e),t.renderer){const s=this.defaults.renderer||new Xt(this.defaults);for(const r in t.renderer){if(!(r in s))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const o=r,a=t.renderer[o],c=s[o];s[o]=(...l)=>{let u=a.apply(s,l);return u===!1&&(u=c.apply(s,l)),u||""}}i.renderer=s}if(t.tokenizer){const s=this.defaults.tokenizer||new Hn(this.defaults);for(const r in t.tokenizer){if(!(r in s))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const o=r,a=t.tokenizer[o],c=s[o];s[o]=(...l)=>{let u=a.apply(s,l);return u===!1&&(u=c.apply(s,l)),u}}i.tokenizer=s}if(t.hooks){const s=this.defaults.hooks||new Sn;for(const r in t.hooks){if(!(r in s))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;const o=r,a=t.hooks[o],c=s[o];Sn.passThroughHooks.has(r)?s[o]=l=>{if(this.defaults.async)return Promise.resolve(a.call(s,l)).then(p=>c.call(s,p));const u=a.call(s,l);return c.call(s,u)}:s[o]=(...l)=>{let u=a.apply(s,l);return u===!1&&(u=c.apply(s,l)),u}}i.hooks=s}if(t.walkTokens){const s=this.defaults.walkTokens,r=t.walkTokens;i.walkTokens=function(o){let a=[];return a.push(r.call(this,o)),s&&(a=a.concat(s.call(this,o))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return _e.lex(n,e??this.defaults)}parser(n,e){return Ae.parse(n,e??this.defaults)}parseMarkdown(n){return(t,i)=>{const s={...i},r={...this.defaults,...s},o=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&s.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?_e.lex:_e.lexInline,c=r.hooks?r.hooks.provideParser():n?Ae.parse:Ae.parseInline;if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(t):t).then(l=>a(l,r)).then(l=>r.hooks?r.hooks.processAllTokens(l):l).then(l=>r.walkTokens?Promise.all(this.walkTokens(l,r.walkTokens)).then(()=>l):l).then(l=>c(l,r)).then(l=>r.hooks?r.hooks.postprocess(l):l).catch(o);try{r.hooks&&(t=r.hooks.preprocess(t));let l=a(t,r);r.hooks&&(l=r.hooks.processAllTokens(l)),r.walkTokens&&this.walkTokens(l,r.walkTokens);let u=c(l,r);return r.hooks&&(u=r.hooks.postprocess(u)),u}catch(l){return o(l)}}}onError(n,e){return t=>{if(t.message+=`
|
|
845
|
-
Please report this to https://github.com/markedjs/marked.`,n){const i="<p>An error occurred:</p><pre>"+ge(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},et=new Ad;function S(n,e){return et.parse(n,e)}S.options=S.setOptions=function(n){return et.setOptions(n),S.defaults=et.defaults,Na(S.defaults),S};S.getDefaults=vs;S.defaults=nt;S.use=function(...n){return et.use(...n),S.defaults=et.defaults,Na(S.defaults),S};S.walkTokens=function(n,e){return et.walkTokens(n,e)};S.parseInline=et.parseInline;S.Parser=Ae;S.parser=Ae.parse;S.Renderer=Xt;S.TextRenderer=Cs;S.Lexer=_e;S.lexer=_e.lex;S.Tokenizer=Hn;S.Hooks=Sn;S.parse=S;S.options;S.setOptions;S.use;S.walkTokens;S.parseInline;Ae.parse;_e.lex;var Td=Object.defineProperty,Ga=(n,e,t,i)=>{for(var s=void 0,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=o(e,t,s)||s);return s&&Td(e,t,s),s};const Za=new Xt;Za.link=function({href:n,title:e,text:t}){return e??(e=t),`<a target="_blank" href="${n}" title="${e}">${t}</a>`};S.use({renderer:Za});const Hs=class Hs extends A{constructor(){super(...arguments),this.showLightbox=!1,this.imageUrl="",this.altText="",this.scrollRef=me(),this.contentRef=me(),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
|
|
845
|
+
Please report this to https://github.com/markedjs/marked.`,n){const i="<p>An error occurred:</p><pre>"+ge(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},et=new Ad;function S(n,e){return et.parse(n,e)}S.options=S.setOptions=function(n){return et.setOptions(n),S.defaults=et.defaults,Na(S.defaults),S};S.getDefaults=vs;S.defaults=nt;S.use=function(...n){return et.use(...n),S.defaults=et.defaults,Na(S.defaults),S};S.walkTokens=function(n,e){return et.walkTokens(n,e)};S.parseInline=et.parseInline;S.Parser=Ae;S.parser=Ae.parse;S.Renderer=Xt;S.TextRenderer=Cs;S.Lexer=_e;S.lexer=_e.lex;S.Tokenizer=Hn;S.Hooks=Sn;S.parse=S;S.options;S.setOptions;S.use;S.walkTokens;S.parseInline;Ae.parse;_e.lex;var Td=Object.defineProperty,Ga=(n,e,t,i)=>{for(var s=void 0,r=n.length-1,o;r>=0;r--)(o=n[r])&&(s=o(e,t,s)||s);return s&&Td(e,t,s),s};const Za=new Xt;Za.link=function({href:n,title:e,text:t}){return e??(e=t),`<a target="_blank" href="${n}" title="${e}">${t}</a>`};S.use({renderer:Za});const Hs=class Hs extends A{constructor(){super(...arguments),this.showLightbox=!1,this.imageUrl="",this.altText="",this.scrollRef=me(),this.contentRef=me(),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 o,a;const e=this.getLastChunk();if(!e)return;if(this.buffer+=e,this.includesImage(this.buffer))(o=this.contentRef.value)==null||o.appendChild(document.createElement("div")),this.buffer="";else if(this.buffer.includes("!["))return;const t=S.parse(this.buffer),i=Ni(t),s=Ma.sanitize(i,{ADD_ATTR:["target"]}),r=(a=this.contentRef.value)==null?void 0:a.querySelector("div:last-of-type");r&&(r.innerHTML=s,this.applyCodeStyles(r)),this.autoScroll&&this.scrollRef.value.scrollIntoView()}applyCodeStyles(e){if(!e)return;e.querySelectorAll("code").forEach(i=>{i.style.whiteSpace="pre-wrap"})}render(){return y`
|
|
846
846
|
<div class="message-type-markdown" ${ve(this.contentRef)}>
|
|
847
847
|
<div></div>
|
|
848
848
|
</div>
|
package/index.mjs
CHANGED
|
@@ -6948,21 +6948,18 @@ const Hs = class Hs extends A {
|
|
|
6948
6948
|
}
|
|
6949
6949
|
// Run on every update of an observed value
|
|
6950
6950
|
updated() {
|
|
6951
|
-
var
|
|
6951
|
+
var o, a;
|
|
6952
6952
|
const e = this.getLastChunk();
|
|
6953
6953
|
if (!e) return;
|
|
6954
|
-
this.buffer += e
|
|
6955
|
-
|
|
6956
|
-
S.parse(this.buffer),
|
|
6957
|
-
{ ADD_ATTR: ["target"] }
|
|
6958
|
-
);
|
|
6959
|
-
if (this.includesImage(this.buffer))
|
|
6960
|
-
(s = this.contentRef.value) == null || s.appendChild(document.createElement("div")), this.buffer = "";
|
|
6954
|
+
if (this.buffer += e, this.includesImage(this.buffer))
|
|
6955
|
+
(o = this.contentRef.value) == null || o.appendChild(document.createElement("div")), this.buffer = "";
|
|
6961
6956
|
else if (this.buffer.includes("![")) return;
|
|
6962
|
-
const
|
|
6957
|
+
const t = S.parse(this.buffer), i = Ni(t), s = Ma.sanitize(i, {
|
|
6958
|
+
ADD_ATTR: ["target"]
|
|
6959
|
+
}), r = (a = this.contentRef.value) == null ? void 0 : a.querySelector(
|
|
6963
6960
|
"div:last-of-type"
|
|
6964
6961
|
);
|
|
6965
|
-
|
|
6962
|
+
r && (r.innerHTML = s, this.applyCodeStyles(r)), this.autoScroll && this.scrollRef.value.scrollIntoView();
|
|
6966
6963
|
}
|
|
6967
6964
|
// Apply white-space: pre-wrap to <code> elements
|
|
6968
6965
|
applyCodeStyles(e) {
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/ace-chat-flamingo",
|
|
3
|
-
"version": "1.1.123-rc.
|
|
3
|
+
"version": "1.1.123-rc.12",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@telia-ace/widget-core-flamingo": "1.1.123-rc.
|
|
6
|
-
"@telia-ace/widget-conversation-flamingo": "1.1.123-rc.
|
|
5
|
+
"@telia-ace/widget-core-flamingo": "1.1.123-rc.12",
|
|
6
|
+
"@telia-ace/widget-conversation-flamingo": "1.1.123-rc.12",
|
|
7
7
|
"rxjs": "^7.8.2",
|
|
8
8
|
"lit": "^3.0.2",
|
|
9
9
|
"@teliads/icons": "^8.4.0",
|